:root{--bg:#f6f7f9;--surface:#fff;--surface-2:#f0f2f5;--text:#1c1f24;--muted:#5d6573;--border:#dde1e7;--accent:#1555dd;--accent-text:#fff;--brand:#1555dd;--brand-dark:#0f44b5;--nav-bg:#1555dd;--nav-text:#fff;--review:#15803d;--review-dark:#116932;--review-text:#fff;--track:#e3e9f6;--heat-0:#e6e9ef;--heat-1:#c3d4f7;--heat-2:#86a9ef;--heat-3:#4a7de6;--heat-4:#1555dd;--flame:#f06a1d;--xp:#8a5a00;--good:#1f8a4c;--warn:#b26a00;--bad:#c0392b;--info:#2f5bd3;--easy:#2b6cb0;--radius:14px;--shadow:0 1px 2px #0000000f;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5}@media (prefers-color-scheme:dark){:root{--bg:#14161a;--surface:#1d2025;--surface-2:#262a31;--text:#e8eaee;--muted:#a0a7b4;--border:#343944;--accent:#7b9cff;--accent-text:#0e1320;--brand:#7b9cff;--brand-dark:#a3baff;--nav-bg:#12306f;--nav-text:#fff;--review:#3fae6a;--review-dark:#5cc585;--review-text:#0b1f12;--track:#2b3240;--heat-0:#262b35;--heat-1:#1f3769;--heat-2:#2d519c;--heat-3:#4a74d6;--heat-4:#7b9cff;--flame:#ff8a4c;--xp:#f2c14e;--good:#4cc27d;--warn:#e0a33a;--bad:#ff7a6b;--info:#7b9cff;--easy:#6fa8ff}}*{box-sizing:border-box}body{margin:0}h1,h2,h3,h4{margin:0 0 .5rem;line-height:1.25}h1{font-size:1.6rem}h2{font-size:1.2rem}h3{font-size:1rem}a{color:var(--accent)}.hint{color:var(--muted);font-size:.9rem}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}button,.button{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;align-items:center;gap:.5rem;padding:.45rem .9rem;text-decoration:none;display:inline-flex}button:disabled,.button.disabled{opacity:.5;cursor:not-allowed}button.primary,.button.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}button.danger{color:var(--bad);border-color:var(--bad)}button.link{color:var(--accent);background:0 0;border:none;padding:.25rem .4rem}button.link.danger{color:var(--bad)}button.large,.button.large{padding:.7rem 1.2rem;font-size:1.05rem}kbd{opacity:.7;border:1px solid;border-radius:4px;padding:0 .3rem;font-size:.75rem}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px;width:100%;padding:.45rem .6rem}input[type=checkbox],input[type=radio]{width:auto;padding:0}textarea{resize:vertical;min-height:10rem;line-height:1.5}label{gap:.3rem;font-weight:500;display:grid}.shell{flex-direction:column;min-height:100vh;display:flex}.topnav{z-index:20;background:var(--nav-bg);color:var(--nav-text);position:sticky;top:0}.topnav-inner{align-items:center;gap:1.5rem;max-width:1360px;height:60px;margin:0 auto;padding:0 1.5rem;display:flex}.home-link{min-height:44px;color:var(--nav-text);border-radius:8px;align-items:center;display:inline-flex}.home-link:focus-visible,.topnav a:focus-visible,.topnav button:focus-visible{outline-color:#fff}.nav-links{align-items:center;gap:.25rem;display:flex}.nav-links a{color:var(--nav-text);opacity:.9;border-radius:8px;align-items:center;min-height:44px;padding:.5rem .8rem;font-weight:500;text-decoration:none;display:inline-flex}.nav-links a:hover{opacity:1;background:#ffffff1f}.nav-links a.active{opacity:1;background:#ffffff2e;font-weight:600}.nav-stats{align-items:center;gap:.5rem;margin-left:auto;display:flex}.nav-stat{font-variant-numeric:tabular-nums;color:var(--nav-text);background:#ffffff24;border-radius:999px;align-items:center;gap:.35rem;min-height:36px;padding:.3rem .65rem;font-weight:600;text-decoration:none;display:inline-flex}.account{position:relative}.account-button{width:40px;height:40px;color:var(--brand);background:#fff;border:none;border-radius:50%;justify-content:center;padding:0;font-weight:700}.account-menu{background:var(--surface);width:280px;color:var(--text);border:1px solid var(--border);border-radius:var(--radius);z-index:30;gap:.6rem;padding:.8rem;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 24px #00000024}.account-menu .email{overflow-wrap:anywhere;font-weight:600}.content{flex:1;min-width:0}.page{align-content:start;gap:1rem;width:100%;max-width:1360px;margin:0 auto;padding:1.5rem 2rem 3rem;display:grid}.page-header{flex-wrap:wrap;align-items:baseline;gap:.75rem;display:flex}.page-header .hint{flex-basis:100%;margin:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.1rem 1.25rem}.card-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem;display:flex}.card-header h2{margin:0}.two-column{grid-template-columns:1fr 360px;align-items:start;gap:1.25rem;display:grid}.state{text-align:center;color:var(--muted);padding:2rem}.error-state{color:var(--bad)}.banner{border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;margin:.5rem 0;padding:.6rem .8rem;display:flex}.banner.error{background:color-mix(in srgb, var(--bad) 12%, transparent);color:var(--bad)}.banner.warning{background:color-mix(in srgb, var(--warn) 14%, transparent)}.banner.info{background:color-mix(in srgb, var(--info) 12%, transparent)}.error{color:var(--bad)}.pill{background:var(--surface-2);color:var(--muted);border-radius:999px;margin-left:.4rem;padding:.1rem .5rem;font-size:.75rem;display:inline-block}.pill.warning,.pill.status-failed{color:var(--warn)}.pill.status-ready,.pill.state-active{color:var(--good)}.actions{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.75rem;display:flex}.card-header .actions{margin-top:0}.format-help{margin:.25rem 0 .5rem}.format-help summary{cursor:pointer}.format-help pre{background:var(--surface-2);white-space:pre-wrap;border-radius:8px;padding:.5rem .75rem}.inline-form{align-items:center;gap:.5rem;margin-top:.75rem;display:flex}.inline-form input,.inline-form select{max-width:360px}.inline-list{justify-content:center;gap:1rem;padding:0;list-style:none;display:flex}.tile-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.tile-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1rem;display:grid}.tile{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);gap:.25rem;padding:.9rem 1rem;text-decoration:none;display:grid}.tile:hover{border-color:var(--accent)}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.5rem .6rem}.table thead th{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-size:.8rem}.table .group-row th{font-weight:600}.table .indent{padding-left:1.6rem}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;display:grid}.stat-block{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.1rem}.stats{grid-template-columns:repeat(2,1fr);gap:.4rem 1rem;margin:.5rem 0 0;display:grid}.stats.compact{grid-template-columns:repeat(5,auto)}.stat dt{color:var(--muted);font-size:.8rem}.stat dd{margin:0;font-size:1.15rem;font-weight:600}.stat.emphasis dd{color:var(--accent)}.study-actions{flex-wrap:wrap;gap:.6rem;display:flex}.course-workspace{grid-template-columns:300px 1fr;min-height:calc(100vh - 60px);display:grid}.tree{border-right:1px solid var(--border);background:var(--surface);height:calc(100vh - 60px);padding:1rem .5rem;font-size:.92rem;position:sticky;top:60px;overflow-y:auto}.tree ul{margin:0;padding-left:.8rem;list-style:none}.tree>ul{padding-left:0}.tree a{color:var(--text);text-overflow:ellipsis;white-space:nowrap;border-radius:6px;padding:.25rem .5rem;text-decoration:none;display:block;overflow:hidden}.tree a.active{background:var(--surface-2);font-weight:600}.tree .tree-course{margin-bottom:.5rem;font-weight:700}.tree .tree-chapter{margin-top:.4rem;font-weight:600}.tree .tree-concept:before{content:"○ ";color:var(--muted)}.tree .tree-concept.state-active:before{content:"● ";color:var(--good)}.tree .tree-concept.state-paused:before{content:"◐ ";color:var(--warn)}.tree .tree-extra{color:var(--accent);margin-top:1rem}.workspace-main{min-width:0}.item-list{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.item-row{text-align:left;justify-items:start;gap:.15rem;width:100%;display:grid}.item-detail{border-left:3px solid var(--border);margin:.4rem 0 .8rem .4rem;padding:.75rem 1rem}.toggle{align-items:center;gap:.5rem;display:flex}.toggle input{width:auto}.passage{border-left:3px solid var(--accent);background:var(--surface-2);white-space:pre-wrap;border-radius:0 8px 8px 0;margin:.5rem 0;padding:.6rem .9rem}.passage cite{color:var(--muted);margin-bottom:.3rem;font-size:.8rem;font-style:normal;display:block}.editor-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.editor-row input{flex:16rem;min-width:10rem}.editor-row select{flex:0 12rem;width:auto;min-width:0}.title-input{font-weight:600}.concept-editor{gap:.4rem;padding-left:1.2rem;display:grid}.sources-line{margin:.2rem 0 0}.sticky-actions{position:sticky;bottom:0}.study{grid-template-rows:auto 1fr;min-height:100vh;display:grid}.study-header{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;padding:.8rem 2rem;display:flex}.study-header>div{align-items:center;gap:.8rem;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.78rem;font-weight:600}.counter{font-variant-numeric:tabular-nums;color:var(--muted)}.study-body{grid-template-columns:minmax(0,820px);justify-content:center;gap:1.5rem;padding:1.5rem 2rem;display:grid}.study-body.with-panel{grid-template-columns:minmax(0,760px) minmax(320px,480px)}.study-main .card{gap:.8rem;display:grid}.question{font-size:1.35rem}.reading{white-space:pre-wrap;font-size:1.05rem;line-height:1.65}.your-answer{background:var(--surface-2);border-radius:8px;padding:.6rem .9rem}.your-answer p{white-space:pre-wrap;margin:0}.outcome{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.outcome-badge{font-size:1.4rem;font-weight:700}.outcome-again{color:var(--bad)}.outcome-hard{color:var(--warn)}.outcome-good{color:var(--good)}.outcome-easy{color:var(--easy)}.points ul{margin:0;padding-left:1.2rem}.reference summary{cursor:pointer;font-weight:600}.sources ul{gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.source-link{color:var(--accent);text-align:left;background:0 0;border:none;padding:0}.grades .grade-row{grid-template-columns:repeat(4,1fr);gap:.6rem;display:grid}.grade{text-align:left;justify-items:start;gap:.2rem;padding:.7rem .8rem;display:grid}.grade span{color:var(--muted);font-size:.85rem}.grade-again strong{color:var(--bad)}.grade-hard strong{color:var(--warn)}.grade-good strong{color:var(--good)}.grade-easy strong{color:var(--easy)}.source-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-self:start;max-height:calc(100vh - 6rem);padding:1rem 1.1rem;position:sticky;top:1rem;overflow-y:auto}.source-panel header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.signin{place-items:center;min-height:100vh;padding:1rem;display:grid}.signin-card{gap:.9rem;width:min(420px,100%);display:grid}@media (width<=900px){.course-workspace,.two-column,.study-body.with-panel{grid-template-columns:1fr}.tree{height:auto;position:static}.grades .grade-row{grid-template-columns:repeat(2,1fr)}}.sortable-list{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.sortable-row{border:1px solid var(--border);background:var(--surface);border-radius:10px;align-items:center;gap:.5rem;padding:.55rem .75rem;display:flex;position:relative}.sortable-row.dragging{z-index:2;border-color:var(--brand);box-shadow:0 8px 24px #00000029}.sortable-content{flex-wrap:wrap;flex:1;align-items:center;gap:.75rem;min-width:0;display:flex}.sortable-content>a,.sortable-content>.row-title{overflow-wrap:anywhere;font-weight:600}.sortable-content .row-meta{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:.85rem}.drag-handle{min-width:32px;min-height:40px;color:var(--muted);cursor:grab;touch-action:none;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex}.drag-handle:hover{color:var(--text);background:var(--surface-2)}.drag-handle:active{cursor:grabbing}.drag-handle:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.question-list.sortable-list .sortable-row{padding:.25rem .5rem}.question-list.sortable-list .sortable-content{display:block}.question-list .item-entry{gap:.5rem;display:grid}.collapse-toggle{width:24px;height:24px;min-height:0;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.collapse-toggle:hover{color:var(--text);background:var(--surface-2)}.collapse-toggle:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.collapse-toggle svg{transition:transform .15s}.collapse-toggle.expanded svg{transform:rotate(90deg)}@media (prefers-reduced-motion:reduce){.collapse-toggle svg{transition:none}}.collapse-spacer{flex:none;width:24px}.tree-row{align-items:center;gap:.1rem;min-width:0;display:flex}.tree-row>a{flex:1;min-width:0}.tree .tree-row .tree-chapter{margin-top:0}.tree>ul>li{margin-top:.3rem}.section-heading{align-items:center;gap:.35rem;display:flex}.section-heading>h2,.section-heading>h3{margin:0}.tree ul ul ul{padding-left:1.55rem}.scores{gap:.35rem;margin:.5rem 0;padding:0;list-style:none;display:grid}.scores li{grid-template-columns:8.5rem 1fr 4.5rem;align-items:center;gap:.6rem;display:grid}.score-label{color:var(--muted);font-size:.9rem}.scores meter{width:100%;height:.7rem}.score-rating{font-size:.85rem;font-weight:600}.checklist{gap:.35rem;margin:.5rem 0;padding:0;list-style:none;display:grid}.check{align-items:baseline;gap:.6rem;display:flex}.check-mark{background:var(--surface-2);border-radius:50%;flex:none;justify-content:center;align-items:center;width:1.4rem;height:1.4rem;font-size:.8rem;font-weight:700;display:inline-flex}.tone-good{color:var(--good)}.tone-warn{color:var(--warn)}.tone-bad{color:var(--bad)}.tone-info{color:var(--muted)}.second-opinion{border-left:3px solid var(--brand);padding-left:.9rem}.dispute{gap:.5rem;margin-bottom:1rem;display:grid}.dispute button{justify-self:start}.weak-list{gap:1rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.planner-now{margin:0 0 .5rem}@media (width<=480px){.scores li{grid-template-columns:6.5rem 1fr 4rem}}.group-checkbox{flex:none;margin:0 .25rem 0 0}.mic{align-items:center;gap:.4rem;display:inline-flex}.mic.listening{border-color:var(--bad);color:var(--bad)}.mic.listening:before{content:"";background:var(--bad);border-radius:50%;width:.6rem;height:.6rem;animation:1.2s ease-in-out infinite pulse}.interim{color:var(--muted);margin:.25rem 0;font-style:italic}@keyframes pulse{50%{opacity:.3}}@media (prefers-reduced-motion:reduce){.mic.listening:before{animation:none}}.settings-page,.guide-page{max-width:820px}.settings-section{gap:.75rem;display:grid}.settings-section h2{margin:0}.settings-form{gap:.35rem;display:grid}.settings-form .hint,.settings-section>.hint{margin:0}.inline-field{align-items:center;gap:.5rem;display:flex}.inline-field input{max-width:360px}.profile-row{align-items:center;gap:.9rem;display:flex}.profile-row .hint{margin:0}.profile-avatar{color:#fff;background:var(--brand);border-radius:50%;flex:none;justify-content:center;align-items:center;width:3rem;height:3rem;font-size:1.2rem;font-weight:700;display:inline-flex}.settings-facts{grid-template-columns:max-content 1fr;gap:.25rem 1rem;margin:0;display:grid}.settings-facts dd{margin:0}.language-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.5rem;display:grid}.language-option{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:10px;align-items:center;gap:.5rem;padding:.55rem .75rem;display:flex}.language-option.selected{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand);font-weight:600}.language-picker{color:var(--muted);gap:.3rem;font-size:.9rem;display:grid}.account-menu .button{text-align:center}.guide-page .lead{margin:.25rem 0 0;font-size:1.05rem}.guide-contents ol{columns:2;column-gap:2rem;margin:0;padding-inline-start:1.25rem}.guide-contents li{break-inside:avoid;margin:.2rem 0}.guide-section h2{margin-top:0;font-size:1.15rem}.guide-section p{margin:0;line-height:1.6}.glossary{gap:.75rem;margin:0;display:grid}.glossary dt{font-weight:700}.glossary dd{color:var(--muted);margin:.15rem 0 0}@media (width<=600px){.guide-contents ol{columns:1}.inline-field{flex-wrap:wrap}}.settings-section .timezone-form{gap:.35rem;display:grid}.settings-section .timezone-form button{justify-self:start}.settings-section .timezone-form input{max-width:360px}.title-row{align-items:center;gap:.4rem;display:flex}.title-row>h1,.title-row>h2,.title-row>h3{margin:0}.help-tip{display:inline-flex;position:relative}.help-button{border:1px solid var(--border);background:var(--surface);width:1.45rem;height:1.45rem;min-height:0;color:var(--brand);cursor:pointer;text-transform:none;letter-spacing:0;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;font-size:.85rem;font-weight:700;line-height:1;display:inline-flex}.help-button:hover,.help-button[aria-expanded=true]{background:var(--brand);color:#fff;border-color:var(--brand)}.help-bubble{z-index:20;top:calc(100% + .4rem);background:var(--surface);border:1px solid var(--border);width:min(300px,80vw);color:var(--text);text-transform:none;letter-spacing:0;border-radius:10px;gap:.4rem;padding:.7rem .85rem;font-size:.9rem;font-weight:400;line-height:1.45;display:grid;position:absolute;inset-inline-start:-.5rem;box-shadow:0 10px 28px #00000029}.no-due{color:var(--muted);text-align:center;padding:.55rem .25rem;font-size:.9rem}.quick-start{gap:.9rem;display:grid}.quick-start-header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.quick-start-header h2{margin:0;font-size:1.15rem}.quick-start-header .hint{margin:.2rem 0 0}.quick-steps{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.8rem;margin:0;padding:0;list-style:none;display:grid}.quick-step{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;align-content:start;gap:.3rem;padding:.6rem;animation:.45s both step-in;display:grid;position:relative}.quick-step img{aspect-ratio:16/10;object-fit:cover;object-position:top left;border:1px solid var(--border);background:var(--surface);border-radius:8px;width:100%}.quick-step .step-number{top:.35rem;background:var(--brand);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:1.6rem;height:1.6rem;font-size:.85rem;font-weight:700;display:inline-flex;position:absolute;inset-inline-start:.35rem;box-shadow:0 2px 6px #0003}.quick-step .hint{font-size:.85rem}.quick-start-reopen{justify-self:start}@keyframes step-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.quick-step{animation:none}}.concept-actions{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.concept-actions li{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.concept-actions button{min-width:9rem}.concept-actions .hint{margin:0}.card-top{justify-content:space-between}.concept-panel .concept-items{gap:.9rem;margin:.5rem 0;padding-inline-start:1.2rem;display:grid}.concept-panel .concept-items p{margin:.25rem 0}.concept-panel .concept-items ul{margin:.25rem 0 0;padding-inline-start:1.1rem}.course-planner tr.emphasis th,.course-planner tr.emphasis td{color:var(--review,var(--accent));font-weight:700}.course-planner td:last-child{color:var(--muted)}.guide-section{gap:.8rem;scroll-margin-top:1rem;display:grid}.guide-shot{border:1px solid var(--border);border-radius:10px;display:block;overflow:hidden;box-shadow:0 6px 20px #00000014}.guide-shot img{width:100%;height:auto;display:block}.tooltip-anchor{display:inline-flex;position:relative}.tooltip{z-index:30;top:calc(100% + .45rem);color:#fff;text-align:start;opacity:0;visibility:hidden;pointer-events:none;background:#1f2430;border-radius:8px;width:max-content;max-width:min(280px,80vw);padding:.5rem .7rem;font-size:.85rem;font-weight:400;line-height:1.4;transition:opacity .15s,transform .15s,visibility .15s;position:absolute;inset-inline-start:0;transform:translateY(-3px);box-shadow:0 8px 24px #00000038}.tooltip.visible{opacity:1;visibility:visible;transform:none}.tooltip:not(.visible){display:none}@starting-style{.tooltip.visible{opacity:0;transform:translateY(-3px)}}.tooltip.flip{inset-inline:auto 0}@media (prefers-reduced-motion:reduce){.tooltip{transition:none}}.study-content>.hint{margin:0}.study-content .item-entry{gap:.35rem;padding:.35rem .2rem;display:grid}.study-content .item-title{margin:0;font-size:1.05rem}.study-content .item-entry .reading{margin:0;line-height:1.6}.study-content .key-points{margin:0;padding-inline-start:1.2rem}.item-details-toggle{justify-self:start;padding-inline-start:0}.drawing-pad{gap:.5rem;display:grid}.drawing-tools{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.drawing-tools button[aria-pressed=true]{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand);font-weight:600}.drawing-canvas{aspect-ratio:3/2;border:1px solid var(--border);touch-action:none;cursor:crosshair;background:#fff;border-radius:10px;width:100%;height:auto}.drawing-upload{color:var(--muted);gap:.25rem;font-size:.9rem;display:grid}.drawing-upload input{background:0 0;border:none;width:auto;padding:0}.drawing-photo{object-fit:contain;border:1px solid var(--border);background:#fff;border-radius:10px;width:100%;max-height:420px}.drawing-note-label{font-weight:600}.drawing-compare{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem;display:grid}.drawing-compare figure{gap:.35rem;margin:0;display:grid}.drawing-compare figcaption{font-weight:600}.drawing-image{object-fit:contain;border:1px solid var(--border);background:#fff;border-radius:10px;width:100%;max-height:360px}.image-loading{background:var(--surface-2);min-height:160px}.reference-drawing{border-top:1px dashed var(--border);gap:.5rem;padding-top:.5rem;display:grid}.reference-drawing h4,.reference-drawing .hint{margin:0}.reference-drawing label.button{cursor:pointer}.drawing-note{min-height:3.5rem}.pill.priority{margin-left:.35rem;font-weight:600}.priority-1{color:#9b1c1c;background:#fde8e8}.priority-2{color:#8a5a00;background:#fef3c7}.priority-3{color:#3346a6;background:#e5edff}@media (prefers-color-scheme:dark){.priority-1{color:#fecaca;background:#4c1d1d}.priority-2{color:#fde68a;background:#4a3810}.priority-3{color:#c7d2fe;background:#1e2a55}}.priority-filter{width:auto;min-height:44px}.study-content-head{flex-wrap:wrap;justify-content:space-between}.item-head{flex-wrap:wrap}.test-me{justify-self:start;font-size:.9rem}.marketplace .category-chips{flex-wrap:wrap;gap:.4rem;margin:.25rem 0 1rem;display:flex}.marketplace .category-chips button{border-radius:999px;padding:.3rem .8rem;font-size:.9rem}.marketplace .category-chips button[aria-pressed=true]{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.marketplace-filters{flex-wrap:wrap;align-items:end;gap:.6rem;margin-bottom:1.1rem;display:flex}.marketplace-filters input[type=search]{flex:16rem;width:auto}.marketplace-filters label{color:var(--muted);gap:.2rem;font-size:.85rem;display:grid}.listing-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.listing-card{align-content:start;gap:.35rem;height:100%;display:grid}.listing-category{color:var(--muted);font-size:.8rem}.listing-title{color:var(--text);font-size:1.05rem;font-weight:700}.listing-subtitle{color:var(--muted);margin:0}.listing-facts{color:var(--muted);margin:0;font-size:.85rem}.listing-foot{justify-content:space-between;align-items:center;margin-top:.4rem;display:flex}.listing-page .card{margin-bottom:1rem}.listing-hero h1{margin:.2rem 0}.listing-stats{gap:1.5rem;margin:.8rem 0;display:flex}.listing-stats dt{color:var(--muted);font-size:.8rem}.listing-stats dd{margin:0;font-size:1.4rem;font-weight:700}.listing-description{white-space:pre-line}.outcomes{gap:.35rem;margin:0;padding-left:0;list-style:none;display:grid}.outcomes li:before{content:"✓ ";color:var(--good);font-weight:700}.listing-chapters{gap:.3rem;padding-left:1.4rem;display:grid}.listing-chapters li span:first-child{margin-right:.5rem}.marketplace-pill{color:var(--accent);margin-left:0}.sales-page .sales-form{gap:.7rem;margin-top:.6rem;display:grid}.sales-page .sales-form label{gap:.25rem;display:grid}.sales-page .sales-form label.toggle{align-items:start;gap:.5rem;display:flex}.sales-row{flex-wrap:wrap;gap:.8rem;display:flex}.sales-row label{flex:12rem}.publish-box{border:1px solid var(--border);border-radius:var(--radius);gap:.6rem;padding:.8rem 1rem;display:grid}.publish-box legend{padding:0 .3rem;font-weight:700}.marketplace-origin,.sales-page{margin-top:1rem}.priority-select{flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.9rem;display:flex}.priority-select select{width:auto}.published-by-me{margin-bottom:1rem}.published-by-me summary{cursor:pointer}.published-by-me ul{gap:.5rem;margin:.6rem 0 0;padding:0;list-style:none;display:grid}.published-by-me li{flex-wrap:wrap;align-items:baseline;gap:.3rem .8rem;display:flex}.tabs{border-bottom:1px solid var(--border);gap:.25rem;margin:.5rem 0 1rem;display:flex}.tabs a{color:var(--muted);border-bottom:3px solid #0000;padding:.55rem 1rem;font-weight:500;text-decoration:none}.tabs a.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.board-controls{flex-wrap:wrap;gap:.6rem 1rem;margin:0 0 1rem;display:flex}.segmented{border:1px solid var(--border);background:var(--surface);border-radius:999px;display:inline-flex;overflow:hidden}.segmented button{color:var(--muted);background:0 0;border:none;border-radius:0;padding:.4rem .9rem}.segmented button[aria-pressed=true]{background:var(--accent);color:var(--accent-text)}.leader-card{background:color-mix(in srgb, var(--xp) 8%, var(--surface));align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.leader-card h2{margin:.1rem 0}.leader-card p{font-variant-numeric:tabular-nums;margin:0}.leader-crown{font-size:2.2rem}.board{gap:.4rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.board-row{border:1px solid var(--border);background:var(--surface);border-radius:10px;grid-template-columns:2.2rem minmax(0,1fr) auto auto;align-items:center;gap:.6rem;padding:.55rem .75rem;display:grid}.board-row.me{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 7%, var(--surface))}.board-rank{text-align:center;color:var(--muted);font-variant-numeric:tabular-nums;font-weight:700}.board-name{overflow-wrap:anywhere;font-weight:600}.board-xp{font-variant-numeric:tabular-nums;color:var(--muted)}.board-me,.join-card,.friends-search{margin-bottom:1rem}.people{gap:.6rem;margin:.6rem 0 0;padding:0;list-style:none;display:grid}.person{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;display:flex}.person p{margin:0}.profile-card{justify-items:start;gap:.9rem;display:grid}.profile-card h1{margin:0}.profile-avatar.large{width:64px;height:64px;font-size:1.6rem}@media (width<=640px){.board-row{grid-template-columns:2rem minmax(0,1fr) auto}.board-row button{grid-column:2/-1;justify-self:start}}.repeat-panel{border:1px solid var(--good);border-radius:var(--radius);background:color-mix(in srgb, var(--good) 6%, var(--surface));gap:.5rem;margin-top:.8rem;padding:1rem;display:grid}.repeat-panel h3{margin:0}.study-concept-row{margin:.2rem 0 .6rem}.study-concept{font-weight:600}.button.learn,button.learn{background:var(--brand);border-color:var(--brand);color:var(--accent-text);justify-content:center;min-height:48px;padding:0 1.2rem;font-weight:600}.button.learn:hover,button.learn:hover{background:var(--brand-dark);border-color:var(--brand-dark)}.button.review,button.review{background:var(--review);border-color:var(--review);color:var(--review-text);justify-content:center;min-height:48px;padding:0 1.2rem;font-weight:600}.button.review:hover,button.review:hover{background:var(--review-dark);border-color:var(--review-dark)}.button.disabled,.button[aria-disabled=true]{opacity:.45;cursor:not-allowed;pointer-events:none}.count-badge{font-variant-numeric:tabular-nums;background:#ffffff40;border-radius:999px;place-items:center;min-width:1.6rem;height:1.6rem;padding:0 .4rem;font-size:.85rem;display:inline-grid}.dashboard{grid-template-columns:minmax(0,1fr) 312px;align-items:start;gap:32px;width:100%;max-width:1360px;margin:0 auto;padding:1.75rem 2rem 3rem;display:grid}.dashboard-main{gap:1.25rem;min-width:0;display:grid}.dashboard-side{gap:1rem;min-width:0;display:grid}.today-strip{display:none}.next-step{border-left:5px solid var(--brand);align-items:center;gap:1.25rem;display:flex}.next-step.review-step{border-left-color:var(--review)}.next-step .next-text{flex:1;gap:.15rem;min-width:0;display:grid}.next-step h2{overflow-wrap:anywhere;margin:0;font-size:1.15rem}.timezone-note{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.library{gap:.9rem;display:grid}.library .toolbar{margin-bottom:.4rem}.library-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.library-header h2{margin:0;font-size:1.35rem}.toolbar{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.toolbar input[type=search]{flex:220px;min-width:0;min-height:44px}.toolbar select{width:auto;min-height:44px}.toolbar .new-course{min-height:44px;margin-left:auto}.new-course-form{grid-template-columns:minmax(0,1fr) 180px auto;align-items:end;gap:.75rem;display:grid}.course-list{gap:1rem;margin:0;padding:0;list-style:none;display:grid}.course-card{grid-template-columns:120px minmax(0,1fr) auto;align-items:center;gap:1.25rem;padding:1rem 1.25rem 1rem 1rem;display:grid}.course-cover{color:#fff;letter-spacing:.02em;border-radius:12px;flex-shrink:0;place-items:center;width:120px;height:120px;font-size:2.2rem;font-weight:700;text-decoration:none;display:grid}.course-body{gap:.35rem;min-width:0;display:grid}.course-title{color:var(--text);-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:1.15rem;font-weight:700;text-decoration:none;display:-webkit-box;overflow:hidden}.course-title:hover{color:var(--brand)}.course-description{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.9rem;overflow:hidden}.course-next{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.9rem;overflow:hidden}.course-next strong{color:var(--text);font-weight:600}.metric{gap:.25rem;display:grid}.metric-label{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.85rem}.metric-label b{color:var(--text)}.bar{background:var(--track);border-radius:999px;height:6px;overflow:hidden}.bar>span{background:var(--brand);border-radius:999px;height:100%;display:block}.course-actions{justify-items:stretch;gap:.5rem;min-width:170px;display:grid}.course-actions .button{width:100%}.card-menu{justify-self:end;position:relative}.card-menu>button{min-width:44px;min-height:36px;color:var(--muted);background:0 0;border:none;justify-content:center;font-size:1.2rem}.card-menu ul{background:var(--surface);border:1px solid var(--border);z-index:10;border-radius:10px;min-width:180px;margin:0;padding:.4rem;list-style:none;position:absolute;top:100%;right:0;box-shadow:0 8px 24px #0000001f}.card-menu a{color:var(--text);border-radius:6px;padding:.55rem .7rem;text-decoration:none;display:block}.card-menu li>button{text-align:start;width:100%;color:var(--text);font:inherit;background:0 0;border:none;border-radius:6px;padding:.55rem .7rem;display:block}.card-menu li>button.danger{color:var(--bad)}.card-menu a:hover,.card-menu a:focus-visible,.card-menu li>button:hover:not(:disabled),.card-menu li>button:focus-visible{background:var(--surface-2)}.widget{gap:.6rem;display:grid}.widget h2{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0;font-size:.85rem}.widget p{margin:0}.big-number{font-variant-numeric:tabular-nums;align-items:center;gap:.4rem;font-size:2rem;font-weight:800;line-height:1;display:flex}.flame{color:var(--flame)}.xp-symbol{color:var(--xp)}.week-strip{text-align:center;color:var(--muted);grid-template-columns:repeat(7,1fr);gap:.3rem;margin:0;padding:0;font-size:.75rem;list-style:none;display:grid}.week-strip .dot{background:var(--heat-0);border-radius:50%;width:26px;height:26px;margin:.2rem auto 0;display:block}.week-strip .dot.on{background:var(--flame)}.week-strip .today .dot{outline:2px solid var(--brand);outline-offset:1px}.gauge{justify-items:center;display:grid}.gauge svg{width:180px;height:100px}.gauge-value{font-variant-numeric:tabular-nums;margin-top:-2.4rem;font-size:1.5rem;font-weight:800}.goal-form{align-items:end;gap:.5rem;display:flex}.goal-form input{width:6rem}.planner th,.planner td{padding:.35rem .4rem}.planner td:last-child,.planner th:last-child{text-align:right;font-variant-numeric:tabular-nums}.heatmap{gap:.4rem;max-width:100%;display:grid;overflow-x:auto}.heat-grid{grid-template-rows:repeat(7,14px);grid-auto-columns:14px;grid-auto-flow:column;gap:3px;display:grid}.heat-cell{background:var(--heat-0);border:none;border-radius:3px;width:14px;height:14px;min-height:0;padding:0}.heat-cell.level-1{background:var(--heat-1)}.heat-cell.level-2{background:var(--heat-2)}.heat-cell.level-3{background:var(--heat-3)}.heat-cell.level-4{background:var(--heat-4)}.heat-cell.future{box-shadow:inset 0 0 0 1px var(--border);background:0 0}.heat-cell.today{outline:2px solid var(--text);outline-offset:0}.heat-months{color:var(--muted);white-space:nowrap;grid-auto-columns:14px;grid-auto-flow:column;gap:3px;height:1rem;font-size:.7rem;display:grid}.heat-legend{color:var(--muted);align-items:center;gap:3px;font-size:.75rem;display:flex}.heat-tip{min-height:1.3rem;margin:0;font-size:.85rem}.heatmap.large .heat-grid{grid-template-rows:repeat(7,16px);grid-auto-columns:16px}.heatmap.large .heat-cell{width:16px;height:16px}.heatmap.large .heat-months{grid-auto-columns:16px}.breadcrumb{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.3rem;margin:0;padding:0;font-size:.85rem;list-style:none;display:flex}.breadcrumb li{overflow-wrap:anywhere;min-width:0}.breadcrumb li+li:before{content:"›";margin-right:.3rem}.breadcrumb a{color:var(--muted)}.round-badge{background:var(--brand);color:var(--accent-text);white-space:nowrap;border-radius:999px;padding:.15rem .7rem;font-size:.85rem;font-weight:600}.study-header>div{flex-wrap:wrap;min-width:0}.study-header .counter,.study-header .xp-chip,.study-header .eyebrow,.study-header>button{white-space:nowrap}.study-header .breadcrumb{flex:16rem;min-width:0}.study-header .breadcrumb li{text-overflow:ellipsis;white-space:nowrap;max-width:32ch;overflow:hidden}.xp-chip{color:var(--xp);font-variant-numeric:tabular-nums;align-items:center;gap:.3rem;font-weight:700;display:inline-flex}.potential{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.6rem;font-size:.9rem;display:flex}.hint-box{border:1px dashed var(--border);border-radius:10px;gap:.4rem;padding:.6rem .8rem;display:grid}.hint-text{font-size:1.05rem;font-weight:600}.award{flex-wrap:wrap;align-items:center;gap:.5rem;font-size:1.05rem;font-weight:700;display:flex}.award .hint{font-weight:400}.summary-grid{text-align:center;grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.summary-grid dt{color:var(--muted);font-size:.85rem}.summary-grid dd{font-variant-numeric:tabular-nums;margin:0;font-size:1.6rem;font-weight:800}@media (prefers-reduced-motion:no-preference){.award-pop{animation:.32s ease-out award-pop}@keyframes award-pop{0%{transform:scale(.96)}to{transform:scale(1)}}}.course-header{grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:1.25rem;display:grid}.course-header .course-cover{width:96px;height:96px;font-size:1.8rem}.course-header h1{overflow-wrap:anywhere;margin:0}.consolidate{border-left:5px solid var(--brand);gap:.6rem;display:grid}@media (width<=1100px){.dashboard{grid-template-columns:minmax(0,1fr) 280px;gap:24px;padding:1.25rem 1.25rem 2.5rem}.course-card{grid-template-columns:96px minmax(0,1fr) auto}.course-card .course-cover{width:96px;height:96px;font-size:1.8rem}}@media (width<=900px){.dashboard{grid-template-columns:1fr}.dashboard-side{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.today-strip{flex-wrap:wrap;gap:.5rem;display:flex}.today-strip .nav-stat{background:var(--surface);color:var(--text);border:1px solid var(--border)}.nav-links a{padding:.5rem .6rem}.new-course-form{grid-template-columns:1fr}}@media (width<=640px){.topnav-inner{flex-wrap:wrap;gap:.25rem .75rem;height:auto;padding:.4rem 16px}.nav-links{order:3;justify-content:space-between;gap:0;width:100%}.nav-links a{flex:auto;justify-content:center;min-width:0;padding:.5rem .3rem;font-size:.9rem}.page,.dashboard{padding-left:16px;padding-right:16px}.next-step{flex-direction:column;align-items:stretch}.toolbar select{flex:45%}.toolbar .new-course{justify-content:center;width:100%;margin-left:0}.course-card{grid-template-columns:72px minmax(0,1fr);gap:.75rem;padding:.9rem}.course-card .course-cover{border-radius:10px;width:72px;height:72px;font-size:1.4rem}.course-actions{grid-column:1/-1;grid-template-columns:1fr 1fr;min-width:0}.course-actions .card-menu{order:3;grid-column:1/-1;justify-self:end}.card-menu ul{max-width:calc(100vw - 32px);right:0}.course-header{grid-template-columns:64px minmax(0,1fr)}.course-header .course-cover{width:64px;height:64px;font-size:1.2rem}.course-header .course-actions{grid-column:1/-1}.summary-grid{grid-template-columns:1fr}.study-header{flex-wrap:wrap;gap:.5rem;padding:.6rem 16px}.study-body{padding:1rem 16px}.grades .grade-row{grid-template-columns:1fr 1fr}.course-workspace .tree{max-height:40vh}}.signin-logo{border-radius:8px;justify-self:start;display:inline-flex}.password-form,.timezone-form{gap:.5rem;display:grid}.password-changed p{margin:0 0 .3rem}.bulk-bar{z-index:5;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.6rem .8rem;display:flex;position:sticky;top:64px;box-shadow:0 6px 18px #00000014}.bulk-bar button{min-height:40px}.move-form{gap:.6rem;display:grid}.question-group h2{font-size:1.1rem}.question-topic{margin-top:.8rem}.question-topic h3{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.95rem}.question-concept{border-top:1px solid var(--border);padding:.6rem 0}.concept-toggle{font-weight:600}.question-list{gap:.2rem;margin:.3rem 0 0;padding:0 0 0 1.6rem;list-style:none;display:grid}.question-row{border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.6rem;padding:.35rem .4rem;display:grid}.question-row.selected{background:color-mix(in srgb, var(--brand) 8%, transparent)}.question-row input[type=checkbox],.toggle input[type=checkbox]{width:20px;height:20px;margin-top:.15rem}.question-row>.priority-select{grid-column:2/-1}.question-text{overflow-wrap:anywhere;gap:.1rem;min-width:0;display:grid}.item-editor{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;grid-column:1/-1;gap:.6rem;padding:.8rem;display:grid}.item-editor fieldset{border:none;gap:.4rem;margin:0;padding:0;display:grid}.item-editor legend{margin-bottom:.3rem;font-weight:500}.wording{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.4rem;display:grid}.wording textarea,.item-editor textarea{min-height:3rem}.paste-form{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;gap:.6rem;margin:.5rem 0;padding:.8rem;display:grid}.purpose-choice{border:none;flex-wrap:wrap;gap:.4rem 1.2rem;margin:0;padding:0;display:flex}.purpose-choice legend{margin-bottom:.3rem;font-weight:500}.purpose-choice input[type=radio]{width:18px;height:18px}.editable-title{flex:100%;gap:.3rem;min-width:0;display:grid}.editable-title-row{flex-wrap:wrap;align-items:baseline;gap:.4rem .8rem;display:flex}.editable-title-row h1{overflow-wrap:anywhere;margin:0}.editable-title.editing{background:var(--surface-2);border-radius:10px;padding:.8rem}.editable-title p{margin:0}
