@font-face{font-family:CIQ Frame;src:url(/fonts/ciq-frame.woff) format("woff");font-weight:400 900;font-style:normal;font-display:swap}:root{--bg: #F4F2EE;--ink: #1C1C1E;--ink-2: #3A3A3C;--ink-3: #6E6E73;--ink-4: #8E8E93;--hair: rgba(28, 28, 30, .08);--hair-2: rgba(28, 28, 30, .14);--glass: rgba(255, 255, 255, .58);--glass-strong: rgba(255, 255, 255, .78);--glass-soft: rgba(255, 255, 255, .38);--glass-edge: rgba(255, 255, 255, .72);--glass-dark: rgba(22, 22, 26, .8);--blur: blur(22px) saturate(180%);--coral: #E8603C;--coral-2: #FF8A5C;--coral-soft: rgba(232, 96, 60, .12);--violet: #6D5BF6;--violet-soft: rgba(109, 91, 246, .12);--mint: #23A26D;--mint-soft: rgba(35, 162, 109, .13);--sky: #2F7FD8;--sky-soft: rgba(47, 127, 216, .12);--gold: #C8912E;--gold-2: #F2C14E;--gold-soft: rgba(242, 193, 78, .2);--red: #E0433A;--red-soft: rgba(224, 67, 58, .12);--paper: var(--bg);--paper-2: rgba(28, 28, 30, .05);--card: var(--glass-strong);--line: var(--hair);--line-2: var(--hair-2);--terra: var(--coral);--terra-2: var(--coral-2);--terra-soft: var(--coral-soft);--sage: var(--mint);--sage-soft: var(--mint-soft);--plum: var(--violet);--plum-soft: var(--violet-soft);--serif: "Instrument Serif", "New York", Georgia, serif;--display: "CIQ Frame", "Inter", -apple-system, system-ui, sans-serif;--sans: "Inter", -apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, "SF Mono", monospace;--r: 22px;--r-sm: 13px;--shadow: 0 1px 1px rgba(0, 0, 0, .03), 0 10px 30px -12px rgba(40, 30, 80, .18);--shadow-lift: 0 2px 2px rgba(0, 0, 0, .04), 0 24px 60px -20px rgba(40, 30, 80, .35);--ease: cubic-bezier(.2, .8, .2, 1)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;color:var(--ink);background:var(--bg);font:15px/1.55 var(--sans);letter-spacing:-.006em;-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01","tnum"}body:before,body:after{content:"";position:fixed;top:-20vmax;right:-20vmax;bottom:-20vmax;left:-20vmax;z-index:-1;pointer-events:none;background:radial-gradient(38vmax 38vmax at 12% 18%,rgba(255,168,132,.55),transparent 60%),radial-gradient(34vmax 34vmax at 88% 12%,rgba(167,152,255,.45),transparent 60%),radial-gradient(40vmax 40vmax at 70% 88%,rgba(128,214,184,.4),transparent 60%),radial-gradient(30vmax 30vmax at 18% 92%,rgba(130,190,255,.35),transparent 60%);filter:blur(10px);animation:drift 28s ease-in-out infinite alternate}body:after{background:radial-gradient(28vmax 28vmax at 50% 45%,rgba(255,225,160,.3),transparent 60%);animation-duration:36s;animation-direction:alternate-reverse}@keyframes drift{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(2vmax,-2vmax,0) scale(1.05)}to{transform:translate3d(-2vmax,1vmax,0) scale(1.02)}}h1,h2,h3,h4{margin:0;line-height:1.12;letter-spacing:-.01em}h1,h2,h3{font-family:var(--display);font-weight:700;font-synthesis:none}h1{font-size:clamp(30px,4.2vw,44px);line-height:1.06;letter-spacing:-.015em}h1 em,h2 em{font-style:normal;background:linear-gradient(90deg,var(--coral),var(--violet));-webkit-background-clip:text;background-clip:text;color:transparent}h2{font-size:21px}h3{font-size:16.5px;letter-spacing:0}p{margin:0}a{color:var(--violet);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}::selection{background:#e8603c2e}button,input,textarea,select{font:inherit;color:inherit}*{-webkit-tap-highlight-color:transparent}button,a,.chip,.option,.nav-link,.tab,.step-dot,.check,.big-choice,.icon-btn{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}:focus{outline:none}:focus-visible{outline:2.5px solid rgba(28,28,30,.55);outline-offset:2px;border-radius:10px}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none}.glass,.card,.spine,.topbar,.modal,.notif-panel,.mobile-bar{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-edge);box-shadow:var(--shadow),inset 0 1px #ffffffbf}.shell{display:grid;grid-template-columns:268px 1fr;min-height:100vh}.spine{position:sticky;top:14px;height:calc(100vh - 28px);margin:14px 0 14px 14px;overflow-y:auto;border-radius:26px;padding:18px 14px;display:flex;flex-direction:column;gap:16px}.brand{display:flex;align-items:center;gap:10px;padding:0 6px;color:inherit}.brand-mark{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;color:#fff;font:700 19px var(--display);background:linear-gradient(135deg,var(--coral) 0%,#FF5E8A 55%,var(--violet) 100%);box-shadow:0 6px 16px -6px #e8603cb3,inset 0 1px #fff6}.brand-name{font:700 18px var(--display);letter-spacing:-.005em}.brand-name em{font:700 18px var(--display);font-style:normal;background:linear-gradient(90deg,var(--coral),var(--violet));-webkit-background-clip:text;background-clip:text;color:transparent}.nav-group{display:flex;flex-direction:column;gap:2px}.nav-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-4);padding:8px 10px 4px}.nav-link{display:flex;align-items:center;gap:11px;padding:8.5px 10px;border-radius:12px;color:var(--ink-2);font-weight:520;font-size:14.5px;transition:background .2s,color .2s;position:relative}.nav-link:hover{background:#ffffff8c;text-decoration:none;color:var(--ink)}.nav-link.active{background:var(--glass-dark);color:#fff;box-shadow:0 6px 16px -8px #00000080}.nav-link.active svg{color:var(--gold-2)}.nav-link .lock{margin-left:auto;color:var(--ink-4)}.nav-link .count{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:99px;background:var(--coral);color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center}.spine-foot{margin-top:auto;display:flex;flex-direction:column;gap:10px}.main{padding:14px clamp(16px,3vw,40px) 90px;max-width:1220px;width:100%;min-width:0}.topbar{position:sticky;top:14px;z-index:30;border-radius:20px;padding:9px 10px 9px 18px;display:flex;align-items:center;gap:10px;margin-bottom:22px}.topbar .crumb{font-weight:620;font-size:14px;color:var(--ink-2)}.mobile-bar{display:none}@media (max-width: 900px){.shell{grid-template-columns:1fr}.spine{position:fixed;z-index:50;left:0;top:0;margin:10px;height:calc(100vh - 20px);width:282px;transform:translate(-110%);visibility:hidden;transition:transform .3s var(--ease),visibility 0s linear .3s}.spine.open{transform:none;visibility:visible;transition:transform .3s var(--ease)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#14141e40;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:45}.main{padding:10px 16px 90px}.topbar{top:10px}.topbar .crumb{display:none}}.card{border-radius:var(--r);padding:22px}.card.flat{box-shadow:none;background:var(--glass-soft)}.card.ink{background:var(--glass-dark);color:#f5f5f7;border-color:#ffffff1f;box-shadow:var(--shadow-lift),inset 0 1px #ffffff14}.card.ink .muted{color:#aeaeb2}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.grid{display:grid;gap:16px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.split{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr)}@media (max-width: 980px){.g3,.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr}}@media (max-width: 640px){.g2,.g3,.g4{grid-template-columns:1fr}}.row{display:flex;align-items:center;gap:10px}.row.wrap{flex-wrap:wrap}.between{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:12px}.stack-lg{display:flex;flex-direction:column;gap:20px}.muted{color:var(--ink-3)}.small{font-size:13.5px}.tiny{font-size:12px}.mono{font-family:var(--mono);font-size:12px}.eyebrow{font-size:11.5px;font-weight:650;letter-spacing:.07em;text-transform:uppercase;color:var(--coral)}.serif{font-family:var(--serif)}.num{font-weight:680;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.big-num{font:700 44px/1 var(--display);letter-spacing:-.04em;font-variant-numeric:tabular-nums}.divider{height:1px;background:var(--hair);margin:6px 0}.spacer{flex:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;background:var(--glass-dark);color:#fff;padding:10px 18px;border-radius:999px;font-weight:600;font-size:14.5px;cursor:pointer;transition:transform .15s var(--ease),box-shadow .2s,background .2s,opacity .2s;white-space:nowrap;box-shadow:0 6px 16px -8px #0000008c,inset 0 1px #ffffff26}.btn:hover{transform:translateY(-1px);text-decoration:none}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn.terra{background:linear-gradient(135deg,var(--coral),#F0477A);box-shadow:0 8px 20px -8px #e8603cbf,inset 0 1px #ffffff4d}.btn.violet{background:linear-gradient(135deg,var(--violet),#9B6BFF);box-shadow:0 8px 20px -8px #6d5bf6b3,inset 0 1px #ffffff4d}.btn.ghost{background:#ffffff8c;color:var(--ink);border-color:var(--glass-edge);box-shadow:var(--shadow);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}.btn.ghost:hover{background:#fffc}.btn.gold{background:linear-gradient(135deg,#e6a93a,#f5c451);color:#3a2604;box-shadow:0 8px 20px -8px #c8912ecc,inset 0 1px #ffffff80}.btn.sm{padding:6px 13px;font-size:13px}.btn.icon{padding:8px;border-radius:12px}.btn.link{background:none;border:none;color:var(--violet);padding:0;box-shadow:none}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:13px;font-weight:600;color:var(--ink-2)}.input,.textarea,.select{width:100%;border:1px solid var(--hair-2);background:#ffffffb3;border-radius:var(--r-sm);padding:10px 13px;font-size:15px;transition:border .2s,box-shadow .2s,background .2s}.input:focus,.textarea:focus,.select:focus{outline:none;background:#fff;border-color:#1c1c1e59;box-shadow:0 0 0 4px #e8603c1a}.textarea{min-height:100px;resize:vertical;line-height:1.5}.hint{font-size:12.5px;color:var(--ink-3)}.err{color:var(--red);font-size:13px}.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12.5px;font-weight:600;background:#fff9;color:var(--ink-2);border:1px solid var(--hair);max-width:100%;line-height:1.35}.chip.terra{background:var(--coral-soft);color:#b9431f;border-color:#e8603c33}.chip.sage{background:var(--mint-soft);color:#137a50;border-color:#23a26d33}.chip.gold{background:var(--gold-soft);color:#8c5e09;border-color:#c8912e40}.chip.plum{background:var(--violet-soft);color:#4f3dd0;border-color:#6d5bf633}.chip.red{background:var(--red-soft);color:#b42820;border-color:#e0433a33}.chip.sky{background:var(--sky-soft);color:#1f64b5;border-color:#2f7fd833}.chip.ink{background:var(--glass-dark);color:#fff;border-color:transparent}.chip.pick{cursor:pointer;transition:all .15s}.chip.pick:hover{background:#fff}.chip.pick.on{background:var(--glass-dark);color:#fff;border-color:transparent}.bar{height:8px;background:#1c1c1e14;border-radius:999px;overflow:hidden}.bar>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--coral),#F0477A);transition:width .8s var(--ease)}.bar.sage>span{background:linear-gradient(90deg,#1e9a68,#4cc38a)}.bar.gold>span{background:linear-gradient(90deg,var(--gold),var(--gold-2))}.tabs{display:inline-flex;gap:3px;padding:3px;background:#1c1c1e0f;border-radius:12px;flex-wrap:wrap}.tab{border:none;background:none;padding:7px 14px;border-radius:9px;font-weight:600;font-size:13.5px;color:var(--ink-2);cursor:pointer;transition:all .2s}.tab.on{background:#fff;color:var(--ink);box-shadow:0 1px 4px #0000001f,0 0 0 .5px #0000000a}.list{display:flex;flex-direction:column}.list>*+*{border-top:1px solid var(--hair)}.item{padding:12px 0}.empty{text-align:center;padding:42px 20px;border-radius:var(--r);background:var(--glass-soft);border:1px dashed var(--hair-2)}.empty h3{margin:10px 0 6px}.skeleton{background:linear-gradient(90deg,#ffffff73,#ffffffd9,#ffffff73);background-size:200% 100%;animation:shimmer 1.3s infinite;border-radius:14px}@keyframes shimmer{to{background-position:-200% 0}}.notice{display:flex;gap:12px;align-items:flex-start;padding:12px 15px;border-radius:15px;font-size:14px;background:var(--gold-soft);border:1px solid rgba(200,145,46,.22);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}.notice.sky{background:var(--sky-soft);border-color:#2f7fd833}.notice.red{background:var(--red-soft);border-color:#e0433a33}.notice.sage{background:var(--mint-soft);border-color:#23a26d33}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:22px;flex-wrap:wrap}.page-head p{color:var(--ink-3);margin-top:8px;max-width:640px}.coin-chip{display:inline-flex;align-items:center;gap:7px;padding:4px 12px 4px 5px;border-radius:999px;background:#ffffffb3;border:1px solid rgba(200,145,46,.3);font-weight:700;font-size:15px;color:var(--ink);box-shadow:var(--shadow);font-variant-numeric:tabular-nums}.coin-chip:hover{text-decoration:none;background:#fff}.icon-btn{position:relative;width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:#fff9;border:1px solid var(--glass-edge);cursor:pointer;color:var(--ink-2)}.icon-btn:hover{background:#fff}.icon-btn .dot{position:absolute;top:6px;right:6px;min-width:17px;height:17px;padding:0 4px;border-radius:99px;background:var(--red);color:#fff;font-size:10.5px;font-weight:700;display:grid;place-items:center;border:2px solid #fff}.notif-panel{position:fixed;box-sizing:border-box;width:min(380px,calc(100vw - 24px));max-height:min(70vh,calc(100dvh - 90px));overflow-y:auto;border-radius:20px;padding:10px;background:var(--glass-strong);z-index:60;animation:rise .22s var(--ease)}.notif{display:flex;gap:11px;padding:10px;border-radius:13px;color:inherit}.notif:hover{background:#ffffffb3;text-decoration:none}.notif.unread{background:var(--violet-soft)}.notif .ic{flex:none;width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#fff;box-shadow:var(--shadow)}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:700;color:#fff;flex:none;background:linear-gradient(135deg,var(--violet),var(--coral));box-shadow:inset 0 1px #ffffff4d}.avatar.lg{width:64px;height:64px;font-size:22px}.coin-pop{animation:pop .6s var(--ease)}@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.18) rotate(-6deg)}to{transform:scale(1)}}.flame-wrap{position:relative;display:grid;place-items:center}.flame-wrap.alive svg{filter:drop-shadow(0 6px 14px rgba(255,120,70,.5));animation:flicker 2.6s ease-in-out infinite;transform-origin:50% 90%}@keyframes flicker{0%,to{transform:scale(1) rotate(0)}30%{transform:scale(1.03,.98) rotate(-1.5deg)}60%{transform:scale(.98,1.03) rotate(1deg)}}.embers{display:grid;grid-template-columns:repeat(14,1fr);gap:5px}.ember{aspect-ratio:1;border-radius:6px;background:#ffffff1f;border:1px solid rgba(255,255,255,.14)}.card:not(.ink) .ember{background:#1c1c1e0f;border-color:var(--hair)}.ember.done{background:radial-gradient(circle at 50% 70%,#ffd36b,#ff8a5c 60%,#e8603c)!important;border-color:transparent!important;box-shadow:0 0 10px #ff8a5c80}.ember.frozen{background:repeating-linear-gradient(45deg,#78b4ff80,#78b4ff80 3px,#ffffff80 3px,#ffffff80 6px)!important}.ember.before{opacity:.25;border-style:dotted!important}.ember.today{border:2px dashed var(--coral-2)!important;background:transparent!important}.task{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;padding:15px;border-radius:17px;background:#ffffff9e;border:1px solid var(--glass-edge);transition:transform .2s var(--ease),background .2s}.task:hover{background:#ffffffd9}.task.done{background:var(--mint-soft);border-color:#23a26d33}.task.done .task-title{text-decoration:line-through;text-decoration-color:#23a26d80;color:var(--ink-3)}.task.skipped,.task.moved{opacity:.55}.check{width:30px;height:30px;border-radius:50%;border:2px solid var(--hair-2);background:#fff;display:grid;place-items:center;cursor:pointer;transition:all .2s;color:transparent}.check:hover{border-color:var(--mint);color:var(--mint)}.check.on{background:var(--mint);border-color:var(--mint);color:#fff}.task-title{font-weight:620;font-size:15.5px;line-height:1.35}.task-why{font-size:13.5px;color:var(--ink-3);margin-top:4px}.task-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.q-card{padding:28px}.option{display:flex;gap:13px;align-items:flex-start;width:100%;text-align:left;padding:13px 15px;border-radius:15px;background:#ffffffa6;border:1.5px solid var(--glass-edge);cursor:pointer;transition:all .16s;font-size:15px}.option:hover{background:#fff}.option.on{border-color:var(--ink);background:#fff;box-shadow:0 0 0 3px #1c1c1e14}.option .letter{flex:none;width:26px;height:26px;border-radius:8px;border:1px solid var(--hair-2);display:grid;place-items:center;font:600 12.5px var(--mono);background:#fff}.option.on .letter{background:var(--ink);color:#fff;border-color:var(--ink)}.option.idk{border-style:dashed;color:var(--ink-3)}.option.idk.on{border-style:solid;border-color:var(--ink-3);box-shadow:0 0 0 4px #1c1c1e0f;color:var(--ink)}.option.right{border-color:var(--mint);background:var(--mint-soft)}.option.wrong{border-color:var(--red);background:var(--red-soft)}.why-box{margin-top:16px;padding:14px;border-radius:16px;background:var(--violet-soft);border:1px solid rgba(109,91,246,.18)}.why-box label{display:flex;align-items:center;gap:8px;font-weight:620;color:#4f3dd0;font-size:14px;margin-bottom:8px}.why-box .textarea{min-height:70px;background:#fffc}.steps{display:flex;gap:6px;flex-wrap:wrap}.step-dot{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;font:600 12px var(--mono);border:1px solid var(--glass-edge);background:#fff9;cursor:pointer}.step-dot.done{background:var(--mint-soft);border-color:#23a26d4d;color:#137a50}.step-dot.cur{background:var(--glass-dark);color:#fff;border-color:transparent}.code-ex{font:14px/1.9 var(--mono);background:#1c1c22;color:#ededf2;padding:16px 18px;border-radius:16px;white-space:pre-wrap;overflow-x:auto;box-shadow:inset 0 1px #ffffff0f}.blank-input{display:inline-block;min-width:70px;width:auto;padding:1px 8px;margin:0 2px;border-radius:7px;border:1.5px dashed #9B8CFF;background:#9b8cff24;color:#fff;font:600 14px var(--mono);outline:none}.blank-input:focus{border-style:solid;background:#9b8cff47}.blank-input.ok{border:1.5px solid #4CC38A;background:#4cc38a33}.blank-input.no{border:1.5px solid #FF7A70;background:#ff7a7033}.proctor-bar{position:sticky;top:14px;z-index:35;display:flex;align-items:center;gap:12px;padding:10px 16px;border-radius:18px;background:var(--glass-dark);color:#fff;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--shadow-lift)}.timer{font:700 18px var(--mono);letter-spacing:.02em}.timer.low{color:#ff8a80;animation:pulse 1s infinite}@keyframes pulse{50%{opacity:.5}}.strike{width:12px;height:12px;border-radius:50%;background:#fff3}.strike.on{background:#ff5a4e;box-shadow:0 0 10px #ff5a4e}.ring{position:relative;display:grid;place-items:center}.ring svg{transform:rotate(-90deg)}.ring .ring-val{position:absolute;text-align:center}.q-review{padding:15px;border-radius:16px;background:#ffffff9e;border:1px solid var(--glass-edge)}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;font-size:11.5px;font-weight:650;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-4);padding:8px 10px;border-bottom:1px solid var(--hair)}.table td{padding:11px 10px;border-bottom:1px solid var(--hair);vertical-align:middle}.table-wrap{overflow-x:auto}.phase{position:relative;padding-left:40px}.phase:before{content:"";position:absolute;left:15px;top:36px;bottom:-18px;width:2px;background:linear-gradient(var(--hair-2),transparent)}.phase:last-child:before{display:none}.phase-dot{position:absolute;left:0;top:2px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid var(--hair-2);font:650 12px var(--mono);box-shadow:var(--shadow)}.phase-dot.complete{background:var(--mint);border-color:var(--mint);color:#fff}.milestone{border-radius:17px;padding:15px;background:#ffffff9e;border:1px solid var(--glass-edge)}.milestone.done{background:var(--mint-soft);border-color:#23a26d33}.milestone.locked{opacity:.55}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#14141e47;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;z-index:70;padding:16px;animation:fade .2s}.modal{background:var(--glass-strong);border-radius:24px;max-width:540px;width:100%;padding:24px;box-shadow:var(--shadow-lift);animation:rise .28s var(--ease);max-height:90vh;overflow-y:auto}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(12px) scale(.98)}}.toasts{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column;gap:8px;z-index:90;max-width:calc(100vw - 32px)}.toast{background:var(--glass-dark);color:#fff;padding:12px 16px;border-radius:15px;box-shadow:var(--shadow-lift);display:flex;gap:10px;align-items:center;font-size:14.5px;animation:rise .3s var(--ease);max-width:400px;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}.toast.error{background:#c82822e6}.toast.reward{background:linear-gradient(135deg,#281e0aeb,#46300ceb);border:1px solid rgba(242,193,78,.5)}.auth{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;gap:14px;padding:14px}.auth-art{border-radius:28px;background:var(--glass-dark);color:#f5f5f7;padding:46px;display:flex;flex-direction:column;justify-content:space-between;gap:28px;position:relative;overflow:hidden;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--shadow-lift)}.auth-art:before{content:"";position:absolute;width:520px;height:520px;right:-160px;bottom:-200px;border-radius:50%;background:conic-gradient(from 180deg,#ff8a5c,#f0477a,#6d5bf6,#4cc38a,#ff8a5c);filter:blur(70px);opacity:.55;animation:drift 18s ease-in-out infinite alternate}.auth-art>*{position:relative}.auth-art h1{font-size:clamp(36px,4.6vw,60px);color:#fff}.auth-art h1 em{color:var(--gold-2)}.auth-form{display:grid;place-items:center;padding:28px 16px}.auth-form form{width:100%;max-width:410px;display:flex;flex-direction:column;gap:15px;padding:30px;border-radius:26px;background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-edge);box-shadow:var(--shadow-lift)}@media (max-width: 860px){.auth{grid-template-columns:1fr}.auth-form{order:-1;padding:12px 0 4px}.auth-form form{padding:22px 18px}.auth-art{padding:24px 20px;min-height:0}.auth-art .auth-extra{display:none}}.hero-orbit{display:none}.kanban{display:grid;grid-template-columns:repeat(5,minmax(210px,1fr));gap:12px;overflow-x:auto;padding-bottom:6px}.kanban-col{border-radius:18px;padding:10px;background:var(--glass-soft);border:1px solid var(--glass-edge);min-height:120px}.app-card{background:#fffc;border:1px solid var(--glass-edge);border-radius:13px;padding:12px;margin-top:8px;cursor:pointer;box-shadow:var(--shadow)}.post{padding:20px}.post-body{white-space:pre-wrap;color:var(--ink-2)}.badge-tile{text-align:center;padding:16px 10px;border-radius:18px;background:#fff9;border:1px solid var(--glass-edge)}.badge-tile.locked{opacity:.45;filter:grayscale(1)}.badge-medal{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;margin:0 auto 8px;color:#5b3c07;background:radial-gradient(circle at 35% 30%,#FFF3D0,var(--gold-2) 55%,var(--gold));box-shadow:inset 0 -3px #0000001f,0 6px 14px -6px #c8912ecc}.company{display:flex;align-items:center;gap:12px;padding:12px;border-radius:16px;background:#fff9;border:1px solid var(--glass-edge)}.company .logo{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-weight:750;color:#fff;flex:none}.fade-in{animation:rise .45s var(--ease) both}.fade-in:nth-child(2){animation-delay:.05s}.fade-in:nth-child(3){animation-delay:.1s}.fade-in:nth-child(4){animation-delay:.15s}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.glass,.card,.spine,.topbar,.modal,.notif-panel{background:#ffffffeb}}.mobile-only{display:none}@media (max-width: 900px){.mobile-only{display:grid}}.skill-chip{position:relative;display:inline-flex}.level-pop{position:absolute;z-index:20;top:calc(100% + 8px);left:0;display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:8px;width:min(290px,calc(100vw - 40px));border-radius:16px;background:#1c1c1ef7;color:#fff;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--shadow-lift);animation:rise .18s var(--ease)}.level-pop:before{content:"";position:absolute;top:-6px;left:clamp(10px,var(--arrow, 18px),calc(100% - 22px));width:12px;height:12px;background:inherit;transform:rotate(45deg);border-radius:2px}.level-pop .q{font-size:12px;color:#c7c7cc;padding:0 4px}.level-pop .chip{background:#ffffff1f;color:#fff;border-color:#ffffff2e}.level-pop .chip:hover{background:#ffffff40}.level-pop .chip.on{background:#fff;color:var(--ink)}.big-choice{display:flex;gap:14px;align-items:center;width:100%;text-align:left;padding:16px;border-radius:18px;background:#fff9;border:1.5px solid var(--glass-edge);cursor:pointer;transition:all .18s}.big-choice:hover{background:#fff}.big-choice.on{border-color:var(--ink);background:#fff;box-shadow:0 0 0 3px #1c1c1e14}.proof-box{margin-top:12px;display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:16px;background:var(--glass-soft);border:1px solid var(--line)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.pq-opt{display:flex;gap:12px;align-items:flex-start;width:100%;text-align:left;padding:13px 15px;border-radius:14px;border:1px solid var(--line);background:var(--glass-strong);cursor:pointer;font:inherit;color:inherit;transition:border-color .15s,background .15s}.pq-opt:hover:not(:disabled){border-color:var(--ink, #1c1c1e)}.pq-opt:disabled{cursor:default}.pq-opt .key{flex:none;width:24px;height:24px;border-radius:8px;display:grid;place-items:center;font-size:12px;font-weight:600;background:var(--paper-2)}.pq-opt.right{border-color:var(--sage, #2f9e6b);background:#2f9e6b1a}.pq-opt.wrong{border-color:var(--red, #d64545);background:#d6454514}.pq-dots{display:flex;gap:6px}.pq-dots span{width:26px;height:6px;border-radius:4px;background:var(--paper-2)}.pq-dots span.right{background:var(--sage, #2f9e6b)}.pq-dots span.wrong{background:var(--red, #d64545)}.pq-dots span.now{background:var(--ink, #1c1c1e)}.pq-code{font-family:var(--mono, monospace);font-size:13px;white-space:pre-wrap;padding:14px;border-radius:12px;background:var(--glass-dark);color:#f2f2f2;overflow-x:auto}.skill-tile{text-align:left;padding:14px;border-radius:16px;border:1px solid var(--line);background:var(--glass-strong);cursor:pointer;font:inherit;color:inherit;display:flex;flex-direction:column;gap:6px}.skill-tile:hover{border-color:var(--ink, #1c1c1e)}.ms-detail{margin-top:10px;display:grid;gap:10px}.ms-detail ol{margin:0;padding-left:18px;display:grid;gap:4px}.res-link{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:var(--glass-soft);font-size:13px}.mistake{padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:var(--glass-strong);display:grid;gap:6px}.mistake q{font-style:italic;color:var(--muted, #6b6b70)}table.usage{width:100%;border-collapse:collapse;font-size:13px}table.usage th,table.usage td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line)}table.usage td.n,table.usage th.n{text-align:right;font-variant-numeric:tabular-nums}.chart-card{display:flex;flex-direction:column;gap:10px;min-width:0}.colchart{position:relative;padding-left:34px}.colchart-plot{position:relative}.gridline{position:absolute;left:0;right:0;height:1px;background:var(--hair)}.gridline span{position:absolute;left:-34px;width:28px;text-align:right;transform:translateY(-50%);font-size:11px;color:var(--ink-3);font-variant-numeric:tabular-nums}.cols{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;gap:2px}.cols.xlabels{position:static;height:26px;align-items:flex-start;padding-top:6px}.col{flex:1;height:100%;display:flex;align-items:flex-end;justify-content:center;position:relative;outline:none;min-width:0}.cols.xlabels .col{height:auto;justify-content:center}.cols.xlabels span{font-size:11px;color:var(--ink-3);white-space:nowrap}.col .colbar{width:100%;max-width:24px;background:var(--violet);border-radius:4px 4px 0 0;position:relative;transition:opacity .15s;min-height:0}.col .colbar.on,.col:focus-visible .colbar{opacity:.75}.col:focus-visible{box-shadow:inset 0 0 0 2px #6d5bf659;border-radius:6px}.col .cap{position:absolute;bottom:100%;left:50%;transform:translate(-50%,-4px);font-size:11px;font-weight:600;color:var(--ink-2);white-space:nowrap}.tip{position:absolute;bottom:calc(100% - 8px);left:50%;transform:translate(-50%,-100%);z-index:5;background:#1c1c1eeb;color:#fff;padding:6px 9px;border-radius:9px;font-size:12px;white-space:nowrap;display:flex;flex-direction:column;pointer-events:none}.tip.left{left:auto;right:50%;transform:translateY(-100%)}.tip span{opacity:.75;font-size:11px}.barlist{display:grid;gap:4px}.barrow{display:grid;grid-template-columns:minmax(80px,34%) 1fr auto;align-items:center;gap:10px;padding:4px 6px;border-radius:8px}.barrow.on{background:var(--paper-2)}.barrow .lbl{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.barrow .track{height:14px;display:block}.barrow .fill{display:block;height:100%;background:var(--violet);border-radius:0 4px 4px 0}.barrow .val{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink-2);white-space:nowrap}.stat-tile{display:grid;gap:4px;padding:16px}.stat-value{font-family:var(--display);font-size:28px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}@media (max-width: 900px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}.hero-num{font-size:52px;font-weight:600;letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums}.code-pill{font-family:var(--mono, monospace);font-size:18px;letter-spacing:.12em;padding:6px 12px;border-radius:10px;background:var(--paper-2)}.risk-row{display:grid;grid-template-columns:minmax(0,1fr) auto 16px;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--glass-soft);cursor:pointer;text-align:left;font:inherit;color:inherit}.risk-row:hover{border-color:var(--ink)}@media (max-width: 640px){.risk-row{grid-template-columns:1fr 16px}.risk-reason{grid-column:1}}table.usage.clickable tbody tr{cursor:pointer}table.usage.clickable tbody tr:hover,table.usage.clickable tbody tr:focus-visible{background:var(--paper-2);outline:none}.stu-head{display:flex;flex-wrap:wrap;align-items:center;gap:20px}.stu-cal{display:grid;grid-template-rows:repeat(7,14px);grid-auto-flow:column;grid-auto-columns:14px;gap:3px}.stu-cal .cell,.cell-key{width:14px;height:14px;border-radius:4px;background:var(--paper-2);display:inline-block}.stu-cal .cell.active,.cell-key.active{background:#6d5bf652}.stu-cal .cell.done,.cell-key.done{background:var(--violet)}.proof-row{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--glass-soft)}.proof-text{overflow-wrap:anywhere;margin-top:2px}.console-login{min-height:100vh;display:grid;place-items:center;padding:16px}.onb{min-height:100vh;display:grid;place-items:start center;padding:32px 16px 48px}.onb-inner{width:100%;max-width:760px}.onb-title{margin:8px 0 22px}.onb-nav{display:flex;justify-content:space-between;gap:12px;margin-top:20px}.aim-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.pace-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}@media (max-width: 640px){.pace-grid,.aim-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.aim-tile{display:flex;align-items:center;gap:10px;min-height:58px;width:100%;text-align:left;padding:12px 14px;border-radius:16px;background:#fff9;border:1.5px solid var(--glass-edge);cursor:pointer;font:inherit;font-size:14px;font-weight:600;color:var(--ink);line-height:1.25;transition:background .15s,border-color .15s}.aim-tile svg{flex:none}.aim-tile:hover{background:#fff}.aim-tile.on{border-color:var(--ink);background:#fff;box-shadow:0 0 0 3px #1c1c1e0f}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;align-items:start}@media (max-width: 640px){.form-grid{grid-template-columns:1fr}}select.input,.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:44px;padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' stroke='%236E6E73' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;cursor:pointer}input.input{height:44px}.course-row{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) auto auto;gap:8px;align-items:center}@media (max-width: 720px){.course-row{grid-template-columns:1fr auto}.course-row>input:first-child{grid-column:1 / -1}.course-row .seg{grid-column:1;justify-self:start}}.seg{display:inline-flex;padding:3px;border-radius:12px;background:var(--paper-2)}.seg button{border:none;background:none;padding:7px 11px;border-radius:9px;font:inherit;font-size:13px;font-weight:600;color:var(--ink-3);cursor:pointer;white-space:nowrap}.seg button.on{background:#fff;color:var(--ink);box-shadow:0 1px 3px #00000014}.level-opt{display:flex;flex-direction:column;gap:1px;text-align:left;width:100%;padding:8px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:#ffffff14;color:#fff;cursor:pointer;font:inherit}.level-opt b{font-size:13px}.level-opt span{font-size:11.5px;color:#c7c7cc}.level-opt:hover{background:#ffffff2e}.level-opt.on{background:#fff;color:var(--ink)}.level-opt.on span{color:var(--ink-3)}.level-opt.remove{flex-direction:row;align-items:center;gap:6px;font-size:12.5px;background:none;border-color:transparent;color:#ff9f97}.task-body{min-width:0}.task .check{cursor:default}.task-why{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.task-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px}.task-actions .spacer{flex:1;min-width:4px}@media (max-width: 560px){.task{padding:12px;gap:10px}.task-title{font-size:15px}}.watch-frame{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:14px;overflow:hidden;background:#000}.watch-frame>div,.watch-frame iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%!important;height:100%!important}html,body{overflow-x:clip}.focus-banner{align-items:center}@media (max-width: 560px){.focus-banner{flex-direction:column;align-items:flex-start;gap:8px}}@media (max-width: 640px){.notif-panel{width:auto}}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.table-scroll table{min-width:640px}.input.sm{padding:6px 10px;font-size:13px;min-height:0;width:auto}.space-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}.space-tile{display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 10px;border-radius:22px;color:inherit;text-align:center;background:none;border:1px solid transparent;cursor:pointer;font:inherit;transition:transform .15s var(--ease),background .15s}.space-tile:hover,.space-tile:focus-visible{transform:translateY(-3px);background:var(--glass);border-color:var(--glass-edge);text-decoration:none}.space-face{width:104px;height:104px;border-radius:26px;display:grid;place-items:center;color:#fff;font:700 42px var(--display);box-shadow:var(--shadow-lift)}.space-face.add{background:var(--glass);color:var(--violet);border:2px dashed rgba(109,91,246,.35);box-shadow:none}.space-hero{border-radius:26px;padding:22px;display:flex;justify-content:space-between;gap:12px;align-items:flex-start;box-shadow:var(--shadow-lift)}.space-hero .chip.ink{background:#00000038}.next-lesson{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}details.module>summary{list-style:none;cursor:pointer}details.module>summary::-webkit-details-marker{display:none}details.module[open] .chev{transform:rotate(180deg)}.chev{flex:none;transition:transform .2s}.topic-list{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:2px}.topic-row{display:flex;align-items:center;gap:10px;padding:9px 8px;border-radius:12px;color:inherit}.topic-row:hover{background:#fff9;text-decoration:none}.topic-row .chip{flex:none}.topic-dot{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;border:2px solid rgba(0,0,0,.15);color:#fff}.topic-dot.done{background:var(--sage);border-color:var(--sage)}.topic-dot.tested_out{background:var(--sky);border-color:var(--sky)}.topic-dot.started{border-color:var(--gold)}.topic-dot.after{color:var(--muted, #8E8475)}@media (max-width: 640px){.topic-row .chip{display:none}.space-face{width:84px;height:84px;font-size:36px}}.opt{display:flex;gap:10px;align-items:flex-start;text-align:left;width:100%;padding:11px 12px;border-radius:14px;border:1px solid var(--glass-edge);background:#ffffff8c;font:inherit;color:inherit;cursor:pointer;transition:background .12s,border-color .12s}.opt:hover{background:#fff}.opt.on{border-color:var(--violet);background:var(--violet-soft)}.opt.ghost{justify-content:center;color:var(--muted, #6b6459)}.opt-key{flex:none;width:24px;height:24px;border-radius:8px;display:grid;place-items:center;font-size:12px;font-weight:700;background:#fff;box-shadow:var(--shadow)}.quiz-q{border:none;margin:0}.quiz-q legend{padding:0;float:left;width:100%;margin-bottom:4px}.review-q.ok{border-left:4px solid var(--sage)}.review-q.bad{border-left:4px solid var(--terra)}.lesson-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}.lesson-list{margin:6px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:5px}.sec-num{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:9px;margin-right:10px;font-size:14px;color:#fff;background:linear-gradient(135deg,var(--violet),#9B6BFF);vertical-align:3px}.worked{border-radius:16px;padding:14px;background:var(--gold-soft);display:flex;flex-direction:column;gap:8px}.pass-card{border:1px solid rgba(35,162,109,.35);background:var(--mint-soft)}.tutor-chat{position:sticky;top:90px;display:flex;flex-direction:column;gap:10px;max-height:calc(100dvh - 120px)}.tutor-head{display:flex;align-items:center;gap:8px;background:none;border:none;font:inherit;color:inherit;padding:0;cursor:default;text-align:left}.tutor-body{display:flex;flex-direction:column;gap:10px;min-height:0}.tutor-log{overflow-y:auto;display:flex;flex-direction:column;gap:8px;min-height:120px;max-height:55vh}.bubble{padding:9px 12px;border-radius:14px;font-size:14px;line-height:1.5;white-space:pre-wrap;max-width:92%}.bubble.student{align-self:flex-end;background:var(--violet);color:#fff;border-bottom-right-radius:4px}.bubble.tutor{align-self:flex-start;background:#fff;box-shadow:var(--shadow);border-bottom-left-radius:4px}@media (max-width: 980px){.lesson-layout{grid-template-columns:1fr}.tutor-chat{position:fixed;left:12px;right:12px;bottom:calc(76px + env(safe-area-inset-bottom));top:auto;z-index:45;max-height:70dvh}.tutor-head{cursor:pointer}.tutor-chat:not(.open) .tutor-body{display:none}}.step-progress{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.step-progress li{display:flex;align-items:center;gap:9px;font-size:14px;color:var(--muted, #8E8475)}.step-progress li.now{color:inherit;font-weight:600}.step-progress li.done{color:var(--sage)}.step-progress .dot{width:14px;height:14px;border-radius:50%;border:2px solid rgba(0,0,0,.15);display:inline-block}.req-list{margin-top:10px;padding:10px;border-radius:12px;background:#ffffff80;display:flex;flex-direction:column;gap:5px}.req{display:flex;gap:7px;align-items:flex-start;font-size:13px}.req.ok{color:var(--sage)}.req-dot{flex:none;width:11px;height:11px;margin-top:3px;border-radius:50%;border:2px solid rgba(0,0,0,.2)}.root-cause{margin:0 0 8px;padding:7px 10px;border-radius:10px;background:var(--violet-soft)}.board{list-style:none;margin:0}.board-row{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:12px}.board-row.me{background:var(--gold-soft)}.board-row.gap{margin-top:10px;border-top:1px dashed rgba(0,0,0,.12)}.board-rank{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:15px}@media (max-width: 560px){.board-extra{display:none}.board-row{gap:10px;padding:10px}}.tabbar{display:none}@media (max-width: 900px){.tabbar{position:fixed;z-index:40;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(5,1fr);padding:6px;border-radius:22px;background:var(--glass-strong);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-edge);box-shadow:var(--shadow-lift)}.tab-link{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;border-radius:16px;font:600 11px var(--sans);color:var(--ink-3, #6b6459);background:none;border:none;cursor:pointer}.tab-link.active{color:var(--violet);background:var(--violet-soft)}.tab-link:hover{text-decoration:none}.shell .main{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.toasts{bottom:calc(92px + env(safe-area-inset-bottom))}}.task-actions{flex-wrap:wrap}.task-actions .btn{max-width:100%;white-space:normal;text-align:left}.yr-tag{margin-left:auto;font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:999px;background:var(--sky-soft);color:#1f64b5}.usage-line{display:grid;grid-template-columns:minmax(130px,1fr) 2fr auto;gap:14px;align-items:center}.usage-line.slim{grid-template-columns:minmax(130px,1fr) 2fr 44px}.usage-line .num{text-align:right;white-space:nowrap}.big-sentence{font-size:19px;font-weight:650;letter-spacing:-.01em}@media (max-width: 560px){.usage-line{grid-template-columns:1fr auto}.usage-line .bar{grid-column:1 / -1;grid-row:2}.usage-line.slim{grid-template-columns:1fr 44px}}.bar.red>span{background:linear-gradient(90deg,#e0433a,#f06a5f)}.code-card{display:flex;flex-direction:column;gap:6px;color:inherit}.code-card:hover{text-decoration:none;transform:translateY(-2px)}.code-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:16px;align-items:start}.code-editor{width:100%;min-height:360px;resize:vertical;padding:14px;border-radius:14px;border:1px solid var(--glass-edge);background:#1e1b26;color:#edeaf6;font:500 13.5px/1.55 JetBrains Mono,ui-monospace,monospace;-moz-tab-size:4;tab-size:4;box-sizing:border-box}.code-editor:focus{outline:2px solid var(--violet);outline-offset:1px}.code-result{display:flex;flex-direction:column;gap:6px}.code-result pre{max-height:180px;overflow:auto;white-space:pre-wrap;word-break:break-word}@media (max-width: 980px){.code-layout{grid-template-columns:1fr}.code-editor{min-height:280px}}.nav-link.locked{opacity:.7}.yr-tag{display:inline-flex;align-items:center;gap:3px}.locked-screen{align-items:flex-start;max-width:640px}.lock-badge{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--violet-soft);color:var(--violet)}.lock-step{display:block;padding:11px 14px;border-radius:12px;border:1px solid var(--glass-edge);background:#ffffff8c;color:inherit;font-weight:600;font-size:14px}.lock-step:hover{background:#fff;text-decoration:none}.start-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;width:100%}.start-steps li{display:flex;flex-direction:column;padding:10px 14px;border-radius:12px;border:1px dashed var(--glass-edge)}.start-steps li.now{border-style:solid;border-color:var(--violet);background:var(--violet-soft)}.start-steps span{font-size:13px;color:var(--ink-3, #6b6459)}.test-kind{display:flex;flex-direction:column;gap:6px;text-align:left;font:inherit;color:inherit;cursor:pointer;border:1.5px solid transparent}.test-kind.on{border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-soft),var(--shadow)}.test-kind.is-locked{opacity:.75}.voice-rec{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.voice-rec .recording{animation:none}.rec-dot{width:9px;height:9px;border-radius:50%;background:#fff;animation:recpulse 1s ease-in-out infinite}@keyframes recpulse{50%{opacity:.25}}@media (prefers-reduced-motion: reduce){.rec-dot{animation:none}}.quick-card{border:1.5px solid var(--violet)}.key-points{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-weight:550}details.stage>summary{list-style:none;cursor:pointer}details.stage>summary::-webkit-details-marker{display:none}details.stage[open] .chev{transform:rotate(180deg)}.real-world{border-radius:14px;padding:12px 14px;background:var(--mint-soft);display:flex;flex-direction:column;gap:4px}.explain-out{border-top:1px solid var(--glass-edge);padding-top:12px}.papers-link{color:inherit}.papers-link:hover{text-decoration:none;transform:translateY(-1px)}.skill-tile.for-you{text-align:left;gap:4px}.skill-tile.for-you.high{border-color:#e8603c73}.top-loader{position:fixed;z-index:100;top:env(safe-area-inset-top,0px);left:0;height:3px;width:0;background:linear-gradient(90deg,var(--violet),var(--coral));opacity:0;transition:opacity .2s;pointer-events:none}.top-loader.on{opacity:1;animation:toploader 2.4s ease-out forwards}@keyframes toploader{0%{width:0}50%{width:60%}to{width:88%}}@media (prefers-reduced-motion: reduce){.top-loader.on{animation:none;width:100%}}@media (max-width: 980px){.tutor-chat:not(.open){left:auto;right:14px;padding:0;border-radius:999px;width:auto;box-shadow:var(--shadow-lift)}.tutor-chat:not(.open) .tutor-head{padding:12px 16px;gap:6px}.tutor-chat:not(.open) .tutor-head .tiny{display:none}.lesson-layout{padding-bottom:72px}}.task-help{margin-top:12px;padding:12px;border-radius:14px;background:var(--violet-soft);display:flex;flex-direction:column;gap:8px}.task-help .bubble{max-width:100%}.persona-pick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}@media (max-width:480px){.persona-pick{grid-template-columns:repeat(2,minmax(0,1fr))}}.persona-opt{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px;border-radius:16px;border:2px solid transparent;background:#ffffff14;color:#fff;font:inherit;cursor:pointer;text-align:center}.persona-opt img{width:64px;height:64px;border-radius:50%;object-fit:cover}.persona-opt b{font-size:13px}.persona-opt span{font-size:11px;opacity:.75}.persona-opt.on{border-color:var(--gold-2);background:#ffffff29}.iv-call{--iv-bg: #0E1014;--iv-panel: #171A21;--iv-line: rgba(255,255,255,.08);display:flex;flex-direction:column;gap:12px;padding:14px;border-radius:26px;background:var(--iv-bg);color:#edeff3;box-shadow:0 20px 50px #0a0c1259}.iv-top{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:2px 4px}.iv-live{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;letter-spacing:.06em;padding:6px 10px;border-radius:999px;background:#e5484d24;color:#ff8a8e;font-variant-numeric:tabular-nums}.iv-live i{width:8px;height:8px;border-radius:50%;background:#e5484d;animation:ivPulse 1.4s ease-in-out infinite}@keyframes ivPulse{50%{opacity:.35}}.iv-who{display:flex;flex-direction:column;min-width:0;text-align:center;line-height:1.25}.iv-who b{font-size:14px}.iv-who span{font-size:12px;color:#a4aab6}.iv-q{font-size:12px;font-weight:600;padding:6px 10px;border-radius:999px;background:var(--iv-panel);color:#c9ced8}.iv-stage{position:relative;aspect-ratio:16 / 10;max-height:64vh;border-radius:20px;overflow:hidden;background:#000;isolation:isolate}.iv-stage .iv-still,.iv-stage .iv-vid{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%}.iv-stage .iv-still{animation:ivBreathe 7s ease-in-out infinite}.iv-stage .iv-vid{opacity:0;transition:opacity .22s ease}.iv-stage .iv-vid.on{opacity:1}@keyframes ivBreathe{50%{transform:scale(1.02) translateY(-1px)}}.iv-stage:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:20px;pointer-events:none;box-shadow:inset 0 0 0 0 transparent;transition:box-shadow .25s ease}.iv-stage.speaking:after{box-shadow:inset 0 0 0 3px #4cc38ad9}.iv-state{position:absolute;left:12px;bottom:12px;display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border-radius:12px;font-size:12.5px;font-weight:600;color:#fff;background:#080a0e9e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.iv-state.thinking:before{content:"";width:12px;height:12px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:spin .9s linear infinite}.iv-bars{display:inline-flex;gap:2px;align-items:flex-end;height:14px}.iv-bars i{width:3px;border-radius:2px;background:#4cc38a;animation:ivBar .9s ease-in-out infinite}.iv-bars i:nth-child(2){animation-delay:.15s}.iv-bars i:nth-child(3){animation-delay:.3s}.iv-bars i:nth-child(4){animation-delay:.45s}@keyframes ivBar{0%,to{height:4px}50%{height:14px}}.iv-self{position:absolute;right:12px;bottom:12px;width:24%;min-width:92px;max-width:180px;aspect-ratio:3 / 4;border-radius:14px;overflow:hidden;background:#1e222b;border:1.5px solid rgba(255,255,255,.55);box-shadow:0 8px 24px #00000073}.iv-self video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.iv-camoff{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:8px;text-align:center;font-size:11px;color:#a4aab6}.iv-you{position:absolute;left:6px;bottom:6px;display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:2px 7px;border-radius:7px;background:#0000008c;color:#fff}.iv-meter{--lv: 0;width:18px;height:6px;border-radius:3px;background:linear-gradient(90deg,#4cc38a calc(var(--lv) * 100%),#ffffff40 0)}.iv-subs{min-height:64px;padding:12px 16px;border-radius:16px;background:var(--iv-panel);border:1px solid var(--iv-line);font-size:16.5px;line-height:1.55;color:#6e7584}.iv-subs .said{color:#f3f4f7}.iv-subs .now{color:#fff;background:#4cc38a40;border-radius:4px}.iv-dock{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.iv-btn{width:46px;height:46px;display:inline-grid;place-items:center;border-radius:50%;border:1px solid var(--iv-line);background:var(--iv-panel);color:#e7e9ee;cursor:pointer}.iv-btn:hover:not(:disabled){background:#222631}.iv-btn:disabled{opacity:.4;cursor:default}.iv-btn[aria-pressed=false]{color:#8d93a0}.iv-btn.end{background:#e5484d;border-color:#e5484d;color:#fff}.iv-mic{height:54px;min-width:132px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;border:none;background:#f3f4f7;color:#0e1014;font:inherit;font-weight:700;cursor:pointer}.iv-mic.on{background:#4cc38a;color:#06281a;box-shadow:0 0 0 6px #4cc38a40}.iv-mic:disabled{opacity:.5;cursor:default}.iv-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:12.5px;color:#a4aab6}.iv-foot .btn.link{color:#c9ced8}.iv-hf{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.iv-call>.tiny.muted{color:#7c8392}@media (max-width: 640px){.iv-call{padding:10px;border-radius:22px;margin-inline:-4px}.iv-stage{aspect-ratio:4 / 5;max-height:58vh}.iv-self{width:30%}.iv-top{grid-template-columns:auto 1fr}.iv-q{display:none}.iv-who{text-align:right}.iv-subs{font-size:15.5px}.iv-dock{gap:7px;flex-wrap:nowrap}.iv-btn{width:40px;height:40px;flex:none}.iv-mic{min-width:0;height:50px;padding:0 16px;flex:none}}@media (prefers-reduced-motion: reduce){.iv-stage .iv-still,.iv-bars i,.iv-live i{animation:none}.iv-stage .iv-vid{transition:none}}.report-q{position:relative;display:inline-flex;align-self:flex-start}.report-menu{position:absolute;z-index:20;top:100%;left:0;margin-top:4px;display:flex;flex-direction:column;min-width:210px;padding:6px;border-radius:12px;background:var(--glass-strong, #fff);box-shadow:var(--shadow-lift);border:1px solid var(--glass-edge)}.report-menu button{text-align:left;padding:8px 10px;border:none;background:none;border-radius:8px;font:inherit;font-size:13px;cursor:pointer;color:inherit}.report-menu button:hover{background:var(--violet-soft)}.kb-open .tabbar,.kb-open .tutor-chat:not(.open),.in-call .tabbar{display:none!important}.kb-open .proctor-bar{position:relative;top:0}.why-box textarea,.q-card textarea,.q-card input{scroll-margin:110px 0 140px;-webkit-user-select:text;user-select:text}.upgrade-modal{position:relative;display:flex;flex-direction:column;gap:12px;max-width:460px}.upgrade-modal .modal-x{position:absolute;top:14px;right:14px}.upgrade-crown{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--coral),var(--violet))}.upgrade-price{display:flex;align-items:baseline;gap:6px}.upgrade-price b{font:700 34px var(--display)}.upgrade-price span{color:var(--ink-3)}.upgrade-price em{margin-left:auto;font-style:normal;font-size:13px;color:var(--ink-3)}.upgrade-perks{list-style:none;padding:0;margin:0;display:grid;gap:7px;font-size:14px}.upgrade-perks li{display:flex;gap:8px;align-items:flex-start}.upgrade-perks svg{color:var(--sage, #2E9E6B);flex:none;margin-top:2px}.plan-meter{display:grid;gap:6px}.plan-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;background:linear-gradient(90deg,var(--coral),var(--violet));color:#fff}.tight-list{margin:0;padding-left:18px;display:grid;gap:4px}.ai-pick{border:1.5px solid color-mix(in srgb,var(--violet) 35%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--violet) 7%,var(--glass-strong, #fff)),var(--glass-strong, #fff))}.iv-stage{display:grid;place-items:center;background:radial-gradient(120% 90% at 50% 40%,#1e2130,#0b0d12)}.iv-orb{position:relative;width:min(42%,220px);aspect-ratio:1;display:grid;place-items:center}.iv-orb b{position:relative;z-index:2;width:62%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;font:700 clamp(24px,5vw,40px) var(--display);color:#fff;background:linear-gradient(135deg,var(--coral),var(--violet));box-shadow:0 10px 40px #6d5bf673}.iv-orb i{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid rgba(155,140,255,.45);opacity:0}.iv-stage.speaking .iv-orb i{animation:ivRing 1.8s ease-out infinite}.iv-stage.speaking .iv-orb i:nth-child(2){animation-delay:.6s}.iv-stage.speaking .iv-orb i:nth-child(3){animation-delay:1.2s}.iv-stage.listening .iv-orb b{animation:ivBreath 3s ease-in-out infinite;box-shadow:0 0 0 6px #4cc38a40,0 10px 40px #4cc38a40}.iv-stage.thinking .iv-orb b{animation:ivBreath 1.2s ease-in-out infinite}@keyframes ivRing{0%{transform:scale(.62);opacity:.9}to{transform:scale(1.05);opacity:0}}@keyframes ivBreath{50%{transform:scale(1.05)}}.iv-name{position:absolute;top:14px;left:0;right:0;text-align:center;display:flex;flex-direction:column;color:#edeff3;line-height:1.3}.iv-name b{font:700 17px var(--display)}.iv-name span{font-size:12px;color:#a4aab6}@media (max-width: 640px){.iv-stage{aspect-ratio:4 / 3.6}}@media (prefers-reduced-motion: reduce){.iv-orb i,.iv-orb b{animation:none!important}}.voice-dot{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font:700 17px var(--display);color:#fff;background:linear-gradient(135deg,var(--coral),var(--violet))}.step-list{margin-top:12px;display:grid;gap:6px}.step{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:10px}.step.cur{background:var(--violet-soft)}.step.later{opacity:.5}.step.done .spacer{text-decoration:line-through;color:var(--ink-3)}.step-n{width:22px;height:22px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;background:var(--paper-2, #eee)}.step.done .step-n{background:var(--sage, #2E9E6B);color:#fff}.step.cur .step-n{background:var(--violet);color:#fff}.topic-list{margin:4px 0 0;padding-left:18px;display:grid;gap:2px}.sem-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,1fr);gap:12px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x mandatory}.sem{scroll-snap-align:start;border:1px solid var(--hair);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:6px;background:var(--glass-strong, #fff)}.sem.now{border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-soft)}.sem-head{display:flex;align-items:center;gap:8px}.sem-n{font:700 13px var(--display);padding:3px 8px;border-radius:8px;background:var(--violet);color:#fff}.areachart{position:relative}.area-tip{top:0;bottom:auto;transform:translate(-50%,-105%)}.kpi-tile{display:flex;flex-direction:column;gap:4px}.kpi-tile .stat-value{line-height:1.1}.kpi-tile .delta{font-size:12px;color:var(--ink-3)}.live-dot{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#e5484d}.live-dot i{width:8px;height:8px;border-radius:50%;background:#e5484d;animation:ivPulse 1.4s ease-in-out infinite}@media (max-width: 640px){.iv-self{width:24%;min-width:74px}.iv-orb{width:min(40%,180px);margin-right:14%}}
