:root{--violet-50: #f3f0ff;--violet-100: #e9e2ff;--violet-200: #d4c6ff;--violet-300: #b6a0ff;--violet-400: #9876ff;--violet-500: #7c4dff;--violet-600: #6b35e8;--violet-700: #5a25c5;--violet-800: #4a1ea0;--violet-900: #2e1268;--violet-950: #1a0a44;--slate-50: #f8fafc;--slate-100: #f1f5f9;--slate-200: #e2e8f0;--slate-300: #cbd5e1;--slate-400: #94a3b8;--slate-500: #64748b;--slate-600: #475569;--slate-700: #334155;--slate-800: #1e293b;--slate-900: #0f172a;--slate-950: #050810;--amber-300: #fcd34d;--amber-400: #fbbf24;--amber-500: #f59e0b;--amber-600: #d97706;--amber-700: #b45309;--emerald-300: #6ee7b7;--emerald-400: #34d399;--emerald-500: #10b981;--emerald-600: #059669;--rose-300: #fda4af;--rose-400: #fb7185;--rose-500: #f43f5e;--rose-600: #e11d48;--sky-300: #7dd3fc;--sky-400: #38bdf8;--sky-500: #0ea5e9;--sky-600: #0284c7;--bg-canvas: var(--slate-950);--bg-elevated: rgba(255, 255, 255, .04);--bg-raised: rgba(255, 255, 255, .07);--bg-overlay: rgba(255, 255, 255, .1);--bg-strong: rgba(255, 255, 255, .14);--border-subtle: rgba(255, 255, 255, .06);--border-default: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .16);--border-accent: rgba(124, 77, 255, .4);--text-primary: rgba(255, 255, 255, .95);--text-secondary: rgba(255, 255, 255, .68);--text-muted: rgba(255, 255, 255, .64);--text-faint: rgba(255, 255, 255, .42);--text-on-accent: #ffffff;--text-on-amber: var(--slate-950);--radius-xs: 6px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--radius-xl: 24px;--radius-2xl: 32px;--radius-full: 9999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .2);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .18), 0 1px 2px rgba(0, 0, 0, .12);--shadow-md: 0 8px 16px rgba(0, 0, 0, .22), 0 2px 4px rgba(0, 0, 0, .1);--shadow-lg: 0 20px 36px rgba(0, 0, 0, .28), 0 4px 8px rgba(0, 0, 0, .1);--shadow-xl: 0 32px 56px rgba(0, 0, 0, .36), 0 8px 16px rgba(0, 0, 0, .14);--shadow-inset-top: inset 0 1px 0 rgba(255, 255, 255, .08);--shadow-inset-strong: inset 0 1px 0 rgba(255, 255, 255, .14), inset 0 -1px 0 rgba(0, 0, 0, .18);--glow-violet: 0 0 0 1px rgba(124, 77, 255, .22), 0 12px 36px rgba(124, 77, 255, .3);--glow-amber: 0 0 0 1px rgba(245, 158, 11, .25), 0 12px 36px rgba(245, 158, 11, .28);--glow-emerald: 0 0 0 1px rgba(16, 185, 129, .25), 0 12px 36px rgba(16, 185, 129, .26);--glow-rose: 0 0 0 1px rgba(244, 63, 94, .25), 0 12px 36px rgba(244, 63, 94, .26);--ease-default: cubic-bezier(.22, 1, .36, 1);--ease-out-soft: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--duration-fast: .14s;--duration-normal: .22s;--duration-medium: .32s;--duration-slow: .48s;--duration-page: .6s;--font-display: "Geist", "Outfit", system-ui, -apple-system, sans-serif;--font-body: "Geist", "Inter", "Plus Jakarta Sans", system-ui, sans-serif;--font-mono: "Geist Mono", "JetBrains Mono", ui-monospace, "Cascadia Code", monospace;--font-reading: "Lexend", "Atkinson Hyperlegible", Georgia, serif;--text-xs: 11px;--text-sm: 13px;--text-base: 15px;--text-md: 17px;--text-lg: 20px;--text-xl: 24px;--text-2xl: 30px;--text-3xl: 38px;--text-4xl: 48px;--text-5xl: 60px;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-black: 800;--tracking-tighter: -.04em;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .02em;--tracking-wider: .08em;--leading-tight: 1.15;--leading-snug: 1.35;--leading-normal: 1.55;--leading-loose: 1.8;--z-base: 0;--z-raised: 10;--z-dropdown: 20;--z-sticky: 30;--z-overlay: 40;--z-modal: 50;--z-toast: 60;--magic: var(--violet-400);--magic-2: var(--violet-600);--magic-glow: rgba(124, 77, 255, .5);--accent: var(--amber-400);--accent-2: var(--amber-500);--accent-glow: rgba(245, 158, 11, .4);--success: var(--emerald-400);--success-2: var(--emerald-500);--danger: var(--rose-400);--danger-2: var(--rose-500);--bg-1: var(--slate-950);--bg-2: #0a0d1f;--bg-3: #13183a;--surface: var(--bg-elevated);--surface-2: var(--bg-raised);--surface-3: var(--bg-overlay);--border: var(--border-subtle);--border-2: var(--border-default);--text: var(--text-primary);--text-1: var(--text-primary);--text-2: var(--text-secondary);--text-3: var(--text-muted);--r-sm: var(--radius-sm);--r: var(--radius-md);--r-lg: var(--radius-lg);--r-xl: var(--radius-xl);--ease-smooth: var(--ease-default)}.card-premium{position:relative;background:linear-gradient(180deg,#ffffff0b,#ffffff04);border:1px solid var(--border-default);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(20px) saturate(140%);backdrop-filter:blur(20px) saturate(140%);box-shadow:var(--shadow-sm),var(--shadow-inset-top);transition:transform var(--duration-normal) var(--ease-default),border-color var(--duration-normal) var(--ease-default),box-shadow var(--duration-normal) var(--ease-default);will-change:transform}.card-premium--interactive{cursor:pointer}.card-premium--interactive:hover{border-color:var(--border-strong);transform:translateY(-2px);box-shadow:var(--shadow-md),var(--shadow-inset-top)}.card-premium--interactive:active{transform:translateY(0);transition-duration:var(--duration-fast)}.card-premium--violet{background:linear-gradient(180deg,#7c4dff1a,#7c4dff05),#ffffff05;border-color:#7c4dff38}.card-premium--amber{background:linear-gradient(180deg,#f59e0b1a,#f59e0b05),#ffffff05;border-color:#f59e0b3d}.card-premium--emerald{background:linear-gradient(180deg,#10b9811a,#10b98105),#ffffff05;border-color:#10b9813d}.metric{display:flex;flex-direction:column;gap:var(--space-2)}.metric__value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:var(--weight-semibold);font-size:var(--text-2xl);letter-spacing:var(--tracking-tight);line-height:1;color:var(--text-primary)}.metric__label{font-family:var(--font-body);font-size:10px;font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--text-muted)}.metric__delta{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--emerald-400)}.metric__delta--down{color:var(--rose-400)}.btn-premium{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-sm);letter-spacing:var(--tracking-tight);border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:transform var(--duration-fast) var(--ease-default),box-shadow var(--duration-normal) var(--ease-default),background var(--duration-normal) var(--ease-default);will-change:transform}.btn-premium:active{transform:scale(.97)}.btn-premium:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.btn-premium--primary{background:linear-gradient(180deg,var(--violet-400) 0%,var(--violet-600) 100%);color:var(--text-on-accent);box-shadow:var(--shadow-sm),var(--shadow-inset-strong),0 0 0 1px var(--violet-700)}.btn-premium--primary:hover{box-shadow:var(--shadow-md),var(--shadow-inset-strong),var(--glow-violet);transform:translateY(-1px)}.btn-premium--amber{background:linear-gradient(180deg,var(--amber-400) 0%,var(--amber-500) 100%);color:var(--text-on-amber);box-shadow:var(--shadow-sm),var(--shadow-inset-strong),0 0 0 1px var(--amber-600)}.btn-premium--amber:hover{box-shadow:var(--shadow-md),var(--shadow-inset-strong),var(--glow-amber);transform:translateY(-1px)}.btn-premium--ghost{background:var(--bg-elevated);color:var(--text-secondary);border-color:var(--border-default)}.btn-premium--ghost:hover{background:var(--bg-raised);border-color:var(--border-strong);color:var(--text-primary)}.surface-grain{position:relative}.surface-grain:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .035 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.5;border-radius:inherit;mix-blend-mode:overlay}.orb{position:absolute;border-radius:var(--radius-full);filter:blur(64px);pointer-events:none;opacity:.55}.orb--violet{background:radial-gradient(circle,var(--violet-500),transparent 70%)}.orb--amber{background:radial-gradient(circle,var(--amber-500),transparent 70%)}.orb--emerald{background:radial-gradient(circle,var(--emerald-500),transparent 70%)}.orb--rose{background:radial-gradient(circle,var(--rose-500),transparent 70%)}@keyframes number-pop{0%{transform:scale(.92);opacity:0}60%{transform:scale(1.04);opacity:1}to{transform:scale(1);opacity:1}}.metric__value--animate{animation:number-pop var(--duration-medium) var(--ease-spring) both}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{position:relative;overflow:hidden;background:var(--bg-elevated);border-radius:var(--radius-md)}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.06) 50%,transparent 100%);background-size:200% 100%;animation:skeleton-shimmer 1.6s infinite}.focus-ring:focus-visible{outline:2px solid var(--violet-400);outline-offset:2px;border-radius:inherit}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:Geist Mono,JetBrains Mono,ui-monospace,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--dql-bg-root: var(--bg-2);--dql-bg-card: #111827;--dql-bg-raised: #1a2235;--dql-bg-input: #1e2a45;--dql-text-h1: var(--text);--dql-text-h2: #c7d2fe;--dql-text-body: var(--text-2);--dql-text-muted: var(--text-3);--dql-accent: #818cf8;--dql-accent-hi: #a5b4fc;--dql-gold: var(--accent);--dql-green: var(--success);--dql-red: var(--danger);--dql-border: var(--border-2);--dql-glow-accent: 0 0 20px rgba(99, 102, 241, .35);--dql-glow-gold: 0 0 20px rgba(251, 191, 36, .35);--dql-glow-green: 0 0 20px rgba(52, 211, 153, .35)}*{box-sizing:border-box}html,body,#root{min-height:100vh;min-height:100dvh;background:radial-gradient(ellipse at 30% 0%,rgba(124,77,255,.16),transparent 55%),radial-gradient(ellipse at 70% 100%,rgba(245,158,11,.1),transparent 55%),linear-gradient(135deg,var(--bg-1),var(--bg-2));color:var(--text);font-family:var(--font-body);font-feature-settings:"cv11","ss01","ss03";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}html,body{overflow-x:hidden;max-width:100%}p,h1,h2,h3,h4,h5,h6,li,button,span,label,a{overflow-wrap:anywhere;word-break:normal}h1,h2,h3,.font-display{font-family:var(--font-display);letter-spacing:var(--tracking-tight)}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.dql-card{position:relative;border-radius:var(--radius-xl);background:linear-gradient(180deg,#ffffff0b,#ffffff04),#1116268c;border:1px solid var(--border-default);-webkit-backdrop-filter:blur(18px) saturate(135%);backdrop-filter:blur(18px) saturate(135%);box-shadow:var(--shadow-sm),var(--shadow-inset-top);transition:transform var(--duration-normal) var(--ease-default),border-color var(--duration-normal) var(--ease-default),box-shadow var(--duration-normal) var(--ease-default)}.dql-btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:12px 22px;min-height:44px;min-width:44px;font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-sm);letter-spacing:var(--tracking-tight);border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:transform var(--duration-fast) var(--ease-default),box-shadow var(--duration-normal) var(--ease-default),background var(--duration-normal) var(--ease-default),border-color var(--duration-normal) var(--ease-default);will-change:transform}.dql-btn-primary:active{transform:scale(.97)}.dql-btn-primary:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.dql-btn-primary:focus-visible{outline:3px solid var(--violet-400);outline-offset:2px}.dql-btn-primary{background:linear-gradient(180deg,var(--violet-400) 0%,var(--violet-600) 100%);color:var(--text-on-accent);box-shadow:var(--shadow-sm),var(--shadow-inset-strong),0 0 0 1px var(--violet-700)}.dql-btn-primary:hover{box-shadow:var(--shadow-md),var(--shadow-inset-strong),var(--glow-violet);transform:translateY(-1px)}.dql-btn-gold{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:12px 22px;min-height:44px;min-width:44px;font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-sm);letter-spacing:var(--tracking-tight);border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:transform var(--duration-fast) var(--ease-default),box-shadow var(--duration-normal) var(--ease-default),background var(--duration-normal) var(--ease-default),border-color var(--duration-normal) var(--ease-default);will-change:transform}.dql-btn-gold:active{transform:scale(.97)}.dql-btn-gold:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.dql-btn-gold:focus-visible{outline:3px solid var(--violet-400);outline-offset:2px}.dql-btn-gold{background:linear-gradient(180deg,var(--amber-400) 0%,var(--amber-500) 100%);color:var(--text-on-amber);box-shadow:var(--shadow-sm),var(--shadow-inset-strong),0 0 0 1px var(--amber-600)}.dql-btn-gold:hover{box-shadow:var(--shadow-md),var(--shadow-inset-strong),var(--glow-amber);transform:translateY(-1px)}.dql-btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:12px 22px;min-height:44px;min-width:44px;font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-sm);letter-spacing:var(--tracking-tight);border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:transform var(--duration-fast) var(--ease-default),box-shadow var(--duration-normal) var(--ease-default),background var(--duration-normal) var(--ease-default),border-color var(--duration-normal) var(--ease-default);will-change:transform}.dql-btn-ghost:active{transform:scale(.97)}.dql-btn-ghost:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.dql-btn-ghost:focus-visible{outline:3px solid var(--violet-400);outline-offset:2px}.dql-btn-ghost{background:var(--bg-elevated);color:var(--text-secondary);border-color:var(--border-default)}.dql-btn-ghost:hover{background:var(--bg-raised);border-color:var(--border-strong);color:var(--text-primary)}.dql-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-family:var(--font-body);font-size:11px;font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-full);transition:all var(--duration-normal) var(--ease-default)}.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.left-3{left:.75rem}.right-3{right:.75rem}.top-0{top:0}.top-2\.5{top:.625rem}.top-3{top:.75rem}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.my-3{margin-top:.75rem;margin-bottom:.75rem}.-mt-0\.5{margin-top:-.125rem}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-2\.5{margin-bottom:.625rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-0\.5{margin-left:.125rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-full{height:100%}.max-h-64{max-height:16rem}.max-h-72{max-height:18rem}.max-h-80{max-height:20rem}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-full{width:100%}.min-w-0{min-width:0px}.max-w-2xl{max-width:42rem}.max-w-full{max-width:100%}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:32px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:18px}.rounded-md{border-radius:14px}.rounded-xl{border-radius:24px}.border{border-width:1px}.border-l-2{border-left-width:2px}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-3\.5{padding:.875rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-24{padding-bottom:6rem}.pb-28{padding-bottom:7rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pl-10{padding-left:2.5rem}.pl-3{padding-left:.75rem}.pl-6{padding-left:1.5rem}.pr-1{padding-right:.25rem}.pr-3{padding-right:.75rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-display{font-family:Geist,Outfit,system-ui,sans-serif}.font-mono{font-family:Geist Mono,JetBrains Mono,ui-monospace,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-7xl{font-size:4.5rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[15px\]{font-size:15px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.08em}.tracking-widest{letter-spacing:.1em}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.opacity-30{opacity:.3}.opacity-70{opacity:.7}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.sepia{--tw-sepia: sepia(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.dql-card--violet{background:linear-gradient(180deg,#7c4dff1a,#7c4dff05),#1116268c;border-color:#7c4dff3d}.dql-card--amber{background:linear-gradient(180deg,#f59e0b1a,#f59e0b05),#1116268c;border-color:#f59e0b42}.dql-card--emerald{background:linear-gradient(180deg,#10b9811a,#10b98105),#1116268c;border-color:#10b98142}.dql-card--rose{background:linear-gradient(180deg,#f43f5e1a,#f43f5e05),#1116268c;border-color:#f43f5e42}.dql-card--interactive{cursor:pointer}.dql-card--interactive:hover{transform:translateY(-2px);border-color:var(--border-strong);box-shadow:var(--shadow-md),var(--shadow-inset-top)}.step-transition{animation:step-slide-in .45s var(--ease-spring) both;will-change:opacity,transform}.step-transition--prev{animation-name:step-slide-in-back}@keyframes step-slide-in{0%{opacity:0;transform:translate(40px) scale(.97)}60%{opacity:1}to{opacity:1;transform:translate(0) scale(1)}}@keyframes step-slide-in-back{0%{opacity:0;transform:translate(-40px) scale(.97)}60%{opacity:1}to{opacity:1;transform:translate(0) scale(1)}}.welcome__scene{position:relative;min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:max(24px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));overflow:hidden}.welcome__bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 22% 18%,rgba(124,77,255,.22),transparent 55%),radial-gradient(ellipse at 78% 82%,rgba(245,158,11,.14),transparent 55%),radial-gradient(ellipse at 50% 50%,rgba(14,165,233,.1),transparent 65%),linear-gradient(135deg,var(--slate-950) 0%,#0a0d1f 100%);z-index:-1}.welcome__bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .03 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.5;pointer-events:none}.welcome__sparkle{position:absolute;font-size:24px;opacity:0;animation:sparkle-float 2.8s ease-in-out infinite;filter:drop-shadow(0 0 8px currentColor)}.welcome__mascot{width:clamp(96px,30vw,140px);height:clamp(96px,30vw,140px);-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 8px 24px rgba(124,77,255,.35));animation:mascot-float 3s ease-in-out infinite}@keyframes mascot-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.welcome__card{position:relative;display:flex;flex-direction:column;align-items:center;gap:20px;max-width:560px;width:100%;padding:32px 24px;background:linear-gradient(180deg,#ffffff0d,#ffffff03),#1116268c;border:1px solid var(--border-default);border-radius:var(--radius-2xl);-webkit-backdrop-filter:blur(24px) saturate(140%);backdrop-filter:blur(24px) saturate(140%);box-shadow:var(--shadow-xl),var(--shadow-inset-top),0 0 60px #7c4dff26;animation:welcome-card-rise .6s var(--ease-spring)}.welcome__title{font-family:var(--font-display);font-size:28px;font-weight:var(--weight-bold);text-align:center;letter-spacing:var(--tracking-tighter);margin:8px 0 4px;color:var(--text-primary);line-height:var(--leading-tight)}.welcome__brand{background:linear-gradient(90deg,var(--violet-400),#ec4899 50%,var(--amber-400));background-size:200% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:brand-shimmer 6s linear infinite}.welcome__intro{font-size:15px;text-align:center;color:var(--text);line-height:1.55;margin:0;max-width:380px}.welcome__groep-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;width:100%;margin:4px 0}@media (min-width: 480px){.welcome__groep-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 768px){.welcome__groep-grid{grid-template-columns:repeat(6,1fr);gap:14px}}.welcome__groep-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:16px 8px;background:linear-gradient(180deg,#ffffff0d,#ffffff04);border:1px solid var(--border-default);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-normal) var(--ease-default);font-family:inherit;min-height:108px;color:var(--text-primary);box-shadow:var(--shadow-inset-top)}.welcome__groep-card:hover{background:linear-gradient(180deg,#ffffff14,#ffffff08);border-color:var(--border-strong);transform:translateY(-2px);box-shadow:var(--shadow-md),var(--shadow-inset-top)}.welcome__groep-card--active{background:linear-gradient(180deg,#10b98138,#10b9810f);border:2px solid var(--emerald-400);outline:2px solid rgba(16,185,129,.4);outline-offset:2px;box-shadow:var(--shadow-md),0 0 20px #10b98166}.welcome__groep-card--soon{opacity:.55}.welcome__groep-icon{font-size:32px;line-height:1;filter:drop-shadow(0 2px 6px rgba(0,0,0,.4))}.welcome__groep-name{font-family:var(--font-display);font-size:14px;font-weight:var(--weight-bold);color:var(--text-primary);letter-spacing:var(--tracking-tight);margin-top:4px}.welcome__groep-age{font-family:var(--font-mono);font-size:11px;font-weight:var(--weight-medium);color:var(--text-muted);letter-spacing:var(--tracking-tight)}.welcome__groep-badge{position:absolute;top:6px;right:6px;font-family:var(--font-body);font-size:9px;font-weight:var(--weight-semibold);letter-spacing:.06em;color:var(--amber-300);background:#f59e0b29;border:1px solid rgba(245,158,11,.32);padding:2px 6px;border-radius:var(--radius-xs);text-transform:uppercase}.welcome__groep-check{position:absolute;top:6px;left:6px;font-size:12px;font-style:normal;line-height:1;color:var(--emerald-400);filter:drop-shadow(0 0 4px rgba(16,185,129,.6))}.welcome__notice{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:#f59e0b1a;border-left:3px solid #f59e0b;border-radius:8px;width:100%;animation:notice-slide-in .3s var(--ease-spring)}.welcome__notice-icon{font-size:18px;flex-shrink:0}.welcome__cta{width:100%;padding:14px 20px;min-height:44px;font-family:var(--font-display);font-size:15px;font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);color:var(--text-on-accent);background:linear-gradient(180deg,var(--violet-400) 0%,var(--violet-600) 100%);border:1px solid var(--violet-700);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-normal) var(--ease-default);box-shadow:var(--shadow-sm),var(--shadow-inset-strong),0 0 0 0 var(--violet-500)}.welcome__cta:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md),var(--shadow-inset-strong),var(--glow-violet)}.welcome__cta:disabled{opacity:.4;cursor:not-allowed}.groep-card--amber{background:linear-gradient(180deg,#f59e0b1f,#f59e0b05),#1116268c;border-color:#f59e0b47}.groep-card--rose{background:linear-gradient(180deg,#f43f5e1f,#f43f5e05),#1116268c;border-color:#f43f5e42}.groep-card--coral{background:linear-gradient(180deg,#fb71851f,#fb718505),#1116268c;border-color:#fb718547}.groep-card--teal{background:linear-gradient(180deg,#14b8a61f,#14b8a605),#1116268c;border-color:#14b8a642}.groep-card--magic{background:linear-gradient(180deg,#7c4dff1f,#7c4dff05),#1116268c;border-color:#7c4dff47}.lesson-tile{transition:transform var(--duration-normal) var(--ease-default),box-shadow var(--duration-normal) var(--ease-default),border-color var(--duration-normal) var(--ease-default);will-change:transform}.lesson-tile:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg),var(--shadow-inset-top),0 0 28px #7c4dff29;border-color:var(--border-strong)}.lesson-tile:active{transform:scale(.98)}.lesson-tile-spinner{display:inline-block;width:18px;height:18px;border:2px solid;border-radius:50%;animation:tile-spin .7s linear infinite}@keyframes tile-spin{to{transform:rotate(360deg)}}.streak-at-risk{animation:streak-risk-pulse 1.4s ease-in-out infinite}@keyframes streak-risk-pulse{0%,to{box-shadow:0 0 #ef444473}50%{box-shadow:0 0 0 5px #ef444400}}@media (prefers-reduced-motion: reduce){.streak-at-risk{animation:none}}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{transform:scale(.8);opacity:0}70%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}@keyframes slideFadeIn{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes pulse-glow{0%,to{box-shadow:var(--dql-glow-gold)}50%{box-shadow:0 0 35px #fbbf2499}}@keyframes xpFloat{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-60px) scale(1.6)}}@keyframes screen-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes confetti-drop{0%{opacity:0;transform:translateY(-30px) rotate(0)}20%{opacity:1}to{opacity:0;transform:translateY(120vh) rotate(720deg)}}.animate-fade-up{animation:fadeUp .4s ease both}.animate-pop-in{animation:popIn .35s cubic-bezier(.34,1.56,.64,1) both}.animate-pulse-glow{animation:pulse-glow 2s ease-in-out infinite}.animate-screen{animation:screen-fade .35s var(--ease-smooth) both}.xp-float{animation:xpFloat 1.8s ease forwards}.confetti-layer{position:fixed;top:env(safe-area-inset-top,0px);left:env(safe-area-inset-left,0px);right:env(safe-area-inset-right,0px);bottom:0;pointer-events:none;overflow:hidden;z-index:60}.confetti-piece{position:absolute;top:-10%;width:10px;height:14px;border-radius:2px;animation:confetti-fall 2.6s linear forwards;will-change:transform,opacity}@keyframes confetti-fall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(110vh) rotate(720deg);opacity:0}}.spark-burst{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:visible;z-index:30}.spark{position:absolute;left:50%;top:50%;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent),0 0 24px var(--accent);animation:spark-fly .9s var(--ease-out) forwards;transform-origin:center}@keyframes spark-fly{0%{opacity:1;transform:translate(-50%,-50%) translate(0) scale(.7)}60%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) translate(var(--sx),var(--sy)) scale(.2)}}.crown-burst{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:50;font-size:80px;line-height:1;animation:crown-rise 1.4s var(--ease-spring) both}.crown-burst:before{content:"";position:absolute;top:-40%;right:-40%;bottom:-40%;left:-40%;background:radial-gradient(circle,rgba(251,191,36,.45),transparent 60%);border-radius:50%;animation:crown-glow 1.4s var(--ease-out) both}@keyframes crown-rise{0%{transform:translate(-50%,30%) scale(.4) rotate(-12deg);opacity:0}60%{transform:translate(-50%,-50%) scale(1.2) rotate(4deg);opacity:1}to{transform:translate(-50%,-50%) scale(1) rotate(0);opacity:1}}@keyframes crown-glow{0%{opacity:0;transform:scale(.4)}50%{opacity:1;transform:scale(1.4)}to{opacity:0;transform:scale(1.8)}}@keyframes crown-shine{0%,to{filter:drop-shadow(0 2px 6px rgba(245,158,11,.8)) brightness(1)}50%{filter:drop-shadow(0 2px 14px rgba(245,158,11,1)) brightness(1.2)}}.xp-fly{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:40;font-weight:900;font-size:22px;color:var(--accent);text-shadow:0 0 12px var(--accent-glow),0 2px 4px #0008;animation:xpfly-up 1.3s var(--ease-out) forwards;font-family:Outfit,sans-serif}@keyframes xpfly-up{0%{transform:translate(-50%,-50%) scale(.5);opacity:0}20%{transform:translate(-50%,-90%) scale(1.4);opacity:1}60%{transform:translate(-50%,-150%) scale(1);opacity:1}to{transform:translate(-50%,-240%) scale(.7);opacity:0}}.shake-x{animation:wrong-shake .55s var(--ease-out) both}.correct-pop{animation:correct-pop .65s var(--ease-out) both}@keyframes correct-pop{0%{transform:scale(1)}30%{transform:scale(1.04);box-shadow:0 8px 36px #34d39999,0 0 30px #34d39955}60%{transform:scale(.99)}to{transform:scale(1)}}.flash-red{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle at center,rgba(248,113,113,.35),transparent 60%);animation:flash-fade .5s ease-out forwards}.flash-green{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle at center,rgba(52,211,153,.35),transparent 60%);animation:flash-fade .5s ease-out forwards}@keyframes flash-fade{0%{opacity:0}30%{opacity:1}to{opacity:0}}.hp-flash{animation:hp-flash .45s var(--ease-out) both}@keyframes hp-flash{0%{filter:brightness(1);transform:scale(1)}30%{filter:brightness(2.2) saturate(1.6);transform:scale(1.04)}to{filter:brightness(1);transform:scale(1)}}.aura-float{position:absolute;top:-20%;right:-12%;bottom:-20%;left:-12%;pointer-events:none;opacity:0;transition:opacity .4s ease;background:radial-gradient(ellipse at center,rgba(168,139,250,.28),transparent 60%);filter:blur(14px);z-index:0;animation:aura-pulse 3.6s ease-in-out infinite}.lesson-tile{position:relative;isolation:isolate}.lesson-tile:hover .aura-float{opacity:1}.lesson-tile>*{position:relative;z-index:1}@keyframes aura-pulse{0%,to{transform:scale(1);opacity:.85}50%{transform:scale(1.08);opacity:1}}.welcome__groep-card:hover{box-shadow:0 12px 28px #a88bfa40,0 0 28px #a88bfa26}.hero-particles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.hero-particle{position:absolute;font-size:16px;opacity:.9;animation:particle-rise 5s ease-in-out infinite;filter:drop-shadow(0 0 6px currentColor)}@keyframes particle-rise{0%{transform:translateY(0) rotate(0);opacity:0}20%{opacity:1}80%{opacity:1}to{transform:translateY(-50px) rotate(15deg);opacity:0}}.flip-card{perspective:1200px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.flip-card-inner{position:relative;width:100%;min-height:180px;transform-style:preserve-3d;transition:transform .55s var(--ease-spring)}.flip-card.is-flipped .flip-card-inner{transform:rotateY(180deg)}.flip-face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:var(--r-lg);padding:24px}.flip-face--back{transform:rotateY(180deg)}.scene-shake{animation:scene-shake .5s ease-out}@keyframes scene-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px,2px)}40%{transform:translate(5px,-3px)}60%{transform:translate(-4px,1px)}80%{transform:translate(3px,-2px)}}.combo-pop{animation:combo-pop .55s var(--ease-spring) both}@keyframes combo-pop{0%{transform:scale(0) rotate(-30deg);opacity:0}60%{transform:scale(1.2) rotate(8deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}.trophy-bounce{animation:trophy-bounce 1.6s var(--ease-spring) infinite;transform-origin:bottom center}@keyframes trophy-bounce{0%,to{transform:translateY(0) scale(1) rotate(-2deg)}50%{transform:translateY(-14px) scale(1.06) rotate(2deg)}}.brand-shimmer{background:linear-gradient(90deg,#a855f7,#ec4899,#f59e0b);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:brand-shimmer 4s linear infinite}.emoji-bob{animation:emoji-bob 4s ease-in-out infinite;display:inline-block}@keyframes emoji-bob{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-6px) rotate(3deg)}}.pulse-once{animation:pulse-once .6s ease-out}@keyframes pulse-once{0%{box-shadow:0 0 0 0 var(--magic-glow)}60%{box-shadow:0 0 0 10px transparent}to{box-shadow:0 0 0 0 transparent}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-1)}::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--magic)}.mage-ev{display:flex;flex-direction:column;align-items:center;gap:12px;position:relative}.mage-ev__chamber{position:relative;display:flex;align-items:center;justify-content:center}.mage-ev--sm .mage-ev__chamber{width:80px;height:80px}.mage-ev--sm .mage-ev__emoji{font-size:42px}.mage-ev--md .mage-ev__chamber{width:110px;height:110px}.mage-ev--md .mage-ev__emoji{font-size:60px}.mage-ev--lg .mage-ev__chamber{width:140px;height:140px}.mage-ev--lg .mage-ev__emoji{font-size:78px}.mage-ev--xl .mage-ev__chamber{width:180px;height:180px}.mage-ev--xl .mage-ev__emoji{font-size:100px}.mage-ev--hero .mage-ev__chamber{width:240px;height:240px}.mage-ev--hero .mage-ev__emoji{font-size:130px}.mage-ev__aura{position:absolute;top:-12%;right:-12%;bottom:-12%;left:-12%;border-radius:50%;pointer-events:none;z-index:0}.mage-ev__aura--none{background:radial-gradient(circle,rgba(148,163,184,.18) 0%,rgba(148,163,184,.08) 40%,transparent 70%)}.mage-ev__aura--purple{background:radial-gradient(circle,rgba(168,85,247,.35) 0%,rgba(168,85,247,.18) 30%,rgba(168,85,247,.08) 60%,transparent 80%);animation:aura-pulse 3s ease-in-out infinite}.mage-ev__aura--gold{background:radial-gradient(circle,rgba(245,158,11,.45) 0%,rgba(245,158,11,.22) 30%,rgba(245,158,11,.1) 60%,transparent 80%);animation:aura-pulse 2.5s ease-in-out infinite;box-shadow:0 0 60px #f59e0b4d}.mage-ev__aura--crimson-gold{background:radial-gradient(circle,rgba(239,68,68,.5) 0%,rgba(245,158,11,.3) 35%,rgba(239,68,68,.15) 60%,transparent 85%);animation:aura-pulse 2s ease-in-out infinite;box-shadow:0 0 60px #ef444466,0 0 100px #f59e0b33}.mage-ev__aura--rainbow{background:conic-gradient(from 0deg,#ef444480,#f59e0b80,#22c55e80,#06b6d480,#8b5cf680,#ec489980,#ef444480);filter:blur(18px);animation:aura-rainbow-spin 8s linear infinite;box-shadow:0 0 80px #a855f766}@keyframes aura-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.85}}@keyframes aura-rainbow-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mage-ev__particles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1}.mage-ev__particle{position:absolute;top:50%;left:50%;font-size:.35em;transform-origin:center;animation:particle-orbit 4s linear infinite;animation-delay:var(--p-delay, 0s);display:inline-block;text-shadow:0 0 8px currentColor}.mage-ev--sm .mage-ev__particle{font-size:18px}.mage-ev--md .mage-ev__particle{font-size:22px}.mage-ev--lg .mage-ev__particle{font-size:28px}.mage-ev--xl .mage-ev__particle{font-size:34px}.mage-ev--hero .mage-ev__particle{font-size:42px}@keyframes particle-orbit{0%{transform:rotate(var(--p-angle, 0deg)) translate(72%) rotate(calc(-1 * var(--p-angle, 0deg)))}to{transform:rotate(calc(var(--p-angle, 0deg) + 360deg)) translate(72%) rotate(calc(-1 * var(--p-angle, 0deg) - 360deg))}}.mage-ev__core{position:relative;z-index:2;display:flex;align-items:center;justify-content:center}.mage-ev__core.is-floating{animation:mage-float 3.5s ease-in-out infinite}@keyframes mage-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.mage-ev__emoji{display:block;filter:drop-shadow(0 4px 12px rgba(0,0,0,.4));line-height:1}.mage-ev--tovenaar .mage-ev__emoji{filter:drop-shadow(0 0 14px rgba(168,85,247,.6))}.mage-ev--hoofdmeester .mage-ev__emoji{filter:drop-shadow(0 0 18px rgba(245,158,11,.7))}.mage-ev--hoogmeester .mage-ev__emoji{filter:drop-shadow(0 0 24px rgba(239,68,68,.8))}.mage-ev--aartsmeester .mage-ev__emoji{filter:drop-shadow(0 0 30px rgba(6,182,212,.9));animation:aartsmeester-shimmer 4s ease-in-out infinite}@keyframes aartsmeester-shimmer{0%,to{filter:drop-shadow(0 0 30px rgba(6,182,212,.9)) hue-rotate(0deg)}33%{filter:drop-shadow(0 0 30px rgba(168,85,247,.9)) hue-rotate(20deg)}66%{filter:drop-shadow(0 0 30px rgba(236,72,153,.9)) hue-rotate(-20deg)}}.mage-ev__accessory{position:absolute;font-size:.45em;z-index:3;filter:drop-shadow(0 2px 6px rgba(0,0,0,.5))}.mage-ev--sm .mage-ev__accessory{font-size:22px}.mage-ev--md .mage-ev__accessory{font-size:28px}.mage-ev--lg .mage-ev__accessory{font-size:36px}.mage-ev--xl .mage-ev__accessory{font-size:46px}.mage-ev--hero .mage-ev__accessory{font-size:60px}.mage-ev__accessory--hat{top:-8%;left:50%;transform:translate(-50%) rotate(-12deg)}.mage-ev__accessory--staff{bottom:8%;right:-5%;transform:rotate(20deg);animation:staff-twirl 5s ease-in-out infinite}@keyframes staff-twirl{0%,to{transform:rotate(20deg)}50%{transform:rotate(35deg)}}.mage-ev__accessory--crown{top:-12%;left:50%;transform:translate(-50%);animation:crown-shine 2s ease-in-out infinite}@keyframes crown-shine{0%,to{filter:drop-shadow(0 2px 6px rgba(245,158,11,.8)) brightness(1)}50%{filter:drop-shadow(0 2px 12px rgba(245,158,11,1)) brightness(1.2)}}.mage-ev__accessory--cosmic{top:-18%;right:5%;font-size:.3em;animation:cosmic-twinkle 1.5s ease-in-out infinite alternate}.mage-ev--lg .mage-ev__accessory--cosmic{font-size:24px}.mage-ev--xl .mage-ev__accessory--cosmic{font-size:30px}.mage-ev--hero .mage-ev__accessory--cosmic{font-size:40px}@keyframes cosmic-twinkle{0%{opacity:.6;transform:scale(.85) rotate(0)}to{opacity:1;transform:scale(1.1) rotate(180deg)}}.mage-ev__label{text-align:center;display:flex;flex-direction:column;gap:2px}.mage-ev__title{font-size:14px;font-weight:800;color:var(--text);letter-spacing:-.2px}.mage-ev--leerling .mage-ev__title{color:#cbd5e1}.mage-ev--tovenaar .mage-ev__title{color:#c084fc}.mage-ev--hoofdmeester .mage-ev__title{color:#fbbf24}.mage-ev--hoogmeester .mage-ev__title{background:linear-gradient(90deg,#ef4444,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.mage-ev--aartsmeester .mage-ev__title{background:linear-gradient(90deg,#06b6d4,#a855f7,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:title-shimmer 3s linear infinite}@keyframes title-shimmer{0%,to{filter:brightness(1)}50%{filter:brightness(1.3)}}.mage-ev__level{font-size:11px;font-weight:700;color:var(--text-2);letter-spacing:.5px;text-transform:uppercase}.mage-ev--hero .mage-ev__title{font-size:22px}.mage-ev--hero .mage-ev__level{font-size:14px}.welcome{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px 18px;animation:welcome-fade-in .4s var(--ease-spring)}@keyframes welcome-fade-in{0%{opacity:0}to{opacity:1}}.welcome__bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 30% 20%,rgba(168,85,247,.25),transparent 50%),radial-gradient(ellipse at 70% 80%,rgba(245,158,11,.18),transparent 50%),linear-gradient(135deg,#1e1b4b,#0f172a);z-index:-1}.welcome__card{position:relative;display:flex;flex-direction:column;align-items:center;gap:20px;max-width:420px;width:100%;padding:28px 22px;background:linear-gradient(160deg,#a855f71a,#a855f705);border:1.5px solid rgba(168,85,247,.25);border-radius:24px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 24px 60px #00000080,0 0 80px #a855f726;animation:welcome-card-rise .6s var(--ease-spring)}@keyframes welcome-card-rise{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.welcome__sparkles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;border-radius:24px}.welcome__sparkle{position:absolute;font-size:24px;opacity:0;animation:sparkle-float 4s ease-in-out infinite;filter:drop-shadow(0 0 8px currentColor)}.welcome__sparkles .welcome__sparkle:nth-child(1){top:10%;left:8%;animation-delay:0s}.welcome__sparkles .welcome__sparkle:nth-child(2){top:18%;right:12%;animation-delay:1.3s}.welcome__sparkles .welcome__sparkle:nth-child(3){bottom:25%;left:15%;animation-delay:2.6s}.welcome__sparkles--big .welcome__sparkle:nth-child(1){top:12%;left:8%;font-size:32px;animation-delay:0s}.welcome__sparkles--big .welcome__sparkle:nth-child(2){top:8%;right:10%;font-size:28px;animation-delay:.4s}.welcome__sparkles--big .welcome__sparkle:nth-child(3){bottom:30%;left:12%;font-size:30px;animation-delay:.8s}.welcome__sparkles--big .welcome__sparkle:nth-child(4){bottom:20%;right:14%;font-size:26px;animation-delay:1.2s}.welcome__sparkles--big .welcome__sparkle:nth-child(5){top:45%;right:6%;font-size:22px;animation-delay:1.6s}@keyframes sparkle-float{0%,to{opacity:0;transform:translateY(0) scale(.8)}20%,80%{opacity:1}50%{transform:translateY(-12px) scale(1.1)}}.welcome__title{font-size:26px;font-weight:900;text-align:center;letter-spacing:-.5px;margin:8px 0 4px;color:var(--text);line-height:1.2}.welcome__brand{background:linear-gradient(90deg,#a855f7,#ec4899,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:brand-shimmer 4s linear infinite}@keyframes brand-shimmer{0%,to{filter:brightness(1)}50%{filter:brightness(1.3)}}.welcome__intro{font-size:15px;text-align:center;color:var(--text);line-height:1.55;margin:0;max-width:320px}.welcome__intro strong{color:#c084fc;font-weight:800}.welcome__hint{font-size:13px;color:var(--text-2);text-align:center;font-style:italic;margin:4px 0;line-height:1.5}.welcome__hint em{color:#fbbf24;font-weight:700;font-style:normal}.welcome__input-group{position:relative;width:100%;display:flex;flex-direction:column;gap:4px}.welcome__input{width:100%;padding:14px 16px;font-family:inherit;font-size:17px;font-weight:700;color:var(--text);background:#0006;border:2px solid rgba(168,85,247,.3);border-radius:14px;text-align:center;letter-spacing:.3px;transition:all .2s var(--ease-spring);outline:none;box-sizing:border-box}.welcome__input::-moz-placeholder{color:var(--text-3);font-weight:600}.welcome__input::placeholder{color:var(--text-3);font-weight:600}.welcome__input:focus{border-color:#a855f7;background:#0000008c;box-shadow:0 0 20px #a855f74d}.welcome__input-counter{font-size:11px;color:var(--text-3);text-align:right;font-variant-numeric:tabular-nums;padding-right:6px}.welcome__cta{width:100%;padding:14px 20px;font-family:inherit;font-size:15px;font-weight:800;color:#fff;background:linear-gradient(135deg,#a855f7,#7c3aed);border:none;border-radius:14px;cursor:pointer;transition:all .2s var(--ease-spring);letter-spacing:.3px;box-shadow:0 8px 20px #a855f766,inset 0 1px #fff3}.welcome__cta:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 28px #a855f780,inset 0 1px #ffffff4d}.welcome__cta:active:not(:disabled){transform:scale(.98)}.welcome__cta:disabled{background:#ffffff0f;color:var(--text-3);cursor:not-allowed;box-shadow:none}.welcome__skip{background:transparent;border:none;color:var(--text-3);font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;text-decoration:underline;padding:4px 8px;transition:color .2s}.welcome__skip:hover{color:var(--text-2)}.welcome__done{display:flex;flex-direction:column;align-items:center;gap:14px;animation:welcome-done-celebrate .6s var(--ease-spring)}@keyframes welcome-done-celebrate{0%{transform:scale(.85);opacity:0}60%{transform:scale(1.05);opacity:1}to{transform:scale(1);opacity:1}}.welcome__progress{position:absolute;top:28px;left:50%;transform:translate(-50%);display:flex;gap:10px;z-index:10}.welcome__dot{width:10px;height:10px;border-radius:50%;background:#ffffff26;border:2px solid rgba(255,255,255,.25);transition:all .3s var(--ease-spring)}.welcome__dot.is-active{background:#a855f7;border-color:#c084fc;box-shadow:0 0 14px #a855f799;transform:scale(1.2)}.welcome__dot.is-done{background:#22c55e80;border-color:#22c55eb3}.welcome__title--small{font-size:22px}.welcome__groep-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:100%;margin:4px 0}.welcome__groep-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:12px 8px;background:#ffffff0a;border:2px solid rgba(255,255,255,.1);border-radius:14px;cursor:pointer;transition:all .25s var(--ease-spring);font-family:inherit;min-height:92px}.welcome__groep-card:hover{background:#ffffff14;transform:translateY(-2px)}.welcome__groep-card.is-selected{background:#a855f72e;border-color:#a855f7;box-shadow:0 8px 20px #a855f74d,inset 0 1px #ffffff26;transform:translateY(-2px) scale(1.03)}.welcome__groep-card--rose.is-selected{background:#f43f5e2e;border-color:#f43f5e;box-shadow:0 8px 20px #f43f5e4d}.welcome__groep-card--coral.is-selected{background:#fb71852e;border-color:#fb7185;box-shadow:0 8px 20px #fb71854d}.welcome__groep-card--amber.is-selected{background:#f59e0b33;border-color:#f59e0b;box-shadow:0 8px 20px #f59e0b59}.welcome__groep-card--teal.is-selected{background:#14b8a62e;border-color:#14b8a6;box-shadow:0 8px 20px #14b8a64d}.welcome__groep-card--magic.is-selected{background:#a855f733;border-color:#a855f7;box-shadow:0 8px 20px #a855f759}.welcome__groep-icon{font-size:30px;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}.welcome__groep-name{font-size:12px;font-weight:800;color:var(--text);letter-spacing:-.2px;margin-top:2px}.welcome__groep-age{font-size:10px;font-weight:700;color:var(--text-3);letter-spacing:.3px}.welcome__groep-badge{position:absolute;top:6px;right:6px;font-size:8px;font-weight:800;letter-spacing:.5px;color:#fbbf24;background:#f59e0b2e;border:1px solid rgba(245,158,11,.4);padding:2px 5px;border-radius:6px;text-transform:uppercase}.welcome__notice{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:#f59e0b1a;border-left:3px solid #f59e0b;border-radius:8px;width:100%;box-sizing:border-box;animation:notice-slide-in .3s var(--ease-spring)}@keyframes notice-slide-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.welcome__notice-icon{font-size:18px;flex-shrink:0;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}.welcome__notice-text{font-size:12px;color:var(--text);line-height:1.5}.home{padding:22px 20px 100px;animation:step-in .5s var(--ease-spring)}.home__hero{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.home__greeting{flex:1}.home__hello{font-size:13px;color:var(--text-3);font-weight:600;letter-spacing:.5px;margin-bottom:4px}.home__title{font-size:22px;font-weight:800;line-height:1.2;letter-spacing:-.3px;color:var(--text)}.home__name{background:linear-gradient(135deg,var(--accent),var(--magic));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.home__avatar{width:90px;height:90px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s var(--ease-spring);flex-shrink:0}.home__avatar:hover{transform:scale(1.05)}.home__stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:14px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:10px;display:flex;align-items:center;gap:8px;transition:.2s}.stat:hover{background:var(--surface-2)}.stat__icon{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.stat--amber .stat__icon{background:#fbbf241f}.stat--magic .stat__icon{background:#a78bfa1f}.stat--coral .stat__icon{background:#f871711f}.stat__body{min-width:0;flex:1}.stat__label{font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--text-3);margin-bottom:1px}.stat__value{font-size:13px;font-weight:800;color:var(--text);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat--amber .stat__value{color:var(--accent)}.stat--magic .stat__value{color:var(--magic)}.stat--coral .stat__value{color:var(--danger)}.home__level{background:linear-gradient(135deg,#a78bfa1f,#7c3aed0f);border:1px solid rgba(167,139,250,.2);border-radius:16px;padding:14px 18px;margin-bottom:22px;position:relative;overflow:hidden}.home__level:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 90% 50%,rgba(167,139,250,.2),transparent 60%);pointer-events:none}.home__level-row{display:flex;align-items:center;justify-content:space-between;position:relative}.home__level-label{font-size:9px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--magic);margin-bottom:4px}.home__level-value{font-size:18px;font-weight:800;color:var(--text)}.home__level-icon{font-size:28px}.home__section-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--text-2);margin-bottom:12px;letter-spacing:.3px}.home__section-emoji{font-size:18px}.home__groepen{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:22px}.groep-card{text-align:left;background:var(--surface);border:1.5px solid var(--border-2);border-radius:18px;padding:14px;cursor:pointer;transition:all .2s var(--ease-spring);position:relative;overflow:hidden;display:flex;flex-direction:column;gap:10px;font-family:inherit;color:var(--text)}.groep-card:hover{transform:translateY(-3px);border-color:#fff3}.groep-card.is-coming-soon{opacity:.78}.groep-card.is-coming-soon:hover{opacity:1}.groep-card.is-selected{border-width:2.5px;box-shadow:0 8px 28px #a855f740,inset 0 1px #ffffff1a;transform:translateY(-2px)}.groep-card.is-selected.groep-card--amber{border-color:#f59e0b}.groep-card.is-selected.groep-card--rose{border-color:#f43f5e}.groep-card.is-selected.groep-card--coral{border-color:#fb7185}.groep-card.is-selected.groep-card--teal{border-color:#14b8a6}.groep-card.is-selected.groep-card--magic{border-color:#a855f7}.groep-card__star{position:absolute;top:8px;right:8px;font-size:18px;animation:star-spin 4s linear infinite;filter:drop-shadow(0 0 6px rgba(245,158,11,.6))}@keyframes star-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.groep-card--amber{background:linear-gradient(140deg,#f59e0b14,#ea580c0a);border-color:#f59e0b40;box-shadow:0 4px 16px #f59e0b1a}.groep-card--amber:hover{box-shadow:0 8px 24px #f59e0b33}.groep-card--rose{background:linear-gradient(140deg,#f43f5e14,#e11d480a);border-color:#f43f5e33}.groep-card--rose:hover{box-shadow:0 8px 24px #f43f5e26}.groep-card--coral{background:linear-gradient(140deg,#fb718514,#f43f5e0a);border-color:#fb718533}.groep-card--coral:hover{box-shadow:0 8px 24px #fb718526}.groep-card--teal{background:linear-gradient(140deg,#14b8a60f,#0d948808);border-color:#14b8a633}.groep-card--teal:hover{box-shadow:0 8px 24px #14b8a626}.groep-card--magic{background:linear-gradient(140deg,#a855f712,#7c3aed08);border-color:#a855f733}.groep-card--magic:hover{box-shadow:0 8px 24px #a855f72e}.groep-card__top{display:flex;justify-content:space-between;align-items:flex-start}.groep-card__icon{font-size:32px;line-height:1}.groep-card__badge{font-size:9px;font-weight:700;padding:3px 8px;border-radius:6px;background:#ffffff0f;color:var(--text-3);letter-spacing:.5px;white-space:nowrap;text-transform:uppercase}.groep-card__badge--available{background:#22c55e26;color:#4ade80}.groep-card__badge--beta{background:#f59e0b2e;color:#fbbf24}.groep-card__name{font-size:16px;font-weight:800;color:var(--text);margin-bottom:2px}.groep-card__age{font-size:10px;color:var(--text-3);font-weight:600}.groep-card__footer{margin-top:auto}.groep-card__desc{font-size:10px;color:var(--text-3);line-height:1.4;margin-bottom:6px;font-weight:500}.groep-card__meta{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--text-2);font-weight:700}.groep-card--amber .groep-card__meta{color:var(--accent)}.home__nav{position:fixed;bottom:14px;left:50%;transform:translate(-50%);display:flex;gap:4px;background:#0c0c1ceb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-2);border-radius:20px;padding:6px;box-shadow:0 12px 40px #0006;z-index:50}.nav-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:10px 18px;border-radius:14px;background:transparent;border:none;color:var(--text-3);cursor:pointer;transition:.2s;font-family:inherit;min-width:70px}.nav-btn:hover{background:var(--surface);color:var(--text)}.nav-btn--highlight{background:linear-gradient(135deg,#a78bfa26,#7c3aed14);color:var(--magic)}.nav-btn--highlight:hover{background:linear-gradient(135deg,#a78bfa40,#7c3aed26)}.nav-btn__icon{font-size:18px;line-height:1}.nav-btn__label{font-size:9px;font-weight:700;letter-spacing:.3px}.lmap{padding:18px 18px 100px;animation:step-in .5s var(--ease-spring)}.lmap__header{display:flex;align-items:center;gap:14px;margin-bottom:20px}.lmap__back{width:40px;height:40px;border-radius:12px;background:var(--surface);border:1px solid var(--border);color:var(--text);font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s;font-family:inherit;flex-shrink:0}.lmap__back:hover{background:var(--surface-2)}.lmap__title-wrap{flex:1;min-width:0}.lmap__sub{font-size:11px;color:var(--text-3);font-weight:600;letter-spacing:.5px;margin-bottom:2px}.lmap__title{font-size:22px;font-weight:800;color:var(--text);letter-spacing:-.3px;display:flex;align-items:center;gap:8px}.lmap__icon{font-size:26px}.lmap__stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:22px}.lmap__stat{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:12px 8px;text-align:center}.lmap__stat--accent{background:linear-gradient(140deg,#f59e0b1a,#ea580c0d);border-color:#f59e0b33}.lmap__stat-value{font-size:22px;font-weight:900;color:var(--text);line-height:1;margin-bottom:2px}.lmap__stat--accent .lmap__stat-value{color:var(--accent)}.lmap__stat-label{font-size:9px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--text-3)}.lmap__modules{display:flex;flex-direction:column;gap:12px}.module{border-radius:18px;border:1.5px solid var(--border-2);overflow:hidden;transition:all .3s var(--ease-smooth)}.module--amber{background:linear-gradient(140deg,#f59e0b0f,#ea580c08);border-color:#f59e0b2e}.module--magic{background:linear-gradient(140deg,#a78bfa0f,#7c3aed08);border-color:#a78bfa2e}.module--teal{background:linear-gradient(140deg,#14b8a60f,#0d948808);border-color:#14b8a633}.module--coral{background:linear-gradient(140deg,#fb71850f,#f43f5e08);border-color:#fb718533}.module--rose{background:linear-gradient(140deg,#f43f5e0f,#e11d4808);border-color:#f43f5e33}.module.is-open{border-color:#ffffff2e}.module__head{width:100%;background:transparent;border:none;padding:16px;display:flex;align-items:center;gap:14px;cursor:pointer;text-align:left;font-family:inherit;color:var(--text);transition:background .2s}.module__head:hover{background:#ffffff05}.module__icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:26px;flex-shrink:0}.module--amber .module__icon{background:#f59e0b26}.module--magic .module__icon{background:#a78bfa26}.module--teal .module__icon{background:#14b8a626}.module--coral .module__icon{background:#fb71852e}.module--rose .module__icon{background:#f43f5e2e}.module__head-body{flex:1;min-width:0}.module__name{font-size:15px;font-weight:800;color:var(--text);margin-bottom:2px}.module__desc{font-size:11px;color:var(--text-3);font-weight:500;margin-bottom:6px;line-height:1.4}.module__meta{display:flex;gap:12px;font-size:10px;color:var(--text-2);font-weight:700}.module__mastery{color:var(--success)}.module__chevron{font-size:24px;font-weight:300;color:var(--text-3);width:28px;text-align:center;transition:transform .3s}.module.is-open .module__chevron{color:var(--text)}.module__lessons{padding:0 12px 12px;display:flex;flex-direction:column;gap:6px;animation:step-in .4s var(--ease-spring)}.lesson-row{display:flex;align-items:center;gap:12px;padding:12px;background:#0003;border:1px solid rgba(255,255,255,.05);border-radius:12px;cursor:pointer;transition:all .2s var(--ease-spring);font-family:inherit;text-align:left;color:var(--text)}.lesson-row:not(.is-locked):hover{background:#0000004d;border-color:#ffffff1f;transform:translate(2px)}.lesson-row.is-locked{opacity:.45;cursor:not-allowed}.lesson-row__num{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;flex-shrink:0;background:#ffffff0f;color:var(--text-2)}.lesson-row__num--amber{background:#f59e0b26;color:var(--accent)}.lesson-row__num--magic{background:#a78bfa26;color:var(--magic)}.lesson-row__num--teal{background:#14b8a626;color:#5eead4}.lesson-row.is-locked .lesson-row__num{background:#ffffff0a}.lesson-row__body{flex:1;min-width:0}.lesson-row__title{font-size:13px;font-weight:700;color:var(--text);margin-bottom:2px;line-height:1.3}.lesson-row__desc{font-size:10px;color:var(--text-3);font-weight:500;margin-bottom:4px;line-height:1.4}.lesson-row__meta{display:flex;gap:10px;font-size:9px;font-weight:700;letter-spacing:.3px}.lesson-row__time{color:var(--text-3)}.lesson-row__mastery{font-size:9px;font-weight:800}.lesson-row__action{color:var(--text-3);font-size:12px;flex-shrink:0}.lesson-row:not(.is-locked):hover .lesson-row__action{color:var(--text)}.header{padding:14px 18px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border)}.header__close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:var(--surface);color:var(--text-3);font-size:18px;font-weight:600;transition:all .2s var(--ease-smooth)}.header__close:hover{background:var(--surface-2);color:var(--text)}.header__progress{flex:1;background:var(--surface-2);height:6px;border-radius:6px;overflow:hidden}.header__progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--success));border-radius:6px;transition:width .8s var(--ease-spring)}.header__xp{font-size:12px;font-weight:700;color:var(--accent);background:#fbbf241a;padding:5px 12px;border-radius:8px;letter-spacing:.3px;transition:transform .3s var(--ease-spring)}.header__xp--bump{animation:xp-bump .5s var(--ease-spring)}@keyframes xp-bump{0%{transform:scale(1)}40%{transform:scale(1.18)}to{transform:scale(1)}}.header__streak{background:linear-gradient(135deg,#dc262638,#f59e0b2e);border:1px solid rgba(245,158,11,.4);color:#fbbf24;font-weight:800;font-size:13px;padding:5px 10px;border-radius:999px;margin-left:8px;white-space:nowrap;display:inline-flex;align-items:center;gap:2px;box-shadow:0 0 0 1px #f59e0b26}.avatar-wrap{display:flex;flex-direction:column;align-items:center;gap:6px}.avatar{border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;border:1.5px solid;transition:all .3s var(--ease-spring)}.avatar__emoji{display:block;line-height:1;position:relative;z-index:2;transition:transform .3s var(--ease-spring)}.avatar:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:50%;pointer-events:none;filter:blur(16px);z-index:0}.avatar--floating{animation:float-y 3s ease-in-out infinite}@keyframes float-y{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.avatar--sm{width:56px;height:56px}.avatar--sm .avatar__emoji{font-size:30px}.avatar--md{width:72px;height:72px}.avatar--md .avatar__emoji{font-size:38px}.avatar--lg{width:88px;height:88px}.avatar--lg .avatar__emoji{font-size:48px}.avatar--xl{width:110px;height:110px}.avatar--xl .avatar__emoji{font-size:60px}.avatar--mage{background:linear-gradient(140deg,#a78bfa2e,#7c3aed1f);border-color:#a78bfa59;box-shadow:0 6px 28px #a78bfa40}.avatar--mage:after{background:#a78bfa4d}.avatar--happy{background:linear-gradient(140deg,#34d3992e,#10b9811f);border-color:#34d39966;box-shadow:0 6px 28px #34d3994d}.avatar--happy:after{background:#34d3994d}.avatar--sad{background:linear-gradient(140deg,#6366f11f,#4338ca14);border-color:#6366f14d;box-shadow:0 6px 24px #6366f133;filter:saturate(.7) brightness(.85)}.avatar--sad:after{background:#6366f133}.avatar--boss{background:linear-gradient(140deg,#ef44442e,#7f1d1d1f);border-color:#ef444466;box-shadow:0 6px 32px #ef444459;animation:boss-pulse 2.5s ease-in-out infinite}.avatar--boss:after{background:#ef444466}@keyframes boss-pulse{0%,to{box-shadow:0 6px 32px #ef444459}50%{box-shadow:0 6px 48px #ef4444b3}}.avatar--mood-celebrate{animation:celebrate-bounce .6s ease-in-out infinite}.avatar--mood-celebrate .avatar__emoji{animation:emoji-spin .6s ease-in-out infinite alternate}@keyframes celebrate-bounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-12px) scale(1.05)}}@keyframes emoji-spin{0%{transform:rotate(-15deg)}to{transform:rotate(15deg)}}.avatar--mood-shocked{animation:shocked-shake .4s ease-in-out}.avatar--mood-shocked .avatar__emoji{transform:scale(1.15);filter:drop-shadow(0 0 8px rgba(239,68,68,.6))}@keyframes shocked-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}50%{transform:translate(4px)}75%{transform:translate(-3px)}}.avatar--mood-thinking .avatar__emoji{animation:thinking-tilt 2s ease-in-out infinite}@keyframes thinking-tilt{0%,to{transform:rotate(0)}50%{transform:rotate(-8deg)}}.avatar--mood-sad .avatar__emoji{filter:saturate(.5);transform:scale(.95)}.avatar__bubble{position:absolute;font-size:18px;pointer-events:none;z-index:3;animation:bubble-float 1.4s ease-out infinite}.avatar__bubble--1{top:-10px;left:-10px;animation-delay:0s}.avatar__bubble--2{top:-10px;right:-10px;animation-delay:.4s}.avatar__bubble--3{bottom:-8px;left:50%;transform:translate(-50%);animation-delay:.8s}@keyframes bubble-float{0%{opacity:0;transform:scale(.3) translateY(8px)}30%{opacity:1;transform:scale(1.1) translateY(0)}70%{opacity:1;transform:scale(1) translateY(-12px)}to{opacity:0;transform:scale(.6) translateY(-24px)}}.avatar__bubble--3{animation-name:bubble-float-bottom}@keyframes bubble-float-bottom{0%{opacity:0;transform:translate(-50%) scale(.3) translateY(-8px)}30%{opacity:1;transform:translate(-50%) scale(1.1) translateY(0)}70%{opacity:1;transform:translate(-50%) scale(1) translateY(12px)}to{opacity:0;transform:translate(-50%) scale(.6) translateY(24px)}}.avatar__shock{position:absolute;top:-16px;right:-8px;font-size:24px;animation:shock-pop .6s var(--ease-spring);filter:drop-shadow(0 0 6px rgba(239,68,68,.6));z-index:3}@keyframes shock-pop{0%{transform:scale(0) rotate(-30deg);opacity:0}60%{transform:scale(1.4) rotate(15deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}.avatar__think{position:absolute;top:-12px;right:-16px;font-size:22px;animation:think-bob 2s ease-in-out infinite;z-index:3}@keyframes think-bob{0%,to{transform:translateY(0);opacity:.8}50%{transform:translateY(-4px);opacity:1}}.avatar__tear{position:absolute;bottom:12px;right:8px;font-size:16px;animation:tear-drop 1.5s ease-in infinite;z-index:3}@keyframes tear-drop{0%{transform:translateY(0);opacity:0}20%{opacity:1}80%{opacity:1}to{transform:translateY(20px);opacity:0}}.avatar__name{font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase}.avatar__name--mage{color:var(--magic)}.avatar__name--boss{color:var(--danger)}.avatar__name--happy{color:var(--success)}.avatar__name--sad{color:var(--text-3)}.bubble{background:var(--surface-2);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-2);border-radius:18px;padding:14px 16px;font-size:13.5px;font-weight:500;line-height:1.65;color:var(--text);text-align:center;margin-bottom:14px;animation:toast-in .4s var(--ease-spring)}.bubble--sm{font-size:12px;padding:10px 14px;margin-bottom:10px}.bubble--boss{background:#ef44440d;border-color:#ef44441f}.bubble--neutral{background:var(--surface)}.bubble .hl{background:linear-gradient(135deg,#f59e0b33,#f59e0b1a);color:var(--accent);padding:2px 8px;border-radius:6px;font-weight:700}.bubble .hl-danger{background:#ef444426;color:var(--danger)}.bubble .hl-success{background:#34d39926;color:var(--success)}.bubble strong{font-weight:700;color:#fff}.banner{position:relative;width:100%;height:180px;border-radius:18px;overflow:hidden;border:1px solid var(--border-2);margin-bottom:16px;background:#0a0a1a}.banner__image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.banner__overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.4) 100%)}.banner--amber{background:linear-gradient(135deg,#f59e0b1f,#ea580c14)}.banner--magic{background:linear-gradient(135deg,#a78bfa1f,#7c3aed14)}.banner--teal{background:linear-gradient(135deg,#14b8a61f,#0d948814)}.banner--coral{background:linear-gradient(135deg,#f871711f,#dc262614)}.banner__placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--text-3);text-align:center;padding:20px}.banner__placeholder-icon{font-size:48px;margin-bottom:4px;opacity:.6}.banner__placeholder-hint{font-size:12px;font-weight:700;color:var(--text-2)}.banner__placeholder-size{font-size:10px;color:var(--text-3)}.sf{border-radius:14px;padding:14px 16px;font-size:12px;line-height:1.6;font-weight:600;margin-top:12px;animation:toast-in .4s var(--ease-spring)}.sf strong{color:#fff;display:block;margin-bottom:6px;font-size:13px}.sf em{background:#fbbf241f;color:var(--accent);padding:1px 6px;border-radius:4px;font-style:normal;font-weight:700}.sf--hint{background:linear-gradient(140deg,#f59e0b1a,#ea580c0f);border:1px solid rgba(245,158,11,.15);color:#fbbf24}.sf--ok{background:linear-gradient(140deg,#34d3991a,#10b9810f);border:1px solid rgba(52,211,153,.15);color:#6ee7b7}.sf--reveal{background:linear-gradient(140deg,#6366f114,#4f46e50a);border:1px solid rgba(99,102,241,.15);color:#a5b4fc}.sf__answer{margin:6px 0;color:var(--text)}.sf__hint-box{margin-top:8px;padding:8px 12px;background:#0003;border-radius:8px;font-size:11px;color:var(--text-2);line-height:1.6}.sf__hint-box strong{font-size:11px;color:#fffc;margin-bottom:2px}.sf__badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;font-size:10px;font-weight:700;margin-top:8px}.sf__badge--good{background:#34d3991a;color:var(--success)}.sf__badge--warn{background:#f59e0b1a;color:var(--accent)}.sf__badge--review{background:#6366f11a;color:#818cf8}.trap{border-radius:18px;padding:20px 16px;animation:trap-in .4s var(--ease-spring)}@keyframes trap-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.trap--boom{background:linear-gradient(140deg,#ef44441a,#7f1d1d0d);border:1.5px solid rgba(239,68,68,.3);text-align:center;padding:36px 16px}.trap__boom-burst{font-size:72px;line-height:1;animation:boom-pop 1s var(--ease-spring);margin-bottom:8px}@keyframes boom-pop{0%{transform:scale(0);opacity:0}30%{transform:scale(1.4);opacity:1}60%{transform:scale(.9)}to{transform:scale(1)}}.trap__boom-title{font-size:32px;font-weight:900;color:var(--danger);letter-spacing:2px;margin-bottom:8px;animation:boom-shake .4s ease .3s}@keyframes boom-shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}.trap__boom-sub{font-size:13px;color:var(--text);font-weight:700;margin-bottom:14px}.trap__boom-hint{font-size:11px;color:var(--text-3);background:#0003;padding:8px 14px;border-radius:10px;display:inline-block}.trap--question{background:linear-gradient(140deg,#f59e0b14,#ea580c0a);border:1.5px solid rgba(245,158,11,.25)}.trap__q-header{text-align:center;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid rgba(245,158,11,.15)}.trap__q-tag{display:inline-flex;font-size:10px;font-weight:800;letter-spacing:1.5px;padding:4px 10px;border-radius:6px;background:#f59e0b26;color:var(--accent);margin-bottom:6px}.trap__q-sub{font-size:11px;color:var(--text-2)}.trap__q-sub strong{color:var(--accent)}.trap__expl{background:#00000040;border-radius:10px;padding:10px 12px;font-size:11px;color:var(--text-2);line-height:1.5;margin-bottom:14px}.trap__expl strong{color:#fff;display:block;margin-bottom:2px}.trap__q{font-size:14px;font-weight:700;color:var(--text);text-align:center;margin-bottom:14px;line-height:1.4}.trap__opts{display:flex;flex-direction:column;gap:8px}.trap__opt{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#ffffff0a;border:1.5px solid var(--border-2);border-radius:12px;font-family:inherit;text-align:left;cursor:pointer;transition:all .2s var(--ease-spring);color:var(--text)}.trap__opt:hover:not(:disabled){background:#ffffff14;transform:translate(2px)}.trap__opt-letter{width:26px;height:26px;border-radius:50%;background:#ffffff14;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:var(--text-2);flex-shrink:0}.trap__opt-text{font-size:12px;font-weight:600;flex:1;line-height:1.4}.trap__opt.is-correct{background:#34d39926;border-color:var(--success);color:var(--success);animation:correct-pop .4s ease}.trap__opt.is-correct .trap__opt-letter{background:#34d3994d;color:#fff}.trap__opt.is-wrong{background:#ef44441a;border-color:var(--danger);color:var(--danger)}.trap__opt.is-disabled{opacity:.4;pointer-events:none}.trap--recovered{background:linear-gradient(140deg,#34d3991f,#10b9810f);border:1.5px solid rgba(52,211,153,.3);text-align:center;padding:30px 16px}.trap__rec-icon{font-size:48px;animation:rec-glow 1s ease infinite alternate;margin-bottom:8px}@keyframes rec-glow{0%{transform:scale(1);filter:drop-shadow(0 0 8px rgba(52,211,153,.4))}to{transform:scale(1.05);filter:drop-shadow(0 0 16px rgba(52,211,153,.6))}}.trap__rec-title{font-size:20px;font-weight:900;background:linear-gradient(135deg,var(--success),#6ee7b7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:4px}.trap__rec-sub{font-size:13px;font-weight:700;color:var(--accent);margin-bottom:12px}.trap__rec-note{font-size:10px;color:var(--text-3);background:#00000040;padding:8px 12px;border-radius:10px;display:inline-block;line-height:1.5}.trap__rec-note strong{color:var(--success)}.trap--missed{background:var(--surface);border:1px solid var(--border-2);text-align:center;padding:24px 16px}.trap__miss-icon{font-size:36px;margin-bottom:6px}.trap__miss-title{font-size:15px;font-weight:800;color:var(--text-2);margin-bottom:4px}.trap__miss-sub{font-size:12px;color:var(--text-3)}.pburst{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:100;overflow:visible}.pburst__p{position:absolute;left:var(--origin-x);top:var(--origin-y);font-size:var(--size);line-height:1;animation:particle-fly 1.2s var(--ease-spring) var(--delay) forwards;opacity:0;filter:drop-shadow(0 0 4px currentColor)}@keyframes particle-fly{0%{transform:translate(-50%,-50%) scale(0) rotate(0);opacity:0}20%{opacity:1;transform:translate(-50%,-50%) scale(1.2) rotate(calc(var(--rotation) * .3))}to{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(.4) rotate(var(--rotation));opacity:0}}.xpfly{position:absolute;pointer-events:none;z-index:99;display:flex;align-items:center;gap:4px;animation:xpfly-up 1.4s ease-out forwards;font-weight:900;letter-spacing:.5px;text-shadow:0 2px 6px rgba(0,0,0,.5)}.xpfly--xp{color:#fbbf24;font-size:22px}.xpfly--gem{color:#67e8f9;font-size:22px}.xpfly--bonus{color:#fbbf24;font-size:28px;text-transform:uppercase}@keyframes xpfly-up{0%{transform:translate(-50%,-50%) scale(.5);opacity:0}20%{transform:translate(-50%,-80%) scale(1.3);opacity:1}60%{transform:translate(-50%,-130%) scale(1);opacity:1}to{transform:translate(-50%,-200%) scale(.8);opacity:0}}.xpfly__label{font-size:.7em;opacity:.8}.shake--active.shake--light{animation:shake-light .3s ease-in-out}.shake--active.shake--heavy{animation:shake-heavy .5s ease-in-out}.shake--active.shake--boom{animation:shake-boom .7s ease-in-out}@keyframes shake-light{0%,to{transform:translate(0)}25%{transform:translate(-2px,-1px)}50%{transform:translate(2px,1px)}75%{transform:translate(-1px,2px)}}@keyframes shake-heavy{0%,to{transform:translate(0)}10%{transform:translate(-5px,-3px) rotate(-.3deg)}20%{transform:translate(5px,3px) rotate(.3deg)}30%{transform:translate(-4px,2px) rotate(-.2deg)}40%{transform:translate(4px,-2px) rotate(.2deg)}50%{transform:translate(-3px,1px)}60%{transform:translate(3px,-1px)}80%{transform:translate(-1px,2px)}}@keyframes shake-boom{0%,to{transform:translate(0)}5%{transform:translate(-12px,-6px) rotate(-.6deg)}10%{transform:translate(12px,6px) rotate(.6deg)}15%{transform:translate(-10px,4px) rotate(-.4deg)}20%{transform:translate(10px,-4px) rotate(.4deg)}25%{transform:translate(-7px,2px)}30%{transform:translate(7px,-2px)}40%{transform:translate(-5px,3px)}50%{transform:translate(5px,-3px)}60%{transform:translate(-3px,1px)}70%{transform:translate(3px,-1px)}80%{transform:translate(-1px,2px)}}.combo-badge{position:absolute;top:14px;right:14px;background:linear-gradient(135deg,#f97316,#ef4444);color:#fff;padding:6px 12px;border-radius:20px;font-size:13px;font-weight:900;letter-spacing:.5px;box-shadow:0 4px 16px #f9731680;animation:combo-pop .4s var(--ease-spring),combo-pulse 1s ease-in-out infinite alternate;z-index:50;display:flex;align-items:center;gap:4px}.combo-badge__fire{font-size:16px;animation:fire-flicker .4s ease-in-out infinite alternate}@keyframes combo-pop{0%{transform:scale(0) rotate(-30deg);opacity:0}60%{transform:scale(1.2) rotate(10deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}@keyframes combo-pulse{0%{box-shadow:0 4px 16px #f9731680}to{box-shadow:0 4px 28px #f97316cc}}@keyframes fire-flicker{0%{transform:scale(1) rotate(-3deg)}to{transform:scale(1.15) rotate(3deg)}}.taph{display:flex;flex-direction:column;gap:12px;position:relative}.taph__trap-wrap{position:relative}.taph__sentences{display:flex;flex-direction:column;gap:10px;position:relative}.taph__sentence{width:100%;text-align:left;padding:14px 18px;background:var(--surface);border:1.5px solid var(--border-2);border-radius:14px;font-family:inherit;font-size:13px;font-weight:500;color:var(--text);cursor:pointer;transition:all .25s var(--ease-spring);line-height:1.5;position:relative;display:flex;align-items:flex-start;gap:10px;overflow:hidden}.taph__sentence:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,transparent 50%,rgba(255,255,255,.05) 100%);pointer-events:none;opacity:0;transition:opacity .3s}.taph__sentence:hover:not(:disabled):not(.is-predicting){background:var(--surface-2);border-color:#ffffff40;transform:translateY(-2px);box-shadow:0 6px 20px #0003}.taph__sentence:hover:before{opacity:1}.taph__sentence:active:not(:disabled){transform:scale(.98)}.taph__sentence:disabled{cursor:default}.taph__radio{font-size:14px;color:var(--text-3);flex-shrink:0;margin-top:1px;transition:color .2s}.taph__sentence-text{flex:1}.taph__sentence.is-predicting{background:linear-gradient(135deg,#a78bfa2e,#7c3aed1a);border-color:var(--magic);border-width:2px;color:var(--magic);animation:predict-pulse .6s ease-in-out}@keyframes predict-pulse{0%{transform:scale(1);box-shadow:0 0 #a78bfa00}50%{transform:scale(1.02);box-shadow:0 0 32px #a78bfa80}to{transform:scale(1);box-shadow:0 0 #a78bfa00}}.taph__predicting{display:flex;justify-content:center;gap:8px;padding:14px 0;animation:dots-fade .3s ease}@keyframes dots-fade{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.taph__pred-dot{width:10px;height:10px;border-radius:50%;background:var(--magic);animation:pred-bounce .6s ease-in-out infinite;box-shadow:0 0 10px #a78bfa80}.taph__pred-dot:nth-child(2){animation-delay:.13s}.taph__pred-dot:nth-child(3){animation-delay:.26s}@keyframes pred-bounce{0%,to{transform:scale(.7);opacity:.5}50%{transform:scale(1.3);opacity:1}}.taph__sentence.is-correct{background:linear-gradient(135deg,#34d3992e,#10b9811a);border-color:var(--success);border-width:2px;color:var(--success);font-weight:700;animation:correct-pop .5s var(--ease-spring);box-shadow:0 6px 28px #34d39966}@keyframes correct-pop{0%{transform:scale(1)}30%{transform:scale(1.05);box-shadow:0 8px 36px #34d39999}60%{transform:scale(.99)}to{transform:scale(1)}}.taph__sentence.is-correct .taph__radio{color:var(--success)}.taph__sentence.is-wrong{background:#ef44441a;border-color:var(--danger);border-width:2px;color:var(--danger);font-weight:600;animation:wrong-shake .5s ease}@keyframes wrong-shake{0%,to{transform:translate(0)}15%{transform:translate(-8px)}30%{transform:translate(8px)}45%{transform:translate(-6px)}60%{transform:translate(6px)}75%{transform:translate(-3px)}90%{transform:translate(3px)}}.taph__sentence.is-revealed{background:linear-gradient(135deg,#34d3991f,#10b98114);border-color:var(--success);border-width:2px;color:var(--success);font-weight:700;animation:reveal-pulse .8s ease}@keyframes reveal-pulse{0%{box-shadow:0 0 #34d399b3}50%{box-shadow:0 0 0 12px #34d39900}to{box-shadow:0 0 #34d39900}}.taph__sentence.is-revealed .taph__radio{color:var(--success)}.taph__posthoc{background:linear-gradient(135deg,#f59e0b1a,#ea580c0d);border:1.5px solid rgba(245,158,11,.3);border-radius:16px;padding:16px;text-align:center;animation:posthoc-in .4s var(--ease-spring)}@keyframes posthoc-in{0%{transform:scale(.9) translateY(10px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.taph__posthoc-icon{font-size:28px;margin-bottom:6px;animation:posthoc-tilt 1s ease-in-out infinite alternate}@keyframes posthoc-tilt{0%{transform:rotate(-5deg)}to{transform:rotate(5deg)}}.taph__posthoc-q{font-size:13px;font-weight:700;color:var(--text);margin-bottom:14px;line-height:1.4}.taph__posthoc-q strong{color:var(--accent)}.taph__posthoc-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.taph__posthoc-btn{background:#ffffff0a;border:1.5px solid var(--border-2);border-radius:12px;padding:12px 8px;cursor:pointer;font-family:inherit;font-size:12px;font-weight:700;color:var(--text);display:flex;flex-direction:column;align-items:center;gap:4px;transition:all .25s var(--ease-spring)}.taph__posthoc-btn:hover{transform:translateY(-2px) scale(1.02)}.taph__posthoc-btn--yes:hover{border-color:var(--accent);background:#f59e0b1a;color:var(--accent);box-shadow:0 6px 16px #f59e0b33}.taph__posthoc-btn--no:hover{border-color:var(--border);background:#ffffff0f;color:var(--text-2)}.taph__posthoc-btn:active{transform:scale(.96)}.taph__posthoc-emoji{font-size:22px;line-height:1}.taph__advance{margin-top:12px;width:100%;padding:14px 20px;border:none;border-radius:14px;font-family:inherit;font-weight:800;font-size:14px;letter-spacing:.3px;cursor:pointer;transition:all .25s var(--ease-spring);color:#fff;animation:advance-in .5s var(--ease-spring)}@keyframes advance-in{0%{opacity:0;transform:translateY(15px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.taph__advance--success{background:linear-gradient(135deg,var(--success-2),#059669);box-shadow:0 8px 24px #10b98159}.taph__advance--success:hover{transform:translateY(-2px);box-shadow:0 12px 32px #10b98180}.taph__advance--next{background:linear-gradient(135deg,var(--magic),#8b5cf6);box-shadow:0 8px 24px #a78bfa59}.taph__advance--next:hover{transform:translateY(-2px);box-shadow:0 12px 32px #a78bfa80}.taph__advance--retry{background:linear-gradient(135deg,var(--accent-2),#d97706);box-shadow:0 8px 24px #f59e0b59}.taph__advance--retry:hover{transform:translateY(-2px);box-shadow:0 12px 32px #f59e0b80}.taph__advance:active{transform:scale(.97)}.dsort{display:flex;flex-direction:column;gap:12px}.dsort__bank{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;padding:14px;background:#ffffff08;border:1.5px dashed rgba(255,255,255,.12);border-radius:14px;min-height:70px;align-items:center}.dsort__chip{padding:10px 16px;background:var(--surface-2);border:1.5px solid var(--border-2);border-radius:12px;font-size:13px;font-weight:600;color:var(--text);cursor:grab;transition:all .2s var(--ease-spring);font-family:inherit;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}.dsort__chip:hover{background:var(--surface-3);transform:translateY(-2px)}.dsort__chip:active{cursor:grabbing;transform:scale(.95)}.dsort__chip.is-selected{background:linear-gradient(140deg,#f59e0b33,#ea580c1a);border-color:var(--accent);color:var(--accent);box-shadow:0 4px 16px #f59e0b40}.dsort__chip.is-dragging{opacity:.35;pointer-events:none}.dsort__chip--ghost{background:linear-gradient(140deg,#8b5cf6,#6d28d9);color:#fff;border:2px solid #a78bfa;box-shadow:0 8px 28px #8b5cf660,0 2px 8px #0008;font-weight:700;padding:10px 20px;border-radius:16px;font-size:1.05rem;white-space:nowrap}.dsort__bank-empty{text-align:center;font-size:12px;color:var(--text-3);font-weight:600;padding:14px;font-style:italic}.dsort__zones{display:grid;gap:10px}.dsort__zones--2{grid-template-columns:1fr 1fr}.dsort__zones--3{grid-template-columns:1fr 1fr 1fr}.dsort__zone{background:#ffffff05;border:1.5px dashed rgba(255,255,255,.1);border-radius:14px;padding:10px;min-height:110px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column}.dsort__zone.is-over{background:#f59e0b0d;border-color:var(--accent);border-style:solid}.dsort__zone--green{background:linear-gradient(140deg,#34d3990a,#10b98105);border-color:#34d39933}.dsort__zone--red{background:linear-gradient(140deg,#ef44440a,#7f1d1d05);border-color:#ef444433}.dsort__zone--amber{background:linear-gradient(140deg,#f59e0b0a,#ea580c05);border-color:#f59e0b33}.dsort__zone--magic{background:linear-gradient(140deg,#a78bfa0a,#7c3aed05);border-color:#a78bfa33}.dsort__zone-head{display:flex;align-items:center;justify-content:center;gap:6px;padding:6px;font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;margin-bottom:8px;border-bottom:1px solid rgba(255,255,255,.06)}.dsort__zone--green .dsort__zone-label{color:var(--success)}.dsort__zone--red .dsort__zone-label{color:var(--danger)}.dsort__zone--amber .dsort__zone-label{color:var(--accent)}.dsort__zone--magic .dsort__zone-label{color:var(--magic)}.dsort__zone-icon{font-size:14px}.dsort__zone-body{flex:1;display:flex;flex-direction:column;gap:5px;padding:4px}.dsort__placed{width:100%;padding:7px 10px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:8px;font-size:11px;font-weight:600;color:var(--text);cursor:pointer;transition:all .15s;font-family:inherit;text-align:left;line-height:1.3}.dsort__placed:hover{background:#ef444414;border-color:#ef444433}.dsort__placed.is-correct{background:#34d3991f;border-color:#34d3994d;color:var(--success);pointer-events:none;animation:correct-pop .4s ease}.dsort__placed.is-wrong{background:#ef44441a;border-color:#ef44444d;color:var(--danger);pointer-events:none}.dsort__zone-hint{text-align:center;font-size:10px;color:var(--text-3);font-style:italic;padding:14px 4px}.dsort__instruction{text-align:center;font-size:11px;color:var(--text-3);font-weight:600;padding:4px;min-height:16px}.dsort__predicting{display:flex;justify-content:center;gap:6px;padding:14px 0;animation:predict-fade .3s ease}@keyframes predict-fade{0%{opacity:0}to{opacity:1}}.dsort__pred-dot{width:8px;height:8px;border-radius:50%;background:var(--magic);animation:dpred-bounce .8s ease-in-out infinite}.dsort__pred-dot:nth-child(2){animation-delay:.15s}.dsort__pred-dot:nth-child(3){animation-delay:.3s}@keyframes dpred-bounce{0%,to{transform:scale(.8);opacity:.4}50%{transform:scale(1.2);opacity:1}}.dsort__posthoc{background:linear-gradient(135deg,#f59e0b1a,#ea580c0d);border:1.5px solid rgba(245,158,11,.3);border-radius:16px;padding:16px;text-align:center;animation:dposthoc-in .4s var(--ease-spring);margin-top:8px}@keyframes dposthoc-in{0%{transform:scale(.9) translateY(10px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.dsort__posthoc-icon{font-size:28px;margin-bottom:6px;animation:dposthoc-tilt 1s ease-in-out infinite alternate}@keyframes dposthoc-tilt{0%{transform:rotate(-5deg)}to{transform:rotate(5deg)}}.dsort__posthoc-q{font-size:13px;font-weight:700;color:var(--text);margin-bottom:14px;line-height:1.4}.dsort__posthoc-q strong{color:var(--accent)}.dsort__posthoc-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.dsort__posthoc-btn{background:#ffffff0a;border:1.5px solid var(--border-2);border-radius:12px;padding:12px 8px;cursor:pointer;font-family:inherit;font-size:12px;font-weight:700;color:var(--text);display:flex;flex-direction:column;align-items:center;gap:4px;transition:all .25s var(--ease-spring)}.dsort__posthoc-btn:hover{transform:translateY(-2px) scale(1.02)}.dsort__posthoc-btn--yes:hover{border-color:var(--accent);background:#f59e0b1a;color:var(--accent);box-shadow:0 6px 16px #f59e0b33}.dsort__posthoc-btn--no:hover{border-color:var(--border);background:#ffffff0f;color:var(--text-2)}.dsort__posthoc-btn:active{transform:scale(.96)}.dsort__posthoc-emoji{font-size:22px;line-height:1}.dsort__trap-wrap{position:relative}.dsort__ready-btn{margin-top:8px;padding:14px 24px;background:linear-gradient(135deg,var(--magic),#8b5cf6);border:none;border-radius:14px;color:#fff;font-family:inherit;font-size:14px;font-weight:800;letter-spacing:.3px;cursor:pointer;box-shadow:0 8px 24px #a78bfa66;transition:all .3s var(--ease-spring);animation:ready-pop .5s var(--ease-spring)}@keyframes ready-pop{0%{transform:scale(.7) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.dsort__ready-btn:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 12px 32px #a78bfa99}.dsort__ready-btn:active{transform:scale(.97)}.dsort__advance{margin-top:12px;width:100%;padding:14px 20px;border:none;border-radius:14px;font-family:inherit;font-weight:800;font-size:14px;letter-spacing:.3px;cursor:pointer;transition:all .25s var(--ease-spring);color:#fff;animation:dadvance-in .5s var(--ease-spring)}@keyframes dadvance-in{0%{opacity:0;transform:translateY(15px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.dsort__advance--success{background:linear-gradient(135deg,var(--success-2),#059669);box-shadow:0 8px 24px #10b98159}.dsort__advance--success:hover{transform:translateY(-2px);box-shadow:0 12px 32px #10b98180}.dsort__advance--next{background:linear-gradient(135deg,var(--magic),#8b5cf6);box-shadow:0 8px 24px #a78bfa59}.dsort__advance--next:hover{transform:translateY(-2px);box-shadow:0 12px 32px #a78bfa80}.dsort__advance--retry{background:linear-gradient(135deg,var(--accent-2),#d97706);box-shadow:0 8px 24px #f59e0b59}.dsort__advance--retry:hover{transform:translateY(-2px);box-shadow:0 12px 32px #f59e0b80}.dsort__advance:active{transform:scale(.97)}.dict{display:flex;flex-direction:column;gap:14px;position:relative}.dict__hud{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--text-3)}.dict__category{background:#14b8a61a;color:#5eead4;padding:4px 10px;border-radius:8px;border:1px solid rgba(20,184,166,.2)}.dict__listen-count{background:#ffffff0a;padding:4px 10px;border-radius:8px}.dict__player{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;background:linear-gradient(140deg,#14b8a614,#0d94880a);border:1.5px solid rgba(20,184,166,.2);border-radius:18px}.dict__play{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px;width:100%;background:linear-gradient(135deg,#14b8a6,#0d9488);border:none;border-radius:16px;color:#fff;font-family:inherit;font-weight:800;cursor:pointer;box-shadow:0 8px 28px #14b8a666;transition:all .25s var(--ease-spring)}.dict__play:hover:not(:disabled){transform:translateY(-3px) scale(1.02);box-shadow:0 14px 40px #14b8a699}.dict__play:active:not(:disabled){transform:scale(.97)}.dict__play:disabled{opacity:.5;cursor:not-allowed}.dict__play.is-playing{background:linear-gradient(135deg,#f97316,#ea580c);box-shadow:0 8px 28px #f9731666;animation:dict-playing-pulse 1s ease-in-out infinite alternate}@keyframes dict-playing-pulse{0%{box-shadow:0 8px 28px #f9731666}to{box-shadow:0 12px 40px #f97316b3}}.dict__play-icon{font-size:42px;line-height:1}.dict__play.is-playing .dict__play-icon{animation:dict-icon-bounce .8s ease-in-out infinite alternate}@keyframes dict-icon-bounce{0%{transform:scale(1)}to{transform:scale(1.15)}}.dict__play-label{font-size:13px;letter-spacing:.3px}.dict__play-slow{background:#ffffff0a;border:1px solid var(--border);border-radius:10px;padding:8px 14px;font-family:inherit;font-size:11px;font-weight:700;color:var(--text-2);cursor:pointer;transition:all .2s}.dict__play-slow:hover:not(:disabled){background:#ffffff14;color:var(--text)}.dict__play-slow:disabled{opacity:.4;cursor:not-allowed}.dict__context{background:#00000040;border-radius:12px;padding:14px;text-align:center;font-size:14px;color:var(--text-2);line-height:1.5}.dict__context em{color:var(--text);font-style:italic}.dict__input-wrap{display:flex;flex-direction:column;gap:6px}.dict__input-label{font-size:11px;font-weight:700;color:var(--text-3);letter-spacing:.5px}.dict__input{width:100%;padding:14px 16px;background:var(--surface);border:1.5px solid var(--border-2);border-radius:14px;font-family:inherit;font-size:18px;font-weight:600;color:var(--text);text-align:center;letter-spacing:.5px;transition:all .2s}.dict__input:focus{outline:none;border-color:var(--magic);background:#a78bfa0d;box-shadow:0 0 0 4px #a78bfa26}.dict__input::-moz-placeholder{color:var(--text-3);font-weight:400;letter-spacing:0}.dict__input::placeholder{color:var(--text-3);font-weight:400;letter-spacing:0}.dict__input--correct{border-color:var(--success);background:#34d39914;color:var(--success)}.dict__input--close{border-color:var(--accent);background:#f59e0b14;color:var(--accent);animation:dict-input-shake .4s ease}@keyframes dict-input-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}50%{transform:translate(4px)}75%{transform:translate(-2px)}}.dict__input--wrong{border-color:var(--danger);background:#ef44440f;color:var(--danger);animation:dict-input-shake .4s ease}.dict__feedback{border-radius:16px;padding:16px;text-align:center;animation:dict-fb-in .4s var(--ease-spring)}@keyframes dict-fb-in{0%{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.dict__feedback--correct{background:linear-gradient(135deg,#34d39926,#10b98114);border:1.5px solid rgba(52,211,153,.3)}.dict__feedback--close{background:linear-gradient(135deg,#f59e0b1f,#ea580c0f);border:1.5px solid rgba(245,158,11,.3)}.dict__feedback--wrong{background:linear-gradient(135deg,#6366f11a,#4338ca0d);border:1.5px solid rgba(99,102,241,.25);text-align:left}.dict__feedback-icon{font-size:36px;line-height:1;margin-bottom:6px;text-align:center}.dict__feedback-title{font-size:16px;font-weight:800;margin-bottom:6px;text-align:center}.dict__feedback--correct .dict__feedback-title{color:var(--success)}.dict__feedback--close .dict__feedback-title{color:var(--accent)}.dict__feedback--wrong .dict__feedback-title{color:var(--text);margin-bottom:12px}.dict__feedback-text{font-size:12px;color:var(--text-2);line-height:1.5}.dict__feedback-row{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#00000040;border-radius:10px;margin-bottom:6px;font-size:13px}.dict__feedback-lbl{font-size:10px;font-weight:700;color:var(--text-3);letter-spacing:.5px;text-transform:uppercase}.dict__feedback-yours{font-weight:700;color:var(--danger);font-family:monospace;font-size:14px}.dict__feedback-correct{font-weight:800;color:var(--success);font-family:monospace;font-size:16px;letter-spacing:.5px}.dict__feedback-hint{margin-top:8px;padding:8px 12px;background:#f59e0b14;border:1px solid rgba(245,158,11,.2);border-radius:10px;font-size:11px;color:var(--accent);line-height:1.5}.dict__submit,.dict__retry,.dict__advance{width:100%;padding:14px 20px;border:none;border-radius:14px;font-family:inherit;font-weight:800;font-size:14px;cursor:pointer;transition:all .25s var(--ease-spring);color:#fff;letter-spacing:.3px;animation:dict-btn-in .4s var(--ease-spring)}@keyframes dict-btn-in{0%{opacity:0;transform:translateY(15px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.dict__submit{background:linear-gradient(135deg,var(--magic),#8b5cf6);box-shadow:0 8px 24px #a78bfa59}.dict__submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 32px #a78bfa80}.dict__submit:disabled{opacity:.4;cursor:not-allowed}.dict__retry{background:linear-gradient(135deg,var(--accent-2),#d97706);box-shadow:0 8px 24px #f59e0b59}.dict__retry:hover{transform:translateY(-2px);box-shadow:0 12px 32px #f59e0b80}.dict__advance{background:linear-gradient(135deg,var(--magic),#8b5cf6);box-shadow:0 8px 24px #a78bfa59}.dict__advance:hover{transform:translateY(-2px);box-shadow:0 12px 32px #a78bfa80}.dict__submit:active,.dict__retry:active,.dict__advance:active{transform:scale(.97)}.dict__error{text-align:center;padding:40px 20px}.dict__error-icon{font-size:48px;margin-bottom:12px;opacity:.5}.dict__error-text{font-size:13px;color:var(--text-2);line-height:1.5}.theorie{display:flex;flex-direction:column;gap:14px;position:relative}.theorie__progress{display:flex;justify-content:center;gap:8px;padding:4px 0}.theorie__dot{width:8px;height:8px;border-radius:50%;background:var(--border-2);transition:all .3s var(--ease-spring)}.theorie__dot.is-active{width:24px;border-radius:4px;background:var(--accent);box-shadow:0 0 12px #f59e0b80}.theorie__dot.is-passed{background:var(--success)}.theorie__stage{position:relative;min-height:380px;perspective:1000px}.theorie__card{position:relative;background:linear-gradient(160deg,#ffffff0a,#ffffff03);border:1.5px solid;border-radius:22px;padding:24px 22px;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;box-shadow:0 12px 40px #0000004d;overflow:hidden}.theorie__card:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;pointer-events:none}.theorie__card--amber{border-color:#f59e0b4d;background:linear-gradient(160deg,#f59e0b14,#ea580c0a)}.theorie__card--amber:before{background:linear-gradient(90deg,var(--accent),#ea580c)}.theorie__card--magic{border-color:#a78bfa4d;background:linear-gradient(160deg,#a78bfa14,#7c3aed0a)}.theorie__card--magic:before{background:linear-gradient(90deg,var(--magic),#8b5cf6)}.theorie__card--teal{border-color:#14b8a64d;background:linear-gradient(160deg,#14b8a614,#0d94880a)}.theorie__card--teal:before{background:linear-gradient(90deg,#14b8a6,#0d9488)}.theorie__card--coral{border-color:#f871714d;background:linear-gradient(160deg,#f8717114,#e11d480a)}.theorie__card--coral:before{background:linear-gradient(90deg,#f87171,#e11d48)}.theorie__card--in-next{animation:card-slide-in-right .4s var(--ease-spring)}.theorie__card--in-prev{animation:card-slide-in-left .4s var(--ease-spring)}@keyframes card-slide-in-right{0%{opacity:0;transform:translate(40px) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes card-slide-in-left{0%{opacity:0;transform:translate(-40px) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}.theorie__visual{width:100%;display:flex;justify-content:center;align-items:center;padding:6px 0}.theorie__emoji{font-size:96px;line-height:1;animation:emoji-float 4s ease-in-out infinite;filter:drop-shadow(0 8px 24px rgba(0,0,0,.3))}@keyframes emoji-float{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-6px) rotate(-2deg)}50%{transform:translateY(-2px) rotate(0)}75%{transform:translateY(-8px) rotate(2deg)}}.theorie__image{max-width:100%;max-height:200px;border-radius:16px;-o-object-fit:cover;object-fit:cover;box-shadow:0 8px 24px #0006}.theorie__title{font-size:20px;font-weight:900;color:var(--text);letter-spacing:-.3px;font-family:var(--font-display, "Fredoka", "Inter", sans-serif);line-height:1.2}.theorie__card--amber .theorie__title{color:#fbbf24}.theorie__card--magic .theorie__title{color:#c4b5fd}.theorie__card--teal .theorie__title{color:#5eead4}.theorie__card--coral .theorie__title{color:#fca5a5}.theorie__big{font-size:14px;font-weight:600;color:var(--text);line-height:1.6;padding:0 8px}.theorie__big strong{color:var(--accent);font-weight:800}.theorie__card--magic .theorie__big strong{color:var(--magic)}.theorie__card--teal .theorie__big strong{color:#5eead4}.theorie__card--coral .theorie__big strong{color:#fca5a5}.theorie__big em{font-style:normal;background:#ffffff14;padding:1px 6px;border-radius:6px;font-weight:700;color:var(--text)}.theorie__example{width:100%;background:#0000004d;border-radius:14px;padding:12px 14px;text-align:left;margin-top:auto}.theorie__example-label{font-size:10px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--text-3);margin-bottom:6px}.theorie__example-text{font-size:12px;color:var(--text-2);line-height:1.5}.theorie__example-text strong{color:var(--text);font-weight:800}.theorie__example-text em{font-style:italic;color:var(--accent);font-weight:600}.theorie__card--magic .theorie__example-text em{color:var(--magic)}.theorie__card--teal .theorie__example-text em{color:#5eead4}.theorie__card--coral .theorie__example-text em{color:#fca5a5}.theorie__nav{display:flex;align-items:center;gap:8px}.theorie__nav-btn{flex:1;padding:12px 16px;border:none;border-radius:12px;font-family:inherit;font-weight:700;font-size:13px;letter-spacing:.3px;cursor:pointer;transition:all .2s var(--ease-spring);color:#fff}.theorie__nav-btn--prev{background:#ffffff0f;color:var(--text-2)}.theorie__nav-btn--prev:hover:not(:disabled){background:#ffffff1a;color:var(--text)}.theorie__nav-btn--prev:disabled{opacity:.3;cursor:not-allowed}.theorie__nav-btn--next{background:linear-gradient(135deg,var(--accent-2),#d97706);box-shadow:0 6px 18px #f59e0b4d}.theorie__nav-btn--next:hover{transform:translateY(-2px);box-shadow:0 10px 24px #f59e0b80}.theorie__nav-btn--complete{background:linear-gradient(135deg,var(--success-2),#059669);box-shadow:0 6px 18px #10b98166;font-weight:800;animation:theorie-complete-pulse 1.5s ease-in-out infinite alternate}.theorie__nav-btn--complete:hover:not(:disabled){transform:translateY(-2px) scale(1.02);box-shadow:0 12px 28px #10b98199}.theorie__nav-btn--complete:disabled{opacity:.6;cursor:default}@keyframes theorie-complete-pulse{0%{box-shadow:0 6px 18px #10b98166}to{box-shadow:0 8px 28px #10b981b3}}.theorie__nav-btn:active{transform:scale(.97)}.theorie__counter{font-size:11px;font-weight:700;color:var(--text-3);letter-spacing:.5px;padding:4px 10px;background:#ffffff0a;border-radius:8px;min-width:50px;text-align:center}.theorie__hint{text-align:center;font-size:11px;color:var(--text-3);font-style:italic;animation:hint-pulse-fade 2s ease-in-out infinite}@keyframes hint-pulse-fade{0%,to{opacity:.5}50%{opacity:1}}.lbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000eb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px;animation:lbox-fade-in .25s ease;-moz-user-select:none;user-select:none;-webkit-user-select:none;touch-action:none}@keyframes lbox-fade-in{0%{opacity:0}to{opacity:1}}.lbox__hud{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:16px 20px;z-index:10}.lbox__counter{background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-size:12px;font-weight:800;letter-spacing:.5px;padding:8px 14px;border-radius:20px;border:1px solid rgba(255,255,255,.12)}.lbox__close{width:40px;height:40px;border-radius:50%;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.12);color:#fff;font-family:inherit;font-size:16px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s var(--ease-spring)}.lbox__close:hover{background:#ffffff26;transform:scale(1.05)}.lbox__close:active{transform:scale(.95)}.lbox__stage{flex:1;width:100%;display:flex;align-items:center;justify-content:center;cursor:zoom-in;overflow:hidden;position:relative}.lbox__stage.is-zoomed{cursor:zoom-out}.lbox__image-wrap{max-width:100%;max-height:100%;border-radius:16px;overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:0 20px 60px #0009;transition:transform .35s var(--ease-spring)}.lbox__image-wrap.is-zoomed{transform:scale(1.5)}.lbox__image-wrap--next{animation:lbox-slide-next .35s var(--ease-spring)}.lbox__image-wrap--prev{animation:lbox-slide-prev .35s var(--ease-spring)}@keyframes lbox-slide-next{0%{opacity:0;transform:translate(60px) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes lbox-slide-prev{0%{opacity:0;transform:translate(-60px) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}.lbox__image{display:block;max-width:100%;max-height:calc(100dvh - 180px);-o-object-fit:contain;object-fit:contain;-webkit-user-drag:none;pointer-events:none}.lbox__placeholder{width:min(80vw,400px);aspect-ratio:1;border-radius:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border:2px dashed;padding:24px}.lbox__placeholder--amber{background:linear-gradient(140deg,#f59e0b26,#ea580c14);border-color:#f59e0b66}.lbox__placeholder--magic{background:linear-gradient(140deg,#a78bfa26,#7c3aed14);border-color:#a78bfa66}.lbox__placeholder--teal{background:linear-gradient(140deg,#14b8a626,#0d948814);border-color:#14b8a666}.lbox__placeholder--coral{background:linear-gradient(140deg,#f8717126,#e11d4814);border-color:#f8717166}.lbox__ph-emoji{font-size:140px;line-height:1;filter:drop-shadow(0 12px 32px rgba(0,0,0,.5));animation:lbox-emoji-bob 3s ease-in-out infinite}@keyframes lbox-emoji-bob{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-12px) rotate(3deg)}}.lbox__ph-text{font-size:14px;font-weight:800;color:#fff;letter-spacing:.5px;text-transform:uppercase;background:#0006;padding:6px 14px;border-radius:10px}.lbox__ph-sub{font-size:11px;color:#fff9;font-style:italic}.lbox__caption{position:absolute;bottom:20px;left:20px;right:20px;background:#000000b3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;font-size:13px;font-weight:600;text-align:center;padding:12px 16px;border-radius:14px;border:1px solid rgba(255,255,255,.1);line-height:1.5;max-width:500px;margin:0 auto;animation:lbox-caption-slide .4s var(--ease-spring) .1s backwards}@keyframes lbox-caption-slide{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.lbox__nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.12);color:#fff;font-size:28px;font-weight:700;font-family:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:5;transition:all .2s var(--ease-spring);line-height:1;padding:0 0 4px}.lbox__nav:hover{background:#ffffff26;transform:translateY(-50%) scale(1.1)}.lbox__nav:active{transform:translateY(-50%) scale(.95)}.lbox__nav--prev{left:12px}.lbox__nav--next{right:12px}.lbox__swipe-hint{position:absolute;bottom:80px;left:50%;transform:translate(-50%);background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-size:11px;font-weight:600;padding:6px 12px;border-radius:20px;border:1px solid rgba(255,255,255,.1);animation:lbox-hint-fade 3s ease-in-out;pointer-events:none;opacity:0}@keyframes lbox-hint-fade{0%{opacity:0;transform:translate(-50%) translateY(10px)}20%,60%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(-10px)}}@media (max-width: 480px){.lbox__nav{width:40px;height:40px;font-size:22px}.lbox__ph-emoji{font-size:100px}.lbox__placeholder{width:85vw;aspect-ratio:1}}.fungal{display:flex;flex-direction:column;gap:12px;position:relative;margin-left:-20px;margin-right:-20px}.fungal__title{font-size:14px;font-weight:800;color:var(--text);padding:0 20px;letter-spacing:-.2px}.fungal__scroll-wrap{width:100%;position:relative}.fungal__scroll{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:20px;padding:4px 20px 16px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.fungal__scroll::-webkit-scrollbar{display:none}.fungal__card{flex:0 0 78%;max-width:280px;scroll-snap-align:start;background:transparent;border:none;padding:0;cursor:pointer;font-family:inherit;display:flex;flex-direction:column;gap:8px;transition:transform .2s var(--ease-spring)}.fungal__card:hover .fungal__image-wrap{transform:translateY(-2px);box-shadow:0 16px 40px #00000080}.fungal__card:active{transform:scale(.97)}.fungal__image-wrap{position:relative;width:100%;aspect-ratio:4 / 3;border-radius:18px;overflow:hidden;box-shadow:0 8px 24px #00000059;transition:all .25s var(--ease-spring);border:1.5px solid}.fungal__card--amber .fungal__image-wrap{border-color:#f59e0b4d}.fungal__card--magic .fungal__image-wrap{border-color:#a78bfa4d}.fungal__card--teal .fungal__image-wrap{border-color:#14b8a64d}.fungal__card--coral .fungal__image-wrap{border-color:#f871714d}.fungal__image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.fungal__placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:linear-gradient(140deg,#ffffff0a,#ffffff03)}.fungal__card--amber .fungal__placeholder{background:linear-gradient(140deg,#f59e0b1f,#ea580c0f)}.fungal__card--magic .fungal__placeholder{background:linear-gradient(140deg,#a78bfa1f,#7c3aed0f)}.fungal__card--teal .fungal__placeholder{background:linear-gradient(140deg,#14b8a61f,#0d94880f)}.fungal__card--coral .fungal__placeholder{background:linear-gradient(140deg,#f871711f,#e11d480f)}.fungal__ph-emoji{font-size:76px;line-height:1;filter:drop-shadow(0 6px 18px rgba(0,0,0,.4));animation:fungal-emoji-float 4s ease-in-out infinite}@keyframes fungal-emoji-float{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-4px) rotate(-2deg)}50%{transform:translateY(-2px) rotate(0)}75%{transform:translateY(-6px) rotate(2deg)}}.fungal__ph-text{font-size:11px;font-weight:700;color:var(--text-3);letter-spacing:.5px;text-transform:uppercase;background:#0000004d;padding:4px 10px;border-radius:8px}.fungal__zoom-badge{position:absolute;bottom:8px;right:8px;width:32px;height:32px;border-radius:50%;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;font-size:14px;box-shadow:0 4px 12px #0006}.fungal__caption{padding:0 6px;font-size:12px;font-weight:600;color:var(--text-2);text-align:left;line-height:1.4}.fungal__hint{padding:0 20px;text-align:center;font-size:11px;color:var(--text-3);font-style:italic;animation:fungal-hint-pulse 2s ease-in-out infinite}@keyframes fungal-hint-pulse{0%,to{opacity:.5}50%{opacity:1}}.cito{display:flex;flex-direction:column;gap:16px;position:relative}.cito.is-shake{animation:cito-shake .4s var(--ease-spring)}@keyframes cito-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.cito__text-section{background:linear-gradient(140deg,#f59e0b0f,#ea580c08);border:1.5px solid rgba(245,158,11,.2);border-radius:18px;overflow:hidden}.cito__text-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:#f59e0b14;border-bottom:1px solid rgba(245,158,11,.15)}.cito__text-title{font-size:14px;font-weight:800;color:#fbbf24;letter-spacing:-.2px}.cito__text-toggle{width:28px;height:28px;border-radius:50%;background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:var(--text);font-family:inherit;font-size:18px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s var(--ease-spring);line-height:1}.cito__text-toggle:hover{background:#ffffff26;transform:scale(1.05)}.cito__text-body{padding:14px 18px;max-height:320px;overflow-y:auto;font-size:13.5px;line-height:1.7;color:var(--text);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.cito__text-body::-webkit-scrollbar{width:6px}.cito__text-body::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.cito__line{display:flex;align-items:flex-start;gap:12px;padding:1px 0}.cito__line-num{flex-shrink:0;width:24px;font-size:10px;font-weight:700;color:var(--text-3);text-align:right;padding-top:4px;font-variant-numeric:tabular-nums}.cito__line-text{flex:1;color:var(--text)}.cito__progress{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:10px 14px}.cito__progress-info{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:700;margin-bottom:8px}.cito__q-num{color:var(--text-2);letter-spacing:.3px}.cito__score{color:var(--success);font-weight:800}.cito__progress-bar{height:4px;background:#ffffff0f;border-radius:2px;overflow:hidden}.cito__progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--success));border-radius:2px;transition:width .5s var(--ease-spring)}.cito__question-block{background:linear-gradient(160deg,#ffffff0a,#ffffff03);border:1.5px solid rgba(255,255,255,.1);border-radius:18px;padding:20px 18px;display:flex;flex-direction:column;gap:14px;scroll-margin-top:20px}.cito__question-svg-inner{display:block;width:100%}.cito__question-svg-inner svg{display:block;max-width:100%;height:auto;margin:0 auto;background:#fff;border-radius:12px;padding:8px}.cito__question{font-size:15px;font-weight:700;color:var(--text);line-height:1.5;display:flex;gap:8px}.cito__q-prefix{color:var(--accent);flex-shrink:0}.cito__options{display:flex;flex-direction:column;gap:8px}.cito__option{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#ffffff08;border:1.5px solid rgba(255,255,255,.1);border-radius:12px;font-family:inherit;font-size:13px;text-align:left;color:var(--text);cursor:pointer;transition:all .2s var(--ease-spring);width:100%}.cito__option:hover:not(:disabled){background:#ffffff0f;border-color:#f59e0b4d;transform:translate(2px)}.cito__option:active:not(:disabled){transform:scale(.98)}.cito__option.is-picked{background:#f59e0b1f;border-color:#f59e0b66}.cito__option.is-correct-reveal{background:#10b98126;border-color:#10b98199;color:#6ee7b7;font-weight:700;animation:cito-reveal-correct .5s var(--ease-spring)}.cito__option.is-wrong-reveal{background:#ef444426;border-color:#ef444499;color:#fca5a5;animation:cito-reveal-wrong .5s var(--ease-spring)}.cito__option.is-fade{opacity:.4}@keyframes cito-reveal-correct{0%{transform:scale(.95)}to{transform:scale(1)}}@keyframes cito-reveal-wrong{0%{transform:scale(.95)}to{transform:scale(1)}}.cito__option-letter{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:#ffffff14;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:var(--text-2)}.cito__option.is-correct-reveal .cito__option-letter{background:var(--success);color:#fff}.cito__option.is-wrong-reveal .cito__option-letter{background:var(--error);color:#fff}.cito__option-text{flex:1;line-height:1.4}.cito__option-mark{flex-shrink:0;font-size:16px;font-weight:900}.cito__feedback{border-radius:14px;padding:14px 16px;animation:cito-feedback-in .4s var(--ease-spring)}@keyframes cito-feedback-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.cito__feedback--correct{background:linear-gradient(120deg,#10b98126,#05966914);border:1px solid rgba(16,185,129,.3);display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700;color:#6ee7b7}.cito__feedback--wrong{background:linear-gradient(120deg,#ef44441a,#e11d480d);border:1px solid rgba(239,68,68,.3);display:flex;flex-direction:column;gap:10px}.cito__feedback-header{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;color:#fca5a5}.cito__feedback-icon{font-size:18px}.cito__feedback-title strong{color:var(--success);font-weight:900;font-size:16px}.cito__expl-btn{align-self:flex-start;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:var(--text);font-family:inherit;font-size:12px;font-weight:700;padding:8px 14px;border-radius:10px;cursor:pointer;transition:all .2s var(--ease-spring);letter-spacing:.3px}.cito__expl-btn:hover{background:#ffffff1a;transform:translateY(-1px)}.cito__explanation{display:flex;flex-direction:column;gap:10px;padding:12px 14px;background:#0000004d;border-radius:10px;border-left:3px solid var(--accent);animation:cito-expl-in .4s var(--ease-spring)}@keyframes cito-expl-in{0%{opacity:0;max-height:0}to{opacity:1;max-height:400px}}.cito__expl-label{font-size:11px;font-weight:800;color:var(--accent);letter-spacing:.5px;text-transform:uppercase}.cito__expl-text{font-size:13px;line-height:1.6;color:var(--text)}.cito__expl-text strong{color:var(--accent);font-weight:800}.cito__expl-text em{font-style:italic;color:var(--text-2)}.cito__expl-skill{font-size:11px;color:var(--text-3);font-style:italic;padding-top:4px;border-top:1px solid rgba(255,255,255,.06)}.cito__skill-label{font-weight:700;color:var(--text-2);font-style:normal}.cito__next-btn{align-self:stretch;background:linear-gradient(135deg,var(--accent-2),#d97706);border:none;color:#fff;font-family:inherit;font-size:13px;font-weight:800;padding:11px 16px;border-radius:10px;cursor:pointer;transition:all .2s var(--ease-spring);margin-top:4px;letter-spacing:.3px}.cito__next-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #f59e0b4d}.cito__next-btn:active{transform:scale(.97)}.cito__text-actions{display:flex;gap:6px}.cito__text-action{background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#fff;font-size:14px;width:32px;height:32px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .18s ease}.cito__text-action:hover{background:#ffffff29;transform:translateY(-1px)}.cito__text-action.is-active{background:#f59e0bd9;border-color:#f59e0b;color:#fff;box-shadow:0 0 0 2px #f59e0b40}.cito__text-section--pinned{position:sticky;top:8px;z-index:10;max-height:38vh;overflow-y:auto;box-shadow:0 6px 24px #00000059;border:2px solid rgba(245,158,11,.4)}.cito__text-section--pinned .cito__text-header{position:sticky;top:0;background:linear-gradient(180deg,#0f172afa,#0f172aeb);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:2}.cito__resume{text-align:center;padding:32px 20px;background:linear-gradient(135deg,#f59e0b1f,#d9770614);border-radius:18px;border:2px solid rgba(245,158,11,.3)}.cito__resume-icon{font-size:56px;margin-bottom:8px}.cito__resume-title{font-size:20px;font-weight:800;color:#fff;margin-bottom:8px}.cito__resume-info{font-size:14px;color:#ffffffc7;margin-bottom:24px}.cito__resume-info strong{color:#fbbf24}.cito__resume-buttons{display:flex;flex-direction:column;gap:10px;max-width:280px;margin:0 auto}.cito__resume-btn{border:none;font-family:inherit;font-weight:800;padding:13px 20px;border-radius:12px;cursor:pointer;transition:all .2s var(--ease-spring);font-size:15px}.cito__resume-btn--primary{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.cito__resume-btn--primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #f59e0b4d}.cito__resume-btn--secondary{background:#ffffff14;color:#ffffffd9;border:1px solid rgba(255,255,255,.18)}.cito__resume-btn--secondary:hover{background:#ffffff24}.cito-summary{padding:20px 4px;display:flex;flex-direction:column;gap:24px}.cito-summary__hero{text-align:center;background:linear-gradient(135deg,#f59e0b2e,#dc262614);border-radius:20px;padding:28px 16px;border:2px solid rgba(245,158,11,.35)}.cito-summary__medal{font-size:72px;line-height:1;margin-bottom:8px;filter:drop-shadow(0 4px 12px rgba(0,0,0,.4))}.cito-summary__title{font-size:22px;font-weight:900;color:#fff;margin-bottom:12px}.cito-summary__score{font-size:48px;font-weight:900;color:#fff;line-height:1;margin-bottom:4px}.cito-summary__score-correct{color:#fbbf24}.cito-summary__score-divider{color:#fff6;margin:0 4px;font-weight:600}.cito-summary__score-total{color:#ffffffd9}.cito-summary__pct{font-size:16px;font-weight:700;color:#ffffffc7;letter-spacing:.5px}.cito-summary__section-title{font-size:13px;font-weight:800;color:#ffffffb3;text-transform:uppercase;letter-spacing:.6px;margin-bottom:14px}.cito-summary__skills{background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:16px 18px}.cito-summary__skill-row{display:grid;grid-template-columns:1.4fr 2fr auto;align-items:center;gap:10px;padding:6px 0}.cito-summary__skill-name{font-size:13px;font-weight:700;color:#ffffffeb;text-transform:capitalize}.cito-summary__skill-bar-wrap{background:#ffffff12;border-radius:8px;height:10px;overflow:hidden}.cito-summary__skill-bar{height:100%;border-radius:8px;transition:width .6s var(--ease-spring)}.cito-summary__skill-bar.is-strong{background:linear-gradient(90deg,#10b981,#34d399)}.cito-summary__skill-bar.is-mid{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.cito-summary__skill-bar.is-weak{background:linear-gradient(90deg,#dc2626,#f87171)}.cito-summary__skill-stat{font-size:12px;font-weight:800;color:#ffffffb3;font-variant-numeric:tabular-nums;min-width:32px;text-align:right}.cito-summary__insights{display:flex;flex-direction:column;gap:10px}.cito-summary__insight{display:flex;gap:12px;align-items:flex-start;padding:12px 16px;border-radius:12px;font-size:14px;line-height:1.45}.cito-summary__insight--strong{background:#10b9811f;border:1px solid rgba(16,185,129,.3);color:#d1fae5}.cito-summary__insight--weak{background:#f59e0b1f;border:1px solid rgba(245,158,11,.3);color:#fef3c7}.cito-summary__insight-icon{font-size:22px;flex-shrink:0}.cito-summary__insight-text strong{color:#fff}.cito-summary__buttons{display:flex;flex-direction:column;gap:10px;margin-top:4px}.cito-summary__btn{border:none;font-family:inherit;font-weight:800;padding:14px 20px;border-radius:12px;cursor:pointer;transition:all .2s var(--ease-spring);font-size:15px}.cito-summary__btn--primary{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.cito-summary__btn--primary:hover{transform:translateY(-2px);box-shadow:0 8px 22px #10b9814d}.cito-summary__btn--secondary{background:#f59e0b2e;border:1px solid rgba(245,158,11,.4);color:#fef3c7}.cito-summary__btn--secondary:hover{background:#f59e0b47}.cito-review{padding:4px}.cito-review__header{display:flex;align-items:center;gap:12px;margin-bottom:6px}.cito-review__back{background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#ffffffd9;font-family:inherit;font-weight:700;padding:7px 12px;border-radius:8px;cursor:pointer;font-size:13px}.cito-review__back:hover{background:#ffffff24}.cito-review__title{font-size:18px;font-weight:800;color:#fff}.cito-review__intro{font-size:13px;color:#ffffffb3;margin-bottom:18px;font-style:italic}.cito-review__list{display:flex;flex-direction:column;gap:16px}.cito-review__item{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:16px}.cito-review__q-num{font-size:11px;font-weight:800;color:#fbbf24;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.cito-review__q-text{font-size:15px;font-weight:700;color:#fff;line-height:1.45;margin-bottom:12px}.cito-review__answers{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.cito-review__answer-row{display:flex;flex-direction:column;padding:8px 12px;border-radius:8px;font-size:13px}.cito-review__answer-row--wrong{background:#dc262621;border-left:3px solid #f87171}.cito-review__answer-row--correct{background:#10b98121;border-left:3px solid #34d399}.cito-review__answer-label{font-size:10px;font-weight:800;color:#ffffff8c;text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.cito-review__answer-text{color:#ffffffeb;font-weight:600}.cito-review__expl{background:#f59e0b14;border-left:3px solid #fbbf24;border-radius:8px;padding:10px 14px;font-size:13px;line-height:1.5;color:#ffffffe0}.cito-review__expl-label{font-size:11px;font-weight:800;color:#fbbf24;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.cito-review__expl-skill{font-size:11px;color:#fff9;margin-top:8px;padding-top:6px;border-top:1px dashed rgba(255,255,255,.15)}.cito-review__expl-skill span{font-weight:700;color:#fffc}.cito-review__footer{margin-top:18px}.cito-review__back-btn{width:100%;background:#f59e0b2e;border:1px solid rgba(245,158,11,.4);color:#fef3c7;font-family:inherit;font-weight:800;font-size:14px;padding:12px;border-radius:12px;cursor:pointer;transition:all .2s var(--ease-spring)}.cito-review__back-btn:hover{background:#f59e0b47}.cito__open-badge{display:inline-block;background:#6366f12e;border:1px solid rgba(99,102,241,.4);color:#c7d2fe;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;padding:5px 10px;border-radius:999px;margin-bottom:10px}.cito__open-textarea{width:100%;background:#ffffff0f;border:2px solid rgba(255,255,255,.15);color:#fff;font-family:inherit;font-size:14px;line-height:1.5;padding:12px 14px;border-radius:12px;resize:vertical;min-height:100px;margin-bottom:12px;transition:border-color .2s ease}.cito__open-textarea:focus{outline:none;border-color:#f59e0b99;background:#ffffff17}.cito__open-yours,.cito__open-sample{background:#ffffff0d;border-radius:12px;padding:12px 14px;margin-bottom:12px;border:1px solid rgba(255,255,255,.1)}.cito__open-sample{background:#f59e0b14;border-color:#f59e0b4d}.cito__open-label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:#ffffffa6;margin-bottom:6px}.cito__open-sample .cito__open-label{color:#fbbf24}.cito__open-yours-text,.cito__open-sample-text{color:#ffffffeb;font-size:14px;line-height:1.5}.cito__open-rubric{margin-top:10px;padding-top:10px;border-top:1px dashed rgba(255,255,255,.15);font-size:13px;color:#ffffffd9}.cito__open-rubric ul{margin:6px 0 0 18px;padding:0}.cito__open-rubric li{margin:3px 0}.cito__open-self-prompt{font-size:14px;font-weight:700;color:#fff;margin-bottom:10px;text-align:center}.cito__open-self-buttons{display:flex;flex-direction:column;gap:8px}.cito__open-self-btn{border:none;font-family:inherit;font-weight:700;font-size:14px;padding:12px 16px;border-radius:12px;cursor:pointer;transition:all .18s ease}.cito__open-self-btn--good{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.cito__open-self-btn--good:hover{transform:translateY(-2px);box-shadow:0 6px 16px #10b9814d}.cito__open-self-btn--needs{background:#f59e0b2e;border:1px solid rgba(245,158,11,.4);color:#fef3c7}.cito__open-self-btn--needs:hover{background:#f59e0b42}.cito__next-btn:disabled{background:#ffffff1a;color:#fff6;cursor:not-allowed;transform:none;box-shadow:none}.cito__text-section.is-flash{animation:citoTekstFlash .8s ease-out}@keyframes citoTekstFlash{0%{box-shadow:0 0 #60a5fa00;transform:scale(1)}20%{box-shadow:0 0 0 6px #60a5fa8c;transform:scale(1.012)}to{box-shadow:0 0 #60a5fa00;transform:scale(1)}}.cito__text-counter{display:inline-block;margin-left:6px;padding:2px 9px;font-size:12px;font-weight:700;color:#fff;background:linear-gradient(135deg,#60a5fa,#a78bfa);border-radius:999px;vertical-align:middle;letter-spacing:.2px}.cito__text-svg{margin:0 0 16px;padding:12px;background:#fafbfc;border:1px solid #e5e7eb;border-radius:12px;display:flex;justify-content:center;align-items:center;cursor:zoom-in;position:relative;transition:box-shadow .18s,border-color .18s,transform .12s}.cito__text-svg:hover{border-color:#0284c7;box-shadow:0 4px 16px #0284c72e}.cito__text-svg:active{transform:scale(.99)}.cito__text-svg:after{content:"🔍";position:absolute;top:8px;right:10px;font-size:18px;background:#ffffffe6;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;pointer-events:none;box-shadow:0 1px 3px #0000001a}.cito__text-svg svg{max-width:100%;height:auto;display:block}.cito__svg-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172ad9;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;animation:cito-modal-fade .2s ease-out}@keyframes cito-modal-fade{0%{opacity:0}to{opacity:1}}.cito__svg-modal-close{position:absolute;top:16px;right:16px;background:#fff;border:none;border-radius:50%;width:44px;height:44px;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000004d;transition:transform .12s}.cito__svg-modal-close:hover{transform:scale(1.08)}.cito__svg-modal-content{background:#fff;padding:24px;border-radius:16px;max-width:95vw;max-height:90vh;overflow:auto;box-shadow:0 8px 40px #0006}.cito__svg-modal-content svg{max-width:100%;height:auto;display:block}.cito__svg-modal-hint{color:#ffffffd9;font-size:13px;margin-top:12px;font-family:system-ui,sans-serif}.fchal{padding:16px 0;animation:step-in .5s var(--ease-spring)}.fchal__hud{display:flex;align-items:center;gap:14px;margin-bottom:16px}.fchal__progress{flex:1}.fchal__progress-label{font-size:10px;font-weight:700;color:var(--text-3);letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.fchal__progress-bar{background:var(--surface-2);height:6px;border-radius:6px;overflow:hidden}.fchal__progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--success));border-radius:6px;transition:width .5s var(--ease-spring)}.fchal__lives{display:flex;gap:4px}.fchal__heart{font-size:18px;transition:all .4s var(--ease-spring);filter:grayscale(0)}.fchal__heart.is-dead{filter:grayscale(1) brightness(.3);transform:scale(.85)}.fchal__intro{margin-bottom:14px;text-align:center}.fchal__flash{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;border-radius:20px;animation:flash-pop .4s var(--ease-spring);margin:20px 0}@keyframes flash-pop{0%{transform:scale(.5);opacity:0}60%{transform:scale(1.1);opacity:1}to{transform:scale(1);opacity:1}}.fchal__flash--correct{background:linear-gradient(140deg,#34d39926,#10b98114);border:1.5px solid rgba(52,211,153,.3);color:var(--success)}.fchal__flash--wrong{background:linear-gradient(140deg,#ef44441f,#7f1d1d0f);border:1.5px solid rgba(239,68,68,.3);color:var(--danger)}.fchal__flash-icon{font-size:56px;font-weight:900;margin-bottom:8px}.fchal__flash-text{font-size:18px;font-weight:800}.fchal__type-badge{display:inline-flex;font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;padding:5px 12px;border-radius:8px;background:#a78bfa1a;color:var(--magic);margin-bottom:14px}.fchal__origin-badge{display:block;font-size:10px;font-weight:700;letter-spacing:.3px;padding:6px 12px;border-radius:8px;background:#f59e0b14;color:var(--accent);margin-bottom:12px;border:1px dashed rgba(245,158,11,.25)}.fchal__gameover{text-align:center;padding:30px 20px}.fchal__gameover-title{font-size:22px;font-weight:900;color:var(--danger);margin:16px 0 6px}.fchal__gameover-text{font-size:13px;color:var(--text-2);line-height:1.5;margin-bottom:20px}.fchal__score-box{background:var(--surface);border:1px solid var(--border-2);border-radius:14px;padding:14px;margin-bottom:20px}.fchal__score-label{font-size:10px;font-weight:700;color:var(--text-3);letter-spacing:1px;text-transform:uppercase;margin-bottom:4px}.fchal__score-value{font-size:22px;font-weight:900;color:var(--accent)}.fchal__retry-btn{padding:14px 28px;background:linear-gradient(140deg,var(--accent-2),#d97706);color:#fff;border:none;border-radius:14px;font-family:inherit;font-weight:800;font-size:14px;cursor:pointer;box-shadow:0 6px 20px #f59e0b4d;transition:all .3s var(--ease-spring)}.fchal__retry-btn:hover{transform:translateY(-2px);box-shadow:0 10px 28px #f59e0b66}.fchal__finish{text-align:center;padding:30px 20px;position:relative}.fchal__rating-tag{display:inline-flex;font-size:12px;font-weight:900;letter-spacing:2px;padding:6px 16px;border:1.5px solid;border-radius:12px;margin-bottom:14px}.fchal__finish-title{font-size:26px;font-weight:900;background:linear-gradient(135deg,var(--success),#6ee7b7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:6px}.fchal__finish-sub{font-size:13px;color:var(--text-2);margin-bottom:24px}.fchal__final-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:20px}.fchal__final-stat{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:12px 6px;text-align:center}.fchal__final-icon{font-size:22px;margin-bottom:4px}.fchal__final-num{font-size:16px;font-weight:900;color:var(--accent);line-height:1.1;margin-bottom:2px}.fchal__final-lbl{font-size:9px;font-weight:700;color:var(--text-3);letter-spacing:1px;text-transform:uppercase}.fchal__combo-badge{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;background:linear-gradient(135deg,#f97316,#ef4444);border-radius:14px;margin-bottom:12px;box-shadow:0 8px 24px #f9731680;animation:combo-pop .5s var(--ease-spring),combo-pulse 1.2s ease-in-out infinite alternate}@keyframes combo-pop{0%{transform:scale(0) rotate(-15deg);opacity:0}60%{transform:scale(1.15) rotate(5deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}@keyframes combo-pulse{0%{box-shadow:0 8px 24px #f9731680}to{box-shadow:0 12px 40px #f97316cc}}.fchal__combo-fire{font-size:22px;animation:combo-flicker .4s ease-in-out infinite alternate}@keyframes combo-flicker{0%{transform:scale(1) rotate(-3deg)}to{transform:scale(1.15) rotate(3deg)}}.fchal__combo-text{color:#fff;font-size:16px;font-weight:900;letter-spacing:1px;text-shadow:0 2px 6px rgba(0,0,0,.4)}.reward{text-align:center;position:relative;overflow:hidden;padding:24px 20px}.reward__glow{position:absolute;top:-40px;left:50%;transform:translate(-50%);width:280px;height:280px;background:radial-gradient(circle,rgba(52,211,153,.2),transparent 60%);pointer-events:none;animation:reward-pulse 2s ease-in-out infinite}@keyframes reward-pulse{0%,to{opacity:.4;transform:translate(-50%) scale(1)}50%{opacity:.7;transform:translate(-50%) scale(1.1)}}.reward__confetti{position:absolute;width:6px;height:6px;border-radius:2px}.reward__confetti--1{background:var(--accent);top:5%;left:15%;animation:confetti-fall 3s ease-out infinite}.reward__confetti--2{background:var(--success);top:3%;left:75%;animation:confetti-fall 3s ease-out infinite .5s}.reward__confetti--3{background:var(--magic);top:7%;left:45%;animation:confetti-fall 3s ease-out infinite 1s}.reward__confetti--4{background:var(--danger);top:10%;left:30%;animation:confetti-fall 3s ease-out infinite 1.5s}.reward__content{position:relative;z-index:1}.reward__title{font-size:26px;font-weight:900;background:linear-gradient(135deg,var(--success),#6ee7b7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:victory-pop .6s var(--ease-spring);margin:12px 0 4px}@keyframes victory-pop{0%{transform:scale(0) rotate(-8deg)}60%{transform:scale(1.15) rotate(3deg)}to{transform:scale(1) rotate(0)}}.reward__subtitle{font-size:12px;color:var(--text-3);font-weight:600;margin-bottom:16px}.reward__prizes{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:14px}.reward__prize{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:10px 6px}.reward__prize-icon{font-size:20px;margin-bottom:2px}.reward__prize-value{font-size:16px;font-weight:900;color:var(--accent)}.reward__prize-label{font-size:9px;font-weight:700;color:var(--text-3);letter-spacing:1px;text-transform:uppercase}.reward__mastery{background:linear-gradient(140deg,#34d3991a,#10b9810d);border:1px solid rgba(52,211,153,.15);border-radius:18px;padding:14px;text-align:left}.reward__mastery-label{font-size:9px;font-weight:800;letter-spacing:1.5px;color:var(--success);text-transform:uppercase;margin-bottom:6px}.reward__mastery-title{font-size:13px;font-weight:800;color:var(--text);margin-bottom:8px}.reward__mastery-track{background:#0000004d;border-radius:6px;height:8px;overflow:hidden}.reward__mastery-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--success));border-radius:6px;transition:width 1.5s var(--ease-spring) .3s}.reward__mastery-status{font-size:10px;margin-top:5px;font-weight:600}.step{animation:step-in .5s var(--ease-spring)}.step__header{padding:20px 20px 0;text-align:center}.step__body{padding:0 20px 20px}.step__goal{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:12px;font-size:11px;color:var(--text-3);font-weight:600;text-align:center;margin-top:12px}.step__goal strong{color:var(--accent)}.step__banner-wrap{padding:16px 16px 0}.step__opening-body{padding:4px 20px 20px;text-align:center}.step__lesson-title{font-size:22px;font-weight:800;color:var(--text);letter-spacing:-.3px;margin:8px 0 14px;line-height:1.25}.step__technique-tag{display:inline-flex;font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;padding:5px 12px;border-radius:8px;background:#f59e0b1a;color:var(--accent);margin-bottom:14px}.step__technique-tag--alt{background:#6366f11a;color:#818cf8}.examples-card{background:linear-gradient(140deg,#a78bfa0f,#7c3aed08);border:1px solid rgba(167,139,250,.15);border-radius:16px;padding:14px;margin-top:12px}.examples-card__title{font-size:11px;font-weight:800;color:var(--magic);letter-spacing:.8px;margin-bottom:8px}.examples-card__body{font-size:12px;color:var(--text-2);line-height:1.7}.examples-card__body em{font-style:normal;background:#a78bfa26;color:var(--magic);padding:1px 6px;border-radius:4px;font-weight:700}.examples-card__body strong{color:var(--text);font-weight:700}.rule-card{background:linear-gradient(140deg,#f59e0b14,#ea580c0a);border:1px solid rgba(245,158,11,.12);border-radius:18px;padding:18px;text-align:center;margin-bottom:12px}.rule-card__tag{display:inline-flex;font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:4px 10px;border-radius:6px;background:#f59e0b1a;color:var(--accent);margin-bottom:10px}.rule-card__question{font-size:13px;font-weight:700;color:var(--text);margin-bottom:10px}.rule-card__big{font-size:16px;font-weight:800;color:var(--text);line-height:1.4;margin-bottom:8px}.rule-card__big em{font-style:normal;color:var(--accent)}.rule-card__expl{font-size:11px;color:var(--text-3);font-weight:500}.compare{display:grid;grid-template-columns:1fr 1fr;gap:10px}.compare__card{border-radius:16px;padding:14px;text-align:center}.compare__card--right{background:linear-gradient(140deg,#34d39914,#10b9810d);border:1px solid rgba(52,211,153,.15)}.compare__card--wrong{background:linear-gradient(140deg,#ef444414,#7f1d1d0d);border:1px solid rgba(239,68,68,.15)}.compare__icon{font-size:28px;margin-bottom:6px}.compare__label{font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:6px}.compare__label--right{color:var(--success)}.compare__label--wrong{color:var(--danger)}.compare__text{font-size:12px;color:var(--text-2);line-height:1.5;font-weight:500}.passage{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:16px;margin-bottom:12px;font-size:13px;color:var(--text-2);line-height:1.7;font-weight:500;position:relative}.passage:before{content:"📖";position:absolute;top:-10px;left:14px;font-size:16px;background:#0c0c1cf2;padding:0 6px}.passage--boss{background:linear-gradient(140deg,#ef44440f,#7f1d1d0a);border-color:#ef44441f}.passage em{font-style:normal;font-weight:700;color:var(--accent)}.passage strong{color:var(--text)}.explainer{background:linear-gradient(140deg,#34d39914,#10b9810a);border:1px solid rgba(52,211,153,.15);border-radius:16px;padding:14px;margin-bottom:12px;font-size:12px;color:#6ee7b7e6;line-height:1.6}.explainer strong{color:var(--text);display:block;margin-bottom:6px}.explainer ol{list-style:none;padding:0}.explainer li{padding:4px 0}.explainer__num{color:var(--success);font-weight:700;margin-right:6px}.explainer em{font-style:normal;background:#6ee7b726;color:var(--success);padding:1px 6px;border-radius:4px;font-weight:700}.main-idea{background:linear-gradient(140deg,#f59e0b14,#ea580c0a);border:1px solid rgba(245,158,11,.15);border-radius:14px;padding:12px 14px;font-size:13px;color:var(--accent);line-height:1.5}.main-idea strong{color:var(--text);display:block;margin-bottom:4px}.attack-tag{background:#ef444414;border:1px solid rgba(239,68,68,.12);border-radius:12px;padding:10px 14px;font-size:11px;color:var(--text-3);font-weight:600;margin-bottom:10px;text-align:center}.attack-tag strong{color:var(--danger)}.step__opening-body{animation:opening-cascade .7s var(--ease-spring)}@keyframes opening-cascade{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.step__lesson-title{animation:title-shimmer .8s ease .2s backwards}@keyframes title-shimmer{0%{opacity:0;transform:scale(.95);letter-spacing:4px}to{opacity:1;transform:scale(1);letter-spacing:-.3px}}.rule-card{animation:rule-card-in .5s var(--ease-spring)}@keyframes rule-card-in{0%{transform:scale(.92) translateY(15px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.compare__card{animation:compare-in .5s var(--ease-spring) backwards}.compare__card:nth-child(1){animation-delay:.15s}.compare__card:nth-child(2){animation-delay:.3s}@keyframes compare-in{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}.step__technique-tag{animation:tag-in .5s var(--ease-spring);position:relative}@keyframes tag-in{0%{opacity:0;transform:scale(.6) rotate(-5deg)}to{opacity:1;transform:scale(1) rotate(0)}}.levelup{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px 18px;animation:levelup-appear .4s var(--ease-spring)}@keyframes levelup-appear{0%{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}.levelup__bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 30% 20%,rgba(245,158,11,.25),transparent 50%),radial-gradient(circle at 70% 80%,rgba(168,85,247,.2),transparent 50%),#000000d9;z-index:-1}.levelup.is-stageup .levelup__bg{background:radial-gradient(circle at 50% 50%,rgba(168,85,247,.4),transparent 50%),radial-gradient(circle at 30% 70%,rgba(245,158,11,.3),transparent 60%),radial-gradient(circle at 70% 30%,rgba(236,72,153,.25),transparent 60%),#000000eb;animation:stageup-bg-pulse 4s ease-in-out infinite}@keyframes stageup-bg-pulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.3)}}.levelup__particles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.levelup__particle{position:absolute;bottom:-10%;left:var(--p-x);font-size:22px;filter:drop-shadow(0 0 6px currentColor);animation:particle-rise 3.5s linear infinite;animation-delay:var(--p-delay, 0s);opacity:0}.levelup.is-stageup .levelup__particle{font-size:26px;animation-duration:4.5s}@keyframes particle-rise{0%{opacity:0;transform:translateY(0) translate(0) rotate(0) scale(.6)}10%{opacity:1}to{opacity:0;transform:translateY(-110vh) translate(calc((var(--p-i, 0) % 5 - 2) * 80px)) rotate(720deg) scale(1.2)}}.levelup__card{position:relative;display:flex;flex-direction:column;align-items:center;gap:16px;max-width:420px;width:100%;padding:24px 22px;background:linear-gradient(160deg,#f59e0b1f,#f59e0b0a);border:2px solid rgba(245,158,11,.4);border-radius:24px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 24px 60px #0009,0 0 100px #f59e0b40;animation:card-pop-in .6s var(--ease-spring)}.levelup.is-stageup .levelup__card{background:linear-gradient(160deg,#a855f72e,#ec489914);border-color:#a855f780;box-shadow:0 24px 60px #000000b3,0 0 120px #a855f74d}@keyframes card-pop-in{0%{opacity:0;transform:scale(.7) translateY(40px)}60%{opacity:1;transform:scale(1.05) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.levelup__top-banner{font-size:14px;font-weight:900;letter-spacing:2px;color:#fbbf24;text-shadow:0 0 16px rgba(245,158,11,.6);padding:8px 20px;background:linear-gradient(90deg,#f59e0b26,#f59e0b4d,#f59e0b26);border-radius:999px;border:1px solid rgba(245,158,11,.4);animation:banner-shine 2s linear infinite;text-transform:uppercase}@keyframes banner-shine{0%,to{filter:brightness(1)}50%{filter:brightness(1.4)}}.levelup__top-banner--stage{font-size:13px;background:linear-gradient(90deg,#a855f726,#ec48994d,#a855f726);border-color:#a855f780;color:#c084fc;text-shadow:0 0 16px rgba(168,85,247,.6)}.levelup__title{font-size:30px;font-weight:900;letter-spacing:-.5px;margin:4px 0;color:var(--text);line-height:1;text-align:center}.levelup__big-num{background:linear-gradient(90deg,#fbbf24,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:48px;display:inline-block;animation:num-bounce 1s ease-in-out infinite}@keyframes num-bounce{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.levelup.is-stageup .levelup__title{background:linear-gradient(90deg,#a855f7,#ec4899,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:26px;animation:stage-title-shimmer 3s linear infinite}.levelup__title--reveal{font-size:32px;animation:reveal-title-pop .6s var(--ease-spring)}@keyframes reveal-title-pop{0%{opacity:0;transform:scale(.5)}60%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}@keyframes stage-title-shimmer{0%,to{filter:brightness(1)}50%{filter:brightness(1.3)}}.levelup__stage-name{font-size:14px;font-weight:800;color:var(--text-2);letter-spacing:1px;text-transform:uppercase;margin:-4px 0 4px}.levelup__flavor-card{font-size:13px;color:var(--text);font-style:italic;text-align:center;line-height:1.5;padding:10px 14px;background:#0000004d;border-left:3px solid #c084fc;border-radius:8px;max-width:320px}.levelup__bonus{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 20px;background:linear-gradient(140deg,#f59e0b26,#f59e0b0d);border:1.5px solid rgba(245,158,11,.3);border-radius:14px;width:100%;max-width:320px;box-sizing:border-box}.levelup__bonus--big{background:linear-gradient(140deg,#a855f72e,#a855f70d);border-color:#a855f766}.levelup__bonus-label{font-size:11px;font-weight:800;color:#fbbf24;letter-spacing:1px}.levelup__bonus--big .levelup__bonus-label{color:#c084fc}.levelup__bonus-row{display:flex;gap:18px;align-items:center}.levelup__bonus-item{display:flex;align-items:center;gap:6px;font-weight:800}.levelup__bonus-icon{font-size:22px;filter:drop-shadow(0 0 6px currentColor)}.levelup__bonus-value{font-size:18px;color:var(--text);font-variant-numeric:tabular-nums}.levelup__cta{width:100%;max-width:320px;padding:14px 20px;font-family:inherit;font-size:15px;font-weight:800;color:#fff;background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:14px;cursor:pointer;transition:all .2s var(--ease-spring);letter-spacing:.3px;box-shadow:0 8px 20px #f59e0b66,inset 0 1px #fff3}.levelup__cta:hover{transform:translateY(-2px);box-shadow:0 12px 28px #f59e0b80,inset 0 1px #ffffff4d}.levelup__cta--stage{background:linear-gradient(135deg,#a855f7,#7c3aed);box-shadow:0 8px 20px #a855f766,inset 0 1px #fff3}.levelup__cta--stage:hover{box-shadow:0 12px 28px #a855f780,inset 0 1px #ffffff4d}.levelup__intro{display:flex;flex-direction:column;align-items:center;gap:14px;animation:phase-fade-in .4s ease-out}.levelup__intro-text{font-size:14px;color:var(--text-2);font-style:italic;text-align:center;animation:text-pulse 1.5s ease-in-out infinite}.levelup__intro-name{font-size:13px;font-weight:800;color:var(--text-3);letter-spacing:1px;text-transform:uppercase}@keyframes text-pulse{0%,to{opacity:.6}50%{opacity:1}}@keyframes phase-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.levelup__transform{display:flex;flex-direction:column;align-items:center;gap:18px;position:relative;padding:20px;animation:phase-fade-in .4s ease-out}.levelup__transform-glow{position:absolute;top:-20px;right:-20px;bottom:-20px;left:-20px;background:radial-gradient(circle,rgba(255,255,255,.4) 0%,rgba(168,85,247,.5) 30%,rgba(245,158,11,.3) 60%,transparent 80%);border-radius:50%;filter:blur(30px);animation:transform-glow-pulse 1.4s ease-in-out infinite;z-index:-1}@keyframes transform-glow-pulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}.levelup__transform-spinner{animation:transform-spin 1.6s ease-in-out infinite;filter:drop-shadow(0 0 30px rgba(255,255,255,.7))}@keyframes transform-spin{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.15)}to{transform:rotate(360deg) scale(1)}}.levelup__transform-text{font-size:16px;font-weight:800;color:#fff;text-shadow:0 0 12px rgba(168,85,247,.8);letter-spacing:1px;animation:text-pulse .8s ease-in-out infinite}.levelup__reveal{display:flex;flex-direction:column;align-items:center;gap:14px;position:relative;animation:phase-fade-in .5s ease-out}.levelup__reveal-burst{position:absolute;top:-40px;right:-40px;bottom:-40px;left:-40px;background:conic-gradient(from 0deg,#f59e0b80,#a855f780,#ec489980,#f59e0b80);border-radius:50%;filter:blur(40px);animation:reveal-burst-spin 8s linear infinite;z-index:-1;opacity:.6}@keyframes reveal-burst-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.levelup__reveal-flavor{font-size:13px;color:var(--text);text-align:center;max-width:320px;font-style:italic;line-height:1.5;padding:0 8px}.lesson{max-width:400px;width:100%;background:#0c0c1ce6;backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--border);box-shadow:0 30px 80px #0009,inset 0 1px #ffffff0f;position:relative;z-index:1}.lesson__stage{min-height:540px}.lesson__cta-zone{padding:14px 20px;background:#00000040;border-top:1px solid var(--border)}.lesson__cta-row{display:flex;gap:8px;align-items:stretch}.lesson__cta{flex:1;padding:16px;border:none;border-radius:16px;font-family:inherit;font-weight:800;font-size:15px;color:#fff;letter-spacing:.3px;cursor:pointer;transition:all .3s var(--ease-spring);position:relative;overflow:hidden}.lesson__cta:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .5s,height .5s;pointer-events:none}.lesson__cta:active:not(:disabled):before{width:300px;height:300px;transition:0s}.lesson__cta--primary{background:linear-gradient(140deg,var(--accent-2),#d97706);box-shadow:0 8px 24px #f59e0b4d}.lesson__cta--primary:hover:not(:disabled){box-shadow:0 12px 32px #f59e0b73;transform:translateY(-1px)}.lesson__cta--success{background:linear-gradient(140deg,var(--success-2),#059669);box-shadow:0 8px 24px #10b9814d}.lesson__cta:disabled{background:#ffffff0f;box-shadow:none;cursor:default;color:#ffffff40}.lesson__audio{position:absolute;bottom:90px;right:20px;width:36px;height:36px;border-radius:12px;background:var(--surface);border:1px solid var(--border);color:var(--text-3);display:flex;align-items:center;justify-content:center;font-size:14px;z-index:5;transition:.2s}.lesson__audio:hover{background:var(--surface-2);color:var(--text)}.lesson__audio.is-muted{opacity:.5}.lesson__skip{width:50px;background:var(--surface);border:1px solid var(--border-2);border-radius:12px;color:var(--text-3);font-size:16px;cursor:pointer;transition:all .2s var(--ease-smooth);font-family:inherit;display:flex;align-items:center;justify-content:center}.lesson__skip:hover{background:var(--surface-2);color:var(--text);transform:scale(1.05)}.lesson__skip:active{transform:scale(.95)}.skill-tree{display:flex;flex-direction:column;gap:14px;width:100%}.skill-tree__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px;background:linear-gradient(135deg,#a855f714,#22c55e0d);border:1px solid rgba(255,255,255,.08);border-radius:14px}.skill-tree__stat{display:flex;align-items:center;gap:8px;padding:6px 8px;background:#ffffff08;border-radius:10px}.skill-tree__stat-icon{font-size:22px;flex-shrink:0;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.skill-tree__stat-data{display:flex;flex-direction:column;min-width:0}.skill-tree__stat-value{font-size:15px;font-weight:800;color:var(--text);line-height:1;font-variant-numeric:tabular-nums}.skill-tree__stat-label{font-size:9px;font-weight:700;color:var(--text-3);text-transform:uppercase;letter-spacing:.4px;margin-top:3px}.skill-tree__canvas{position:relative;width:100%;background:radial-gradient(ellipse at top,rgba(168,85,247,.12),transparent 60%),linear-gradient(180deg,#0f172a,#1e293b);border-radius:16px;border:1.5px solid rgba(168,85,247,.15);overflow:hidden;padding:8px}.skill-tree__svg{width:100%;height:auto;display:block;max-height:60vh}.leaf{transition:transform .3s var(--ease-spring);transform-origin:center;transform-box:fill-box}.leaf:hover{transform:scale(1.15)}.leaf.is-selected{transform:scale(1.2)}.leaf--dormant .leaf__circle{filter:saturate(.5)}.leaf--budding .leaf__circle{animation:leaf-sprout 3s ease-in-out infinite}@keyframes leaf-sprout{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.leaf--growing .leaf__circle{animation:leaf-sway 4s ease-in-out infinite}@keyframes leaf-sway{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}.leaf--mature .leaf__bloom{animation:bloom-pulse 2.5s ease-in-out infinite;transform-origin:center;transform-box:fill-box}.leaf--expert .leaf__bloom{animation:bloom-glow 1.8s ease-in-out infinite}.leaf--expert .leaf__emoji{animation:expert-twinkle 1.5s ease-in-out infinite}@keyframes bloom-pulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}@keyframes bloom-glow{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.25)}}@keyframes expert-twinkle{0%,to{filter:brightness(1)}50%{filter:brightness(1.4)}}.leaf__emoji{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}.leaf__selection{animation:selection-spin 6s linear infinite;transform-origin:center;transform-box:fill-box}@keyframes selection-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.skill-tree__detail{background:linear-gradient(135deg,#a855f71f,#a855f70a);border:1.5px solid rgba(168,85,247,.3);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:12px;animation:detail-slide-in .3s var(--ease-spring)}@keyframes detail-slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.skill-tree__detail-header{display:flex;align-items:center;gap:12px}.skill-tree__detail-emoji{font-size:28px;flex-shrink:0}.skill-tree__detail-name{font-size:15px;font-weight:800;color:var(--text)}.skill-tree__detail-state{font-size:11px;font-weight:700;margin-top:2px;letter-spacing:.3px}.skill-tree__detail-close{margin-left:auto;width:28px;height:28px;border-radius:50%;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:var(--text-2);font-family:inherit;cursor:pointer;font-size:13px;transition:all .2s var(--ease-spring);display:flex;align-items:center;justify-content:center}.skill-tree__detail-close:hover{background:#ffffff1f;color:var(--text)}.skill-tree__progress-row{display:flex;align-items:center;gap:10px}.skill-tree__progress-bar{flex:1;height:8px;background:#ffffff14;border-radius:4px;overflow:hidden}.skill-tree__progress-fill{height:100%;border-radius:4px;transition:width .5s var(--ease-spring);box-shadow:0 0 8px currentColor}.skill-tree__progress-pct{font-size:13px;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums;min-width:38px;text-align:right}.skill-tree__legend{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;padding:10px;background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:12px}.skill-tree__legend-item{display:flex;align-items:center;gap:6px;font-size:10px;padding:4px 8px;background:#0003;border-radius:8px}.skill-tree__legend-dot{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}.skill-tree__legend-label{font-weight:700;color:var(--text-2);letter-spacing:.2px}.skill-tree.is-compact .skill-tree__stats{padding:8px}.skill-tree.is-compact .skill-tree__svg{max-height:40vh}.profile{--stage-bg: linear-gradient(135deg, #475569, #334155);min-height:100vh;padding:16px 18px 100px;display:flex;flex-direction:column;gap:18px;position:relative}.profile:before{content:"";position:absolute;top:0;left:0;right:0;height:380px;background:var(--stage-bg);opacity:.18;z-index:-1;border-radius:0 0 40px 40px}.profile__header{display:flex;align-items:center;gap:12px;padding:6px 0}.profile__back{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:var(--text);font-family:inherit;font-size:13px;font-weight:700;padding:8px 14px;border-radius:10px;cursor:pointer;transition:all .2s var(--ease-spring)}.profile__back:hover{background:#ffffff1f;transform:translate(-2px)}.profile__header-title{font-size:16px;font-weight:800;color:var(--text);letter-spacing:-.3px}.profile__hero{display:flex;flex-direction:column;align-items:center;gap:16px;padding:20px 16px 24px;margin-top:8px}.profile__hero-text{text-align:center;display:flex;flex-direction:column;gap:8px}.profile__name{font-size:22px;font-weight:800;color:var(--text);letter-spacing:-.3px;margin-bottom:2px}.profile__title{font-size:28px;font-weight:900;letter-spacing:-.5px;background:var(--stage-bg);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:brightness(1.6)}.profile__level-tag{display:inline-block;align-self:center;font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--text-2);padding:4px 12px;background:#ffffff14;border-radius:999px;border:1px solid rgba(255,255,255,.12)}.profile__flavor{font-size:13px;color:var(--text-2);font-style:italic;max-width:320px;line-height:1.5;margin-top:4px}.profile__xp-card{background:linear-gradient(140deg,#f59e0b1a,#f59e0b08);border:1.5px solid rgba(245,158,11,.2);border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.profile__xp-row{display:flex;align-items:baseline;justify-content:space-between}.profile__xp-label{font-size:11px;font-weight:800;color:var(--text-3);letter-spacing:.5px;text-transform:uppercase}.profile__xp-value{font-size:14px;font-weight:800;color:#fbbf24;font-variant-numeric:tabular-nums}.profile__xp-bar{position:relative;height:12px;background:#0000004d;border-radius:6px;overflow:hidden}.profile__xp-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#fbbf24,#fde047);border-radius:6px;transition:width .6s var(--ease-spring);box-shadow:0 0 12px #f59e0b80}.profile__xp-marker{position:absolute;top:50%;width:18px;height:18px;background:#fff;border:2px solid #f59e0b;border-radius:50%;transform:translate(-50%,-50%);transition:left .6s var(--ease-spring);box-shadow:0 0 10px #f59e0bb3}.profile__xp-hint{font-size:12px;color:var(--text-2);text-align:center}.profile__xp-hint strong{color:#fbbf24}.profile__stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.profile__stat{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:14px;transition:transform .2s var(--ease-spring)}.profile__stat:hover{transform:translateY(-2px);background:#ffffff0d}.profile__stat--amber{border-color:#f59e0b33}.profile__stat--magic{border-color:#a855f733}.profile__stat--teal{border-color:#14b8a633}.profile__stat--coral{border-color:#fb718533}.profile__stat-icon{font-size:26px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}.profile__stat-data{display:flex;flex-direction:column;flex:1;min-width:0}.profile__stat-value{font-size:16px;font-weight:800;color:var(--text);letter-spacing:-.3px;line-height:1.1;font-variant-numeric:tabular-nums}.profile__stat-label{font-size:10px;font-weight:700;color:var(--text-3);text-transform:uppercase;letter-spacing:.5px;margin-top:4px}.profile__evolution{background:linear-gradient(140deg,#a855f71f,#a855f70a);border:1.5px solid rgba(168,85,247,.25);border-radius:16px;padding:14px 16px 18px;display:flex;flex-direction:column;gap:14px}.profile__evolution-header{display:flex;align-items:center;gap:8px}.profile__evolution-icon{font-size:18px}.profile__evolution-title{font-size:12px;font-weight:800;color:#c084fc;letter-spacing:.5px;text-transform:uppercase}.profile__evolution-row{display:flex;align-items:center;justify-content:center;gap:18px}.profile__evolution-current,.profile__evolution-next{display:flex;flex-direction:column;align-items:center;gap:6px}.profile__evolution-name{font-size:11px;font-weight:800;color:var(--text-2);letter-spacing:.3px}.profile__evolution-next .profile__evolution-name{color:#c084fc}.profile__evolution-arrow{font-size:24px;color:var(--text-3);animation:arrow-pulse 2s ease-in-out infinite}@keyframes arrow-pulse{0%,to{transform:translate(0);opacity:.6}50%{transform:translate(4px);opacity:1}}.profile__evolution-hint{font-size:12px;color:var(--text-2);text-align:center;line-height:1.5}.profile__evolution-hint strong{color:#c084fc;font-weight:800}.profile__section{display:flex;flex-direction:column;gap:12px}.profile__section-header{padding:0 4px}.profile__section-title{font-size:16px;font-weight:800;color:var(--text);letter-spacing:-.3px;margin:0 0 4px}.profile__section-sub{font-size:12px;color:var(--text-2);margin:0;line-height:1.5}.profile__modules{display:flex;flex-direction:column;gap:8px}.profile__module{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:12px;transition:all .2s var(--ease-spring)}.profile__module:hover{background:#ffffff0d;transform:translate(2px)}.profile__module--magic{border-left:4px solid #a855f7}.profile__module--coral{border-left:4px solid #fb7185}.profile__module--teal{border-left:4px solid #14b8a6}.profile__module--amber{border-left:4px solid #f59e0b}.profile__module--rose{border-left:4px solid #f43f5e}.profile__module-icon{font-size:28px;flex-shrink:0;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}.profile__module-info{flex:1;min-width:0}.profile__module-name{font-size:14px;font-weight:800;color:var(--text);letter-spacing:-.2px}.profile__module-meta{font-size:11px;color:var(--text-3);margin-top:2px;font-weight:600}.profile__spacer{height:40px}.app-shell{max-width:400px;width:100%;background:#0c0c1ce6;backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--border);box-shadow:0 30px 80px #0009,inset 0 1px #ffffff0f;position:relative;z-index:1;min-height:700px}.placeholder{padding:22px 20px;min-height:700px;display:flex;flex-direction:column;animation:step-in .5s var(--ease-spring)}.placeholder__back{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:8px 14px;font-size:12px;font-weight:700;color:var(--text-2);cursor:pointer;transition:.2s;align-self:flex-start;font-family:inherit}.placeholder__back:hover{background:var(--surface-2);color:var(--text)}.placeholder__body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 20px}.placeholder__icon{font-size:64px;margin-bottom:16px;animation:float-y 3s ease-in-out infinite}.placeholder__title{font-size:24px;font-weight:800;color:var(--text);margin-bottom:6px;letter-spacing:-.3px}.placeholder__subtitle{font-size:14px;color:var(--text-2);margin-bottom:8px;line-height:1.5}.placeholder__hint{font-size:12px;color:var(--text-3);margin-bottom:24px}.placeholder__action{background:linear-gradient(140deg,var(--accent-2),#d97706);color:#fff;border:none;border-radius:16px;padding:16px 28px;font-size:14px;font-weight:800;cursor:pointer;box-shadow:0 8px 24px #f59e0b4d;transition:all .3s var(--ease-spring);font-family:inherit}.placeholder__action:hover{transform:translateY(-2px);box-shadow:0 12px 32px #f59e0b73}@keyframes nebula{0%,to{filter:hue-rotate(0deg) brightness(1)}50%{filter:hue-rotate(15deg) brightness(1.05)}}::-moz-selection{background:var(--accent);color:var(--bg-1)}::selection{background:var(--accent);color:var(--bg-1)}.vocab-word{display:inline;padding:0 1px;margin:0;background:linear-gradient(to bottom,transparent 78%,rgba(139,92,246,.45) 78%,rgba(139,92,246,.45) 100%);border:none;font:inherit;color:#c4b5fd;cursor:pointer;border-radius:3px;transition:background .15s ease,color .15s ease}.vocab-word:hover,.vocab-word:focus-visible{background:linear-gradient(to bottom,#8b5cf62e,#8b5cf62e);color:#e0d4ff;outline:none}.vocab-word:active{background:#8b5cf659;color:#fff}@keyframes slide-up{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes toast-slide-in{0%{transform:translate(-50%,-40px) scale(.9);opacity:0}60%{transform:translate(-50%,4px) scale(1.04);opacity:1}to{transform:translate(-50%) scale(1);opacity:1}}@keyframes avatar-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes orbit-spin{0%{transform:rotate(0) translate(var(--orbit,0))}to{transform:rotate(360deg) translate(var(--orbit,0))}}@keyframes wing-flap-left{0%,to{transform:rotate(0) scaleY(1)}50%{transform:rotate(-14deg) scaleY(.9)}}@keyframes wing-flap-right{0%,to{transform:rotate(0) scaleY(1)}50%{transform:rotate(14deg) scaleY(.9)}}@keyframes flame-dance{0%{transform:scaleY(1) scaleX(1)}to{transform:scaleY(1.2) scaleX(.85)}}@keyframes rankup-burst{0%{transform:scale(.6);opacity:0}30%{transform:scale(1.15);opacity:1}to{transform:scale(1);opacity:1}}@keyframes mascot-bounce{0%{transform:scale(1)}25%{transform:scale(1.15) rotate(-6deg)}55%{transform:scale(.95) rotate(4deg)}to{transform:scale(1) rotate(0)}}@keyframes mascot-bonus-pop{0%{transform:translateY(8px) scale(.6);opacity:0}40%{transform:translateY(-2px) scale(1.1);opacity:1}to{transform:translateY(-14px) scale(1);opacity:0}}.mascot-tappable:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.cito__options{display:flex;flex-direction:column;gap:10px;margin-top:12px}.cito__option{position:relative;display:flex;align-items:flex-start;gap:14px;padding:14px 16px;min-height:44px;font-family:var(--font-body);font-size:var(--text-base);text-align:left;color:var(--text-primary);background:linear-gradient(180deg,#ffffff0d,#ffffff04),#11162673;border:1px solid var(--border-default);border-radius:var(--radius-lg);cursor:pointer;width:100%;transition:transform var(--duration-fast) var(--ease-default),border-color var(--duration-normal) var(--ease-default),background var(--duration-normal) var(--ease-default),box-shadow var(--duration-normal) var(--ease-default);box-shadow:var(--shadow-inset-top)}.cito__option:hover:not(:disabled){border-color:var(--violet-500);background:linear-gradient(180deg,#7c4dff1a,#7c4dff05),#11162673;transform:translateY(-1px);box-shadow:var(--shadow-sm),var(--shadow-inset-top)}.cito__option:active:not(:disabled){transform:scale(.99)}.cito__option:disabled{cursor:default}.cito__option.is-picked{border-color:var(--violet-400);background:linear-gradient(180deg,#7c4dff1f,#7c4dff08),#1116268c;box-shadow:var(--shadow-sm),var(--shadow-inset-top),0 0 0 1px #7c4dff66}.cito__option.is-correct-reveal{border-color:var(--emerald-500);background:linear-gradient(180deg,#10b9811f,#10b98108),#1116268c;box-shadow:var(--shadow-sm),var(--shadow-inset-top),0 0 0 1px #10b98173}.cito__option.is-wrong-reveal{border-color:var(--rose-500);background:linear-gradient(180deg,#f43f5e1f,#f43f5e08),#1116268c;box-shadow:var(--shadow-sm),var(--shadow-inset-top),0 0 0 1px #f43f5e73}.cito__option.is-fade{opacity:.45;filter:grayscale(.3)}.cito__option-letter{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-sm);transition:all var(--duration-normal) var(--ease-default);margin-top:1px}.cito__option.is-picked .cito__option-letter,.cito__option:hover:not(:disabled) .cito__option-letter{color:var(--violet-300);background:#7c4dff29;border-color:var(--violet-500)}.cito__option.is-correct-reveal .cito__option-letter{color:var(--emerald-300);background:#10b9812e;border-color:var(--emerald-500)}.cito__option.is-wrong-reveal .cito__option-letter{color:var(--rose-300);background:#f43f5e2e;border-color:var(--rose-500)}.cito__option-text{flex:1;line-height:var(--leading-snug);font-size:var(--text-base);word-break:break-word;overflow-wrap:break-word}.cito__option-mark{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:16px;border-radius:var(--radius-full);animation:number-pop var(--duration-medium) var(--ease-spring) both}.cito__option.is-correct-reveal .cito__option-mark{background:var(--emerald-500);color:#fff;box-shadow:0 0 16px #10b9818c}.cito__option.is-wrong-reveal .cito__option-mark{background:var(--rose-500);color:#fff;box-shadow:0 0 16px #f43f5e8c}.cito__feedback{margin-top:14px;padding:14px 16px;border-radius:var(--radius-lg);font-size:var(--text-sm);line-height:var(--leading-normal);animation:number-pop var(--duration-medium) var(--ease-spring) both;border:1px solid var(--border-default)}.cito__feedback--correct{background:linear-gradient(180deg,#10b9811a,#10b98105),#1116268c;border-color:#10b9814d;box-shadow:var(--shadow-sm),var(--shadow-inset-top)}.cito__feedback--wrong{background:linear-gradient(180deg,#f43f5e1a,#f43f5e05),#1116268c;border-color:#f43f5e4d;box-shadow:var(--shadow-sm),var(--shadow-inset-top)}.cito__expl-label{font-family:var(--font-body);font-size:10px;font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--text-muted);margin-bottom:6px}.cito__expl-text{color:var(--text-primary);font-size:var(--text-sm);line-height:var(--leading-normal)}.cito__expl-skill{margin-top:8px;font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}.cito__skill-label{font-weight:var(--weight-semibold);color:var(--violet-300)}.lesson__cta{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:14px 22px;min-height:44px;font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-sm);letter-spacing:var(--tracking-tight);color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;transition:transform var(--duration-fast) var(--ease-default),background var(--duration-normal) var(--ease-default),box-shadow var(--duration-normal) var(--ease-default),border-color var(--duration-normal) var(--ease-default)}.lesson__cta:hover:not(:disabled){background:var(--bg-raised);border-color:var(--border-strong)}.lesson__cta:active:not(:disabled){transform:scale(.97)}.lesson__cta:disabled{opacity:.4;cursor:not-allowed}.lesson__cta--primary{background:linear-gradient(180deg,var(--violet-400) 0%,var(--violet-600) 100%);color:var(--text-on-accent);border-color:var(--violet-700);box-shadow:var(--shadow-sm),var(--shadow-inset-strong)}.lesson__cta--primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md),var(--shadow-inset-strong),var(--glow-violet)}.cito__progress{display:flex;flex-direction:column;gap:6px;margin-bottom:4px}.cito__progress-info{display:flex;justify-content:space-between;align-items:center;min-height:20px}.cito__q-num{font-size:12px;font-weight:600;color:var(--text-secondary);white-space:nowrap}.cito__score{font-size:12px;font-weight:700;color:var(--text-primary);white-space:nowrap}.cito__progress-bar,.lesson__progress{height:6px;background:var(--bg-elevated);border-radius:var(--radius-full);overflow:hidden;box-shadow:var(--shadow-inset-top)}.cito__progress-fill,.lesson__progress-fill{height:100%;background:linear-gradient(90deg,var(--violet-500),var(--violet-400));border-radius:var(--radius-full);box-shadow:0 0 8px #7c4dff80;transition:width var(--duration-medium) var(--ease-default)}.concept-card,.theorie-card{background:linear-gradient(180deg,#ffffff0d,#ffffff04),#1116268c;border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:20px;box-shadow:var(--shadow-md),var(--shadow-inset-top);transition:all var(--duration-normal) var(--ease-default)}.reward__card,.lesson__reward{background:linear-gradient(180deg,#f59e0b1a,#f59e0b05),#111626a6;border:1px solid rgba(245,158,11,.3);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl),var(--shadow-inset-top),0 0 80px #f59e0b26}.section-title,.dql-section-title{font-family:var(--font-display);font-size:var(--text-md);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);color:var(--text-primary)}.section-label{font-family:var(--font-body);font-size:10px;font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--text-muted)}.animate-screen{animation:screen-fade-premium var(--duration-medium) var(--ease-out-soft) backwards}@keyframes screen-fade-premium{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.bottom-nav__item:focus-visible{outline:2px solid var(--violet-400);outline-offset:-4px;border-radius:var(--radius-md)}@media (max-width: 320px){.bottom-nav__label{font-size:9px!important;letter-spacing:0!important}}.lesson-tile{background:linear-gradient(180deg,#ffffff0a,#ffffff03),#1116268c;border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm),var(--shadow-inset-top)}.lesson-tile:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md),var(--shadow-inset-top),var(--glow-violet)}.toggle-switch{position:relative;width:44px;height:24px;background:var(--bg-raised);border:1px solid var(--border-default);border-radius:var(--radius-full);cursor:pointer;transition:all var(--duration-normal) var(--ease-default)}.toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;background:var(--text-secondary);border-radius:var(--radius-full);transition:all var(--duration-normal) var(--ease-default)}.toggle-switch.is-on{background:linear-gradient(180deg,var(--violet-400),var(--violet-600));border-color:var(--violet-500);box-shadow:var(--glow-violet)}.toggle-switch.is-on:after{left:22px;background:#fff}.achievement-tile{background:linear-gradient(180deg,#ffffff0d,#ffffff04),#1116268c;border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm),var(--shadow-inset-top);transition:all var(--duration-normal) var(--ease-default)}.achievement-tile--earned{border-color:#f59e0b66;background:linear-gradient(180deg,#f59e0b1a,#f59e0b05),#1116268c;box-shadow:var(--shadow-md),var(--shadow-inset-strong),var(--glow-amber)}.modal-overlay{background:#050810b8;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.modal-card{background:linear-gradient(180deg,#ffffff0f,#ffffff04),#111626eb;border:1px solid var(--border-strong);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl),var(--shadow-inset-top),0 0 80px #7c4dff1f}.bubble,.lesson__bubble{background:linear-gradient(180deg,#7c4dff1a,#7c4dff05),#1116268c;border:1px solid rgba(124,77,255,.25);border-radius:var(--radius-lg);padding:12px 16px;font-family:var(--font-body);font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--text-primary);box-shadow:var(--shadow-sm),var(--shadow-inset-top)}.font-display{font-family:var(--font-display)}.font-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.tabular-nums,.stat-number,.xp-number,.streak-number{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:var(--tracking-tight)}::-moz-selection{background:var(--violet-500);color:#fff}::selection{background:var(--violet-500);color:#fff}.spark-burst,.pburst,.confetti-layer,.crown-burst{pointer-events:none;z-index:30}.flash-red,.flash-green{pointer-events:none;z-index:5}.cito__option,.cito__option-letter{transition:transform var(--duration-fast) var(--ease-default),border-color var(--duration-medium) var(--ease-default),background var(--duration-medium) var(--ease-default),box-shadow var(--duration-medium) var(--ease-default),color var(--duration-medium) var(--ease-default)}.cito__text-section.reading-theme--dark{--rt-bg: #0f172a;--rt-bg-header: rgba(255, 255, 255, .04);--rt-bg-control: rgba(255, 255, 255, .06);--rt-bg-control-active: rgba(124, 77, 255, .2);--rt-text: rgba(255, 255, 255, .92);--rt-text-mute: rgba(255, 255, 255, .55);--rt-text-faint: rgba(255, 255, 255, .55);--rt-strong: rgba(255, 255, 255, .98);--rt-em: rgba(255, 255, 255, .65);--rt-border: rgba(255, 255, 255, .1);--rt-border-soft: rgba(255, 255, 255, .06);--rt-title: var(--amber-300);--rt-highlight: rgba(245, 158, 11, .32);--rt-vocab-line: rgba(255, 255, 255, .32);--rt-vocab-hover-bg: rgba(245, 158, 11, .16);--rt-vocab-hover-line: var(--amber-400);--rt-inset-top: rgba(255, 255, 255, .06)}.cito__text-section.reading-theme--light{--rt-bg: #fbf7f0;--rt-bg-header: rgba(0, 0, 0, .03);--rt-bg-control: rgba(0, 0, 0, .04);--rt-bg-control-active: #ffffff;--rt-text: #1a1a1a;--rt-text-mute: #555555;--rt-text-faint: rgba(0, 0, 0, .55);--rt-strong: #1a1a1a;--rt-em: #4a4a4a;--rt-border: rgba(0, 0, 0, .12);--rt-border-soft: rgba(0, 0, 0, .07);--rt-title: #b45309;--rt-highlight: rgba(245, 158, 11, .32);--rt-vocab-line: rgba(0, 0, 0, .35);--rt-vocab-hover-bg: rgba(245, 158, 11, .15);--rt-vocab-hover-line: #d97706;--rt-inset-top: rgba(255, 255, 255, .5)}.cito__text-section.reading-theme--sepia{--rt-bg: #f4ecd8;--rt-bg-header: rgba(60, 40, 20, .06);--rt-bg-control: rgba(60, 40, 20, .08);--rt-bg-control-active: #ffffff;--rt-text: #3d3528;--rt-text-mute: #6b5e44;--rt-text-faint: rgba(60, 40, 20, .6);--rt-strong: #2a2218;--rt-em: #5a4d33;--rt-border: rgba(60, 40, 20, .18);--rt-border-soft: rgba(60, 40, 20, .1);--rt-title: #92400e;--rt-highlight: rgba(217, 119, 6, .28);--rt-vocab-line: rgba(60, 40, 20, .4);--rt-vocab-hover-bg: rgba(217, 119, 6, .14);--rt-vocab-hover-line: #92400e;--rt-inset-top: rgba(255, 248, 220, .4)}.cito__text-section{background:var(--rt-bg, var(--bg-elevated))!important;border:1px solid var(--rt-border, var(--border-default))!important;border-radius:var(--radius-xl)!important;box-shadow:var(--shadow-md),inset 0 1px 0 var(--rt-inset-top, rgba(255,255,255,.08))!important;overflow:hidden;transition:background .22s var(--ease-default),border-color .22s var(--ease-default)}.cito__text-header{display:flex!important;align-items:center!important;gap:8px!important;padding:10px 12px!important;background:var(--rt-bg-header)!important;border-bottom:1px solid var(--rt-border-soft)!important;flex-wrap:nowrap!important}.cito__text-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-display)!important;font-size:14px!important;font-weight:600!important;letter-spacing:-.01em!important;color:var(--rt-text)!important}.reading-controls{flex-shrink:0}.cito__text-toggle{width:30px;height:30px;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:600;background:var(--rt-bg-control);border:1px solid var(--rt-border-soft);border-radius:8px;color:var(--rt-text-mute);cursor:pointer;transition:all .18s var(--ease-default)}.cito__text-toggle:hover{background:var(--rt-bg-header);border-color:var(--rt-border);color:var(--rt-text)}.reading-controls{display:flex;gap:2px;padding:2px;background:var(--rt-bg-control);border:1px solid var(--rt-border-soft);border-radius:8px}.reading-controls button{width:26px;height:26px;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:600;background:transparent;border:none;border-radius:6px;color:var(--rt-text-mute);cursor:pointer;transition:all .18s var(--ease-default)}.reading-controls button:hover{background:var(--rt-bg-header);color:var(--rt-text)}.reading-controls button.is-active{background:var(--rt-bg-control-active);color:var(--rt-text);box-shadow:var(--shadow-xs)}.reading-controls button:nth-child(1){font-size:10px}.reading-controls button:nth-child(2){font-size:12px}.reading-controls button:nth-child(3){font-size:14px}.cito__text-body{padding:22px 24px!important;background:transparent!important;font-family:var(--font-reading)!important;color:var(--rt-text)!important;font-feature-settings:"liga","kern";font-size:16px;line-height:1.75;letter-spacing:.005em}.cito__text-body.reading--sm{font-size:14px;line-height:1.7}.cito__text-body.reading--md{font-size:16px;line-height:1.75}.cito__text-body.reading--lg{font-size:18px;line-height:1.8}.cito__text-body.reading--xl{font-size:20px;line-height:1.85}html.app--dyslexia body,html.app--dyslexia h1,html.app--dyslexia h2,html.app--dyslexia h3,html.app--dyslexia h4,html.app--dyslexia h5,html.app--dyslexia h6,html.app--dyslexia p,html.app--dyslexia span,html.app--dyslexia li,html.app--dyslexia button,html.app--dyslexia label,html.app--dyslexia input,html.app--dyslexia a,html.app--dyslexia div{font-family:Atkinson Hyperlegible,Lexend,system-ui,sans-serif!important;letter-spacing:.03em;word-spacing:.08em}html.app--dyslexia svg text{font-family:Atkinson Hyperlegible,Lexend,system-ui,sans-serif!important}html.app--dyslexia p,html.app--dyslexia li,html.app--dyslexia .cito__text-body{line-height:1.9}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.img-skeleton{background:linear-gradient(90deg,#ffffff0a 25%,#ffffff1a,#ffffff0a 75%);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite}.cito__text-body.reading--dyslexia{font-family:Atkinson Hyperlegible,Lexend,Georgia,serif!important;letter-spacing:.035em;word-spacing:.1em;line-height:1.9}.cito__text-body .cito__line{display:grid!important;grid-template-columns:36px 1fr!important;gap:12px!important;padding:0!important;margin:0!important;align-items:baseline}.cito__text-body .cito__line+.cito__line{margin-top:2px!important}.cito__text-body .cito__line-num{font-family:var(--font-mono)!important;font-size:12px!important;font-variant-numeric:tabular-nums;color:var(--rt-text-faint)!important;text-align:right;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding-top:3px;border-right:1px solid var(--rt-border-soft);padding-right:8px}.cito__text-body .cito__line-text{color:var(--rt-text)!important;font-family:var(--font-reading)!important}.cito__text-body .cito__line--blank{min-height:14px}.cito__text-body .cito__line--blank .cito__line-num,.cito__text-body .cito__line--blank .cito__line-text{border-right:none!important}.cito__text-body .cito__line--title{margin-top:18px!important;margin-bottom:4px!important}.cito__text-body .cito__line--title .cito__line-num{border-right:none!important}.cito__text-body .cito__line--title .cito__line-text{font-family:var(--font-display)!important;font-size:1.05em;font-weight:700;letter-spacing:-.01em;color:var(--rt-title)}.cito__text-body .cito__line-text strong{font-weight:700;color:var(--rt-strong);background:linear-gradient(180deg,transparent 65%,var(--rt-highlight) 65%);padding:0 1px}.cito__text-body .cito__line-text em{font-style:italic;color:var(--rt-em)}.cito__text-body .vocab-word{font-family:inherit!important;color:var(--rt-text)!important;border-bottom:1px dashed var(--rt-vocab-line)!important;background:transparent!important;cursor:pointer;padding:0!important;transition:all .18s var(--ease-default)}.cito__text-body .vocab-word:hover{background:var(--rt-vocab-hover-bg)!important;border-bottom-color:var(--rt-vocab-hover-line)!important;border-bottom-style:solid!important}.cito__text-body::-webkit-scrollbar-thumb{background:var(--rt-border)!important}.reading-footer{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;background:var(--rt-bg-header);border-top:1px solid var(--rt-border-soft);font-family:var(--font-body);font-size:11px;color:var(--rt-text-mute)}.dragqa{display:flex;flex-direction:column;gap:16px;padding:8px 0}.dragqa__question-wrap{background:var(--bg-2);border:1.5px solid var(--border-1);border-radius:16px;padding:20px 18px;text-align:center}.dragqa__sentence{font-size:clamp(1rem,3.5vw,1.25rem);font-weight:500;line-height:1.7;color:var(--text-1);margin:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px}.dragqa__text{color:var(--text-1)}.dragqa__blank{display:inline-flex;align-items:center;justify-content:center;min-width:72px;padding:4px 14px;border-radius:8px;border:2.5px dashed var(--border-2);background:var(--bg-3);font-size:clamp(1rem,3.5vw,1.2rem);font-weight:700;color:var(--text-2);letter-spacing:.02em;transition:all .2s ease}.dragqa__blank.is-correct{border-color:var(--green);background:color-mix(in srgb,var(--green) 15%,transparent);color:var(--green)}.dragqa__blank.is-wrong{border-color:var(--red);background:color-mix(in srgb,var(--red) 15%,transparent);color:var(--red)}.dragqa__hint{margin:10px 0 0;font-size:.82rem;color:var(--text-3);font-style:italic}.dragqa__feedback{border-radius:12px;padding:12px 16px;font-size:.9rem;line-height:1.5;border:1.5px solid transparent}.dragqa__feedback.is-correct{background:color-mix(in srgb,var(--green) 12%,transparent);border-color:color-mix(in srgb,var(--green) 30%,transparent);color:var(--text-1)}.dragqa__feedback.is-wrong{background:color-mix(in srgb,var(--red) 10%,transparent);border-color:color-mix(in srgb,var(--red) 25%,transparent);color:var(--text-1)}.dragqa__bank{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;padding:16px;background:var(--bg-2);border-radius:14px;border:1.5px solid var(--border-1)}.dragqa__chip{padding:10px 22px;border-radius:50px;border:2px solid var(--magic);background:color-mix(in srgb,var(--magic) 10%,var(--bg-1));color:var(--magic);font-size:1.05rem;font-weight:700;font-family:var(--font-body);cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .12s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.dragqa__chip:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 4px 12px color-mix(in srgb,var(--magic) 30%,transparent);background:color-mix(in srgb,var(--magic) 20%,var(--bg-1))}.dragqa__chip:not(:disabled):active{transform:scale(.96)}.dragqa__chip:disabled{opacity:.4;cursor:not-allowed}.theorie-images{display:flex;flex-direction:column;gap:10px;padding:0;min-height:calc(100vh - 160px)}.slide-carousel{width:100%;position:relative;overflow:hidden;display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.slide-carousel__track{display:flex;width:100%;height:clamp(240px,60vh,800px);overflow-x:scroll;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-snap-stop:always;-webkit-overflow-scrolling:touch;scrollbar-width:none;touch-action:pan-x}.slide-carousel__track::-webkit-scrollbar{display:none}.slide-carousel__slide{width:100%;min-width:100%;flex:0 0 100%;height:100%;scroll-snap-align:center;scroll-snap-stop:always;display:flex;justify-content:center;align-items:center;box-sizing:border-box;padding:0 6px}.slide-carousel__img{width:auto;height:auto;max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain;border-radius:10px;display:block;cursor:pointer;-moz-user-select:none;user-select:none;-webkit-user-select:none;background:transparent}@media (min-width: 900px){.slide-carousel__track{height:clamp(480px,75vh,900px)}}@media (max-width: 380px){.slide-carousel__track{height:clamp(200px,55vh,600px)}}.slide-carousel__dots{display:flex;justify-content:center;gap:8px;margin-top:12px}.slide-carousel__dot{width:9px;height:9px;border-radius:50%;background:var(--border-2, #cbd5e1);transition:background .2s,width .2s;cursor:pointer}.slide-carousel__dot.is-active{background:var(--magic, #7c3aed);width:24px;border-radius:5px}.slide-carousel__hint{text-align:center;font-size:12px;color:var(--text-3, #94a3b8);margin-top:8px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.slide-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#000000f0;touch-action:pan-x}.slide-fullscreen__track{width:100%;height:100vh;display:flex;overflow-x:scroll;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-snap-stop:always;-webkit-overflow-scrolling:touch;scrollbar-width:none;touch-action:pan-x}.slide-fullscreen__track::-webkit-scrollbar{display:none}.slide-fullscreen__slide{flex:0 0 100%;width:100%;min-width:100%;height:100vh;scroll-snap-align:center;scroll-snap-stop:always;display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:10px}.slide-fullscreen__img{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain;display:block;-moz-user-select:none;user-select:none;-webkit-user-select:none}.slide-fullscreen__hint{position:fixed;bottom:16px;left:0;right:0;text-align:center;color:#ffffffd1;font-size:13px;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;z-index:10000}.slide-carousel__fs-btn{position:absolute;top:8px;right:8px;z-index:5;width:38px;height:38px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:#0f172a8c;color:#fff;font-size:18px;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.slide-carousel__fs-btn:active{background:#0f172ad9}.slide-fullscreen__nav{position:fixed;top:50%;transform:translateY(-50%);z-index:10000;width:52px;height:52px;border-radius:50%;border:none;background:#ffffff29;color:#fff;font-size:30px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.slide-fullscreen__nav--prev{left:max(8px,env(safe-area-inset-left,8px))}.slide-fullscreen__nav--next{right:max(8px,env(safe-area-inset-right,8px))}@media (max-width: 380px){.slide-fullscreen__nav{width:40px;height:40px;font-size:22px}}.slide-fullscreen__nav:active{background:#ffffff57}@media print{*{background:#fff!important;color:#111!important;box-shadow:none!important;text-shadow:none!important}body{font-family:Georgia,serif}nav,.bottom-nav,.dql-btn-primary,.dql-btn-ghost,.btn3d,.reward__glow,.confetti-layer,.mage-ev__aura,[class*=animate-],[class*=particle]{display:none!important}.dql-card{border:1px solid #ccc!important;border-radius:0!important}.metric__value{font-size:20pt!important}}@media (max-width: 380px){.dsort__zones--3{grid-template-columns:1fr}.dsort__zones--2{grid-template-columns:1fr 1fr}}@media (orientation: landscape) and (max-height: 500px){.cito__text-section{max-width:100%!important}.cito__options{max-width:100%}.dsort__bank{flex-direction:row;flex-wrap:wrap}.dsort{flex-direction:row;align-items:flex-start;gap:8px}.dsort__zones{flex:1}.dragqa{flex-direction:column}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}html.app--tier-jong{--text-xs: 13px;--text-sm: 15px;--text-base: 17px}html.app--tier-midden{--text-xs: 12px;--text-sm: 14px}.slide-fullscreen__close{position:fixed;top:14px;right:14px;background:#ffffff2e;border:none;color:#fff;font-size:20px;line-height:1;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:10000}.slide-fullscreen__close:active{background:#ffffff59}.banner--rose{background:linear-gradient(135deg,#fb71851f,#e11d4814)}.theorie__card--rose{border-color:#fb71854d;background:linear-gradient(160deg,#fb718514,#e11d480a)}.theorie__card--rose:before{background:linear-gradient(90deg,#fb7185,#e11d48)}.fungal__card--rose{border-color:#fb71854d}.lbox__placeholder--rose{background:linear-gradient(140deg,#fb718526,#e11d4814);border-color:#fb718566}.banner--sky{background:linear-gradient(135deg,#38bdf81f,#0284c714)}.theorie__card--sky{border-color:#38bdf84d;background:linear-gradient(160deg,#38bdf814,#0284c70a)}.theorie__card--sky:before{background:linear-gradient(90deg,#38bdf8,#0284c7)}.fungal__card--sky{border-color:#38bdf84d}.lbox__placeholder--sky{background:linear-gradient(140deg,#38bdf826,#0284c714);border-color:#38bdf866}.banner--violet{background:linear-gradient(135deg,#8b5cf61f,#6d28d914)}.theorie__card--violet{border-color:#8b5cf64d;background:linear-gradient(160deg,#8b5cf614,#6d28d90a)}.theorie__card--violet:before{background:linear-gradient(90deg,#8b5cf6,#6d28d9)}.fungal__card--violet{border-color:#8b5cf64d}.lbox__placeholder--violet{background:linear-gradient(140deg,#8b5cf626,#6d28d914);border-color:#8b5cf666}.banner--indigo{background:linear-gradient(135deg,#6366f11f,#4338ca14)}.theorie__card--indigo{border-color:#6366f14d;background:linear-gradient(160deg,#6366f114,#4338ca0a)}.theorie__card--indigo:before{background:linear-gradient(90deg,#6366f1,#4338ca)}.fungal__card--indigo{border-color:#6366f14d}.lbox__placeholder--indigo{background:linear-gradient(140deg,#6366f126,#4338ca14);border-color:#6366f166}.banner--green{background:linear-gradient(135deg,#34d3991f,#05966914)}.theorie__card--green{border-color:#34d3994d;background:linear-gradient(160deg,#34d39914,#0596690a)}.theorie__card--green:before{background:linear-gradient(90deg,#34d399,#059669)}.fungal__card--green{border-color:#34d3994d}.lbox__placeholder--green{background:linear-gradient(140deg,#34d39926,#05966914);border-color:#34d39966}.banner--pink{background:linear-gradient(135deg,#f472b61f,#db277714)}.theorie__card--pink{border-color:#f472b64d;background:linear-gradient(160deg,#f472b614,#db27770a)}.theorie__card--pink:before{background:linear-gradient(90deg,#f472b6,#db2777)}.fungal__card--pink{border-color:#f472b64d}.lbox__placeholder--pink{background:linear-gradient(140deg,#f472b626,#db277714);border-color:#f472b666}@media (forced-colors: active){.dql-btn-primary,.dql-btn-ghost,.lesson-tile,.cito__option,.theorie__card,.dragqa__chip,.dsort__zone,.dql-card,.rule-card{border:1px solid CanvasText}.cito__option.is-correct-reveal{outline:2px solid Highlight;outline-offset:1px}.cito__option.is-wrong-reveal{outline:2px dashed CanvasText;outline-offset:1px}*:focus-visible{outline:2px solid Highlight!important;outline-offset:2px}}@media (prefers-contrast: more){:root,.app--dyslexia{--text-2: rgba(255,255,255,.88);--text-3: rgba(255,255,255,.72)}}.ws{display:flex;flex-direction:column;gap:12px;padding:16px 12px 20px;min-height:100%;box-sizing:border-box}.ws__dots{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;padding:0 4px}.ws__dot{width:10px;height:10px;border-radius:50%;border:none;padding:0;cursor:pointer;background:#e2e8f0;transition:background .2s,transform .2s}.ws__dot.is-active{background:var(--violet-500,#8b5cf6);transform:scale(1.25)}.ws__dot.is-done{background:#a3e635}.ws__card{background:#fff;border-radius:18px;box-shadow:0 2px 20px #00000014;overflow:hidden;display:flex;flex-direction:column;gap:0;animation:ws-card-enter .26s cubic-bezier(.34,1.56,.64,1) both}@keyframes ws-card-enter{0%{opacity:0;transform:translate(40px) scale(.97)}to{opacity:1;transform:none}}.ws__card--prev{animation-name:ws-card-enter-prev}@keyframes ws-card-enter-prev{0%{opacity:0;transform:translate(-40px) scale(.97)}to{opacity:1;transform:none}}.ws__forms{display:flex;justify-content:center;gap:6px;padding:14px 12px 0;flex-wrap:wrap}.ws__form-pill{display:inline-flex;align-items:baseline;gap:1px;padding:5px 10px;border-radius:999px;font-family:monospace;font-size:15px;font-weight:700;letter-spacing:.3px}.ws__form-before,.ws__form-after{color:#64748b}.ws__form-kern{font-size:17px;font-weight:900;text-transform:uppercase}.ws__title{margin:6px 14px 4px;font-size:13px;color:#94a3b8;font-weight:500;text-align:center;letter-spacing:.2px}.ws__zinnen{display:flex;flex-direction:column;gap:10px;padding:10px 12px 0}.ws__zin-card{--ws-card-accent:#0ea5e9;--ws-card-shadow:#0284c7;--ws-card-border:#bae6fd;border:2px solid var(--ws-card-border);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;background:#fff;box-shadow:0 3px 0 var(--ws-card-shadow),0 6px 16px #00000012;transition:transform .15s ease}.ws__zin-card:active{transform:scale(.985)}.ws__zin-band{height:4px;width:100%;background:var(--ws-card-accent);flex-shrink:0}.ws__zin-img-wrap{position:relative;width:100%;background:color-mix(in srgb,var(--ws-card-accent) 12%,#fff);display:flex;align-items:center;justify-content:center;padding:10px 10px 0;box-sizing:border-box;min-height:120px}.ws__svg{width:100%;height:auto;max-width:296px;aspect-ratio:148/88;display:block;border-radius:8px;-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 1px 4px rgba(0,0,0,.07))}.ws__tag{position:absolute;top:8px;left:8px;font-size:10px;font-weight:800;letter-spacing:.8px;padding:3px 10px;border-radius:999px;z-index:1;background:var(--ws-card-accent);color:#fff;box-shadow:0 2px 6px #0000002e;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ws__zin-body{padding:8px 12px 12px}.ws__zin-text{margin:0;font-size:13.5px;line-height:1.55;color:#1e293b}.ws__verb{background:#fef08a;color:#92400e;padding:1px 3px;border-radius:4px;font-weight:700}.ws__feit{display:flex;gap:10px;align-items:flex-start;background:#f0fdf4;border:1.5px solid #bbf7d0;border-radius:12px;padding:12px;margin:10px 12px 0}.ws__feit-icon{font-size:20px;flex-shrink:0;margin-top:1px}.ws__feit-text{margin:0;font-size:13px;line-height:1.55;color:#166534;font-style:italic}.ws__nav{display:flex;align-items:center;justify-content:space-between;padding:14px 12px 4px;gap:8px}.ws__nav-btn{border:none;border-radius:12px;padding:10px 22px;font-size:15px;font-weight:700;cursor:pointer;transition:opacity .15s,transform .1s;background:#f1f5f9;color:#334155}.ws__nav-btn:disabled{opacity:.3;pointer-events:none}.ws__nav-btn--next{background:var(--violet-500,#8b5cf6);color:#fff}.ws__nav-btn--done{background:#16a34a;color:#fff;padding:10px 28px}.ws__nav-btn:active{transform:scale(.96)}.ws__counter{font-size:13px;font-weight:600;color:#94a3b8}@media (min-width:480px){.ws{padding:20px 20px 24px}.ws__svg{max-width:340px}.ws__zin-text{font-size:14.5px}.ws__form-pill{font-size:16px}.ws__form-kern{font-size:19px}.ws__zin-img-wrap{min-height:150px;padding:12px 12px 0}}@media (prefers-reduced-motion:reduce){.ws__card,.ws__card--prev{animation:none}.ws__nav-btn,.ws__zin-card{transition:none}}.app--dyslexia .ws__zin-text,.app--dyslexia .ws__feit-text{letter-spacing:.04em;word-spacing:.12em}.voc{display:flex;flex-direction:column;gap:12px;padding:16px 12px 20px;min-height:100%;box-sizing:border-box}.voc__dots{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;padding:0 4px}.voc__dot{width:10px;height:10px;border-radius:50%;border:none;padding:0;cursor:pointer;background:#e2e8f0;transition:background .2s,transform .2s}.voc__dot.is-active{background:var(--voc-accent,#8b5cf6);transform:scale(1.25)}.voc__dot.is-done{background:#a3e635}.voc__card{background:#fff;border-radius:20px;box-shadow:0 2px 0 var(--voc-shadow,#7c3aed),0 4px 24px #00000014;border:2px solid var(--voc-border,#ddd6fe);overflow:hidden;display:flex;flex-direction:column;gap:0;animation:voc-enter .26s cubic-bezier(.34,1.56,.64,1) both}@keyframes voc-enter{0%{opacity:0;transform:translate(44px) scale(.97)}to{opacity:1;transform:none}}.voc__card--prev{animation-name:voc-enter-prev}@keyframes voc-enter-prev{0%{opacity:0;transform:translate(-44px) scale(.97)}to{opacity:1;transform:none}}.voc__hero{width:100%;background:var(--voc-hero,rgba(139,92,246,.1));display:flex;align-items:center;justify-content:center;padding:24px 16px 20px;box-sizing:border-box}.voc__emoji{font-size:68px;line-height:1;filter:drop-shadow(0 4px 8px rgba(0,0,0,.12));display:block}.voc__word-block{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 16px 6px}.voc__word{margin:0;font-size:30px;font-weight:900;color:#1e293b;text-align:center;letter-spacing:-.5px;line-height:1.1}.voc__viz{font-size:22px;letter-spacing:5px;text-align:center;padding:2px 0 4px;line-height:1.2;opacity:.9}.voc__chip{display:inline-block;max-width:94%;font-size:13px;font-weight:600;line-height:1.35;text-align:center;color:var(--voc-shadow,#7c3aed);background:var(--voc-hero,rgba(139,92,246,.1));border:1.5px solid var(--voc-border,#ddd6fe);padding:6px 14px;border-radius:14px}.voc__zin-wrap{padding:10px 16px 14px;border-top:1.5px solid var(--voc-border,#ddd6fe);margin-top:6px}.voc__zin{margin:0;font-size:14px;line-height:1.65;color:#1e293b}.voc__highlight{background:#fef08a;color:#92400e;padding:0 3px;border-radius:4px;font-weight:700;font-style:normal}.voc__vraag-wrap{padding:12px 16px 6px;border-top:1.5px solid var(--voc-border,#ddd6fe);margin-top:6px}.voc__vraag{margin:0;font-size:15px;line-height:1.6;color:#1e293b;font-weight:600}.voc__reveal-btn{margin:8px 12px 16px;padding:13px 16px;border:2px dashed var(--voc-accent,#8b5cf6);background:var(--voc-hero,rgba(139,92,246,.1));color:var(--voc-shadow,#7c3aed);border-radius:14px;font-size:15px;font-weight:800;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;transition:transform .1s,background .15s}.voc__reveal-btn:active{transform:scale(.97)}.voc__reveal-hint{font-size:11px;font-weight:600;opacity:.7;text-transform:none;letter-spacing:0}.voc__antwoord{margin:8px 12px 16px;padding:14px;background:#fffbeb;border:1.5px solid #fde68a;border-radius:14px;animation:voc-reveal .32s cubic-bezier(.34,1.56,.64,1) both}@keyframes voc-reveal{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}.voc__antwoord-badge{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:#92400e;background:#fde68a;padding:3px 10px;border-radius:999px;margin-bottom:8px}.voc__antwoord-text{margin:0;font-size:13.5px;line-height:1.65;color:#92400e}.voc__feit{display:flex;gap:10px;align-items:flex-start;background:#fffbeb;border:1.5px solid #fde68a;border-radius:12px;padding:12px 14px;margin:0 12px 14px}.voc__feit-icon{font-size:20px;flex-shrink:0;margin-top:1px}.voc__feit-text{margin:0;font-size:12.5px;line-height:1.6;color:#92400e;font-style:italic}.voc__nav{display:flex;align-items:center;justify-content:space-between;padding:8px 12px 4px;gap:8px}.voc__nav-btn{border:none;border-radius:12px;padding:10px 22px;font-size:15px;font-weight:700;cursor:pointer;transition:opacity .15s,transform .1s;background:#f1f5f9;color:#334155}.voc__nav-btn:disabled{opacity:.3;pointer-events:none}.voc__nav-btn--next,.voc__nav-btn--done{background:var(--voc-accent,#8b5cf6);color:#fff}.voc__nav-btn--done{padding:10px 28px;background:#16a34a}.voc__nav-btn:active{transform:scale(.96)}.voc__counter{font-size:13px;font-weight:600;color:#94a3b8}@media (min-width:480px){.voc{padding:20px 20px 24px}.voc__word{font-size:34px}.voc__zin{font-size:15px}.voc__emoji{font-size:80px}}@media (prefers-reduced-motion:reduce){.voc__card,.voc__card--prev{animation:none}}.app--dyslexia .voc__zin,.app--dyslexia .voc__feit-text,.app--dyslexia .voc__vraag,.app--dyslexia .voc__antwoord-text{letter-spacing:.04em;word-spacing:.12em}@media (prefers-reduced-motion:reduce){.voc__antwoord{animation:none}}.cito__option:focus-visible,.dragqa__chip:focus-visible,.dsort__chip:focus-visible,.theorie__nav-btn:focus-visible,.tap-sentence:focus-visible{outline:3px solid var(--violet-400, #a78bfa);outline-offset:2px;border-radius:10px}.premium-surface{position:relative;border:0;border-radius:var(--radius-xl);background:linear-gradient(180deg,#ffffff0d,#ffffff04),#111626b8;-webkit-backdrop-filter:blur(22px) saturate(140%);backdrop-filter:blur(22px) saturate(140%);box-shadow:var(--shadow-xl),var(--shadow-inset-top);isolation:isolate}.premium-surface--pill{border-radius:var(--radius-lg)}.premium-surface:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;pointer-events:none;z-index:1;background:linear-gradient(180deg,#ffffff3d,#ffffff14 38%,#ffffff0a);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.premium-surface--amber{background:linear-gradient(180deg,#f59e0b21,#f59e0b08),#111626cc}.premium-surface--emerald{background:linear-gradient(180deg,#10b98121,#10b98108),#111626cc}.premium-surface--violet{background:linear-gradient(180deg,#7c4dff24,#7c4dff08),#111626cc}.premium-surface--rose{background:linear-gradient(180deg,#fffffff0,#ffeef6f5)}.premium-surface--rose:before{background:linear-gradient(180deg,#ffffffe6,#ec48992e 60%,#be185d24)}.premium-surface--amber.premium-surface:before{background:linear-gradient(180deg,#fcd34d8c,#f59e0b24 42%,#f59e0b0d)}.premium-surface--emerald.premium-surface:before{background:linear-gradient(180deg,#6ee7b780,#10b98124 42%,#10b9810d)}.premium-surface--violet.premium-surface:before{background:linear-gradient(180deg,#b6a0ff8c,#7c4dff29 42%,#7c4dff0d)}.premium-glow--violet{box-shadow:var(--shadow-xl),var(--shadow-inset-top),0 0 44px #7c4dff4d}.premium-glow--amber{box-shadow:var(--shadow-xl),var(--shadow-inset-top),0 0 44px #f59e0b47}.premium-glow--emerald{box-shadow:var(--shadow-xl),var(--shadow-inset-top),0 0 44px #10b98142}.premium-glow--rose{box-shadow:var(--shadow-xl),var(--shadow-inset-top),0 0 44px #f43f5e3d}@keyframes premium-pop-kf{0%{transform:translateY(10px) scale(.94);opacity:0}55%{transform:translateY(-2px) scale(1.015);opacity:1}to{transform:translateY(0) scale(1);opacity:1}}.premium-pop{animation:premium-pop-kf .42s var(--ease-spring) both;will-change:transform,opacity}@keyframes premium-pop-top-kf{0%{transform:translate(var(--premium-tx, -50%)) translateY(-14px) scale(.92);opacity:0}60%{transform:translate(var(--premium-tx, -50%)) translateY(4px) scale(1.03);opacity:1}to{transform:translate(var(--premium-tx, -50%)) translateY(0) scale(1);opacity:1}}.premium-pop--top{animation:premium-pop-top-kf .42s var(--ease-spring) both;will-change:transform,opacity}.premium-medallion{position:relative;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:radial-gradient(circle at 50% 34%,#ffffff24,#ffffff08 70%);box-shadow:inset 0 1px #ffffff2e,0 8px 22px #0000004d,0 0 38px var(--med-glow, rgba(245,158,11,.34))}.premium-medallion:after{content:"";position:absolute;top:-22%;right:-22%;bottom:-22%;left:-22%;border-radius:inherit;pointer-events:none;background:radial-gradient(circle,var(--med-glow, rgba(245,158,11,.34)),transparent 68%);filter:blur(8px);z-index:-1}.premium-chip{position:relative;display:inline-flex;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);background:linear-gradient(180deg,color-mix(in srgb,var(--chip-tint, var(--amber-500)) 18%,transparent),color-mix(in srgb,var(--chip-tint, var(--amber-500)) 6%,transparent));box-shadow:inset 0 1px #ffffff29,0 0 0 1px color-mix(in srgb,var(--chip-tint, var(--amber-500)) 32%,transparent),0 6px 18px color-mix(in srgb,var(--chip-tint, var(--amber-500)) 16%,transparent)}@keyframes premium-sheen-kf{0%{transform:translate(-130%) rotate(8deg);opacity:0}18%{opacity:1}to{transform:translate(130%) rotate(8deg);opacity:0}}.premium-sheen{position:relative;overflow:hidden}.premium-sheen:after{content:"";position:absolute;top:-40%;left:0;width:55%;height:180%;pointer-events:none;z-index:2;background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.1) 38%,rgba(255,255,255,.3) 50%,rgba(255,255,255,.1) 62%,transparent 100%);animation:premium-sheen-kf 1.1s var(--ease-out-soft) .22s both}.premium-eyebrow{font-family:var(--font-display);font-size:11px;font-weight:var(--weight-bold);letter-spacing:var(--tracking-wider);text-transform:uppercase;line-height:1}.premium-edge-light{position:relative}.premium-edge-light:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;pointer-events:none;background:linear-gradient(180deg,#ffffff2e,#ffffff0d);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}@media (prefers-reduced-motion: reduce){.premium-pop,.premium-pop--top{animation:fade-in .2s var(--ease-out-soft) both}.premium-sheen:after{animation:none;opacity:0}}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-\[1\.02\]:hover{--tw-scale-x: 1.02;--tw-scale-y: 1.02;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-yellow-400:hover{--tw-border-opacity: 1;border-color:rgb(250 204 21 / var(--tw-border-opacity, 1))}.hover\:bg-white\/10:hover{background-color:#ffffff1a}.hover\:bg-white\/5:hover{background-color:#ffffff0d}.hover\:bg-white\/\[0\.02\]:hover{background-color:#ffffff05}.hover\:bg-white\/\[0\.03\]:hover{background-color:#ffffff08}.hover\:bg-white\/\[0\.04\]:hover{background-color:#ffffff0a}.hover\:bg-white\/\[0\.05\]:hover{background-color:#ffffff0d}.active\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-\[\.98\]:active{--tw-scale-x: .98;--tw-scale-y: .98;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@media (min-width: 640px){.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}
