:root{--bg:#fafaf8;--fg:#1c1c1a;--muted:#5f5f5a;--accent:#2456c7}@media (prefers-color-scheme:dark){:root{--bg:#141413;--fg:#ecece8;--muted:#a3a39c;--accent:#8fb0ff}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--fg);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.6}.holding{max-width:36rem;margin:0 auto;padding:18vh 16px 4rem}.holding h1{letter-spacing:-.02em;margin:0 0 .25rem;font-size:2.5rem}.lede{margin:0 0 1.5rem;font-size:1.25rem}.soon{color:var(--muted)}a{color:var(--accent)}.auth{max-width:24rem;margin:0 auto;padding:12vh 16px 4rem}.auth .brand{margin:0 0 1.5rem;font-size:1.25rem;font-weight:600}.auth .brand a{color:var(--fg);text-decoration:none}.auth h1{margin:0 0 1.25rem;font-size:1.5rem}.form{gap:1rem;display:grid}.field{gap:.25rem;display:grid}.field span{font-weight:500}.field small,.muted{color:var(--muted)}.field input{font:inherit;border:1px solid var(--muted);color:var(--fg);background:0 0;border-radius:6px;padding:.55rem .7rem}.form button[type=submit],.form>button{font:inherit;background:var(--accent);color:var(--bg);cursor:pointer;border:0;border-radius:6px;padding:.6rem 1rem}.form button:disabled{opacity:.6;cursor:default}button.link{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.alt{margin:0;font-size:.95rem}.notice{border:1px solid var(--muted);border-radius:6px;padding:.85rem 1rem}.error{color:#c62828;margin:0}@media (prefers-color-scheme:dark){.error{color:#ff8a80}}.app-header{border-bottom:1px solid color-mix(in srgb, var(--muted) 35%, transparent);flex-wrap:wrap;align-items:baseline;gap:.5rem 1.5rem;max-width:52rem;margin:0 auto;padding:1rem 16px;display:flex}.app-header .brand-link{color:var(--fg);font-size:1.15rem;font-weight:600;text-decoration:none}.app-header nav{gap:1rem;display:flex}.app-main{max-width:52rem;margin:0 auto;padding:1.5rem 16px 4rem}.app-main h1{margin:0 0 .75rem;font-size:1.6rem}.app-main h2{margin:0 0 .5rem;font-size:1.2rem}.app-main h3{margin:1.25rem 0 .4rem;font-size:1rem}.lede-small{margin:0 0 1rem}.mono{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.875rem}.import textarea{border:1px solid var(--muted);width:100%;min-height:14rem;color:var(--fg);resize:vertical;background:0 0;border-radius:6px;padding:.6rem .7rem}.dropzone{border:1px dashed #0000;border-radius:8px;gap:.5rem;margin:0 -.75rem 1rem;padding:.75rem;display:grid}.dropzone.dragging{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 7%, transparent)}.row{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;display:flex}.push-right{margin-left:auto}.app button{font:inherit;background:var(--accent);color:var(--bg);cursor:pointer;border:0;border-radius:6px;padding:.5rem .95rem}.app button.secondary{color:var(--fg);border:1px solid var(--muted);background:0 0}.app button.link{color:var(--accent);background:0 0;padding:0;text-decoration:underline}.app button.link.danger{color:#c62828}.app button.danger-button{color:#fff;background:#c62828}.app button:disabled{opacity:.6;cursor:default}.panel{border:1px solid color-mix(in srgb, var(--muted) 50%, transparent);border-radius:8px;margin:1rem 0;padding:1rem 1.1rem}.problems{border-color:#c62828}.messages{margin:.25rem 0 .75rem;padding-left:1.4rem}.messages li{overflow-wrap:anywhere;margin:.3rem 0}.duplicates .stem{color:var(--muted);font-size:.9rem;display:block}.fix-request{white-space:pre-wrap;overflow-wrap:anywhere;background:color-mix(in srgb, var(--muted) 12%, transparent);border-radius:6px;max-height:18rem;margin:0 0 .75rem;padding:.75rem;overflow:auto}.facts{grid-template-columns:max-content 1fr;gap:.25rem 1rem;margin:0;display:grid}.facts dt{color:var(--muted)}.facts dd{overflow-wrap:anywhere;margin:0}.topics{border-collapse:collapse;width:100%;max-width:32rem}.topics th,.topics td{text-align:left;border-bottom:1px solid color-mix(in srgb, var(--muted) 25%, transparent);padding:.3rem .5rem .3rem 0}.topics .num{text-align:right;font-variant-numeric:tabular-nums}.check{align-items:center;gap:.5rem;margin:.5rem 0;display:flex}.notice.success{border-color:#2e7d32;margin:0 0 1rem}.sets{margin:1rem 0;padding:0;list-style:none}.set{border-bottom:1px solid color-mix(in srgb, var(--muted) 25%, transparent);padding:.85rem 0}.set-head{gap:.1rem;margin-bottom:.35rem;display:grid}.set-name{overflow-wrap:anywhere}.set-actions .confirm{border-color:#c62828}.archived{margin-top:2rem}.archived summary{cursor:pointer;font-weight:600}.field-group{border:0;margin:0 0 1rem;padding:0}.field-group legend,.field-group h3{margin:0 0 .35rem;padding:0;font-weight:600}.setup-grid{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem;margin-bottom:1rem;display:grid}.field select,.field input[type=number]{font:inherit;border:1px solid var(--muted);color:var(--fg);background:0 0;border-radius:6px;padding:.55rem .7rem}.field .grow{flex:1}.plain-list{margin:0;padding:0;list-style:none}.small{font-size:.9rem}.notice.warning{border-color:#b26a00}.notice.small{padding:.5rem .75rem}.runner{grid-template-columns:minmax(0,1fr);gap:1rem;max-width:64rem;margin:0 auto;padding:.75rem 16px 6rem;display:grid}.runner-loading{max-width:64rem;margin:0 auto;padding:2rem 16px}@media (min-width:56rem){.runner{grid-template-columns:minmax(0,1fr) 15rem;grid-template-areas:"head head""notice notice""main nav""confirm confirm"}.runner-head{grid-area:head}.runner>.notice{grid-area:notice}.runner-main{grid-area:main}.navigator{grid-area:nav;align-self:start;position:sticky;top:1rem}.runner>.confirm{grid-area:confirm}}.runner-head{border-bottom:1px solid color-mix(in srgb, var(--muted) 35%, transparent);flex-wrap:wrap;align-items:baseline;gap:.5rem 1.5rem;padding-bottom:.5rem;display:flex}.runner-head .clock{font-variant-numeric:tabular-nums}.runner-head .clock.urgent .mono{color:#c62828;font-weight:600}.runner-head>a:last-child{margin-left:auto;text-decoration:none}.stem{white-space:pre-wrap;overflow-wrap:anywhere;margin:.5rem 0;font-size:1.1rem}.options{gap:.5rem;margin:.5rem 0 1rem;padding:0;list-style:none;display:grid}.options .option{border:1px solid color-mix(in srgb, var(--muted) 50%, transparent);width:100%;color:var(--fg);text-align:left;font:inherit;cursor:pointer;background:0 0;border-radius:8px;align-items:flex-start;gap:.75rem;padding:.65rem .8rem;line-height:1.5;display:flex}.options .option:disabled{cursor:default;opacity:1}.options .option.picked{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.options .option.right{background:#2e7d321a;border-color:#2e7d32}.options .option.wrong{background:#c628281a;border-color:#c62828}.options .letter{border:1px solid var(--muted);border-radius:50%;flex:0 0 1.6rem;place-items:center;height:1.6rem;font-size:.85rem;font-weight:600;display:inline-grid}.options .option.picked .letter{background:var(--accent);color:var(--bg);border-color:var(--accent)}.options .text{white-space:pre-wrap;overflow-wrap:anywhere}.options.static .option{cursor:default}.rationale{color:var(--muted);white-space:pre-wrap;margin:.25rem 0 0 2.6rem;font-size:.92rem}.verdict{border-left:4px solid var(--muted);background:color-mix(in srgb, var(--muted) 8%, transparent);border-radius:0 8px 8px 0;margin:0 0 1rem;padding:.85rem 1rem}.verdict.right{border-left-color:#2e7d32}.verdict.wrong{border-left-color:#c62828}.verdict h3{margin:.75rem 0 .25rem}.verdict-line{margin:0}.explanation{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.runner-actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 1rem;display:flex}.runner button{font:inherit;background:var(--accent);color:var(--bg);cursor:pointer;border:0;border-radius:6px;padding:.55rem 1rem}.runner button.secondary{color:var(--fg);border:1px solid var(--muted);background:0 0}.runner button.link{color:var(--accent);background:0 0;padding:0;text-decoration:underline}.runner button:disabled{opacity:.6;cursor:default}.flag.on{color:#b26a00;border-color:#b26a00}.navigator ol{grid-template-columns:repeat(auto-fill,minmax(2.4rem,1fr));gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.navigator .nav{width:100%;color:var(--fg);border:1px solid color-mix(in srgb, var(--muted) 50%, transparent);background:0 0;padding:.35rem 0;font-size:.9rem;position:relative}.navigator .nav.answered{background:color-mix(in srgb, var(--accent) 22%, transparent);border-color:var(--accent)}.navigator .nav.skipped{background:color-mix(in srgb, var(--muted) 30%, transparent);border-style:dashed}.navigator .nav.flagged:after{content:"";background:#b26a00;border-radius:50%;width:7px;height:7px;position:absolute;top:2px;right:2px}.navigator .nav.current{outline:2px solid var(--fg);outline-offset:1px}.legend .swatch{border:1px solid var(--muted);vertical-align:middle;border-radius:3px;width:.8rem;height:.8rem;margin:0 .2rem 0 .6rem;display:inline-block}.legend .swatch.answered{background:color-mix(in srgb, var(--accent) 22%, transparent);border-color:var(--accent)}.legend .swatch.skipped{border-style:dashed}.legend .swatch.flagged{background:#b26a00;border-color:#b26a00}.keys{display:none}@media (hover:hover) and (pointer:fine){.keys{display:block}}.note textarea{border:1px solid var(--muted);width:100%;color:var(--fg);font:inherit;resize:vertical;background:0 0;border-radius:6px;padding:.5rem .7rem}.scores{gap:1rem;margin:.5rem 0;display:grid}.scores.two{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}.score{border:1px solid color-mix(in srgb, var(--muted) 50%, transparent);border-radius:8px;padding:1rem 1.1rem}.score h2{margin:0 0 .25rem}.score .big{margin:0;font-size:2.4rem;font-weight:600;line-height:1.1}.score p{margin:.25rem 0 0}.review-list{margin:1rem 0;padding:0;list-style:none}.review-item{border-top:1px solid color-mix(in srgb, var(--muted) 25%, transparent);padding:1rem 0}.review-head{flex-wrap:wrap;align-items:baseline;gap:.5rem .75rem;display:flex}.tag{border:1px solid var(--muted);border-radius:999px;padding:.1rem .5rem;font-size:.85rem}.tag.right{color:#2e7d32;border-color:#2e7d32}.tag.wrong{color:#c62828;border-color:#c62828}.history{margin:.25rem 0;padding-left:1.2rem}.attempts{margin:1rem 0;padding:0;list-style:none}.attempt{border-bottom:1px solid color-mix(in srgb, var(--muted) 25%, transparent);padding:.85rem 0}.dashboard section{margin-top:1.75rem}.dashboard .topics{max-width:48rem}.dashboard .table-wrap{overflow-x:auto}.module-switcher{flex-wrap:wrap;align-items:baseline;gap:.25rem .9rem;display:flex}.facts.stats{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem 1.5rem;display:grid}.facts.stats strong{font-variant-numeric:tabular-nums;font-size:1.5rem}.weak-list{padding-left:1.25rem}.weak-list li{margin:.3rem 0}.tag{color:#b2410e;font-size:.85em}@media (prefers-color-scheme:dark){.tag{color:#ff9e6b}}.bar{vertical-align:middle;background:color-mix(in srgb, var(--muted) 20%, transparent);border-radius:.25rem;width:4rem;height:.5rem;display:inline-block;overflow:hidden}.bar>span{background:var(--accent);height:100%;display:block}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.topic-picks{flex-wrap:wrap;gap:.25rem 1rem;display:flex}.prompt-text{white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid color-mix(in srgb, var(--fg) 15%, transparent);border-radius:6px;max-height:60vh;padding:1rem;font-size:.85rem;overflow:auto}.prompt-builder .row{margin:.75rem 0}.profile-form textarea{min-height:10rem}
