@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Plus Jakarta Sans Fallback;src:local("Arial");ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.00%;size-adjust:104.98%}.__className_646807{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.__variable_646807{--font-sans:"Plus Jakarta Sans","Plus Jakarta Sans Fallback"}:root{--bg:#ffffff;--bg-tint:#f5f1fb;--fg:#17181c;--muted:#667085;--card:#ffffff;--line:#e6e8ee;--line-soft:#f1f3f7;--accent:#2eb455;--accent-deep:#15803d;--accent-soft:#e8f8ed;--accent-mid:#7fd39b;--accent-faint:#d6f2de;--sel:#3b5bdb;--sel-soft:#eef2fe;--wrong:#d64545;--wrong-soft:#fbecec;--pill:#f2f4f7;--intro-tint:#f3eefc;--shadow:0 1px 2px rgba(23,24,28,0.04),0 8px 24px -12px rgba(23,24,28,0.12);--on-accent:#ffffff;--sans:var(--font-sans,"Inter"),"Inter","SF Pro Text",-apple-system,"Segoe UI",system-ui,sans-serif;--serif:Georgia,"Iowan Old Style","Times New Roman",serif}@media (prefers-color-scheme:dark){:root{--bg:#131316;--bg-tint:#191527;--fg:#ececf1;--muted:#9a9aa5;--card:#1b1c20;--line:#2b2d33;--line-soft:#232529;--accent:#3ecf6a;--accent-deep:#5adb82;--accent-soft:#17301f;--accent-mid:#2e7a48;--accent-faint:#1d3b28;--sel:#7c93f0;--sel-soft:#1c2340;--wrong:#ef8080;--wrong-soft:#33201f;--pill:#26282e;--intro-tint:#1b1727;--shadow:0 1px 2px rgba(0,0,0,0.3),0 8px 24px -12px rgba(0,0,0,0.6);--on-accent:#0c2513}}:root[data-theme=dark]{--bg:#131316;--bg-tint:#191527;--fg:#ececf1;--muted:#9a9aa5;--card:#1b1c20;--line:#2b2d33;--line-soft:#232529;--accent:#3ecf6a;--accent-deep:#5adb82;--accent-soft:#17301f;--accent-mid:#2e7a48;--accent-faint:#1d3b28;--sel:#7c93f0;--sel-soft:#1c2340;--wrong:#ef8080;--wrong-soft:#33201f;--pill:#26282e;--intro-tint:#1b1727;--shadow:0 1px 2px rgba(0,0,0,0.3),0 8px 24px -12px rgba(0,0,0,0.6);--on-accent:#0c2513}:root[data-theme=light]{--bg:#ffffff;--bg-tint:#f5f1fb;--fg:#17181c;--muted:#667085;--card:#ffffff;--line:#e6e8ee;--line-soft:#f1f3f7;--accent:#2eb455;--accent-deep:#15803d;--accent-soft:#e8f8ed;--accent-mid:#7fd39b;--accent-faint:#d6f2de;--sel:#3b5bdb;--sel-soft:#eef2fe;--wrong:#d64545;--wrong-soft:#fbecec;--pill:#f2f4f7;--intro-tint:#f3eefc;--shadow:0 1px 2px rgba(23,24,28,0.04),0 8px 24px -12px rgba(23,24,28,0.12);--on-accent:#ffffff}*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,var(--bg) 45%,var(--bg-tint) 100%) fixed;color:var(--fg);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}main{max-width:42rem;margin:0 auto;padding:4.2rem 1.5rem 6rem}h1,h2{font-weight:700;letter-spacing:-.02em;text-wrap:balance}.kicker{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.11em;font-family:var(--sans);font-weight:600}.brand-bolt{color:#f5d411;background:#0d0d0f;border-radius:.3em;padding:.16em;font-size:1.4em;flex:none;vertical-align:-.3em;border:1px solid rgba(255,255,255,.08)}.kicker .brand-bolt{margin-right:.35rem}.card{background:var(--card);border:1.5px solid var(--line);border-radius:16px;padding:1.6rem 1.7rem;margin:.9rem 0 1.4rem;box-shadow:var(--shadow);transition:border-color .2s,box-shadow .2s}:where(button,a,input,textarea,select):focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}a:not(.primary){color:var(--accent-deep);text-underline-offset:.18em;text-decoration-thickness:1px}a:not(.primary):hover{color:var(--accent)}a.primary,a.primary:hover{color:var(--on-accent)}a.primary:hover{background:var(--accent-deep)}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.stem{margin-bottom:.75rem}.question{font-weight:650;font-size:1.06rem;margin-bottom:1rem}.choice{position:relative;display:block;width:100%;text-align:left;background:var(--card);border:1.5px solid var(--line);border-radius:12px;padding:.85rem 1.1rem;margin:.55rem 0;font:inherit;color:inherit;cursor:pointer;transition:border-color .14s,background .14s,transform .12s}.choice:hover:not(:disabled){border-color:var(--sel);transform:translateY(-1px)}.choice.selected{border-color:var(--sel);background:var(--sel-soft)}.choice.key{border-color:var(--accent);background:var(--accent-soft)}.choice.chosen-wrong{border-color:var(--wrong);background:var(--wrong-soft)}.choice.chosen-wrong:after,.choice.key:after{position:absolute;top:-9px;right:-9px;width:22px;height:22px;border-radius:7px;color:#fff;font-family:var(--sans);font-weight:700;font-size:.8rem;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px rgba(0,0,0,.2)}.choice.key:after{content:"✓";background:var(--accent)}.choice.chosen-wrong:after{content:"✕";background:var(--wrong)}.choice:disabled{cursor:default;transform:none}.conf{display:flex;gap:.5rem;margin:1rem 0;font-family:var(--sans)}.conf button{flex:1 1;padding:.6rem .4rem;border:1.5px solid var(--line);border-radius:999px;background:var(--card);color:inherit;font-size:.85rem;font-weight:600;cursor:pointer;transition:border-color .14s,background .14s}.conf button.selected,.conf button:hover{border-color:var(--sel)}.conf button.selected{background:var(--sel-soft)}.primary{background:var(--accent);color:var(--on-accent);border:none;border-radius:999px;padding:.78rem 2.1rem;font:inherit;font-family:var(--sans);font-weight:650;font-size:.95rem;cursor:pointer;box-shadow:0 2px 10px rgba(46,180,85,.3);transition:background .15s,transform .15s,box-shadow .15s}.primary:hover:not(:disabled){background:var(--accent-deep);transform:translateY(-1px);box-shadow:0 4px 14px rgba(46,180,85,.35)}.primary:disabled{opacity:.4;cursor:default;box-shadow:none}.note{font-size:.93rem}.linklike,.note{color:var(--muted)}.linklike{background:none;border:none;padding:0;font:inherit;font-family:var(--sans);font-size:.9rem;text-decoration:underline;text-underline-offset:.18em;cursor:pointer}.linklike:hover{color:var(--accent-deep)}.card>.note:first-child{margin-top:0}.score-est{margin:.4rem 0 1.2rem;padding:1rem 1.15rem;border:1px solid var(--line);border-radius:12px;background:var(--pill)}.score-est-label{margin:0;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.11em;font-weight:600}.score-est-total{margin:.15rem 0 .35rem;font-size:2.5rem;font-weight:700;letter-spacing:-.01em}.score-est-sections{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;font-size:.95rem;color:var(--fg)}.progress-strip{position:fixed;top:0;left:0;right:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:.95rem 1.3rem;font-family:var(--sans);pointer-events:none}.progress-dots{display:flex;gap:7px}.progress-dots span{width:11px;height:11px;border-radius:50%;background:var(--line);transition:background .35s,transform .35s}.progress-dots span.on{background:var(--accent)}.progress-xp{position:absolute;right:1.3rem;display:flex;align-items:center;gap:.3rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--fg)}.progress-xp .spark{color:var(--accent);font-size:1.05rem}.turn-card.good{border-color:var(--accent);box-shadow:0 0 0 1.5px var(--accent),var(--shadow)}.turn-card.bad{border-color:var(--wrong);box-shadow:0 0 0 1.5px var(--wrong),var(--shadow)}.feedback-status{font-family:var(--sans);font-weight:800;font-size:1.12rem;margin:1.1rem 0 .2rem}.feedback-status.good{color:var(--accent-deep)}.feedback-status.bad{color:var(--wrong)}.feedback-note{margin-top:.2rem}.reveal-actions{display:flex;align-items:center;justify-content:flex-end;gap:.6rem;flex-wrap:wrap;margin-top:1rem}.tutor-mark{display:inline-block;flex:none}main.session-shell{max-width:82rem}.session-shell{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:0 2.6rem;gap:0 2.6rem;align-items:start}.session-col{min-width:0;max-width:52rem}@media (min-width:1260px){.session-shell{grid-template-columns:minmax(0,48rem) 26rem}.tutor-rail{position:-webkit-sticky;position:sticky;top:4.2rem}}@media (min-width:1150px) and (max-width:1259.9px){.session-shell{grid-template-columns:minmax(0,44rem) 23rem}.tutor-rail{position:-webkit-sticky;position:sticky;top:4.2rem}}.tutor-rail .ask{margin:.9rem 0;padding:1.15rem 1.3rem 1.25rem}.tutor-rail .ask-log{max-height:min(30rem,55vh)}.tutor-rail .ask-you{margin-left:1.4rem}.ask-idle,.ask-locked{border-left-color:var(--line)}.ask-idle{border-left-color:var(--accent)}.ask-idle .ask-open{margin:.2rem 0 0;width:100%;justify-content:center}.intro{position:fixed;inset:0;z-index:80;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.3rem;text-align:center;background:linear-gradient(180deg,var(--bg) 30%,var(--intro-tint) 100%);padding:2rem;font-family:var(--sans)}.intro h1{font-size:1.65rem;margin:0}.intro p{max-width:26rem;color:var(--muted);margin:0;font-size:1.02rem}.intro-skip{position:fixed;top:1.2rem;right:1.5rem}.intro-dots{display:flex;gap:7px}.intro-dots span{width:8px;height:8px;border-radius:50%;background:var(--line);transition:background .3s}.intro-dots span.on{background:var(--accent)}.intro-actions{position:fixed;bottom:2.8rem;left:0;right:0;display:flex;justify-content:center}.intro-btn{background:#43464c;color:#fff;border:none;border-radius:999px;padding:.9rem 3rem;font:inherit;font-family:var(--sans);font-weight:650;font-size:1rem;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.22);transition:background .15s,transform .15s}.intro-btn:hover{background:#2f3237;transform:translateY(-1px)}.build-wait{display:flex;align-items:center;justify-content:center;min-height:70vh}.build-dots{display:flex;gap:.45rem}.build-dots span{width:9px;height:9px;border-radius:50%;background:var(--muted);animation:buildpulse 1.1s ease-in-out infinite}.build-dots span:nth-child(2){animation-delay:.16s}.build-dots span:nth-child(3){animation-delay:.32s}@keyframes buildpulse{0%,60%,to{opacity:.25;transform:translateY(0)}30%{opacity:.95;transform:translateY(-3px)}}.build-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.55rem;max-width:26rem;padding:1rem;font-family:var(--sans)}.build-card .tutor-mark{animation:buildbreathe 2.4s ease-in-out infinite}@keyframes buildbreathe{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.build-title{font-size:1.25rem;font-weight:700;letter-spacing:-.02em;margin:.3rem 0 0}.build-sub{margin:0}.build-stages{list-style:none;margin:.8rem 0 0;padding:0;text-align:left;display:flex;flex-direction:column;gap:.45rem;min-height:7.2rem}.build-stages li{display:flex;align-items:center;gap:.55rem;font-size:.95rem;color:var(--muted);animation:buildrise .4s ease both}.build-stages li.active{color:var(--fg);font-weight:600}.build-stages li.done{color:var(--muted)}.build-stage-mark{width:19px;height:19px;border-radius:6px;flex:none;border:1.5px solid var(--line);display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;color:#fff}.build-stages li.done .build-stage-mark{background:var(--accent);border-color:var(--accent)}.build-stages li.active .build-stage-mark{border-color:var(--accent)}@keyframes buildrise{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.build-ellipsis span{animation:buildpulse 1.1s ease-in-out infinite;display:inline-block}.build-ellipsis span:nth-child(2){animation-delay:.16s}.build-ellipsis span:nth-child(3){animation-delay:.32s}.build-tip{margin:1.1rem 0 0;padding-top:.9rem;border-top:1px solid var(--line-soft);color:var(--muted);font-size:.9rem;max-width:24rem;line-height:1.55}.build-inline{display:inline-flex;align-items:center;gap:.55rem;margin:.6rem 0 0 .9rem}.build-dots.sm span{width:6px;height:6px}.working-list{min-height:0;margin:.8rem 0 .2rem}.working-line{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--sans);font-size:.88rem;color:var(--muted)}.lesson-bigidea{background:var(--accent-soft);border-left:3px solid var(--accent);border-radius:0 10px 10px 0;padding:.9rem 1.1rem;margin-top:0}.lesson-worked ol{margin:.5rem 0 1rem;padding-left:1.4rem}.lesson-worked li{margin:.35rem 0}.lesson-worked details{border-top:1px dashed var(--line);padding-top:.7rem}.lesson-worked summary{cursor:pointer;color:var(--accent-deep);font-weight:600}.lesson-worked summary,.mission-grid{font-family:var(--sans);font-size:.9rem}.mission-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.9rem 1.2rem;gap:.9rem 1.2rem;margin:1rem 0}.mission-grid label{display:flex;flex-direction:column;justify-content:flex-end;gap:.3rem;color:var(--muted)}.mission-grid label>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mission-grid input,.mission-grid select{font:inherit;font-size:1rem;color:var(--fg);height:2.75rem;padding:0 .7rem;border:1.5px solid var(--line);border-radius:10px;background:var(--card)}.mission-grid input:focus,.mission-grid select:focus{outline:none;border-color:var(--sel)}.mission-grid select:disabled{color:var(--muted)}.session-moved{margin:.6rem 0 1rem;padding-left:1.3rem}.session-moved li{margin:.3rem 0}.traj-headline{font-size:1.4rem;margin-top:0}.traj-stagebar{display:flex;height:14px;border-radius:7px;overflow:hidden;background:var(--line-soft);margin:.8rem 0}.traj-stagebar .certified{background:var(--accent)}.traj-stagebar .ontrack{background:var(--accent-mid)}.traj-stagebar .opened{background:var(--accent-faint)}.traj-legend{list-style:none;margin:0;padding:0;font-family:var(--sans);font-size:.88rem}.traj-legend li{margin:.3rem 0;display:flex;align-items:center;gap:.5rem}.traj-legend .dot{width:10px;height:10px;border-radius:50%;flex:none}.traj-legend .dot.certified{background:var(--accent)}.traj-legend .dot.ontrack{background:var(--accent-mid)}.traj-legend .dot.opened{background:var(--accent-faint)}.traj-days{display:flex;align-items:flex-end;gap:6px;height:100px}.traj-daycol{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;min-width:0}.traj-bar{width:100%;max-width:26px;background:var(--accent);border-radius:4px 4px 0 0}.traj-daylabel{font-family:var(--sans);font-size:.62rem;color:var(--muted);white-space:nowrap}.traj-daycol:nth-child(2n) .traj-daylabel{visibility:hidden}table{border-collapse:collapse;width:100%;font-family:var(--sans);font-size:.85rem}td,th{border-bottom:1px solid var(--line);padding:.4rem .6rem;text-align:left;vertical-align:top}code{font-size:.85em;padding:.1em .3em;border-radius:4px}.status-chip,code{background:var(--line-soft)}.status-chip{display:inline-block;font-family:var(--sans);font-size:.75rem;font-weight:700;padding:.15em .55em;border-radius:999px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.status-chip.status-insufficient-data{background:var(--line-soft);color:#6b6b6b}.status-chip.status-holding{background:var(--accent-soft);color:var(--accent-deep)}.status-chip.status-fired{background:#f5dede;color:var(--wrong)}.status-chip.journal-observation{background:var(--accent-soft);color:var(--accent-deep)}.status-chip.journal-hypothesis{background:#f1ecdb;color:#8a6d1f}.status-chip.journal-evaluation{background:#ecebf5;color:#4a3fa3}.status-chip.journal-action{background:#f5dede;color:var(--wrong)}.status-chip.journal-brief{background:var(--line-soft);color:var(--muted)}.status-chip.journal-note{background:#eaf3e6;color:#3a7a2a}.bb-shell{font-family:var(--serif);display:flex;flex-direction:column;min-height:100vh}.bb-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:#e7ecf5;padding:.7rem 1.2rem;font-family:system-ui,sans-serif;font-size:.95rem}.bb-header>.note{text-align:right}.bb-timer{font-size:1.35rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:center}.bb-strip{background:#1b2a6b;color:#fff;text-align:center;font-family:system-ui,sans-serif;font-size:.68rem;letter-spacing:.12em;padding:.25rem 0;border-radius:0 0 10px 10px;margin:0 1rem}.bb-split{flex:1 1;display:grid;grid-template-columns:1fr 1fr;grid-gap:0;gap:0;padding:1.5rem 0}.bb-split>.bb-stempane{padding:0 2rem;border-right:1px solid #999}.bb-single{flex:1 1;padding:1.5rem 1rem}.bb-qpane{padding:0 2rem;max-width:44rem;margin:0 auto;width:100%}.bb-qbar{display:flex;align-items:center;gap:.6rem;background:#f1f1f1;border-bottom:2px solid #1a1a1a;padding:.35rem .5rem;margin-bottom:.9rem;font-family:system-ui,sans-serif}.bb-qnum{background:#1a1a1a;color:#fff;font-weight:700;padding:.1rem .55rem}.bb-choice{display:flex;align-items:center;gap:.8rem;width:100%;text-align:left;background:var(--card);border:1px solid #565656;border-radius:10px;padding:.6rem .9rem;margin:.45rem 0;font:inherit;cursor:pointer}.bb-choice:hover{border-color:var(--accent)}.bb-choice.selected{border-width:2px;border-color:#1b2a6b;background:#eef2fb}.bb-letter{border:1.5px solid #1a1a1a;border-radius:50%;width:1.6rem;height:1.6rem;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;font-family:system-ui,sans-serif;font-size:.85rem;font-weight:600}.bb-choice.selected .bb-letter{background:#1b2a6b;border-color:#1b2a6b;color:#fff}.bb-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:#e7ecf5;padding:.6rem 1.2rem;font-family:system-ui,sans-serif}.bb-footer .primary{justify-self:end;border-radius:999px;padding:.55rem 1.6rem;background:#2b47c9;box-shadow:none}.bb-progress{background:#1a1a1a;color:#fff;padding:.35rem .9rem;border-radius:6px;font-size:.85rem}.bb-confrow{border-top:1px dashed var(--line);margin-top:.8rem}.bb-confrow.needs-conf .conf button{border-color:#8a6d1f}.conf-required{color:#8a6d1f;font-family:var(--sans);font-size:.82rem}.bb-cell:disabled{opacity:.4;cursor:default}.bb-finish:disabled{opacity:.45;cursor:default}.bb-break{min-height:100vh;background:#191919;color:#eee;display:flex;align-items:center;justify-content:center;font-family:system-ui,sans-serif;text-align:center}.bb-break-box{border:1px solid #555;border-radius:10px;padding:1.2rem 2.5rem;margin-bottom:1.2rem}.bb-break-clock{font-size:3rem;font-weight:800;margin:.3rem 0 0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bb-resume{background:#f5d90a;color:#111;border:none;border-radius:999px;padding:.7rem 1.5rem;font-weight:700;cursor:pointer}.calc-panel{position:fixed;z-index:50;width:560px;background:#fff;border:1px solid #bbb;border-radius:10px;box-shadow:0 12px 40px rgba(0,0,0,.22);font-family:system-ui,sans-serif;font-size:.9rem;overflow:hidden}.calc-drag{display:flex;align-items:center;gap:.8rem;background:#16181c;color:#ddd;padding:.45rem .7rem;cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}.calc-drag:active{cursor:-webkit-grabbing;cursor:grabbing}.calc-tabs{display:flex;gap:.3rem;background:#fff;border-radius:6px;padding:2px}.calc-tabs button{border:none;background:none;padding:.25rem .7rem;border-radius:5px;cursor:pointer;font-size:.82rem}.calc-tabs button.active{background:#dfe7f5;font-weight:600;text-decoration:underline}.calc-hint{font-size:.72rem;color:#999;flex:1 1;text-align:center}.calc-close{background:none;border:none;color:#ddd;font-size:1rem;cursor:pointer}.calc-graph{display:flex;overflow:hidden}.calc-exprcol{display:flex;flex-direction:column;border-right:1px solid #ddd;flex:0 0 auto}.calc-toolbar{display:flex;gap:.15rem;border-bottom:1px solid #e2e2e2;padding:.2rem .3rem;background:#fafafa}.calc-toolbar button{border:none;background:none;font-size:.95rem;padding:.15rem .45rem;cursor:pointer;border-radius:5px;color:#333}.calc-toolbar button:hover{background:#ececec}.calc-toolbar button:disabled{opacity:.3;cursor:default}.calc-exprs{flex:1 1;overflow-y:auto}.calc-expr.focused{background:#f5f8ff}.calc-kb-toggle{border:none;border-top:1px solid #e2e2e2;background:#fafafa;padding:.3rem;cursor:pointer;text-align:left;font-size:.9rem}.calc-expand-list{border:none;border-right:1px solid #ddd;background:#fafafa;cursor:pointer;width:34px;font-size:1rem;flex:0 0 auto}.calc-kb{border-top:1px solid #ccc;background:#edeff2;padding:.5rem;position:relative}.calc-kb-grid{display:grid;grid-template-columns:4fr 4fr 2fr;grid-gap:.5rem;gap:.5rem;height:100%}.calc-kb-left,.calc-kb-mid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:.3rem;gap:.3rem}.calc-kb-right{display:grid;grid-template-rows:1fr 1fr 1fr 1fr;grid-gap:.3rem;gap:.3rem}.calc-kb button{border:1px solid #d0d3d8;border-radius:7px;background:#fff;font-size:1rem;cursor:pointer;padding:0;font-family:Georgia,serif}.calc-kb button:hover{background:#f0f4ff}.calc-kb .calc-fn{font-family:system-ui,sans-serif;font-size:.82rem}.calc-kb .calc-fn.on{background:#dfe7f5}.calc-arrows{display:flex;gap:.3rem}.calc-arrows button{flex:1 1}.calc-enter{background:#2b47c9!important;color:#fff;border-color:#2b47c9!important}.calc-fnrow{position:absolute;bottom:calc(100% + 4px);left:.5rem;right:.5rem;display:flex;gap:.3rem;background:#fff;border:1px solid #bbb;border-radius:8px;padding:.35rem;box-shadow:0 6px 24px rgba(0,0,0,.18);z-index:5}.calc-fnrow button{flex:1 1;border:1px solid #d0d3d8;border-radius:6px;background:#fff;padding:.35rem 0;cursor:pointer;font-size:.85rem}.calc-resize{position:absolute;right:2px;bottom:2px;width:22px;height:22px;justify-content:center;cursor:nwse-resize;color:#888;font-size:.85rem;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}.calc-expr,.calc-resize{display:flex;align-items:center}.calc-expr{gap:.45rem;border-bottom:1px solid #eee;padding:.55rem .5rem}.calc-expr.error input{color:#b33}.calc-expr input{border:none;outline:none;width:100%;font:inherit;font-family:Georgia,serif}.calc-dot{width:10px;height:10px;border-radius:50%;flex:0 0 auto}.calc-x{background:none;border:none;color:#aaa;cursor:pointer;font-size:.75rem}.calc-plot{position:relative}.calc-plot canvas{display:block;cursor:move;touch-action:none}.calc-zoom{position:absolute;right:10px;bottom:10px;display:flex;flex-direction:column;gap:4px}.calc-zoom button{width:30px;height:30px;border:1px solid #ccc;background:#fff;border-radius:6px;font-size:1.05rem;cursor:pointer}.calc-sci{padding:.7rem}.calc-history{max-height:150px;overflow-y:auto;margin-bottom:.5rem}.calc-hrow{display:flex;justify-content:space-between;gap:1rem;padding:.15rem .2rem;color:#444;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.calc-inrow{display:flex;gap:.4rem;margin-bottom:.55rem}.calc-inrow input{flex:1 1;font:inherit;font-size:1.05rem;padding:.45rem .6rem}.calc-deg,.calc-inrow input{border:1px solid #ccc;border-radius:8px}.calc-deg{background:#fff;padding:0 .7rem;cursor:pointer;font-size:.78rem}.calc-deg.on{background:#dfe7f5;font-weight:700}.calc-keys{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:.35rem;gap:.35rem}.calc-keys button{padding:.5rem 0;border:1px solid #d5d5d5;border-radius:8px;background:#fafafa;font-size:.95rem;cursor:pointer}.calc-keys button:hover{background:#eef2fb}.calc-keys .wide{grid-column:span 2}.calc-keys .eq{background:#2b47c9;color:#fff;border-color:#2b47c9}.calc-open-btn{font-size:.8rem;border:1.5px solid var(--line);background:var(--card);padding:.3rem .8rem;cursor:pointer}.calc-open-btn,.net-banner{font-family:var(--sans);border-radius:999px}.net-banner{position:fixed;top:12px;left:50%;transform:translateX(-50%);z-index:100;background:#7a5a00;color:#fff;font-size:.85rem;padding:.45rem 1rem;box-shadow:0 4px 16px rgba(0,0,0,.25)}.bb-back{font-family:system-ui,sans-serif;border:1px solid #999;background:#fff;border-radius:999px;padding:.5rem 1.3rem;cursor:pointer;justify-self:start}.bb-back:disabled{opacity:.35;cursor:default}.bb-mark,.bb-progress-btn{border:none;cursor:pointer;font-family:system-ui,sans-serif}.bb-mark{background:none;font-size:.82rem;color:#444}.bb-mark.on{color:#b3261e;font-weight:600}.bb-grid{position:fixed;bottom:64px;left:50%;transform:translateX(-50%);z-index:60;background:#fff;border:1px solid #bbb;border-radius:12px;box-shadow:0 -8px 40px rgba(0,0,0,.25);padding:.9rem 1.1rem;width:min(560px,92vw);font-family:system-ui,sans-serif}.bb-grid-head{display:flex;align-items:center;gap:.8rem;justify-content:space-between;margin-bottom:.7rem}.bb-grid-cells{display:grid;grid-template-columns:repeat(9,1fr);grid-gap:.4rem;gap:.4rem;margin-bottom:.8rem}.bb-cell{position:relative;aspect-ratio:1;border:1.5px dashed #777;background:#fff;color:#1a1a1a;border-radius:6px;font-size:.85rem;cursor:pointer}.bb-cell.done{background:#1b2a6b;border:1.5px solid #1b2a6b;color:#fff}.bb-cell.current{outline:2.5px solid #1a1a1a;outline-offset:1.5px}.bb-cell.marked:after{content:"◆";position:absolute;top:-7px;right:-4px;font-size:.7rem;color:#b3261e}.bb-finish{width:100%;border-radius:999px;background:#2b47c9}.spr-entry{margin:.5rem 0 1rem}.spr-directions{margin-top:0}.spr-input{display:block;width:100%;max-width:220px;font:inherit;font-size:1.15rem;font-family:Courier New,Courier,monospace;letter-spacing:.02em;border:1.5px solid var(--line);border-radius:10px;padding:.6rem .8rem;margin:.5rem 0;background:var(--card);color:var(--fg)}.spr-input:focus{outline:none;border-color:var(--sel)}.spr-input:disabled{opacity:.7}.spr-preview{font-family:var(--sans);font-size:.85rem;color:var(--muted);margin:.5rem 0 0}.spr-preview-value{font-family:Courier New,Courier,monospace;font-size:1.05rem;font-weight:700;color:var(--fg);letter-spacing:.02em}.spr-result{font-family:var(--sans);font-weight:600;margin-top:.8rem}.spr-result.correct{color:var(--accent-deep)}.spr-result.wrong{color:var(--wrong)}.bb-qpane,.bb-shell,.bb-single,.bb-split,.bb-stempane,.calc-panel{--card:#ffffff;--fg:#1a1a1a;--bg:#fafaf8;--line:#e4e2dc;--muted:#6b6b6b;--accent:#0b6e6e;--accent-soft:#e3f1f1;color:#1a1a1a}.bb-shell{background:#fafaf8}.ask-open{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--sans);font-size:.92rem;font-weight:650;color:var(--fg);background:var(--pill);border:none;border-radius:999px;padding:.55rem 1.25rem .55rem .7rem;margin:.2rem 0 1.2rem;cursor:pointer;transition:background .14s,transform .14s}.ask-open:hover{background:var(--line);transform:translateY(-1px)}.ask{border:1.5px solid var(--line);border-left:3px solid var(--accent);border-radius:6px 14px 14px 6px;background:var(--card);padding:.9rem 1.1rem 1rem;margin:.4rem 0 1.4rem;box-shadow:var(--shadow)}.ask-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}.ask-head-id{display:inline-flex;align-items:center;gap:.5rem}.ask-close{background:none;border:none;color:var(--muted);cursor:pointer;font-family:var(--sans);font-size:.76rem;padding:.2rem .3rem}.ask-close:hover{color:var(--fg)}.ask-log{max-height:22rem;overflow-y:auto;margin-bottom:.7rem}.ask-tutor,.ask-you{margin:0 0 .7rem;font-size:.95rem;line-height:1.55}.ask-you{color:var(--fg);background:var(--sel-soft);border-radius:10px;padding:.5rem .8rem;margin-left:2.5rem}.ask-tutor{color:var(--fg);padding:0 .1rem}.ask-tutor+.ask-you{margin-top:1rem}.ask-thinking{display:flex;padding:.5rem .15rem}.ask-prompts{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:.9rem}.ask-prompts button{font-family:var(--sans);font-size:.9rem;font-weight:600;color:var(--accent-deep);background:var(--accent-soft);border:none;border-radius:999px;padding:.55rem 1.05rem;cursor:pointer;transition:opacity .14s;text-align:left}.ask-prompts button:hover{opacity:.75}.ask-prompts button:disabled{opacity:.4;cursor:default}.ask-failed{margin:0 0 .6rem;color:var(--wrong)}.ask-compose{display:flex;align-items:flex-end;gap:.55rem}.ask-compose textarea{flex:1 1;font:inherit;font-size:.97rem;line-height:1.5;color:var(--fg);background:var(--bg);border:1.5px solid var(--line);border-radius:12px;padding:.7rem .85rem;resize:none;overflow-y:auto;min-height:3.4rem}.ask-compose textarea:focus{outline:none;border-color:var(--sel)}.ask-send{padding:.6rem 1.2rem;font-size:.88rem;flex:none}.diag-banked{background:var(--accent-soft);border-radius:10px;padding:.7rem .9rem;margin:0 0 1.1rem}.today-headline{font-size:1.45rem;font-weight:700;letter-spacing:-.02em;margin:0 0 1rem;text-wrap:balance}.xp-track{position:relative;height:12px;border-radius:999px;background:var(--line-soft);border:1px solid var(--line);overflow:hidden}.xp-fill{height:100%;background:var(--accent);border-radius:999px;transition:width .5s cubic-bezier(.22,.61,.36,1)}.xp-fill.met{background:var(--accent-deep)}.xp-basemark{position:absolute;top:0;bottom:0;width:2px;background:var(--card);opacity:.85}.xp-readout{font-family:var(--sans);font-size:.92rem;margin:.55rem 0 0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.xp-readout strong{font-size:1.15rem}.today-list{margin:1rem 0 1.3rem;padding-left:1.2rem}.today-list li{margin:.32rem 0}.today-week{padding-bottom:1.2rem}.xp-week{display:flex;gap:.55rem;align-items:flex-end;height:74px;margin:.2rem 0 .7rem}.xp-daycol{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:.3rem;height:100%}.xp-daybar{flex:1 1;max-width:30px;display:flex;align-items:flex-end;background:var(--line-soft);overflow:hidden}.xp-daybar,.xp-dayfill{width:100%;border-radius:5px}.xp-dayfill{background:var(--accent-mid)}.xp-dayfill.met{background:var(--accent)}.xp-dayfill.today{outline:1.5px solid var(--accent);outline-offset:-1.5px}.xp-daylabel{font-family:var(--sans);font-size:.68rem;color:var(--muted)}.gen-stimulus{border-left:3px solid var(--line);padding:.1rem 0 .1rem 1rem;margin-bottom:1.4rem}.gen-stimulus .stem{margin-top:0}.gen-field{margin:.9rem 0}.gen-field-label{display:flex;align-items:center;gap:.5rem;margin:0 0 .35rem}.gen-mark{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:6px;color:#fff;font-family:var(--sans);font-size:.75rem;font-weight:700}.gen-mark.pass{background:var(--accent)}.gen-mark.fail{background:var(--wrong)}.gen-ta{width:100%;font:inherit;padding:.7rem .8rem;border-radius:12px;border:1.5px solid var(--line);background:var(--card);color:var(--fg);resize:vertical}.gen-ta:focus{outline:none;border-color:var(--sel)}.gen-field.pass .gen-ta{border-color:var(--accent);background:var(--accent-soft)}.gen-field.fail .gen-ta{border-color:var(--wrong);background:var(--wrong-soft)}.gen-ta:disabled{opacity:.85}.gen-note{font-family:var(--sans);font-size:.88rem;margin:.35rem 0 0;line-height:1.5}.gen-note.pass{color:var(--accent-deep)}.gen-note.fail{color:var(--wrong)}.reflection-choices{display:flex;flex-direction:column;gap:.5rem;margin:.8rem 0}.reflection-choice{text-align:left}.micro-retrieval{border-top:1px solid var(--line);margin-top:1.2rem;padding-top:.9rem}.fig{margin:.6rem 0 1rem}.fig svg{width:100%;height:auto;display:block}.fig-table{border-collapse:collapse;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fig-table td,.fig-table th{border:1px solid var(--line);padding:.35rem .7rem;text-align:center}.fig-table th{background:var(--line-soft);font-weight:600}.fig-caption{color:var(--muted);font-size:.8rem;margin:.5rem 0 0}.fig-at{font-family:var(--sans)}.fig-at-mathish .fig-at-seg{font-family:var(--serif)}.fig-at-line{margin:0 0 .7rem}.fig-at-line:last-child{margin-bottom:0}.fig-at-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.4rem .55rem}.fig-at-block{display:flex;flex-direction:column;align-items:center;gap:.15rem}.fig-at-seg{font-size:.95rem;line-height:1.4;border-radius:6px;color:var(--fg)}.fig-at-seg.fig-role-muted{color:var(--muted)}.fig-at-seg.fig-role-highlight{background:var(--sel-soft);border:1.5px solid var(--sel);padding:.05rem .4rem}.fig-at-seg.fig-role-accent{background:var(--accent-soft);border:solid var(--accent);border-width:1.5px 1.5px 2.5px;padding:.05rem .4rem}.fig-at-seg.fig-role-wrong{background:var(--wrong-soft);border:1.5px solid var(--wrong);padding:.05rem .4rem;opacity:.82}.fig-at-tag{font-size:.72rem;font-family:var(--sans);color:var(--muted);padding:.1rem .15rem 0;border-top:1.5px solid var(--line);white-space:nowrap}.fig-at-tag-highlight{border-top-color:var(--sel);color:var(--sel)}.fig-at-tag-accent{border-top-color:var(--accent);color:var(--accent-deep)}.fig-at-tag-wrong{border-top-color:var(--wrong);color:var(--wrong)}.fig-flow{font-family:var(--sans);font-size:.88rem}.fig-flow-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.fig-flow-column .fig-flow-row{flex-direction:column;align-items:flex-start}.fig-flow-node{border:1.5px solid var(--line);border-radius:10px;padding:.65rem .95rem;background:var(--card);line-height:1.4;color:var(--fg)}.fig-flow-node.fig-role-highlight{border-color:var(--sel);background:var(--sel-soft)}.fig-flow-node.fig-role-accent{border-color:var(--accent);background:var(--accent-soft)}.fig-flow-node.fig-role-wrong{border-color:var(--wrong);background:var(--wrong-soft)}.fig-flow-node.fig-role-muted{color:var(--muted)}.fig-flow-conn{display:flex;flex-direction:column;align-items:center;gap:.2rem}.fig-flow-column .fig-flow-conn{transform:rotate(90deg);margin:.35rem 0}.fig svg.fig-flow-arrow,.fig-flow-arrow{width:40px;height:16px;display:block}.fig-flow-conn-label{font-size:.68rem;font-weight:600;color:var(--accent-deep);background:var(--accent-soft);border:1px solid var(--accent);border-radius:999px;padding:.05rem .5rem;white-space:nowrap}.fig-flow-conn-label-blocked{color:var(--wrong);background:var(--wrong-soft);border-color:var(--wrong)}.fig-flow-choose{display:flex;flex-direction:column;gap:.6rem}.fig-flow-source{text-align:center}.fig-flow-candidates{display:flex;flex-direction:column;gap:.55rem}.fig-flow-candidate{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem}.fig-flow-edge{display:inline-block;font-size:.7rem;font-weight:600;padding:.1rem .55rem;border-radius:999px}.fig-flow-edge-accent{background:var(--accent-soft);color:var(--accent-deep);border:1px solid var(--accent)}.fig-flow-edge-wrong{background:var(--wrong-soft);color:var(--wrong);border:1px solid var(--wrong)}.fig-area-wrap{font-family:var(--serif)}.fig-area{display:grid;grid-gap:.4rem;gap:.4rem;width:-moz-fit-content;width:fit-content}.fig-area-colhead,.fig-area-rowhead{font-weight:700;color:var(--accent-deep);padding:.2rem .5rem}.fig-area-cell,.fig-area-colhead,.fig-area-rowhead{display:flex;align-items:center;justify-content:center;font-size:1.05rem}.fig-area-cell{min-width:64px;min-height:48px;padding:.6rem .9rem;border:1.5px solid var(--line);border-radius:8px;background:var(--card);color:var(--fg)}.fig-barcmp{gap:1rem;font-family:var(--sans)}.fig-barcmp,.fig-barcmp-row{display:flex;flex-direction:column}.fig-barcmp-row{gap:.3rem}.fig-barcmp-label{font-size:.85rem;font-weight:600;color:var(--fg)}.fig-barcmp-track-wrap{position:relative;padding-bottom:1.1rem;min-width:40%}.fig-barcmp-track{display:flex;height:28px;border-radius:8px;overflow:hidden;border:1.5px solid var(--line)}.fig-barcmp-seg{display:flex;align-items:center;justify-content:center;overflow:hidden}.fig-barcmp-seg-accent{background:var(--accent);color:var(--on-accent)}.fig-barcmp-seg-wrong{background:var(--wrong-soft);color:var(--fg)}.fig-barcmp-seg-alt-a{background:var(--accent-soft);color:var(--fg)}.fig-barcmp-seg-alt-b{background:var(--sel-soft);color:var(--fg)}.fig-barcmp-seg-remainder{background:var(--line-soft)}.fig-barcmp-seg-text{font-size:.74rem;font-weight:600;white-space:nowrap;padding:0 .4rem}.fig-barcmp-remainder-text{color:var(--muted);font-weight:500}.fig-barcmp-under{position:absolute;left:0;right:0;bottom:0;height:1.1rem}.fig-barcmp-under-chip{position:absolute;top:0;transform:translateX(-50%);font-size:.68rem;color:var(--muted);white-space:nowrap}