.gmark{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:2px solid currentColor;border-radius:6px;font-family:var(--display);font-weight:800;font-size:13px;line-height:1}:root{--paper: #FAF6EF;--paper-2: #F1EADB;--ink: #17150F;--ink-soft: #56524A;--rule: #E4DCCB;--rule-ink: #17150F;--go: #0E7A64;--go-wash: #DCEFE8;--pen: #C0322B;--pen-wash: #F6DEDA;--display: "Fraunces", ui-serif, Georgia, serif;--sans: "Hanken Grotesk", ui-sans-serif, system-ui, -apple-system, sans-serif;--mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--s7: 48px;--s8: 64px;--s9: 96px;--r: 10px;--edge: 2.5px solid var(--rule-ink)}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;background-image:radial-gradient(circle at 12% 18%,rgba(14,122,100,.05),transparent 42%),radial-gradient(circle at 88% 8%,rgba(192,50,43,.045),transparent 40%);overflow-x:hidden}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}h1,h2,h3{font-family:var(--display);font-weight:900;line-height:1.02;letter-spacing:-.02em}button,a.tap{min-height:46px}:focus-visible{outline:3px solid var(--go);outline-offset:3px}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes pulse-caret{0%,to{transform:scale(1);opacity:.55}50%{transform:scale(1.35);opacity:1}}.rise{opacity:0;animation:rise .5s cubic-bezier(.22,1,.36,1) forwards}.d1{animation-delay:.05s}.d2{animation-delay:.12s}.d3{animation-delay:.2s}.d4{animation-delay:.3s}.d5{animation-delay:.42s}.d6{animation-delay:.55s}@media(prefers-reduced-motion:reduce){.rise{opacity:1;animation:none}*{animation-duration:.001ms!important;transition-duration:.001ms!important}}.wrap{max-width:480px;margin:0 auto;padding:0 var(--s4) var(--s9)}.caret{display:inline-block;width:9px;height:9px;margin-left:4px;background:var(--go);border-radius:3px;vertical-align:baseline;transform:translateY(-1px)}.caret.thinking{animation:pulse-caret 1s ease-in-out infinite}.nav{display:flex;align-items:center;justify-content:space-between;padding:var(--s5) 0 var(--s6)}.mark{font-family:var(--display);font-weight:900;font-size:22px;letter-spacing:-.03em}.mark.small{font-size:18px}.nav-cta{display:inline-flex;align-items:center;font-family:var(--sans);font-weight:700;font-size:14px;padding:8px 14px;border:var(--edge);border-radius:999px;transition:transform .12s ease,background .12s ease}.nav-cta:active{transform:scale(.95);background:var(--ink);color:var(--paper)}.hero{padding:var(--s4) 0 var(--s7)}.eyebrow{font-family:var(--mono);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--go);margin-bottom:var(--s4)}.hero h1{font-size:52px;margin-bottom:var(--s4)}.lede{font-size:18px;color:var(--ink-soft);max-width:30ch;margin-bottom:var(--s6)}.lede em{font-style:normal;color:var(--ink);font-weight:600;box-shadow:inset 0 -.5em 0 var(--go-wash)}.cta{display:inline-flex;align-items:center;font-family:var(--display);font-weight:800;font-size:19px;color:var(--paper);background:var(--ink);padding:14px 24px;border-radius:var(--r);box-shadow:4px 4px 0 var(--go);transition:transform .12s ease,box-shadow .12s ease}.cta:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--go)}.micro{font-family:var(--mono);font-size:12.5px;color:var(--ink-soft);margin-top:var(--s4)}.demo{background:var(--paper);border:var(--edge);border-radius:var(--r);box-shadow:5px 5px 0 var(--ink);padding:var(--s5);margin-bottom:var(--s8)}.demo-head{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin-bottom:var(--s4)}.demo-work{font-family:var(--mono);font-size:15px;line-height:1.9;margin-bottom:var(--s4)}.demo-work .line.dim{color:var(--ink-soft)}.pen-strike{color:var(--pen);text-decoration-color:var(--pen);text-decoration-thickness:2px}.demo-say{font-size:16px;line-height:1.5;padding-top:var(--s4);border-top:1.5px dashed var(--rule)}.demo-say b{font-weight:700}.demo-say .go-txt{color:var(--go);font-family:var(--mono)}.why{margin-bottom:var(--s8)}.why h2{font-size:34px;margin-bottom:var(--s6);max-width:15ch}.cards{list-style:none;display:grid;gap:var(--s4)}.card{background:var(--paper-2);border:var(--edge);border-radius:var(--r);padding:var(--s5)}.card>p{color:var(--ink-soft);margin-bottom:var(--s3)}.card-tag{display:inline-block;font-family:var(--mono);font-size:12px;font-weight:600;padding:3px 9px;border-radius:6px;margin-bottom:var(--s3);color:var(--paper);background:var(--pen)}.card-fix{color:var(--ink)!important;font-weight:500;margin-bottom:0!important}.join{text-align:center;padding:0 0 var(--s7)}.join h2{font-size:36px;margin-bottom:var(--s4)}.join-lede{color:var(--ink-soft);max-width:32ch;margin:0 auto var(--s6)}.join-form{display:flex;gap:var(--s2);max-width:380px;margin:0 auto}.join-form input{flex:1;font-family:var(--sans);font-size:16px;padding:14px var(--s4);border:var(--edge);border-radius:var(--r);background:var(--paper);color:var(--ink)}.join-form input:focus{outline:none;box-shadow:3px 3px 0 var(--go)}.join-form button{font-family:var(--display);font-weight:800;font-size:17px;color:var(--paper);background:var(--go);padding:0 22px;border-radius:var(--r);min-height:52px;transition:transform .12s ease}.join-form button:active{transform:scale(.96)}.joined{font-size:17px;font-weight:600;color:var(--go)}.foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s3);padding-top:var(--s6);border-top:1.5px solid var(--rule)}.foot-note{font-family:var(--mono);font-size:12px;color:var(--ink-soft)}.foot-legal{display:flex;gap:var(--s4)}.foot-legal a{font-family:var(--sans);font-weight:700;font-size:13px;color:var(--ink-soft);text-decoration:none}.foot-legal a:hover{color:var(--go)}@media(min-width:620px){.wrap{max-width:640px}.hero h1{font-size:68px}.hero{padding-top:var(--s6)}}@media(min-width:900px){.wrap{max-width:1080px;padding:0 var(--s6) var(--s9)}.nav{padding:var(--s6) 0 var(--s7)}.mark{font-size:26px}.nav-cta{font-size:15px;padding:10px 18px}.nav-cta:hover{background:var(--ink);color:var(--paper)}.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:var(--s8);align-items:center;padding:var(--s5) 0 var(--s8)}.hero{padding:0}.hero h1{font-size:76px;line-height:.94}.lede{font-size:20px;max-width:34ch}.cta{font-size:21px;padding:16px 30px}.cta:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--go)}.demo{margin-bottom:0;padding:var(--s6);box-shadow:8px 8px 0 var(--ink);transform:rotate(-.6deg)}.demo-work{font-size:16.5px}.demo-say{font-size:17px}.why{margin-bottom:var(--s8)}.why h2{font-size:46px;max-width:20ch}.cards{grid-template-columns:repeat(3,1fr);gap:var(--s5)}.card{padding:var(--s6)}.join{padding:0 0 var(--s8)}.join h2{font-size:48px}.join-lede{font-size:18px;max-width:40ch}.join-form{max-width:440px}.join-form button:hover{transform:translateY(-2px)}.foot-legal a{font-size:14px}}@media(min-width:1280px){.wrap{max-width:1180px}.hero h1{font-size:88px}.hero-grid{gap:var(--s9)}}@media(hover:none){.cta:hover,.nav-cta:hover,.join-form button:hover{transform:none;box-shadow:4px 4px 0 var(--go)}}.schedule-setup{display:grid;gap:18px;margin:18px 0}.schedule-setup p{font-size:15px;line-height:1.55}.schedule-setup fieldset{border:0;padding:0}.schedule-setup legend{font-weight:650;margin-bottom:10px}.schedule-days{display:flex;gap:6px;flex-wrap:wrap}.schedule-days button{min-height:44px;min-width:42px;border:1px solid var(--rule);border-radius:8px;padding:8px}.schedule-days button[aria-pressed=true]{background:var(--go);color:#fff}.schedule-setup label{display:grid;gap:8px;font-weight:600}.schedule-setup :is(input,select){min-height:44px;width:100%;font-size:16px;color:var(--ink);border:1px solid var(--rule);border-radius:8px;padding:8px;background:var(--paper)}.schedule-note,.guide-disclaimer{color:var(--ink-soft);font-size:13px!important}.schedule-actions{display:flex;flex-wrap:wrap;gap:10px}.assignment-guide{padding:22px;background:#fffdf8;border:1px solid var(--rule);border-radius:16px;margin:22px 0}.assignment-guide h2{font-family:var(--display);font-size:25px}.assignment-guide p{margin:12px 0;line-height:1.6}.guide-window{background:var(--go-wash);color:var(--go);padding:12px;border-radius:8px;font-size:14px}.guide-content{line-height:1.7;overflow-wrap:anywhere}.guide-content .struct-h{font-family:var(--display);font-size:21px;line-height:1.3;color:var(--ink);margin:28px 0 12px;padding-top:16px}.guide-content .struct-p{max-width:68ch;margin:0 0 16px;font-size:16px;line-height:1.65}.guide-content :is(.struct-ul,.struct-ol){padding-left:22px;margin:12px 0 20px}.guide-content :is(.struct-ul,.struct-ol) li{margin:8px 0}.study-window{margin:14px 0;padding:14px;border-radius:10px;background:var(--go-wash);font-size:14px;line-height:1.5}.study-window>button{min-height:44px;color:var(--go);font-weight:650}.resources-course{font-size:14px;color:var(--ink-soft);margin:18px 0 12px}.resource-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.resource-options button{min-height:48px;border:1px solid var(--rule);border-radius:10px;padding:10px;text-align:left;font-weight:650;font-size:14px;background:var(--paper)}.resource-options button:first-child{grid-column:1 / -1}.resource-options button[aria-pressed=true]{background:var(--go);color:#fff;border-color:var(--go)}.resource-panel{padding:20px;margin:18px 0;border:1px solid var(--rule);border-radius:14px;background:#fffdf8}.resource-panel h2{font-family:var(--display);font-size:24px}.resource-panel p{margin:12px 0;font-size:14px;line-height:1.6}.resource-panel ul{list-style:none;margin:0;padding:0}.resource-panel a{display:flex;flex-direction:column;gap:8px;padding:16px 0;border-bottom:1px solid var(--rule);color:var(--go);text-decoration:none;min-height:48px}.resource-panel a span{color:var(--ink-soft);font-size:13px}.guide-lesson{border-top:1px solid var(--rule);padding:12px 0}.guide-lesson summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:700}.guide-lesson .btn-ghost{margin:8px 0}.home{max-width:480px;margin:0 auto;padding:0 var(--s4) var(--s9)}.home-top{display:flex;align-items:center;justify-content:space-between;padding:var(--s5) 0 var(--s4)}.home .mark{font-family:var(--display);font-weight:900;font-size:20px;letter-spacing:-.03em;color:var(--ink)}.v-switch{display:flex;gap:4px;background:var(--paper-2);border:1.5px solid var(--rule);border-radius:999px;padding:4px;margin-bottom:var(--s6)}.vbtn{flex:1;font-family:var(--sans);font-weight:700;font-size:13px;padding:8px 0;border-radius:999px;color:var(--ink-soft);min-height:38px}.vbtn.on{background:var(--ink);color:var(--paper)}.home-eyebrow{font-family:var(--mono);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--go);margin-bottom:var(--s2)}.home-h1{font-family:var(--display);font-weight:900;font-size:40px;letter-spacing:-.02em;margin-bottom:var(--s3)}.home-say{font-size:15.5px;color:var(--ink-soft);max-width:34ch;margin-bottom:var(--s6)}.agenda{list-style:none;display:grid;gap:var(--s3)}.ag-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--s4);border:var(--edge);border-radius:var(--r);padding:var(--s4);background:var(--paper);transition:transform .12s ease,box-shadow .12s ease}.ag-row:active{transform:translate(1px,1px)}.ag-period{font-family:var(--mono);font-weight:700;font-size:13px;color:var(--paper);background:var(--ink);padding:6px 9px;border-radius:7px}.ag-name{display:block;font-family:var(--display);font-weight:800;font-size:18px}.ag-status{display:block;font-size:12.5px;color:var(--ink-soft);margin-top:2px}.ag-pct{font-family:var(--display);font-weight:900;font-size:20px;color:var(--go)}.ag-row.t-weak{box-shadow:inset 4px 0 0 var(--pen)}.ag-row.t-weak .ag-pct{color:var(--pen)}.ag-row.t-mid .ag-pct{color:#b8860b}.grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}.tile{display:flex;flex-direction:column;border:var(--edge);border-radius:var(--r);padding:var(--s4);background:var(--paper);box-shadow:3px 3px 0 var(--ink);min-height:128px;transition:transform .12s ease,box-shadow .12s ease}.tile:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}.tile-top{display:flex;justify-content:space-between;align-items:center}.tile-p{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--ink-soft)}.tile-pct{font-family:var(--display);font-weight:900;font-size:17px;color:var(--go)}.tile-name{font-family:var(--display);font-weight:900;font-size:24px;letter-spacing:-.02em;margin:var(--s3) 0 auto}.tile-bar{height:7px;background:var(--paper-2);border-radius:999px;overflow:hidden;margin:var(--s3) 0 var(--s2);border:1px solid var(--rule)}.tile-bar span{display:block;height:100%;background:var(--go);border-radius:999px}.tile-when{font-family:var(--mono);font-size:11.5px;color:var(--ink-soft)}.tile.t-weak{box-shadow:3px 3px 0 var(--pen);border-color:var(--pen)}.tile.t-weak .tile-pct{color:var(--pen)}.tile.t-weak .tile-bar span{background:var(--pen)}.tile.t-mid .tile-pct{color:#b8860b}.tile.t-mid .tile-bar span{background:#b8860b}.tile-add{align-items:center;justify-content:center;box-shadow:none;border-style:dashed;background:transparent}.tile-plus{font-family:var(--display);font-size:32px;color:var(--ink-soft)}.tile-name.add{font-size:15px;color:var(--ink-soft);margin:4px 0 0}.focus-hero{display:flex;flex-direction:column;gap:4px;background:var(--ink);color:var(--paper);border-radius:var(--r);padding:var(--s5);box-shadow:5px 5px 0 var(--pen);margin-bottom:var(--s6)}.fh-kicker{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.06em;opacity:.85}.fh-name{font-family:var(--display);font-weight:900;font-size:30px;margin-top:var(--s2)}.fh-line{font-size:14.5px;opacity:.85;margin-bottom:var(--s4)}.fh-cta{font-family:var(--display);font-weight:800;font-size:17px;color:var(--paper)}.focus-list{list-style:none;display:grid;gap:var(--s2)}.fl-row{display:grid;grid-template-columns:1fr auto auto;align-items:baseline;gap:var(--s4);padding:var(--s4);border:1.5px solid var(--rule);border-radius:var(--r);background:var(--paper)}.fl-row:active{background:var(--paper-2)}.fl-name{font-family:var(--display);font-weight:800;font-size:16px}.fl-meta{font-family:var(--mono);font-size:12px;color:var(--ink-soft)}.fl-pct{font-family:var(--display);font-weight:900;font-size:16px;color:var(--go)}.fl-row.t-weak .fl-pct{color:var(--pen)}.fl-row.t-mid .fl-pct{color:#8b6508}.fl-row.t-none .fl-pct{color:var(--ink-soft)}@media(min-width:900px){.home{max-width:900px;padding-left:var(--s7);padding-right:var(--s7)}.focus-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3)}.focus-list li{margin:0}}@media(min-width:1280px){.home{max-width:1040px}.focus-list{grid-template-columns:repeat(3,minmax(0,1fr))}}.home-top-right{display:flex;align-items:center;gap:var(--s3)}.home-cal-link{font-family:var(--sans);font-weight:700;font-size:14px;color:var(--ink-soft);text-decoration:none;padding:8px 12px;border-radius:999px;border:var(--edge);min-height:36px;display:inline-flex;align-items:center}.home-cal-link:hover{color:var(--ink);border-color:var(--go)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.hm-sec{margin-top:var(--s6)}.hm-sec+.hm-sec{margin-top:28px}.hm-sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s3);margin-bottom:var(--s3)}.hm-sec-head h2{font-family:var(--display);font-weight:900;font-size:21px;letter-spacing:-.02em}.hm-sec-head a{font-family:var(--mono);font-size:12px;color:var(--go);font-weight:600}.hm-weekbar{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);margin-bottom:8px}.hm-weekbar button{min-width:44px;min-height:40px;border-radius:var(--r);border:1.5px solid var(--rule);background:var(--paper);font-size:17px;color:var(--ink)}.hm-weekbar .hm-today{flex:1;font-family:var(--mono);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.hm-weekbar button:active{transform:translateY(1px)}.hm-week{list-style:none;display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.hm-day{position:relative;width:100%;display:flex;flex-direction:column;align-items:center;gap:2px;min-height:56px;padding:7px 2px;border-radius:var(--r);border:1.5px solid transparent;background:var(--paper-2);color:var(--ink)}.hm-day-name{font-family:var(--mono);font-size:10px;text-transform:uppercase;color:var(--ink-soft)}.hm-day-num{font-family:var(--display);font-weight:800;font-size:15px}.hm-day-dot{font-family:var(--mono);font-size:10px;line-height:1;color:var(--go);font-weight:700}.hm-day.is-today .hm-day-num{color:var(--go)}.hm-day.on{background:var(--ink);border-color:var(--ink);color:var(--paper)}.hm-day.on .hm-day-name,.hm-day.on .hm-day-dot{color:var(--paper)}.hm-day:focus-visible{outline:none;box-shadow:0 0 0 3px var(--go-wash)}.hm-agenda{margin-top:var(--s3);padding:var(--s4);border:1.5px solid var(--rule);border-radius:var(--r);background:var(--paper)}.hm-agenda-head{font-family:var(--mono);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin-bottom:6px}.hm-agenda-list{list-style:none;display:grid;gap:6px}.hm-agenda-list a{display:flex;flex-direction:column;gap:2px;padding:9px 0;text-decoration:none;color:var(--ink)}.hm-agenda-list b{font-size:15px}.hm-agenda-list span{font-family:var(--mono);font-size:11.5px;color:var(--ink-soft);text-transform:capitalize}.hm-quiet{font-size:13.5px;color:var(--ink-soft);line-height:1.5}.hm-add{display:inline-block;margin-top:var(--s3);font-family:var(--display);font-weight:800;font-size:14px;color:var(--go)}.hm-plan-date select{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--go);background:var(--paper);border:1.5px solid var(--rule);border-radius:var(--r);padding:5px 8px;min-height:34px}.hm-budget{font-size:13.5px;color:var(--ink-soft);line-height:1.5;margin-bottom:var(--s3)}.hm-budget a{color:var(--go);font-weight:700}.hm-shortfall{font-size:13px;color:var(--pen);line-height:1.5;margin-bottom:var(--s3);max-width:50ch}.hm-plan{list-style:none;display:grid;gap:10px}.hm-card{padding:var(--s4);border:var(--edge);border-radius:var(--r);background:var(--paper);box-shadow:3px 3px 0 var(--ink)}.hm-card-top{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);margin-bottom:4px}.hm-card-label{font-family:var(--display);font-weight:800;font-size:16.5px;line-height:1.25;margin-bottom:4px}.hm-card-why{font-size:12.5px;color:var(--ink-soft);line-height:1.45;margin-bottom:var(--s3)}.hm-card-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--s3)}.hm-start{font-family:var(--display);font-weight:800;font-size:14.5px;color:#fff;background:var(--go);border-radius:var(--r);padding:10px 16px;min-height:44px;display:inline-flex;align-items:center;text-decoration:none}.hm-card-more{display:flex;gap:6px}.hm-card-more button{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--ink-soft);border:1.5px solid var(--rule);border-radius:var(--r);background:var(--paper);min-height:44px;padding:0 12px}.hm-card-more button:active{transform:translateY(1px)}.hm-more{margin-top:var(--s3);font-family:var(--mono);font-size:12.5px;font-weight:600;color:var(--go);background:none;min-height:44px}.hm-done{list-style:none;margin-top:var(--s3);display:grid;gap:4px}.hm-done li{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);font-size:13px;color:var(--ink-soft)}.hm-done li span{text-decoration:line-through}.hm-done button{font-family:var(--mono);font-size:12px;color:var(--go);background:none;min-height:44px;padding:0 6px}.hm-classes{list-style:none;display:grid;gap:10px}.hm-class{position:relative;border:var(--edge);border-radius:var(--r);background:var(--paper);min-height:92px}.hm-class-main{display:flex;flex-direction:column;gap:3px;padding:var(--s4) 84px var(--s4) var(--s4);text-decoration:none;color:var(--ink);min-height:92px}.hm-class-name{font-family:var(--display);font-weight:800;font-size:17px}.hm-class-next{font-size:13px;color:var(--ink-soft)}.hm-class-unit{font-family:var(--mono);font-size:11.5px;color:var(--go)}.hm-class-change{position:absolute;top:50%;right:var(--s4);transform:translateY(-50%);font-family:var(--mono);font-size:11.5px;font-weight:700;color:var(--ink-soft);border:1.5px solid var(--rule);border-radius:var(--r);padding:9px 11px;min-height:40px;display:inline-flex;align-items:center;text-decoration:none;background:var(--paper)}.hm-class-change:focus-visible{outline:none;box-shadow:0 0 0 3px var(--go-wash)}.hm-class.t-weak{border-left:5px solid var(--pen)}.hm-class.t-strong{border-left:5px solid var(--go)}.hm-exam{margin-top:var(--s3);font-family:var(--mono);font-size:11.5px;color:var(--ink-soft)}@media(prefers-reduced-motion:reduce){.hm-day,.hm-card-more button,.hm-weekbar button{transition:none}}@media(min-width:720px){.hm-sec{max-width:620px}}.schedule-home{max-width:720px;padding:0 20px 112px}.schedule-home .home-top{padding:22px 0 18px}.schedule-home .avatar{display:grid;place-items:center;border:1px solid var(--rule);width:44px;height:44px;background:transparent}.schedule-home .home-cal-link{border:0;min-height:44px;font-size:15px}.schedule-home .hm-sec{max-width:none;margin-top:28px}.schedule-home .hm-sec+.hm-sec{margin-top:32px}.schedule-home .hm-sec-head{align-items:center;gap:12px;margin-bottom:16px}.schedule-home .hm-sec-head h1,.schedule-home .hm-sec-head h2{font-family:var(--display);font-size:25px;font-weight:750;line-height:1.2;letter-spacing:-.035em}.schedule-home .hm-sec-head h1{font-size:32px}.schedule-home .hm-sec-head a{font-family:var(--sans);font-size:14px;font-weight:650;min-height:44px;display:inline-flex;align-items:center;flex-shrink:0}.schedule-home .hm-calendar{margin-top:4px;padding:22px;background:#fffdf8;border:1px solid var(--rule);border-radius:22px}.schedule-home .hm-weekbar{gap:4px;margin-bottom:18px}.schedule-home .hm-month{margin-right:auto;font-size:14px;font-weight:600;color:var(--ink-soft)}.schedule-home .hm-weekbar button{min-height:44px;min-width:36px;background:transparent;border:0;border-radius:8px}.schedule-home .hm-weekbar .hm-today{flex:initial;padding:0 8px;font-family:var(--sans);font-size:13px;letter-spacing:0;text-transform:none}.schedule-home .hm-week{gap:2px}.schedule-home .hm-day{min-height:78px;padding:10px 0 8px;gap:5px;border-radius:12px;background:transparent;transition:background-color .16s ease,color .16s ease}.schedule-home .hm-day-name{font-family:var(--sans);font-size:12px;text-transform:none}.schedule-home .hm-day-num{font-family:var(--sans);font-size:20px;font-weight:650}.schedule-home .hm-day.on{background:var(--go);border-color:var(--go)}.schedule-home .hm-day.on .hm-day-num{color:#fff}.schedule-home .hm-day-dot{height:12px;font-family:var(--sans)}.schedule-home .hm-agenda{border:0;border-top:1px solid var(--rule);border-radius:0;padding:16px 0 0;margin-top:18px;background:transparent}.schedule-home .hm-agenda-head{font-family:var(--sans);text-transform:none;letter-spacing:0;font-size:14px;font-weight:650;color:var(--ink)}.schedule-home .hm-quiet{font-size:14px;line-height:1.6}.schedule-home .hm-agenda-list a{gap:5px}.schedule-home .hm-agenda-list span{font-family:var(--sans);font-size:13px}.schedule-home .hm-add{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;background:var(--go);color:#fff;border-radius:12px;font-family:var(--sans);font-size:15px;font-weight:650;text-decoration:none;margin-top:18px}.schedule-home .hm-plan-date select{min-height:44px;max-width:126px;font-family:var(--sans);font-size:14px;background:transparent;border-radius:10px}.schedule-home .hm-budget{font-size:14px;margin:-5px 0 16px}.schedule-home .hm-budget b{color:var(--ink)}.schedule-home .hm-shortfall{color:var(--ink-soft);font-size:13px}.schedule-home .hm-plan{gap:14px}.schedule-home .hm-card{padding:20px;border:1px solid var(--rule);border-radius:16px;background:#fffdf8;box-shadow:none}.schedule-home .hm-card:first-child{border-left:4px solid var(--go);padding-left:17px}.schedule-home .hm-card-top{display:flex;justify-content:space-between;align-items:start;gap:12px;font-family:var(--sans);font-size:13px;letter-spacing:0;text-transform:none;margin-bottom:10px}.schedule-home .hm-duration{white-space:nowrap;color:var(--go)}.schedule-home .hm-card-label{font-family:var(--sans);font-size:19px;font-weight:650;line-height:1.35;margin-bottom:7px}.schedule-home .hm-card-why{font-size:14px;line-height:1.5;margin-bottom:16px}.schedule-home .hm-card-actions{gap:6px;flex-wrap:wrap}.schedule-home .hm-start{font-family:var(--sans);font-size:14px;font-weight:650;border-radius:10px;padding:10px 12px}.schedule-home .hm-card-more{gap:0}.schedule-home .hm-card-more button{font-family:var(--sans);border:0;background:transparent;padding:0 8px;font-size:13px}.schedule-home .hm-more{font-family:var(--sans);font-size:14px}.schedule-home .hm-empty{border:1.5px dashed var(--go);border-radius:16px;padding:22px;background:var(--go-wash)}.schedule-home .hm-empty-title{font-family:var(--display);font-size:21px;line-height:1.3;margin-bottom:8px}.schedule-home .hm-empty-link{color:var(--go);display:inline-flex;align-items:center;min-height:44px;margin-top:8px;font-size:14px;font-weight:700}.schedule-home .hm-classes{gap:12px}.schedule-home .hm-class{border:1px solid var(--rule);border-radius:16px;background:#fffdf8;overflow:hidden}.schedule-home .hm-class-main{padding:18px 38px 20px 20px;min-height:128px;gap:6px}.schedule-home .hm-class-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--ink-soft)}.schedule-home .hm-class-meta>span{margin-left:auto}.schedule-home .hm-class-name{font-family:var(--sans);font-size:21px;font-weight:650;line-height:1.3;letter-spacing:-.02em}.schedule-home .hm-class-next{font-size:14px;line-height:1.4}.schedule-home .hm-class-unit{font-family:var(--sans);font-size:13px;line-height:1.4}.schedule-home .hm-class-chevron{position:absolute;right:17px;top:50%;transform:translateY(-50%);font-size:26px;color:var(--ink-soft)}.schedule-home .hm-exam{font-family:var(--sans);font-size:13px}.schedule-home :is(button,a,select):focus-visible{outline:3px solid var(--go);outline-offset:3px;box-shadow:none}@media(hover:hover){.schedule-home .hm-class:hover,.schedule-home .hm-weekbar button:hover{background:var(--go-wash)}.schedule-home .hm-add:hover,.schedule-home .hm-start:hover{filter:brightness(.92)}}@media(max-width:400px){.schedule-home{padding-left:14px;padding-right:14px}.schedule-home .hm-calendar{padding:16px}.schedule-home .hm-sec-head h2{font-size:22px}.schedule-home .hm-card{padding:16px}.schedule-home .hm-month{font-size:13px}}@media(prefers-reduced-motion:reduce){.schedule-home .hm-day{transition:none}}.onb{max-width:480px;margin:0 auto;padding:0 var(--s4) var(--s9);min-height:100vh}.onb-top{display:flex;align-items:center;justify-content:space-between;padding:var(--s5) 0 var(--s6)}.onb .mark{font-family:var(--display);font-weight:900;font-size:20px;letter-spacing:-.03em;color:var(--ink)}.onb-dots{display:flex;gap:7px}.dot{width:8px;height:8px;border-radius:50%;background:var(--paper-2);border:1.5px solid var(--rule)}.dot.on{background:var(--go);border-color:var(--go);transform:scale(1.15)}.dot.done{background:var(--ink);border-color:var(--ink)}.onb-body{animation:rise .4s ease both}.onb-kicker{font-family:var(--mono);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--go);margin-bottom:var(--s2)}.onb-h1{font-family:var(--display);font-weight:900;font-size:34px;letter-spacing:-.02em;margin-bottom:var(--s3)}.onb-say{font-size:15px;color:var(--ink-soft);max-width:40ch;margin-bottom:var(--s6);line-height:1.5}.onb-add{display:flex;gap:var(--s2);margin-bottom:var(--s4)}.onb-input{flex:1;font-family:var(--sans);font-size:16px;padding:12px 14px;border:var(--edge);border-radius:var(--r);background:var(--paper);color:var(--ink);min-height:48px}.onb-input:focus{outline:none;box-shadow:0 0 0 3px var(--go-wash)}.onb-add-btn{font-family:var(--display);font-weight:800;font-size:15px;padding:0 18px;border-radius:var(--r);background:var(--ink);color:var(--paper);min-height:48px}.onb-add-btn:disabled{opacity:.4}.onb-combo{position:relative;margin-bottom:var(--s5);z-index:20}.combo-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10}.onb-menu{list-style:none;position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:21;background:var(--paper);border:var(--edge);border-radius:var(--r);box-shadow:5px 5px 0 var(--ink);max-height:288px;overflow-x:hidden;overflow-y:auto;padding:5px}.onb-opt{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);width:100%;padding:11px 12px;border-radius:8px;background:transparent;text-align:left;min-height:44px}.onb-opt:hover,.onb-opt:focus-visible{background:var(--paper-2);outline:none}.onb-opt.selected{background:var(--go-wash)}.onb-opt.selected .onb-opt-name{color:var(--go)}.onb-opt-name{font-family:var(--display);font-weight:700;font-size:15.5px;color:var(--ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.onb-opt-tag{flex:none;font-family:var(--mono);font-size:11px;color:var(--go);white-space:nowrap}.onb-opt-tag.muted{color:var(--ink-soft)}.onb-opt.custom .onb-opt-name{color:var(--go);white-space:normal}.onb-list{list-style:none;display:grid;gap:var(--s2);margin-bottom:var(--s6)}.onb-item{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:var(--s3);padding:12px var(--s4);border:var(--edge);border-radius:var(--r);background:var(--paper)}.onb-item-name{font-family:var(--display);font-weight:800;font-size:16px}.onb-item-tag{font-family:var(--mono);font-size:11.5px;color:var(--go)}.onb-item-tag.muted{color:var(--ink-soft)}.onb-item-x{font-size:22px;line-height:1;color:var(--ink-soft);width:32px;height:32px}.onb-empty{font-size:14px;color:var(--ink-soft);font-style:italic;padding:var(--s2) 0}.onb-grades{list-style:none;display:grid;gap:var(--s2);margin-bottom:var(--s6)}.grade-row{display:flex;flex-direction:column;align-items:stretch;gap:var(--s2);padding:var(--s3) var(--s4);border:1.5px solid var(--rule);border-radius:var(--r);background:var(--paper)}.grade-name{font-family:var(--display);font-weight:700;font-size:15px}.grade-picks{display:flex;gap:6px}.grade-pick{font-family:var(--mono);font-weight:700;font-size:14px;min-width:48px;height:44px;padding:0 10px;border-radius:8px;border:1.5px solid var(--rule);background:var(--paper);color:var(--ink-soft)}.grade-pick.on{background:var(--go);border-color:var(--go);color:var(--paper)}.gc-connect{display:flex;align-items:center;justify-content:center;gap:var(--s3);width:100%;font-family:var(--display);font-weight:800;font-size:16px;padding:var(--s4);border-radius:var(--r);border:var(--edge);background:var(--paper);color:var(--ink);box-shadow:3px 3px 0 var(--ink);margin-bottom:var(--s4);min-height:56px;transition:transform .12s ease,box-shadow .12s ease}.gc-connect:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}.gc-connect.on{background:var(--go-wash);border-color:var(--go);box-shadow:3px 3px 0 var(--go)}.gc-mark{font-size:20px;color:var(--go)}.gc-note{font-size:13.5px;color:var(--ink-soft);margin-bottom:var(--s4);line-height:1.5}.onb-next{display:block;width:100%;font-family:var(--display);font-weight:800;font-size:17px;padding:var(--s4);border-radius:var(--r);background:var(--go);color:#fff;min-height:56px;box-shadow:4px 4px 0 var(--ink);transition:transform .12s ease,box-shadow .12s ease}.onb-next:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}.onb-next:disabled{opacity:.4;box-shadow:none}.onb-next.inline{width:auto;flex:1}.onb-row{display:flex;align-items:center;gap:var(--s3)}.onb-back{font-family:var(--sans);font-weight:700;font-size:15px;color:var(--ink-soft);padding:var(--s4) var(--s3);min-height:56px}.onb-finish{flex:1;font-family:var(--display);font-weight:800;font-size:17px;padding:var(--s4);border-radius:var(--r);background:var(--ink);color:var(--paper);min-height:56px;box-shadow:4px 4px 0 var(--go);transition:transform .12s ease,box-shadow .12s ease}.onb-finish:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--go)}.grade-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s3);margin-bottom:var(--s5)}.grade-btn{font-family:var(--display);font-weight:800;font-size:18px;padding:var(--s4);border:var(--edge);border-radius:var(--r);background:var(--paper);color:var(--ink);min-height:60px;box-shadow:3px 3px 0 var(--ink);transition:transform .12s ease,box-shadow .12s ease}.grade-btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}.grade-btn.on{background:var(--go);color:#fff}.grade-grid>.grade-btn:nth-child(odd):last-child{grid-column:1 / -1;max-width:calc(50% - var(--s3) / 2);justify-self:center}.subject-field{margin-bottom:var(--s4)}.subject-field>label{display:block;font-family:var(--mono);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--go);margin-bottom:6px}.subject-select{width:100%;font-family:var(--sans);font-weight:600;font-size:16px;padding:12px 40px 12px 14px;border:var(--edge);border-radius:var(--r);color:var(--ink);min-height:48px;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:var(--paper) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%2317150F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat right 14px center}.subject-select:focus{outline:none;box-shadow:0 0 0 3px var(--go-wash)}.subject-select.empty{color:var(--ink-soft)}.subject-other{width:100%;margin-top:8px;font-family:var(--sans);font-size:16px;padding:10px 14px;border:1.5px solid var(--rule-ink);border-radius:var(--r);background:var(--paper);color:var(--ink);min-height:48px}.subject-other:focus{outline:none;box-shadow:0 0 0 3px var(--go-wash)}.onb-extra-label{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin:var(--s5) 0 6px}.onb-extras{display:flex;flex-wrap:wrap;gap:var(--s2);margin-bottom:var(--s3)}.extra-chip{font-family:var(--sans);font-weight:700;font-size:13px;padding:8px 12px;border-radius:999px;border:1.5px solid var(--go);background:var(--go-wash);color:var(--ink);min-height:36px}.class-combo{margin-bottom:0}.class-combo .onb-input{width:100%}.onb-combo.open{z-index:30}.onb-input.has-value{font-family:var(--display);font-weight:700;padding-right:44px;text-overflow:ellipsis}.combo-clear{position:absolute;right:2px;top:50%;transform:translateY(-50%);z-index:22;display:flex;align-items:center;justify-content:center;width:44px;height:44px;font-size:22px;line-height:1;color:var(--ink-soft)}.onb-group-label{font-family:var(--mono);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--go);padding:8px 12px 4px}.onb-empty-opt{padding:12px;font-size:14px;color:var(--ink-soft);text-align:center}.grade-controls{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.grade-exact{width:70px;height:44px;border:1.5px solid var(--rule-ink);border-radius:8px;text-align:center;font-family:var(--mono);font-size:16px;background:var(--paper);color:var(--ink)}.grade-exact:focus{outline:none;box-shadow:0 0 0 3px var(--go-wash)}@media(min-width:900px){.onb{max-width:720px;padding:0 var(--s6) var(--s9);display:flex;flex-direction:column}.onb-top{padding:var(--s6) 0 var(--s8)}.onb .mark{font-size:24px}.dot{width:10px;height:10px}.onb-body{margin:auto 0;padding-bottom:var(--s9)}.onb-kicker{font-size:13px}.onb-h1{font-size:52px;line-height:1.02;margin-bottom:var(--s4)}.onb-say{font-size:17px;max-width:52ch}.grade-grid{grid-template-columns:repeat(4,1fr);gap:var(--s3)}.grade-btn{min-height:60px;font-size:16px}.grade-btn:hover{border-color:var(--go)}.grade-grid>.grade-btn:nth-child(odd):last-child{grid-column:auto;max-width:none;justify-self:stretch}.subject-field{margin-bottom:var(--s4)}.onb-input,.onb-add-btn{min-height:52px;font-size:16px}.onb-grades{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s4)}.onb-next,.onb-add-btn{transition:transform .12s ease,box-shadow .12s ease}.onb-next:hover{transform:translate(-1px,-1px)}}@media(min-width:1280px){.onb{max-width:800px}.onb-h1{font-size:60px}}@media(hover:none){.grade-btn:hover{border-color:var(--rule)}.onb-next:hover{transform:none}}.subject-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s3)}.slot-remove{display:inline-flex;align-items:center;min-height:44px;padding:0 2px;font-family:var(--mono);font-size:11.5px;color:var(--ink-soft);background:none;border:0;cursor:pointer;text-decoration:underline}.slot-remove:hover{color:var(--pen)}.slot-add{width:100%;min-height:48px;margin-bottom:var(--s5);font-family:var(--sans);font-weight:600;font-size:15px;color:var(--ink);background:var(--paper);border:1.5px dashed var(--rule);border-radius:var(--r);cursor:pointer;transition:border-color .12s ease,color .12s ease}.slot-add:hover{border-color:var(--go);color:var(--go)}@media(hover:none){.slot-add:hover{border-color:var(--rule);color:var(--ink)}}.gc-connect:disabled{background:var(--paper-2);color:var(--ink-soft);border-style:dashed;box-shadow:none;cursor:default}.gc-connect:disabled:active{transform:none;box-shadow:none}.quiz-top{display:flex;flex-wrap:wrap;row-gap:4px;align-items:center;justify-content:space-between;padding:var(--s5) 0 var(--s4)}.quiz .mark{font-family:var(--display);font-weight:900;font-size:20px;letter-spacing:-.03em;color:var(--ink);text-decoration:none}.q-progress{font-family:var(--mono);font-size:13px;color:var(--ink-soft)}.q-card{border:var(--edge);border-radius:var(--r);background:var(--paper);box-shadow:4px 4px 0 var(--ink);padding:var(--s5);margin-bottom:var(--s5)}.q-topic{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--go)}.q-prompt{font-family:var(--display);font-weight:800;font-size:22px;line-height:1.25;margin:var(--s2) 0 var(--s4)}.q-choices{display:grid;gap:var(--s2)}.q-choice{text-align:left;font-family:var(--sans);font-size:15.5px;font-weight:600;padding:14px var(--s4);border:1.5px solid var(--rule-ink);border-radius:var(--r);background:var(--paper);color:var(--ink);min-height:48px;transition:transform .1s ease}.q-choice:active{transform:scale(.99)}.q-choice.sel{background:var(--ink);color:var(--paper);border-color:var(--ink)}.quiz-actions{display:grid;gap:var(--s2);margin-top:var(--s4)}.result-score{display:flex;align-items:baseline;gap:var(--s3);border:var(--edge);border-radius:var(--r);padding:var(--s5);margin-bottom:var(--s4);box-shadow:5px 5px 0 var(--go)}.result-score.t-weak{box-shadow:5px 5px 0 var(--pen)}.result-score.t-mid{box-shadow:5px 5px #b8860b}.result-frac{font-family:var(--display);font-weight:900;font-size:44px;letter-spacing:-.02em}.result-pct{font-family:var(--mono);font-size:20px;color:var(--ink-soft)}.result-say{font-size:15.5px;color:var(--ink-soft);margin-bottom:var(--s5);line-height:1.5}.review{list-style:none;display:grid;gap:var(--s3);margin-bottom:var(--s6)}.review-item{display:grid;gap:3px;padding:var(--s4);border-radius:var(--r);border:1.5px solid var(--rule);background:var(--paper)}.review-item.ok{box-shadow:inset 4px 0 0 var(--go)}.review-item.no{box-shadow:inset 4px 0 0 var(--pen)}.review-q{font-family:var(--sans);font-weight:700;font-size:14.5px}.review-mark{display:inline-block;font-weight:900;margin-right:4px}.review-item.ok .review-mark{color:var(--go)}.review-item.no .review-mark{color:var(--pen)}.review-yours{font-size:13px;color:var(--pen)}.review-ans{font-size:13px;color:var(--go);font-weight:600}.review-why{font-size:13px;color:var(--ink-soft);line-height:1.45;margin-top:2px}.read-top{display:flex;flex-wrap:wrap;row-gap:4px;align-items:center;justify-content:space-between;padding:var(--s5) 0 var(--s4)}.read-h1{font-family:var(--display);font-weight:900;font-size:30px;letter-spacing:-.02em;margin-bottom:var(--s2)}.read-sub{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--go);margin-bottom:var(--s5)}.study-sec{margin-bottom:var(--s5)}.study-sec h2{font-family:var(--display);font-weight:800;font-size:19px;margin-bottom:var(--s2)}.study-sec p{font-size:15.5px;line-height:1.6;color:var(--ink)}.assign-item{border:1.5px solid var(--rule);border-radius:var(--r);padding:var(--s4);margin-bottom:var(--s3);background:var(--paper)}.assign-q{font-family:var(--display);font-weight:700;font-size:16px;margin-bottom:var(--s2)}.assign-reveal{font-family:var(--sans);font-weight:700;font-size:13px;color:var(--go)}.assign-a{font-size:14.5px;color:var(--ink);line-height:1.5;margin-top:var(--s2);padding-top:var(--s2);border-top:1.5px solid var(--rule)}.unit-mastery{display:inline-flex;align-items:baseline;gap:6px;font-family:var(--display);font-weight:900;font-size:15px}.unit-actions{display:grid;gap:var(--s3);margin-top:var(--s5)}.unit-card{display:block;border:var(--edge);border-radius:var(--r);padding:var(--s4);background:var(--paper);text-decoration:none;color:var(--ink);box-shadow:3px 3px 0 var(--ink);transition:transform .12s ease,box-shadow .12s ease}.unit-card:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}.unit-card b{font-family:var(--display);font-weight:800;font-size:17px;display:block}.unit-card span{font-size:13.5px;color:var(--ink-soft)}.build-row{margin-bottom:var(--s4)}.build-label{font-family:var(--mono);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--go);margin-bottom:8px}.seg{display:flex;gap:4px;background:var(--paper-2);border:1.5px solid var(--rule);border-radius:999px;padding:4px}.seg-btn{flex:1;font-family:var(--sans);font-weight:700;font-size:14px;padding:9px 0;border-radius:999px;color:var(--ink-soft);min-height:40px}.seg-btn.on{background:var(--ink);color:var(--paper)}.seg-btn:disabled{opacity:.4}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.sel-chip{font-family:var(--sans);font-weight:700;font-size:13px;padding:8px 14px;border-radius:999px;border:1.5px solid var(--rule);background:var(--paper);color:var(--ink-soft);min-height:38px}.sel-chip.on{background:var(--go-wash);border-color:var(--go);color:var(--ink)}.build-toggle{display:flex;align-items:center;justify-content:space-between;padding:var(--s3) 0}.build-toggle>span{font-family:var(--display);font-weight:700;font-size:16px}.toggle{width:52px;height:30px;border-radius:999px;background:var(--paper-2);border:1.5px solid var(--rule);position:relative;transition:background .15s ease}.toggle .knob{position:absolute;top:2px;left:2px;width:24px;height:24px;border-radius:50%;background:var(--ink);transition:transform .15s ease}.toggle.on{background:var(--go);border-color:var(--go)}.toggle.on .knob{transform:translate(22px);background:#fff}.q-timer{font-family:var(--mono);font-weight:700;color:var(--ink);margin-right:var(--s3)}.q-timer.low{color:var(--pen)}.flashcard{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s4);width:100%;min-height:380px;text-align:center;padding:var(--s6) var(--s5);margin-bottom:var(--s5);border:var(--edge);border-radius:var(--r);background:var(--paper);box-shadow:5px 5px 0 var(--ink);transition:transform .1s ease}.flashcard:active{transform:translate(2px,2px);box-shadow:3px 3px 0 var(--ink)}.flashcard.flipped{background:var(--go-wash);box-shadow:5px 5px 0 var(--go)}.fc-topic{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--go)}.flashcard.flipped .fc-topic{color:var(--ink)}.fc-front{font-family:var(--display);font-weight:800;font-size:22px;line-height:1.3;color:var(--ink)}.fc-back{display:flex;flex-direction:column;gap:var(--s3)}.fc-ans{font-family:var(--display);font-weight:900;font-size:24px;color:var(--go)}.fc-why{font-size:14.5px;color:var(--ink-soft);line-height:1.5}.fc-hint{font-family:var(--mono);font-size:11px;color:var(--ink-soft)}.u-progress{margin:var(--s4) 0 var(--s5)}.u-progress-bar{height:10px;border:var(--edge);border-radius:999px;background:var(--paper-2);overflow:hidden}.u-progress-bar span{display:block;height:100%;background:var(--go);transition:width .3s ease}.u-progress-say{font-family:var(--sans);font-size:13.5px;color:var(--ink-soft);margin-top:8px}.u-progress-say b{font-family:var(--display);font-weight:800;color:var(--ink)}.u-next{display:block;border:var(--edge);border-radius:var(--r);padding:var(--s4);background:var(--go-wash);box-shadow:4px 4px 0 var(--ink);text-decoration:none;color:var(--ink);transition:transform .12s ease,box-shadow .12s ease}.u-next:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}.u-next-kicker{display:block;font-family:var(--mono);font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;color:var(--ink)}.u-next-title{display:block;font-family:var(--display);font-weight:900;font-size:19px;line-height:1.25;letter-spacing:-.01em;margin-bottom:6px}.u-next-meta{display:block;font-size:13px;color:var(--ink-soft)}.u-topic{display:flex;align-items:flex-start;gap:var(--s3)}.u-topic-body{min-width:0}.u-topic b{font-size:15.5px;line-height:1.3}.u-dot{flex:none;width:22px;height:22px;margin-top:2px;border-radius:50%;border:2px solid var(--rule-ink);background:var(--paper);font-family:var(--display);font-weight:900;font-size:12px;line-height:19px;text-align:center}.u-topic.is-done .u-dot{background:var(--go);border-color:var(--go);color:#fff}.u-topic.is-started .u-dot{border-color:var(--go);color:var(--go)}.u-topic.is-done b{color:var(--ink-soft)}@media(prefers-reduced-motion:reduce){.u-progress-bar span,.u-next{transition:none}}.read-meta{font-family:var(--mono);font-size:12px;color:var(--ink-soft);letter-spacing:.04em;margin:-4px 0 var(--s5)}.study-read{max-width:34em}.study-read p{font-size:16.5px;line-height:1.65;color:var(--ink);margin:0 0 var(--s4)}.study-read .sr-h{font-family:var(--display);font-weight:800;font-size:15px;letter-spacing:.01em;color:var(--go);margin:var(--s5) 0 var(--s2);padding-bottom:4px;border-bottom:2px solid var(--rule)}@media(min-width:700px){.study-read p{font-size:17px}}.guiding{border-left:4px solid var(--go);background:var(--go-wash);border-radius:0 var(--r) var(--r) 0;padding:var(--s3) var(--s4);margin:0 0 var(--s4)}.guiding-kicker{display:block;font-family:var(--mono);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;color:var(--ink)}.guiding p{font-family:var(--display);font-weight:800;font-size:16.5px;line-height:1.35}.skill-note{border:2px dashed var(--rule-ink);border-radius:var(--r);padding:var(--s3) var(--s4);margin:0 0 var(--s5);background:var(--paper-2)}.skill-kicker{display:block;font-family:var(--mono);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin-bottom:4px}.skill-note p{font-size:14.5px;line-height:1.55;color:var(--ink)}.notes{max-width:36em}.notes-h2{font-family:var(--display);font-weight:900;font-size:20px;letter-spacing:-.01em;margin:var(--s6) 0 var(--s3);padding-bottom:6px;border-bottom:var(--edge)}.notes-h3{font-family:var(--display);font-weight:800;font-size:16.5px;color:var(--go);margin:var(--s5) 0 var(--s2)}.notes-label{font-family:var(--sans);font-weight:700;font-size:14px;color:var(--ink);margin:var(--s4) 0 6px}.notes-p{font-size:16px;line-height:1.6;margin:0 0 var(--s3)}.notes-ul{list-style:none;margin:0 0 var(--s4);padding:0}.notes-ul li{position:relative;padding-left:18px;font-size:15.5px;line-height:1.55;margin-bottom:7px}.notes-ul li:before{content:"";position:absolute;left:2px;top:9px;width:6px;height:6px;border-radius:50%;background:var(--go)}.notes-ul li strong{font-weight:700}.tl-sec{margin-top:var(--s6)}.tl{list-style:none;margin:0;padding:0 0 0 var(--s3);border-left:2px solid var(--rule)}.tl li{position:relative;padding:0 0 var(--s3) var(--s3)}.tl li:before{content:"";position:absolute;left:-21px;top:6px;width:9px;height:9px;border-radius:50%;background:var(--paper);border:2px solid var(--go)}.tl-when{display:block;font-family:var(--mono);font-size:12px;font-weight:600;color:var(--go)}.tl-what{display:block;font-size:15px;line-height:1.5}.vocab-note{font-size:12.5px;color:var(--ink-soft);margin:-4px 0 var(--s3)}.vocab-list{margin:0}.vocab-row{border-bottom:1.5px solid var(--rule);padding:var(--s3) 0}.vocab-row dt{font-family:var(--display);font-weight:800;font-size:15.5px}.vocab-row dd{margin:4px 0 0;font-size:14.5px;line-height:1.5;color:var(--ink-soft)}.reveal{border:1.5px solid var(--rule);border-radius:var(--r);padding:0 var(--s4);margin:var(--s3) 0;background:var(--paper)}.reveal summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:var(--s3);min-height:44px;font-family:var(--sans);font-weight:700;font-size:14px;color:var(--ink)}.reveal summary::-webkit-details-marker{display:none}.reveal summary:after{content:"+";font-family:var(--display);font-weight:900;font-size:18px;color:var(--go);flex:none}.reveal[open] summary:after{content:"−"}.reveal p{font-size:14.5px;line-height:1.6;color:var(--ink);padding:0 0 var(--s4);margin:0}.faq{border-bottom:1.5px solid var(--rule)}.faq-q{display:flex;width:100%;align-items:flex-start;justify-content:space-between;gap:var(--s3);text-align:left;padding:var(--s3) 0;font-family:var(--sans);font-weight:700;font-size:15px;color:var(--ink);min-height:44px}.faq-mark{font-family:var(--display);font-weight:900;color:var(--go);font-size:18px;line-height:1}.faq-a{font-size:14.5px;line-height:1.6;color:var(--ink-soft);padding:0 0 var(--s3)}.band{font-family:var(--mono);font-weight:600;padding:1px 6px;border-radius:4px;color:var(--ink)}.band-strong{background:var(--go-wash)}.band-strong:before{content:"▲ "}.band-mid{background:var(--paper-2)}.band-weak{background:var(--pen-wash)}.band-weak:before{content:"▼ "}.topic-rail{display:none}@media(min-width:1000px){.topic-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:var(--s7);align-items:start}.topic-rail{display:block;position:sticky;top:var(--s5);max-height:calc(100vh - var(--s7));overflow-y:auto;border-left:var(--edge);padding-left:var(--s4)}.rail-list{list-style:none;margin:0;padding:0;counter-reset:none}.rail-link{display:grid;grid-template-columns:34px 1fr auto;align-items:baseline;gap:6px;padding:7px 8px;border-radius:8px;text-decoration:none;color:var(--ink-soft);font-size:13.5px;line-height:1.35}.rail-link:hover{background:var(--paper-2);color:var(--ink)}.rail-link.on{background:var(--go-wash);color:var(--ink)}.rail-link.on .rail-text{font-weight:700}.rail-text{min-width:0}.rail-num{font-family:var(--mono);font-size:11.5px;color:var(--go);font-weight:600}.rail-pct{font-family:var(--mono);font-size:11px}.rail-pct.ok{color:var(--go)}.rail-pct.mid{color:var(--ink-soft)}.rail-pct.low{color:var(--pen)}.rail-link.on .rail-num,.rail-link.on .rail-pct.ok{color:var(--ink)}.notes{max-width:42em}}@media(min-width:900px){.unit-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.unit-actions>.btn-primary,.unit-actions>.btn-ghost{grid-column:1 / -1}.u-next{padding:var(--s5)}.u-next-title{font-size:22px}.u-progress{max-width:520px}.vocab-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--s6)}.tl{max-width:620px}.faq{max-width:760px}}@media(min-width:1280px){.unit-actions{grid-template-columns:repeat(3,minmax(0,1fr))}}.q-key{display:none}@media(min-width:900px){.quiz{max-width:780px;margin:0 auto}.q-card{padding:var(--s6)}.q-prompt{font-size:21px;line-height:1.4}.q-choice{display:flex;align-items:flex-start;gap:var(--s3);font-size:16px;padding:var(--s4)}.q-choice:hover{border-color:var(--go)}.q-key{display:grid;place-items:center;flex:none;width:26px;height:26px;border:2px solid var(--rule-ink);border-radius:6px;background:var(--paper);font-family:var(--mono);font-size:12.5px;font-weight:600;color:var(--ink-soft)}.q-choice.sel .q-key{background:var(--go);border-color:var(--go);color:#fff}.quiz-actions{display:flex;flex-direction:row-reverse;gap:var(--s3);align-items:center}.quiz-actions .btn-primary,.quiz-actions .btn-ghost{width:auto;min-width:180px;margin:0}.quiz-actions:before{content:"Press 1-4 to answer · Enter for next";font-family:var(--mono);font-size:11.5px;color:var(--ink-soft);margin-right:auto}}.scope-note{font-size:13.5px;line-height:1.55;color:var(--ink-soft);border-left:3px solid var(--rule-ink);padding:6px 0 6px var(--s3);margin:0 0 var(--s4)}.scope-note b{color:var(--ink)}.ce-list{list-style:none;margin:0;padding:0}.ce-list li{display:grid;grid-template-columns:1fr 22px 1fr;gap:var(--s2);align-items:center;border:var(--edge);border-radius:var(--r);padding:var(--s3);margin-bottom:var(--s2);background:var(--paper)}.ce-cause{font-size:14px;line-height:1.4;min-width:0}.ce-arrow{font-family:var(--display);font-weight:900;color:var(--go);text-align:center}.ce-effect{font-size:14px;line-height:1.4;font-weight:600;min-width:0}.frq{border:var(--edge);border-radius:var(--r);padding:var(--s4);margin-bottom:var(--s3);background:var(--paper)}.frq-kind{font-family:var(--mono);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--go);margin-bottom:6px}.frq-prompt{font-size:15.5px;line-height:1.55;white-space:pre-line;margin-bottom:var(--s3)}.frq-look{font-family:var(--sans);font-weight:700;font-size:13px;margin-bottom:4px}.frq-look-list{list-style:none;margin:0 0 var(--s3);padding:0}.frq-look-list li{position:relative;padding-left:16px;font-size:13.5px;line-height:1.5;color:var(--ink-soft);margin-bottom:5px}.frq-look-list li:before{content:"";position:absolute;left:2px;top:8px;width:5px;height:5px;border-radius:50%;background:var(--rule-ink)}.frq-toggle{min-height:44px;margin:0}.frq-model{white-space:pre-line;font-size:14.5px;line-height:1.6;margin-top:var(--s3);padding:var(--s3);background:var(--go-wash);border-radius:var(--r)}.prov{margin-top:var(--s7);padding-top:var(--s4);border-top:1.5px solid var(--rule);font-family:var(--mono);font-size:11.5px;color:var(--ink-soft);line-height:1.6}.prov b{color:var(--ink)}.prov-src{margin-top:3px}@media(min-width:900px){.ce-list li{grid-template-columns:1fr 30px 1fr;padding:var(--s4)}.frq{max-width:760px}}.ced-flag{display:inline-block;font-family:var(--mono);font-size:9.5px;font-weight:600;letter-spacing:.06em;background:var(--go);color:#fff;border-radius:3px;padding:1px 4px;margin-left:6px;vertical-align:middle}.vocab-note .ced-flag{margin:0 2px}.vocab-conf{display:block;margin-top:5px;font-size:13px;line-height:1.45;color:var(--ink)}.vocab-conf b{font-weight:700}.next-up{margin-top:var(--s6);border:2px dashed var(--rule-ink);border-radius:var(--r);padding:var(--s3) var(--s4);font-size:14.5px;line-height:1.55;background:var(--paper-2)}.next-up b{font-family:var(--display);font-weight:800}.vocab-ex{display:block;margin-top:5px;font-size:13px;line-height:1.45;color:var(--ink-soft)}.vocab-ex b{font-weight:700;color:var(--ink)}.result-actions{display:flex;flex-wrap:wrap;gap:var(--s3);margin:var(--s5) 0 var(--s6)}.result-gain{font-size:16px;line-height:1.5;color:var(--ink);background:var(--go-wash);border-left:4px solid var(--go);border-radius:0 8px 8px 0;padding:12px var(--s4);margin:0 0 var(--s5)}.result-gain b{font-weight:700}.result-gain span{color:var(--ink-soft)}.revisit{margin:0 0 var(--s5)}.revisit-head{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:var(--s3)}.revisit-list{list-style:none;display:grid;gap:var(--s2)}.revisit-link{display:flex;flex-direction:column;gap:3px;background:var(--paper-2);border:var(--edge);border-radius:var(--r);padding:13px var(--s4);text-decoration:none;color:var(--ink);min-height:48px;justify-content:center;transition:border-color .12s ease,transform .12s ease}.revisit-link:active{transform:translate(1px,1px)}.revisit-name{font-weight:700;font-size:15.5px}.revisit-why{font-family:var(--mono);font-size:12px;color:var(--ink-soft)}@media(min-width:900px){.revisit-link:hover{border-color:var(--go)}.revisit-name{font-size:16.5px}}@media(hover:none){.revisit-link:hover{border-color:var(--rule)}}.class-next{font-size:14px;color:var(--ink-soft);line-height:1.55;margin-bottom:var(--s5)}.class-next a{color:var(--go);font-weight:700}.ask{max-width:720px;margin:0 auto;padding:0 var(--s4) 140px;min-height:100vh}.ask-top{display:flex;align-items:center;justify-content:space-between;padding:var(--s5) 0 var(--s5)}.ask-left{font-family:var(--mono);font-size:12px;color:var(--ink-soft)}.ask-eyebrow{font-family:var(--mono);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--go);margin-bottom:var(--s3)}.ask-h1{font-family:var(--display);font-weight:900;font-size:40px;line-height:1.02;letter-spacing:-.02em;margin-bottom:var(--s4)}.ask-say{color:var(--ink-soft);font-size:16.5px;line-height:1.55;max-width:42ch;margin-bottom:var(--s6)}.ask-starters{list-style:none;display:grid;gap:var(--s3)}.ask-starter{width:100%;text-align:left;font-family:var(--sans);font-size:15px;line-height:1.4;color:var(--ink);background:var(--paper-2);border:var(--edge);border-radius:var(--r);padding:14px var(--s4);min-height:48px;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.ask-starter:active{transform:translate(1px,1px)}.ask-thread{list-style:none}.ask-turn{padding:var(--s5) 0;border-bottom:1.5px dashed var(--rule)}.ask-turn:last-of-type{border-bottom:0}.ask-q{font-family:var(--sans);font-weight:500;font-size:14.5px;line-height:1.5;color:var(--ink-soft);border-left:3px solid var(--go);padding-left:var(--s4);margin-bottom:var(--s5);white-space:pre-wrap;max-width:68ch}.ask-a-kicker{font-family:var(--mono);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin-bottom:var(--s3)}.ask-a-kicker.thinking{color:var(--go)}.ask-a p+p{margin-top:var(--s4)}.ask-a p:not(.ask-a-kicker){font-size:18.5px;line-height:1.72;white-space:pre-wrap;max-width:68ch}.ask-err{color:var(--pen);font-size:15px;line-height:1.5}.ask-retry{font-family:var(--sans);font-weight:700;font-size:15px;color:var(--go);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline}.ask-composer{position:fixed;left:0;right:0;bottom:0;max-width:720px;margin-left:auto;margin-right:auto;display:flex;gap:var(--s2);align-items:flex-end;padding:var(--s3) var(--s4) calc(var(--s3) + env(safe-area-inset-bottom,0px));background:var(--paper);border-top:1.5px solid var(--rule);margin-bottom:62px}.ask-box{flex:1;font-family:var(--sans);font-size:16px;line-height:1.45;color:var(--ink);background:var(--paper-2);border:var(--edge);border-radius:var(--r);padding:13px var(--s4);resize:none;max-height:40vh;min-height:48px}.ask-box:focus{outline:none;box-shadow:3px 3px 0 var(--go)}.ask-send{flex:none;width:48px;height:48px;display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:20px;color:var(--paper);background:var(--ink);border:0;border-radius:var(--r);cursor:pointer;transition:transform .12s ease,background .12s ease}.ask-send:disabled{background:var(--rule);cursor:not-allowed}.ask-send:not(:disabled):active{transform:scale(.94)}@media(min-width:900px){.ask{max-width:820px;padding:0 var(--s6) 160px}.ask-h1{font-size:56px}.ask-say{font-size:18px}.ask-q{font-size:15px;padding-left:var(--s5)}.ask-a p:not(.ask-a-kicker){font-size:20px;line-height:1.75}.ask-a{display:grid;grid-template-columns:92px minmax(0,1fr);column-gap:var(--s5)}.ask-a-kicker{grid-column:1;margin-bottom:0;text-align:right;padding-top:4px}.ask-a p:not(.ask-a-kicker){grid-column:2}.ask-composer{position:sticky;bottom:0;margin-bottom:0;border-top:0;max-width:none;margin-left:0;margin-right:0;padding:var(--s4) 0 var(--s6);background:linear-gradient(to bottom,transparent,var(--paper) 22%)}.ask-starter:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--go)}.ask-send:not(:disabled):hover{background:var(--go)}}@media(hover:none){.ask-starter:hover,.ask-send:not(:disabled):hover{transform:none;box-shadow:none}}.ask-left.low{color:var(--pen);font-weight:600}.ask-out{background:var(--paper-2);border:var(--edge);border-left-width:4px;border-left-color:var(--go);border-radius:var(--r);padding:var(--s5);margin:var(--s5) 0}.ask-out-head{font-size:17px;font-weight:700;line-height:1.4;margin-bottom:var(--s3)}.ask-out-say{color:var(--ink-soft);font-size:15.5px;line-height:1.55;margin-bottom:var(--s5);max-width:52ch}.ask-out-actions{display:flex;flex-wrap:wrap;gap:var(--s3)}@media(min-width:900px){.ask-out{padding:var(--s6)}.ask-out-head{font-size:19px}}.ask-guide{background:var(--paper-2);border:var(--edge);border-left-width:4px;border-left-color:var(--go);border-radius:0 var(--r) var(--r) 0;padding:var(--s5);margin-bottom:var(--s4)}.ask-guide .ask-a-kicker,.ask-doc{margin-bottom:var(--s4)}.ask-doc-body{background:var(--paper);border:var(--edge);border-radius:var(--r);box-shadow:4px 4px 0 var(--ink);padding:var(--s5)}.ask-doc-body p{font-size:18px;line-height:1.75;white-space:pre-wrap;max-width:68ch}.ask-doc-body p+p{margin-top:var(--s4)}.ask-doc-body p:first-child{font-family:var(--mono);font-size:12px;color:var(--ink-soft);border-bottom:1.5px dashed var(--rule);padding-bottom:var(--s3)}.ask-intent{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2);padding:var(--s3) 0 var(--s4)}.ask-intent span{font-family:var(--mono);font-size:12px;color:var(--ink-soft);width:100%}.ask-intent button{font-family:var(--sans);font-weight:600;font-size:14px;color:var(--ink);background:var(--paper-2);border:var(--edge);border-radius:999px;padding:9px 15px;min-height:44px;cursor:pointer}.ask-intent button:hover{border-color:var(--go)}@media(min-width:1100px){.ask-guide{max-width:420px}.ask-doc-body{padding:var(--s6)}}@media(hover:none){.ask-intent button:hover{border-color:var(--rule)}}.ask-top-right{display:flex;align-items:center;gap:var(--s2)}.ask-top-btn{display:inline-flex;align-items:center;font-family:var(--mono);font-size:12px;color:var(--ink-soft);background:var(--paper-2);border:var(--edge);border-radius:999px;padding:7px 13px;min-height:44px;cursor:pointer}.ask-top-btn:hover{border-color:var(--go);color:var(--ink)}.ask-history{background:var(--paper-2);border:var(--edge);border-radius:var(--r);padding:var(--s4);margin-bottom:var(--s5)}.ask-history ul{list-style:none;display:grid;gap:var(--s2)}.ask-history li{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center}.ask-hist-open{display:flex;flex-direction:column;align-items:flex-start;gap:2px;background:none;border:0;text-align:left;cursor:pointer;color:var(--ink);padding:10px var(--s2);min-height:46px;justify-content:center;width:100%;border-radius:8px}.ask-hist-open:hover{background:var(--paper)}.ask-hist-title{font-weight:600;font-size:15px;line-height:1.35}.ask-hist-meta{font-family:var(--mono);font-size:11.5px;color:var(--ink-soft)}.ask-hist-del{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;background:none;cursor:pointer;font-size:18px;line-height:1;color:var(--ink-soft);border-radius:7px}.ask-hist-del:hover{color:var(--pen);background:var(--pen-wash)}@media(hover:none){.ask-top-btn:hover{border-color:var(--rule);color:var(--ink-soft)}.ask-hist-open:hover{background:none}}.cal{max-width:720px;margin:0 auto;padding:0 var(--s4) var(--s9)}.cal-top{display:flex;align-items:center;justify-content:space-between;padding:var(--s5) 0 var(--s5)}.cal-top .mark{font-family:var(--display);font-weight:900;font-size:20px;letter-spacing:-.03em;color:var(--ink);text-decoration:none}.cal-eyebrow{font-family:var(--mono);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--go);margin-bottom:var(--s3)}.cal-h1{font-family:var(--display);font-weight:900;font-size:40px;letter-spacing:-.02em;margin-bottom:var(--s5)}.cal-monthbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--s4)}.cal-month{font-family:var(--display);font-weight:800;font-size:20px}.cal-arrow{width:44px;height:44px;display:grid;place-items:center;font-size:24px;line-height:1;color:var(--ink);background:var(--paper-2);border:var(--edge);border-radius:var(--r);cursor:pointer}.cal-arrow:active{transform:scale(.94)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:var(--s5)}.cal-dow{font-family:var(--mono);font-size:11px;color:var(--ink-soft);text-align:center;padding-bottom:4px}.cal-cell{position:relative;aspect-ratio:1;min-height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-family:var(--sans);font-size:14px;color:var(--ink);background:var(--paper-2);border:1.5px solid transparent;border-radius:8px;cursor:pointer;transition:border-color .12s ease,background .12s ease}.cal-cell.blank{background:none;cursor:default}.cal-cell.today{border-color:var(--go);font-weight:800}.cal-cell.has{background:var(--go-wash)}.cal-cell:not(.blank):active{transform:scale(.95)}.cal-num{line-height:1}.cal-dots{display:flex;gap:2px}.cal-dots i{width:4px;height:4px;border-radius:50%;background:var(--go)}.cal-add{display:inline-flex;margin-bottom:var(--s6)}.cal-form{background:var(--paper-2);border:var(--edge);border-radius:var(--r);padding:var(--s5);margin-bottom:var(--s6)}.cal-label{display:block;font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin-bottom:6px}.cal-input{width:100%;font-family:var(--sans);font-size:16px;color:var(--ink);background:var(--paper);border:var(--edge);border-radius:var(--r);padding:12px var(--s4);margin-bottom:var(--s4);min-height:48px}.cal-input:focus{outline:none;box-shadow:3px 3px 0 var(--go)}.cal-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}.cal-actions{display:flex;gap:var(--s3);justify-content:flex-end}.cal-form p[role=alert]{color:var(--pen);font-size:13px;margin:-6px 0 var(--s3)}.cal-next-label{margin-top:var(--s5)}.cal-none{color:var(--ink-soft);font-size:16px;line-height:1.55;max-width:46ch}.cal-list{list-style:none;display:grid;gap:var(--s3)}.cal-item{display:grid;grid-template-columns:84px minmax(0,1fr) 44px;align-items:center;gap:var(--s3);background:var(--paper-2);border:var(--edge);border-radius:var(--r);padding:var(--s4);border-left-width:4px}.cal-item.is-hot{border-left-color:var(--pen)}.cal-item.is-warm{border-left-color:var(--go)}.cal-item.is-cool{border-left-color:var(--rule)}.cal-when{font-family:var(--mono);font-size:12.5px;color:var(--ink-soft)}.cal-item.is-hot .cal-when{color:var(--pen);font-weight:600}.cal-body{display:flex;flex-direction:column;gap:2px;min-width:0}.cal-body b{font-size:16px}.cal-meta{font-family:var(--mono);font-size:12px;color:var(--ink-soft)}.cal-del{width:44px;height:44px;border-radius:8px;font-size:20px;line-height:1;color:var(--ink-soft);background:none;border:0;cursor:pointer}.cal-del:hover{color:var(--pen);background:var(--pen-wash)}.cal-past{font-family:var(--mono);font-size:12px;color:var(--ink-soft);margin-top:var(--s4)}@media(min-width:900px){.cal{max-width:1080px;padding:0 var(--s6) var(--s9)}.cal-h1{font-size:54px}.cal-month{font-size:24px}.cal-grid{gap:6px}.cal-cell{aspect-ratio:auto;height:60px;min-height:0;font-size:15px}.cal-add{width:auto;align-self:start}.cal-cell:not(.blank):hover{border-color:var(--go);background:var(--paper)}.cal-dow{font-size:12px}.cal-row{grid-template-columns:1fr 1fr 1fr}.cal-item{grid-template-columns:110px minmax(0,1fr) 44px}}@media(min-width:1060px){.cal-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:var(--s7);align-items:start}.cal-pane{display:flex;flex-direction:column;min-width:0}.cal-next-label{margin-top:0}}@media(hover:none){.cal-cell:not(.blank):hover{border-color:transparent}}.cal-hint{font-size:12.5px;color:var(--ink-soft);margin:-2px 0 var(--s3);line-height:1.45}.aw{max-width:850px;margin:auto;padding:24px 20px 160px}.assignment-rows{list-style:none;display:grid;gap:12px;margin-top:22px;padding:0}.assignment-rows a{display:block;padding:20px;border:1px solid var(--rule);border-radius:14px;background:#fffdf8;color:var(--ink);text-decoration:none}.assignment-rows span{display:block;font-family:var(--mono);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--go)}.assignment-rows p{font-size:13px;color:var(--ink-soft);margin:4px 0 0}.assignment-rows h2{font-size:20px;margin:8px 0}.aw-empty{text-align:center;padding:var(--s6) var(--s5)}.aw-empty h2{font-family:var(--display);font-size:22px;margin-bottom:var(--s2)}.aw-empty p{color:var(--ink-soft);font-size:14px;margin:0 auto var(--s5);max-width:34ch}.aw-empty .btn-primary{max-width:320px;margin:0 auto}.aw-top{display:flex;justify-content:space-between;gap:16px;align-items:center}.aw-top a{color:var(--go);min-height:44px;display:flex;align-items:center;font-weight:650}.aw-top span{color:var(--ink-soft);text-transform:capitalize}.aw-heading{margin:22px 0}.aw-heading h1{font-family:var(--display);font-size:clamp(28px,5vw,38px);line-height:1.15;margin:8px 0 12px;overflow-wrap:anywhere}.aw-heading p:first-child{font-family:var(--mono);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--go)}.aw-heading p:last-child{font-family:var(--mono);color:var(--ink-soft);font-size:13px}.aw :is(details){border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin:18px 0}.aw summary{padding:16px 0;font-weight:650;cursor:pointer;min-height:48px}.aw details p{white-space:pre-wrap;line-height:1.6;font-size:14px;margin:12px 0 20px}.aw details h3{font-size:15px}.cal-form .aw-brief{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin:18px 0}.cal-form .aw-brief>summary{padding:16px 0;font-weight:650;cursor:pointer;min-height:48px}.cal-form .aw-brief textarea{margin-top:8px}.aw-paper{background:#fffdf8;border:1px solid var(--rule);border-radius:18px;padding:22px;margin:22px 0}.aw-paper-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.aw-paper h2{font-family:var(--display);font-size:24px}.aw-paper-head span{color:var(--ink-soft);font-size:12px}.aw-hint{color:var(--ink-soft);font-size:14px;line-height:1.5;margin:10px 0 16px}.aw textarea,.coverage-picker textarea{width:100%;box-sizing:border-box;border:1px solid #c5c9bc;border-radius:10px;padding:14px;font-family:var(--sans);font-size:16px;line-height:1.7;color:var(--ink);background:#fff;resize:vertical}.aw-math #assignment-work{font-family:var(--mono);line-height:2}.aw-keyboard{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.aw-keyboard button{min-width:44px;min-height:44px;border:1px solid var(--rule);border-radius:8px;background:var(--paper-2);font-size:19px}.aw-help-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.aw-study{margin:20px 0;padding:20px;border-radius:14px;background:var(--go-wash)}.aw-study h2{font-family:var(--display);font-size:22px}.aw-study h3{margin-top:12px;font-size:17px}.aw-study p{color:var(--ink-soft);font-size:13px;margin-top:8px}.aw-study a{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border-radius:8px;background:var(--go);color:#fff;text-decoration:none;font-weight:650;font-size:14px}.aw-help-actions button,.aw-footer button{min-height:44px;border:1px solid var(--go);color:var(--go);border-radius:9px;padding:10px 14px;font-size:14px;font-weight:650}.aw-materials ul{list-style:none;padding:0 0 15px}.aw-materials a{display:inline-flex;min-height:44px;align-items:center;color:var(--go)}.aw-materials summary span{color:var(--ink-soft);margin-left:8px}.aw-footer p{font-size:13px;color:var(--ink-soft);margin:14px 0}.aw-ask{position:fixed;bottom:calc(80px + env(safe-area-inset-bottom));right:20px;z-index:12;min-height:48px;padding:12px 18px;background:var(--go);color:#fff;border-radius:12px;font-size:15px;font-weight:650;box-shadow:0 3px 12px #0002;max-width:calc(100vw - 40px)}.aw-chat{position:fixed;inset:auto 0 0 auto;margin:0;width:min(460px,100%);max-width:100%;height:90dvh;max-height:90dvh;border:1px solid var(--rule);border-radius:20px 20px 0 0;padding:0;background:var(--paper);color:var(--ink)}.aw-chat[open]{display:flex;flex-direction:column}.aw-chat::backdrop{background:#17150f70}.aw-chat header{display:flex;align-items:start;gap:12px;justify-content:space-between;padding:20px;border-bottom:1px solid var(--rule)}.aw-chat h2{font-family:var(--display);font-size:22px}.aw-chat header p{font-size:13px;color:var(--ink-soft);margin-top:6px;overflow-wrap:anywhere}.aw-chat header button{min-width:44px;min-height:44px;font-size:28px}.aw-messages{flex:1;overflow-y:auto;padding:20px;font-size:15px;line-height:1.65}.aw-message{margin-bottom:16px;overflow-wrap:anywhere}.aw-message.user{background:var(--go-wash);padding:12px;border-radius:10px}.aw-chat form{border-top:1px solid var(--rule);padding:16px 20px max(20px,env(safe-area-inset-bottom))}.aw-share{display:flex;align-items:center;gap:8px;min-height:44px;font-size:14px}.aw-chat form>div{display:flex;gap:12px;align-items:center;margin-top:12px}.aw-chat small{color:var(--ink-soft);font-size:12px}.aw-chat form button{background:var(--go);color:#fff;min-height:44px;padding:10px 20px;border-radius:9px}.aw button:disabled{opacity:.5;cursor:not-allowed}.aw :is(button,a,textarea,summary):focus-visible,.coverage-picker :is(button,textarea,input,select):focus-visible{outline:3px solid var(--go);outline-offset:3px}.aw-notice{padding:12px;background:var(--pen-wash);border-radius:9px;font-size:14px;line-height:1.5}.coverage-picker p[role=alert]{color:var(--pen);font-size:13px}.coverage-picker{margin:20px 0;display:grid;gap:12px}.coverage-picker h3{font-family:var(--display);font-size:22px}.coverage-picker label{display:grid;gap:8px;font-size:14px}.coverage-switch{display:flex;gap:8px}.coverage-switch button{min-height:44px;padding:8px 14px;border:1px solid var(--rule);border-radius:8px}.coverage-switch button[aria-pressed=true]{background:var(--go-wash);border-color:var(--go);color:var(--ink);font-weight:650}.coverage-review{padding:16px;background:var(--go-wash);border-radius:12px}.coverage-review p{margin:10px 0;font-size:14px;line-height:1.5}.coverage-review .coverage-check{display:flex;align-items:start;gap:10px;padding:8px 0;min-height:44px;box-sizing:border-box}.coverage-check input{margin-top:4px;min-width:20px;min-height:20px}@media(min-width:900px){.aw-ask{bottom:24px}.aw-chat{top:0;height:100dvh;max-height:100dvh;border-radius:0}}@media(max-width:400px){.aw{padding-left:14px;padding-right:14px}.aw-paper{padding:16px}}@media(prefers-reduced-motion:no-preference){.aw-chat[open]{animation:aw-open .16s ease-out}@keyframes aw-open{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}}.sp{border:var(--edge);border-radius:var(--r);background:var(--paper);box-shadow:3px 3px 0 var(--ink);padding:var(--s4);margin:var(--s5) 0}.sp-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s3)}.sp-head h2{font-family:var(--display);font-weight:900;font-size:22px;letter-spacing:-.02em}.sp-clear{font-family:var(--sans);font-size:13px;font-weight:700;color:var(--ink-soft);text-decoration:underline;min-height:44px;padding:0 var(--s1)}.sp-clear:hover{color:var(--pen)}.sp-say{color:var(--ink-soft);font-size:15px;line-height:1.55;margin:var(--s2) 0 var(--s4);max-width:62ch}.sp-list{list-style:none;display:flex;flex-direction:column;gap:var(--s3);margin:0;padding:0}.sp-item{display:grid;grid-template-columns:1fr;gap:var(--s2);border-top:1.5px solid var(--rule);padding-top:var(--s3)}.sp-when{display:flex;align-items:baseline;gap:var(--s2);min-width:0}.sp-date{font-family:var(--mono);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--go)}.sp-time{font-family:var(--mono);font-size:12px;color:var(--ink-soft)}.sp-what{min-width:0}.sp-what h3{font-family:var(--display);font-weight:900;font-size:17px;margin-bottom:var(--s1)}.sp-do{font-size:15px;line-height:1.55;max-width:62ch}.sp-why{font-size:13.5px;line-height:1.5;color:var(--ink-soft);margin-top:var(--s2);border-left:3px solid var(--rule);padding-left:var(--s3);max-width:62ch}.sp-foot{font-size:12.5px;line-height:1.5;color:var(--ink-soft);margin-top:var(--s4)}.sp-note{font-size:14px;line-height:1.5;color:var(--ink);background:var(--go-wash);border-left:3px solid var(--go);border-radius:var(--r);padding:10px 12px;margin-top:var(--s3)}@media(min-width:700px){.sp-item{grid-template-columns:150px 1fr;gap:var(--s4)}.sp-when{flex-direction:column;gap:2px}}.sp-open{display:inline-flex;align-items:center;min-height:44px;margin-top:var(--s2);font-family:var(--sans);font-size:14px;font-weight:700;color:var(--go)}.sp-open:hover{text-decoration:underline}.sc-page{max-width:900px;margin:auto;padding:28px 24px 60px;color:var(--ink)}.sc-heading,.sc-intro,.sc-section-heading,.sc-week-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.sc-heading h1{font-family:var(--display);font-size:clamp(30px,5vw,44px);margin:4px 0 16px}.sc-eyebrow{color:var(--go);font-size:12px;font-weight:700;margin:0 0 6px}.sc-account,.sc-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--ink);border-radius:8px;padding:10px 14px;background:var(--paper);color:var(--ink);font-weight:700;text-decoration:none}.sc-intro p{flex:1;min-width:180px;line-height:1.6}.sc-week{margin:28px 0;padding:18px;background:var(--paper-2);border-radius:14px}.sc-week-controls{flex-wrap:nowrap;gap:6px;margin-bottom:16px}.sc-week-controls h2{flex:1;font-size:16px}.sc-week-controls button{min-width:44px;min-height:44px;background:transparent;color:var(--ink);border-radius:6px}.sc-week-grid,.sc-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.sc-week-grid button{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 0 6px;border-radius:9px;background:transparent;color:var(--ink);border:1px solid transparent}.sc-week-grid button[aria-pressed=true]{background:var(--go);color:#fff}.sc-week-grid button[aria-current=date]{border-color:var(--go)}.sc-week-grid b{font-size:21px}.sc-week-grid span{font-size:12px}.sc-markers{height:8px;display:flex;gap:4px;align-items:center}.sc-deadline-dot{display:block;width:5px;height:5px;border-radius:50%;background:currentColor}.sc-study-dot{display:block;width:9px;height:3px;background:currentColor}.sc-legend{display:flex;gap:16px;font-size:12px;margin-top:14px;color:var(--ink-soft)}.sc-section{margin:32px 0}.sc-section h2,.sc-warning h2{font-family:var(--display);font-size:23px;margin:0 0 12px}.sc-section-heading a{min-height:44px;display:inline-flex;align-items:center;font-weight:700;color:var(--go)}.sc-muted{color:var(--ink-soft);font-size:14px;line-height:1.6;margin:12px 0}.sc-empty{padding:20px 0;border-block:1px solid var(--rule)}.sc-empty h3{margin:0 0 8px}.sc-empty p{line-height:1.6;margin:0}.sc-sessions,.sc-priorities{padding:0;list-style:none}.sc-sessions li{border-left:4px solid var(--go);border-bottom:1px solid var(--rule);padding:20px;margin:18px 0;background:var(--paper-2);border-radius:0 12px 12px 0;overflow-wrap:anywhere}.sc-session-time{display:flex;justify-content:space-between;gap:8px;font-weight:700;font-size:14px;margin-bottom:16px;flex-wrap:wrap}.sc-session-time span{color:var(--ink-soft);font-weight:400}.sc-sessions h3{font-family:var(--display);font-size:23px;line-height:1.25;margin:4px 0 12px}.sc-start{display:inline-flex;min-height:44px;align-items:center;padding:10px 16px;color:#fff;background:var(--go);border-radius:8px;font-weight:700;text-decoration:none}.sc-activities{list-style:none;padding:0;margin:12px 0 20px}.sc-sessions .sc-activities li{display:flex;justify-content:space-between;gap:12px;border:0;border-top:1px solid var(--rule);padding:12px 0;margin:0;background:none;border-radius:0;font-size:14px;line-height:1.5}.sc-activities li span:last-child{flex-shrink:0;color:var(--ink-soft)}.day-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:24px}.day-toolbar h3{font-family:var(--display);font-size:22px;margin:0}.day-scroll{position:relative;max-height:620px;overflow:auto;overscroll-behavior:contain;border-block:1px solid var(--rule);padding:12px 4px;scrollbar-gutter:stable}.day-row{display:grid;grid-template-columns:65px minmax(0,1fr);gap:10px;padding-bottom:5px}.day-hour{font-size:12px;color:var(--ink-soft);padding-top:12px;font-variant-numeric:tabular-nums}.day-block{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:7px;min-height:56px;padding:14px;text-align:left;border-radius:8px;text-decoration:none;overflow-wrap:anywhere}.day-personal{background:var(--paper-2);color:var(--ink);border-left:4px solid var(--ink-soft)}.day-block strong{font-size:17px}.day-block span{font-size:12px}.day-study{background:var(--go-wash);color:var(--ink);border-left:4px solid var(--go)}.day-free{display:flex;align-items:center;justify-content:space-between;border-top:1px dashed var(--rule);background:transparent;color:var(--ink-soft);padding:10px 14px;min-height:44px;text-align:left;font-size:13px}.day-free:hover{background:var(--paper-2)}.day-end{font-size:12px;color:var(--ink-soft);padding:12px 0}.day-time-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-width:0}.day-time-fields label{min-width:0}.day-weekdays{margin:12px 8px 0 0}.day-delete{color:var(--pen);min-height:44px;background:transparent;text-decoration:underline;padding:8px}.day-planner+.sc-muted{margin-top:24px}.day-study-details summary{min-height:44px;padding:12px 0;cursor:pointer;font-weight:700;color:var(--go)}.day-study-wrap{display:flex;flex-direction:column;min-width:0;background:#eee7fa;border-left:4px solid #7151a6;border-radius:8px;overflow:hidden}.day-study-wrap .day-study{background:transparent;border:0;color:#322347;flex:1;border-radius:0}.day-remove-study{min-height:44px;text-align:left;padding:10px 14px;background:transparent;border:0;border-top:1px solid #d5c6ec;color:#52367e;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.day-remove-study:hover{background:#e3d7f4}.day-remove-study:focus-visible{outline:3px solid #7151a6;outline-offset:-3px}.sc-removed{list-style:none;padding:0}.sc-removed li{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--rule)}.sc-study-dot{background:#7151a6}@media(max-width:360px){.sc-dialog .sc-days{grid-template-columns:repeat(4,1fr)}.day-row{grid-template-columns:57px minmax(0,1fr);gap:6px}.day-block{padding:10px}}.sc-priorities li{display:flex;align-items:flex-start;gap:14px;padding:18px 0;border-bottom:1px solid var(--rule)}.sc-rank{color:var(--ink-soft);padding-top:3px;font-variant-numeric:tabular-nums}.sc-priorities a{color:var(--ink);text-decoration:none;display:grid;gap:7px;min-height:44px;overflow-wrap:anywhere}.sc-priorities strong{font-size:18px}.sc-priorities a span{font-size:14px;color:var(--ink-soft)}.sc-warning{padding:18px;border-left:3px solid var(--pen);background:var(--pen-wash);border-radius:6px;line-height:1.6}.sc-warning li{margin:10px 0}.sc-warning a{color:var(--ink)}.sc-due{border-left:3px solid var(--pen);padding:4px 14px;margin:16px 0}.sc-due h3{font-size:13px;color:var(--ink-soft)}.sc-due a{display:flex;gap:8px;justify-content:space-between;padding:10px 0;color:var(--ink);overflow-wrap:anywhere}.sc-due span{font-size:13px}.sc-dialog{border:1px solid var(--rule);border-radius:16px;background:var(--paper);color:var(--ink);padding:24px;width:min(520px,calc(100% - 24px));max-height:85dvh;overflow:auto;margin:auto}.sc-dialog::backdrop{background:#17150f73}.sc-dialog h2{font-family:var(--display);font-size:28px;margin-top:0}.sc-dialog p{line-height:1.6}.sc-dialog fieldset{border:0;padding:0;margin:24px 0}.sc-dialog legend{margin-bottom:10px;font-weight:700}.sc-days button{min-height:44px;border:1px solid var(--rule);border-radius:6px;background:var(--paper);color:var(--ink);font-size:12px}.sc-days button[aria-pressed=true]{background:var(--go);color:#fff}.sc-dialog label{display:grid;gap:8px;margin:18px 0;font-weight:600}.sc-dialog input:not([type=checkbox]),.sc-dialog select{width:100%;padding:12px;min-height:48px;font-size:16px;background:var(--paper);color:var(--ink);border:1px solid var(--rule);border-radius:6px}.sc-dialog .sc-check{display:flex;align-items:center;min-height:44px}.sc-check input{width:20px;height:20px}.sc-page :focus-visible,.sc-dialog :focus-visible{outline:3px solid var(--go);outline-offset:3px}.nav-item.nav-account-desktop{display:none}.shell-account{display:flex;justify-content:flex-end;max-width:900px;margin:auto;padding:8px 20px 0}.shell-account a{color:var(--ink-soft);min-height:44px;display:inline-flex;align-items:center;padding:8px;font-weight:700}@media(min-width:900px){.nav-item.nav-account-desktop{display:flex}.shell-account{display:none}}@media(max-width:600px){.sc-page{padding:16px 16px 40px}.sc-week{padding:12px 6px}.sc-dialog{margin:auto auto 0;width:100%;max-width:none;max-height:90dvh;border-radius:16px 16px 0 0;padding:20px 16px calc(20px + env(safe-area-inset-bottom,0px))}.sc-section-heading{align-items:flex-start}.sc-sessions li{padding:16px}}@media(prefers-reduced-motion:no-preference){.sc-button,.sc-start{transition:background-color .15s ease-out}.sc-dialog[open]{animation:sc-open .18s ease-out}@keyframes sc-open{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}.guided-study{border:1px solid var(--rule);border-radius:16px;padding:clamp(18px,4vw,32px);background:var(--paper);margin:20px 0;color:var(--ink)}.guided-study h2{font-family:var(--display);font-size:clamp(25px,5vw,34px);margin:6px 0 12px}.guided-study h3{font-size:21px;line-height:1.45;margin:18px 0}.guided-study p{line-height:1.65}.gs-eyebrow{font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-soft)}.gs-time{background:var(--go-wash);padding:12px 16px;border-radius:10px;font-size:14px}.gs-topic{display:grid;gap:8px;font-weight:600;margin:20px 0}.gs-topic select{max-width:100%;min-width:0;width:100%;font:inherit;font-size:16px;padding:12px;border:1px solid var(--rule);border-radius:8px;background:var(--paper);color:var(--ink)}.gs-steps{list-style:none;display:flex;gap:8px;padding:0;margin:24px 0;flex-wrap:wrap}.gs-steps li{font-size:13px;padding:6px 10px;border-radius:20px;background:var(--paper-2);color:var(--ink-soft)}.gs-steps li[aria-current]{background:var(--go);color:#fff}.gs-actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.gs-actions button,.gs-actions a{min-height:44px;white-space:normal}.gs-actions button:disabled{opacity:.5;cursor:default}.gs-choices{display:grid;gap:10px}.gs-choices button{font:inherit;text-align:left;padding:14px 16px;min-height:48px;color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:10px;line-height:1.5}.gs-choices button[aria-pressed=true]{border:2px solid var(--go);background:var(--go-wash)}.gs-choices button:disabled{cursor:default}.gs-feedback,.gs-prompt{padding:16px;border-left:3px solid var(--go);background:var(--go-wash);margin-top:18px;border-radius:0 10px 10px 0}.gs-small{font-size:12px;color:var(--ink-soft)}.guided-study :focus-visible{outline:3px solid var(--go);outline-offset:3px}.gs-library>summary{cursor:pointer;padding:16px 0;font-weight:600;font-size:18px}.gs-session{overflow-wrap:anywhere}.assignment-resources .gs-session h3{font-family:var(--sans);font-size:19px;font-weight:600;line-height:1.5}.assignment-resources .gs-choices button:disabled{opacity:1;color:var(--ink)}.gs-topic input{font:inherit;font-size:16px;min-height:44px;padding:8px 12px;width:100%;box-sizing:border-box;border:1px solid var(--rule);border-radius:8px;background:var(--paper);color:var(--ink)}@media(max-width:480px){.gs-actions{flex-direction:column}.gs-actions>*{width:100%;box-sizing:border-box}.gs-steps{gap:5px}.gs-steps li{padding:6px 8px}.guided-study .notes-h2{font-size:22px}}.math-assignment{margin:24px 0;line-height:1.65;overflow-wrap:anywhere}.math-assignment h2{font-family:var(--display);font-size:1.7rem;line-height:1.2}.math-eyebrow{color:var(--go);font-weight:700}.math-example{background:var(--go-wash);border-radius:12px;padding:18px;margin:20px 0}.math-example ol,.math-problems ol{padding-left:22px}.math-example li,.math-problems ol li{margin:12px 0}.math-problems{list-style:none;padding:0;display:grid;gap:16px}.math-problems>li{border:1px solid var(--rule);border-radius:12px;padding:18px}.math-problems h4{margin:0;color:var(--ink-soft)}.math-problems summary{cursor:pointer;padding:12px 0;min-height:44px;font-weight:600}.math-section-nav{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.math-section-nav button{padding:10px 12px;min-height:44px;border:1px solid var(--rule);border-radius:8px;background:transparent;color:inherit;font:inherit;cursor:pointer}.math-assignment [id]{scroll-margin-top:20px}.dash{max-width:480px;margin:0 auto;padding:0 var(--s4) var(--s9)}.dash-top{display:flex;align-items:center;justify-content:space-between;padding:var(--s5) 0 var(--s6)}.dash .mark{font-family:var(--display);font-weight:900;font-size:20px;letter-spacing:-.03em;color:var(--ink)}.avatar{width:40px;height:40px;border-radius:50%;border:var(--edge);font-family:var(--display);font-weight:800;font-size:16px;color:var(--ink);background:var(--paper);transition:transform .12s ease}.avatar:active{transform:scale(.94)}.standing{margin-bottom:var(--s6)}.course-tag{font-family:var(--mono);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--go);margin-bottom:var(--s3)}.standing h1{font-size:40px;line-height:1;margin-bottom:var(--s4)}.standing h1 .days{color:var(--pen)}.standing-say{font-size:16px;color:var(--ink-soft);max-width:32ch}.start{display:grid;grid-template-columns:1fr auto;align-items:center;row-gap:4px;background:var(--ink);color:var(--paper);border-radius:var(--r);padding:var(--s5);margin-bottom:var(--s5);box-shadow:4px 4px 0 var(--go);transition:transform .12s ease,box-shadow .12s ease}.start:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--go)}.start-label{font-family:var(--display);font-weight:800;font-size:22px}.start-sub{grid-column:1 / 2;font-size:13.5px;opacity:.82}.start-arrow{grid-column:2;grid-row:1 / 3;font-size:28px;font-family:var(--display)}.weak{border:var(--edge);border-radius:var(--r);padding:var(--s5);margin-bottom:var(--s6);background:var(--pen-wash);border-color:var(--pen)}.weak-head{display:flex;justify-content:space-between;align-items:baseline}.weak-kicker{font-family:var(--mono);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--pen)}.weak-pct{font-family:var(--display);font-weight:900;font-size:22px;color:var(--pen)}.weak-name{font-family:var(--display);font-weight:800;font-size:24px;margin:2px 0 var(--s4)}.weak-cta{display:inline-flex;align-items:center;font-family:var(--sans);font-weight:700;font-size:15px;color:var(--paper);background:var(--pen);padding:10px 18px;border-radius:8px;transition:transform .12s ease}.weak-cta:active{transform:scale(.96)}.stand{margin-bottom:var(--s6)}.stand h2{font-family:var(--display);font-weight:900;font-size:24px;margin-bottom:var(--s4)}.units{list-style:none;display:grid;gap:var(--s3)}.unit{border:var(--edge);border-radius:var(--r);background:var(--paper);box-shadow:3px 3px 0 var(--ink);transition:transform .12s ease,box-shadow .12s ease}.unit a{display:block;padding:var(--s4)}.unit:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}.unit.t-weak{border-color:var(--pen);box-shadow:3px 3px 0 var(--pen)}.unit.t-weak:active{box-shadow:1px 1px 0 var(--pen)}.unit-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:7px}.unit-name{font-weight:600;font-size:15px}.unit-pct{font-family:var(--mono);font-size:12.5px;color:var(--ink-soft)}.bar{height:8px;background:var(--paper-2);border-radius:999px;overflow:hidden;border:1px solid var(--rule)}.bar span{display:block;height:100%;border-radius:999px;transition:width .6s cubic-bezier(.22,1,.36,1)}.unit.t-strong .bar span{background:var(--go)}.unit.t-mid .bar span{background:#b8860b}.unit.t-weak .bar span{background:var(--pen)}.unit.t-weak .unit-pct{color:var(--pen);font-weight:600}.unit.t-none .bar span{background:var(--rule)}.unit.t-none .unit-name{color:var(--ink-soft)}.resume{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);border:1.5px dashed var(--rule-ink);border-radius:var(--r);padding:var(--s4) var(--s5);font-size:14.5px;color:var(--ink);transition:background .12s ease}.resume:active{background:var(--paper-2)}.resume b{font-family:var(--display);font-weight:800;color:var(--go);white-space:nowrap}.unit-note{display:block;margin-top:6px;font-family:var(--mono);font-size:12px;color:var(--ink-soft);line-height:1.5}.unit.t-weak .unit-note{color:var(--pen)}.page-fine{margin-top:var(--s4);font-size:13px;color:var(--ink-soft);line-height:1.55;max-width:54ch}.ac-launch{margin-block:24px;padding-block:20px;border-top:1px solid var(--rule);overflow-wrap:anywhere}.ac-launch h2{font-family:var(--display);font-size:24px;margin-bottom:12px}.ac-launch h3{margin-block:18px 10px}.ac-launch p{line-height:1.55;margin-block:10px}.ac-launch ul{padding-left:20px;margin-block:12px}.ac-launch li{margin-block:8px;line-height:1.5}.ac-export-preview>ul{list-style:none;padding:0}.ac-export-preview>ul li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;padding-block:8px;border-bottom:1px solid var(--rule)}.ac-launch-check{display:flex;align-items:flex-start;gap:10px;padding-block:16px;line-height:1.5}.ac-launch-check input{flex:0 0 20px;width:20px;height:20px;margin-top:2px}.ac-launch button{min-height:44px;white-space:normal;max-width:100%}.ac-launch summary{cursor:pointer;padding-block:12px}.ac-launch [role=alert]{color:var(--pen)}.ac-launch :focus-visible{outline:3px solid var(--go);outline-offset:3px}.ac{padding-bottom:var(--s9)}.ac-group{margin-top:var(--s6)}.ac-h2{font-family:var(--mono);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--go);margin-bottom:var(--s2)}.ac-say{font-size:13.5px;color:var(--ink-soft);line-height:1.5;margin-top:var(--s2);max-width:52ch}.ac-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);min-height:52px;padding:11px var(--s4);border:1.5px solid var(--rule);border-radius:var(--r);background:var(--paper);margin-bottom:8px}.ac-link{text-decoration:none;color:var(--ink);font-weight:600;font-size:15px;transition:transform .15s ease,border-color .15s ease}.ac-link:hover{border-color:var(--ink)}.ac-link:active{transform:translateY(1px)}.ac-link:focus-visible{outline:none;box-shadow:0 0 0 3px var(--go-wash);border-color:var(--go)}.ac-chev{color:var(--ink-soft);font-size:18px;line-height:1}.ac-status{background:var(--paper-2);border-style:solid;border-color:var(--rule);cursor:default;align-items:flex-start}.ac-status>div{min-width:0;flex:1 1 auto}.ac-status-label{display:block;font-weight:600;font-size:15px;color:var(--ink);overflow-wrap:break-word}.ac-status-note{display:block;font-size:12.5px;color:var(--ink-soft);line-height:1.45;margin-top:3px;max-width:42ch;overflow-wrap:break-word;word-break:break-word}.ac-badge{flex:none;font-family:var(--mono);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);border:1.5px solid var(--rule);border-radius:999px;padding:3px 9px;background:var(--paper)}.ac-budget{border:0;padding:0;margin:0 0 var(--s3)}.ac-budget legend{font-size:15px;font-weight:600;color:var(--ink);margin-bottom:var(--s2);padding:0}.ac-chips{display:flex;flex-wrap:wrap;gap:8px}.ac-chip{font-family:var(--mono);font-weight:700;font-size:14px;min-height:44px;padding:0 16px;border-radius:999px;border:1.5px solid var(--rule);background:var(--paper);color:var(--ink-soft);transition:transform .15s ease,background .15s ease,color .15s ease}.ac-chip:active{transform:translateY(1px)}.ac-chip:focus-visible{outline:none;box-shadow:0 0 0 3px var(--go-wash)}.ac-chip.on{background:var(--go);border-color:var(--go);color:#fff}.ac-out{margin-top:var(--s7)}.ac-error{margin-top:var(--s3);font-size:13.5px;color:var(--pen);line-height:1.5;max-width:50ch}@media(prefers-reduced-motion:reduce){.ac-link,.ac-chip{transition:none}}@media(min-width:720px){.ac-status-note{max-width:60ch}}.ac-username{padding:var(--s4) 0 var(--s3);border-top:1.5px solid var(--rule)}.ac-username .ac-status-label{display:block;margin-bottom:var(--s1)}.ac-username-field{display:flex;gap:var(--s2);align-items:stretch;margin-top:var(--s3)}.ac-username-field input{flex:1;min-width:0;font-family:var(--sans);font-size:16px;padding:12px 14px;border:var(--edge);border-radius:var(--r);background:var(--paper);color:var(--ink);min-height:48px}.ac-username-field input:focus{outline:none;box-shadow:0 0 0 3px var(--go-wash)}.ac-username-field .btn-primary{flex:0 0 auto;padding:0 var(--s4);min-height:48px}.ac-username-field .btn-primary:disabled{opacity:.45;cursor:not-allowed}.ac-username-note{font-size:13px;line-height:1.5;margin:var(--s2) 0 0}.ac-username-note[data-tone=muted]{color:var(--ink-soft)}.ac-username-note[data-tone=good]{color:var(--go)}.ac-username-note[data-tone=bad]{color:var(--pen)}.legal{max-width:600px;margin:0 auto;padding:0 var(--s4) var(--s9)}.legal-top{display:flex;align-items:center;justify-content:space-between;padding:var(--s5) 0 var(--s4)}.legal .mark{font-family:var(--display);font-weight:900;font-size:20px;letter-spacing:-.03em;color:var(--ink);text-decoration:none}.legal-back{font-family:var(--sans);font-weight:700;font-size:14px;color:var(--ink-soft);text-decoration:none}.legal-back:hover{color:var(--go)}.legal-draft{border:var(--edge);border-color:var(--pen);background:var(--pen-wash);color:var(--ink);border-radius:var(--r);padding:var(--s4);font-size:14px;line-height:1.5;margin-bottom:var(--s6)}.legal-draft strong{color:var(--ink)}.legal-doc h1{font-family:var(--display);font-weight:900;font-size:34px;letter-spacing:-.02em;margin-bottom:var(--s2)}.legal-meta{font-family:var(--mono);font-size:12.5px;color:var(--ink-soft);margin-bottom:var(--s5)}.legal-intro{font-size:16px;color:var(--ink-soft);line-height:1.6;margin-bottom:var(--s6)}.legal-doc section{margin-bottom:var(--s6)}.legal-doc h2{font-family:var(--display);font-weight:800;font-size:20px;margin-bottom:var(--s3)}.legal-doc p{font-size:15.5px;line-height:1.65;color:var(--ink);margin-bottom:var(--s3)}.legal-doc ul{margin:0 0 var(--s3) var(--s5);display:grid;gap:6px}.legal-doc li{font-size:15.5px;line-height:1.6;color:var(--ink)}.legal-doc a{color:var(--go);text-decoration:underline;text-underline-offset:2px}.legal-foot{display:flex;gap:var(--s4);border-top:1.5px solid var(--rule);padding-top:var(--s4);margin-top:var(--s6)}.legal-foot a{font-family:var(--sans);font-weight:700;font-size:14px;color:var(--ink-soft);text-decoration:none}.legal-foot a:hover{color:var(--go)}.notfound{max-width:480px;margin:0 auto;padding:var(--s9) var(--s4);text-align:center}.notfound h1{font-family:var(--display);font-weight:900;font-size:48px;letter-spacing:-.02em;margin-bottom:var(--s3)}.notfound p{color:var(--ink-soft);margin-bottom:var(--s5)}.notfound a{font-family:var(--display);font-weight:800;color:var(--go);text-decoration:none}.page{max-width:480px;margin:0 auto;padding:0 var(--s4) var(--s9)}.page-top{display:flex;align-items:center;justify-content:space-between;padding:var(--s5) 0 var(--s4)}.page .mark{font-family:var(--display);font-weight:900;font-size:20px;letter-spacing:-.03em;color:var(--ink);text-decoration:none}.page-back{display:inline-flex;align-items:center;font-family:var(--sans);font-weight:700;font-size:14px;color:var(--ink-soft);text-decoration:none;min-height:44px;padding:12px 4px;margin:-12px -4px}.page-back:hover{color:var(--go)}.page-eyebrow{font-family:var(--mono);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--go);margin-bottom:var(--s2)}.page-h1{font-family:var(--display);font-weight:900;font-size:34px;letter-spacing:-.02em;margin-bottom:var(--s3)}.page-say{font-size:15.5px;color:var(--ink-soft);max-width:38ch;margin-bottom:var(--s6);line-height:1.5}.page-section-label{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin:var(--s6) 0 var(--s3)}.btn-primary{display:flex;align-items:center;justify-content:center;width:100%;font-family:var(--display);font-weight:800;font-size:17px;padding:var(--s4);border-radius:var(--r);background:var(--go);color:#fff;min-height:56px;box-shadow:4px 4px 0 var(--ink);text-decoration:none;transition:transform .12s ease,box-shadow .12s ease;margin-bottom:var(--s3)}.btn-primary:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}.btn-primary:disabled{opacity:.38;box-shadow:none;pointer-events:none}.btn-dark{background:var(--ink);color:var(--paper);box-shadow:4px 4px 0 var(--go)}.btn-dark:active{box-shadow:2px 2px 0 var(--go)}.btn-ghost{display:flex;align-items:center;justify-content:center;width:100%;font-family:var(--display);font-weight:800;font-size:16px;padding:var(--s4);border-radius:var(--r);border:var(--edge);background:var(--paper);color:var(--ink);min-height:56px;text-decoration:none;margin-bottom:var(--s3);transition:transform .12s ease}.btn-ghost:active{transform:scale(.98)}.app-shell{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}.app-nav{position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--paper);border-top:var(--edge);padding-bottom:env(safe-area-inset-bottom,0)}.app-nav-inner{max-width:480px;margin:0 auto;display:flex}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 0 12px;color:var(--ink-soft);text-decoration:none;min-height:60px;border-radius:var(--r)}.nav-glyph{font-size:20px;line-height:1}.nav-label{font-family:var(--sans);font-weight:700;font-size:11px}.nav-item.on{color:var(--ink);background:var(--go-wash)}.nav-item.on .nav-glyph{transform:translateY(-1px);color:var(--go)}.auth{max-width:420px;margin:0 auto;padding:var(--s7) var(--s4) var(--s9);min-height:100vh;display:flex;flex-direction:column;justify-content:center}.auth-mark{font-family:var(--display);font-weight:900;font-size:24px;letter-spacing:-.03em;color:var(--ink);text-decoration:none;display:inline-block;align-self:flex-start;margin-bottom:var(--s6)}.auth-h1{font-family:var(--display);font-weight:900;font-size:32px;letter-spacing:-.02em;margin-bottom:var(--s5)}.auth-field{margin-bottom:var(--s3)}.auth-field label{display:block;font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin-bottom:6px}.auth-field input{width:100%;font-family:var(--sans);font-size:16px;padding:12px 14px;border:var(--edge);border-radius:var(--r);background:var(--paper);color:var(--ink);min-height:52px}.auth-field input:focus{outline:none;box-shadow:0 0 0 3px var(--go-wash)}.auth-alt{text-align:center;font-size:14px;color:var(--ink-soft);margin-top:var(--s4)}.auth-alt a{color:var(--go);font-weight:700;text-decoration:none}.auth-oauth{display:flex;align-items:center;justify-content:center;gap:var(--s3);width:100%;font-family:var(--display);font-weight:800;font-size:15px;padding:var(--s4);border-radius:var(--r);border:var(--edge);background:var(--paper);color:var(--ink);min-height:52px;margin-bottom:var(--s4)}.auth-divider{display:flex;align-items:center;gap:var(--s3);color:var(--ink-soft);font-family:var(--mono);font-size:12px;margin:var(--s4) 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1.5px;background:var(--rule)}.auth-error{font-size:14px;line-height:1.5;color:var(--ink);background:var(--pen-wash);border-left:3px solid var(--pen);border-radius:var(--r);padding:10px 12px;margin:0 0 var(--s3)}.auth-notice{font-size:14px;line-height:1.5;color:var(--ink);background:var(--go-wash);border-left:3px solid var(--go);border-radius:var(--r);padding:10px 12px;margin:0 0 var(--s3)}.nav-brand{display:none}@media(min-width:900px){.app-nav{top:0;bottom:0;right:auto;width:210px;border-top:none;border-right:var(--edge);padding-bottom:0}.app-nav-inner{max-width:none;flex-direction:column;align-items:stretch;padding:var(--s5) var(--s3);gap:4px;height:100%}.nav-brand{display:block;font-family:var(--display);font-weight:900;font-size:22px;letter-spacing:-.03em;color:var(--ink);padding:0 var(--s3) var(--s5)}.nav-item{flex:none;flex-direction:row;align-items:center;gap:var(--s3);padding:11px var(--s3);border-radius:var(--r);min-height:46px}.nav-item:hover{background:var(--paper-2)}.nav-item.on{background:var(--go-wash)}.nav-item.on .nav-glyph{transform:none}.nav-label{font-size:14.5px}.app-shell{padding-bottom:0;padding-left:210px}.page{max-width:900px;padding-left:var(--s7);padding-right:var(--s7)}.page-top,.read-top{padding-top:var(--s6)}.page-top .mark,.read-top .mark{display:none}.read-h1,.page-h1{font-size:40px}}@media(min-width:1280px){.page{max-width:1040px}}.owner-activity{max-width:1000px;margin:auto;padding-bottom:120px}.owner-activity header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:24px 0}.owner-activity h1{font-family:var(--display);font-size:clamp(28px,5vw,42px)}.owner-activity p{max-width:70ch;line-height:1.6}.owner-activity button{min-height:44px}.oa-note{color:var(--ink-soft)}.oa-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:24px 0 36px;border-top:2px solid var(--ink)}.oa-metrics>div{padding:20px 12px;border-bottom:1px solid var(--rule)}.oa-metrics dt{font-size:14px;line-height:1.5}.oa-metrics dd{margin:8px 0 0;font-size:28px;font-weight:700;font-variant-numeric:tabular-nums}.oa-users{list-style:none;padding:0}.oa-users li{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--rule);overflow-wrap:anywhere}.oa-users li>div{display:flex;flex-direction:column;gap:6px}.oa-users time{font-size:13px;color:var(--ink-soft)}.oa-active{background:var(--go-wash);color:var(--ink);padding:4px 8px;border-left:3px solid var(--go)}.oa-controls{display:flex;gap:12px;margin:20px 0}.owner-activity details{margin-top:32px}.owner-activity summary{cursor:pointer;padding:14px 0}.owner-activity details li{margin:12px 0;line-height:1.5}@media(max-width:600px){.oa-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.oa-users li{flex-direction:column;gap:10px}.owner-activity header{align-items:flex-start}.oa-metrics dd{font-size:24px}}.mobile-assignment-nav{display:none}@media(max-width:767px){.aw{display:flex;flex-direction:column;padding:12px 16px calc(88px + env(safe-area-inset-bottom))}.aw>*{order:5;min-width:0}.aw>.aw-top{order:0}.aw>.aw-heading{order:1;margin:12px 0}.aw>.aw-ask{order:2;position:static;width:100%;max-width:none;margin:0 0 12px;box-shadow:none;min-height:44px}.aw>.mobile-assignment-nav{order:3}.aw>.aw-brief{order:4}.mobile-assignment-nav{display:flex;gap:8px;overflow-x:auto;padding:2px 0 10px}.mobile-assignment-nav button{flex:0 0 auto;min-height:44px;padding:8px 12px;border:1px solid var(--rule);border-radius:8px;color:var(--ink);background:var(--paper);font:inherit;font-size:14px}.aw .assignment-guide,.aw .resource-panel,.aw .aw-paper{padding:16px;margin:16px 0;border-radius:12px}.aw .assignment-guide>h2,.aw .resource-panel>h2,.aw .aw-paper h2{font-size:23px;line-height:1.25}.aw .guide-content{font-size:16px;line-height:1.65}.aw .guide-content p,.aw details p{font-size:16px;line-height:1.6}.aw .resource-panel a{padding:12px 0;gap:4px}.aw .guide-lesson{margin:12px 0;padding:8px 0}.aw .guide-lesson summary{padding:10px 0}.aw .aw-help-actions{display:grid;grid-template-columns:1fr}.aw .math-example,.aw .math-problems>li{padding:14px}.aw .math-section-nav{gap:6px}.aw .aw-chat{height:96dvh;max-height:96dvh}.aw .aw-chat header,.aw .aw-messages{padding:14px 16px}.aw .aw-messages{min-height:0}.aw .aw-chat form{padding:12px 16px max(12px,env(safe-area-inset-bottom))}.aw .aw-chat textarea{max-height:22dvh}.aw .aw-chat form>div{flex-wrap:wrap}.aw .aw-chat form button{margin-left:auto}.schedule-home{padding:0 16px calc(88px + env(safe-area-inset-bottom))}.schedule-home .hm-calendar{padding:12px;border-radius:16px}.schedule-home .hm-weekbar button{min-width:44px}.schedule-home .hm-day{min-height:64px;padding:6px 0}.schedule-home .hm-sec-head{flex-wrap:wrap}.schedule-home .hm-sec-head h1{font-size:28px}.schedule-home .hm-card{padding:16px}.schedule-home .hm-card:first-child{padding-left:13px}.schedule-home .hm-card-actions{display:flex;gap:8px}.schedule-home .hm-start{flex:1;text-align:center}.schedule-home .hm-class-main{min-height:112px;padding:16px 36px 16px 16px}.schedule-home .hm-class-name{font-size:20px}.app-nav{padding-bottom:env(safe-area-inset-bottom)}body:has(textarea:focus,input[type=text]:focus,input[type=email]:focus,input[type=password]:focus) .app-nav{visibility:hidden}:is(.page,.auth,.ob) :is(input,select,textarea){font-size:max(16px,1em)}}@media(display-mode:standalone){body{padding-top:env(safe-area-inset-top,0px);background-color:var(--paper)}html,body{overscroll-behavior-y:contain}a,button,.nav-item,.tap{-webkit-tap-highlight-color:transparent}.nav-item,.btn-primary,.btn-ghost,.page-back{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}}
