:root{color-scheme:dark;--bg:#10192c;--panel:#172640;--cyan:#85e3ec;--orchid:#d4bcff;--text:#f5f8fc;--muted:#b9c6da;--line:#455771}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:17px/1.6 'Segoe UI',Arial,sans-serif}main{max-width:1080px;margin:auto;padding:32px}header{padding:10px 0 24px;border-bottom:1px solid var(--line)}.brand{color:var(--cyan);font-weight:700}.brand span{color:var(--muted);font-weight:400}h1{font:clamp(2.2rem,5vw,3.6rem)/1.1 Georgia,serif;max-width:750px;margin:20px 0}h2{font-size:1.6rem;line-height:1.25;margin:0 0 18px}h3{font-size:1.1rem}p{max-width:75ch}nav{display:flex;gap:10px;margin:24px 0}button,input,textarea{font:inherit}button{border:1px solid transparent;border-radius:9px;background:var(--cyan);color:var(--bg);font-weight:650;padding:12px 18px;min-height:48px;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}nav button{flex:1;background:transparent;border:1px solid var(--line);text-align:left;color:var(--muted)}nav button[aria-current]{border-color:var(--cyan);color:var(--cyan);background:var(--panel)}nav small{display:block;font-weight:400}button.secondary{background:var(--panel);color:var(--text);border-color:var(--line)}button.quiet{background:transparent;color:var(--muted);text-decoration:underline}.note,small,footer p{color:var(--muted);font-size:.88rem}#workspace{padding:24px 0;min-height:320px;scroll-margin-top:20px}.columns{display:grid;grid-template-columns:1.1fr 1fr;gap:28px}.workbench{padding:22px;background:var(--panel);border-radius:12px}.allocation{display:grid;grid-template-columns:1fr 126px;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.allocation small{display:block}input[type=number]{width:100%;min-height:48px;background:var(--bg);color:var(--text);padding:10px;border:1px solid var(--muted);border-radius:6px}textarea{width:100%;min-height:150px;background:var(--bg);color:var(--text);border:1px solid var(--muted);border-radius:6px;padding:14px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.meter{display:flex;height:18px;overflow:hidden;background:#334259;border-radius:5px;margin:12px 0}.meter span{background:var(--cyan);border-right:2px solid var(--bg)}.meter span:nth-child(2){background:var(--orchid)}.meter span:nth-child(3){background:#f8d092}.meter span:nth-child(4){background:#b6d4c5}.metric{font-size:1.65rem;font-weight:650}.math{background:var(--panel);padding:18px;border-left:4px solid var(--orchid);margin:20px 0}.letter{padding:18px 22px;border:1px solid var(--orchid);border-radius:4px}.letter strong{color:var(--orchid)}fieldset{border:0;padding:0;margin:18px 0}legend{font-weight:650;margin-bottom:12px}.choice{display:flex;gap:12px;padding:12px;border:1px solid var(--line);border-radius:7px;margin:10px 0;cursor:pointer;align-items:flex-start}.choice:has(input:checked){border-color:var(--cyan);background:var(--panel)}input[type=radio],input[type=checkbox]{width:20px;height:20px;flex-shrink:0;margin-top:4px;accent-color:var(--cyan)}#feedback:not(:empty){padding:18px;border-left:4px solid var(--cyan);background:var(--panel)}.errors{color:#ffcfbb}.success{color:var(--cyan)}table{width:100%;border-collapse:collapse;font-size:.94rem}th,td{text-align:left;padding:10px 6px;border-bottom:1px solid var(--line)}th{color:var(--cyan)}.rubric label{display:flex;gap:12px;margin:14px 0}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;background:var(--text);color:var(--bg);padding:12px;z-index:10}:focus-visible{outline:3px solid #f8d092;outline-offset:4px}footer{border-top:1px solid var(--line);padding-top:20px}footer button{margin:0 10px 12px 0}[hidden]{display:none!important}@media(max-width:660px){main{padding:20px 16px}nav{gap:5px}nav button{font-size:.85rem;padding:10px 7px}nav small{font-size:.72rem}.columns{grid-template-columns:1fr}.workbench{padding:16px}.allocation{grid-template-columns:1fr 105px}h1 br{display:none}table{font-size:.85rem}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}@media print{body{background:white;color:black}nav,button,.skip,#save-note{display:none}.workbench,.math{background:white}main{max-width:none;padding:0}input,textarea{color:black!important;background:white!important}.note,small{color:#333}}
