/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-1\/2{top:50%}.-bottom-8{bottom:calc(var(--spacing) * -8)}.left-1\/2{left:50%}.z-10{z-index:10}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-20{height:calc(var(--spacing) * 20)}.h-full{height:100%}.w-20{width:calc(var(--spacing) * 20)}.w-full{width:100%}.flex-shrink,.shrink{flex-shrink:1}.flex-grow,.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-125{--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x) var(--tw-scale-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.p-2{padding:calc(var(--spacing) * 2)}.px-2{padding-inline:calc(var(--spacing) * 2)}.py-1{padding-block:calc(var(--spacing) * 1)}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.whitespace-nowrap{white-space:nowrap}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-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-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}:root{--color-bg-primary:#12141c;--color-bg-secondary:#1a1d2b;--color-bg-tertiary:#222639;--color-bg-card:#1e2235;--color-text-primary:#e8e6f0;--color-text-secondary:#9b97a8;--color-text-muted:#6b6375;--color-brand-primary:#3b82f6;--color-brand-secondary:#10d9c4;--color-brand-accent:#ec4899;--color-semantic-success:#4ade80;--color-semantic-warning:#fbbf24;--color-semantic-error:#f56565;--color-semantic-info:#61dafb;--color-rarity-common:#94a3b8;--color-rarity-uncommon:#10d9c4;--color-rarity-rare:#a855f7;--color-rarity-legendary:#f59e0b;--color-tracks-cs-fundamentals:#00d4ff;--color-tracks-frontend-web:#ff6b6b;--color-tracks-backend-apis:#4ecdc4;--color-tracks-devops-infrastructure:#ffe66d;--color-tracks-system-design:#a8e6cf;--color-ui-border:#2e303a;--color-ui-border-light:#ffffff14;--font-family-sans:Inter, system-ui, sans-serif;--font-family-mono:JetBrains Mono, monospace;--font-size-xs:11px;--font-size-sm:13px;--font-size-base:15px;--font-size-md:16px;--font-size-lg:18px;--font-size-xl:24px;--font-size-2xl:32px;--font-size-3xl:48px;--font-size-4xl:72px;--font-size-5xl:96px;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--spacing-0:0px;--spacing-1:4px;--spacing-2:8px;--spacing-3:12px;--spacing-4:16px;--spacing-5:20px;--spacing-6:24px;--spacing-8:32px;--spacing-10:40px;--spacing-12:48px;--spacing-16:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 2px 4px #0000001a;--shadow-md:0 4px 12px #0003;--shadow-lg:0 8px 24px #0000004d;--shadow-xl:0 24px 64px #0006;--shadow-glow:0 0 24px #3b82f666;--bg-primary:var(--color-bg-primary);--bg-secondary:var(--color-bg-secondary);--bg-tertiary:var(--color-bg-tertiary);--bg-card:var(--color-bg-card);--text:var(--color-text-primary);--text-secondary:var(--color-text-secondary);--text-muted:var(--color-text-muted);--accent-green:var(--color-semantic-success);--accent-amber:var(--color-semantic-warning);--accent-red:var(--color-semantic-error);--accent-blue:var(--color-semantic-info);--accent-purple:var(--color-brand-primary);--border:var(--color-ui-border);--success:var(--color-semantic-success);--error:var(--color-semantic-error);--warning:var(--color-semantic-warning);--card:var(--color-bg-card)}.profile-hero{background:linear-gradient(135deg, var(--color-bg-card), #3b82f614);border:1px solid var(--color-ui-border);border-radius:var(--radius-xl);align-items:center;gap:32px;margin-bottom:32px;padding:28px;display:flex}.profile-mascot-3d{cursor:pointer;background:radial-gradient(circle,#3b82f626,#0000 70%);border-radius:50%;flex-shrink:0;transition:transform .3s}.profile-mascot-3d:hover{transform:scale(1.05)}@media (width<=720px){.profile-mascot-3d{display:none}}.profile-hero-info{flex:1;min-width:0}.profile-name{color:var(--color-text-primary);margin:0 0 8px;font-size:32px;font-weight:800}.profile-level-row{align-items:center;gap:12px;margin-bottom:12px;display:flex}.profile-level-badge{border-radius:var(--radius-full);color:#000;letter-spacing:.5px;text-transform:uppercase;padding:4px 12px;font-size:12px;font-weight:700}.profile-xp-text{font-family:var(--font-mono);color:var(--color-semantic-warning);font-size:16px;font-weight:700}.profile-meta{color:var(--color-text-muted);margin-top:8px;font-size:13px}@media (width<=720px){.profile-hero{text-align:center;flex-direction:column;gap:16px;padding:20px}.profile-level-row{flex-wrap:wrap;justify-content:center}.profile-name{font-size:24px}}.avatar-upload-wrap{flex-direction:column;align-items:center;gap:8px;display:flex}.avatar-circle{background:linear-gradient(135deg, var(--color-brand-primary), var(--color-brand-secondary));border:4px solid var(--color-bg-card);box-shadow:0 8px 24px #0000004d, 0 0 0 1px var(--color-ui-border-light);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.avatar-circle.editable{cursor:pointer;transition:transform .2s}.avatar-circle.editable:hover{transform:scale(1.03)}.avatar-circle.editable:focus-visible{outline:3px solid var(--color-brand-primary);outline-offset:4px}.avatar-circle img{object-fit:cover;width:100%;height:100%}.avatar-initials{color:#fff;letter-spacing:-1px;text-shadow:0 2px 8px #0000004d;font-weight:800}.avatar-overlay{opacity:0;color:#fff;background:#0009;flex-direction:column;justify-content:center;align-items:center;gap:4px;transition:opacity .2s;display:flex;position:absolute;inset:0}.avatar-circle.editable:hover .avatar-overlay{opacity:1}.avatar-overlay-text{letter-spacing:.5px;text-transform:uppercase;font-size:11px;font-weight:600}.avatar-loading{background:#000000b3;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.avatar-spinner{border:3px solid #fff3;border-top-color:#fff;border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.avatar-remove-btn{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:11px;transition:all .2s}.avatar-remove-btn:hover{color:var(--color-semantic-error);background:#f5656514}.avatar-error{color:var(--color-semantic-error);text-align:center;max-width:160px;font-size:11px;line-height:1.4}.profile-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}@media (width<=880px){.profile-grid{grid-template-columns:1fr}}.profile-col{flex-direction:column;gap:20px;display:flex}.info-rows{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}.info-row{border-radius:var(--radius-md);border:1px solid var(--color-ui-border-light);background:#ffffff08;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.info-label{color:var(--color-text-muted);letter-spacing:.5px;text-transform:uppercase;font-size:12px;font-weight:600}.info-value{color:var(--color-text-primary);font-size:14px;font-weight:600}.info-guest-badge{border-radius:var(--radius-md);color:var(--color-semantic-warning);background:#fbbf2414;border:1px solid #fbbf2440;padding:8px 12px;font-size:13px}.info-edit-btn{background:var(--color-bg-tertiary);border:1px solid var(--color-ui-border);border-radius:var(--radius-md);width:100%;color:var(--color-text-primary);cursor:pointer;padding:10px 16px;font-size:14px;font-weight:600;transition:all .2s}.info-edit-btn:hover{background:var(--color-brand-primary);color:#fff;border-color:var(--color-brand-primary)}.info-field{margin-bottom:16px}.info-field-label{color:var(--color-text-muted);letter-spacing:.5px;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:8px;font-size:12px;font-weight:700;display:flex}.info-required-badge{background:var(--color-semantic-error);color:#fff;border-radius:var(--radius-full);text-transform:none;letter-spacing:0;padding:2px 8px;font-size:10px}.info-input{border:2px solid var(--color-ui-border);border-radius:var(--radius-md);width:100%;color:var(--color-text-primary);background:#ffffff0d;padding:12px 14px;font-family:inherit;font-size:15px;transition:all .2s}.info-input:focus{border-color:var(--color-brand-primary);background:#ffffff14;outline:none}.info-field-error{color:var(--color-semantic-error);margin-top:4px;font-size:12px}.info-field-hint{color:var(--color-text-muted);margin-top:6px;font-size:11px;line-height:1.5}.info-age-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.info-age-btn{border:2px solid var(--color-ui-border);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;background:#ffffff08;align-items:center;gap:8px;padding:10px 12px;font-family:inherit;font-size:13px;transition:all .2s;display:flex}.info-age-btn:hover{border-color:var(--color-brand-primary)}.info-age-btn.selected{border-color:var(--color-brand-primary);background:#3b82f626}.age-icon{font-size:20px}.info-actions{gap:8px;margin-top:16px;display:flex}.info-btn-cancel,.info-btn-save{border-radius:var(--radius-md);cursor:pointer;border:none;flex:1;padding:12px;font-family:inherit;font-size:14px;font-weight:700;transition:all .2s}.info-btn-cancel{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.info-btn-cancel:hover{color:var(--color-text-primary);background:#ffffff14}.info-btn-save{background:var(--color-brand-primary);color:#fff}.info-btn-save:hover{box-shadow:var(--shadow-glow);transform:translateY(-2px)}.study-plan-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:16px;display:grid}.study-plan-tile{border-radius:var(--radius-md);background:#3b82f60d;border:1px solid #3b82f626;padding:12px 14px}.plan-tile-label{color:var(--color-text-muted);letter-spacing:1px;text-transform:uppercase;margin-bottom:4px;font-size:10px;font-weight:700}.plan-tile-value{color:var(--color-brand-secondary);font-size:14px;font-weight:700;line-height:1.4}.plan-recommended{border-top:1px solid var(--color-ui-border-light);margin-top:14px;padding-top:14px}.plan-recommended-label{color:var(--color-text-muted);letter-spacing:.5px;margin-bottom:8px;font-size:11px}.plan-recommended-list{flex-wrap:wrap;gap:6px;display:flex}.plan-track-chip{border-radius:var(--radius-full);color:var(--color-text-primary);background:#ffffff0d;border:1px solid;align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:inline-flex}.plan-track-badge{background:var(--color-semantic-warning);color:#000;border-radius:var(--radius-full);letter-spacing:.3px;padding:1px 6px;font-size:9px;font-weight:700}.stats-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.stat-tile{text-align:center;border:1px solid var(--color-ui-border-light);border-radius:var(--radius-md);background:#ffffff08;padding:16px 10px;transition:transform .15s}.stat-tile:hover{transform:translateY(-2px)}.stat-icon{margin-bottom:6px;font-size:28px}.stat-value{font-size:22px;font-weight:800;font-family:var(--font-mono);color:var(--color-text-primary);line-height:1}.stat-label{color:var(--color-text-muted);letter-spacing:.5px;margin-top:4px;font-size:11px}.setting-row{border-bottom:1px solid var(--color-ui-border-light);justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.setting-row:last-child{border-bottom:none}.setting-row.danger{border-top:1px solid #f5656533;margin-top:8px}.setting-label{color:var(--color-text-primary);margin-bottom:2px;font-size:14px;font-weight:600}.setting-desc{color:var(--color-text-muted);font-size:12px}.setting-action-btn{background:var(--color-bg-tertiary);border:1px solid var(--color-ui-border);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;white-space:nowrap;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s}.setting-action-btn:hover{background:var(--color-brand-primary);color:#fff;border-color:var(--color-brand-primary)}.setting-action-btn.danger{color:var(--color-semantic-error);border-color:var(--color-semantic-error);background:0 0}.setting-action-btn.danger:hover{background:var(--color-semantic-error);color:#fff}.setting-action-btn.danger-soft{color:var(--color-semantic-warning);border-color:#fbbf244d}.setting-action-btn.danger-soft:hover{background:var(--color-semantic-warning);color:#000;border-color:var(--color-semantic-warning)}.toggle-switch{background:var(--color-bg-tertiary);border:1px solid var(--color-ui-border);border-radius:var(--radius-full);cursor:pointer;width:48px;height:26px;padding:0;transition:background .2s;position:relative}.toggle-switch.on{background:var(--color-brand-primary);border-color:var(--color-brand-primary)}.toggle-thumb{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 2px 4px #0003}.toggle-switch.on .toggle-thumb{transform:translate(22px)}.inventory{width:100%}.inventory-header{margin-bottom:16px}.inventory-title{color:var(--color-text-primary);margin-bottom:4px;font-size:22px;font-weight:800}.inventory-subtitle{color:var(--color-text-muted);font-size:13px}.inventory-filters{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.inv-filter-chip{border:1px solid var(--color-ui-border);border-radius:var(--radius-full);color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;background:#ffffff0a;align-items:center;gap:6px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.inv-filter-chip:hover:not(:disabled){border-color:var(--color-brand-primary);color:var(--color-text-primary);background:#3b82f61a}.inv-filter-chip.active{background:var(--color-brand-primary);border-color:var(--color-brand-primary);color:#fff}.inv-filter-chip:disabled{opacity:.3;cursor:not-allowed}.chip-icon{font-size:14px}.chip-count{border-radius:var(--radius-full);font-size:11px;font-weight:700;font-family:var(--font-mono);background:#00000040;padding:1px 7px}.inv-filter-chip.active .chip-count{background:#ffffff40}.inventory-empty{text-align:center;border:2px dashed var(--color-ui-border);border-radius:var(--radius-xl);background:#ffffff05;padding:48px 24px}.empty-icon{opacity:.6;margin-bottom:16px;font-size:56px}.empty-title{color:var(--color-text-primary);margin-bottom:8px;font-size:18px;font-weight:700}.empty-desc{color:var(--color-text-muted);font-size:14px;line-height:1.6}.empty-desc strong{color:var(--color-semantic-warning)}.inventory-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;display:grid}@media (width<=600px){.inventory-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}}.inv-item{border-radius:var(--radius-lg);text-align:center;background:#ffffff08;border:2px solid;flex-direction:column;align-items:center;gap:6px;padding:16px 12px 12px;transition:transform .2s,box-shadow .2s;display:flex;position:relative}.inv-item:hover{transform:translateY(-3px)}.inv-item-icon{filter:drop-shadow(0 4px 8px #0000004d);margin-bottom:4px;font-size:44px;line-height:1}.inv-item-name{color:var(--color-text-primary);justify-content:center;align-items:center;min-height:32px;font-size:13px;font-weight:700;line-height:1.3;display:flex}.inv-item-rarity{letter-spacing:1px;text-transform:uppercase;font-size:10px;font-weight:700}.inv-item-desc{color:var(--color-text-muted);min-height:30px;margin:4px 0 8px;font-size:11px;line-height:1.4}.inv-item-meta{color:var(--color-text-muted);border-top:1px solid var(--color-ui-border-light);width:100%;margin-top:auto;padding:6px 0;font-size:10px;font-style:italic}.inv-equip-btn{border-radius:var(--radius-md);cursor:pointer;letter-spacing:.3px;border:none;width:100%;margin-top:auto;padding:7px;font-family:inherit;font-size:12px;font-weight:700;transition:all .15s}.inv-equip-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.inv-equip-btn.unequip{background:var(--color-bg-tertiary);color:var(--color-text-secondary);border:1px solid var(--color-ui-border)}.inv-equip-btn.unequip:hover{background:var(--color-semantic-error);color:#fff}.inv-equipped-badge{border-radius:var(--radius-full);color:#000;letter-spacing:.3px;z-index:2;padding:2px 8px;font-size:10px;font-weight:700;position:absolute;top:8px;right:8px}.inv-count-badge{border-radius:var(--radius-full);font-size:11px;font-weight:700;font-family:var(--font-mono);color:var(--color-text-primary);background:#0009;border:1px solid #ffffff1a;padding:2px 8px;position:absolute;top:8px;left:8px}.inv-item.rarity-legendary{animation:3s ease-in-out infinite legendaryShine}@keyframes legendaryShine{0%,to{box-shadow:0 0 12px #f59e0b4d}50%{box-shadow:0 0 24px #f59e0b99}}.theme-picker{width:100%}.theme-picker-header{margin-bottom:16px}.theme-picker-title{color:var(--color-text-primary);margin:0 0 4px;font-size:18px;font-weight:700}.theme-picker-subtitle{color:var(--color-text-muted);font-size:13px;line-height:1.5}.theme-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;display:grid}.theme-card{border:2px solid var(--color-ui-border);border-radius:var(--radius-lg);cursor:pointer;background:#ffffff08;padding:0;font-family:inherit;transition:all .2s;position:relative;overflow:hidden}.theme-card:hover:not(:disabled):not(.active){border-color:var(--color-brand-primary);transform:translateY(-3px)}.theme-card.active{border-color:var(--color-brand-primary);box-shadow:0 0 24px #3b82f64d, inset 0 0 0 1px var(--color-brand-primary)}.theme-card.locked{opacity:.5;cursor:not-allowed}.theme-card.locked:hover{transform:none}.theme-preview-bar{height:48px;display:flex}.theme-swatch{flex:1;transition:flex .3s}.theme-card:hover .theme-swatch:nth-child(2){flex:1.5}.theme-card-body{text-align:center;flex-direction:column;align-items:center;gap:4px;padding:12px 10px;display:flex}.theme-icon{font-size:28px;line-height:1}.theme-name{color:var(--color-text-primary);font-size:13px;font-weight:700}.theme-active-tag{color:var(--color-brand-primary);letter-spacing:.5px;text-transform:uppercase;margin-top:2px;font-size:10px;font-weight:700}.theme-locked-tag{color:var(--color-text-muted);margin-top:2px;font-size:10px;font-weight:600}.mg-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:2200;background:#0a0a14ed;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.mg-modal{background:linear-gradient(135deg, var(--color-bg-card), var(--color-bg-tertiary));border:2px solid var(--color-ui-border);border-radius:var(--radius-xl);width:100%;max-width:600px;box-shadow:0 32px 80px #00000080, 0 0 0 1px var(--color-ui-border-light);max-height:90vh;padding:32px;position:relative;overflow-y:auto}.mg-quit-btn{border:1px solid var(--color-ui-border);width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;z-index:5;background:#ffffff0d;border-radius:50%;font-size:14px;font-weight:700;transition:all .15s;position:absolute;top:14px;right:14px}.mg-quit-btn:hover{background:var(--color-semantic-error);color:#fff;border-color:var(--color-semantic-error)}.mg-intro{text-align:center}.mg-intro-emoji{margin-bottom:8px;font-size:72px;animation:2.5s ease-in-out infinite gameFloat}@keyframes gameFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.mg-intro-label{letter-spacing:3px;color:var(--color-semantic-warning);margin-bottom:6px;font-size:11px;font-weight:800}.mg-intro-title{color:var(--color-text-primary);margin:0 0 8px;font-size:28px;font-weight:800}.mg-intro-desc{color:var(--color-text-secondary);margin-bottom:12px;font-size:15px;line-height:1.5}.mg-intro-time{color:var(--color-text-muted);border-radius:var(--radius-full);background:#ffffff0a;margin-bottom:24px;padding:4px 12px;font-size:12px;display:inline-block}.mg-intro-buttons{justify-content:center;gap:12px;display:flex}.mg-intro-skip{border:1px solid var(--color-ui-border);color:var(--color-text-muted);border-radius:var(--radius-md);cursor:pointer;background:0 0;padding:12px 24px;font-family:inherit;font-size:14px;font-weight:600;transition:all .2s}.mg-intro-skip:hover{color:var(--color-text-primary);border-color:var(--color-text-secondary)}.mg-intro-start{background:linear-gradient(135deg, var(--color-brand-primary), var(--color-brand-secondary));color:#fff;border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow-glow);border:none;padding:12px 32px;font-family:inherit;font-size:15px;font-weight:700;transition:all .2s}.mg-intro-start:hover{transform:translateY(-2px)}.mg-header{border-bottom:1px solid var(--color-ui-border-light);justify-content:space-around;gap:16px;margin-bottom:20px;padding-bottom:16px;display:flex}.mg-header.center{text-align:center;justify-content:center}.mg-stat{text-align:center}.mg-stat-label{letter-spacing:1px;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:4px;font-size:10px;font-weight:700}.mg-stat-value{font-size:22px;font-weight:800;font-family:var(--font-mono);color:var(--color-text-primary)}.mg-stat-value.danger{color:var(--color-semantic-error);animation:.6s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.5}}.mg-result{text-align:center;border-radius:var(--radius-lg);background:linear-gradient(135deg,#4ade8014,#3b82f614);margin-top:20px;padding:24px 16px}.mg-result-emoji{margin-bottom:12px;font-size:56px}.mg-result-title{color:var(--color-semantic-success);margin-bottom:6px;font-size:24px;font-weight:800}.mg-result-subtitle{color:var(--color-text-secondary);margin-bottom:16px;font-size:14px}.mg-result-reward{background:linear-gradient(135deg, var(--color-semantic-warning), #f59e0b);color:#1a1b2e;border-radius:var(--radius-full);align-items:center;gap:8px;margin-bottom:20px;padding:10px 20px;font-size:18px;font-weight:800;display:inline-flex;box-shadow:0 8px 24px #fbbf2466}.mg-result-btn{background:var(--color-brand-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;padding:12px 28px;font-family:inherit;font-size:14px;font-weight:700;transition:all .2s}.mg-result-btn:hover{box-shadow:var(--shadow-glow);transform:translateY(-2px)}.memory-grid{grid-template-columns:repeat(4,1fr);gap:8px;max-width:400px;margin:0 auto;display:grid}.mem-card{aspect-ratio:1;cursor:pointer;perspective:1000px;background:0 0;border:none;padding:0;font-family:inherit}.mem-card:disabled{cursor:default}.mem-card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .4s cubic-bezier(.4,0,.2,1);position:relative}.mem-card.flipped .mem-card-inner{transform:rotateY(180deg)}.mem-card-back,.mem-card-front{border-radius:var(--radius-md);backface-visibility:hidden;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.mem-card-back{background:linear-gradient(135deg, var(--color-brand-primary), var(--color-brand-secondary));color:#fff;font-size:28px;font-weight:900;box-shadow:inset 0 0 0 2px #ffffff26}.mem-card-front{background:var(--color-bg-tertiary);border:2px solid var(--color-ui-border);font-size:36px;transform:rotateY(180deg)}.mem-card.matched .mem-card-front{border-color:var(--color-semantic-success);background:#4ade8026;animation:.5s matchedPulse}@keyframes matchedPulse{0%{transform:rotateY(180deg)scale(1)}50%{transform:rotateY(180deg)scale(1.1)}to{transform:rotateY(180deg)scale(1)}}.cs-title{color:var(--color-text-primary);margin-bottom:4px;font-size:20px;font-weight:700}.cs-subtitle{color:var(--color-text-muted);font-size:13px}.cs-list{flex-direction:column;gap:10px;margin-bottom:20px;display:flex}.cs-step{background:var(--color-bg-tertiary);border:2px solid var(--color-ui-border);border-radius:var(--radius-md);cursor:grab;-webkit-user-select:none;user-select:none;align-items:center;gap:14px;padding:14px 16px;transition:all .15s;display:flex}.cs-step:hover{border-color:var(--color-brand-primary);transform:translateY(-1px)}.cs-step.dragging{opacity:.5;cursor:grabbing}.cs-step-number{background:var(--color-brand-primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;font-weight:800;display:flex}.cs-step-text{color:var(--color-text-primary);flex:1;font-size:14px;line-height:1.4}.cs-drag-handle{color:var(--color-text-muted);cursor:grab;font-size:20px}.cs-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.cs-attempts{color:var(--color-text-muted);font-size:13px;font-family:var(--font-mono)}.cs-check-btn{background:var(--color-brand-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;margin-left:auto;padding:12px 28px;font-family:inherit;font-size:14px;font-weight:700;transition:all .2s}.cs-check-btn:hover{box-shadow:var(--shadow-glow);transform:translateY(-2px)}.bh-intro{color:var(--color-text-secondary);flex:1;font-size:14px;line-height:1.4}.bh-hint-btn{color:var(--color-semantic-warning);border-radius:var(--radius-md);cursor:pointer;background:#fbbf241a;border:1px solid #fbbf244d;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:600;transition:all .15s}.bh-hint-btn:hover:not(:disabled){background:#fbbf2433}.bh-hint-btn:disabled{opacity:.4;cursor:not-allowed}.bh-code{border:2px solid var(--color-ui-border);border-radius:var(--radius-md);font-family:var(--font-mono);background:#0d0f1a;flex-wrap:wrap;gap:6px;margin-bottom:16px;padding:20px;display:flex}.bh-token{border:1px solid var(--color-ui-border);color:var(--color-text-primary);border-radius:var(--radius-sm);font-family:var(--font-mono);cursor:pointer;background:#ffffff0a;padding:6px 10px;font-size:15px;transition:all .15s}.bh-token:hover:not(:disabled){border-color:var(--color-brand-primary);background:#3b82f626;transform:translateY(-2px)}.bh-token.hinted{border-color:var(--color-semantic-warning);background:#fbbf2426;animation:1s ease-in-out infinite hintPulse}@keyframes hintPulse{50%{box-shadow:0 0 12px #fbbf2480}}.bh-token.wrong{border-color:var(--color-semantic-error);color:var(--color-semantic-error);cursor:not-allowed;background:#f5656526;text-decoration:line-through}.bh-token.correct{background:var(--color-semantic-success);color:#000;border-color:var(--color-semantic-success);font-weight:800;animation:.5s correctBounce}@keyframes correctBounce{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.bh-explanation{border-radius:var(--radius-md);max-width:460px;color:var(--color-text-primary);text-align:left;background:#3b82f614;border:1px solid #3b82f633;margin:12px auto;padding:12px 16px;font-size:13px;line-height:1.6}.ct-title{color:var(--color-text-primary);margin-bottom:4px;font-size:20px;font-weight:700}.ct-subtitle{color:var(--color-text-muted);font-size:13px}.ct-subtitle strong{color:var(--color-brand-primary)}.ct-progress-bar{border-radius:var(--radius-full);background:#ffffff0d;height:6px;margin:16px 0;overflow:hidden}.ct-progress-fill{background:linear-gradient(90deg, var(--color-brand-primary), var(--color-brand-secondary));border-radius:var(--radius-full);height:100%;transition:width .15s ease-out;box-shadow:0 0 12px #3b82f699}.ct-snippet{border:2px solid var(--color-ui-border);border-radius:var(--radius-md);font-family:var(--font-mono);letter-spacing:.5px;-webkit-user-select:none;user-select:none;background:#0d0f1a;margin-bottom:16px;padding:24px;font-size:18px;line-height:1.6;overflow-x:auto}.ct-char{transition:color 50ms}.ct-char.correct{color:var(--color-semantic-success)}.ct-char.wrong{color:var(--color-semantic-error);background:#f5656526;border-radius:3px}.ct-char:not(.correct):not(.wrong):not(.cursor){color:var(--color-text-muted)}.ct-char.cursor{color:var(--color-text-primary);background:var(--color-brand-primary);border-radius:3px;animation:1s steps(2,end) infinite blinkCursor}@keyframes blinkCursor{50%{color:var(--color-brand-primary);background:0 0}}.ct-input{border:2px solid var(--color-ui-border);border-radius:var(--radius-md);width:100%;color:var(--color-text-primary);font-family:var(--font-mono);background:#ffffff0a;padding:14px 16px;font-size:16px;transition:all .15s}.ct-input:focus{border-color:var(--color-brand-primary);background:#ffffff0f;outline:none;box-shadow:0 0 0 4px #3b82f626}.ct-input:disabled{opacity:.6;cursor:not-allowed}.friends-list{width:100%}.friends-section{margin-bottom:24px}.friends-section:last-child{margin-bottom:0}.fr-section-header{justify-content:space-between;align-items:center;display:flex}.fr-section-title{color:var(--color-text-primary);letter-spacing:.3px;margin-bottom:10px;font-size:14px;font-weight:700}.fr-section-hint{color:var(--color-text-muted);margin-top:8px;font-size:12px}.refresh-btn{border:1px solid var(--color-ui-border);color:var(--color-text-secondary);cursor:pointer;background:#ffffff0d;border-radius:50%;width:32px;height:32px;font-size:13px;transition:all .2s}.refresh-btn:hover:not(:disabled){background:var(--color-brand-primary);color:#fff;transform:rotate(180deg)}.invite-code-card{border:1px solid var(--color-brand-primary);border-radius:var(--radius-lg);text-align:center;background:linear-gradient(135deg,#3b82f61a,#10d9c41a);padding:18px}.invite-code{font-family:var(--font-mono);letter-spacing:4px;color:var(--color-brand-primary);border-radius:var(--radius-md);-webkit-user-select:all;user-select:all;background:#0003;margin-bottom:12px;padding:12px 16px;font-size:32px;font-weight:900}.invite-actions{justify-content:center;gap:8px;display:flex}.invite-btn{border:1px solid var(--color-ui-border);color:var(--color-text-primary);border-radius:var(--radius-md);cursor:pointer;background:#ffffff0f;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:600;transition:all .2s}.invite-btn:hover{background:var(--color-brand-primary);color:#fff;border-color:var(--color-brand-primary)}.invite-btn.share{color:var(--color-brand-secondary);background:#10d9c41a;border-color:#10d9c44d}.invite-btn.share:hover{background:var(--color-brand-secondary);color:#000}.add-friend-row{gap:8px;display:flex}.add-friend-input{border:2px solid var(--color-ui-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-family:var(--font-mono);letter-spacing:2px;text-transform:uppercase;text-align:center;background:#ffffff0a;flex:1;padding:10px 14px;font-size:16px;transition:all .2s}.add-friend-input:focus{border-color:var(--color-brand-primary);background:#ffffff0f;outline:none}.add-friend-btn{background:var(--color-brand-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;padding:10px 18px;font-family:inherit;font-size:13px;font-weight:700;transition:all .2s}.add-friend-btn:hover:not(:disabled){box-shadow:var(--shadow-glow);transform:translateY(-2px)}.add-friend-btn:disabled{opacity:.4;cursor:not-allowed}.add-friend-error{color:var(--color-semantic-error);border-radius:var(--radius-sm);background:#f5656514;margin-top:6px;padding:6px 10px;font-size:12px}.leaderboard{flex-direction:column;gap:6px;display:flex}.lb-row{border:1px solid var(--color-ui-border-light);border-radius:var(--radius-md);background:#ffffff08;align-items:center;gap:12px;padding:10px 12px;transition:transform .15s;display:flex}.lb-row:hover{transform:translate(2px)}.lb-row.is-self{border-color:var(--color-brand-primary);background:#3b82f61a}.lb-row.is-first{border-color:var(--color-semantic-warning);background:linear-gradient(135deg,#fbbf2426,#f59e0b14)}.lb-rank{font-size:18px;font-weight:900;font-family:var(--font-mono);color:var(--color-text-muted);text-align:center;width:32px}.lb-rank.rank-1,.lb-rank.rank-2,.lb-rank.rank-3{font-size:22px}.lb-avatar{background:linear-gradient(135deg, var(--color-brand-primary), var(--color-brand-secondary));border:2px solid var(--color-bg-card);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex;overflow:hidden}.lb-avatar img{object-fit:cover;width:100%;height:100%}.lb-avatar-initial{color:#fff;font-size:14px;font-weight:800}.lb-info{flex:1;min-width:0}.lb-name{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.lb-you{color:var(--color-brand-primary);margin-left:4px;font-size:11px;font-weight:700}.lb-stats{color:var(--color-text-muted);font-size:11px;font-family:var(--font-mono);gap:10px;margin-top:2px;display:flex}.lb-xp{color:var(--color-semantic-warning)}.lb-streak{color:var(--color-semantic-error)}.lb-remove{border:1px solid var(--color-ui-border);color:var(--color-text-muted);cursor:pointer;opacity:0;background:0 0;border-radius:50%;width:24px;height:24px;font-size:11px;font-weight:700;transition:all .15s}.lb-row:hover .lb-remove{opacity:1}.lb-remove:hover{background:var(--color-semantic-error);color:#fff;border-color:var(--color-semantic-error)}.friends-empty{text-align:center;padding:32px 16px}.friends-empty.small{padding:20px 12px}.friends-empty .empty-icon{font-size:40px}.friends-empty .empty-title{color:var(--color-text-primary);margin:8px 0 4px;font-size:15px;font-weight:700}.friends-empty .empty-desc{color:var(--color-text-muted);font-size:13px;line-height:1.4}.shop{width:100%}.shop-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.shop-title{color:var(--color-text-primary);margin-bottom:2px;font-size:20px;font-weight:800}.shop-subtitle{color:var(--color-text-muted);font-size:12px}.shop-balance{color:#1a1b2e;border-radius:var(--radius-full);background:linear-gradient(135deg,#fbbf24,#f59e0b);align-items:center;gap:8px;padding:10px 20px;font-size:18px;font-weight:800;display:inline-flex;box-shadow:0 4px 16px #fbbf2466}.shop-balance-icon{font-size:18px}.shop-balance-value{font-family:var(--font-mono)}.shop-tabs{gap:6px;margin-bottom:16px;padding-bottom:4px;display:flex;overflow-x:auto}.shop-tab{border:1px solid var(--color-ui-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;background:#ffffff08;flex-direction:column;flex-shrink:0;align-items:center;gap:4px;padding:10px 14px;font-family:inherit;transition:all .15s;display:flex}.shop-tab:hover:not(:disabled){border-color:var(--color-brand-primary);color:var(--color-text-primary);background:#3b82f61a}.shop-tab.active{background:var(--color-brand-primary);border-color:var(--color-brand-primary);color:#fff}.shop-tab:disabled{opacity:.3;cursor:not-allowed}.shop-tab-icon{font-size:20px}.shop-tab-label{font-size:11px;font-weight:700}.shop-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:16px;display:grid}@media (width<=600px){.shop-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}}.shop-item{border-radius:var(--radius-lg);text-align:center;background:#ffffff08;border:2px solid;flex-direction:column;gap:4px;padding:16px 12px 12px;transition:transform .15s;display:flex;position:relative}.shop-item:hover{transform:translateY(-3px)}.shop-item.owned-single{opacity:.55}.shop-badge{border-radius:var(--radius-full);letter-spacing:.5px;z-index:2;padding:2px 8px;font-size:10px;font-weight:800;position:absolute;top:8px}.shop-badge.sale{background:var(--color-semantic-error);color:#fff;right:8px}.shop-badge.owned{background:var(--color-semantic-success);color:#000;left:8px}.shop-item-icon{filter:drop-shadow(0 4px 8px #0000004d);margin-bottom:4px;font-size:44px;line-height:1}.shop-item-name{color:var(--color-text-primary);justify-content:center;align-items:center;min-height:32px;font-size:13px;font-weight:700;line-height:1.3;display:flex}.shop-item-rarity{letter-spacing:1px;text-transform:uppercase;font-size:10px;font-weight:700}.shop-item-desc{color:var(--color-text-muted);min-height:30px;margin-bottom:8px;font-size:11px;line-height:1.4}.shop-item-footer{border-top:1px solid var(--color-ui-border-light);flex-direction:column;gap:6px;margin-top:auto;padding-top:8px;display:flex}.shop-item-price{font-family:var(--font-mono);color:var(--color-semantic-warning);justify-content:center;align-items:center;gap:4px;font-size:15px;font-weight:800;display:flex}.price-icon{font-size:14px}.price-old{color:var(--color-text-muted);font-size:12px;font-weight:600;text-decoration:line-through}.price-value.unaffordable{color:var(--color-semantic-error)}.shop-buy-btn{background:var(--color-brand-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;letter-spacing:.3px;border:none;padding:7px;font-family:inherit;font-size:12px;font-weight:800;transition:all .15s}.shop-buy-btn:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.shop-buy-btn:disabled{cursor:not-allowed}.shop-buy-btn.disabled{background:var(--color-bg-tertiary);color:var(--color-text-muted);opacity:.6}.shop-buy-btn.owned{background:var(--color-semantic-success);color:#000;opacity:.6}.shop-tip{border-radius:var(--radius-md);color:var(--color-text-secondary);text-align:center;background:#3b82f60f;border:1px solid #3b82f626;padding:12px 16px;font-size:13px;line-height:1.5}.install-prompt{z-index:1500;background:linear-gradient(135deg, var(--color-brand-primary), var(--color-brand-secondary));color:#fff;border-radius:var(--radius-xl);align-items:center;gap:14px;width:calc(100% - 32px);max-width:420px;padding:14px 18px;animation:.6s cubic-bezier(.34,1.56,.64,1) installSlide;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 16px 48px #3b82f666,0 0 0 1px #ffffff1a}@keyframes installSlide{0%{opacity:0;transform:translate(-50%,30px)}to{opacity:1;transform:translate(-50%)}}.install-icon{filter:drop-shadow(0 2px 4px #0003);flex-shrink:0;font-size:32px}.install-content{flex:1;min-width:0}.install-title{color:#fff;margin-bottom:2px;font-size:15px;font-weight:800}.install-desc{color:#ffffffd9;font-size:12px;line-height:1.3}.install-cta{color:#fff;border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff3;border:1px solid #ffffff4d;padding:10px 18px;font-family:inherit;font-size:13px;font-weight:800;transition:all .15s}.install-cta:hover{color:var(--color-brand-primary);background:#fff}.install-close{background:var(--color-bg-card);width:24px;height:24px;color:var(--color-text-primary);cursor:pointer;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;font-family:inherit;font-size:11px;font-weight:700;transition:all .15s;display:flex;position:absolute;top:-8px;right:-8px}.install-close:hover{background:var(--color-semantic-error);color:#fff;transform:scale(1.1)}@media (width<=480px){.install-prompt{flex-direction:row;gap:10px;padding:12px 14px;bottom:12px}.install-icon{font-size:28px}.install-title{font-size:13px}.install-desc{font-size:11px}.install-cta{padding:8px 14px;font-size:12px}}@media (display-mode:standalone){body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}}.notif-panel{flex-direction:column;gap:16px;display:flex}.notif-panel.cta{border-radius:var(--radius-lg);text-align:center;background:linear-gradient(135deg,#3b82f614,#10d9c40d);border:1px solid #3b82f633;padding:20px}.notif-header{text-align:left;align-items:flex-start;gap:14px;display:flex}.notif-emoji{flex-shrink:0;font-size:32px;line-height:1}.notif-title{color:var(--color-text-primary);margin-bottom:4px;font-size:15px;font-weight:700}.notif-desc{color:var(--color-text-muted);font-size:13px;line-height:1.5}.notif-cta{background:linear-gradient(135deg, var(--color-brand-primary), var(--color-brand-secondary));color:#fff;border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow-glow);border:none;padding:12px 28px;font-family:inherit;font-size:14px;font-weight:700;transition:all .2s}.notif-cta:hover:not(:disabled){transform:translateY(-2px)}.notif-cta:disabled{opacity:.5;cursor:not-allowed}.notif-denied-hint{border-radius:var(--radius-md);color:var(--color-semantic-warning);background:#fbbf2414;border:1px solid #fbbf2440;margin-top:12px;padding:10px 14px;font-size:12px;line-height:1.5}.notif-options{flex-direction:column;gap:0;display:flex}.notif-sub-list{border-left:2px solid var(--color-ui-border-light);flex-direction:column;margin-left:0;padding-left:16px;transition:opacity .2s;display:flex}.notif-sub-list.disabled{opacity:.4;pointer-events:none}.notif-row{border-bottom:1px solid var(--color-ui-border-light);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.notif-row:last-child{border-bottom:none}.notif-row.sub{padding-left:12px;padding-right:0}.notif-row-label{color:var(--color-text-primary);margin-bottom:2px;font-size:13px;font-weight:600}.notif-row-desc{color:var(--color-text-muted);font-size:11px;line-height:1.4}.notif-time-input{border:1px solid var(--color-ui-border);color:var(--color-text-primary);border-radius:var(--radius-sm);font-family:var(--font-mono);background:#ffffff0d;padding:6px 10px;font-size:13px}.notif-test-btn{border:1px solid var(--color-ui-border);color:var(--color-text-secondary);border-radius:var(--radius-md);cursor:pointer;background:#ffffff0a;margin-top:12px;padding:10px;font-family:inherit;font-size:12px;font-weight:600;transition:all .2s}.notif-test-btn:hover:not(:disabled){background:var(--color-brand-primary);color:#fff;border-color:var(--color-brand-primary)}.notif-test-btn:disabled{opacity:.4;cursor:not-allowed}.quests-panel{width:100%}.quests-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.quests-title{color:var(--color-text-primary);margin-bottom:4px;font-size:18px;font-weight:800}.quests-subtitle{color:var(--color-text-muted);font-size:12px}.quests-timer{text-align:right;border-radius:var(--radius-md);background:#fbbf2414;border:1px solid #fbbf2440;padding:8px 14px}.quests-timer-label{letter-spacing:.5px;color:var(--color-text-muted);text-transform:uppercase;margin-bottom:2px;font-size:10px}.quests-timer-value{color:var(--color-semantic-warning);font-size:13px;font-weight:800;font-family:var(--font-mono)}.quests-list{flex-direction:column;gap:10px;display:flex}.quest-card{border:1px solid var(--color-ui-border-light);border-radius:var(--radius-md);background:#ffffff08;border-left:4px solid;gap:14px;padding:14px;transition:all .2s;display:flex}.quest-card:hover{background:#ffffff0d}.quest-card.completed{background:#4ade800f}.quest-card.claimed{opacity:.6;background:#4ade800a}.quest-icon{filter:drop-shadow(0 2px 4px #0000004d);flex-shrink:0;font-size:32px;line-height:1}.quest-info{flex:1;min-width:0}.quest-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.quest-name{color:var(--color-text-primary);font-size:14px;font-weight:700}.quest-diff{border-radius:var(--radius-full);letter-spacing:.5px;text-transform:uppercase;padding:2px 8px;font-size:10px;font-weight:700}.quest-desc{color:var(--color-text-secondary);margin-bottom:10px;font-size:12px;line-height:1.4}.quest-progress-row{align-items:center;gap:10px;margin-bottom:10px;display:flex}.quest-progress-bar{border-radius:var(--radius-full);background:#ffffff0d;flex:1;height:8px;overflow:hidden}.quest-progress-fill{border-radius:var(--radius-full);height:100%;transition:width .5s cubic-bezier(.4,0,.2,1)}.quest-progress-count{font-family:var(--font-mono);color:var(--color-text-muted);text-align:right;min-width:38px;font-size:11px;font-weight:700}.quest-bottom{justify-content:space-between;align-items:center;gap:8px;display:flex}.quest-reward{color:var(--color-semantic-warning);font-size:11px;font-weight:700;font-family:var(--font-mono);gap:10px;display:flex}.quest-claim-btn{border-radius:var(--radius-md);cursor:pointer;letter-spacing:.3px;border:none;padding:7px 16px;font-family:inherit;font-size:12px;font-weight:800;transition:all .15s}.quest-claim-btn:hover{filter:brightness(1.1);transform:translateY(-1px)scale(1.03);box-shadow:0 6px 16px #0000004d}.quest-claimed-tag{color:var(--color-semantic-success);letter-spacing:.5px;text-transform:uppercase;font-size:11px;font-weight:700}.quest-locked-tag{color:var(--color-text-muted);font-size:11px;font-weight:600;font-family:var(--font-mono)}.quests-done-banner{border-radius:var(--radius-md);text-align:center;color:var(--color-semantic-warning);background:linear-gradient(135deg,#fbbf2426,#ec48991a);border:1px solid #fbbf2466;margin-top:14px;padding:14px 18px;font-size:13px;font-weight:700;line-height:1.5}.teacher-upgrade{text-align:center;padding:24px 16px}.teacher-upgrade-icon{margin-bottom:12px;font-size:64px}.teacher-upgrade-title{color:var(--color-text-primary);margin-bottom:8px;font-size:22px;font-weight:800}.teacher-upgrade-desc{color:var(--color-text-secondary);max-width:420px;margin-bottom:16px;margin-left:auto;margin-right:auto;font-size:14px;line-height:1.6}.teacher-upgrade-list{text-align:left;flex-direction:column;gap:8px;max-width:320px;margin:16px auto 24px;padding:0;list-style:none;display:flex}.teacher-upgrade-list li{border-radius:var(--radius-md);color:var(--color-text-primary);background:#3b82f60f;border:1px solid #3b82f626;padding:8px 12px;font-size:13px}.teacher-upgrade-cta{background:linear-gradient(135deg, var(--color-brand-primary), var(--color-brand-secondary));color:#fff;border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow-glow);border:none;padding:14px 32px;font-family:inherit;font-size:15px;font-weight:800;transition:all .2s}.teacher-upgrade-cta:hover{transform:translateY(-2px)}.teacher-upgrade-note{color:var(--color-text-muted);margin-top:12px;font-size:11px}.teacher-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.teacher-title{color:var(--color-text-primary);margin-bottom:2px;font-size:18px;font-weight:800}.teacher-subtitle{color:var(--color-text-muted);font-size:12px}.teacher-create-btn{background:var(--color-brand-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:700;transition:all .2s}.teacher-create-btn:hover{box-shadow:var(--shadow-glow);transform:translateY(-1px)}.teacher-create-form{gap:8px;margin-bottom:16px;display:flex}.teacher-input{border:2px solid var(--color-ui-border);border-radius:var(--radius-md);color:var(--color-text-primary);background:#ffffff0a;flex:1;padding:10px 14px;font-family:inherit;font-size:14px}.teacher-input:focus{border-color:var(--color-brand-primary);outline:none}.teacher-create-confirm{background:var(--color-semantic-success);color:#000;border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;border:none;padding:10px 18px;font-family:inherit;font-weight:700}.teacher-empty{text-align:center;border:2px dashed var(--color-ui-border);border-radius:var(--radius-md);background:#ffffff05;padding:32px 16px}.classroom-list{flex-direction:column;gap:10px;display:flex}.classroom-card{border:1px solid var(--color-ui-border-light);border-radius:var(--radius-md);background:#ffffff08;transition:all .2s;overflow:hidden}.classroom-card:hover{background:#ffffff0d}.classroom-card.expanded{border-color:var(--color-brand-primary)}.classroom-summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.classroom-info{flex:1}.classroom-name{color:var(--color-text-primary);margin-bottom:2px;font-size:15px;font-weight:700}.classroom-meta{color:var(--color-text-muted);font-size:12px}.classroom-code{border-radius:var(--radius-md);cursor:pointer;text-align:center;background:#3b82f61a;border:1px solid #3b82f64d;align-items:center;gap:8px;padding:6px 12px;transition:all .15s;display:flex}.classroom-code:hover{background:#3b82f633}.code-label{letter-spacing:1px;color:var(--color-text-muted);font-size:9px}.code-value{font-family:var(--font-mono);color:var(--color-brand-primary);letter-spacing:1.5px;font-size:14px;font-weight:800}.code-hint{opacity:.7;font-size:12px}.classroom-details{border-top:1px solid var(--color-ui-border-light);padding:16px}.classroom-stats{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px;display:grid}.cstat{border-radius:var(--radius-md);text-align:center;background:#ffffff0a;padding:10px 8px}.cstat-value{font-size:20px;font-weight:800;font-family:var(--font-mono);color:var(--color-brand-primary)}.cstat-label{color:var(--color-text-muted);letter-spacing:.5px;font-size:10px}.student-list-header{letter-spacing:1px;color:var(--color-text-muted);text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:700}.student-row{border-radius:var(--radius-sm);background:#ffffff08;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;padding:8px 12px;font-size:13px;display:flex}.student-name{color:var(--color-text-primary);font-weight:600}.student-stats{color:var(--color-text-muted);font-size:12px;font-family:var(--font-mono);gap:10px;display:flex}.streak-tag{color:var(--color-semantic-error)}.empty-students{text-align:center;border-radius:var(--radius-md);color:var(--color-text-secondary);background:#fbbf240f;border:1px dashed #fbbf244d;padding:16px;font-size:13px;line-height:1.5}.empty-students strong{color:var(--color-semantic-warning);font-family:var(--font-mono)}.classroom-actions{margin-top:12px}.classroom-delete-btn{color:var(--color-semantic-error);border-radius:var(--radius-md);cursor:pointer;background:0 0;border:1px solid #f565654d;padding:6px 12px;font-family:inherit;font-size:12px;transition:all .15s}.classroom-delete-btn:hover{background:var(--color-semantic-error);color:#fff}.teacher-mode-toggle{border:1px solid var(--color-ui-border);width:100%;color:var(--color-text-muted);border-radius:var(--radius-md);cursor:pointer;background:0 0;margin-top:16px;padding:10px;font-family:inherit;font-size:12px;transition:all .15s}.teacher-mode-toggle:hover{color:var(--color-text-primary);background:#ffffff0a}.jc-header{margin-bottom:12px}.jc-title{color:var(--color-text-primary);margin-bottom:2px;font-size:16px;font-weight:700}.jc-subtitle{color:var(--color-text-muted);font-size:12px}.jc-input-row{gap:8px;margin-bottom:8px;display:flex}.jc-input{border:2px solid var(--color-ui-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-family:var(--font-mono);letter-spacing:2px;text-align:center;text-transform:uppercase;background:#ffffff0a;flex:1;padding:10px 14px;font-size:15px}.jc-input:focus{border-color:var(--color-brand-primary);outline:none}.jc-join-btn{background:var(--color-brand-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;padding:10px 18px;font-family:inherit;font-size:13px;font-weight:700}.jc-join-btn:disabled{opacity:.4;cursor:not-allowed}.jc-error{color:var(--color-semantic-error);margin-top:4px;font-size:12px}.jc-joined-list{flex-direction:column;gap:6px;margin-top:12px;display:flex}.jc-row{border-radius:var(--radius-md);background:#3b82f614;border:1px solid #3b82f633;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.jc-row-name{color:var(--color-text-primary);font-size:13px;font-weight:700}.jc-row-teacher{color:var(--color-text-muted);font-size:11px}.jc-leave-btn{border:1px solid var(--color-ui-border);color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:50%;width:24px;height:24px;font-size:11px;transition:all .15s}.jc-leave-btn:hover{background:var(--color-semantic-error);color:#fff}.pricing-page{max-width:1200px;min-height:100vh;margin:0 auto;padding:32px 24px 64px}.pricing-back{border:1px solid var(--color-ui-border);color:var(--color-text-secondary);border-radius:var(--radius-md);cursor:pointer;background:0 0;margin-bottom:24px;padding:8px 16px;font-family:inherit;font-size:13px;transition:all .2s}.pricing-back:hover{color:var(--color-text-primary);border-color:var(--color-brand-primary)}.pricing-hero{text-align:center;margin-bottom:40px}.pricing-emoji{margin-bottom:12px;font-size:64px;animation:3s ease-in-out infinite float}@keyframes float{50%{transform:translateY(-10px)}}.pricing-title{color:var(--color-text-primary);letter-spacing:-1px;margin-bottom:8px;font-size:40px;font-weight:900}@media (width<=600px){.pricing-title{font-size:28px}}.pricing-subtitle{color:var(--color-text-muted);max-width:540px;margin:0 auto 24px;font-size:16px;line-height:1.5}.billing-toggle{border:1px solid var(--color-ui-border);border-radius:var(--radius-full);background:#ffffff0d;gap:4px;padding:4px;display:inline-flex}.billing-opt{color:var(--color-text-muted);border-radius:var(--radius-full);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:10px 22px;font-family:inherit;font-size:14px;font-weight:700;transition:all .2s;display:inline-flex}.billing-opt.active{background:var(--color-brand-primary);color:#fff;box-shadow:var(--shadow-glow)}.save-tag{background:var(--color-semantic-warning);color:#1a1b2e;border-radius:var(--radius-full);letter-spacing:.3px;padding:2px 8px;font-size:10px;font-weight:800}.pricing-grid{grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:40px;display:grid}@media (width<=900px){.pricing-grid{grid-template-columns:1fr;max-width:460px;margin-left:auto;margin-right:auto}}.pricing-card{background:var(--color-bg-card);border-radius:var(--radius-xl);border:2px solid;flex-direction:column;padding:32px 24px;transition:transform .2s;display:flex;position:relative}.pricing-card:hover{transform:translateY(-4px)}.pricing-card.featured{background:linear-gradient(135deg, var(--color-bg-card), #3b82f61a);transform:scale(1.03);box-shadow:0 20px 60px #3b82f633}.pricing-card.featured:hover{transform:scale(1.03)translateY(-4px)}.pricing-card.current{opacity:.85}.pricing-badge{border-radius:var(--radius-full);letter-spacing:.5px;white-space:nowrap;padding:4px 14px;font-size:11px;font-weight:800;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.pricing-card-header{margin-bottom:16px}.pricing-card-name{letter-spacing:-.5px;margin:0 0 4px;font-size:22px;font-weight:800}.pricing-card-sub{color:var(--color-text-muted);margin:0;font-size:13px}.pricing-price-row{margin-bottom:4px}.pricing-price{color:var(--color-text-primary);font-size:38px;font-weight:900;font-family:var(--font-mono)}.pricing-price-unit{color:var(--color-text-muted);margin-left:6px;font-size:14px}.pricing-yearly-note{color:var(--color-semantic-warning);margin-bottom:16px;font-size:11px;font-style:italic}.seats-picker{border-radius:var(--radius-md);background:#10d9c40f;border:1px solid #10d9c433;margin:16px 0;padding:12px}.seats-label{color:var(--color-text-muted);margin-bottom:6px;font-size:12px;display:block}.seats-input-row{align-items:center;gap:6px;display:flex}.seats-btn{background:var(--color-bg-tertiary);border:1px solid var(--color-ui-border);width:28px;height:28px;color:var(--color-text-primary);border-radius:var(--radius-sm);cursor:pointer;font-family:inherit;font-size:14px;font-weight:900}.seats-btn:hover{background:var(--color-brand-primary);color:#fff}.seats-input{text-align:center;border:1px solid var(--color-ui-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-family:var(--font-mono);-moz-appearance:textfield;background:#ffffff0d;flex:1;padding:4px;font-size:14px;font-weight:700}.seats-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.seats-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.seats-total{color:var(--color-text-secondary);text-align:center;margin-top:8px;font-size:12px}.seats-total strong{color:var(--color-brand-secondary)}.pricing-features{flex-direction:column;flex:1;gap:8px;margin:16px 0;padding:0;list-style:none;display:flex}.pricing-features li{align-items:flex-start;gap:10px;font-size:13px;line-height:1.4;display:flex}.pricing-features li.included{color:var(--color-text-primary)}.pricing-features li.excluded{color:var(--color-text-muted)}.feature-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;margin-top:1px;font-size:11px;font-weight:800;display:flex}.pricing-features .included .feature-icon{background:var(--color-semantic-success);color:#1a1b2e}.pricing-features .excluded .feature-icon{background:var(--color-bg-tertiary);color:var(--color-text-muted)}.pricing-cta{border-radius:var(--radius-md);cursor:pointer;border:none;margin-top:16px;padding:14px 24px;font-family:inherit;font-size:15px;font-weight:800;transition:all .2s}.pricing-cta:hover:not(:disabled):not(.current){transform:translateY(-2px);box-shadow:0 12px 24px #0000004d}.pricing-cta:disabled{opacity:.6;cursor:not-allowed}.pricing-cta.current{color:var(--color-text-secondary);cursor:default;border:1px solid var(--color-ui-border);background:#ffffff0d}.pricing-manage{text-align:center;margin-bottom:32px}.manage-link{border:1px solid var(--color-ui-border);color:var(--color-text-secondary);border-radius:var(--radius-md);cursor:pointer;background:0 0;padding:10px 24px;font-family:inherit;font-size:13px;transition:all .2s}.manage-link:hover{color:var(--color-text-primary)}.pricing-faq{max-width:720px;margin:0 auto}.faq-title{color:var(--color-text-primary);text-align:center;margin-bottom:24px;font-size:24px;font-weight:800}.faq-item{border:1px solid var(--color-ui-border-light);border-radius:var(--radius-md);background:#ffffff08;margin-bottom:8px;padding:14px 18px}.faq-item summary{cursor:pointer;color:var(--color-text-primary);padding-right:24px;font-size:14px;font-weight:700;list-style:none;position:relative}.faq-item summary:after{content:"+";color:var(--color-brand-primary);font-size:22px;font-weight:400;transition:transform .2s;position:absolute;right:0}.faq-item[open] summary:after{transform:rotate(45deg)}.faq-item p{color:var(--color-text-secondary);margin:12px 0 0;font-size:13px;line-height:1.6}:root{--text-primary:var(--color-text-primary);font-family:var(--font-sans);color:var(--color-text-primary);background:var(--color-bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.5}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-primary);min-height:100vh;margin:0}#root,.app{min-height:100vh}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.lang-toggle{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-sans);cursor:pointer;padding:5px 10px;font-size:13px;font-weight:600;transition:all .2s}.lang-toggle:hover{border-color:var(--accent-purple);background:#b794f41a}.navbar{background:var(--bg-secondary);border-bottom:1px solid var(--border);z-index:100;justify-content:space-between;align-items:center;padding:16px 24px;display:flex;position:sticky;top:0}.navbar-brand{font-family:var(--font-mono);color:var(--accent-green);cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;font-size:20px;font-weight:600;display:flex}.navbar-brand span{color:var(--text-muted)}.navbar-stats{align-items:center;gap:20px;display:flex}.stat-badge{background:var(--bg-tertiary);border-radius:var(--radius-sm);color:var(--text-secondary);align-items:center;gap:6px;padding:6px 12px;font-size:14px;font-weight:500;display:flex}.stat-badge .value{color:var(--accent-amber);font-family:var(--font-mono)}.stat-badge.streak .value{color:var(--accent-green)}.navbar-nav{gap:8px;display:flex}.nav-btn{border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;background:0 0;border:1px solid #0000;padding:8px 16px;font-size:14px;transition:all .2s}.nav-btn:hover{color:var(--text-primary);background:var(--bg-tertiary)}.nav-btn.active{color:var(--accent-green);border-color:var(--accent-green);background:#4ade8014}.dashboard{max-width:1100px;margin:0 auto;padding:32px 24px}.dashboard-header{margin-bottom:32px}.dashboard-header h1{margin-bottom:4px;font-size:28px;font-weight:600}.dashboard-header p{color:var(--text-secondary);font-size:15px}.dashboard-grid{grid-template-columns:1fr 320px;gap:24px;display:grid}@media (width<=768px){.dashboard-grid{grid-template-columns:1fr}.navbar{flex-wrap:wrap;gap:8px;padding:12px 16px}.navbar-brand{font-size:16px}.navbar-stats{flex-wrap:wrap;order:3;justify-content:center;gap:8px;width:100%}.stat-badge{padding:4px 8px;font-size:12px}.navbar-nav{gap:4px}.nav-btn{padding:6px 10px;font-size:13px}.dashboard{padding:16px 12px}.dashboard-header{margin-bottom:20px}.dashboard-header h1{font-size:22px}.card{padding:16px}.track-card{gap:12px;padding:12px}.track-icon{width:40px;height:40px;font-size:22px}.track-info h3{font-size:14px}.lesson-topbar{gap:10px;padding:10px 12px}.lesson-content{padding:16px 12px}.lesson-title{font-size:22px}.code-textarea{min-height:200px;font-size:13px}.editor-header{flex-wrap:wrap;gap:8px;padding:10px 12px}.editor-actions{justify-content:flex-end;width:100%}.xp-reward .xp-amount{font-size:28px}.xp-reward-actions{flex-direction:column;gap:8px}.profile{padding:16px 12px}.badges-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}.track-view{padding:16px 12px}.track-view-header h1{font-size:20px}.lesson-item{gap:12px;padding:12px}.ai-response{padding:14px}.lang-toggle{padding:4px 8px;font-size:12px}}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px}.card-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.card-header h2{font-size:18px;font-weight:600}.card-header .subtitle{color:var(--text-muted);font-size:13px}.continue-card{background:linear-gradient(135deg, var(--bg-card) 0%, #4ade8014 100%);cursor:pointer;border-color:#4ade8033;transition:all .2s}.continue-card:hover{border-color:var(--accent-green);transform:translateY(-2px)}.continue-card .lesson-title{margin-bottom:4px;font-size:16px;font-weight:500}.continue-card .track-name{color:var(--text-muted);font-size:13px}.continue-btn{background:var(--accent-green);color:var(--bg-primary);border-radius:var(--radius-sm);font-family:var(--font-sans);cursor:pointer;border:none;margin-top:16px;padding:10px 24px;font-size:14px;font-weight:600;transition:all .2s}.continue-btn:hover{opacity:.9;transform:translateY(-1px)}.track-list{flex-direction:column;gap:12px;display:flex}.track-card{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:16px;padding:16px;transition:all .2s;display:flex}.track-card:hover{border-color:var(--text-muted);transform:translate(4px)}.track-icon{background:var(--bg-primary);border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:28px;display:flex}.track-info{flex:1;min-width:0}.track-info h3{margin-bottom:6px;font-size:15px;font-weight:500}.track-info .meta{color:var(--text-muted);font-size:12px}.progress-bar{background:var(--bg-primary);border-radius:3px;width:100%;height:6px;margin-top:8px;overflow:hidden}.progress-bar-fill{border-radius:3px;height:100%;transition:width .5s}.sidebar-cards{flex-direction:column;gap:16px;display:flex}.level-card{text-align:center}.level-label{color:var(--text-muted);margin-bottom:4px;font-size:13px}.level-name{margin-bottom:8px;font-size:24px;font-weight:700}.xp-display{font-family:var(--font-mono);color:var(--text-secondary);font-size:14px}.xp-display .current{color:var(--accent-amber)}.streak-card{text-align:center}.streak-number{font-size:48px;font-weight:700;font-family:var(--font-mono);margin:8px 0;line-height:1}.streak-label{color:var(--text-muted);font-size:13px}.weak-spot-item{border-radius:var(--radius-sm);cursor:pointer;background:#f5656514;align-items:center;gap:12px;margin-bottom:8px;padding:10px;transition:all .2s;display:flex}.weak-spot-item:hover{background:#f5656526}.weak-spot-item .label{font-size:13px;font-weight:500}.weak-spot-item .reason{color:var(--text-muted);font-size:11px}.lesson-view{flex-direction:column;min-height:100vh;display:flex}.lesson-topbar{background:var(--bg-secondary);border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:12px 24px;display:flex}.back-btn{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;padding:6px 12px;font-size:13px;transition:all .2s}.back-btn:hover{color:var(--text-primary);border-color:var(--text-muted)}.lesson-progress{background:var(--bg-primary);border-radius:3px;flex:1;height:6px;overflow:hidden}.lesson-progress-fill{background:var(--accent-green);border-radius:3px;height:100%;transition:width .5s}.lesson-xp-badge{font-family:var(--font-mono);color:var(--accent-amber);font-size:13px}.lesson-content{flex-direction:column;flex:1;width:100%;max-width:900px;margin:0 auto;padding:32px 24px;display:flex}.lesson-hook{color:var(--accent-amber);border-left:3px solid var(--accent-amber);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:#d4a85314;margin-bottom:24px;padding:16px;font-size:15px;font-style:italic}.lesson-title{margin-bottom:16px;font-size:28px;font-weight:700}.lesson-concept{color:var(--text-secondary);white-space:pre-line;margin-bottom:32px;font-size:15px;line-height:1.7}.code-editor-section{margin-top:16px}.editor-header{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md) var(--radius-md) 0 0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.editor-header h3{font-size:14px;font-weight:600;font-family:var(--font-mono);color:var(--accent-green)}.editor-actions{gap:8px;display:flex}.run-btn{background:var(--accent-green);color:var(--bg-primary);border-radius:var(--radius-sm);font-family:var(--font-mono);cursor:pointer;border:none;padding:6px 16px;font-size:13px;font-weight:600;transition:all .2s}.run-btn:hover{opacity:.9}.run-btn:disabled{opacity:.5;cursor:not-allowed}.reset-btn{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-mono);cursor:pointer;padding:6px 12px;font-size:13px;transition:all .2s}.reset-btn:hover{color:var(--text-primary)}.editor-instructions{background:var(--bg-tertiary);border-left:1px solid var(--border);border-right:1px solid var(--border);color:var(--text-secondary);padding:16px;font-size:14px}.code-textarea{border:1px solid var(--border);width:100%;min-height:300px;color:var(--text-primary);font-family:var(--font-mono);resize:vertical;tab-size:2;background:#0d0f17;border-top:none;outline:none;padding:16px;font-size:14px;line-height:1.6}.code-textarea:focus{border-color:var(--accent-green)}.output-panel{border:1px solid var(--border);border-radius:0 0 var(--radius-md) var(--radius-md);border-top:none;overflow:hidden}.output-header{background:var(--bg-secondary);font-family:var(--font-mono);color:var(--text-muted);align-items:center;gap:8px;padding:8px 16px;font-size:12px;display:flex}.output-content{font-family:var(--font-mono);white-space:pre-wrap;background:#0d0f17;min-height:60px;max-height:200px;padding:12px 16px;font-size:13px;line-height:1.6;overflow-y:auto}.output-content.success{color:var(--success)}.output-content.error{color:var(--error)}.output-content.neutral{color:var(--text-secondary)}.test-results{background:var(--bg-tertiary);border:1px solid var(--border);border-top:none;padding:16px}.test-item{align-items:center;gap:8px;padding:6px 0;font-size:13px;display:flex}.test-item.pass{color:var(--success)}.test-item.fail{color:var(--error)}.test-icon{font-size:16px}.xp-reward{text-align:center;border-radius:var(--radius-lg);background:#4ade8014;border:1px solid #4ade8033;margin-top:24px;padding:24px}.xp-reward h3{color:var(--accent-green);margin-bottom:8px;font-size:20px}.xp-reward .xp-amount{font-family:var(--font-mono);color:var(--accent-amber);font-size:36px;font-weight:700}.xp-reward .message{color:var(--text-secondary);margin-top:8px;font-size:14px}.xp-reward-actions{justify-content:center;gap:12px;margin-top:16px;display:flex}.ai-section{margin-top:24px}.go-deeper-btn{background:var(--bg-tertiary);border:1px dashed var(--accent-purple);border-radius:var(--radius-md);width:100%;color:var(--accent-purple);font-family:var(--font-sans);cursor:pointer;padding:12px;font-size:14px;font-weight:500;transition:all .2s}.go-deeper-btn:hover{background:#b794f41a}.ai-response{background:var(--bg-tertiary);border:1px solid var(--accent-purple);border-radius:var(--radius-md);margin-top:12px;padding:20px}.ai-response-header{color:var(--accent-purple);align-items:center;gap:8px;margin-bottom:12px;font-size:13px;font-weight:600;display:flex}.ai-response-content{color:var(--text-secondary);white-space:pre-wrap;font-size:14px;line-height:1.7}.ai-response-content code{background:var(--bg-primary);font-family:var(--font-mono);color:var(--accent-green);border-radius:3px;padding:2px 6px;font-size:13px}.ai-feedback{border-top:1px solid var(--border);color:var(--text-muted);align-items:center;gap:12px;margin-top:16px;padding-top:12px;font-size:13px;display:flex}.ai-feedback button{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;padding:4px 12px;font-size:16px;transition:all .2s}.ai-feedback button:hover{border-color:var(--accent-purple)}.ai-feedback button.selected{border-color:var(--accent-purple);background:#b794f426}.profile{max-width:800px;margin:0 auto;padding:32px 24px}.profile-header{text-align:center;margin-bottom:32px}.profile-level{margin-bottom:4px;font-size:48px;font-weight:700}.profile-xp{font-family:var(--font-mono);color:var(--accent-amber);font-size:18px}.badges-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-top:16px;display:grid}.badge-card{text-align:center;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 12px;transition:all .2s}.badge-card.earned{border-color:var(--accent-amber);background:#d4a85314}.badge-card.locked{opacity:.4}.badge-icon{margin-bottom:8px;font-size:32px}.badge-name{font-size:12px;font-weight:600}.track-view{max-width:700px;margin:0 auto;padding:32px 24px}.track-view-header{align-items:center;gap:16px;margin-bottom:24px;display:flex}.track-view-icon{background:var(--bg-tertiary);border-radius:var(--radius-lg);justify-content:center;align-items:center;width:64px;height:64px;font-size:40px;display:flex}.track-view-header h1{font-size:24px;font-weight:600}.lesson-list{flex-direction:column;gap:8px;display:flex}.lesson-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:16px;padding:16px;transition:all .2s;display:flex}.lesson-item:hover{border-color:var(--text-muted)}.lesson-item.completed{border-color:#4ade804d}.lesson-number{background:var(--bg-tertiary);width:32px;height:32px;font-family:var(--font-mono);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.lesson-item.completed .lesson-number{background:var(--accent-green);color:var(--bg-primary)}.lesson-item-info{flex:1}.lesson-item-info h3{margin-bottom:2px;font-size:15px;font-weight:500}.lesson-item-info .xp-label{color:var(--accent-amber);font-size:12px;font-family:var(--font-mono)}.leaderboard-item{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:10px 0;display:flex}.leaderboard-item:last-child{border-bottom:none}.leaderboard-rank{font-family:var(--font-mono);text-align:center;width:24px;color:var(--text-muted);font-size:14px;font-weight:600}.leaderboard-rank.gold{color:var(--accent-amber)}.leaderboard-name{flex:1;font-size:14px}.leaderboard-name.you{color:var(--accent-green);font-weight:600}.leaderboard-xp{font-family:var(--font-mono);color:var(--accent-amber);font-size:13px}.simplified-hint{border-radius:var(--radius-md);color:var(--accent-amber);background:#d4a85314;border:1px solid #d4a8534d;margin-bottom:16px;padding:16px;font-size:14px}.daily-card{background:linear-gradient(135deg, var(--bg-card) 0%, #b794f414 100%);cursor:pointer;border-color:#b794f440;transition:all .2s}.daily-card:hover{border-color:var(--accent-purple);transform:translateY(-2px)}.daily-badge{color:var(--accent-purple);background:#b794f41f;border-radius:12px;padding:3px 8px;font-size:11px;font-weight:500}.stream-cursor{color:var(--accent-purple);margin-left:2px;animation:1s ease-in-out infinite pulse;display:inline-block}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:.3s ease-out fadeIn}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.slide-up{animation:.4s ease-out slideUp}.loading-pulse{animation:1.5s ease-in-out infinite pulse}.phase-tabs{border-bottom:1px solid var(--border);gap:4px;padding:12px 16px;display:flex}.phase-tab{letter-spacing:.5px;cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:600;transition:all .2s}.phase-tab.active{background:var(--track-color,#00d4ff);color:#000}.phase-tab.done{color:var(--accent-green)}.phase-tab.locked{opacity:.4;cursor:default}.exercise-card{background:var(--card,var(--bg-card));border:1px solid var(--border);border-radius:12px;margin-bottom:16px;padding:24px}.exercise-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:16px;font-size:14px;font-weight:700}.option-btn{text-align:left;border:1px solid var(--border);background:var(--bg-secondary);width:100%;color:var(--text);cursor:pointer;border-radius:8px;margin-bottom:8px;padding:12px 16px;font-size:14px;transition:all .2s}.option-btn:hover{border-color:var(--accent-blue)}.option-btn.correct{border-color:var(--accent-green);background:#00ff6414}.option-btn.wrong{border-color:var(--accent-red,#ff4757);background:#ff475714}.option-feedback{border-radius:6px;margin-bottom:8px;padding:8px 12px;font-size:13px}.drag-item{border:1px solid var(--border);background:var(--bg-secondary);cursor:grab;-webkit-user-select:none;user-select:none;border-radius:8px;align-items:center;gap:10px;margin-bottom:8px;padding:10px 14px;display:flex}.drag-item.dragging{opacity:.5}.drag-item.over{border-color:var(--accent-blue)}.hint-box{color:var(--accent-amber);background:#ffe66414;border:1px solid #ffe6644d;border-radius:8px;margin-top:12px;padding:12px 16px;font-size:13px}.test-row{font-size:13px;font-family:var(--font-mono);border-radius:6px;align-items:center;gap:10px;margin-bottom:4px;padding:8px 12px;display:flex}.test-row.pass{color:var(--accent-green);background:#00ff640f}.test-row.fail{color:var(--accent-red,#ff4757);background:#ff47570f}.test-row.pending{background:var(--bg-secondary);color:var(--text-muted)}.celebration{text-align:center;border:1px solid var(--accent-green);background:linear-gradient(135deg,#00d4641a,#00d4ff1a);border-radius:16px;padding:32px}.phase-progress-bar{gap:4px;margin-bottom:8px;display:flex}.phase-progress-dot{background:var(--border);border-radius:50%;width:8px;height:8px;transition:background .3s}.phase-progress-dot.done{background:var(--accent-green)}.phase-progress-dot.active{background:var(--accent-blue)}.learn-hook{color:var(--text-muted);border-left:3px solid var(--accent-blue);margin-bottom:24px;padding-left:16px;font-size:18px;font-style:italic}.video-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;align-items:center;gap:16px;margin-bottom:20px;padding:16px;display:flex}.video-thumbnail{background:#1a1a2e;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:80px;height:56px;font-size:24px;display:flex}.concept-text{white-space:pre-wrap;font-size:15px;line-height:1.7}.realworld-callout{background:#ffc8640f;border:1px solid #ffc86440;border-radius:10px;margin:20px 0;padding:16px}.code-display{border:1px solid var(--border);font-family:var(--font-mono);white-space:pre;background:#0d0f1a;border-radius:8px;margin:12px 0;padding:16px;font-size:13px;overflow-x:auto}.solution-reveal{background:#00d4ff0d;border:1px solid #00d4ff33;border-radius:8px;margin-top:12px;padding:16px}.mascot{cursor:pointer;-webkit-user-select:none;user-select:none;z-index:999;transition:filter .2s;position:relative}.mascot:hover{filter:brightness(1.15)drop-shadow(0 0 12px #7c5cff66)}.mascot:active{transform:scale(.95)}.mascot:focus-visible{outline:3px solid var(--color-brand-primary);outline-offset:4px;border-radius:50%}.mascot-fixed-br{position:fixed;bottom:24px;right:24px}.mascot-fixed-bl{position:fixed;bottom:24px;left:24px}.mascot-inline{display:inline-block}.mascot-bubble{color:#1a1b2e;white-space:nowrap;white-space:normal;text-align:center;background:#fff;border-radius:16px;max-width:280px;padding:10px 16px;font-size:14px;font-weight:600;animation:.4s cubic-bezier(.34,1.56,.64,1) bubbleIn;position:absolute;bottom:calc(100% + 12px);right:0;box-shadow:0 8px 24px #00000026,0 0 0 3px #7c5cff33}.mascot-bubble:after{content:"";border-top:10px solid #fff;border-left:10px solid #0000;border-right:10px solid #0000;width:0;height:0;position:absolute;bottom:-10px;right:32px}.mascot-fixed-bl .mascot-bubble{left:0;right:auto}.mascot-fixed-bl .mascot-bubble:after{left:32px;right:auto}@keyframes bubbleIn{0%{opacity:0;transform:translateY(8px)scale(.85)}to{opacity:1;transform:translateY(0)scale(1)}}.toast-stack{z-index:1000;pointer-events:none;flex-direction:column;gap:12px;display:flex;position:fixed;top:80px;right:24px}.toast{pointer-events:auto;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid #ffffff1a;border-left:4px solid var(--color-brand-primary);color:#fff;cursor:pointer;background:linear-gradient(135deg,#1e1e32fa,#282841fa);border-radius:12px;align-items:center;gap:12px;min-width:240px;max-width:320px;padding:12px 16px;transition:transform .2s;display:flex;box-shadow:0 12px 32px #0000004d,0 0 0 1px #ffffff0d}.toast:hover{transform:translate(-4px)}.toast-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.toast-content{flex:1;min-width:0}.toast-title{color:#fff;font-size:16px;font-weight:700}.toast-subtitle{color:#fff9;margin-top:2px;font-size:12px}.coin-badge{color:#1a1b2e;background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:14px;font-weight:700;display:inline-flex;box-shadow:0 4px 12px #fbbf244d}.coin-badge .icon{font-size:16px}.sound-toggle{cursor:pointer;color:#fff;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;padding:6px 10px;font-size:16px;transition:all .2s}.sound-toggle:hover{background:#ffffff1a;transform:scale(1.05)}.lootbox-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2000;background:#0a0a14eb;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.lootbox-card{text-align:center;background:linear-gradient(135deg,#1f1f36,#2a2a4a);border:2px solid #ffffff1a;border-radius:24px;width:90%;max-width:480px;padding:40px;box-shadow:0 24px 64px #00000080,0 0 0 1px #ffffff0d}.lootbox-chest{cursor:pointer;filter:drop-shadow(0 8px 24px #fbbf2466);font-size:96px;display:inline-block}.lootbox-chest:hover{animation:.5s ease-in-out infinite chestShake}@keyframes chestShake{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}.levelup-overlay{z-index:2000;background:radial-gradient(circle,#7c5cff4d,#0a0a14f2);justify-content:center;align-items:center;animation:.4s fadeIn;display:flex;position:fixed;inset:0}.levelup-card{text-align:center;color:#fff}.levelup-title{letter-spacing:4px;color:#fbbf24;text-transform:uppercase;margin-bottom:8px;font-size:14px;font-weight:700;animation:.6s titleSlide}.levelup-level{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#fbbf24,#f59e0b);-webkit-background-clip:text;background-clip:text;margin:16px 0;font-size:96px;font-weight:900;line-height:1;animation:.8s cubic-bezier(.34,1.56,.64,1) levelPop}.levelup-name{margin-bottom:24px;font-size:32px;font-weight:800;animation:.6s .3s both titleSlide}@keyframes titleSlide{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes levelPop{0%{opacity:0;transform:scale(.3)rotate(-10deg)}60%{transform:scale(1.15)rotate(5deg)}to{opacity:1;transform:scale(1)rotate(0)}}.lootbox-drops{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px;display:grid}.lootbox-drop{text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff0d;border:2px solid;border-radius:16px;padding:20px 12px;transition:transform .2s}.lootbox-drop:hover{transform:translateY(-4px)scale(1.03)}.lootbox-drop-icon{filter:drop-shadow(0 4px 8px #0000004d);margin-bottom:8px;font-size:48px}.lootbox-drop-name{color:#fff;justify-content:center;align-items:center;min-height:32px;margin-bottom:4px;font-size:13px;font-weight:700;display:flex}.lootbox-drop-rarity{letter-spacing:1px;text-transform:uppercase;font-size:11px;font-weight:700}.achievement-overlay{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:2100;background:#0a0a14eb;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.achievement-card{text-align:center;background:linear-gradient(135deg,#1f1f36 0%,#2a2a4a 100%);border:2px solid;border-radius:24px;width:100%;max-width:440px;padding:40px 32px;position:relative;overflow:hidden}.achievement-icon{filter:drop-shadow(0 8px 16px #0000004d);background:linear-gradient(135deg,#ffffff1a,#ffffff05);border:3px solid;border-radius:50%;justify-content:center;align-items:center;width:96px;height:96px;margin:16px auto 20px;font-size:56px;display:flex;position:relative}.achievement-name{margin-bottom:8px;font-size:28px;font-weight:800;position:relative}.achievement-desc{color:#ffffffb3;margin-bottom:24px;font-size:15px;position:relative}.achievement-rewards{justify-content:center;gap:20px;margin-bottom:24px;display:flex;position:relative}.achievement-reward{color:#fff;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:12px;align-items:center;gap:6px;padding:8px 14px;font-size:14px;display:flex}.achievement-dismiss{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:12px;padding:12px 32px;font-size:14px;font-weight:700;transition:all .2s;position:relative}.achievement-dismiss:hover{background:#ffffff26;transform:translateY(-2px)}.levelup-rays{pointer-events:none;width:200vmax;height:200vmax;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.levelup-burst{pointer-events:none;filter:blur(40px);border-radius:50%;width:600px;height:600px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.levelup-card{text-align:center;z-index:10;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,#1f1f36fa,#2a2a4afa);border:2px solid #ffffff26;border-radius:32px;padding:48px 40px;position:relative;box-shadow:0 40px 80px #00000080}.streak-flame{cursor:default;transition:filter .3s}.streak-flame.clickable{cursor:pointer}.streak-flame.clickable:hover{transform:scale(1.05)}.streak-flame.legendary{animation:2s ease-in-out infinite legendaryGlow}@keyframes legendaryGlow{0%,to{filter:drop-shadow(0 0 12px #ec489999)}50%{filter:drop-shadow(0 0 24px #f59e0bcc)}}@keyframes xpShine{0%{background-position:-100% 0}to{background-position:100% 0}}.onboarding-root{z-index:5000;background:linear-gradient(135deg,#0f0f1f 0%,#1a1a2e 50%,#16213e 100%);flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden auto}.onboarding-bg-glow{pointer-events:none;filter:blur(120px);opacity:.4;border-radius:50%;animation:20s ease-in-out infinite glowFloat;position:fixed}.onboarding-bg-glow-1{background:radial-gradient(circle, var(--color-brand-primary) 0%, transparent 70%);width:600px;height:600px;top:-200px;left:-200px}.onboarding-bg-glow-2{background:radial-gradient(circle,#10d9c4 0%,#0000 70%);width:500px;height:500px;animation-delay:-10s;bottom:-150px;right:-150px}@keyframes glowFloat{0%,to{transform:translate(0)scale(1)}33%{transform:translate(50px,-30px)scale(1.1)}66%{transform:translate(-30px,40px)scale(.95)}}.onboarding-progress{z-index:10;background:#ffffff0d;height:4px;position:fixed;top:0;left:0;right:0}.onboarding-progress-fill{background:linear-gradient(90deg, var(--color-brand-primary), #10d9c4, #f59e0b);height:100%;transition:width .5s cubic-bezier(.34,1.56,.64,1);box-shadow:0 0 12px #7c5cff99}.onboarding-container{z-index:2;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:60px 24px 40px;display:flex;position:relative}.onboarding-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#1f1f36b3;border:1px solid #ffffff14;border-radius:28px;width:100%;max-width:720px;padding:48px 40px;position:relative;box-shadow:0 24px 64px #0006}.onboarding-step{text-align:center}.onboarding-emoji{filter:drop-shadow(0 8px 16px #0000004d);margin-bottom:16px;font-size:72px;animation:3s ease-in-out infinite emojiFloat}@keyframes emojiFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.onboarding-title{color:#fff;margin-bottom:12px;font-size:32px;font-weight:800;line-height:1.2}.onboarding-subtitle{color:#ffffffa6;max-width:480px;margin-bottom:32px;margin-left:auto;margin-right:auto;font-size:16px;line-height:1.5}.onboarding-input{color:#fff;text-align:center;background:#ffffff0f;border:2px solid #ffffff1a;border-radius:16px;width:100%;max-width:420px;margin-bottom:16px;padding:16px 20px;font-family:inherit;font-size:18px;transition:all .2s}.onboarding-input:focus{border-color:var(--color-brand-primary);background:#ffffff1a;outline:none;box-shadow:0 0 0 4px #7c5cff33}.onboarding-input::placeholder{color:#ffffff4d}.onboarding-options{gap:12px;max-width:600px;margin-bottom:24px;margin-left:auto;margin-right:auto;display:grid}.onboarding-options.grid-2,.onboarding-options.grid-2-tight{grid-template-columns:repeat(2,1fr)}.onboarding-options.grid-4{grid-template-columns:repeat(4,1fr)}@media (width<=600px){.onboarding-options.grid-2,.onboarding-options.grid-2-tight,.onboarding-options.grid-4{grid-template-columns:1fr}}.onboarding-option{cursor:pointer;color:#fff;text-align:center;background:#ffffff0a;border:2px solid #ffffff14;border-radius:18px;flex-direction:column;align-items:center;gap:8px;padding:24px 16px;font-family:inherit;transition:all .2s;display:flex;position:relative}.onboarding-option:hover{background:#7c5cff1a;border-color:#7c5cff66;transform:translateY(-2px)}.onboarding-option.selected{border-color:var(--color-brand-primary);background:#7c5cff2e;box-shadow:0 0 0 4px #7c5cff26,0 8px 24px #7c5cff40}.onboarding-option.compact{text-align:left;flex-direction:row;gap:14px;padding:16px 18px}.onboarding-option.compact>div:nth-child(2){flex:1}.onboarding-option-icon{flex-shrink:0;font-size:40px}.onboarding-option.compact .onboarding-option-icon{font-size:32px}.onboarding-option-label{color:#fff;font-size:15px;font-weight:700;line-height:1.3}.onboarding-option-desc{color:#ffffff80;font-size:12px;line-height:1.4}.onboarding-check{color:#1a1b2e;background:#10d9c4;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;font-weight:800;display:flex;position:absolute;top:10px;right:10px}.onboarding-cta{background:linear-gradient(135deg, var(--color-brand-primary), #5b3fd9);color:#fff;cursor:pointer;border:none;border-radius:16px;margin-top:8px;padding:16px 40px;font-family:inherit;font-size:17px;font-weight:700;transition:all .2s;box-shadow:0 8px 24px #7c5cff66}.onboarding-cta:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 32px #7c5cff80}.onboarding-cta:disabled{opacity:.4;cursor:not-allowed}.onboarding-back{color:#ffffff80;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 12px;font-family:inherit;font-size:14px;transition:all .2s;position:absolute;top:24px;left:24px}.onboarding-back:hover{color:#fff;background:#ffffff0d}.onboarding-step-counter{color:#fff6;font-size:13px;font-family:var(--font-mono);margin-top:24px}.auth-mode-switch{background:#ffffff0a;border-radius:12px;gap:4px;max-width:320px;margin:0 auto 24px;padding:4px;display:flex}.auth-mode-btn{color:#ffffff80;cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:10px;font-family:inherit;font-size:14px;font-weight:600;transition:all .2s}.auth-mode-btn.active{color:#fff;background:#7c5cff33}.auth-error{color:#fca5a5;background:#ef44441a;border:1px solid #ef44444d;border-radius:10px;max-width:420px;margin:8px auto 16px;padding:10px 14px;font-size:13px}.onboarding-guest-link{color:#fff6;cursor:pointer;background:0 0;border:none;margin-top:12px;font-family:inherit;font-size:13px;text-decoration:underline}.onboarding-guest-link:hover{color:#ffffffb3}.plan-step .plan-cards{grid-template-columns:repeat(2,1fr);gap:12px;max-width:560px;margin:24px auto;display:grid}@media (width<=600px){.plan-step .plan-cards{grid-template-columns:1fr}}.plan-card{text-align:left;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:14px;padding:16px 18px}.plan-card-label{letter-spacing:1px;color:#fff6;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:700}.plan-card-value{color:#10d9c4;font-size:18px;font-weight:700}.parental-notice{text-align:left;background:#fbbf2414;border:1px solid #fbbf244d;border-radius:14px;max-width:460px;margin:0 auto 20px;padding:16px 20px}.parental-checkbox{cursor:pointer;color:#ffffffd9;text-align:left;-webkit-user-select:none;user-select:none;background:#7c5cff14;border:1px solid #7c5cff4d;border-radius:12px;align-items:flex-start;gap:10px;max-width:460px;margin:0 auto 16px;padding:14px 16px;font-size:13px;line-height:1.5;transition:all .2s;display:flex}.parental-checkbox:hover{background:#7c5cff1f}.parental-checkbox input[type=checkbox]{cursor:pointer;width:20px;height:20px;accent-color:var(--color-brand-primary);flex-shrink:0;margin-top:2px}.parental-checkbox strong{color:#fbbf24}.onboarding-root.age-young-kid .onboarding-title{letter-spacing:-.5px;font-size:36px}.onboarding-root.age-young-kid .onboarding-subtitle{font-size:17px}.onboarding-root.age-young-kid .onboarding-emoji{font-size:88px}.onboarding-root.age-young-kid .onboarding-option{padding:28px 16px}.onboarding-root.age-young-kid .onboarding-option-icon{font-size:48px}.onboarding-root.age-young-kid .onboarding-option-label{font-size:17px}.onboarding-root.age-young-kid .onboarding-cta{padding:18px 44px;font-size:19px}.onboarding-root.age-teen .onboarding-emoji{font-size:64px}.onboarding-root.age-young-adult .onboarding-card{background:#141423d9}.onboarding-root.age-young-adult .onboarding-emoji{font-size:56px}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
