:root{--font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-heading: "Outfit", var(--font-sans);--font-tifinagh: "Noto Sans Tifinagh", var(--font-sans);--bg-primary: #0b0f19;--bg-secondary: #111827;--bg-tertiary: #1f293d;--bg-card: rgba(17, 24, 39, .75);--bg-card-hover: rgba(31, 41, 61, .85);--bg-glass: rgba(15, 23, 42, .65);--bg-input: rgba(15, 23, 42, .8);--bg-dropdown: #0c1222;--bg-chip: rgba(255, 255, 255, .06);--bg-chip-active: rgba(245, 158, 11, .15);--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--text-inverse: #0f172a;--border-subtle: rgba(255, 255, 255, .08);--border-focus: #f59e0b;--border-card: rgba(255, 255, 255, .12);--accent-amber: #f59e0b;--accent-amber-glow: rgba(245, 158, 11, .35);--accent-emerald: #10b981;--accent-emerald-glow: rgba(16, 185, 129, .3);--accent-blue: #38bdf8;--accent-purple: #a855f7;--badge-noun-bg: rgba(56, 189, 248, .15);--badge-noun-text: #38bdf8;--badge-verb-bg: rgba(245, 158, 11, .15);--badge-verb-text: #f59e0b;--badge-adj-bg: rgba(16, 185, 129, .15);--badge-adj-text: #34d399;--badge-other-bg: rgba(168, 85, 247, .15);--badge-other-text: #c084fc;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -2px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 25px -3px rgba(0, 0, 0, .5), 0 4px 6px -4px rgba(0, 0, 0, .3);--shadow-glow: 0 0 25px var(--accent-amber-glow);--shadow-glow-emerald: 0 0 25px var(--accent-emerald-glow);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--transition-smooth: .4s cubic-bezier(.16, 1, .3, 1)}[data-theme=light]{--bg-primary: #f8fafc;--bg-secondary: #ffffff;--bg-tertiary: #f1f5f9;--bg-card: rgba(255, 255, 255, .85);--bg-card-hover: #ffffff;--bg-glass: rgba(255, 255, 255, .75);--bg-input: #ffffff;--bg-dropdown: #ffffff;--bg-chip: rgba(0, 0, 0, .05);--bg-chip-active: rgba(217, 119, 6, .12);--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--text-inverse: #ffffff;--border-subtle: rgba(0, 0, 0, .08);--border-focus: #d97706;--border-card: rgba(0, 0, 0, .08);--accent-amber: #d97706;--accent-amber-glow: rgba(217, 119, 6, .2);--accent-emerald: #059669;--accent-emerald-glow: rgba(5, 150, 105, .2);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .08);--shadow-lg: 0 10px 25px -3px rgba(0, 0, 0, .1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{min-height:100vh;display:flex;flex-direction:column;background-color:var(--bg-primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' opacity='0.09'%3E%3Cpath d='M30 15 C 30 35, 45 42, 50 48 C 45 54, 30 61, 30 85 M70 15 C 70 35, 55 42, 50 48 C 55 54, 70 61, 70 85 M50 10 L50 90' stroke='%23e11d48' stroke-width='9' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E"),radial-gradient(ellipse 90% 50% at 20% 0%,rgba(2,132,199,.18) 0%,transparent 60%),radial-gradient(ellipse 90% 50% at 80% 30%,rgba(16,185,129,.16) 0%,transparent 60%),radial-gradient(ellipse 100% 60% at 50% 85%,rgba(245,158,11,.14) 0%,transparent 70%),linear-gradient(to bottom,transparent 65%,rgba(11,15,25,.85) 90%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320' preserveAspectRatio='none' opacity='0.15'%3E%3Cpath fill='%231f293d' fill-opacity='1' d='M0,224L48,208C96,192,192,160,288,170.7C384,181,480,235,576,229.3C672,224,768,160,864,154.7C960,149,1056,203,1152,213.3C1248,224,1344,192,1392,176L1440,160L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z'%3E%3C/path%3E%3Cpath fill='%23111827' fill-opacity='1' d='M0,256L60,240C120,224,240,192,360,192C480,192,600,224,720,208C840,192,960,128,1080,128C1200,128,1320,192,1380,224L1440,256L1440,320L1380,320C1320,320,1200,320,1080,320C960,320,840,320,720,320C600,320,480,320,360,320C240,320,120,320,60,320L0,320Z'%3E%3C/path%3E%3C/svg%3E");background-position:top right 5%,top left,top right,bottom center,bottom,bottom;background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,repeat-x;background-size:380px 380px,100% 100%,100% 100%,100% 100%,100% 100%,1440px auto;background-attachment:fixed;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.25;color:var(--text-primary)}a{color:var(--accent-amber);text-decoration:none;transition:color var(--transition-fast)}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer;border:none;background:transparent;outline:none}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1.25rem}.tifinagh{font-family:var(--font-tifinagh);letter-spacing:.08em}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .6rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.badge-noun{background:var(--badge-noun-bg);color:var(--badge-noun-text);border:1px solid rgba(56,189,248,.3)}.badge-verb{background:var(--badge-verb-bg);color:var(--badge-verb-text);border:1px solid rgba(245,158,11,.3)}.badge-adj{background:var(--badge-adj-bg);color:var(--badge-adj-text);border:1px solid rgba(16,185,129,.3)}.badge-other{background:var(--badge-other-bg);color:var(--badge-other-text);border:1px solid rgba(168,85,247,.3)}.badge-gender{background:var(--bg-chip);color:var(--text-secondary);border:1px solid var(--border-subtle)}mark.match-highlight{background:#f59e0b40;color:var(--accent-amber);border-radius:2px;padding:0 2px;font-weight:600}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 15px var(--accent-amber-glow)}50%{box-shadow:0 0 28px var(--accent-amber-glow)}}.animate-fade-in{animation:fadeIn .3s var(--transition-smooth) forwards}@media(max-width:768px){.container{padding:0 .875rem}}
