:root{font-family:Arial,Helvetica,sans-serif;font-size:16px;color-scheme:dark;--bg:#070a11;--panel:#09131f;--panel2:#101e2c;--text:#d7e7f2;--title:#bfe9ff;--muted:#8ba3b7;--line:#203345;--accent:#6ac8f4;--soft:#142c3d;--friend:#b9b2eb;--amber:#e9c783}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);line-height:1.5}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer;color:var(--text);border:1px solid var(--line);background:var(--panel2);border-radius:6px;padding:.6rem .9rem;min-height:42px;font-size:.875rem;font-weight:600}button:hover,a:hover{color:var(--title);border-color:var(--accent)}button:disabled{opacity:.45;cursor:not-allowed}button.primary,.button.primary{background:var(--accent);color:#071522;border-color:var(--accent)}button.quiet{border:0;background:transparent;color:var(--muted);padding:.4rem .55rem;min-height:34px}button.danger{color:#ffa9a2}a,button,input,textarea,select{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:4px}input,textarea,select{background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:5px;padding:.7rem;width:100%;min-height:44px}textarea{font-family:Consolas,'Courier New',monospace;line-height:1.6;font-size:.9rem;resize:vertical}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.2;color:var(--title)}h1{font-size:1.7rem;letter-spacing:-.025em}h2{font-size:1.15rem}h3{font-size:.95rem}.mono,.eyebrow,.brand{font-family:Consolas,'Courier New',monospace}.eyebrow{font-size:.75rem;letter-spacing:.12em;color:var(--muted);margin-bottom:.6rem}.muted{color:var(--muted)}small{font-size:.8rem}.skip{position:absolute;top:-100px;background:var(--panel);padding:1rem;z-index:100}.skip:focus{top:0}.boot{padding:4rem;text-align:center;color:var(--muted)}.topbar{display:flex;align-items:center;gap:1.4rem;padding:1rem 1.6rem;border-bottom:1px solid var(--line);background:var(--panel);min-height:72px}.brand{font-size:.95rem;letter-spacing:.12em;font-weight:700;display:flex;align-items:center;gap:.7rem;white-space:nowrap;color:var(--title)}.brand-mark{font-family:Georgia,serif;font-size:1.75rem;font-weight:400;line-height:1}.room-label{font-size:.85rem;color:var(--muted);border-left:1px solid var(--line);padding-left:1.4rem;max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.connection{font-size:.8rem;color:var(--muted);display:flex;gap:.5rem;align-items:center;margin-left:auto}.connection i{width:7px;height:7px;background:var(--accent);border-radius:50%}.connection.offline{color:var(--amber)}.connection.offline i{background:var(--amber)}.top-actions{display:flex;align-items:center;gap:.5rem}.variant-link{font-size:.8rem;color:var(--muted)}.shell{max-width:1600px;margin:auto}.room-summary{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1px;background:var(--line);border-bottom:1px solid var(--line)}.summary-cell{background:var(--panel);padding:1rem 1.5rem;display:flex;gap:1rem;align-items:center}.summary-avatar{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line);font-size:.8rem;font-family:Consolas,monospace;color:var(--title);border-radius:6px}.summary-cell.friend .summary-avatar{color:var(--friend)}.summary-info{flex:1}.summary-info strong{font-size:.85rem;display:block}.summary-info small{color:var(--muted);display:block;font-size:.75rem}.summary-number{font-family:Consolas,monospace;font-size:1.8rem;color:var(--title);line-height:1.2}.summary-cell.friend .summary-number{color:var(--friend)}.summary-number small{font-size:.75rem;color:var(--muted);display:block}.demo-banner,.error-banner{padding:.7rem 1.5rem;background:#342912;color:#e9c783;font-size:.8rem;border-bottom:1px solid #5d4925}.error-banner{background:#342026;color:#ffc0b5}.workspace-grid{display:grid;grid-template-columns:270px minmax(0,1fr) 260px;min-height:calc(100vh - 166px)}.exercise-sidebar{border-right:1px solid var(--line);background:var(--panel);padding:1.2rem 1rem}.sidebar-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.sidebar-title h2{font-size:.95rem}.sidebar-title span{font-size:.75rem;color:var(--muted)}.library-filters{display:flex;flex-direction:column;gap:.6rem}.library-filters input{font-size:.875rem}.filter-row{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.filter-row select{font-size:.75rem;min-height:40px;padding:.45rem}.check-filter{font-size:.8rem;color:var(--muted);display:flex;align-items:center;gap:.5rem}.check-filter input{width:16px;min-height:16px}.list-meta{font-size:.7rem;color:var(--muted);margin:.8rem 0}.exercise-list{display:flex;flex-direction:column;gap:.3rem;max-height:calc(100vh - 360px);overflow:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.exercise-button{padding:.8rem .65rem;border:1px solid transparent;background:transparent;border-radius:5px;text-align:left;min-height:78px;display:flex;gap:.65rem;width:100%;font-weight:400}.exercise-button.active{background:var(--soft);border-color:#365269}.exercise-button:hover{background:var(--panel2)}.exercise-point{font-family:Consolas,monospace;color:var(--title);font-size:1.1rem;min-width:25px;text-align:center}.exercise-point small{display:block;font-size:.6rem;color:var(--muted)}.exercise-button strong{display:block;font-size:.8rem;font-weight:500;line-height:1.3}.exercise-button small{display:block;font-size:.7rem;color:var(--muted);margin-top:.3rem}.exercise-indicators{display:flex;gap:.4rem;align-items:center}.tiny-outcome{font-size:.65rem;color:var(--muted)}.tiny-outcome.done{color:var(--accent)}.tiny-outcome.friend{color:var(--friend)}.unread{display:inline-flex;background:var(--accent);color:#071522;min-width:17px;height:17px;border-radius:4px;font-size:.65rem;align-items:center;justify-content:center;font-family:Consolas,monospace;padding:0 4px}.load-more{width:100%;margin-top:.7rem;font-size:.75rem}.study-main{padding:1.6rem 1.5rem 2rem;min-width:0}.exercise-heading{display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.2rem}.exercise-heading h1{font-size:1.6rem;max-width:600px;margin:.4rem 0 .75rem}.exercise-heading .eyebrow{margin:0}.exercise-tags{display:flex;gap:.4rem;flex-wrap:wrap}.tag{font-size:.7rem;padding:.15rem .4rem;border:1px solid var(--line);border-radius:4px;color:var(--muted);white-space:nowrap}.tag.primary{color:var(--title);background:var(--soft);border-color:#34546c}.point-block{font-family:Consolas,monospace;text-align:right;color:var(--title);min-width:68px}.point-block strong{font-size:2.4rem;line-height:1.05;display:block;font-weight:400}.point-block span{font-size:.7rem;color:var(--muted)}.guide-details{font-size:.8rem;color:var(--muted);margin:.8rem 0 1.2rem;border-bottom:1px solid var(--line);padding-bottom:.8rem}.guide-details summary{cursor:pointer;min-height:30px}.guide-details p{margin:.6rem 0}.guide-details .source-caution{color:var(--amber);border-left:2px solid var(--amber);padding-left:.7rem}.source-caution{font-size:.8rem;color:var(--amber);background:#2b271a;padding:.75rem;border:1px solid #524329;border-radius:5px;margin:.8rem 0}.paired-progress{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:1rem}.person-progress{background:var(--panel);border:1px solid var(--line);padding:.8rem;border-radius:5px}.person-progress strong{font-size:.8rem;display:block;margin-bottom:.3rem}.outcome{font-size:.75rem;color:var(--muted)}.outcome.independent{color:var(--accent)}.outcome.helped{color:var(--amber)}.person-progress small{font-size:.7rem;color:var(--muted);display:block;margin-top:.25rem}.study-tabs{display:flex;gap:1.3rem;border-bottom:1px solid var(--line);margin:1rem 0}.study-tabs button{border:0;background:none;border-radius:0;padding:.7rem .1rem;color:var(--muted);min-height:42px}.study-tabs button.active{border-bottom:2px solid var(--accent);color:var(--title)}.study-tabs .unread{margin-left:.3rem}.attempt-heading{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.6rem}.attempt-heading h2{font-size:.95rem}.save-status{color:var(--muted);font-size:.75rem}.save-status.saved{color:var(--accent)}.save-status.error{color:var(--amber)}#answer-input{min-height:250px;background:linear-gradient(transparent 25px,#17263740 26px);background-size:100% 26px;border-color:#2f475d;padding:1rem}.answer-note{font-size:.75rem;color:var(--muted);margin:.5rem 0 .9rem}.attempt-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem;align-items:end}.label{display:flex;flex-direction:column;gap:.35rem;font-size:.75rem;color:var(--muted)}.label select{font-size:.8rem}.score-explanation{padding:.8rem 0;color:var(--muted);font-size:.75rem}.score-explanation strong{color:var(--title)}.attempt-provenance{font-size:.75rem;color:var(--muted);border-top:1px solid var(--line);padding-top:.8rem;margin-top:.5rem}.attempt-provenance b{color:var(--text);font-weight:500}.first-attempt{margin-top:.6rem}.first-attempt summary{cursor:pointer}.answer-text{font-family:Consolas,'Courier New',monospace;font-size:.85rem;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;margin-top:.7rem}.draft-conflict{border:1px solid var(--amber);padding:.9rem;border-radius:5px;color:var(--amber);margin:.8rem 0;font-size:.8rem}.draft-conflict p{margin:.5rem 0}.draft-conflict textarea{min-height:100px}.draft-conflict button{margin:.4rem .4rem 0 0}.next-action{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;margin-top:1rem;border-top:1px solid var(--line);gap:1rem}.next-action p{font-size:.75rem;color:var(--muted)}.discussion-summary{display:flex;justify-content:space-between;align-items:center;gap:.8rem;margin:1rem 0}.discussion-summary h2{font-size:.95rem}.locked-answer{padding:1.1rem;border:1px dashed #38546b;background:var(--panel);border-radius:6px}.locked-answer h3{margin-bottom:.5rem}.locked-answer p{font-size:.8rem;color:var(--muted);margin:.5rem 0 .8rem}.locked-answer button{font-size:.8rem}.shared-answer{padding:1rem;background:var(--panel);border:1px solid var(--line);border-left:2px solid var(--friend);border-radius:5px}.shared-answer header{display:flex;gap:1rem;align-items:center;justify-content:space-between;font-size:.8rem;color:var(--friend)}.shared-answer time{font-size:.7rem;color:var(--muted)}.notes-title{display:flex;justify-content:space-between;align-items:center;margin:1.4rem 0 .75rem}.notes-title h2{font-size:.95rem}.notes-title span{font-size:.75rem;color:var(--muted)}.notes-list{display:flex;flex-direction:column;gap:.6rem;max-height:520px;overflow:auto}.note-card{border:1px solid var(--line);background:var(--panel);border-radius:5px;padding:.9rem}.note-card.unseen{border-left:2px solid var(--accent)}.note-meta{display:flex;justify-content:space-between;gap:.6rem;align-items:center;font-size:.75rem}.note-meta strong{font-size:.8rem}.note-meta time{color:var(--muted);font-size:.7rem}.note-card p{font-size:.85rem;white-space:pre-wrap;overflow-wrap:anywhere;margin:.55rem 0}.note-card .note-hidden{font-size:.8rem;color:var(--amber)}.note-actions{display:flex;gap:.4rem;margin-top:.5rem}.note-actions button{font-size:.7rem;padding:.3rem .4rem;min-height:28px}.note-card.deleted p{color:var(--muted);font-style:italic}.note-composer{margin-top:.8rem;display:grid;gap:.6rem}.note-composer textarea{min-height:90px;font-family:Arial,Helvetica,sans-serif;font-size:.875rem}.note-composer-footer{display:flex;justify-content:space-between;align-items:center;gap:.7rem}.spoiler-toggle{font-size:.75rem;color:var(--muted);display:flex;align-items:center;gap:.5rem}.spoiler-toggle input{width:16px;min-height:16px}.activity-sidebar{padding:1.2rem 1rem;border-left:1px solid var(--line);background:var(--panel)}.activity-sidebar .eyebrow{font-size:.65rem}.activity-sidebar h2{font-size:.95rem}.rating-card{margin-top:1rem;padding:1rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.rating-card .rating-number{font-family:Consolas,monospace;font-size:1.8rem;color:var(--title);margin-bottom:.5rem}.rating-card p{color:var(--muted);font-size:.75rem;line-height:1.6}.rating-card .tag{display:inline-flex;margin-bottom:.6rem;white-space:normal}.rating-card button{font-size:.7rem;margin-top:.7rem}.event-list{display:flex;flex-direction:column;gap:.8rem;margin-top:1rem}.event-item{border-bottom:1px solid var(--line);padding-bottom:.8rem;font-size:.75rem}.event-item strong{font-size:.75rem;font-weight:500}.event-item p{color:var(--muted);margin:.25rem 0}.event-item time{color:var(--muted);font-size:.65rem}.event-points{font-family:Consolas,monospace;color:var(--title)}.sidebar-help{font-size:.75rem;color:var(--muted);margin-top:1.2rem}.sidebar-help button{font-size:.7rem;padding:.2rem 0;min-height:30px}.mobile-library-button{display:none}.mobile-close{display:none}.lobby{max-width:1050px;margin:5rem auto;padding:0 1.5rem;display:grid;grid-template-columns:1.2fr 1fr;gap:4rem;align-items:center}.lobby h1{font-size:3.2rem;line-height:1.05;letter-spacing:-.04em;margin:.9rem 0 1.3rem}.lobby-intro p{font-size:1rem;color:var(--muted);max-width:500px}.lobby-intro .lobby-principle{font-family:Consolas,monospace;font-size:.8rem;margin-top:2rem;color:var(--title);border-left:2px solid var(--accent);padding-left:1rem}.lobby-form{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:1.7rem}.lobby-form h2{margin-bottom:1.2rem}.lobby-form .label{margin:.8rem 0}.lobby-form button{width:100%;margin-top:.5rem}.lobby-form p{font-size:.75rem;color:var(--muted);margin:1rem 0 0}.lobby-error{color:var(--amber);font-size:.8rem;margin:.6rem 0}.lobby-footer{max-width:1050px;margin:auto;padding:1rem 1.5rem;display:flex;justify-content:space-between;gap:1rem;font-size:.8rem;color:var(--muted)}.local-instructions{max-width:720px;margin:5rem auto;padding:2rem;background:var(--panel);border:1px solid var(--line);border-radius:8px}.local-instructions h1{margin-bottom:1rem}.local-instructions p{margin:1rem 0;color:var(--muted)}.local-instructions code{display:block;background:var(--bg);padding:1rem;color:var(--title);font-size:.9rem}.local-instructions a{color:var(--accent);text-decoration:underline}.toast{position:fixed;bottom:1.2rem;left:50%;transform:translateX(-50%);z-index:100;background:var(--title);color:#081521;border:1px solid var(--accent);border-radius:6px;padding:.7rem 1rem;font-size:.8rem;max-width:calc(100% - 2rem);box-shadow:0 8px 30px #0005}.dialog{width:min(700px,calc(100% - 2rem));max-height:90vh;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:0;box-shadow:0 20px 80px #0008}.dialog::backdrop{background:#030811b8;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem 1.3rem;border-bottom:1px solid var(--line)}.dialog-head h2{font-size:1rem}.dialog-body{padding:1.3rem}.dialog-body p{font-size:.875rem;color:var(--muted);margin:.8rem 0}.dialog-body h3{margin:1.2rem 0 .5rem}.dialog-body ul{font-size:.85rem;color:var(--muted);padding-left:1.3rem}.dialog-body li{margin:.6rem 0}.dialog-body code{font-size:.8rem;overflow-wrap:anywhere}.dialog-body input{font-size:.8rem}.dialog-buttons{display:flex;justify-content:flex-end;gap:.7rem;margin-top:1rem}.history-item{border:1px solid var(--line);padding:.9rem;border-radius:5px;margin:.7rem 0}.history-item header{display:flex;justify-content:space-between;color:var(--muted);font-size:.75rem}.history-item button{font-size:.75rem;margin-top:.5rem}.difficulty-histogram{display:flex;align-items:flex-end;gap:.45rem;height:140px;margin:1.2rem 0 .6rem}.difficulty-bin{flex:1;display:flex;flex-direction:column;height:100%;justify-content:flex-end;align-items:center;font-family:Consolas,monospace;font-size:.7rem;color:var(--muted);gap:.35rem}.difficulty-bin i{width:100%;background:#3c85a7;min-height:2px}.difficulty-bin small{font-size:.6rem}.rating-details table{width:100%;border-collapse:collapse;font-size:.8rem}.rating-details td{padding:.6rem .4rem;border-bottom:1px solid var(--line)}[hidden]{display:none!important}
@media(min-width:1600px){.study-main{padding:2rem}}
@media(max-width:1200px){.workspace-grid{grid-template-columns:240px minmax(0,1fr)}.activity-sidebar{display:none}.room-label{max-width:200px}.study-main{padding:1.4rem}.topbar{gap:1rem}.variant-link{display:none}}
@media(max-width:850px){.workspace-grid{grid-template-columns:1fr}.exercise-sidebar{display:none;position:fixed;inset:0 0 0 auto;width:min(360px,100%);z-index:40;box-shadow:-20px 0 80px #0009;padding:1.2rem}.exercise-sidebar.open{display:block}.exercise-list{max-height:calc(100dvh - 290px)}.mobile-close{display:block}.mobile-library-button{display:block}.topbar{padding:.9rem 1rem;flex-wrap:wrap;gap:.6rem}.room-label{border:0;padding:0;max-width:200px;flex:1;font-size:.75rem}.connection{margin-left:0;font-size:.7rem}.top-actions{margin-left:auto}.top-actions button{padding:.5rem .65rem;font-size:.75rem}.room-summary{grid-template-columns:1fr 1fr 1fr}.summary-cell{padding:.8rem 1rem;gap:.5rem}.summary-avatar{display:none}.summary-number{font-size:1.5rem}.summary-info small{font-size:.65rem}.summary-info strong{font-size:.75rem}.study-main{max-width:850px;width:100%;padding:1.3rem 1rem;margin:auto}.exercise-heading h1{font-size:1.55rem}.lobby{gap:2rem;margin:3rem auto;grid-template-columns:1fr 1fr}.lobby h1{font-size:2.7rem}}
@media(max-width:560px){.brand{font-size:.85rem}.room-label{display:none}.top-actions{gap:.2rem}.connection{margin-right:.25rem}.topbar{gap:.5rem}.summary-cell{padding:.75rem .65rem;flex-direction:column;align-items:flex-start;gap:.35rem}.summary-info{flex:initial}.summary-number{font-size:1.4rem}.summary-number small{display:inline;font-size:.6rem;margin-left:.2rem}.summary-cell:last-child .summary-info small{font-size:.65rem}.summary-info strong{font-size:.7rem}.summary-info small{font-size:.6rem}.exercise-heading h1{font-size:1.35rem}.exercise-heading .eyebrow{font-size:.65rem}.point-block strong{font-size:2rem}.point-block{min-width:55px}.study-main{padding:1.2rem .85rem 2rem}.person-progress{padding:.7rem}.person-progress strong{font-size:.75rem}.person-progress small{font-size:.65rem}.study-tabs{gap:1rem}.study-tabs button{font-size:.8rem}.attempt-heading h2{font-size:.85rem}.save-status{font-size:.65rem;max-width:130px;text-align:right}#answer-input{min-height:210px;font-size:.85rem}.attempt-toolbar{grid-template-columns:1fr}.attempt-toolbar button{width:100%}.label select{font-size:.85rem}.note-composer-footer{align-items:flex-start}.spoiler-toggle{font-size:.7rem;max-width:170px}.note-composer-footer button{font-size:.75rem}.note-meta{align-items:flex-start}.note-meta time{max-width:135px;text-align:right;font-size:.65rem}.dialog-body{padding:1rem}.dialog-head{padding:.85rem 1rem}.lobby{display:block;margin:2rem auto;padding:0 1rem}.lobby-intro .lobby-principle{margin:1.2rem 0}.lobby h1{font-size:2.6rem}.lobby-intro p{font-size:.9rem}.lobby-form{padding:1.2rem;margin-top:1.5rem}.lobby-footer{display:block;padding:0 1rem 2rem}.lobby-footer a{display:block;margin:.5rem 0}.local-instructions{margin:2rem 1rem;padding:1.2rem}.local-instructions h1{font-size:1.5rem}.local-instructions code{font-size:.8rem}.next-action p{max-width:180px}.next-action button{font-size:.75rem;white-space:nowrap}.discussion-summary{flex-wrap:wrap}.locked-answer p{font-size:.8rem}.demo-banner,.error-banner{padding:.6rem .85rem}.rating-details td{font-size:.75rem}.difficulty-histogram{gap:.2rem}}
.workspace-tools{display:flex;gap:.5rem;margin-top:1.2rem;border-top:1px solid var(--line);padding-top:.7rem}.workspace-tools button{font-size:.75rem}.own-answer-summary{border:1px solid var(--line);padding:.75rem;border-radius:5px;background:var(--panel);font-size:.8rem;color:var(--muted)}.own-answer-summary summary{cursor:pointer;min-height:30px;color:var(--title)}
.exercise-button{flex-shrink:0}
.exercise-button strong{font-size:.875rem}.exercise-button small{font-size:.75rem}.exercise-point small{font-size:.65rem}.study-main #answer-input{font-size:1rem}.answer-text{font-size:1rem}.note-card p{font-size:1rem}.person-progress strong,.outcome{font-size:.875rem}.rating-card p,.event-item{font-size:.8rem}
.host-notice{font-size:.75rem;color:var(--muted);padding:.55rem 1.5rem;border-bottom:1px solid var(--line);background:var(--panel2)}@media(max-width:560px){.host-notice{padding:.55rem .85rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.room-inbox{display:flex;align-items:center;gap:12px;margin:12px 0;font-size:.75rem;color:var(--muted)}.room-inbox button{white-space:nowrap}.proposed-rules{font-size:.8rem;background:var(--panel2);border:1px solid var(--line);color:var(--muted);padding:12px;border-radius:8px}.library-filters>select{width:100%;margin-bottom:10px}@media(max-width:600px){.room-inbox span{font-size:.65rem}}

.basis-version{display:block;font-size:.7rem;line-height:1.5;overflow-wrap:anywhere;margin-top:.5rem;color:var(--muted)}.catalog-provenance{font-size:.75rem;line-height:1.5;color:var(--muted);margin:.8rem 0}

.rating-details table{table-layout:fixed;max-width:100%}.rating-details td{overflow-wrap:anywhere}

/* A quiet overview; details live one click away in the study workspace. */
.room-navigation{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 2rem;background:var(--panel);gap:1rem}.room-navigation>div{display:flex;gap:1.5rem}.room-navigation button{background:none;border:0;border-radius:0;color:var(--muted);padding:1rem .15rem;min-height:48px}.room-navigation button[aria-pressed=true]{color:var(--title);box-shadow:inset 0 -2px var(--accent)}.room-navigation #unread-button{font-size:.8rem}.top-actions .variant-link{display:none}.workspace-grid{grid-template-columns:260px minmax(0,1fr);max-width:1320px;margin:auto;min-height:calc(100vh - 160px)}.activity-sidebar{display:none}.study-main{max-width:960px;width:100%;padding:2rem 2.4rem}.exercise-heading h1{font-size:1.6rem}.exercise-tags .tag:not(.primary){display:none}.guide-details{border:0;margin:.5rem 0;color:var(--muted)}.score-details{border-top:1px solid var(--line);margin-top:1.2rem;padding-top:.7rem;color:var(--muted);font-size:.8rem}.score-details>summary{cursor:pointer;min-height:32px}.host-notice{font-size:.7rem;padding:.4rem 2rem;background:transparent}.dashboard{max-width:1320px;padding:2.7rem 2rem 2rem;margin:auto}.dashboard-heading{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-bottom:2rem}.dashboard-heading h1{font-family:Georgia,serif;font-size:2.7rem;font-weight:400;letter-spacing:-.045em;line-height:1.15;margin:.5rem 0 .6rem}.dashboard-heading p:not(.eyebrow){font-size:.9rem;color:var(--muted)}.dashboard-heading .primary{white-space:nowrap;font-size:.85rem;padding:.8rem 1rem}.dashboard-heading .primary span{margin-left:1rem}.dashboard-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;margin:1.5rem 0 1.8rem}.dashboard-stat{background:var(--panel);border:1px solid var(--line);padding:1.2rem 1.3rem;border-radius:10px;display:block;text-align:left;color:var(--muted);font-weight:400}.dashboard-stat>span{font-size:.8rem}.dashboard-stat>strong{display:block;font-family:Consolas,monospace;font-weight:400;font-size:2.7rem;line-height:1.3;color:var(--accent);margin:.3rem 0 .4rem}.dashboard-stat>strong small{font-size:.9rem;color:var(--muted);margin-left:.4rem}.dashboard-stat.friend>strong{color:var(--friend)}.dashboard-stat>p{font-size:.75rem;margin:.5rem 0 0}.stat-meter{height:3px;background:var(--line);border-radius:2px;overflow:hidden}.stat-meter i{display:block;height:100%;background:var(--accent)}.friend .stat-meter i{background:var(--friend)}.discussion-stat{background:linear-gradient(130deg,#162c32,#14212f)}.discussion-stat>strong{color:var(--title)}.discussion-stat:hover{border-color:var(--accent);background:var(--panel2)}.discussion-stat>p span{float:right;color:var(--accent)}.dashboard-filters{display:flex;align-items:flex-end;gap:1rem;margin-bottom:1.2rem}.dashboard-filters label{font-size:.7rem;color:var(--muted);display:flex;flex-direction:column;gap:.3rem}.dashboard-filters select{min-height:40px;font-size:.8rem;min-width:180px}.dashboard-filters .dash-check{flex-direction:row;align-items:center;gap:.5rem;min-height:40px;font-size:.8rem;white-space:nowrap}.dash-check input{width:16px;min-height:16px}.dashboard-filters>p{margin-left:auto;font-size:.75rem;color:var(--muted);padding-bottom:.6rem}.dashboard-charts{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:1rem;align-items:start}.chart-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:1.4rem;min-width:0}.chart-heading{display:flex;gap:1rem;align-items:center;justify-content:space-between;margin-bottom:1.3rem}.chart-heading .eyebrow{font-size:.65rem;margin-bottom:.4rem}.chart-heading h2{font-size:1rem;font-weight:500;letter-spacing:-.01em}.chart-period{display:flex;gap:.15rem;background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:2px}.chart-period button{padding:.3rem .5rem;background:transparent;border:0;min-height:30px;font-size:.7rem;color:var(--muted);border-radius:4px}.chart-period button[aria-pressed=true]{background:var(--soft);color:var(--title)}.chart-legend{display:flex;gap:1rem;align-items:center;font-size:.75rem;color:var(--muted);flex-wrap:wrap}.chart-legend>span:before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:.45rem;background:var(--accent)}.chart-legend>.friend-dot:before{background:var(--friend)}.chart-legend>small{font-size:.65rem;margin-left:auto;color:var(--muted)}#timeline-chart{margin-top:1.2rem}#timeline-chart svg{display:block;width:100%;height:auto;overflow:visible}#timeline-chart text{font:12px Consolas,monospace;fill:var(--muted)}.chart-grid{stroke:var(--line);stroke-dasharray:3 5}.progress-line{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.progress-line.friend{stroke:var(--friend);stroke-dasharray:5 3}.chart-point{fill:var(--accent);stroke:var(--panel);stroke-width:2;cursor:pointer}.chart-point.friend{fill:var(--friend)}.chart-point:focus,.chart-point:hover{stroke:var(--title);stroke-width:3;outline:0}.chart-insight{font-size:.8rem;color:var(--muted);padding:1rem 0 .3rem;border-top:1px solid var(--line);line-height:1.6;margin-top:.7rem}.chart-table{margin-top:1rem;font-size:.75rem;color:var(--muted)}.chart-table summary{cursor:pointer;min-height:30px}.chart-table table{width:100%;border-collapse:collapse;font-size:.75rem}.chart-table th,.chart-table td{text-align:left;padding:.5rem;border-bottom:1px solid var(--line)}.chart-table td button{font-size:.75rem;padding:.25rem .35rem;min-height:32px;background:none;border:0;color:var(--accent)}.chart-help{font-size:.75rem;color:var(--muted);line-height:1.6;margin:-.3rem 0 1rem}.chapter-chart{max-height:365px;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent;padding-right:.3rem}.chapter-row{display:grid;grid-template-columns:90px minmax(30px,1fr) 36px;align-items:center;gap:1rem;padding:.6rem 0;width:100%;border:0;border-radius:0;border-bottom:1px solid var(--line);background:none;text-align:left;color:var(--muted);min-height:55px;font-size:.75rem;font-weight:400}.chapter-row:hover,.chapter-row.selected{background:var(--panel2)}.chapter-label{color:var(--text)}.chapter-label small{display:block;font-size:.6rem;color:var(--muted);margin-top:.2rem}.chapter-bars{display:flex;flex-direction:column;gap:7px}.chapter-bar{height:5px;background:var(--line);border-radius:3px;overflow:hidden}.chapter-bar i{display:block;height:100%;background:var(--accent);border-radius:3px;min-width:0}.chapter-bar.friend i{background:var(--friend)}.chapter-percent{display:flex;flex-direction:column;gap:1px;font:11px Consolas,monospace;text-align:right;color:var(--accent)}.chapter-percent b{font-weight:400}.chapter-percent b:last-child{color:var(--friend)}.dashboard-definition{font-size:.7rem;line-height:1.7;color:var(--muted);max-width:1000px;margin:1.2rem 0}.dashboard-drilldown{margin-top:1.2rem;padding:1.4rem;background:var(--panel);border:1px solid var(--line);border-radius:10px}.drilldown-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.drilldown-heading h2{font-size:1rem}.drilldown-list{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;max-height:410px;overflow:auto}.drilldown-exercise{display:flex;align-items:center;justify-content:space-between;gap:1rem;text-align:left;background:var(--bg);font-size:.8rem;padding:.8rem 1rem;min-width:0;font-weight:400}.drilldown-exercise strong{display:block;font-family:Consolas,monospace;color:var(--title);font-size:.75rem}.drilldown-exercise small{display:block;font-size:.75rem;color:var(--muted);margin-top:.3rem}.drilldown-status{display:flex;gap:.8rem;white-space:nowrap;color:var(--muted)}.drilldown-status .you{color:var(--accent)}.drilldown-status .friend{color:var(--friend)}.answer-photos{margin:.9rem 0}.photo-toolbar{display:flex;gap:.45rem;flex-wrap:wrap}.photo-toolbar button{font-size:.75rem;min-height:38px;padding:.45rem .7rem}.answer-photos>p{font-size:.7rem;color:var(--muted);margin:.5rem 0;line-height:1.5}.photo-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:.9rem 0}.answer-photo{margin:0;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--bg);min-width:0}.photo-open{width:100%;padding:0;border:0;border-radius:0;background:#fff;display:block;min-height:0}.photo-open img{display:block;width:100%;height:145px;object-fit:cover;object-position:top}.answer-photo figcaption{display:flex;align-items:center;justify-content:space-between;gap:.3rem;padding:.2rem .5rem;font-size:.7rem;color:var(--muted)}.answer-photo figcaption button{font-size:.65rem;min-height:32px;padding:.2rem .15rem}.photo-large{display:block;width:100%;height:auto;max-height:63vh;object-fit:contain;background:#fff;border-radius:4px}.photo-download{display:flex;align-items:center;font-size:.8rem;border:1px solid var(--line);padding:.4rem .7rem;border-radius:5px;color:var(--title)}.photo-download:hover{background:var(--panel2)}
@media(max-width:1100px){.dashboard-charts{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.chart-card{padding:1rem}.chart-heading{align-items:flex-start;flex-wrap:wrap}.chart-legend small{margin-left:0}.study-main{padding:1.5rem}.workspace-grid{grid-template-columns:240px minmax(0,1fr)}}
@media(max-width:850px){.workspace-grid{grid-template-columns:1fr}.study-main{padding:1.4rem 1.2rem}.dashboard{padding:1.8rem 1.2rem}.dashboard-heading h1{font-size:2.3rem}.dashboard-heading{gap:1rem}.dashboard-heading .primary{white-space:normal;max-width:160px}.dashboard-charts{grid-template-columns:1fr}.chapter-chart{max-height:355px}.chapter-row{grid-template-columns:110px minmax(30px,1fr) 36px}.chart-heading{flex-wrap:nowrap}.dashboard-filters{flex-wrap:wrap}.dashboard-filters>p{margin-left:0}.room-navigation{padding:0 1.2rem}.host-notice{padding:.4rem 1.2rem}}
@media(max-width:560px){.dashboard{padding:1.5rem .85rem}.dashboard-heading{display:block;margin-bottom:1.2rem}.dashboard-heading h1{font-size:2.15rem;max-width:300px}.dashboard-heading .primary{margin-top:1rem;max-width:none;white-space:nowrap}.dashboard-heading>div>p:not(.eyebrow){font-size:.8rem}.dashboard-stats{grid-template-columns:1fr 1fr;gap:.6rem;margin:1rem 0 1.3rem}.dashboard-stat{padding:.9rem}.dashboard-stat>strong{font-size:2.1rem}.dashboard-stat>strong small{font-size:.65rem;margin-left:.2rem}.dashboard-stat>span{font-size:.7rem}.dashboard-stat>p{font-size:.65rem}.discussion-stat{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:1rem}.discussion-stat>strong{grid-column:2;grid-row:1/3;margin:0;font-size:1.8rem}.discussion-stat>p{grid-column:1;margin-top:.25rem}.dashboard-filters{gap:.7rem;display:grid;grid-template-columns:1fr 1fr}.dashboard-filters select{min-width:0;width:100%;font-size:.7rem;padding:.45rem}.dashboard-filters>label{min-width:0}.dashboard-filters .dash-check{font-size:.7rem}.dashboard-filters>p{font-size:.65rem;text-align:right;padding:0}.chart-heading{flex-wrap:wrap;gap:.7rem}.chart-card{padding:.9rem}.chart-heading h2{font-size:.95rem}.chart-legend{gap:.9rem}.chart-legend>small{width:100%;font-size:.6rem}.chart-insight{font-size:.75rem}.drilldown-list{grid-template-columns:1fr}.dashboard-drilldown{padding:1rem}.drilldown-heading h2{font-size:.9rem}.room-navigation{padding:0 .85rem;gap:.7rem}.room-navigation>div{gap:1.1rem}.room-navigation button{font-size:.8rem}.room-navigation #unread-button{font-size:.65rem}.study-main{padding:1.2rem .85rem 2rem}.host-notice{padding:.35rem .85rem}.photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-open img{height:140px}.photo-toolbar{gap:.35rem}.photo-toolbar button{font-size:.7rem;padding:.45rem .5rem}.chapter-row{grid-template-columns:92px minmax(30px,1fr) 34px;gap:.7rem}}

/* Progress pies, a friendly score comparison, and one clear next step. */
.progress-overview{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.15fr);align-items:center;gap:1.5rem;margin:1.5rem 0 1.4rem}
.progress-summary{min-width:0;text-align:center;padding:.4rem 0;color:var(--accent)}
.progress-summary.friend{color:var(--friend)}
.progress-summary h2{font-size:.9rem;font-weight:500;display:flex;align-items:center;justify-content:center;gap:.5rem;margin:0 0 .7rem}
.progress-summary h2 i,.done-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor}
.progress-donut{position:relative;display:block;width:148px;height:148px;margin:0 auto;padding:0;border:0;border-radius:50%;background:transparent;color:inherit}
.progress-donut:hover{background:var(--panel2)}
.progress-donut svg{display:block;width:100%;height:100%;overflow:visible}
.progress-donut circle{fill:none;stroke-width:13;stroke-linecap:butt}
.progress-donut .donut-track{stroke:var(--line)}
.progress-donut .donut-slice{stroke:currentColor}
.donut-centre{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;pointer-events:none}
.donut-centre strong{font:2.3rem Consolas,monospace;font-weight:400;line-height:1.25}
.donut-centre small{font-size:.65rem;color:var(--muted);font-weight:400}
.donut-caption{font-size:.72rem;color:var(--muted);margin:.65rem 0 .55rem}
.donut-caption strong{color:var(--text);font-weight:500}
.donut-key{display:flex;justify-content:center;gap:.6rem;flex-wrap:wrap}
.donut-key button{display:flex;align-items:center;gap:.3rem;padding:.2rem .35rem;min-height:32px;border:0;background:none;font-size:.65rem;color:var(--muted);font-weight:400}
.donut-key button:hover{background:var(--panel2)}
.donut-key i{width:6px;height:6px;background:var(--line);border-radius:50%;flex-shrink:0}
.donut-key i.done-dot{background:currentColor;color:var(--accent)}
.friend .donut-key i.done-dot{color:var(--friend)}
.donut-key b{font-weight:500;color:var(--text)}
.competition-summary{min-width:0;border-left:1px solid var(--line);padding:1rem 0 1rem 1.5rem}
.competition-summary .eyebrow{font-size:.62rem;margin:0 0 .6rem}
.competition-summary h2{font-size:1rem;font-weight:500;line-height:1.5;color:var(--text);margin:0}
.competition-scores{display:flex;align-items:center;gap:1rem;margin:.8rem 0 .5rem}
.competition-scores>div{min-width:0}
.competition-scores span{font-size:.7rem;color:var(--muted);display:block;margin-bottom:.2rem}
.competition-scores strong{font:1.8rem Consolas,monospace;white-space:nowrap;color:var(--accent)}
.competition-scores .friend strong{color:var(--friend)}
.competition-scores strong small{font: .65rem Arial,sans-serif;color:var(--muted)}
.competition-scores .versus{font-size:1.2rem;color:var(--line)}
.competition-help{font-size:.66rem;line-height:1.6;color:var(--muted);margin:0}
.compare-shortcut{width:100%;display:flex;justify-content:space-between;align-items:center;gap:.5rem;text-align:left;margin-top:.8rem;background:var(--panel);padding:.65rem .75rem;font-weight:400}
.compare-shortcut strong{font-size:.8rem;color:var(--text);font-weight:500}
.compare-shortcut small{display:block;font-size:.65rem;color:var(--muted);margin-top:.25rem}
.next-together{display:flex;justify-content:space-between;align-items:center;gap:1.3rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1.2rem 0;margin-bottom:1.5rem}
.next-together .eyebrow{font-size:.6rem;margin:0 0 .4rem}
.next-together h2{font-size:1rem;line-height:1.5;margin:0;color:var(--text);font-weight:500}
.next-together p:not(.eyebrow){font-size:.72rem;color:var(--muted);margin:.35rem 0 0;max-width:480px;line-height:1.6}
.next-together-actions{display:flex;gap:.6rem;flex-wrap:wrap;flex-shrink:0}
.next-together-actions button{font-size:.75rem;padding:.65rem .8rem}
.queue-count{font-family:Consolas,monospace;margin-left:.3rem;opacity:.8}
.answer-comparison{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;align-items:start}
.answer-comparison .shared-answer{min-width:0}
.answer-comparison .shared-answer header{align-items:flex-start;font-size:.75rem}
.answer-comparison .own-comparison{border-left-color:var(--accent)}
.answer-comparison .own-comparison header{color:var(--accent)}
.answer-comparison .photo-gallery{grid-template-columns:1fr}
.comparison-prompt{font-size:.8rem;color:var(--muted);margin:.9rem 0;line-height:1.6}
@media(max-width:1100px){.next-together{align-items:flex-start;flex-direction:column}.next-together-actions{flex-shrink:1}}
@media(max-width:700px){.progress-overview{grid-template-columns:1fr 1fr;gap:.7rem}.competition-summary{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:1rem 0 0;display:grid;grid-template-columns:1fr 1fr;column-gap:1rem}.competition-summary .eyebrow,.competition-summary h2,.competition-help{grid-column:1}.competition-scores{grid-column:2;grid-row:1/4;margin:0;align-self:center;justify-content:flex-end}.compare-shortcut{grid-column:1/-1}.answer-comparison{grid-template-columns:1fr}}
@media(max-width:400px){.progress-donut{width:124px;height:124px}.donut-centre strong{font-size:1.9rem}.donut-caption{font-size:.65rem}.donut-key{gap:0}.donut-key button{font-size:.6rem;padding:.2rem .25rem}.competition-summary{grid-template-columns:1fr}.competition-scores{grid-column:1;grid-row:auto;justify-content:flex-start;margin:.7rem 0}.competition-summary h2{font-size:.9rem}.next-together-actions{width:100%}.next-together-actions button{flex:1;min-width:0;font-size:.7rem}.answer-comparison .answer-text{font-size:.75rem}}
/* Keep the exercise and editor primary; supporting controls are optional. */
.topbar{min-height:60px;padding:.8rem 1.4rem;gap:1rem;background:#0b121c}
.topbar .room-label{display:none}
.topbar .connection{margin-left:auto;font-size:.75rem;white-space:nowrap}
.header-menu{position:relative;color:var(--muted);font-size:.8rem}
.header-menu>summary{cursor:pointer;list-style:none;padding:.45rem .6rem}
.header-menu>summary::-webkit-details-marker{display:none}
.header-menu-items{position:absolute;right:0;top:calc(100% + .5rem);z-index:50;min-width:180px;padding:.45rem;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 36px #0008}
.header-menu-items a,.header-menu-items button{display:block;width:100%;padding:.6rem .7rem;text-align:left;font-size:.8rem}
.workspace-grid{display:block;min-height:calc(100dvh - 120px)}
.study-main{max-width:850px;width:100%;margin:0 auto;padding:2rem 2rem 3rem}
.study-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.7rem}
.study-toolbar button{padding:.3rem 0;font-weight:400;font-size:.8rem}
.study-toolbar span{margin-left:.4rem}
.exercise-heading{align-items:flex-start;gap:1rem;margin-bottom:.65rem}
.exercise-heading .eyebrow{font-family:inherit;text-transform:none;font-size:.8rem;letter-spacing:0;color:var(--muted)}
.exercise-heading h1{font-family:Arial,Helvetica,sans-serif;font-size:1.75rem;line-height:1.3;letter-spacing:-.025em;color:#e6edf4;max-width:670px;margin:.5rem 0}
.exercise-heading .point-block{display:flex;align-items:center;justify-content:flex-end;gap:.25rem;min-width:58px;padding:.25rem .3rem;margin-top:.15rem;white-space:nowrap}
.exercise-heading .point-block strong{font:400 .9rem Arial,Helvetica,sans-serif}
.exercise-heading .point-block span{font-size:.75rem}
.exercise-details{font-size:.8rem;color:var(--muted);margin:.3rem 0 1.3rem}
.exercise-details>summary,.score-details>summary,.workspace-options>summary{cursor:pointer;min-height:32px;padding:.3rem 0;color:var(--muted);font-size:.8rem}
#exercise-context{font-size:.8rem;line-height:1.65;margin:.75rem 0}
#exercise-context p{margin:.5rem 0}
.exercise-details .paired-progress{margin:1rem 0;gap:1rem}
.exercise-details .person-progress{background:none;border:0;border-left:2px solid var(--line);border-radius:0;padding:.2rem .8rem}
.exercise-details .person-progress strong,.exercise-details .outcome{font-size:.8rem}
.study-tabs{margin:1.3rem 0 1.2rem;gap:1.6rem}
.study-tabs button{font-size:.875rem;font-weight:500}
.attempt-heading{margin-bottom:.7rem}
.attempt-heading h2{font-size:.9rem;font-weight:500;color:var(--text)}
.save-status{font-size:.7rem}
.save-status.saved{color:var(--muted)}
.study-main #answer-input{min-height:300px;background:#0b111a;border:1px solid #263345;border-radius:9px;padding:1.1rem;font-family:Arial,Helvetica,sans-serif;font-size:.95rem;line-height:1.7}
.answer-photos{margin:.7rem 0 1.1rem}
.attachment-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.attachment-options>summary{cursor:pointer;list-style:none;font-size:.8rem;color:var(--muted);padding:.35rem .65rem;border:1px solid var(--line);border-radius:5px;min-height:34px}
.attachment-options>summary::-webkit-details-marker{display:none}
.attachment-options .photo-toolbar{margin-top:.6rem}
.attachment-toolbar>.quiet{font-size:.75rem;font-weight:400;min-height:34px}
#photo-status:empty{display:none}
.attempt-toolbar{grid-template-columns:minmax(0,260px) auto;justify-content:space-between;gap:1.2rem}
.attempt-toolbar .label{font-size:.75rem}
.attempt-toolbar select{font-size:.85rem}
.attempt-toolbar .primary{min-width:145px;min-height:44px}
.score-details{margin-top:1.2rem}
.workspace-options{margin-top:.6rem}
.workspace-options .workspace-tools{margin:.3rem 0 0;border:0;padding:0;flex-wrap:wrap}
.activity-sidebar[hidden]{display:none}

/* Native modal: focus, Escape, and the backdrop keep the picker separate. */
.exercise-picker{width:min(680px,calc(100% - 3rem));max-height:min(760px,calc(100dvh - 3rem));height:min(760px,calc(100dvh - 3rem));padding:0;border:1px solid #2d4051;border-radius:12px;background:#0b121c;color:var(--text);box-shadow:0 24px 90px #0009;overflow:hidden}
.exercise-picker::backdrop{background:#03060dd9;backdrop-filter:blur(4px)}
.exercise-picker[open]{display:flex}
.exercise-picker .exercise-sidebar{display:flex;flex-direction:column;position:static;inset:auto;width:100%;min-height:0;padding:1.4rem 1.5rem;border:0;box-shadow:none;background:transparent;z-index:auto}
.exercise-picker .sidebar-title{margin-bottom:1.1rem;flex-shrink:0}
.exercise-picker .sidebar-title h2{font-size:1.2rem;color:#e6edf4;font-weight:500}
.exercise-picker .sidebar-title button{font-weight:400}
.exercise-picker .library-filters{flex-shrink:0;gap:.65rem}
.library-search-row{display:grid;grid-template-columns:minmax(0,1fr) 155px;gap:.6rem}
.library-search-row input,.library-search-row select{min-height:44px;font-size:.85rem;background:#080e16}
.library-options>summary{cursor:pointer;min-height:32px;font-size:.75rem;color:var(--muted);padding:.35rem 0}
.library-extra-filters{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.7rem;padding:.6rem 0 .3rem}
.library-extra-filters label{font-size:.75rem}
.library-extra-filters .check-filter{grid-column:1/-1}
.library-extra-filters select{font-size:.8rem}
.exercise-picker .list-meta{margin:.7rem 0 .45rem;font-size:.75rem;flex-shrink:0}
.exercise-picker .exercise-list{min-height:90px;max-height:none;flex:1;overflow:auto;gap:0;padding-right:.4rem}
.exercise-picker .exercise-button{align-items:center;justify-content:space-between;gap:1rem;min-height:72px;padding:.8rem .9rem;margin:.1rem 0;border-radius:6px;border:1px solid transparent}
.exercise-picker .exercise-button.active{background:#152433;border-color:#2d455b}
.exercise-picker .exercise-button:hover{background:#121f2d}
.exercise-row-text{min-width:0}
.exercise-picker .exercise-button strong{font-weight:400;font-size:.9rem;line-height:1.35;color:var(--text)}
.exercise-picker .exercise-button small{font-size:.72rem;margin-top:.35rem}
.exercise-row-meta{display:flex;align-items:center;gap:.6rem;flex-shrink:0}
.exercise-picker .exercise-point{display:flex;align-items:baseline;gap:.25rem;font:400 .85rem Arial,Helvetica,sans-serif;min-width:35px;color:var(--muted)}
.exercise-picker .exercise-point small{display:inline;font-size:.7rem;margin:0}
.exercise-picker .load-more{flex-shrink:0;margin-top:.7rem}
@media(max-width:560px){
  .topbar{padding:.65rem .9rem;gap:.6rem;flex-wrap:nowrap}
  .study-main{padding:1.25rem 1rem 2.5rem}
  .study-toolbar{margin-bottom:1.2rem}
  .exercise-heading h1{font-size:1.4rem;line-height:1.35}
  .exercise-heading .point-block{min-width:43px}
  .study-main #answer-input{min-height:265px;font-size:.9rem}
  .attempt-toolbar{grid-template-columns:1fr;gap:.8rem}
  .attempt-toolbar .primary{width:100%}
  .study-tabs{gap:1.25rem}
  .study-tabs button{font-size:.8rem}
  .exercise-picker{width:100%;height:100dvh;max-height:100dvh;max-width:100%;margin:0;border:0;border-radius:0}
  .exercise-picker .exercise-sidebar{padding:1.1rem 1rem}
  .library-search-row{grid-template-columns:1fr}
  .library-extra-filters{grid-template-columns:1fr 1fr}
  .library-extra-filters .label:nth-child(3){grid-column:1/-1}
  .exercise-picker .exercise-button{padding:.8rem .65rem}
  .exercise-picker .exercise-button strong{font-size:.85rem}
  .exercise-row-meta{gap:.35rem}
}

