:root{--bg:#050505;--bg2:#0a0a0a;--surface:#121212;--surface2:#1a1a1a;--border:#2a2a2a;--border2:#383838;--g1:#ffffff1a;--g2:#ffffff26;--g3:#ffffff38;--g-border:#ffffff38;--g-border-hi:#ffffff61;--chrome-bg-topbar:#050505;--chrome-bg-menu:#050505eb;--chrome-bg-popover:#050505f0;--chrome-bg-strip:#0a0a0a;--chrome-bg-overlay:#000000f0;--chrome-border:#ffffff26;--cyan:#4a6f94;--cyan-rgb:74, 111, 148;--cyan2:#3d5c7d;--violet:#6b6f8a;--violet-rgb:107, 111, 138;--green:#30f28a;--red:#ff3a5c;--amber:#ffcc2a;--pink:#8a6f7a;--pink-rgb:138, 111, 122;--brand-gradient:linear-gradient(90deg, #1e3a5f, #3d5875, #64748b);--logo-face:linear-gradient(180deg, #f4f8ff 0%, #a9c8f0 55%, #6f93bd 100%);--brand-wordmark-shadow:#0c1c30;--heading:#b0c0d4;--text:#eef4ff;--text2:#c0d4f0;--text3:#8aaed0;--spec-top:#ffffff47;--spec-side:#ffffff1a;--font-display:"Space Grotesk", sans-serif;--font-heading:"Syne", sans-serif;--font-body:"Inter", "Space Grotesk", sans-serif;--font-mono:"IBM Plex Mono", monospace;--topbar-h:56px;--radius-card:20px;--radius-card-lg:24px;--radius-btn:14px;--shadow-hi:inset 0 2.5px 0 #ffffff61, inset 0 -1.5px 0 #00000038, 0 16px 60px #00000073, 0 4px 20px #0000004d;--shadow-btn:0 0 28px rgba(var(--cyan-rgb), .35), 0 6px 20px #00000073, inset 0 1px 0 #ffffff40}body.light-mode{--bg:#e9edf3;--bg2:#dde3ec;--surface:#fff;--surface2:#f1f4f8;--border:#c8d2df;--border2:#aebccd;--cyan:#3d5c7d;--cyan-rgb:61, 92, 125;--cyan2:#2f4a66;--violet:#5b5f7d;--violet-rgb:91, 95, 125;--green:#185;--red:#c13;--amber:#a70;--pink:#7d5f6b;--pink-rgb:125, 95, 107;--brand-gradient:linear-gradient(90deg, #1e3a5f, #3d5875, #64748b);--heading:#1e3a5f;--text:#0b1626;--text2:#2a4059;--text3:#4f647c;--spec-top:#fff9;--spec-side:#ffffff4d;--chrome-bg-topbar:#fff;--chrome-bg-menu:#fffffff5;--chrome-bg-popover:#fffffff7;--chrome-bg-strip:#fff;--chrome-bg-overlay:#e9edf3f0;--chrome-border:#0000001f}*{box-sizing:border-box}button{font-family:inherit}html.light-mode{background:#e9edf3}body{font-family:var(--font-body);background:var(--bg);color:var(--text);min-height:100vh;margin:0;overflow-x:hidden}a,a:visited{color:var(--cyan2)}a:hover,a:active{color:var(--cyan)}h1,h2,.display{font-family:var(--font-heading);color:var(--heading)}.glass{-webkit-backdrop-filter:blur(40px)saturate(180%);background:#ffffff1f;border:1px solid #ffffff47;border-radius:20px;box-shadow:inset 0 2px #ffffff4d,inset 0 -1px #0003,0 12px 40px #0006,0 2px 8px #00000040}.stagger-in{animation:.32s cubic-bezier(.34,1.2,.64,1) backwards stagger-in;animation-delay:calc(var(--stagger-i,0) * 50ms)}@keyframes stagger-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.stagger-in{animation:none}}.glass-hi{-webkit-backdrop-filter:blur(60px)saturate(200%);box-shadow:var(--shadow-hi);background:#ffffff29;border:1px solid #ffffff5c;border-radius:20px}.btn-glow{background:linear-gradient(135deg, var(--cyan2) 0%, var(--btn-grad-end,var(--violet)) 100%);color:#fff;font-family:var(--font-display);cursor:pointer;box-shadow:0 0 28px rgba(var(--cyan-rgb), .35), 0 6px 20px #00000073, inset 0 1px 0 #ffffff40;border:none;border-radius:14px;padding:14px 32px;font-size:15px;font-weight:700;transition:all .22s cubic-bezier(.34,1.2,.64,1)}.btn-glow:hover{box-shadow:0 0 40px rgba(var(--cyan-rgb), .5), 0 12px 32px #0000008c;transform:translateY(-3px)}.btn-glow:active{box-shadow:0 0 20px rgba(var(--cyan-rgb), .35), 0 4px 14px #0006;transform:scale(.96)}.btn-ghost{color:var(--cyan);border:1.5px solid rgba(var(--cyan-rgb), .35);font-family:var(--font-display);cursor:pointer;background:0 0;border-radius:12px;padding:12px 28px;font-size:14px;font-weight:600;transition:all .2s}.btn-ghost:hover{background:rgba(var(--cyan-rgb), .08);border-color:var(--cyan)}.btn-ghost:active:not(:disabled){background:rgba(var(--cyan-rgb), .14);transform:scale(.96)}.btn-ghost:disabled{opacity:.35;cursor:not-allowed}.badge{letter-spacing:.04em;text-transform:uppercase;border-radius:100px;align-items:center;gap:5px;padding:4px 12px;font-size:11px;font-weight:700;display:inline-flex}.badge-cyan{background:rgba(var(--cyan-rgb), .12);color:var(--cyan);border:1px solid rgba(var(--cyan-rgb), .25)}.stat-card{text-align:center;-webkit-backdrop-filter:blur(32px)saturate(180%);background:#ffffff1c;border:1px solid #ffffff42;border-radius:16px;padding:12px 16px;position:relative;overflow:hidden;box-shadow:inset 0 2px #ffffff47,inset 0 -1px #00000026,0 4px 16px #00000040}.stat-card:after{content:"";background:var(--accent,var(--cyan));opacity:.75;height:2px;position:absolute;top:0;left:0;right:0}.q-card{-webkit-backdrop-filter:blur(60px)saturate(200%);box-shadow:var(--shadow-hi);background:#ffffff21;border:1px solid #ffffff4d;border-radius:24px;padding:24px;position:relative;overflow:hidden}.q-card:before{content:"";background:linear-gradient(90deg, transparent, rgba(var(--cyan-rgb), .6), rgba(var(--violet-rgb), .4), transparent);height:1px;position:absolute;top:0;left:20px;right:20px}.sw-dig{font-family:var(--font-display);color:var(--cyan);letter-spacing:.06em;font-variant-numeric:tabular-nums;text-shadow:0 0 12px rgba(var(--cyan-rgb), .4);font-size:17px;font-weight:700}.sw-lbl{color:var(--text3);letter-spacing:.1em;text-transform:uppercase;margin-top:1px;font-size:9px}.topbar{z-index:10;background:var(--chrome-bg-topbar);-webkit-backdrop-filter:blur(40px)saturate(200%);border-bottom:1px solid var(--chrome-border);white-space:nowrap;justify-content:space-between;align-items:center;gap:8px;height:52px;padding:6px 14px;display:flex;position:sticky;top:0;overflow:auto hidden;box-shadow:0 1px #ffffff1a,0 4px 28px #0006,inset 0 1px #ffffff1f}.topbar-subrow{justify-content:flex-end;gap:6px;padding:6px 14px 0;display:flex}.topbar-left{flex-shrink:0;align-items:center;gap:8px;display:flex}.topbar-icon-btn{cursor:pointer;background:0 0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:15px;transition:all .2s;display:flex}.topbar-icon-btn.home{border:1px solid rgba(var(--cyan-rgb), .25);background:rgba(var(--cyan-rgb), .08);color:var(--cyan)}.topbar-icon-btn.home:hover{background:rgba(var(--cyan-rgb), .2);border-color:rgba(var(--cyan-rgb), .6)}.topbar-icon-btn.leaderboard{color:#facc15;background:#facc1514;border:1px solid #facc154d}.topbar-icon-btn.leaderboard:hover{background:#facc1533;border-color:#facc1599}.topbar-icon-btn.settings{border:1px solid rgba(var(--violet-rgb), .3);background:rgba(var(--violet-rgb), .08);color:var(--violet)}.topbar-icon-btn.settings:hover{background:rgba(var(--violet-rgb), .2);border-color:rgba(var(--violet-rgb), .6)}.topbar-icon-btn.admin{color:var(--amber);background:#ffcc2a14;border:1px solid #ffcc2a4d}.topbar-icon-btn.admin:hover{background:#ffcc2a33;border-color:#ffcc2a99}.topbar-icon-btn.theme{color:var(--amber);background:#ffcc2a14;border:1px solid #ffcc2a4d}.topbar-icon-btn.theme:hover{background:#ffcc2a33;border-color:#ffcc2a99}.topbar-icon-btn.sound{color:var(--green);background:#30f28a14;border:1px solid #30f28a4d}.topbar-icon-btn.sound:hover{background:#30f28a33;border-color:#30f28a99}.topbar-icon-btn.sound.muted{color:var(--text3);background:#8aaed00f;border:1px solid #8aaed040}.topbar-logo-stack{flex-direction:column;flex-shrink:0;justify-content:center;line-height:1;display:flex}.topbar-logo-stack-btn{cursor:pointer;text-align:left;background:0 0;border:none;padding:0}.topbar-logo{background:var(--logo-face);-webkit-text-fill-color:transparent;letter-spacing:-.01em;text-shadow:none;filter:drop-shadow(0 0 9px #6aa8ff47);-webkit-background-clip:text;background-clip:text;font-family:Syne,sans-serif;font-size:19px;font-weight:800}body.light-mode .topbar-logo{text-shadow:none;filter:drop-shadow(.6px 0 #1e3a5f)drop-shadow(-.6px 0 #1e3a5f)drop-shadow(0 .6px #1e3a5f)drop-shadow(0 -.6px #1e3a5f)drop-shadow(0 1.5px 2px #0c1c3059)}.topbar-tagline{font-family:var(--font-body,sans-serif);letter-spacing:.06em;text-transform:uppercase;color:var(--text3);white-space:nowrap;margin-top:1px;font-size:8px;font-weight:600}.topbar-right{flex-shrink:0;align-items:center;gap:10px;margin-left:auto;display:flex}.topbar-online{color:var(--text2);font-size:11.5px;font-family:var(--font-mono);white-space:nowrap;flex-shrink:0;align-items:center;gap:5px;display:flex}.topbar-online-dot{background:var(--green);border-radius:50%;width:7px;height:7px;animation:2s ease-in-out infinite onlinePulse;box-shadow:0 0 6px #30f28ab3}@keyframes onlinePulse{0%,to{opacity:1}50%{opacity:.4}}.topbar-online-btn{cursor:pointer;background:0 0;border:none;border-radius:6px;padding:2px 4px;transition:background .15s,transform .15s}.topbar-online-btn:hover{background:#ffffff14}.topbar-online-btn:active{transform:scale(.92)}.online-list-popover{background:var(--chrome-bg-popover);-webkit-backdrop-filter:blur(40px)saturate(200%);backdrop-filter:blur(40px)saturate(200%);border:1px solid var(--chrome-border);z-index:210;border-radius:16px;width:min(260px,80vw);max-height:60vh;padding:12px;animation:.18s menuSlideIn;position:fixed;top:60px;right:12px;overflow-y:auto}.online-list-header{color:var(--text);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:8px;font-size:13px;font-weight:700;display:flex}.online-list-empty{color:var(--text3);text-align:center;padding:12px 0;font-size:12.5px}.online-list-items{flex-direction:column;gap:4px;display:flex}.online-list-item{color:var(--text2);border-radius:8px;padding:6px 8px;font-size:13px;transition:background .15s}.online-list-item:hover{background:#ffffff0f}.online-list-item:active{background:#ffffff1a}.online-list-item-btn{text-align:left;cursor:pointer;width:100%;font-family:var(--font-body);background:0 0;border:none;display:block}.topbar-user{color:var(--text2);text-overflow:ellipsis;cursor:pointer;max-width:140px;font-size:12.5px;font-family:var(--font-body);background:0 0;border:none;border-radius:8px;padding:4px 6px;transition:background .15s,color .15s,transform .15s;overflow:hidden}.topbar-user:hover{color:var(--text);background:#ffffff14}.topbar-user:active{transform:scale(.95)}.signout-btn{color:var(--red);font-family:var(--font-body);cursor:pointer;background:0 0;border:1px solid #ff3a5c4d;border-radius:8px;flex-shrink:0;padding:6px 12px;font-size:12px}.menu-overlay{-webkit-backdrop-filter:blur(12px);z-index:200;background:#0000008c;min-height:100lvh;animation:.4s backwards menuOverlayIn;display:flex;position:fixed;inset:0}.menu-drawer{background:var(--chrome-bg-menu);-webkit-backdrop-filter:blur(40px)saturate(200%);border-right:1px solid var(--chrome-border);flex-direction:column;align-self:stretch;gap:10px;width:min(300px,82vw);padding:18px 16px calc(24px + 100lvh - 100svh);animation:.5s cubic-bezier(.22,1,.36,1) backwards menuWipeIn;display:flex;overflow-y:auto}@keyframes menuOverlayIn{0%{-webkit-backdrop-filter:blur();background:0 0}}@keyframes menuWipeIn{0%{clip-path:inset(0 0 100%)}to{clip-path:inset(0)}}@keyframes menuItemIn{0%{opacity:0;transform:translateY(-6px)}}@keyframes menuOverlayOut{to{-webkit-backdrop-filter:blur();background:0 0}}@keyframes menuWipeOut{to{clip-path:inset(0 0 100%)}}@keyframes menuItemOut{to{opacity:0}}.menu-drawer>*{animation:menuItemIn .4s cubic-bezier(.22, 1, .36, 1) calc(.2s + var(--mi,0) * 40ms) backwards}.menu-drawer>:first-child{--mi:0}.menu-drawer>:nth-child(2){--mi:1}.menu-drawer>:nth-child(3){--mi:2}.menu-drawer>:nth-child(4){--mi:3}.menu-drawer>:nth-child(5){--mi:4}.menu-drawer>:nth-child(6){--mi:5}.menu-drawer>:nth-child(7){--mi:6}.menu-drawer>:nth-child(8){--mi:7}.menu-drawer>:nth-child(9){--mi:8}.menu-drawer>:nth-child(10){--mi:9}.menu-drawer>:nth-child(11){--mi:10}.menu-drawer>:nth-child(12){--mi:11}.menu-drawer>:nth-child(13){--mi:12}.menu-drawer>:nth-child(14){--mi:13}.menu-drawer>:nth-child(15){--mi:14}.menu-drawer>:nth-child(16){--mi:15}.menu-drawer>:nth-child(n+17){--mi:16}.menu-overlay.is-closing{pointer-events:none;animation:.3s forwards menuOverlayOut}.menu-overlay.is-closing .menu-drawer{animation:.3s cubic-bezier(.4,0,.2,1) forwards menuWipeOut}.menu-overlay.is-closing .menu-drawer>*{animation:.14s forwards menuItemOut}.menu-drawer-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.menu-close{background:var(--g1);border:1px solid var(--border);width:28px;height:28px;color:var(--text2);cursor:pointer;border-radius:8px;font-size:13px}.menu-user{color:var(--text3);border-bottom:1px solid var(--border);margin-bottom:14px;padding-bottom:14px;font-size:12.5px}.menu-item{text-align:left;width:100%;color:var(--text);font-family:var(--font-body);cursor:pointer;background:#ffffff12;border:1px solid #ffffff24;border-radius:14px;padding:12px 14px;font-size:14px;font-weight:600;transition:background .15s,border-color .15s,transform .15s;display:block;box-shadow:inset 0 1px #ffffff1a}.menu-item:hover{background:#ffffff1f;border-color:#ffffff3d;transform:translateY(-1px)}.menu-item:active{background:#ffffff29;transform:translateY(0)}body.light-mode .menu-item{background:#0814280d;border-color:#0814281f;box-shadow:inset 0 1px #ffffff80}body.light-mode .menu-item:hover{background:#08142817;border-color:#08142833}body.light-mode .menu-item:active{background:#08142821}.menu-item.admin{color:var(--amber)}.menu-item.signout{color:var(--red);margin-top:12px}.menu-section-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text3);margin:14px 0 4px 12px;font-size:10.5px}.kicked-banner{color:var(--red);text-align:center;cursor:pointer;background:#ff3a5c29;border-bottom:1px solid #ff3a5c59;padding:12px 20px;font-size:13.5px}.coming-soon{text-align:center;min-height:70vh;color:var(--text2);flex-direction:column;justify-content:center;align-items:center;padding:40px 24px;display:flex}.coming-soon-emoji{margin-bottom:12px;font-size:48px}.offline-banner{color:var(--amber);text-align:center;background:#ffcc2a1f;border-bottom:1px solid #ffcc2a4d;padding:8px 16px;font-size:12.5px;font-weight:600}.coming-soon h1{font-family:var(--font-heading);color:var(--text);margin:0 0 8px;font-size:1.4rem}.coming-soon p{color:var(--text3);max-width:320px;margin:0;font-size:14px}.std-screen{max-width:520px;margin:0 auto;padding:20px 16px 60px}@media (width>=700px){.std-screen{max-width:620px;padding:28px 20px 70px}}@media (width>=1024px){.std-screen{max-width:720px}}@media (width>=900px){.admin-wide .std-screen{max-width:1600px;padding:28px clamp(20px,3.5vw,56px) 70px}.admin-wide .std-header{margin-bottom:18px}.admin-wide .sub-cards{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;display:grid}.admin-wide .sub-cards>.sub-card{margin-top:0}.admin-wide .bc-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);grid-template-areas:"aud msg""prev msg""act msg""hist hist";align-items:start;gap:16px 20px;display:grid}.admin-wide .bc-aud{grid-area:aud}.admin-wide .bc-msg{grid-area:msg}.admin-wide .bc-prev{grid-area:prev}.admin-wide .bc-act{grid-area:act}.admin-wide .bc-hist{grid-area:hist}.admin-wide .bc-grid .std-card{margin-top:0!important}}@media (width>=1500px){.admin-wide .sub-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=359px){.std-screen{padding:16px 12px 50px}}.std-back{margin-bottom:16px;padding:9px 16px!important;font-size:13px!important}.std-header{margin-bottom:18px}.std-title{color:var(--heading);margin:0;font-family:Syne,sans-serif;font-size:1.5rem;font-weight:800}.std-sub{color:var(--text2);margin:6px 0 0;font-size:13px;line-height:1.5}.std-card{flex-direction:column;gap:12px;padding:22px;display:flex}.std-note{color:var(--text3);margin:0;font-size:12.5px;line-height:1.5}.std-save-btn{width:100%;margin-top:4px}.std-loading{text-align:center;color:var(--text2);justify-content:center;align-items:center;gap:10px;padding:40px;display:flex}.std-loading:before{content:"";border:2px solid rgba(var(--cyan-rgb), .25);border-top-color:var(--cyan);border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.7s linear infinite std-loading-spin}@keyframes std-loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.std-loading:before{animation:none}}.empty-state{text-align:center;color:var(--text3);flex-direction:column;align-items:center;gap:10px;padding:32px 20px;font-size:13px;display:flex}.empty-state-icon{font-size:32px;line-height:1;animation:2.6s ease-in-out infinite empty-state-float}@keyframes empty-state-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@media (prefers-reduced-motion:reduce){.empty-state-icon{animation:none}}.toggle-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 0;display:flex}.toggle-row:last-child{border-bottom:none}.toggle-row-label{color:var(--text);font-size:14px;font-weight:500}.toggle-row-sub{color:var(--text3);margin-top:2px;font-size:11.5px}.toggle-switch{background:var(--g1);border:1px solid var(--border2);cursor:pointer;border-radius:999px;flex-shrink:0;width:46px;height:27px;padding:0;transition:background .2s,border-color .2s;position:relative}.toggle-switch.on{background:var(--cyan);border-color:var(--cyan)}.toggle-switch .toggle-knob{background:#fff;border-radius:50%;width:21px;height:21px;transition:left .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000059}.toggle-switch.on .toggle-knob{left:21px}.app-loading-screen{background:var(--bg);z-index:1000;--lockup-fs:clamp(38px, 12.5vw, 96px);flex-direction:column;justify-content:center;align-items:center;gap:22px;padding:20px;display:flex;position:fixed;inset:0;overflow:hidden}.app-loading-screen:before{content:"";pointer-events:none;background:radial-gradient(40% 30% at 20% 22%, rgba(var(--cyan-rgb), .2), transparent 70%), radial-gradient(34% 28% at 82% 68%, rgba(var(--cyan-rgb), .14), transparent 70%), radial-gradient(60% 40% at 50% 102%, rgba(var(--violet-rgb), .2), transparent 70%);animation:14s ease-in-out infinite alternate app-loading-drift;position:absolute;inset:-10%}body.light-mode .app-loading-screen:before{display:none}@keyframes app-loading-drift{to{transform:translate(2%,-2%)scale(1.06)}}@media (prefers-reduced-motion:reduce){.app-loading-screen:before{animation:none}}.app-loading-logo-stack{z-index:1;transform-origin:0 0;margin-right:calc(var(--lockup-fs,2.4rem) * .152);flex-direction:column;align-items:flex-start;line-height:1;display:flex;position:relative}.app-loading-logo{font-family:Syne,sans-serif;font-weight:800;font-size:var(--lockup-fs,2.4rem);background:var(--logo-face);-webkit-text-fill-color:transparent;text-shadow:none;filter:drop-shadow(0 0 22px #6aa8ff59);-webkit-background-clip:text;background-clip:text;line-height:1}body.light-mode .app-loading-logo{text-shadow:none;filter:drop-shadow(.9px 0 #1e3a5f)drop-shadow(-.9px 0 #1e3a5f)drop-shadow(0 .9px #1e3a5f)drop-shadow(0 -.9px #1e3a5f)drop-shadow(0 3px 4px #0c1c3059)}.app-loading-signature{color:var(--text);letter-spacing:.02em;font-family:Caveat,cursive;font-size:26px;font-weight:700;transform:rotate(-3deg)}.app-loading-tagline{font-family:var(--font-body,sans-serif);font-size:calc(var(--lockup-fs,2.4rem) * 8 / 19);white-space:nowrap;letter-spacing:.06em;text-transform:uppercase;color:var(--text3);text-align:left;margin-top:.05em;font-weight:600}.app-loading-below{z-index:1;left:0;right:0;top:calc(50% + var(--lockup-fs,2.4rem) * .72 + 22px);flex-direction:column;align-items:center;padding:0 20px;display:flex;position:absolute}.app-loading-bar-row{align-items:center;gap:12px;width:220px;display:flex}.topbar-ghost{visibility:hidden;pointer-events:none;position:fixed;left:0;right:0}.app-loading-screen-flying .app-loading-bar-row{animation:.3s forwards app-loading-bar-fade-out}@keyframes app-loading-bar-fade-out{to{opacity:0}}@media (prefers-reduced-motion:reduce){.app-loading-screen-flying .app-loading-bar-row{opacity:0;animation:none}}.app-loading-play{color:var(--cyan);flex-shrink:0;font-size:15px}.app-loading-track{background:#ffffff1f;border-radius:999px;flex:1;height:5px;overflow:hidden}.app-loading-fill{background:var(--brand-gradient);border-radius:999px;height:100%;transition:width .35s}.app-loading-fill-indeterminate{width:40%;animation:1.3s ease-in-out infinite app-loading-sweep;position:relative}@keyframes app-loading-sweep{0%{width:40%;margin-left:-40%}50%{width:60%}to{width:40%;margin-left:100%}}:root{--screen-dur:.36s;--screen-shift:26px;--ease-out-expo:cubic-bezier(.22, 1, .36, 1)}.screen-fade{animation:screen-in-fwd var(--screen-dur) var(--ease-out-expo) backwards}[data-nav=back] .screen-fade{animation-name:screen-in-back}@keyframes screen-in-fwd{0%{opacity:0;transform:translate3d(var(--screen-shift), 0, 0)}to{opacity:1;transform:translate(0,0)}}@keyframes screen-in-back{0%{opacity:0;transform:translate3d(calc(var(--screen-shift) * -1), 0, 0)}to{opacity:1;transform:translate(0,0)}}@keyframes screen-in-fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.screen-fade,[data-nav=back] .screen-fade{animation:.15s linear backwards screen-in-fade}}html[data-vt] .screen-fade,html[data-vt][data-nav=back] .screen-fade{animation:none}html[data-vt]::view-transition-old(root){animation-duration:var(--screen-dur);animation-timing-function:var(--ease-out-expo);mix-blend-mode:normal;animation-fill-mode:both}html[data-vt]::view-transition-new(root){animation-duration:var(--screen-dur);animation-timing-function:var(--ease-out-expo);mix-blend-mode:normal;animation-fill-mode:both}html[data-vt]::view-transition-old(root){animation-name:vt-old-fwd}html[data-vt]::view-transition-new(root){animation-name:vt-new-fwd}html[data-vt][data-nav=back]::view-transition-old(root){animation-name:vt-old-back}html[data-vt][data-nav=back]::view-transition-new(root){animation-name:vt-new-back}@keyframes vt-old-fwd{to{transform:translate3d(calc(var(--screen-shift) * -.6), 0, 0)}}@keyframes vt-new-fwd{0%{opacity:0;transform:translate3d(var(--screen-shift), 0, 0)}}@keyframes vt-old-back{to{transform:translate3d(calc(var(--screen-shift) * .6), 0, 0)}}@keyframes vt-new-back{0%{opacity:0;transform:translate3d(calc(var(--screen-shift) * -1), 0, 0)}}.slide-stack{position:relative;overflow:hidden}.slide-track{width:100%;display:flex}.slide-track.slide-track-transitioning{width:200%;animation:.48s cubic-bezier(.65,0,.35,1) forwards slide-track-move}.slide-pane{flex:0 0 100%;min-width:0}.slide-track.slide-track-transitioning .slide-pane{flex:0 0 50%}@keyframes slide-track-move{0%{transform:translate(0%)}to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.slide-track.slide-track-transitioning{animation:none;transform:translate(-50%)}}.whatsapp-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:300;background:#0009;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.whatsapp-modal-card{text-align:center;flex-direction:column;align-items:center;width:min(340px,100%);padding:32px 24px 28px;display:flex;position:relative}.whatsapp-modal-close{background:var(--g1);border:1px solid var(--border);width:28px;height:28px;color:var(--text2);cursor:pointer;border-radius:8px;font-size:13px;position:absolute;top:12px;right:12px}.whatsapp-modal-text{color:var(--text);margin:0 0 20px;font-size:15px;font-weight:600;line-height:1.5}.whatsapp-modal-cta{background:var(--brand-gradient);color:#050505;border-radius:12px;padding:12px 28px;font-size:14px;font-weight:700;text-decoration:none;display:inline-block}.onboarding-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:310;background:#0009;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.onboarding-card{text-align:center;flex-direction:column;align-items:center;width:min(360px,100%);padding:36px 26px 26px;display:flex;position:relative}.onboarding-skip{color:var(--text3);cursor:pointer;background:0 0;border:none;font-size:13px;font-weight:600;position:absolute;top:14px;right:16px}.onboarding-emoji{margin-bottom:14px;font-size:44px;line-height:1}.onboarding-title{color:var(--text);margin:0 0 10px;font-size:19px;font-weight:800}.onboarding-text{color:var(--text2);margin:0 0 22px;font-size:14px;line-height:1.55}.onboarding-dots{gap:6px;margin-bottom:22px;display:flex}.onboarding-dot{background:var(--border);border-radius:50%;width:6px;height:6px}.onboarding-dot.active{background:var(--brand-gradient);border-radius:3px;width:18px}.onboarding-actions{justify-content:center;align-items:center;gap:10px;width:100%;display:flex}.onboarding-next{background:var(--brand-gradient);color:#050505;cursor:pointer;border:none;border-radius:12px;padding:12px 32px;font-size:14px;font-weight:700}.onboarding-back{font-size:13px}.menu-user-btn{text-align:left;cursor:pointer;background:0 0;border:none;width:100%;font-family:inherit;display:block}.menu-user-btn:active{opacity:.6}.topbar-icon-btn{position:relative}.notif-dot{background:var(--red,#ff3b5c);border:2px solid var(--bg,#000);border-radius:50%;width:10px;height:10px;position:absolute;top:3px;right:3px}.notif-count{background:var(--red,#ff3b5c);color:#fff;text-align:center;border-radius:999px;min-width:20px;margin-left:8px;padding:1px 7px;font-size:12px;font-weight:700}:root{--ease-spring:cubic-bezier(.34, 1.2, .64, 1);--dur-med:.32s}a,button,input,select,textarea,label,summary,[role=button]{touch-action:manipulation}button,a,[role=button]{-webkit-tap-highlight-color:transparent}:is(.subj-grid,.qmode-chips,.qmode-body,.std-screen)>:not(.stagger-in){animation:m-rise var(--dur-med) cubic-bezier(.22, 1, .36, 1) backwards}:is(.subj-grid,.qmode-chips,.qmode-body,.std-screen)>:not(.stagger-in):nth-child(2){animation-delay:40ms}:is(.subj-grid,.qmode-chips,.qmode-body,.std-screen)>:not(.stagger-in):nth-child(3){animation-delay:80ms}:is(.subj-grid,.qmode-chips,.qmode-body,.std-screen)>:not(.stagger-in):nth-child(4){animation-delay:.12s}:is(.subj-grid,.qmode-chips,.qmode-body,.std-screen)>:not(.stagger-in):nth-child(5){animation-delay:.16s}:is(.subj-grid,.qmode-chips,.qmode-body,.std-screen)>:not(.stagger-in):nth-child(6){animation-delay:.2s}:is(.subj-grid,.qmode-chips,.qmode-body,.std-screen)>:not(.stagger-in):nth-child(7){animation-delay:.24s}:is(.subj-grid,.qmode-chips,.qmode-body,.std-screen)>:not(.stagger-in):nth-child(8){animation-delay:.28s}:is(.subj-grid,.qmode-chips,.qmode-body,.std-screen)>:not(.stagger-in):nth-child(9){animation-delay:.32s}:is(.subj-grid,.qmode-chips,.qmode-body,.std-screen)>:not(.stagger-in):nth-child(n+10){animation-delay:.36s}@keyframes m-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translate(0,0)}}.m-tab-in{animation:m-rise var(--dur-med) cubic-bezier(.22, 1, .36, 1) backwards}.std-screen>.m-tab-in{animation-delay:0s!important}:is(.subj-card,.mode-card,.topic-chip,.tpreset,.opt-btn,.rq-chip,.qm-back,.std-back,.qmode-toggle-row,.q-report-btn):active:not(:disabled){transform:scale(.975)}:is(.rq-overlay,.whatsapp-modal-overlay,.mfa-overlay){animation:.2s ease-out backwards m-fade}:is(.rq-card,.whatsapp-modal-card,.mfa-card){animation:m-pop .34s var(--ease-spring) backwards}@keyframes m-fade{0%{opacity:0}to{opacity:1}}@keyframes m-pop{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:translate(0,0)scale(1)}}.subj-progress-bar>span{transform-origin:0;animation:.7s cubic-bezier(.22,1,.36,1) .15s backwards m-bar-grow}@keyframes m-bar-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}:root{--boot-x:90px;--boot-y:30px;--boot-delay:.5s;--boot-dur:1.6s}@property --boot-r{syntax:"<length>";inherits:true;initial-value:0}@property --boot-o{syntax:"<number>";inherits:true;initial-value:0}html[data-boot]{animation:boot-drive var(--boot-dur) cubic-bezier(.33, .9, .5, 1) var(--boot-delay) both}@keyframes boot-drive{0%{--boot-r:0px;--boot-o:0}8%{--boot-o:.9}75%{--boot-o:.35}to{--boot-r:150vmax;--boot-o:0}}.boot-reveal{z-index:1001;background:var(--bg);min-height:100vh;clip-path:circle(var(--boot-r) at var(--boot-x) var(--boot-y));position:relative}.boot-ring{z-index:1002;left:var(--boot-x);top:var(--boot-y);width:calc(var(--boot-r) * 2);height:calc(var(--boot-r) * 2);box-sizing:border-box;border:2px solid var(--cyan);box-shadow:0 0 28px rgba(var(--cyan-rgb), .55), inset 0 0 28px rgba(var(--cyan-rgb), .35);opacity:var(--boot-o);pointer-events:none;border-radius:50%;position:fixed;transform:translate(-50%,-50%)}html[data-boot] .topbar-left>.topbar-icon-btn{animation:boot-pop .7s var(--ease-spring) .95s backwards}html[data-boot] .topbar-right>:first-child{animation:boot-pop .7s var(--ease-spring) 1.25s backwards}html[data-boot] .topbar-right>:nth-child(2){animation:boot-pop .7s var(--ease-spring) 1.4s backwards}html[data-boot] .topbar-logo-stack-btn{animation:1.6s ease-out .7s backwards boot-glow}html[data-boot] .subj-card.stagger-in{animation-duration:.6s;animation-delay:calc(1.2s + var(--stagger-i,0) * .14s)}html[data-boot] .dashboard-greeting{animation:.8s cubic-bezier(.22,1,.36,1) .95s backwards boot-rise}html[data-boot] .subj-progress-bar>span{animation:m-bar-grow 1.1s cubic-bezier(.22, 1, .36, 1) calc(1.55s + var(--stagger-i,0) * .14s) backwards}@keyframes boot-rise{0%{opacity:0;transform:translateY(14px)}}@keyframes boot-pop{0%{opacity:0;transform:translateY(-10px)scale(.6)}}@keyframes boot-glow{0%{filter:drop-shadow(0 0 #0000)}35%{filter:drop-shadow(0 0 10px var(--cyan)) brightness(1.25)}to{filter:drop-shadow(0 0 #0000)}}@media (prefers-reduced-motion:reduce){:not(.screen-fade):not([class*=marquee]):not([class*=ticker]),:not(.screen-fade):before,:not(.screen-fade):after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}.subj-emoji,.subj-icon,.mode-card-emoji,.fr-tile-icon,.exam-card-icon,.aud-action-icon,.qm-head-emoji,.wf-empty-ico,.empty-state-icon,.lb-empty-emoji,.coming-soon-emoji,.results-hero-emoji,.onboarding-emoji,.thanks-icon,.rejected-icon,.offline-guard-icon,.auth-icon,.lp-ico{will-change:translate, rotate, scale;display:inline-block}.subj-emoji,.subj-icon,.mode-card-emoji,.fr-tile-icon,.exam-card-icon,.aud-action-icon,.qm-head-emoji{transition:scale .25s var(--ease-spring);animation:3.4s ease-in-out infinite emoji-float}.wf-empty-ico,.empty-state-icon,.lb-empty-emoji,.coming-soon-emoji,.results-hero-emoji,.onboarding-emoji,.thanks-icon,.rejected-icon,.offline-guard-icon,.auth-icon,.lp-ico{transform-origin:50% 70%;animation:4.2s ease-in-out infinite emoji-alive}:is(.subj-card,.mode-card,.fr-tile,.exam-card):nth-child(2n) :is(.subj-emoji,.mode-card-emoji,.fr-tile-icon,.exam-card-icon){animation-delay:-.9s}:is(.subj-card,.mode-card,.fr-tile,.exam-card):nth-child(3n) :is(.subj-emoji,.mode-card-emoji,.fr-tile-icon,.exam-card-icon){animation-delay:-1.8s}:is(.subj-card,.mode-card,.fr-tile,.exam-card):nth-child(5n) :is(.subj-emoji,.mode-card-emoji,.fr-tile-icon,.exam-card-icon){animation-delay:-2.6s}:is(button,a,[role=button]):active :is(.subj-emoji,.subj-icon,.mode-card-emoji,.fr-tile-icon,.exam-card-icon,.aud-action-icon){scale:1.28}@keyframes emoji-float{0%,to{translate:0;rotate:0deg}50%{translate:0 -3px;rotate:4deg}}@keyframes emoji-alive{0%,to{translate:0;rotate:0deg;scale:1}20%{translate:0 -6px;rotate:-8deg;scale:1.06}40%{translate:0;rotate:7deg;scale:1}55%{translate:0 -3px;rotate:-4deg;scale:1.1}70%{translate:0;rotate:0deg;scale:1}}@media (prefers-reduced-motion:reduce){.m-tab-in,.mfa-overlay,.mfa-card{animation:none!important}.subj-emoji,.subj-icon,.mode-card-emoji,.fr-tile-icon,.exam-card-icon,.aud-action-icon,.qm-head-emoji,.wf-empty-ico,.empty-state-icon,.lb-empty-emoji,.coming-soon-emoji,.results-hero-emoji,.onboarding-emoji,.thanks-icon,.rejected-icon,.offline-guard-icon,.auth-icon{animation:none}}html[data-vt-theme]:root::view-transition-group(root){animation-duration:.5s}html[data-vt-theme]:root::view-transition-old(root){mix-blend-mode:normal;animation:none}html[data-vt-theme]:root::view-transition-new(root){mix-blend-mode:normal;animation:.5s both vt-theme-in}@keyframes vt-theme-in{0%{opacity:0}to{opacity:1}}html.theme-fading,html.theme-fading *,html.theme-fading :before,html.theme-fading :after{transition:background-color .4s,color .4s,border-color .4s,box-shadow .4s,fill .4s!important}.results-review-toggle{width:100%;color:var(--cyan);cursor:pointer;background:0 0;border:none;margin-top:8px;padding:10px;font-size:12.5px;font-weight:600}.results-review-list{text-align:left;flex-direction:column;gap:12px;width:100%;max-width:440px;display:flex}.results-review-heading{letter-spacing:.12em;color:var(--text3);margin:6px 2px;font-size:11px}.results-review-card{background:var(--surface);border:1px solid var(--border);border-left:3px solid;border-radius:14px;padding:16px}.results-review-card-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.results-review-qnum{color:var(--cyan);font-size:12px;font-weight:700}.results-review-time{color:var(--text3);font-weight:400}.results-review-status{font-size:14px}.results-review-question{color:var(--text);margin:0 0 12px;font-size:14px;line-height:1.45}.results-review-options{flex-direction:column;gap:7px;display:flex}.results-review-opt{color:var(--text3);font-size:13px;line-height:1.4}.results-review-opt-label{margin-right:2px;font-weight:700}.results-review-opt.correct{color:var(--green);font-weight:700}.results-review-opt.wrong{color:var(--red)}.results-review-opt-tag{font-size:11.5px;font-weight:700}.correct-tag{color:var(--green)}.wrong-tag{color:var(--red)}.results-review-timeout{color:var(--amber);margin-top:2px;font-size:12px}#auth-screen{z-index:9999;background:var(--bg);flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden auto}.auth-center{flex:1;justify-content:center;align-items:center;padding:20px 16px;display:flex}#auth-screen:before{content:"";pointer-events:none;background:radial-gradient(ellipse 100% 55% at 50% -5%, rgba(var(--cyan-rgb), .28) 0%, transparent 65%), radial-gradient(ellipse 60% 45% at 85% 90%, rgba(var(--violet-rgb), .22) 0%, transparent 60%), radial-gradient(ellipse 50% 35% at 10% 70%, rgba(var(--pink-rgb), .14) 0%, transparent 55%);position:fixed;inset:0}.auth-card{touch-action:pan-y;border-radius:var(--radius-card-lg);-webkit-backdrop-filter:blur(64px)saturate(200%);width:100%;max-width:420px;box-shadow:inset 0 2px 0 #ffffff59, inset 0 -1px 0 #00000040, inset 1px 0 0 #ffffff1f, 0 40px 100px #0009, 0 0 0 1px rgba(var(--cyan-rgb), .1), 0 0 80px rgba(var(--cyan-rgb), .08);z-index:1;background:#ffffff1f;border:1px solid #ffffff47;padding:36px 32px 32px;animation:.55s cubic-bezier(.34,1.4,.64,1) both authCardIn;position:relative}@keyframes authCardIn{0%{opacity:0;transform:translateY(28px)scale(.97)}to{opacity:1;transform:none}}.auth-icon{text-align:center;filter:drop-shadow(0 0 24px rgba(var(--cyan-rgb), .5));margin-bottom:8px;font-size:52px}.auth-title{text-align:center;background:linear-gradient(135deg, var(--cyan) 0%, var(--violet) 60%, var(--pink) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:6px;font-family:Syne,sans-serif;font-size:clamp(1.45rem,6.2vw,2rem);font-weight:800;line-height:1.15}.auth-sub{text-align:center;color:var(--text2);margin-bottom:24px;font-size:.88rem}.auth-tabs{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#00000047;border:1px solid #ffffff1f;border-radius:16px;grid-template-columns:1fr 1fr;gap:0;margin-bottom:24px;padding:4px;display:grid}.auth-tab{cursor:pointer;color:var(--text2);background:0 0;border:none;border-radius:12px;padding:10px;font-family:Space Grotesk,sans-serif;font-size:14px;font-weight:700;transition:all .22s}.auth-tab.active{color:var(--text);box-shadow:0 2px 20px rgba(var(--cyan-rgb), .15), inset 0 1.5px 0 #ffffff40;background:#ffffff2e;border:1px solid #ffffff4d}.auth-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text2);margin-bottom:6px;font-size:11px;font-weight:700;display:block}.auth-input{width:100%;color:var(--text);-webkit-backdrop-filter:blur(20px);background:#ffffff1a;border:1px solid #ffffff38;border-radius:14px;outline:none;padding:13px 16px;font-family:Space Grotesk,sans-serif;font-size:14.5px;transition:border-color .2s,box-shadow .2s,background .2s;box-shadow:inset 0 1.5px #ffffff2e,inset 0 -1px #00000026}.auth-input:focus{border-color:rgba(var(--cyan-rgb), .6);box-shadow:0 0 0 3px rgba(var(--cyan-rgb), .14), 0 0 24px rgba(var(--cyan-rgb), .08), inset 0 1.5px 0 #ffffff40;background:#ffffff26}.auth-input::placeholder{color:var(--text3)}.auth-input-wrap{position:relative}.auth-eye{cursor:pointer;color:var(--text2);background:0 0;border:none;padding:2px;font-size:17px;transition:color .2s,transform .15s;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.auth-eye:hover{color:var(--cyan)}.auth-eye:active{transform:translateY(-50%)scale(.85)}.auth-forgot{text-align:right;color:var(--cyan);cursor:pointer;background:0 0;border:none;margin-top:6px;margin-bottom:0;padding:0;font-family:Space Grotesk,sans-serif;font-size:12.5px;transition:opacity .2s}.auth-forgot:hover{opacity:.75}.auth-forgot:active{opacity:.55}.auth-btn{background:linear-gradient(135deg, var(--cyan2) 0%, var(--violet) 100%);color:#fff;border-radius:var(--radius-btn);cursor:pointer;width:100%;box-shadow:var(--shadow-btn);letter-spacing:.02em;border:none;margin-top:20px;padding:15px;font-family:Syne,sans-serif;font-size:15px;font-weight:700;transition:all .22s cubic-bezier(.34,1.2,.64,1);position:relative;overflow:hidden}.auth-btn:hover{box-shadow:0 0 45px rgba(var(--cyan-rgb), .5), 0 12px 32px #0000008c;transform:translateY(-3px)}.auth-btn:active{transform:translateY(0)}.auth-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.auth-msg{text-align:center;border-radius:10px;margin-top:14px;padding:10px 14px;font-size:13px;font-weight:600;animation:.25s cubic-bezier(.34,1.2,.64,1) auth-msg-in}@keyframes auth-msg-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.auth-msg{animation:none}}.auth-msg.error{color:var(--red);background:#ff4f6b21;border:1px solid #ff4f6b4d}.auth-msg.success{color:var(--green);background:#00e6761f;border:1px solid #00e6764d}.auth-powered{text-align:center;color:var(--text3);justify-content:center;align-items:center;gap:5px;margin-top:20px;font-size:11.5px;display:flex}.auth-powered span{color:var(--text2)}.auth-step{letter-spacing:.1em;text-transform:uppercase;color:var(--text3);margin-bottom:12px;font-size:11px;font-weight:700}.auth-label-hint{text-transform:none;letter-spacing:0;color:var(--text3);font-size:11.5px;font-weight:500}#auth-screen{--auth-rose:#c94862;--auth-rose-rgb:232, 100, 125;--auth-violet:#6b52a8}#auth-screen:before{background:radial-gradient(ellipse 70% 45% at 15% 0%, #4a8fe057 0%, transparent 65%), radial-gradient(ellipse 60% 45% at 92% 88%, #8a63e04d 0%, transparent 62%), radial-gradient(ellipse 55% 40% at 5% 82%, rgba(var(--auth-rose-rgb), .26) 0%, transparent 60%);animation:16s ease-in-out infinite alternate auth-aurora}#auth-screen:after{content:"";pointer-events:none;background:radial-gradient(circle 220px at 80% 14%, rgba(var(--auth-rose-rgb), .16), transparent 70%), radial-gradient(circle 260px at 12% 40%, #3cc8be1f, transparent 70%);animation:22s ease-in-out infinite alternate-reverse auth-aurora;position:fixed;inset:0}body.light-mode #auth-screen:before{background:radial-gradient(ellipse 70% 45% at 15% 0%, #4a8fe042 0%, transparent 65%), radial-gradient(ellipse 60% 45% at 92% 88%, #8a63e033 0%, transparent 62%), radial-gradient(ellipse 55% 40% at 5% 82%, rgba(var(--auth-rose-rgb), .2) 0%, transparent 60%)}@keyframes auth-aurora{0%{transform:translate(-2%,-1.5%)scale(1)}to{transform:translate(2%,2%)scale(1.08)}}.auth-doodles{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.auth-doodle{bottom:-40px;left:calc(6% + var(--i) * 12%);font-size:calc(22px + (var(--i) % 3) * 8px);opacity:0;filter:saturate(.9);animation:auth-float calc(14s + var(--i) * 1.7s) linear calc(var(--i) * -2.3s) infinite;position:absolute}@keyframes auth-float{0%{opacity:0;transform:translateY(0)rotate(-8deg)}12%{opacity:.2}85%{opacity:.2}to{opacity:0;transform:translateY(-112vh)rotate(14deg)}}body.light-mode .auth-doodle{filter:saturate(.8)opacity(.9)}#auth-screen .auth-icon{filter:drop-shadow(0 8px 22px rgba(var(--auth-rose-rgb), .38));justify-content:center;margin-bottom:4px;font-size:0;display:flex}#auth-screen .auth-title{background:linear-gradient(120deg,#78aef0 0%,#b093f5 48%,#ff86a2 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}body.light-mode #auth-screen .auth-title{background:linear-gradient(120deg,#2f6fb0 0%,#7a55c9 50%,#cf3f66 100%);-webkit-background-clip:text;background-clip:text}#auth-screen .auth-sub{margin-bottom:14px}.auth-chips{flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:20px;display:flex}.auth-chips span{letter-spacing:.01em;color:var(--text);white-space:nowrap;background:#ffffff1a;border:1px solid #fff3;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700}body.light-mode .auth-chips span{background:#ffffffb3;border-color:#00000014}#auth-screen .auth-card{box-shadow:inset 0 2px 0 #ffffff59, inset 0 -1px 0 #00000040, 0 40px 100px #0000008c, 0 0 0 1px #ffffff0f, 0 0 90px rgba(var(--auth-rose-rgb), .12), 0 0 120px #4a8fe01a}#auth-screen .auth-tab.active{background:linear-gradient(135deg, #3d5c7d 0%, var(--auth-violet) 55%, var(--auth-rose) 100%);color:#fff;box-shadow:0 6px 18px rgba(var(--auth-rose-rgb), .3), inset 0 1.5px 0 #ffffff47;border-color:#0000}#auth-screen .auth-input:focus{border-color:rgba(var(--auth-rose-rgb), .65);box-shadow:0 0 0 3px rgba(var(--auth-rose-rgb), .16), 0 0 26px #4a8fe024, inset 0 1.5px 0 #ffffff40}#auth-screen .auth-label{color:var(--text);opacity:.8}#auth-screen .auth-btn{background:linear-gradient(110deg, #3d5c7d 0%, var(--auth-violet) 50%, var(--auth-rose) 100%);box-shadow:0 8px 26px rgba(var(--auth-rose-rgb), .3), 0 6px 20px #0006, inset 0 1.5px 0 #ffffff47;background-position:0 0;background-size:180% 100%}#auth-screen .auth-btn:not(:disabled):hover{background-position:100% 0}#auth-screen .auth-btn:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 40%,#ffffff4d 50%,#0000 60%);animation:4.5s ease-in-out 1.5s infinite auth-sweep;position:absolute;inset:0;transform:translate(-120%)}@keyframes auth-sweep{0%,55%{transform:translate(-120%)}to{transform:translate(120%)}}@media (prefers-reduced-motion:reduce){#auth-screen:before,#auth-screen:after,#auth-screen .auth-btn:after{animation:none}.auth-doodle{opacity:.12;bottom:auto;top:calc(10% + var(--i) * 10%);animation:none}}.screen-home{min-height:calc(100vh - 52px)}.hero.qmode-hero{text-align:center;padding:44px 24px;position:relative;overflow:hidden}.qmode-hero-inner{z-index:1;max-width:640px;margin:0 auto;position:relative}.qmode-hero-emoji{filter:drop-shadow(0 0 24px rgba(var(--cyan-rgb), .5));margin-bottom:14px;font-size:52px}.qmode-hero-title{color:var(--heading);margin:0 0 10px;font-family:Syne,sans-serif;font-size:clamp(1.7rem,5vw,2.6rem);font-weight:800;line-height:1.1}.qmode-hero-pill{color:var(--text2);background:#ffffff1a;border:1px solid #ffffff38;border-radius:100px;margin-bottom:8px;padding:5px 14px;font-size:13px;display:inline-block}.qmode-hero-sub{color:var(--text2);margin:0 0 20px;font-size:.92rem}.qmode-hero-qcount{color:var(--cyan);font-weight:700}.qmode-hero-stats{flex-wrap:wrap;justify-content:center;align-items:center;gap:24px;display:flex}.qmode-hero-stat-num{font-size:1.5rem;font-weight:800}.qmode-hero-stat-label{color:var(--text2);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.qmode-hero-divider{background:var(--border2);width:1px;height:30px}.qmode-body{max-width:700px;margin:0 auto;padding:24px 16px 60px}.qmode-back{margin-bottom:16px;padding:9px 16px!important;font-size:13px!important}.qmode-section-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text3);margin:24px 0 10px;font-size:11px}.qmode-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.mode-card{cursor:pointer;-webkit-backdrop-filter:blur(40px)saturate(180%);text-align:left;font-family:var(--font-body);background:#ffffff1a;border:1px solid #ffffff40;border-radius:20px;align-items:center;gap:12px;padding:16px 18px;transition:all .22s cubic-bezier(.34,1.2,.64,1);display:flex;position:relative;overflow:hidden;box-shadow:inset 0 2px #ffffff47,inset 0 -1px #0000002e,0 6px 28px #0000004d}.mode-card.wide{grid-column:1/-1}.mode-card:before{content:"";border-radius:inherit;background:linear-gradient(135deg, rgba(var(--cyan-rgb), .12), transparent 60%);opacity:0;transition:opacity .22s;position:absolute;inset:0}.mode-card:hover:before{opacity:1}.mode-card:hover{box-shadow:inset 0 2px 0 #ffffff61, 0 16px 48px rgba(var(--cyan-rgb), .14), 0 8px 32px #00000059;background:#ffffff29;border-color:#fff6;transform:translateY(-3px)scale(1.01)}.mode-card:active:not(:disabled){transform:scale(.97)}.mode-card.selected{border-color:rgba(var(--cyan-rgb), .55);box-shadow:inset 0 2px 0 #fff6, 0 0 0 1px rgba(var(--cyan-rgb), .28), 0 12px 40px rgba(var(--cyan-rgb), .18), 0 4px 20px #0000004d;background:#ffffff2e}.mode-card.selected:after{content:"";background:linear-gradient(90deg, var(--cyan), var(--btn-grad-end,var(--violet)));opacity:.9;height:2px;position:absolute;top:0;left:0;right:0}.mode-card-emoji{flex-shrink:0;font-size:24px}.mode-card-body{flex-direction:column;gap:2px;display:flex}.mode-card-title{font-family:var(--font-display);color:var(--text);font-size:14px;font-weight:700}.mode-card-desc{color:var(--text3);font-size:11.5px}.qmode-custom{margin-top:12px;padding:16px}.qmode-custom-row{flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:14px;display:flex}.qmode-field label{color:var(--text2);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.qmode-range-hint{color:var(--text3);font-size:12px}.qmode-chips{flex-wrap:wrap;gap:8px;display:flex}.topic-chip{cursor:pointer;color:var(--text2);white-space:nowrap;-webkit-backdrop-filter:blur(20px);background:#ffffff1a;border:1px solid #ffffff3d;border-radius:100px;padding:7px 16px;font-size:12px;font-weight:600;transition:all .18s;box-shadow:inset 0 1px #ffffff38,0 2px 8px #0003}.topic-chip:hover{border-color:rgba(var(--cyan-rgb), .5);color:var(--cyan);background:rgba(var(--cyan-rgb), .14)}.topic-chip:active{transform:scale(.94)}.topic-chip.active{border-color:rgba(var(--cyan-rgb), .6);color:var(--cyan);background:rgba(var(--cyan-rgb), .18);box-shadow:inset 0 1px 0 #ffffff4d, 0 0 16px rgba(var(--cyan-rgb), .15)}.qmode-settings-card{margin-top:12px;padding:16px}.qmode-toggle-row{justify-content:space-between;align-items:center;display:flex}.qmode-toggle-title{font-family:var(--font-body);color:var(--text);font-size:14px;font-weight:600}.qmode-toggle-desc{color:var(--text3);margin-top:2px;font-size:12px}.qmode-timer-presets{border-top:1px solid var(--border);margin-top:14px;padding-top:14px}.qmode-timer-label{color:var(--text2);margin-bottom:8px;font-size:12px;font-weight:600}.qmode-timer-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tpreset{cursor:pointer;color:var(--text2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;padding:6px 14px;font-family:Space Grotesk,sans-serif;font-size:12px;font-weight:600;transition:all .15s}.tpreset:hover{color:var(--violet);border-color:#a78bfa66}.tpreset:active{transform:scale(.93)}.tpreset.sel{color:var(--text);background:#a78bfa4d;border-color:#a78bfad9;box-shadow:0 0 0 1px #a78bfa59}.qmode-timer-custom{color:var(--text2);align-items:center;gap:6px;font-size:12px;display:flex}.qmode-timer-warning{color:var(--text3);margin:8px 0 0;font-size:11px}.qmode-start-btn{width:100%;margin-top:24px}.auth-tabs.auth-tabs-3{grid-template-columns:repeat(3,1fr)}.auth-tabs.auth-tabs-3 .auth-tab{white-space:nowrap;padding:10px 4px;font-size:13.5px}.room-limit-card{margin-top:12px}.room-time-row{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.room-time-row .tpreset{text-align:center;padding:9px 0}.qmode-v2 .qm-head{align-items:center;gap:12px;max-width:700px;margin:0 auto;padding:12px 16px 0;display:flex}.qmode-v2 .qm-back{width:40px;height:40px;color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffff1f;border:1px solid #ffffff47;border-radius:13px;flex-shrink:0;font-size:18px;font-weight:700}.qmode-v2 .qm-head-emoji{filter:drop-shadow(0 0 16px rgba(var(--cyan-rgb), .45));font-size:34px;line-height:1}.qmode-v2 .qm-head-text{min-width:0}.qmode-v2 .qm-head-title{color:var(--heading);margin:0;font-family:Syne,sans-serif;font-size:1.5rem;font-weight:800;line-height:1.1}.qmode-v2 .qm-head-sub{color:var(--text2);margin-top:3px;font-size:13px}.qmode-v2 .qm-head-sub b{color:var(--cyan);font-weight:800}.qmode-v2 .qmode-body{padding-top:6px;padding-bottom:24px}.qmode-v2 .qmode-section-label{margin:18px 0 8px}.qmode-v2 .qmode-grid{gap:8px}.qmode-v2 .mode-card{border-radius:18px;gap:10px;padding:11px 13px}.qmode-v2 .mode-card-emoji{font-size:22px}.qmode-v2 .mode-card-desc{font-size:11px;line-height:1.25}.qmode-v2 .qmode-settings-card{margin-top:8px;padding:12px 16px}.qmode-v2 .qm-settings{margin-top:0}.qmode-v2 .qm-divider{background:var(--border2);opacity:.7;height:1px;margin:12px 0}.qmode-v2 .qmode-timer-custom input{text-align:center;width:58px;font:inherit;color:var(--text);background:#ffffff1a;border:1px solid #ffffff47;border-radius:10px;padding:5px 8px;font-size:13px}.qmode-v2 .qmode-chips{gap:8px}.qmode-v2 .qm-start-bar{z-index:5;padding:10px 16px calc(12px + env(safe-area-inset-bottom,0px));background:linear-gradient(to top, var(--bg2) 72%, transparent);margin:16px -16px 0;position:sticky;bottom:0}.qmode-v2 .qm-start-btn{flex-direction:column;align-items:center;gap:2px;width:100%;margin:0;padding:12px 16px;display:flex}.qmode-v2 .qm-start-main{font-size:16px;font-weight:800}.qmode-v2 .qm-start-sub{opacity:.85;font-size:11.5px;font-weight:600}.subj-card{cursor:pointer;-webkit-backdrop-filter:blur(40px)saturate(180%);text-align:left;width:100%;min-height:72px;font-family:var(--font-body);background:#ffffff1c;border:1px solid #ffffff40;border-radius:20px;align-items:center;gap:14px;padding:14px 16px;transition:all .22s cubic-bezier(.34,1.2,.64,1);display:flex;position:relative;overflow:hidden;box-shadow:inset 0 2px #ffffff47,inset 0 -1px #00000029,0 6px 28px #0000004d}.subj-card:before{content:"";border-radius:inherit;background:linear-gradient(135deg, rgba(var(--cyan-rgb), .1), transparent 60%);opacity:0;transition:opacity .2s;position:absolute;inset:0}.subj-card:hover:before{opacity:1}.subj-card:hover{box-shadow:inset 0 2px 0 #ffffff61, 0 16px 48px rgba(var(--cyan-rgb), .15), 0 8px 32px #00000059;background:#ffffff2b;border-color:#fff6;transform:translateY(-4px)scale(1.01)}.subj-card:active{transform:scale(.98)}.subj-card-text{flex-direction:column;flex:1;min-width:0;display:flex}.subj-name{color:var(--text);white-space:normal;word-break:break-word;text-shadow:.5px .5px #00000059,1px 1px #00000059,1.5px 1.5px 2px #00000040;font-size:15.5px;font-weight:700;line-height:1.4}.subj-count{color:var(--text2);white-space:normal;word-break:break-word;margin-top:5px;font-size:12.5px;line-height:1.5}.subj-emoji{flex-shrink:0;font-size:30px}.subj-arrow{color:var(--text2);flex-shrink:0;align-self:center;margin-left:auto;font-size:18px;transition:transform .2s,color .2s}.subj-card:hover .subj-arrow{color:var(--cyan);transform:translate(4px)}.subj-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;display:flex}.subj-trace{--trace-color:var(--cyan);opacity:.9;flex-shrink:0;width:72px;height:16px;display:block}.subj-trace.active{opacity:.9}.subj-trace svg{width:100%;height:100%}.subj-trace-line{fill:none;stroke:var(--trace-color);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.subj-trace.active .subj-trace-line{stroke-dasharray:100;stroke-dashoffset:100px;animation:subj-trace-draw 2.6s ease-in-out var(--trace-delay,0s) infinite}@keyframes subj-trace-draw{0%{stroke-dashoffset:100px;opacity:.2}45%{stroke-dashoffset:0;opacity:1}55%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:-100px;opacity:.2}}@media (prefers-reduced-motion:reduce){.subj-trace.active .subj-trace-line{stroke-dashoffset:0;animation:none}}.subj-progress{flex-direction:column;gap:5px;margin-top:9px;display:flex}.subj-progress-bar{background:var(--border2);border-radius:2px;height:4px;display:block;overflow:hidden}.subj-progress-bar>span{background:linear-gradient(90deg, var(--cyan), var(--green));border-radius:2px;min-width:3px;height:100%;display:block}.subj-progress-text{color:var(--text2);font-variant-numeric:tabular-nums;font-size:11.5px;position:relative}.subj-meta{font-family:var(--font-mono);color:var(--text3);gap:10px;font-size:11px;display:flex}.subj-meta>span,.subj-progress>span{white-space:nowrap}.subj-card--dash{border-radius:20px;gap:12px;min-height:78px;padding:12px 14px}.subj-card--dash .subj-emoji{background:#ffffff14;border:1px solid #ffffff24;border-radius:14px;justify-content:center;align-items:center;width:46px;height:46px;font-size:26px;display:flex}.subj-card--dash .subj-name{font-size:16px;line-height:1.25}.subj-card--dash .subj-foot{flex-direction:column;align-items:flex-start;gap:5px;margin-top:5px}.subj-card--dash .subj-meta{color:var(--text2);flex-wrap:wrap;gap:4px 8px;font-size:11.5px}.subj-card--dash .subj-meta>span+span:before{content:"·";opacity:.6;margin-right:8px}.subj-card--dash .subj-count{margin-top:3px;font-size:12px}.subj-card--dash:hover{transform:none}.subj-exam{color:var(--cyan);margin-top:4px;font-size:12px;font-weight:600;display:block}.subj-exam.soon{color:var(--red)}.subj-grid>.subj-card.subj-card--build{--p:1;--s0:clamp(0, calc(var(--p) / .15), 1);--q0:calc(1 - clamp(0, calc((var(--p) - .15) / .45), 1));--e0:clamp(0, calc(var(--p) / .18), 1);--n0:clamp(0, calc((var(--p) - .45) / .4), 1);--f0:clamp(0, calc((var(--p) - .55) / .4), 1);--g0:clamp(0, calc((var(--p) - .62) / .35), 1);--r0:clamp(0, calc((var(--p) - .55) / .4), 1);--s:calc(var(--s0) * var(--s0) * (3 - 2 * var(--s0)));--q:calc(var(--q0) * var(--q0) * (3 - 2 * var(--q0)));--e:calc(var(--e0) * var(--e0) * (3 - 2 * var(--e0)));--n:calc(var(--n0) * var(--n0) * (3 - 2 * var(--n0)));--f:calc(var(--f0) * var(--f0) * (3 - 2 * var(--f0)));--g:calc(var(--g0) * var(--g0) * (3 - 2 * var(--g0)));--r:calc(var(--r0) * var(--r0) * (3 - 2 * var(--r0)));--rs:calc(var(--s) * 29px);--cx:calc(38px + var(--q) * (var(--cw,330px) / 2 - 38px));animation:none}.subj-grid>.subj-card.subj-card--build[data-forge="0"]{clip-path:inset(calc(var(--q) * (50% - var(--rs))) calc(var(--q) * (var(--cw,330px) - var(--cx) - var(--rs))) calc(var(--q) * (50% - var(--rs))) calc(var(--q) * (var(--cx) - var(--rs))) round calc(20px + var(--q) * 90px));transition:none}.subj-card--build[data-forge="0"]:after{content:"";z-index:2;pointer-events:none;top:calc(var(--q) * (50% - var(--rs)) - 1px);bottom:calc(var(--q) * (50% - var(--rs)) - 1px);left:calc(var(--q) * (var(--cx) - var(--rs)) - 1px);right:calc(var(--q) * (var(--cw,330px) - var(--cx) - var(--rs)) - 1px);border-radius:calc(20px + var(--q) * 90px);border:1px solid rgba(var(--cyan-rgb), calc(.2 + var(--q) * .5));opacity:clamp(0, calc(var(--q) * 5), 1);position:absolute}.subj-scan{left:var(--cx,38px);width:calc(var(--rs,29px) * 2 + (1 - var(--q,0)) * 520px);height:calc(var(--rs,29px) * 2 + (1 - var(--q,0)) * 520px);border:1.5px solid rgba(var(--cyan-rgb), .8);box-shadow:0 0 16px rgba(var(--cyan-rgb), .45), inset 0 0 12px rgba(var(--cyan-rgb), .25);z-index:3;pointer-events:none;opacity:calc(clamp(0, calc(var(--p,1) * 12), 1) * clamp(0, calc((.6 - var(--p,1)) * 5), 1));border-radius:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.subj-card--build[data-forge="0"] .subj-emoji{opacity:var(--e);transform:translateX(calc(var(--q) * (var(--cw,330px) / 2 - 38px))) scale(calc(.3 + .7 * var(--e) + .3 * var(--e) * (1 - var(--e))))}.subj-card--build[data-forge="0"] .subj-name{opacity:var(--n);clip-path:inset(0 calc((1 - var(--n)) * 100%) 0 0)}.subj-card--build[data-forge="0"] .subj-foot,.subj-card--build[data-forge="0"] .subj-exam,.subj-card--build[data-forge="0"] .subj-count{opacity:var(--f);transform:translateY(calc((1 - var(--f)) * 8px))}.subj-card--build[data-forge="0"] .subj-progress{opacity:var(--g);transform:translateY(calc((1 - var(--g)) * 8px))}.subj-card--build[data-forge="0"] .subj-progress-bar>span{transform-origin:0;transform:scaleX(var(--g))}.subj-card--build[data-forge="0"] .subj-arrow{opacity:var(--r);transform:translateX(calc((1 - var(--r)) * -10px))}.subj-card--build .subj-progress-bar>span{animation:none!important}@media (prefers-reduced-motion:reduce){.subj-grid>.subj-card.subj-card--build,.subj-card--build *{animation:none!important}}.subj-hue-0{--hue:#4b6f98;--hue2:#3e5c7d;--hue-rgb:75, 111, 152}.subj-hue-1{--hue:#906147;--hue2:#78513b;--hue-rgb:144, 97, 71}.subj-hue-2{--hue:#3a7767;--hue2:#316356;--hue-rgb:58, 119, 103}.subj-hue-3{--hue:#a5516d;--hue2:#89445b;--hue-rgb:165, 81, 109}.subj-hue-4{--hue:#776c3a;--hue2:#625a30;--hue-rgb:119, 108, 58}.subj-hue-5{--hue:#8159ad;--hue2:#6d4995;--hue-rgb:129, 89, 173}.subj-hue-6{--hue:#3e737e;--hue2:#346069;--hue-rgb:62, 115, 126}.subj-hue-7{--hue:#a55452;--hue2:#8a4644;--hue-rgb:165, 84, 82}.subj-hue-8{--hue:#45783b;--hue2:#396431;--hue-rgb:69, 120, 59}.subj-hue-9{--hue:#9d4e9d;--hue2:#834083;--hue-rgb:157, 78, 157}.subj-hue-10{--hue:#5b7339;--hue2:#4c6030;--hue-rgb:91, 115, 57}.subj-hue-11{--hue:#6464b2;--hue2:#5050a3;--hue-rgb:100, 100, 178}body.light-mode .subj-hue-0{--hue:#3c5b7f;--hue2:#304a66;--hue-rgb:60, 91, 127}body.light-mode .subj-hue-1{--hue:#795039;--hue2:#61412e;--hue-rgb:121, 80, 57}body.light-mode .subj-hue-2{--hue:#2e6255;--hue2:#254f45;--hue-rgb:46, 98, 85}body.light-mode .subj-hue-3{--hue:#8c425a;--hue2:#703548;--hue-rgb:140, 66, 90}body.light-mode .subj-hue-4{--hue:#625a2e;--hue2:#4f4825;--hue-rgb:98, 90, 46}body.light-mode .subj-hue-5{--hue:#6d4898;--hue2:#583a7a;--hue-rgb:109, 72, 152}body.light-mode .subj-hue-6{--hue:#32616a;--hue2:#284d55;--hue-rgb:50, 97, 106}body.light-mode .subj-hue-7{--hue:#8c4442;--hue2:#703735;--hue-rgb:140, 68, 66}body.light-mode .subj-hue-8{--hue:#38632f;--hue2:#2d5026;--hue-rgb:56, 99, 47}body.light-mode .subj-hue-9{--hue:#853f85;--hue2:#6b326b;--hue-rgb:133, 63, 133}body.light-mode .subj-hue-10{--hue:#4b612d;--hue2:#3c4e24;--hue-rgb:75, 97, 45}body.light-mode .subj-hue-11{--hue:#4f4fa9;--hue2:#3f3f87;--hue-rgb:79, 79, 169}.subj-tint{--cyan:var(--hue);--cyan2:var(--hue2);--cyan-rgb:var(--hue-rgb);--btn-grad-end:var(--hue2)}.screen-subject.subj-tint,.qmode-v2.subj-tint{isolation:isolate}.screen-subject.subj-tint:before,.qmode-v2.subj-tint:before{content:"";background:radial-gradient(ellipse 80% 100% at 50% 0%, rgba(var(--hue-rgb), .22), transparent 72%);pointer-events:none;z-index:-1;height:240px;position:absolute;top:0;left:0;right:0}.qmode-v2.subj-tint{position:relative}.subj-tint .subj-header:after{content:"";background:var(--hue);border-radius:2px;width:46px;height:3px;margin:16px auto 0;display:block}.subj-tint .subj-sub{color:var(--hue)}.qmode-v2.subj-tint .qm-back{border-color:rgba(var(--hue-rgb), .5)}.home-notice{box-sizing:border-box;background:rgba(var(--cyan-rgb), .08);border:1px solid rgba(var(--cyan-rgb), .25);cursor:pointer;border-radius:14px;width:100%;max-width:960px;margin:12px auto 0;padding:10px 16px;animation:2.6s ease-in-out infinite homeNoticePulse;overflow:hidden}@keyframes homeNoticePulse{0%,to{border-color:rgba(var(--cyan-rgb), .25)}50%{border-color:rgba(var(--cyan-rgb), .5)}}.home-notice-track{white-space:nowrap;gap:60px;width:max-content;animation:16s linear infinite homeNoticeScroll;display:flex}.home-notice:hover .home-notice-track{animation-play-state:paused}.home-notice-text{font-family:var(--font-body);color:var(--text2);flex-shrink:0;font-size:13px}.home-notice-text:before{content:"📢";flex-shrink:0;margin-right:8px;font-size:15px}@keyframes homeNoticeScroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.home-notice-track{animation:none}}.home-notice-modal{-webkit-backdrop-filter:blur(6px);z-index:100;background:#0408109e;justify-content:center;align-items:center;padding:24px;animation:.25s both hn-fade;display:flex;position:fixed;inset:0}.home-notice-modal.closing{animation:.2s reverse both hn-fade}.home-notice-modal-card{text-align:center;background:var(--bg2,#121826);border:1px solid var(--border,#ffffff1f);border-radius:var(--radius-card-lg);width:100%;max-width:min(400px,92vw);max-height:min(78vh,640px);box-shadow:var(--shadow-hi);flex-direction:column;align-items:center;padding:30px 24px 22px;animation:.45s cubic-bezier(.2,.9,.3,1.15) both hn-pop;display:flex;position:relative;overflow:hidden}.home-notice-modal.closing .home-notice-modal-card{animation:.2s reverse both hn-pop}.home-notice-modal-card:before{content:"";background:linear-gradient(90deg, var(--cyan), var(--violet), var(--pink));background-size:200% 100%;height:4px;animation:4s linear infinite hn-slide;position:absolute;inset:0 0 auto}.home-notice-close{width:32px;height:32px;color:var(--text3);cursor:pointer;background:#7f8ca029;border:none;border-radius:50%;font-size:13px;transition:transform .15s,background .2s;position:absolute;top:12px;right:12px}.home-notice-close:active{background:#7f8ca04d;transform:scale(.88)}.home-notice-badge{flex-shrink:0;place-items:center;width:64px;height:64px;margin-bottom:12px;display:grid;position:relative}.home-notice-badge:before{content:"";background:linear-gradient(135deg, rgba(var(--cyan-rgb), .28), rgba(var(--cyan-rgb), .08));border:1px solid rgba(var(--cyan-rgb), .45);border-radius:50%;position:absolute;inset:0}.home-notice-ring{border:2px solid rgba(var(--cyan-rgb), .5);border-radius:50%;animation:2.4s ease-out infinite hn-ripple;position:absolute;inset:0}.home-notice-ring.r2{animation-delay:1.2s}.home-notice-mega{transform-origin:30% 80%;font-size:30px;animation:3s ease-in-out .5s infinite hn-shake;display:inline-block;position:relative}.home-notice-modal-title{font-family:var(--font-heading);color:var(--text);flex-shrink:0;font-size:1.35rem;font-weight:800}.home-notice-from{letter-spacing:.08em;text-transform:uppercase;color:var(--text3);flex-shrink:0;margin:2px 0 14px;font-size:11.5px;font-weight:700}.home-notice-modal-body{width:100%;font-family:var(--font-body);color:var(--text);white-space:pre-wrap;overflow-wrap:break-word;word-break:break-word;text-align:left;background:#7f8ca01a;border-radius:16px;padding:14px 16px;font-size:15.5px;line-height:1.6;animation:.5s .15s backwards hn-up;overflow-y:auto}.home-notice-ok{width:100%;font:800 15px var(--font-body);color:#fff;background:linear-gradient(135deg, var(--cyan2,#1fa6d6), var(--violet));cursor:pointer;border:0;border-radius:14px;flex-shrink:0;margin-top:16px;padding:13px;transition:transform .15s;animation:.5s .25s backwards hn-up;position:relative;overflow:hidden}.home-notice-ok:active{transform:scale(.97)}.home-notice-ok:after{content:"";background:linear-gradient(105deg,#0000 40%,#ffffff4d 50%,#0000 60%);animation:3.5s ease-in-out 1s infinite hn-sweep;position:absolute;inset:0;transform:translate(-120%)}@keyframes hn-fade{0%{opacity:0}}@keyframes hn-pop{0%{opacity:0;transform:translateY(24px)scale(.92)}}@keyframes hn-up{0%{opacity:0;transform:translateY(10px)}}@keyframes hn-slide{to{background-position:200% 0}}@keyframes hn-ripple{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(1.8)}}@keyframes hn-shake{0%,60%,to{transform:rotate(0)}66%{transform:rotate(-14deg)}72%{transform:rotate(10deg)}78%{transform:rotate(-8deg)}84%{transform:rotate(5deg)}90%{transform:rotate(0)}}@keyframes hn-sweep{0%,60%{transform:translate(-120%)}to{transform:translate(120%)}}@media (prefers-reduced-motion:reduce){.home-notice-modal,.home-notice-modal-card,.home-notice-modal-card:before,.home-notice-ring,.home-notice-mega,.home-notice-modal-body,.home-notice-ok,.home-notice-ok:after{animation:none!important}}.exam-card{box-sizing:border-box;border:1px solid var(--g-border);background:rgba(var(--cyan-rgb), .06);border-radius:14px;width:100%;overflow:hidden}.exam-card-main{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:12px 14px;font-family:inherit;display:flex}.exam-card-icon{flex-shrink:0;font-size:26px}.exam-cal{text-align:center;background:#f5f7fb;border-radius:9px;flex-direction:column;flex-shrink:0;width:42px;line-height:1;display:flex;overflow:hidden;box-shadow:0 2px 8px #00000059}.exam-cal-month{color:#fff;letter-spacing:.8px;background:#e5484d;padding:4px 0 3px;font-size:9.5px;font-weight:800}.exam-cal-day{color:#14161c;padding:5px 0 6px;font-size:20px;font-weight:800}.exam-card-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.exam-card-kicker{letter-spacing:1px;text-transform:uppercase;opacity:.6;font-size:11px}.exam-card-name{overflow-wrap:anywhere;font-size:16px;font-weight:700}.exam-card-date{opacity:.75;font-size:13px}.exam-card-days{text-align:center;background:rgba(var(--cyan-rgb), .18);border-radius:12px;flex-direction:column;flex-shrink:0;min-width:56px;padding:8px 10px;font-weight:700;line-height:1.1;display:flex}.exam-card-days b{font-size:20px}.exam-card-days small{opacity:.8;font-size:11px;font-weight:600}.exam-card-days.soon{color:var(--red);background:#ff3a5c33}.exam-card-list{border-top:1px solid var(--g-border);margin:0;padding:4px 14px 12px;list-style:none}.exam-card-list li{border-bottom:1px dashed var(--g-border);justify-content:space-between;gap:12px;padding:8px 0;font-size:14px;display:flex}.exam-card-list li:last-child{border-bottom:0}.exam-li-name{overflow-wrap:anywhere}.exam-li-name em{opacity:.6;font-size:12px;font-style:normal}.exam-li-date{opacity:.7;white-space:nowrap;font-size:13px}.legal-footer{box-sizing:border-box;border-top:1px solid var(--border);width:100%;color:var(--text2);text-align:center;background:0 0;padding:22px 20px 26px;font-size:13px;line-height:1.6}.legal-footer-copyright{color:var(--text);font-size:14px;font-weight:600}.legal-footer-tagline{color:var(--text3);margin-top:4px}.legal-footer-links{margin-top:12px}.legal-footer a{color:var(--text2);text-decoration:underline}.legal-footer a:hover{color:var(--cyan)}.legal-footer-dot{color:var(--text3);margin:0 10px}html.ptr-active,html.ptr-active body{overscroll-behavior-y:contain}.ptr{justify-content:center;align-items:flex-end;height:0;display:flex;overflow:hidden}.ptr:not(.ptr-dragging){transition:height .28s cubic-bezier(.2,.8,.2,1)}.ptr-inner{letter-spacing:.02em;color:var(--text-dim,#ffffffb3);align-items:center;gap:10px;padding-bottom:10px;font-size:12px;display:flex}.ptr-spinner{border:2px solid rgba(var(--cyan-rgb,74, 111, 148), .3);border-top-color:var(--cyan,#4a6f94);border-radius:50%;flex:none;width:18px;height:18px}.ptr-spin{animation:.8s linear infinite ptr-rotate}@keyframes ptr-rotate{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.ptr:not(.ptr-dragging){transition:none}.ptr-spin{animation-duration:1.6s}}.mascot{--mc-body:#e8647d;--mc-dark:color-mix(in srgb, var(--mc-body) 72%, #000);--mc-ink:#2b1b24;display:block;overflow:visible}body.light-mode .mascot{--mc-body:#d9566f}.mascot .mc-body{fill:var(--mc-body)}.mascot .mc-dark{fill:var(--mc-dark)}.mascot .mc-hand{fill:var(--mc-dark);stroke:var(--mc-body);stroke-width:1.5px}.mascot .mc-shine{fill:#ffffff61}.mascot .mc-arm{stroke:var(--mc-dark);stroke-width:6px;stroke-linecap:round;fill:none}.mascot .mc-steth{stroke:var(--cyan,#4a6f94);stroke-width:3.2px;stroke-linecap:round;fill:none}.mascot .mc-steth-head{fill:var(--cyan2,#3d5c7d);stroke:#fff;stroke-width:1.6px}.mascot .mc-steth-dot{fill:#fff}.mascot .mc-eye{fill:var(--mc-ink)}.mascot .mc-glint{fill:#fff}.mascot .mc-eye-line,.mascot .mc-mouth{stroke:var(--mc-ink);stroke-width:3px;stroke-linecap:round;fill:none}.mascot .mc-mouth-open{fill:var(--mc-ink);stroke:var(--mc-ink);stroke-width:2px;stroke-linejoin:round}.mascot .mc-tongue{fill:#ff9aa9}.mascot .mc-cheek{fill:#ffffff47}.mascot .mc-spark{fill:#ffd35c;transform-box:fill-box;transform-origin:50%;animation:.9s ease-in-out infinite mc-twinkle}.mascot .mc-s2{animation-delay:-.3s}.mascot .mc-s3{animation-delay:-.6s}.mascot .mc-z{fill:var(--text3,#8a8f98);font:800 14px var(--font-heading,sans-serif);opacity:0;animation:3s ease-in-out infinite mc-z}.mascot .mc-z2{font-size:18px;animation-delay:1.2s}.mascot .mc-all{transform-box:view-box;transform-origin:50% 92%}.mascot--idle .mc-all,.mascot--wave .mc-all,.mascot--shy .mc-all{animation:3.2s ease-in-out infinite mc-bob}.mascot--cheer .mc-all{animation:.55s cubic-bezier(.3,.8,.4,1) 2 mc-jump}.mascot--nap .mc-all{animation:3.6s ease-in-out infinite mc-breathe}.mascot .mc-eyes{transform-box:fill-box;transform-origin:50%;animation:4.6s ease-in-out infinite mc-blink}.mascot .mc-arm-r.mc-wave{transform-box:fill-box;transform-origin:0 100%;animation:.55s ease-in-out 6 alternate mc-wave}@keyframes mc-bob{50%{transform:translateY(-2.5px)}}@keyframes mc-jump{0%,to{transform:translateY(0)scale(1)}35%{transform:translateY(-14px)scale(.96,1.05)}70%{transform:translateY(0)scale(1.05,.95)}}@keyframes mc-breathe{50%{transform:scale(1.035,1.045)}}@keyframes mc-blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}@keyframes mc-wave{0%{transform:rotate(-12deg)}to{transform:rotate(24deg)}}@keyframes mc-twinkle{50%{opacity:.5;transform:scale(.45)rotate(25deg)}}@keyframes mc-z{0%{opacity:0;transform:translateY(6px)}25%{opacity:.9}to{opacity:0;transform:translate(6px,-12px)}}@media (prefers-reduced-motion:reduce){.mascot .mc-all,.mascot .mc-eyes,.mascot .mc-arm-r.mc-wave,.mascot .mc-spark{animation:none}.mascot .mc-z{opacity:.8;animation:none}}.dashboard-mascot{margin:0 auto 2px}.mascot-cheer{right:12px;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:60;pointer-events:none;flex-direction:column;align-items:center;animation:1.5s cubic-bezier(.2,.9,.3,1.1) both mc-cheer-pop;display:flex;position:fixed}.mascot-cheer-bubble{background:var(--surface,#14181f);border:1px solid rgba(var(--cyan-rgb,74, 111, 148), .5);color:var(--text,#fff);font:700 12.5px var(--font-display,sans-serif);white-space:nowrap;border-radius:14px;margin-bottom:2px;padding:5px 11px;box-shadow:0 6px 18px #00000059}@keyframes mc-cheer-pop{0%{opacity:0;transform:translateY(40px)scale(.6)}18%{opacity:1;transform:translateY(0)scale(1)}80%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(24px)scale(.85)}}@media (prefers-reduced-motion:reduce){.mascot-cheer{animation:1.5s linear both mc-cheer-fade}@keyframes mc-cheer-fade{0%,85%{opacity:1}to{opacity:0}}}.ei-wrap{width:fit-content;max-width:100%;margin:0 auto 4px;display:block;position:relative}.ei-wrap .ei{margin:0}.ei-mascot{position:absolute;bottom:-8px;right:-26px}.screen-subject{flex-direction:column;align-items:center;min-height:calc(100vh - 52px);padding:20px 16px 60px;display:flex;position:relative}.subj-header{text-align:center;z-index:1;margin-bottom:36px;position:relative}.subj-icon{filter:drop-shadow(0 0 28px rgba(var(--cyan-rgb), .6));margin-bottom:14px;font-size:60px}.subj-title{color:var(--heading);margin-bottom:8px;font-family:Syne,sans-serif;font-size:clamp(1.8rem,5vw,2.8rem);font-weight:800;line-height:1.1}.subj-sub{color:var(--text2);font-size:.88rem}.dashboard-badge{background:rgba(var(--cyan-rgb), .14);border:1px solid rgba(var(--cyan-rgb), .35);color:var(--cyan);font-size:12.5px;font-weight:700;font-family:var(--font-mono);border-radius:100px;align-items:center;gap:4px;margin-top:10px;padding:5px 14px;display:inline-flex}.dashboard-greeting{text-align:center;z-index:1;margin-bottom:14px;position:relative}.dashboard-greeting-text{color:var(--heading);font-family:Syne,sans-serif;font-size:clamp(1.1rem,4vw,1.5rem);font-weight:700}.dashboard-nudge{max-width:34ch;color:var(--text2);margin:6px auto 0;font-size:.85rem;line-height:1.45}.subj-grid{z-index:1;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;width:100%;max-width:640px;display:grid;position:relative}@media (width>=700px){.subj-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));max-width:900px}}@media (width>=1280px){.subj-grid{max-width:1180px}}.dash-top{flex-direction:column;gap:12px;width:100%;max-width:640px;margin-bottom:16px;display:flex}.dash-top .home-notice,.dash-top .resume-card{max-width:none;margin:0}.dash-invites{border-color:rgba(var(--cyan-rgb), .35);margin:0}.stuck-help{text-align:center;color:#8aa0b8;margin-top:26px;font-size:13px;animation:.4s both stuck-help-in}.stuck-help-actions{justify-content:center;gap:10px;margin-top:12px;display:flex}.stuck-help-actions button{cursor:pointer;color:#dbe6f3;background:#ffffff14;border:1px solid #ffffff2e;border-radius:10px;padding:9px 16px;font-size:13px}.stuck-help-actions button:disabled{opacity:.6;cursor:default}@keyframes stuck-help-in{0%{opacity:0}to{opacity:1}}.resume-card{box-sizing:border-box;border:1px solid rgba(var(--cyan-rgb), .45);-webkit-backdrop-filter:blur(32px)saturate(180%);background:#ffffff21;border-radius:18px;align-items:center;gap:12px;width:100%;padding:12px 14px;display:flex;box-shadow:inset 0 2px #ffffff47,0 4px 16px #0003}.resume-card-text{flex:1;min-width:0}.resume-card-kicker{letter-spacing:.1em;text-transform:uppercase;color:var(--cyan);font-size:10px;font-weight:700}.resume-card-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:14.5px;font-weight:700;overflow:hidden}.resume-card-meta{color:var(--text2);margin-top:2px;font-size:12px}.resume-card-bar{background:var(--border2);border-radius:2px;height:4px;margin-top:8px;overflow:hidden}.resume-card-bar>div{background:linear-gradient(90deg, var(--cyan), var(--violet));border-radius:2px;height:100%}.resume-card-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.resume-card-go{white-space:nowrap;padding:10px 16px!important;font-size:14px!important}.resume-card-discard{border:1px solid var(--border2);cursor:pointer;width:34px;height:34px;font:inherit;color:var(--text2);background:0 0;border-radius:50%;justify-content:center;align-items:center;font-size:14px;display:inline-flex}.loading-line{text-align:center;color:var(--text2);justify-content:center;align-items:center;gap:10px;min-height:3.2em;padding:40px 20px;display:flex}.loading-line-spin{border:2px solid rgba(var(--cyan-rgb), .25);border-top-color:var(--cyan);border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.7s linear infinite std-loading-spin}.loading-line-text{opacity:1;transition:opacity .26s}.loading-line-text.is-fading{opacity:0}.loading-line.app-loading-quip{min-height:2.6em;color:var(--text3);padding:14px 20px 0;font-size:13px}@media (prefers-reduced-motion:reduce){.loading-line-spin{animation:none}.loading-line-text{transition:none}}.offline-guard{z-index:999999;background:var(--chrome-bg-overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.offline-guard-card{text-align:center;max-width:340px;color:var(--text);font-family:var(--font-body,sans-serif)}.offline-guard-icon{margin-bottom:14px;font-size:44px}.offline-guard-title{font-family:var(--font-heading,sans-serif);margin-bottom:10px;font-size:22px;font-weight:800}.offline-guard-text{color:var(--text3);margin:0;font-size:14px;line-height:1.6}.legal-shell{background:var(--bg);min-height:100vh}
