:root{--paper:#f6f1e7;--paper-deep:#efe7d7;--card:#fffdf7;--ink:#1c2433;--ink-soft:#4d586c;--line:#ddd3bf;--line-strong:#b7ab8d;--red:#b02e0c;--red-soft:#f7e3da;--green:#1a6b42;--green-soft:#e0eee2;--amber:#7c5a00;--amber-soft:#f6ebcd;--shadow:4px 4px 0 #1c24331a;--shadow-sm:2px 2px 0 #1c24331f;--radius:10px;--font-display:"Fraunces", Georgia, "Times New Roman", serif;--font-body:"Instrument Sans", "Avenir Next", "Segoe UI", sans-serif;--font-mono:"Spline Sans Mono", ui-monospace, "SF Mono", Menlo, monospace;font-family:var(--font-body);color:var(--ink);background-color:var(--paper);background-image:repeating-linear-gradient(#0000 0 31px,#1c243309 31px 32px);line-height:1.55}*{box-sizing:border-box}body{min-height:100vh;margin:0}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 .5rem;font-weight:650;line-height:1.2}h1{font-size:clamp(1.5rem,4vw,2.1rem);font-weight:800}a{color:inherit;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:3px}a:hover{-webkit-text-decoration-color:var(--red);text-decoration-color:var(--red)}:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:2px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.muted,.muted-note{color:var(--ink-soft);font-size:.875rem}.muted-note{margin:.25rem 0 0;font-weight:400}.center{text-align:center;margin-top:4rem}.spacer{flex:1}.error{color:var(--red);margin:0;font-weight:500}.loading{color:var(--ink-soft);font-family:var(--font-mono);justify-content:center;align-items:center;gap:.6rem;margin:3rem auto;font-size:.875rem;display:flex}.loading-dot{border:2px solid var(--ink-soft);border-top-color:#0000;border-radius:50%;width:.7rem;height:.7rem;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-note{background:var(--red-soft);border:1px solid var(--red);border-radius:var(--radius);color:var(--red);border-left-width:5px;margin:.75rem 0;padding:.6rem .9rem;font-weight:500}.error-note p{margin:.15rem 0}.empty-note{color:var(--ink-soft);border:1.5px dashed var(--line-strong);border-radius:var(--radius);text-align:center;margin:.5rem 0 1.5rem;padding:1.25rem}.rule-warning{color:var(--amber);background:var(--amber-soft);border:1px solid var(--amber);border-radius:var(--radius);border-left-width:5px;margin:.5rem 0;padding:.5rem .9rem;font-size:.9rem;font-weight:500}.btn{font:inherit;border:1.5px solid var(--ink);background:var(--card);color:var(--ink);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:999px;align-items:center;gap:.4rem;padding:.55rem 1rem;font-size:.925rem;font-weight:600;text-decoration:none;transition:transform 80ms,box-shadow 80ms;display:inline-flex}.btn:hover{transform:translate(-1px,-1px);box-shadow:3px 3px #1c243329}.btn:active{box-shadow:none;transform:translate(1px,1px)}.btn:disabled{opacity:.45;cursor:default;box-shadow:var(--shadow-sm);transform:none}.btn-primary{background:var(--ink);color:var(--paper)}.btn-danger{border-color:var(--red);color:var(--red)}.btn-warn-outline{background:var(--ink);color:var(--paper);opacity:.85}.btn-sm{padding:.3rem .7rem;font-size:.8rem}.btn-ghost{box-shadow:none;background:0 0;border-color:#0000}.link-button{font:inherit;color:var(--ink);cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:3px;background:0 0;border:none;padding:0}.link-button:hover{-webkit-text-decoration-color:var(--red);text-decoration-color:var(--red)}.retry-btn{font:inherit;border:1px solid var(--red);background:var(--card);color:var(--red);cursor:pointer;border-radius:999px;padding:.05rem .55rem;font-size:.8rem;font-weight:700}.input,textarea.input{font:inherit;border:1.5px solid var(--line-strong);background:var(--card);width:100%;color:var(--ink);border-radius:8px;padding:.55rem .7rem}.input:focus{border-color:var(--ink);outline:none}.input-sm{padding:.3rem .5rem;font-size:.85rem}textarea.input{resize:vertical}.field{margin:.75rem 0}.field>label,fieldset legend{margin-bottom:.3rem;font-size:.875rem;font-weight:600;display:block}.pw-row{align-items:center;gap:.5rem;display:flex}fieldset{border:1.5px solid var(--line);border-radius:var(--radius);margin:1rem 0;padding:.75rem 1rem 1rem}.chip{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.09em;white-space:nowrap;border:1.5px solid;border-radius:4px;padding:.12rem .5rem;font-size:.68rem;font-weight:600;display:inline-block;transform:rotate(-1deg)}.chip-draft{color:var(--ink-soft);background:var(--paper-deep)}.chip-open{color:var(--amber);background:var(--amber-soft)}.chip-done{color:var(--green);background:var(--green-soft)}.chip-urgent{color:var(--red);background:var(--red-soft)}.chip-muted{color:var(--ink-soft);background:0 0;border-style:dashed}.deadline-badge{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.875rem;display:inline-flex}.deadline-badge .tz{color:var(--ink-soft);font-size:.75rem}.deadline-badge .countdown{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--red);background:var(--red-soft);border:1px solid var(--red);border-radius:4px;padding:.08rem .45rem;font-size:.78rem;font-weight:600}.deadline-badge.urgent .deadline-when{color:var(--red);font-weight:600}.deadline-badge.urgent .countdown{animation:2s ease-in-out infinite pulse}.deadline-badge.past .countdown{color:var(--ink-soft);background:var(--paper-deep);border-color:var(--line-strong)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}.auth-page{justify-content:center;align-items:flex-start;padding:10vh 1rem 1rem;display:flex}.auth-card{background:var(--card);border:1.5px solid var(--ink);border-radius:var(--radius);width:100%;max-width:23rem;box-shadow:var(--shadow);flex-direction:column;gap:1rem;padding:1.75rem;display:flex}.auth-card h1,.auth-card p{margin:0}.auth-card label{flex-direction:column;gap:.25rem;font-size:.875rem;font-weight:600;display:flex}.auth-card input{font:inherit;border:1.5px solid var(--line-strong);background:var(--card);border-radius:8px;padding:.55rem .7rem}.auth-card button{font:inherit;border:1.5px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:999px;padding:.65rem;font-weight:700}.auth-card button:disabled{opacity:.6;cursor:default}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-header{background:var(--card);border-bottom:2px solid var(--ink);z-index:20;align-items:center;gap:1.25rem;padding:.7rem 1rem;display:flex;position:sticky;top:0}.brand{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.2rem;font-weight:800;text-decoration:none}.brand-accent{color:var(--red)}.app-nav{gap:1rem;display:flex}.app-nav a{color:var(--ink-soft);border-bottom:2px solid #0000;padding:.15rem 0;font-size:.925rem;font-weight:600;text-decoration:none}.app-nav a.active{color:var(--ink);border-bottom-color:var(--red)}.user-info{color:var(--ink-soft);font-size:.875rem}.app-main{flex:1;width:100%;max-width:75rem;margin:0 auto;padding:1.5rem 1rem 4rem}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin:.5rem 0 1.25rem;display:flex}.page-head h1{margin:0}.crumb{margin-bottom:.5rem;font-size:.875rem}.crumb a{color:var(--ink-soft);text-decoration:none}.crumb a:hover{color:var(--ink);text-decoration:underline}.section-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-soft);border-bottom:1.5px solid var(--line-strong);margin:2rem 0 .9rem;padding-bottom:.3rem;font-size:.75rem;font-weight:600}.card{background:var(--card);border:1.5px solid var(--line-strong);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.1rem 1.25rem}.modal-overlay{z-index:50;background:#1c243373;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:var(--card);border:2px solid var(--ink);border-radius:var(--radius);width:100%;max-width:28rem;max-height:90vh;padding:1.25rem 1.5rem;animation:.15s ease-out modal-in;overflow-y:auto;box-shadow:6px 6px #1c243340}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)}}.modal-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem;display:flex}.modal-head h2{margin:0;font-size:1.2rem}.modal-actions{justify-content:flex-end;gap:.6rem;margin-top:1.25rem;display:flex}.table{border-collapse:collapse;background:var(--card);border:1.5px solid var(--line-strong);border-radius:var(--radius);width:100%;font-size:.9rem;overflow:hidden}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.55rem .75rem}.table thead th{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);background:var(--paper-deep);border-bottom:1.5px solid var(--line-strong);font-size:.7rem}.table tbody tr:last-child td,.table tbody tr:last-child th{border-bottom:none}.table .num{text-align:center;font-variant-numeric:tabular-nums}.row-inactive{color:var(--ink-soft)}.row-inactive td:first-child,.row-inactive th[scope=row]{text-decoration:line-through;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong)}.row-actions{flex-wrap:wrap;gap:.35rem;display:flex}.table-scroll{border-radius:var(--radius);overflow-x:auto}.quiz-card-list{gap:.9rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.quiz-card{background:var(--card);border:1.5px solid var(--ink);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem 1.1rem;text-decoration:none;transition:transform .1s,box-shadow .1s;animation:.3s ease-out both rise-in;display:block}.quiz-card:hover{transform:translate(-2px,-2px);box-shadow:6px 6px #1c243324}.quiz-card.past{border-color:var(--line-strong)}.quiz-card-list li:nth-child(2) .quiz-card{animation-delay:50ms}.quiz-card-list li:nth-child(3) .quiz-card{animation-delay:.1s}.quiz-card-list li:nth-child(n+4) .quiz-card{animation-delay:.15s}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}}.quiz-card-top{justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.35rem;display:flex}.quiz-card-top h3{margin:0;font-size:1.15rem}.progress-row{align-items:center;gap:.7rem;margin-top:.7rem;display:flex}.progress-track{background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:999px;flex:1;height:.55rem;overflow:hidden}.progress-fill{background:var(--green);border-radius:999px;height:100%;transition:width .3s;display:block}.progress-label{font-family:var(--font-mono);color:var(--ink-soft);white-space:nowrap;font-size:.75rem;font-weight:600}.score-pill{font-family:var(--font-mono);color:var(--ink);background:var(--green-soft);border:1.5px solid var(--green);white-space:nowrap;border-radius:8px;padding:.1rem .55rem;font-size:1rem;font-weight:600}.score-sep{color:var(--green)}.review-hint{color:var(--ink-soft);margin-top:.6rem;font-size:.85rem;display:block}.quiz-take{max-width:44rem;margin:0 auto}.sticky-deadline{z-index:10;background:var(--card);border:1.5px solid var(--ink);box-shadow:var(--shadow-sm);border-radius:999px;justify-content:space-between;align-items:center;gap:.75rem;margin:.5rem 0 1rem;padding:.45rem 1rem;display:flex;position:sticky;top:3.2rem}.sticky-progress{font-family:var(--font-mono);white-space:nowrap;color:var(--ink-soft);font-size:.8rem;font-weight:600}.autosave-note{color:var(--ink-soft);margin:0 0 1.25rem;font-size:.85rem}.submit-bar{border:1.5px solid var(--line);border-radius:var(--radius);background:var(--card);justify-items:start;gap:.75rem;margin-top:1.5rem;padding:1rem;display:grid}.submit-warning{color:var(--ink);margin:0;font-size:.9rem}.submit-actions{flex-wrap:wrap;gap:.5rem;display:flex}.submit-bar .form-error{color:var(--vermilion);margin:0;font-size:.85rem}.locked-banner{background:var(--amber-soft);border:1.5px solid var(--amber);border-radius:var(--radius);color:var(--ink);flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 1.25rem;padding:.8rem 1rem;display:flex}.q-list{gap:1.25rem;display:grid}.q-card{background:var(--card);border:1.5px solid var(--line-strong);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem 1.1rem 1.25rem}.q-card.q-right{border-color:var(--green)}.q-card.q-wrong{border-color:var(--red)}.q-head{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.5rem;display:flex}.q-folio{font-family:var(--font-display);color:var(--paper-deep);-webkit-text-stroke:1.2px var(--ink);letter-spacing:-.04em;font-size:1.6rem;font-weight:800;line-height:1}.q-of{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft);margin-right:auto;font-size:.72rem;font-weight:600}.q-verdict{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;border:1.5px solid;border-radius:4px;padding:.1rem .5rem;font-size:.7rem;font-weight:600;display:inline-block;transform:rotate(1.5deg)}.q-verdict.right{color:var(--green);background:var(--green-soft)}.q-verdict.wrong{color:var(--red);background:var(--red-soft)}.q-body{white-space:pre-wrap;margin:.25rem 0 .9rem;font-size:1.05rem;font-weight:500}.q-images{gap:.6rem;margin:0 0 1rem;display:grid}.q-images img{border:1.5px solid var(--line-strong);background:var(--paper-deep);border-radius:8px;max-width:100%;height:auto}.opt-list{gap:.55rem;display:grid}.opt{text-align:left;width:100%;font:inherit;background:var(--card);border:1.5px solid var(--line-strong);min-height:3rem;color:var(--ink);border-radius:10px;align-items:center;gap:.7rem;padding:.75rem .85rem;font-size:.975rem;display:flex}button.opt{cursor:pointer;transition:border-color .1s,background .1s,transform 60ms}button.opt:hover{border-color:var(--ink)}button.opt:active{transform:scale(.99)}.opt.selected{border-color:var(--ink);background:var(--paper);border-width:2px}.opt.correct{border-color:var(--green);background:var(--green-soft);border-width:2px}.opt.wrong{border-color:var(--red);background:var(--red-soft);border-width:2px}.opt-letter{font-family:var(--font-mono);border:1.5px solid;border-radius:50%;flex:none;justify-content:center;align-items:center;width:1.7rem;height:1.7rem;font-size:.8rem;font-weight:600;display:inline-flex}.opt.correct .opt-letter{background:var(--green);border-color:var(--green);color:#fff}.opt.wrong .opt-letter{background:var(--red);border-color:var(--red);color:#fff}.opt.selected:not(.correct):not(.wrong) .opt-letter{background:var(--ink);color:var(--paper)}.opt-text{flex:1;min-width:0}.opt-tick{color:var(--green);font-weight:700;animation:.18s ease-out tick-pop}.opt.selected:not(.correct):not(.wrong) .opt-tick{color:var(--ink)}@keyframes tick-pop{0%{opacity:0;transform:scale(.4)}}.opt-mark{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;font-size:.68rem;font-weight:600}.opt-mark.right{color:var(--green)}.opt-mark.wrong{color:var(--red)}.q-explanation{border-top:1.5px dashed var(--line-strong);margin-top:1rem;padding-top:.9rem}.q-explanation h3{margin-bottom:.35rem;font-size:.95rem}.q-explanation p{white-space:pre-wrap;margin:0 0 .75rem}.save-ind{font-family:var(--font-mono);align-items:center;gap:.3rem;font-size:.75rem;font-weight:600;display:inline-flex}.save-dirty{color:var(--ink-soft)}.save-saving{color:var(--amber)}.save-saved{color:var(--green)}.save-error{color:var(--red)}.save-tick{animation:.18s ease-out tick-pop;display:inline-block}.results-hero{text-align:center;background:var(--card);border:2px solid var(--ink);border-radius:var(--radius);box-shadow:var(--shadow);margin:.5rem 0 1.5rem;padding:1.5rem 1rem 1.75rem}.results-kicker{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--ink-soft);margin:0 0 .25rem;font-size:.78rem;font-weight:600}.results-score{font-family:var(--font-display);margin:0;line-height:1}.score-points{color:var(--red);letter-spacing:-.04em;font-size:4.5rem;font-weight:800}.score-of{color:var(--ink-soft);font-size:1.6rem;font-weight:650}.results-sub{color:var(--ink-soft);margin:.6rem 0 0;font-size:.875rem}.new-quiz-form{align-items:center;gap:.5rem;display:flex}.new-quiz-form .input{width:16rem}.teacher-quiz-list{gap:.7rem;margin:0 0 1.5rem;padding:0;list-style:none;display:grid}.teacher-quiz-row{background:var(--card);border:1.5px solid var(--line-strong);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:center;gap:1rem;padding:.8rem 1.1rem;display:flex}.tq-main{flex-direction:column;flex:1;gap:.15rem;min-width:14rem;display:flex}.tq-title{font-family:var(--font-display);font-size:1.1rem;font-weight:650;text-decoration:none}.tq-title:hover{text-decoration:underline}.tq-meta{color:var(--ink-soft);font-size:.825rem}.tq-actions{flex-wrap:wrap;gap:.4rem;display:flex}.students-layout{grid-template-columns:minmax(0,1fr) 20rem;align-items:start;gap:1.5rem;display:grid}@media (width<=56rem){.students-layout{grid-template-columns:1fr}}.students-create h2{margin-top:0}.handoff{background:var(--green-soft);border:1.5px solid var(--green);border-radius:var(--radius);margin-top:1rem;padding:.9rem 1rem}.handoff h3{margin:0 0 .5rem;font-size:1rem}.handoff dl{margin:0 0 .5rem}.handoff dt{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);font-size:.7rem}.handoff dd{margin:0 0 .4rem}.handoff code{font-family:var(--font-mono);font-size:.9rem}.handoff-pw{background:var(--card);border:1px dashed var(--green);border-radius:6px;padding:.15rem .5rem;font-weight:600;display:inline-block;font-size:1.15rem!important}.editor-head{align-items:flex-start}.editor-title-wrap{flex:1;align-items:center;gap:.75rem;min-width:16rem;display:flex}.editor-title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);border:none;border-bottom:2px dashed var(--line-strong);background:0 0;width:100%;min-width:0;padding:.1rem 0;font-size:1.6rem;font-weight:800}.editor-title:focus{border-bottom-color:var(--ink);outline:none}.editor-head-actions{align-items:center;gap:.75rem;display:flex}.editor-q-list{gap:1.25rem;margin:1rem 0;padding:0;list-style:none;display:grid}.editor-q-head{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.5rem;display:flex}.editor-options legend{font-size:.875rem;font-weight:600}.editor-opt{align-items:center;gap:.55rem;margin-bottom:.45rem;display:flex}.editor-opt input[type=radio]{width:1.15rem;height:1.15rem;accent-color:var(--green);flex:none}.editor-opt-actions{flex-wrap:wrap;gap:.4rem;margin-top:.5rem;display:flex}.q-problems{background:var(--amber-soft);border:1px solid var(--amber);border-radius:var(--radius);color:var(--amber);border-left-width:5px;margin:.75rem 0 0;padding:.6rem .9rem .6rem 2rem;font-size:.875rem;font-weight:500}.add-question-btn{border-style:dashed;justify-content:center;width:100%;padding:.9rem;font-size:1rem}.img-manager{margin:.5rem 0 .9rem}.img-list{flex-wrap:wrap;gap:.75rem;margin:0 0 .5rem;padding:0;list-style:none;display:flex}.img-list li{border:1.5px solid var(--line);background:var(--paper);border-radius:8px;align-items:center;gap:.6rem;padding:.4rem .6rem;display:flex}.img-list img{object-fit:cover;border:1px solid var(--line-strong);border-radius:6px;width:4.5rem;height:4.5rem}.img-meta label{color:var(--ink-soft);margin-bottom:.15rem;font-size:.7rem;font-weight:600;display:block}.img-upload{flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.img-upload input[type=file]{max-width:16rem;font-size:.8rem}.img-upload .input-sm{width:16rem}.publish-steps{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;flex-wrap:wrap;gap:.75rem;margin:0 0 1.25rem;padding:0;font-size:.78rem;font-weight:600;list-style:none;display:flex}.publish-steps li{border:1.5px solid var(--line-strong);color:var(--ink-soft);background:var(--paper-deep);border-radius:999px;padding:.3rem .9rem}.publish-steps li.current{border-color:var(--ink);color:var(--ink);background:var(--card);box-shadow:var(--shadow-sm)}.publish-steps li.done{border-color:var(--green);color:var(--green);background:var(--green-soft)}.preview-frame{border:2px dashed var(--line-strong);border-radius:var(--radius);background:var(--paper-deep);max-width:30rem;margin:0 auto 1.25rem;padding:1rem}.publish-actions{flex-wrap:wrap;justify-content:space-between;gap:.75rem;margin:1.25rem 0;display:flex}.publish-confirm{max-width:34rem}.lock-warning{background:var(--amber-soft);border:1.5px solid var(--amber);border-radius:var(--radius);margin-bottom:.5rem;padding:.75rem 1rem}.assignee-bulk{gap:.4rem;margin-bottom:.5rem;display:flex}.assignee-list{gap:.2rem;max-height:16rem;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.assignee-item{cursor:pointer;border-radius:8px;align-items:center;gap:.6rem;padding:.4rem .5rem;display:flex}.assignee-item:hover{background:var(--paper)}.assignee-item input{width:1.1rem;height:1.1rem;accent-color:var(--ink)}.assignee-email{color:var(--ink-soft);margin-left:auto;font-size:.82rem}.monitor-meta{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.4rem;display:flex}.deadline-editor{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.deadline-editor .input{width:auto}.tabs{border-bottom:2px solid var(--ink);gap:.25rem;margin:1.25rem 0 1rem;display:flex}.tab{font:inherit;background:var(--paper-deep);color:var(--ink-soft);border:1.5px solid var(--line-strong);cursor:pointer;border-bottom:none;border-radius:8px 8px 0 0;padding:.5rem 1.1rem;font-size:.95rem;font-weight:600}.tab.active{background:var(--card);color:var(--ink);border-color:var(--ink);border-bottom:2px solid var(--card);position:relative;top:2px}.monitor-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.6rem;display:flex}.monitor-table th[scope=row]{white-space:nowrap;font-weight:600}.sel-cell{font-family:var(--font-mono);font-weight:600}.cell-right{color:var(--green);background:var(--green-soft)}.cell-wrong{color:var(--red);background:var(--red-soft)}.cell-empty{color:var(--line-strong)}.email-stamps{color:var(--ink-soft);white-space:nowrap;font-size:.75rem}.email-stamps span{margin-right:.5rem}.stats-list{gap:1.25rem;display:grid}.stats-q-body{flex:1;margin:0;font-weight:500}.stats-bars{gap:.45rem;margin:.75rem 0 .5rem;padding:0;list-style:none;display:grid}.stats-bars li{grid-template-columns:1.6rem minmax(8rem,18rem) 1fr 2.5rem;align-items:center;gap:.6rem;font-size:.9rem;display:grid}@media (width<=40rem){.stats-bars li{grid-template-columns:1.6rem 1fr 3rem}.stats-bars .stats-text{grid-column:2/span 2}}.stats-letter{font-family:var(--font-mono);border:1.5px solid var(--line-strong);border-radius:50%;justify-content:center;align-items:center;width:1.6rem;height:1.6rem;font-size:.78rem;font-weight:600;display:inline-flex}.stats-bars li.correct .stats-letter{background:var(--green);border-color:var(--green);color:#fff}.stats-correct-mark{color:var(--green);font-size:.8rem;font-weight:700}.bar-track{background:var(--paper-deep);border:1px solid var(--line);border-radius:4px;height:1rem;display:block;overflow:hidden}.bar-fill{background:var(--ink-soft);height:100%;transition:width .4s;display:block}.stats-bars li.correct .bar-fill{background:var(--green)}.stats-count{font-family:var(--font-mono);text-align:right;font-size:.85rem;font-weight:600}.challenge-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.challenge-dates{color:var(--ink-soft);margin:.15rem 0 0;font-size:.9rem}.challenge-summary-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin:1rem 0 .5rem;display:grid}.stat-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:.2rem;padding:1rem 1.1rem;display:flex}.stat-label{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);font-size:.8rem}.stat-value{font-family:var(--font-display);font-size:1.9rem;line-height:1}.stat-sub{color:var(--ink-soft);font-size:.85rem}.challenge-day{margin-bottom:1.5rem}.day-label{font-family:var(--font-mono);color:var(--ink-soft);border-bottom:1px solid var(--line);margin-bottom:.75rem;padding-bottom:.3rem;font-size:.9rem}.q-locked{opacity:.8;border-style:dashed}.q-locked-note{color:var(--ink-soft);font-style:italic}.bar-list{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.bar-row{grid-template-columns:minmax(80px,1fr) 3fr auto;align-items:center;gap:.6rem;display:grid}.bar-label{text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}.bar-caption{font-family:var(--font-mono);color:var(--ink-soft);text-align:right;font-size:.82rem}.bar-you .bar-fill{background:var(--green)}.bar-you .bar-label{font-weight:700}.breakdown{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;display:grid}.breakdown-title{margin-bottom:.6rem;font-size:.95rem}.challenge-meta,.challenge-editor .card{margin-bottom:1.25rem}.meta-row{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;display:grid}.challenge-q-list{flex-direction:column;gap:.5rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.challenge-q-row{border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:.75rem;padding:.5rem .6rem;display:flex}.challenge-q-row.locked{background:var(--paper-deep)}.cq-main{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.cq-date{font-family:var(--font-mono);color:var(--ink-soft);font-size:.8rem}.add-question{margin-top:.5rem}.add-q-title{margin-bottom:.75rem;font-size:1rem}.aq-options{border:1px solid var(--line);border-radius:var(--radius);margin:.5rem 0;padding:.6rem .8rem}.aq-option{align-items:center;gap:.5rem;margin-bottom:.4rem;display:flex}.aq-option .input{flex:1}.publish-summary{flex-direction:column;gap:.3rem;margin:.75rem 0;padding:0;list-style:none;display:flex}.lb-list{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.lb-row{grid-template-columns:2.5rem minmax(80px,1fr) 3fr auto;align-items:center;gap:.6rem;display:grid}.lb-rank{font-family:var(--font-mono);color:var(--ink-soft)}.lb-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lb-bars{flex-direction:column;gap:.2rem;display:flex}.bar-fill.lb-correct{background:var(--green)}.bar-fill.lb-completed{background:var(--ink-soft)}.lb-caption{font-family:var(--font-mono);color:var(--ink-soft);text-align:right;font-size:.8rem}.bar-legend{color:var(--ink-soft);align-items:center;gap:.4rem;margin-top:.5rem;font-size:.85rem;display:flex}.swatch{border-radius:3px;width:.9rem;height:.9rem;margin-left:.6rem;display:inline-block}.swatch.lb-correct{background:var(--green)}.swatch.lb-completed{background:var(--ink-soft)}.breakdown-controls{flex-direction:row;align-items:center;gap:.6rem}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
