@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(/_next/static/media/abfec168c8990f67-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:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(/_next/static/media/3131c862d4942660-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(/_next/static/media/6a9c36ea9dc9b36b-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:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(/_next/static/media/e1694c6cb47c173f-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:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(/_next/static/media/ee40bb094c99a29a-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:Nunito Fallback;src:local("Arial");ascent-override:99.71%;descent-override:34.82%;line-gap-override:0.00%;size-adjust:101.39%}.__className_eef148{font-family:Nunito,Nunito Fallback;font-style:normal}.__variable_eef148{--font-sans:"Nunito","Nunito Fallback"}@font-face{font-family:Caveat;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e44cdba7d0878bc5-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:Caveat;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/07fccecd6728972a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Caveat;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/486fce9f36bc8f45-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:Caveat;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/46bdd75a3ff56824-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:Caveat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e44cdba7d0878bc5-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:Caveat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/07fccecd6728972a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Caveat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/486fce9f36bc8f45-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:Caveat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/46bdd75a3ff56824-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:Caveat Fallback;src:local("Arial");ascent-override:124.77%;descent-override:38.99%;line-gap-override:0.00%;size-adjust:76.94%}.__className_34a9ff{font-family:Caveat,Caveat Fallback;font-style:normal}.__variable_34a9ff{--font-hand:"Caveat","Caveat Fallback"}:root{--desk:#efe7dca8;--desk-2:#e7ddcf;--paper:#fffdf8;--paper-lines:#e9eef7;--ink:#3a3550;--ink-soft:#6b6680;--muted:#948fa6;--line:#ece8f1;--accent:#8b7bf0;--accent-strong:#6d5de0;--accent-tint:#efeafe;--green:#58c08a;--amber:#f0b657;--danger:#ef7a76;--warn-ink:#b45309;--danger-ink:#dc2626;--cat-purple:#efeafe;--cat-purple-ink:#7a5af0;--cat-purple-edge:#ddd2fb;--cat-blue:#e6f1fe;--cat-blue-ink:#4e8ff0;--cat-blue-edge:#cfe2fb;--cat-amber:#fdf2da;--cat-amber-ink:#d99a2b;--cat-amber-edge:#f4e3bd;--cat-green:#e4f6ea;--cat-green-ink:#3fae73;--cat-green-edge:#cdeed9;--cat-pink:#fce8ef;--cat-pink-ink:#e16a98;--cat-pink-edge:#f7d4e1;--cat-teal:#ddf3f1;--cat-teal-ink:#2fa8a0;--cat-teal-edge:#c6ece8;--note-yellow:#fdf3bf;--note-green:#d8f3c8;--note-pink:#ffd9e3;--note-purple:#e7defc;--note-blue:#d6ecfb;--radius:18px;--radius-sm:12px;--shadow:0 10px 26px rgba(80,70,120,0.12);--shadow-sm:0 4px 14px rgba(80,70,120,0.10);--tape:rgba(255,255,255,0.55);--desk-glow-1:#f6efe4;--desk-glow-2:#efe9f8;--green-tint:#e4f6ea;--amber-tint:#fdf2da;--danger-tint:#fdecea;--green-ink:#2f8f5f;--hand-ink:#7a6ea8;--buddy-face:#f6d45f;--buddy-face-2:#e9bf3e;--buddy-brow:#6b4a2f;--buddy-eye:#b9791a}:root[data-theme=dark]{--desk:#221f2ba8;--desk-2:#1b1823;--paper:#2a2735;--paper-lines:#34313f;--ink:#eae6f4;--ink-soft:#b3aec4;--muted:#8b86a0;--line:#3b3749;--accent:#9d8ff5;--accent-strong:#b3a7f8;--accent-tint:#363050;--green:#58c08a;--amber:#e8b45c;--danger:#ef7a76;--warn-ink:#e8b45c;--danger-ink:#f08a86;--cat-purple:#363050;--cat-purple-ink:#b3a7f8;--cat-purple-edge:#4a4270;--cat-blue:#2b3a50;--cat-blue-ink:#8fbcf7;--cat-blue-edge:#3c5273;--cat-amber:#453a26;--cat-amber-ink:#ecc27a;--cat-amber-edge:#64522f;--cat-green:#274133;--cat-green-ink:#7fd6a9;--cat-green-edge:#35594515;--cat-pink:#472e3a;--cat-pink-ink:#f0a2c2;--cat-pink-edge:#66404f;--cat-teal:#24413f;--cat-teal-ink:#77d3cc;--cat-teal-edge:#315a56;--note-yellow:#4a4430;--note-green:#35452f;--note-pink:#4c3540;--note-purple:#3b3450;--note-blue:#30414f;--shadow:0 10px 26px rgba(0,0,0,0.45);--shadow-sm:0 4px 14px rgba(0,0,0,0.35);--tape:rgba(255,255,255,0.08);--desk-glow-1:#262030;--desk-glow-2:#211d2e;--green-tint:#24382e;--amber-tint:#3a3122;--danger-tint:#3a2729;--green-ink:#77cfa2;--hand-ink:#b4a8ef;--buddy-face:#e8c554;--buddy-face-2:#c9a53c;--buddy-brow:#4a3220;--buddy-eye:#8a5a15}*{box-sizing:border-box}body,html{margin:0;padding:0;color:var(--ink);background:radial-gradient(1200px 700px at 15% -10%,var(--desk-glow-1),transparent),radial-gradient(1000px 600px at 100% 0,var(--desk-glow-2),transparent),var(--desk-2);font-family:var(--font-sans,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--accent-strong);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:.55rem .9rem;transition:border-color .15s,background .15s,transform .05s,box-shadow .15s}button:hover:not(:disabled){border-color:var(--accent);box-shadow:var(--shadow-sm)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed}input[type=text],select,textarea{font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.55rem .7rem;width:100%}textarea{resize:vertical;min-height:90px}label{display:block;font-size:.85rem;color:var(--ink-soft);margin-bottom:.35rem}.app-shell{min-height:100vh;padding:1.5rem 1.25rem 7rem}.desk{max-width:1320px;margin:0 auto}.dock-wrap{position:fixed;left:0;right:0;bottom:1rem;display:flex;justify-content:center;pointer-events:none;z-index:50}.dock{pointer-events:auto;display:flex;gap:.25rem;background:rgba(255,253,248,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:22px;padding:.4rem;box-shadow:var(--shadow)}.dock a{display:flex;flex-direction:column;align-items:center;gap:.15rem;width:66px;padding:.4rem .2rem .3rem;border-radius:16px;color:var(--ink-soft);font-size:.66rem;font-weight:600;text-decoration:none;transition:background .15s,color .15s}.dock a .ic{font-size:1.15rem;line-height:1}.dock a:hover{text-decoration:none}.dock a.active,.dock a:hover{background:var(--accent-tint)}.dock a.active{color:var(--accent-strong)}.topbar{gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}.topbar,.topbar .brand{display:flex;align-items:center}.topbar .brand{gap:.6rem}.topbar .brand .logo{font-size:1.6rem}.topbar .brand h1{font-size:1.25rem;margin:0}.topbar .brand .sub{display:block;font-size:.78rem;color:var(--accent-strong);font-weight:600}.greeting{margin-right:auto}.greeting h2{margin:0;font-size:1.35rem}.greeting p{margin:.1rem 0 0;color:var(--muted);font-size:.9rem}.stat-pills{gap:.5rem;flex-wrap:wrap}.pill,.stat-pills{display:flex;align-items:center}.pill{gap:.45rem;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:.4rem .7rem;box-shadow:var(--shadow-sm)}.pill .ic{font-size:1.05rem}.pill .v{font-weight:800;font-size:.95rem}.pill .k{font-size:.7rem;color:var(--muted)}.avatar{width:42px;height:42px;border-radius:50%;background:var(--accent-tint);display:grid;place-items:center;font-size:1.2rem;border:2px solid var(--paper);box-shadow:var(--shadow-sm)}.dash{grid-template-columns:280px 1fr 330px;grid-gap:1.1rem}.dash,.dash-center{display:grid;gap:1.1rem;align-items:start}.dash-center{grid-template-columns:1fr 1fr;grid-gap:1.1rem}.dash-center .span-2{grid-column:1/-1}@media (max-width:1100px){.dash{grid-template-columns:1fr}.dash-right{order:3}}@media (max-width:620px){.dash-center{grid-template-columns:1fr}}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem;box-shadow:var(--shadow)}.card+.card{margin-top:1.1rem}.card h3{margin:0 0 .8rem;font-size:1rem}.card .card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.8rem}.card .card-head h3{margin:0}.card .more{font-size:.82rem;font-weight:600}.paper-ruled{background:linear-gradient(var(--paper),var(--paper)) 0 0 /100% 2.1rem,repeating-linear-gradient(var(--paper) 0 calc(2.1rem - 1px),var(--paper-lines) calc(2.1rem - 1px) 2.1rem)}.note{border:none;border-radius:4px;box-shadow:var(--shadow-sm);position:relative;transform:rotate(-1.2deg)}.note.tilt-r{transform:rotate(1.4deg)}.note:before{content:"";position:absolute;top:-10px;left:50%;transform:translateX(-50%) rotate(-3deg);width:74px;height:22px;background:var(--tape);border-radius:2px;box-shadow:0 1px 2px rgba(0,0,0,.08)}.note.note-yellow{background:var(--note-yellow)}.note.note-green{background:var(--note-green)}.note.note-pink{background:var(--note-pink)}.note.note-purple{background:var(--note-purple)}.note.note-blue{background:var(--note-blue)}.note h3,.note h4{margin:.2rem 0 .4rem}.note p{margin:0;color:var(--ink);font-size:.9rem}.cat-panel .card-head .add{width:30px;height:30px;padding:0;border-radius:10px;display:grid;place-items:center;font-size:1.1rem}.cat-row{display:grid;grid-template-columns:38px 1fr auto;grid-gap:.6rem;gap:.6rem;align-items:center;width:100%;text-align:left;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);padding:.55rem .5rem;margin-bottom:.2rem}.cat-row:hover{background:#faf8ff;border-color:var(--line);box-shadow:none}.cat-row.active{background:var(--accent-tint);border-color:var(--cat-purple-edge)}.cat-ic{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-size:1.15rem}.cat-main .name{font-weight:700;font-size:.92rem}.cat-main .meta{font-size:.72rem;color:var(--muted)}.cat-main .active-sub{font-size:.72rem;color:var(--accent-strong);font-weight:600}.cat-pct{font-size:.82rem;font-weight:800;color:var(--ink-soft)}.bar{height:7px;background:#eceaf3;overflow:hidden;margin-top:.3rem}.bar,.bar>span{border-radius:99px}.bar>span{display:block;height:100%;background:var(--accent)}.acc-purple{background:var(--cat-purple);color:var(--cat-purple-ink)}.acc-blue{background:var(--cat-blue);color:var(--cat-blue-ink)}.acc-amber{background:var(--cat-amber);color:var(--cat-amber-ink)}.acc-green{background:var(--cat-green);color:var(--cat-green-ink)}.acc-pink{background:var(--cat-pink);color:var(--cat-pink-ink)}.acc-teal{background:var(--cat-teal);color:var(--cat-teal-ink)}.bar-purple>span{background:var(--cat-purple-ink)}.bar-blue>span{background:var(--cat-blue-ink)}.bar-amber>span{background:var(--cat-amber-ink)}.bar-green>span{background:var(--cat-green-ink)}.bar-pink>span{background:var(--cat-pink-ink)}.bar-teal>span{background:var(--cat-teal-ink)}.continue{background:var(--accent-tint);border-color:var(--cat-purple-edge)}.continue .topic{font-weight:700;font-size:1.05rem;margin:.2rem 0 .7rem}.continue .doc{display:inline-flex;align-items:center;gap:.4rem;color:var(--ink-soft);font-size:.85rem}.continue .continue-btn{float:right}.qa-row{display:flex;align-items:center;gap:.7rem;width:100%;text-align:left;border:1px solid transparent;background:transparent;padding:.5rem;border-radius:var(--radius-sm)}.qa-row:hover{background:#faf8ff;border-color:var(--line);box-shadow:none}.qa-ic{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-size:1.1rem;flex:none}.qa-row .t{font-weight:700;font-size:.9rem}.qa-row .d{font-size:.74rem;color:var(--muted)}.week-row{display:flex;align-items:center;gap:.6rem;padding:.4rem 0;border-bottom:1px dashed var(--line)}.week-row:last-of-type{border-bottom:none}.week-row .ic{font-size:.95rem}.week-row .k{color:var(--ink-soft);font-size:.88rem}.week-row .v{margin-left:auto;font-weight:800}.tutor-card{background:var(--cat-blue);border-color:var(--cat-blue-edge)}.tutor-stage{display:flex;gap:.6rem;align-items:flex-end}.bubble{background:var(--paper);border-radius:16px;padding:.7rem .85rem;box-shadow:var(--shadow-sm);font-size:.85rem;flex:1 1}.bubble strong{display:block;margin-bottom:.2rem}.academy-buddy{display:inline-block;line-height:0;flex:none}.academy-buddy img,.academy-buddy svg{display:block;overflow:visible}.academy-buddy.is-float{animation:ab-float 4s ease-in-out infinite}@keyframes ab-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.academy-buddy.is-blink .ab-eyes{transform-box:fill-box;transform-origin:center;animation:ab-blink 5.4s infinite}@keyframes ab-blink{0%,92%,to{transform:scaleY(1)}96%{transform:scaleY(.1)}}@media (prefers-reduced-motion:reduce){.academy-buddy.is-blink .ab-eyes,.academy-buddy.is-float{animation:none}}.tutor-cta{margin-top:.9rem;width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;background:linear-gradient(180deg,var(--accent),var(--accent-strong));color:#fff;border:none;font-weight:700;padding:.8rem;border-radius:14px}.tutor-cta:hover{color:#fff}.up-row{display:flex;gap:.6rem;align-items:flex-start;padding:.55rem 0;border-bottom:1px dashed var(--line)}.up-row:last-of-type{border-bottom:none}.up-ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:.95rem;flex:none}.up-row .t{font-weight:700;font-size:.88rem}.up-row .w{font-size:.74rem;color:var(--muted)}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.login-card{width:100%;max-width:380px;text-align:center}.login-buddy{display:flex;justify-content:center;margin-bottom:.4rem}.login-title{font-size:1.5rem;margin:0}.login-sub{color:var(--muted);margin:.2rem 0 1.1rem;font-size:.9rem}.login-card .field,.login-card label{text-align:center}.login-card input{width:100%;font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:.8rem 1.1rem;text-align:center}.login-card input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.login-card .start-btn{border-radius:999px}.login-card .error,.login-notice{text-align:center}.login-notice{margin:0 0 1rem}.section-map{margin-bottom:1.1rem}.section-map__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.9rem}.section-map__title{margin:0;font-size:1rem}.section-map__sub{margin:.15rem 0 0;font-size:.82rem;color:var(--muted)}.section-map__meter{flex:0 0 110px;height:8px;border-radius:999px;background:var(--line);overflow:hidden;margin-top:.35rem}.section-map__meter span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-strong))}.section-map__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.section-map__item{display:flex;align-items:center;gap:.7rem;padding:.55rem .65rem;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.section-map__item.is-current{border-color:var(--accent);background:var(--accent-tint)}.section-map__num{flex:0 0 1.5rem;height:1.5rem;border-radius:50%;display:grid;place-items:center;font-size:.78rem;font-weight:700;background:var(--line);color:var(--ink-soft)}.section-map__item.is-current .section-map__num{background:var(--accent);color:#fff}.section-map__body{flex:1 1 auto;min-width:0}.section-map__name{display:block;font-size:.9rem;font-weight:600}.section-map__meta{display:block;font-size:.75rem;color:var(--muted)}.section-map__badge{font-size:.72rem;font-weight:700;color:var(--accent-strong);white-space:nowrap}.section-map__go{padding:.3rem .7rem;font-size:.8rem}@media (max-width:480px){.section-map__item{flex-wrap:wrap}.section-map__body{flex:1 1 100%;order:2}.section-map__badge,.section-map__go{order:3;margin-left:auto}}.cat-overview{display:block;color:var(--ink);text-decoration:none;transition:transform .12s,box-shadow .12s}.cat-overview:hover{text-decoration:none;transform:translateY(-3px);box-shadow:var(--shadow)}.cat-overview ul{color:var(--ink-soft)}.subject-card .subj-actions{display:flex;gap:.9rem;margin-top:.7rem}.chip{font-size:.68rem;font-weight:700;padding:.15rem .55rem;border-radius:999px;text-transform:uppercase;letter-spacing:.3px}.chip-live{background:var(--cat-green);color:var(--cat-green-ink)}.chip-soon{background:#f0eef5;color:var(--muted)}.src-tabs{display:flex;gap:.4rem;margin-bottom:.9rem}.src-tab{flex:1 1;padding:.5rem .4rem;font-size:.82rem;font-weight:600}.src-tab.active{border-color:var(--accent);background:var(--accent-tint);color:var(--accent-strong)}.src-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem;padding:.6rem 0}.muted-count{color:var(--muted);font-weight:600;font-size:.85rem}.src-list{flex-direction:column;max-height:560px;overflow-y:auto;padding-right:.25rem}.src-card,.src-list{display:flex;gap:.6rem}.src-card{align-items:flex-start;border:1px solid var(--line);border-radius:var(--radius-sm);padding:.6rem .7rem;background:#faf8ff}.src-card-link{color:var(--ink);text-decoration:none;transition:transform .12s,box-shadow .12s,border-color .12s}.src-card-link:hover{border-color:var(--accent);box-shadow:var(--shadow-sm);text-decoration:none;transform:translateY(-1px)}.src-chevron{margin-left:auto;align-self:center;color:var(--muted);font-size:1.3rem;font-weight:700;flex:none}.src-card-link:hover .src-chevron{color:var(--accent-strong)}.src-ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:1rem;flex:none}.src-body{min-width:0}.src-title{font-weight:700;font-size:.9rem}.src-snip{font-size:.78rem;color:var(--ink-soft);margin-top:.15rem;overflow:hidden}.src-meta{font-size:.72rem;color:var(--muted);margin-top:.2rem}input[type=file]{font-size:.85rem;padding:.4rem}.src-meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.1rem}.src-fact{font-size:.78rem;color:var(--ink-soft);background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:.25rem .7rem}.src-fact.link{color:var(--accent-strong)}.src-fact.link:hover{border-color:var(--accent);background:var(--accent-tint);text-decoration:none}.src-badge{font-size:.72rem;font-weight:800;letter-spacing:.3px;text-transform:uppercase;border-radius:999px;padding:.28rem .7rem;border:1px solid transparent}.src-badge.tone-ready{background:#e7f7ee;color:#1f8a52;border-color:#bce6cf}.src-badge.tone-review{background:#fdf3e0;color:#a5711a;border-color:#f0dcb4}.src-badge.tone-empty{background:#f2f0f7;color:var(--muted);border-color:var(--line)}.src-actions{gap:.85rem;margin-bottom:1.4rem}.src-actions,.src-soon{display:flex;flex-wrap:wrap;align-items:center}.src-soon{gap:.4rem}.soon-chip{font-size:.72rem;color:var(--muted);background:var(--paper);border:1px dashed var(--line);border-radius:999px;padding:.22rem .6rem}.soon-note{font-size:.7rem;color:var(--muted);font-style:italic}.doc-card{max-width:820px}.doc-body{white-space:pre-wrap;word-break:break-word;line-height:1.65;font-size:.92rem;color:var(--ink);max-height:62vh;overflow-y:auto}.src-collapse{max-width:820px}.src-collapse>summary{cursor:pointer;font-weight:700;font-size:.9rem;color:var(--accent-strong);list-style:none}.src-collapse>summary::-webkit-details-marker{display:none}.src-collapse>summary:before{content:"▸ "}.src-collapse[open]>summary:before{content:"▾ "}.map-wrap{margin-bottom:1.4rem}.map-card{margin-bottom:1rem}.map-empty{flex-direction:column;gap:.8rem}.map-empty,.map-head{display:flex;align-items:flex-start}.map-head{justify-content:space-between;gap:.75rem}.map-summary{margin:.3rem 0 0;color:var(--ink-soft);font-size:.88rem;line-height:1.5}.map-meta{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.8rem}.map-pill{font-size:.72rem;color:var(--ink-soft);background:var(--accent-tint);border:1px solid var(--line);border-radius:999px;padding:.24rem .65rem}.map-changed{margin:.8rem 0 0;font-size:.8rem;color:#a5711a;background:#fdf3e0;border:1px solid #f0dcb4;border-radius:var(--radius-sm);padding:.5rem .7rem}.map-btn{font-weight:700;font-size:.85rem;border-radius:999px;padding:.55rem 1rem;cursor:pointer;border:1px solid var(--line);background:var(--paper);color:var(--ink);text-decoration:none;display:inline-block}.map-btn:hover:not(:disabled){border-color:var(--accent);text-decoration:none}.map-btn:disabled{opacity:.55;cursor:default}.map-btn.primary{color:#fff;border:none;background:linear-gradient(180deg,var(--accent),var(--accent-strong))}.map-btn.primary:hover:not(:disabled){color:#fff;box-shadow:var(--shadow-sm)}.map-btn.ghost{font-size:.78rem;padding:.4rem .75rem;color:var(--accent-strong);flex:none}.map-btn.block{display:block;text-align:center;width:100%;margin-top:.9rem}.map-sections{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:.9rem;gap:.9rem}.map-sec{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}.map-sec-top{display:flex;align-items:center;gap:.55rem}.map-sec-num{width:26px;height:26px;border-radius:50%;background:var(--accent-tint);color:var(--accent-strong);font-size:.8rem;font-weight:800;display:grid;place-items:center;flex:none}.map-sec-title{margin:0;font-size:.95rem;line-height:1.3}.map-sec-summary{margin:.5rem 0 0;font-size:.83rem;color:var(--ink-soft);line-height:1.5}.map-concepts{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.7rem}.map-concept{font-size:.7rem;color:var(--ink-soft);background:#faf8ff;border:1px solid var(--line);border-radius:8px;padding:.16rem .45rem}.map-sec-meta{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.8rem}.map-chip{font-size:.68rem;font-weight:700;border-radius:999px;padding:.2rem .55rem;border:1px solid var(--line);color:var(--ink-soft);background:var(--paper)}.map-chip.diff-easy{background:#e7f7ee;color:#1f8a52;border-color:#bce6cf}.map-chip.diff-medium{background:#fdf3e0;color:#a5711a;border-color:#f0dcb4}.map-chip.diff-hard{background:#fbecec;color:#c0453f;border-color:#f0c9c6}.map-chip.status-not_started{color:var(--muted)}.map-chip.status-in_progress{background:var(--accent-tint);color:var(--accent-strong);border-color:var(--accent)}.map-chip.status-covered,.map-chip.status-mastered{background:#e7f7ee;color:#1f8a52;border-color:#bce6cf}.map-chip.status-needs_review{background:#fdf3e0;color:#a5711a;border-color:#f0dcb4}.map-sec .map-btn.primary.block{margin-top:auto}.practice-link{transition:transform .12s,box-shadow .12s,border-color .12s}.practice-link:hover{border-color:var(--accent);box-shadow:var(--shadow-sm);transform:translateY(-1px);text-decoration:none}.prac-overview .stat-pills{margin-bottom:.9rem}.prac-actions{display:flex;flex-wrap:wrap;gap:.55rem}.prac-filters{display:flex;gap:.35rem;flex-wrap:wrap}.filter-chip{font-size:.76rem;font-weight:700;padding:.3rem .7rem;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--ink-soft);cursor:pointer}.filter-chip.active{border-color:var(--accent);background:var(--accent-tint);color:var(--accent-strong)}.q-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:.8rem;gap:.8rem;margin-top:.9rem}.q-card{border:1px solid var(--line);border-radius:var(--radius);padding:.85rem;background:var(--paper);display:flex;flex-direction:column;box-shadow:var(--shadow-sm)}.q-top{display:flex;justify-content:space-between;align-items:center;gap:.4rem;margin-bottom:.4rem}.q-type{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--accent-strong)}.q-stat{font-size:.7rem;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.q-text{font-size:.9rem;line-height:1.45;color:var(--ink);flex:1 1}.q-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.6rem}.q-tag{font-size:.68rem;color:var(--ink-soft);background:#faf8ff;border:1px solid var(--line);border-radius:8px;padding:.14rem .45rem}.q-card .map-btn.block{margin-top:.7rem}.wa-list{display:flex;flex-direction:column;gap:.6rem}.wa-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border:1px solid var(--line);border-radius:var(--radius-sm);padding:.6rem .75rem;background:#fdf7ef}.wa-sev{font-size:.62rem;font-weight:800;text-transform:uppercase;border-radius:999px;padding:.14rem .5rem;margin-right:.5rem}.sev-low{background:#e7f7ee;color:#1f8a52}.sev-medium{background:#fdf3e0;color:#a5711a}.sev-high{background:#fbecec;color:#c0453f}.wa-concept{font-weight:700;font-size:.9rem}.wa-note{font-size:.78rem;color:var(--ink-soft);margin-top:.2rem}.prac-run{max-width:720px}.prac-progress{font-size:.76rem;color:var(--muted);font-weight:700;margin-bottom:.5rem}.prac-q{margin:.4rem 0 .9rem;font-size:1.1rem;line-height:1.4}.prac-answer{width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);padding:.7rem;font:inherit;resize:vertical}.feedback{border-radius:var(--radius);padding:1rem;margin-top:.3rem;border:1px solid var(--line)}.feedback.tone-strong{background:#e7f7ee;border-color:#bce6cf}.feedback.tone-partial{background:#eef7ff;border-color:#cfe3f5}.feedback.tone-weak{background:#fdf3e0;border-color:#f0dcb4}.feedback.tone-incorrect{background:#fbecec;border-color:#f0c9c6}.fb-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.5rem}.fb-label{font-weight:800;font-size:1rem}.fb-score{font-weight:800;font-size:1.2rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.feedback p{margin:.35rem 0;font-size:.88rem;line-height:1.5}.feedback .map-btn{margin-top:.7rem}.prac-summary{max-width:560px;text-align:center}.prac-sub{color:var(--ink-soft);margin:.2rem 0 1rem}.prac-stats{display:flex;justify-content:center;gap:.6rem;margin-bottom:1rem}.prac-stats .pill{flex-direction:column;gap:0}.prac-stats .v{font-size:1.3rem;font-weight:800}.prac-stats .k{font-size:.68rem;color:var(--muted)}.stub{max-width:560px;margin:4rem auto;text-align:center}.stub .big{font-size:3rem}.stub h2{margin:.5rem 0 .3rem}.stub p{color:var(--ink-soft)}.cockpit{max-width:1180px;margin:0 auto}.masthead{display:flex;align-items:baseline;gap:.75rem;margin-bottom:1.25rem}.masthead h1{font-size:1.5rem;margin:0;letter-spacing:.2px}.masthead .tag{color:var(--muted);font-size:.95rem}.nav-link{margin-left:auto;color:var(--accent-strong);font-size:.9rem;align-self:center}.session-context{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin:-.4rem 0 1.1rem;padding:.7rem .95rem;background:var(--accent-tint);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.sc-item{display:flex;flex-direction:column;min-width:0}.sc-k{font-size:.66rem;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}.sc-v{font-size:.92rem;font-weight:700;color:var(--ink)}.live-controls{display:flex;gap:.6rem}.live-controls .start-btn{width:auto;flex:1 1}.start-btn.pause{background:linear-gradient(180deg,#f5c96b,#e6a93f)}.time-badge{display:inline-flex;align-items:baseline;gap:.4rem;padding:.3rem .7rem;background:var(--accent-tint);border:1px solid var(--cat-purple-edge);border-radius:999px;box-shadow:var(--shadow-sm);white-space:nowrap}.time-badge.paused{background:#fdf3e0;border-color:#f0dcb4}.time-badge .tb-k{font-size:.62rem;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--muted)}.time-badge .tb-v{font-size:.9rem;font-weight:800;color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.time-badge .tb-paused{font-size:.66rem;font-weight:700;color:#a5711a;text-transform:uppercase;letter-spacing:.4px}.overlay{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:1.25rem;background:rgba(58,53,80,.32);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.overlay-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 18px 50px rgba(58,53,80,.28);padding:1.6rem 1.5rem;max-width:420px;width:100%;text-align:center}.overlay-emoji{font-size:2.4rem;line-height:1;margin-bottom:.4rem}.overlay-card h2{margin:0 0 .3rem;font-size:1.25rem}.overlay-sub{margin:0 0 1.1rem;color:var(--ink-soft);font-size:.9rem;line-height:1.5}.overlay-actions{display:flex;flex-direction:column;gap:.55rem}.ov-btn{display:block;width:100%;padding:.7rem 1rem;font-size:.95rem;font-weight:700;text-align:center;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--ink);text-decoration:none;cursor:pointer}.ov-btn:hover:not(:disabled){border-color:var(--accent);text-decoration:none}.ov-btn:disabled{opacity:.55;cursor:default}.ov-btn.primary{color:#fff;border:none;background:linear-gradient(180deg,var(--accent),var(--accent-strong))}.ov-btn.primary:hover{color:#fff}.ov-btn.ghost{color:var(--ink-soft)}.saved-summary{text-align:left;background:#faf8ff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:.7rem .85rem;margin-bottom:1.1rem;display:flex;flex-direction:column;gap:.35rem}.ss-row{display:flex;justify-content:space-between;gap:.75rem;font-size:.83rem}.ss-k{color:var(--muted);font-weight:700}.ss-v{color:var(--ink);text-align:right}.resume-card{border-color:var(--cat-purple-edge);background:var(--accent-tint);margin-bottom:1rem}.resume-card.recoverable{border-color:#f0dcb4;background:#fdf3e0}.resume-head{display:flex;gap:.7rem;align-items:flex-start}.resume-ic{font-size:1.5rem;line-height:1;flex:none}.resume-sub{margin:.25rem 0 0;font-size:.88rem;color:var(--ink-soft);line-height:1.5}.resume-facts{display:flex;flex-wrap:wrap;gap:.4rem;margin:.85rem 0}.resume-fact{font-size:.74rem;color:var(--ink-soft);background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:.22rem .6rem}.resume-actions{display:flex;flex-wrap:wrap;gap:.6rem}.grid{display:grid;grid-template-columns:360px 1fr;grid-gap:1.25rem;gap:1.25rem;align-items:start}@media (max-width:900px){.grid{grid-template-columns:1fr}}.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem;box-shadow:var(--shadow)}.panel+.panel{margin-top:1.1rem}.panel h2{font-size:.95rem;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin:0 0 .85rem}.field{margin-bottom:.9rem}.modes{display:grid;grid-template-columns:1fr 1fr;grid-gap:.5rem;gap:.5rem}.mode-chip{text-align:left;padding:.55rem .6rem}.mode-chip.active{border-color:var(--accent);background:var(--accent-tint)}.km{border:1px solid var(--line);border-radius:var(--radius);background:#faf8ff;overflow:hidden}.km-active{display:flex;align-items:center;gap:.6rem;padding:.7rem .8rem}.km-active-main{display:flex;flex-direction:column;min-width:0;flex:1 1}.km-active-main .km-label{font-weight:800;font-size:.92rem;color:var(--accent-strong)}.km-short{font-size:.76rem;color:var(--ink-soft);margin-top:.1rem}.km-toggle{flex:none;font-size:.74rem;font-weight:700;padding:.35rem .6rem;border-radius:999px;color:var(--accent-strong);background:var(--paper);border:1px solid var(--line);cursor:pointer}.km-toggle:hover:not(:disabled){border-color:var(--accent)}.km-menu{border-top:1px dashed var(--line)}.km-menu,.km-option{display:flex;flex-direction:column}.km-option{text-align:left;gap:.15rem;padding:.6rem .8rem;background:none;border:none;border-bottom:1px solid var(--line);cursor:pointer}.km-option:last-child{border-bottom:none}.km-option:hover:not(:disabled){background:var(--accent-tint)}.km-option .km-label{font-weight:700;font-size:.86rem;color:var(--ink)}.km-menu-desc{font-size:.74rem;color:var(--ink-soft);line-height:1.4}.mode-chip .m-label{display:block;font-size:.9rem;font-weight:600}.mode-chip .m-blurb{display:block;font-size:.72rem;color:var(--muted);margin-top:.15rem}.start-btn{width:100%;padding:.95rem;font-size:1.05rem;font-weight:700;color:#fff;border:none;background:linear-gradient(180deg,var(--accent),var(--accent-strong))}.start-btn:hover:not(:disabled){color:#fff}.start-btn.live{background:linear-gradient(180deg,#ef7a76,#d85651)}a.start-btn{display:block;box-sizing:border-box;text-align:center;text-decoration:none;border-radius:999px}.controls{display:flex;gap:.5rem;margin-top:.75rem;flex-wrap:wrap}.controls button{flex:1 1 auto}.statusline{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;font-size:.88rem;color:var(--ink-soft)}.dot{width:9px;height:9px;border-radius:50%;background:var(--muted)}.dot.connecting{background:var(--amber);animation:pulse 1s infinite}.dot.live{background:var(--green)}.dot.error{background:var(--danger)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.speaking-badge{margin-left:auto;font-size:.78rem;color:var(--accent-strong);border:1px solid var(--accent);border-radius:999px;padding:.1rem .55rem}.error{color:var(--danger);font-size:.85rem;margin-top:.6rem}.hint{color:var(--muted);font-size:.82rem;margin-top:.5rem}.transcript{display:flex;flex-direction:column;gap:.6rem;max-height:460px;overflow-y:auto;padding-right:.25rem}.turn{padding:.6rem .75rem;border-radius:12px;border:1px solid var(--line)}.turn.tutor{background:var(--cat-blue);border-color:var(--cat-blue-edge)}.turn.learner{background:var(--cat-green);border-color:var(--cat-green-edge)}.turn .who{font-size:.72rem;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-soft);margin-bottom:.2rem}.turn .what{white-space:pre-wrap}.empty{color:var(--muted);font-style:italic;padding:1rem 0}.session-list{gap:.4rem;max-height:520px;overflow-y:auto}.session-list,.session-row{display:flex;flex-direction:column}.session-row{align-items:flex-start;gap:.15rem;text-align:left}.session-row.active{border-color:var(--accent);background:var(--accent-tint)}.session-row .s-title{font-weight:600}.session-row .s-meta{font-size:.76rem;color:var(--muted)}.weak-row{display:flex;gap:.5rem;align-items:flex-start;padding:.5rem 0;border-bottom:1px solid var(--line)}.weak-row:last-child{border-bottom:none}.weak-row .w-label{font-weight:600}.weak-row .w-note{color:var(--muted);font-size:.82rem}.weak-add{display:flex;gap:.5rem;margin-top:.75rem}.weak-add input{flex:1 1}@media (max-width:480px){.app-shell{padding:1rem .85rem 5.5rem}.dock-wrap{bottom:.5rem}.dock{gap:0;padding:.3rem .2rem;border-radius:20px}.dock a{width:56px;padding:.5rem .1rem .35rem;font-size:.58rem;border-radius:14px}.dock a .ic{font-size:1.3rem}.topbar{gap:.5rem;margin-bottom:.9rem;flex-wrap:wrap}.topbar .brand h1{font-size:1.1rem}.greeting h2{font-size:1.15rem}.greeting p{font-size:.82rem}.stat-pills{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.3rem;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-right:-.85rem;padding-right:.85rem}.stat-pills::-webkit-scrollbar{display:none}.pill{flex-shrink:0}.card{padding:.85rem .9rem;border-radius:14px}.card+.card{margin-top:.85rem}.panel{padding:.85rem .9rem;border-radius:14px}.panel+.panel{margin-top:.85rem}.dash,.dash-center{gap:.75rem}.subject-card .subj-actions{flex-direction:column;gap:.45rem;margin-top:.9rem}.subject-card .subj-actions a.more{display:block;text-align:center;padding:.65rem .5rem;background:var(--accent-tint);border:1px solid var(--cat-purple-edge);border-radius:10px;font-weight:600;font-size:.88rem}.cockpit{padding:0}.masthead{flex-wrap:wrap;row-gap:.2rem;column-gap:.6rem;margin-bottom:.9rem}.masthead h1{font-size:1.2rem}.masthead .tag{display:none}.nav-link{margin-left:0;font-size:.82rem}.grid{gap:.75rem}.modes{gap:.35rem}.mode-chip{padding:.5rem}.mode-chip .m-label{font-size:.84rem}.mode-chip .m-blurb{font-size:.67rem}.start-btn{padding:1.05rem;font-size:1rem;border-radius:14px}.transcript{max-height:280px}.session-list{max-height:380px}.session-row{padding:.65rem .6rem}.weak-add{flex-direction:column}.weak-add button,.weak-add input{width:100%}.src-list{max-height:380px}.card>div[style*=overflow-x]{margin:0 -.15rem}.login-card{padding:0 .5rem}.login-title{font-size:1.3rem}.chip{font-size:.65rem;padding:.12rem .45rem}.cat-overview:hover{transform:none}.topbar>.nav-link{order:3;width:100%;text-align:right;font-size:.82rem;margin-left:0}}@media (max-width:360px){.app-shell{padding:.85rem .7rem 5.5rem}.dock a{width:48px;font-size:.55rem}.pill{padding:.35rem .55rem}.pill .v{font-size:.85rem}}main.placeholder{max-width:980px;margin:0 auto}main.placeholder>h1{font-size:1.5rem}main.placeholder .phase{display:inline-block;margin-top:1rem;padding:.25rem .75rem;border:1px dashed var(--line);border-radius:999px;font-size:.8rem;color:var(--muted);background:var(--paper)}.auth-form{display:flex;flex-direction:column;gap:.9rem;margin:1.25rem 0;max-width:380px}.auth-form input{width:100%}.auth-form input:focus,.auth-form select:focus,.auth-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.auth-form button[type=submit]{color:#fff;border:none;font-weight:700;padding:.75rem 1rem;border-radius:999px;background:linear-gradient(180deg,var(--accent),var(--accent-strong))}.form-error{color:var(--danger-ink);font-size:.88rem}.beta-note{display:inline-block;background:var(--accent-tint);border:1px solid var(--cat-purple-edge);border-radius:8px;padding:.5rem .75rem;font-size:.88rem}.page-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.button-primary{display:inline-block;padding:.6rem 1.1rem;border-radius:999px;font-size:.92rem;font-weight:700;text-decoration:none;cursor:pointer;border:none;color:#fff;background:linear-gradient(180deg,var(--accent),var(--accent-strong))}.button-primary:hover{color:#fff;text-decoration:none;box-shadow:var(--shadow-sm)}.button-secondary{display:inline-block;padding:.55rem 1rem;border-radius:999px;font-size:.9rem;font-weight:600;cursor:pointer;background:var(--paper);border:1px solid var(--line);color:var(--ink-soft);text-decoration:none}.button-secondary:hover{border-color:var(--accent);text-decoration:none}.badge{display:inline-block;padding:.12rem .6rem;border-radius:999px;font-size:.72rem;font-weight:700;border:1px solid var(--line);color:var(--ink-soft);background:var(--paper)}.badge--voice{background:var(--cat-purple);color:var(--cat-purple-ink);border-color:var(--cat-purple-edge)}.badge--chat{background:var(--cat-blue);color:var(--cat-blue-ink);border-color:var(--cat-blue-edge)}.badge--active{background:var(--cat-green);color:var(--cat-green-ink);border-color:var(--cat-green-edge)}.badge--paused,.badge--saved{background:var(--cat-amber);color:var(--cat-amber-ink);border-color:var(--cat-amber-edge)}.badge--recoverable{background:var(--cat-pink);color:var(--cat-pink-ink);border-color:var(--cat-pink-edge)}.badge--completed,.badge--ended{background:var(--cat-green);color:var(--cat-green-ink);border-color:var(--cat-green-edge)}.badge--open{background:var(--cat-amber);color:var(--cat-amber-ink);border-color:var(--cat-amber-edge)}.badge--dismissed,.badge--failed{background:var(--cat-pink);color:var(--cat-pink-ink);border-color:var(--cat-pink-edge)}.badge--knowledge-mode{background:var(--accent-tint);color:var(--accent-strong);border-color:var(--cat-purple-edge)}.badge--tutor-mode{background:var(--paper);color:var(--ink-soft);border-color:var(--cat-purple-edge)}main.placeholder .session-list{display:grid;grid-gap:.75rem;gap:.75rem;margin:1.25rem 0;max-height:none;overflow:visible}.session-card{display:block;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:.95rem 1.1rem;text-decoration:none;color:var(--ink);box-shadow:var(--shadow-sm);transition:transform .12s,box-shadow .12s,border-color .12s}.session-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow);text-decoration:none}.session-card h3{margin:.35rem 0 .2rem;font-size:1.02rem}.session-card__meta{color:var(--muted);font-size:.82rem;margin:0}.session-card__badges{display:flex;gap:.4rem;flex-wrap:wrap}.session-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.session-header__controls{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.session-header__controls button[type=submit]:not(.button-secondary){color:#fff;border:none;font-weight:700;border-radius:999px;padding:.55rem 1.1rem;background:linear-gradient(180deg,var(--accent),var(--accent-strong))}.conversation-panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.25rem;margin:1rem 0;box-shadow:var(--shadow-sm)}.message-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.message{padding:.65rem .9rem;border-radius:12px;background:var(--cat-blue);border:1px solid var(--cat-blue-edge);max-width:85%}.message--user{align-self:flex-end;background:var(--cat-green);border-color:var(--cat-green-edge)}.message__role{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-soft);margin-bottom:.15rem}.message p{margin:0}.message__grounding{display:block;font-size:.75rem;color:var(--muted);margin-top:.25rem}.transcript-empty{color:var(--muted);font-style:italic}.tutor-input{display:flex;gap:.5rem;margin-top:1rem}.tutor-input input{flex:1 1}.tutor-input button{color:#fff;border:none;font-weight:700;border-radius:999px;padding:.55rem 1.2rem;background:linear-gradient(180deg,var(--accent),var(--accent-strong))}.tutor-input button:disabled,.tutor-input input:disabled{opacity:.55;cursor:default}.voice-panel{border:1px solid var(--cat-purple-edge);border-radius:var(--radius);padding:.75rem 1rem;margin-bottom:1rem;background:var(--accent-tint)}.voice-panel__status{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.voice-usage{font-size:.82rem;color:var(--ink-soft)}.voice-usage--warn{color:var(--cat-orange-ink,#b45309);font-weight:600}.voice-panel__notice{margin:.5rem 0 0;font-size:.88rem;color:var(--ink-soft)}.voice-panel__controls{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin:.75rem 0 1rem}.voice-panel__controls button:not(.button-secondary){color:#fff;border:none;font-weight:700;border-radius:999px;padding:.55rem 1.2rem;background:linear-gradient(180deg,var(--accent),var(--accent-strong));cursor:pointer}.voice-panel__controls button:disabled{opacity:.55;cursor:default}.voice-panel__mode{font-size:.82rem;color:var(--ink-soft);display:inline-flex;gap:.35rem;align-items:center}.voice-panel .message-list{margin-top:.5rem}.voice-panel__debug{margin-top:.75rem;font-size:.78rem;color:var(--ink-soft)}.voice-panel__debug summary{cursor:pointer}.voice-panel__debug ol{margin:.4rem 0 0;padding-left:1.1rem;max-height:180px;overflow-y:auto}.voice-panel__debug li{font-family:ui-monospace,monospace;margin-bottom:.15rem}.voice-panel__debug li.debug--warn{color:var(--cat-orange-ink,#b45309)}.voice-panel__debug li.debug--error{color:#b91c1c}.usage-meters{display:flex;flex-direction:column;gap:.9rem;margin:1.25rem 0 1.75rem}.usage-meter__head{display:flex;justify-content:space-between;gap:.75rem;flex-wrap:wrap;font-size:.9rem;margin-bottom:.35rem}.usage-meter__head span{color:var(--ink-soft)}.meter{height:10px;border-radius:999px;background:var(--accent-tint);border:1px solid var(--cat-purple-edge);overflow:hidden}.meter__fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent-strong));min-width:2px}.meter__fill.meter--warn{background:#d97706}.meter__fill.meter--over{background:#b91c1c}.usage-table{width:100%;border-collapse:collapse;font-size:.88rem}.usage-table td,.usage-table th{text-align:left;padding:.4rem .6rem;border-bottom:1px solid var(--cat-purple-edge)}.usage-table th{color:var(--ink-soft);font-size:.78rem;text-transform:uppercase;letter-spacing:.5px}.onboarding{min-height:100vh;display:grid;place-items:center;padding:1.5rem;background:var(--page,#faf6ef)}.onboarding__card{width:100%;max-width:480px;background:var(--paper);border:1px solid var(--cat-purple-edge);border-radius:var(--radius);padding:1.75rem;box-shadow:var(--shadow)}.onboarding__card h1{margin:.6rem 0 .4rem;font-size:1.5rem}.onboarding__card>p{color:var(--ink-soft);line-height:1.5}.onboarding__form,.settings-form{display:flex;flex-direction:column;gap:.85rem;margin-top:1.1rem}.onboarding__form label,.settings-form label{display:flex;flex-direction:column;gap:.3rem;font-size:.9rem;font-weight:600}.onboarding__form input,.onboarding__form select,.settings-form input,.settings-form select{font:inherit;font-weight:400;padding:.55rem .7rem;border-radius:8px;border:1px solid var(--cat-purple-edge);background:var(--page,#fff);color:var(--ink)}.onboarding__form button,.settings-form button{margin-top:.4rem;color:#fff;border:none;font-weight:700;border-radius:999px;padding:.6rem 1.3rem;cursor:pointer;align-self:flex-start;background:linear-gradient(180deg,var(--accent),var(--accent-strong))}.onboarding__note{margin:.4rem 0 0;font-size:.8rem;color:var(--muted);font-weight:400}.post-session{background:var(--paper);border:1px solid var(--cat-purple-edge);border-radius:var(--radius);padding:1.1rem 1.25rem;margin:1.25rem 0;box-shadow:var(--shadow)}.post-session h2{margin:0 0 .3rem;font-size:1.1rem}.post-session__hint{color:var(--ink-soft);font-size:.88rem}.post-session__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:.85rem;gap:.85rem;margin-top:.9rem}.post-session__action{text-align:left;padding:.85rem 1rem;border:none;border-radius:6px;cursor:pointer;display:flex;flex-direction:column;gap:.25rem;box-shadow:var(--shadow-sm);background:var(--note-yellow);color:var(--ink)}.post-session__action:nth-child(5n+2){background:var(--note-green)}.post-session__action:nth-child(5n+3){background:var(--note-pink)}.post-session__action:nth-child(5n+4){background:var(--note-purple)}.post-session__action:nth-child(5n){background:var(--note-blue)}.post-session__action:hover:not(:disabled){transform:translateY(-2px) rotate(-.5deg);box-shadow:var(--shadow)}.post-session__action:disabled{opacity:.65;cursor:default}.post-session__action strong{font-size:.92rem}.post-session__action span{font-size:.78rem;color:var(--ink-soft)}.summary-panel,.weakspots-panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.25rem;margin:1rem 0;box-shadow:var(--shadow-sm)}.artifact-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.9rem 1.1rem}.artifact-card__meta{color:var(--muted);font-size:.85rem}.empty-state{border:1px dashed var(--line);border-radius:var(--radius);padding:2rem;text-align:center;margin:1.5rem 0;color:var(--ink-soft);background:var(--paper)}.message--streaming{opacity:.97}.message__cursor{display:inline-block;width:.5ch;height:1em;margin-left:2px;vertical-align:text-bottom;background:var(--ink-soft);border-radius:1px;animation:tutor-cursor-blink 1s steps(2,start) infinite}@keyframes tutor-cursor-blink{to{visibility:hidden}}@media (prefers-reduced-motion:reduce){.message__cursor{animation:none;opacity:.6}}.err-screen{min-height:80vh;display:grid;place-items:center;padding:1.5rem}.err-card{max-width:26rem;text-align:center;background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:2rem 1.75rem;box-shadow:var(--shadow-sm)}.err-emoji{font-size:2rem;line-height:1}.err-card h1{font-size:1.25rem;margin:.25rem 0 .5rem}.err-card p{color:var(--ink-soft);font-size:.92rem;line-height:1.5;margin:0}.err-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.err-detail{text-align:left;font-size:.72rem;white-space:pre-wrap;overflow:auto;max-height:12rem;margin-top:1rem;opacity:.7;background:var(--accent-tint);border-radius:10px;padding:.6rem}.icon{display:block;flex:none}@keyframes tb-arc{0%,to{opacity:.25}50%{opacity:1}}@keyframes tb-think{0%,to{opacity:.2}50%{opacity:.95}}@keyframes tb-pop{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes tb-wave{0%,to{transform:rotate(-6deg)}50%{transform:rotate(22deg)}}.tb-arc{animation:tb-arc 1.4s ease-in-out infinite}.tb-think{animation:tb-think 1.8s ease-in-out infinite}.tb-pop{animation:tb-pop 1.6s ease-in-out infinite}.tb-wave{animation:tb-wave 1.5s ease-in-out infinite;transform-origin:106px 96px}@media (prefers-reduced-motion:reduce){.tb-arc,.tb-pop,.tb-think,.tb-wave{animation:none}}.desk-split{min-height:100vh;display:grid;grid-template-columns:620px 1fr}.desk-split__form{padding:2.5rem 4rem 3rem;display:flex;flex-direction:column}.desk-split__card{margin:auto 0;width:100%;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:2.1rem 2.1rem 1.9rem}.desk-split__card h1{margin:0 0 .5rem;font-size:1.9rem;font-weight:800;letter-spacing:-.6px}.desk-split__card>p{margin:0 0 1.35rem;font-size:.97rem;line-height:1.6;color:var(--ink-soft)}.desk-split__page{position:relative;border-left:1px solid var(--line);padding:3.5rem 3.5rem 3rem 2.75rem;overflow:hidden;background-color:var(--paper);background-image:radial-gradient(620px 420px at 85% 0,var(--accent-tint),transparent),repeating-linear-gradient(to bottom,transparent 0 calc(2.1rem - 1px),var(--paper-lines) calc(2.1rem - 1px),var(--paper-lines) 2.1rem)}.desk-split__eyebrow{font-size:.75rem;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--muted);margin-bottom:1.1rem}.desk-split__page>p{margin:0;max-width:26rem;font-size:1.06rem;line-height:1.65;color:var(--ink-soft);text-wrap:pretty}.desk-split__buddy{position:absolute;right:5.5rem;bottom:6rem}.desk-brand{display:flex;align-items:center;gap:.7rem}.desk-brand__mark{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(180deg,var(--accent),var(--accent-strong));color:#fffdf8}.desk-brand__name{font-size:1rem;font-weight:800}a.desk-brand{color:var(--ink)}a.desk-brand,a.desk-brand:hover{text-decoration:none}@media (max-width:1180px){.desk-split{grid-template-columns:540px 1fr}.desk-split__form{padding:2.5rem 3rem 3rem}}@media (max-width:1024px){.desk-split{grid-template-columns:1fr;place-items:center}.desk-split__form{width:100%;max-width:34rem;padding:2rem 1.5rem 3rem}.desk-split__page{display:none}}.desk-page{max-width:1160px;margin:0 auto;padding:2.5rem 1.5rem 4rem}.notice{display:flex;align-items:flex-start;gap:.7rem;border:1px solid transparent;border-radius:12px;padding:.8rem .95rem;margin-bottom:1.5rem;font-size:.9rem;line-height:1.5;font-weight:700}.notice .icon{margin-top:1px}.notice--invite{background:var(--accent-tint);color:var(--accent-strong);font-weight:600}.notice--info{background:var(--green-tint);color:var(--green-ink);border-color:var(--cat-green-edge)}.notice--warn{background:var(--amber-tint);color:var(--warn-ink);border-color:var(--amber)}.notice--danger{background:var(--danger-tint);color:var(--danger-ink);border-color:var(--danger)}.notice__sub{display:block;margin-top:.25rem;font-weight:400;color:var(--ink-soft)}.field{display:flex;flex-direction:column;gap:.4rem}.field__label{display:flex;align-items:baseline;justify-content:space-between;font-size:.81rem;font-weight:700;letter-spacing:.3px;color:var(--ink-soft);margin:0}.field input{width:100%;font:inherit;font-size:1rem;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:.85rem 1.25rem;transition:border-color .15s,box-shadow .15s}.field input::placeholder{color:var(--muted)}.field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.field--error .field__label{color:var(--danger-ink)}.field--error input{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-tint)}.field__error{margin:.15rem 0 0 1.25rem;font-size:.84rem;font-weight:700;color:var(--danger-ink)}.field__wrap{position:relative}.field__wrap input{padding-right:5rem}.field__reveal{position:absolute;top:50%;right:1.1rem;transform:translateY(-50%);display:inline-flex;align-items:center;gap:.35rem;background:none;border:none;padding:0;box-shadow:none;font-size:.81rem;font-weight:700;color:var(--accent-strong);cursor:pointer}.field__reveal:hover:not(:disabled){border:none;box-shadow:none;text-decoration:underline}.auth-fields{display:flex;flex-direction:column;gap:1.1rem}.auth-fields .start-btn{margin-top:.25rem;border-radius:999px}.auth-alt{font-size:.9rem;color:var(--ink-soft);margin:0}.auth-alt,.auth-foot{text-align:center;font-weight:600}.auth-foot{margin:.85rem 0 0;font-size:.87rem;color:var(--muted)}.start-btn.has-icon{display:inline-flex;align-items:center;justify-content:center;gap:.6rem}.start-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 14px 30px rgba(80,70,120,.22)}.start-btn:active:not(:disabled){transform:translateY(1px);box-shadow:var(--shadow-sm)}.auth-tile{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;margin-bottom:1.25rem}.auth-tiles{display:flex;gap:.75rem;margin-bottom:1.25rem}.auth-tiles .auth-tile{margin-bottom:0}.tile-blue{background:var(--cat-blue);color:var(--cat-blue-ink)}.tile-green{background:var(--cat-green);color:var(--cat-green-ink)}.tab-rail{display:flex;flex-direction:column;gap:.6rem;max-width:24rem}.tab-rail__tab{display:flex;align-items:center;gap:.8rem;background:var(--paper);border-left:1px solid var(--line);border:1px solid var(--line);border-left-width:4px;border-radius:0 14px 14px 0;padding:.85rem 1.1rem;margin-left:-1.9rem;opacity:.6}.tab-rail__num{width:26px;height:26px;flex:none;border-radius:999px;background:var(--line);color:var(--ink-soft);display:grid;place-items:center;font-size:.8rem;font-weight:800}.tab-rail__label{font-size:.95rem;font-weight:700}.tab-rail__meta{margin-left:auto;display:inline-flex;align-items:center;gap:.35rem;font-size:.74rem;font-weight:800;letter-spacing:.5px;text-transform:uppercase}.tab-rail__tab--current{opacity:1;border-left-color:var(--accent);margin-left:-3rem;box-shadow:var(--shadow-sm)}.tab-rail__tab--current .tab-rail__num{background:var(--accent-tint);color:var(--accent-strong)}.tab-rail__tab--current .tab-rail__meta{color:var(--accent-strong)}.tab-rail__tab--waiting .tab-rail__meta{color:var(--warn-ink)}.tab-rail__tab--done{opacity:1;background:var(--cat-green);border-color:var(--cat-green-edge);border-left-color:var(--green)}.tab-rail__tab--done .tab-rail__num{background:var(--green);color:#fffdf8}.tab-rail__tab--done .tab-rail__label{color:var(--ink-soft);text-decoration:line-through;-webkit-text-decoration-color:var(--cat-green-edge);text-decoration-color:var(--cat-green-edge)}.note__hand{line-height:1.25;color:var(--ink)}.hand-annotation,.note__hand{font-family:var(--font-hand),cursive;font-size:1.55rem}.hand-annotation{line-height:1.15;color:var(--hand-ink)}.desk-split__note-slot{position:absolute;left:2.75rem;bottom:3.5rem;max-width:19rem}.page-note{position:relative;border-radius:4px;padding:1.6rem 1.4rem 1.35rem;box-shadow:var(--shadow);max-width:19rem;transform:rotate(-1.2deg)}.page-note--tilt-r{transform:rotate(1.4deg)}.page-note--yellow{background:var(--note-yellow)}.page-note--green{background:var(--note-green)}.page-note--pink{background:var(--note-pink)}.page-note--purple{background:var(--note-purple)}.page-note--blue{background:var(--note-blue)}.page-note:before{content:"";position:absolute;top:-9px;left:50%;transform:translateX(-50%) rotate(-1.5deg);width:100px;height:22px;background:var(--tape);border-radius:2px;box-shadow:var(--shadow-sm)}.page-note__head{display:flex;align-items:center;gap:.55rem;margin-bottom:.5rem;color:var(--ink);font-size:.7rem;font-weight:800;letter-spacing:.6px;text-transform:uppercase}.landing{min-height:100vh}.landing__inner{max-width:1440px;margin:0 auto}.landing__bar{height:78px;padding:0 3.5rem;display:flex;align-items:center;justify-content:space-between}.landing__hero{padding:1.6rem 3.5rem 0;display:grid;grid-template-columns:545px 1fr;grid-gap:3.4rem;gap:3.4rem;align-items:start}.landing__hero-copy{padding-top:1.6rem}.landing__eyebrow{font-size:.75rem;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--muted);margin-bottom:1.1rem}.landing__hero h1{margin:0 0 1.25rem;font-size:4.75rem;line-height:.98;letter-spacing:-2.4px;font-weight:800}.landing__sub{margin:0 0 1.75rem;font-size:1.25rem;line-height:1.6;color:var(--ink-soft);max-width:29rem;text-wrap:pretty}.landing__cta-stack{display:flex;flex-direction:column;gap:.9rem;align-items:flex-start}.landing__cta-stack .start-btn{width:auto;padding:1rem 1.75rem;font-size:1.06rem}.landing__voice-note{margin-top:2.5rem;display:flex;align-items:center;gap:.6rem;font-size:.87rem;color:var(--muted);font-weight:600}.landing__voice-note .icon{color:var(--cat-purple-ink)}.landing__preview{position:relative;padding-top:.5rem}.landing__preview-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:1.25rem 1.25rem 1.1rem}.landing__preview-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.landing__transcript{border-radius:14px;padding:1.1rem 1rem;border:1px solid var(--line);display:flex;flex-direction:column;gap:.9rem;background-color:var(--paper);background-image:repeating-linear-gradient(to bottom,transparent 0 calc(2.1rem - 1px),var(--paper-lines) calc(2.1rem - 1px),var(--paper-lines) 2.1rem)}.landing__turn{display:flex;gap:.7rem;align-items:flex-start}.landing__turn--learner{justify-content:flex-end}.landing__avatar{width:38px;height:38px;flex:none;border-radius:999px;background:var(--cat-amber);display:grid;place-items:center;overflow:hidden}.landing__bubble{background:var(--cat-purple);color:var(--ink);border:1px solid var(--cat-purple-edge);border-radius:16px 16px 16px 6px;padding:.75rem .95rem;font-size:.97rem;line-height:1.55;max-width:27rem}.landing__bubble--learner{background:var(--paper);border-color:var(--line);box-shadow:var(--shadow-sm);border-radius:16px 16px 6px 16px;max-width:24rem}.landing__modes{margin-top:1rem;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.landing__mode{display:inline-flex;align-items:center;gap:.5rem;background:var(--paper);border:1px solid var(--line);color:var(--ink-soft);border-radius:999px;padding:.6rem 1rem;font-size:.87rem;font-weight:700}.landing__mode--voice{background:linear-gradient(180deg,var(--accent),var(--accent-strong));color:#fffdf8;border:none;box-shadow:var(--shadow-sm)}.landing__mode-meter{display:inline-flex;align-items:flex-end;gap:2.5px;height:15px}.landing__mode-meter i{width:3px;height:15px;border-radius:2px;background:rgba(255,253,248,.9);transform-origin:bottom;animation:tbt-bar .9s ease-in-out infinite}.landing__mode-meter i:nth-child(2){animation-delay:.15s}.landing__mode-meter i:nth-child(3){animation-delay:.3s}.landing__mode-meter i:nth-child(4){animation-delay:.45s}.landing__mode-note{margin-left:auto;font-size:.81rem;color:var(--muted);font-weight:600}@keyframes tbt-bar{0%,to{transform:scaleY(.35)}50%{transform:scaleY(1)}}@media (prefers-reduced-motion:reduce){.landing__mode-meter i{animation:none;transform:scaleY(.7)}}.landing__annotation{position:absolute;top:-3.5rem;left:-6.5rem;width:10.5rem;transform:rotate(-6deg);z-index:3}.landing__loop{position:relative;margin:2.4rem 3.5rem 0;transform:rotate(-.45deg);border:1px solid var(--line);border-radius:6px;box-shadow:var(--shadow);padding:1.9rem 0 1.4rem;display:grid;grid-template-columns:repeat(3,1fr);background-color:var(--paper);background-image:repeating-linear-gradient(to bottom,transparent 0 calc(2.1rem - 1px),var(--paper-lines) calc(2.1rem - 1px),var(--paper-lines) 2.1rem);background-position:0 30px}.landing__loop-step{padding:0 1.9rem}.landing__loop-step+.landing__loop-step{border-left:1px dashed var(--line)}.landing__loop-num{display:flex;align-items:center;gap:.7rem;height:2.1rem;font-family:var(--font-hand),cursive;font-size:2.4rem;font-weight:700;line-height:1;color:var(--hand-ink)}.landing__loop-step h3{margin:0;font-size:1.12rem;font-weight:700;line-height:2.1rem}.landing__loop-step p{margin:0;font-size:.94rem;line-height:2.1rem;color:var(--ink-soft)}.landing__library{padding:2.1rem 3.5rem 4.5rem}.landing__library-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:1.5rem;flex-wrap:wrap;gap:.5rem}.landing__library-head h2{margin:0;font-size:1.3rem;font-weight:800}.landing__library-head p{margin:0;font-size:.88rem;color:var(--ink-soft);font-weight:600}.landing__courses{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1.6rem;gap:1.6rem;align-items:start}.course-note{position:relative;min-height:200px;padding:1.25rem 1.4rem 1.6rem;border-radius:2px 2px 16px 2px;box-shadow:0 1px 2px rgba(80,70,120,.1),7px 14px 22px -8px rgba(80,70,120,.3)}.course-note__tag{font-size:.69rem;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.75rem}.course-note h3{margin:0 0 .5rem;font-size:1.12rem;font-weight:800;line-height:1.3;letter-spacing:-.2px}.course-note p{margin:0;font-size:.87rem;line-height:1.55;color:var(--ink-soft)}@media (max-width:1180px){.landing__hero{grid-template-columns:1fr;gap:2rem}.landing__hero h1{font-size:3.6rem}.landing__annotation{display:none}.landing__courses{grid-template-columns:repeat(2,1fr)}}@media (max-width:720px){.landing__bar,.landing__hero,.landing__library{padding-left:1.25rem;padding-right:1.25rem}.landing__loop{margin-left:1.25rem;margin-right:1.25rem;grid-template-columns:1fr;transform:none}.landing__loop-step+.landing__loop-step{border-left:none;border-top:1px dashed var(--line)}.landing__hero h1{font-size:2.8rem;letter-spacing:-1.2px}.landing__courses{grid-template-columns:1fr}.course-note{transform:none!important}}