:root{--text:#1f2328;--muted:#59636e;--bg:#f6f7f9;--surface:#fff;--border:#d0d7de;--focus:#0969da;--primary:#1f6feb;--primary-dark:#1a5fcb;--danger:#b42318;--notice-bg:#fff8e1;--notice-border:#d4a72c;--blue:#1d4ed8;--blue-bg:#dbe7ff;--red:#b91c1c;--red-bg:#fde2e2;--grey-cell:#c9d1d9;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.5}*,:before,:after{box-sizing:border-box}body{margin:0}h1{margin:0 0 1rem;font-size:1.6rem;line-height:1.25}h2{margin:1.5rem 0 .5rem;font-size:1.2rem}h3{margin:1.25rem 0 .25rem;font-size:1rem}a{color:var(--focus)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.app{flex-direction:column;min-height:100vh;display:flex}.page{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:2rem 1.5rem}.page>article{background:var(--surface);border:1px solid var(--border);border-radius:8px;max-width:820px;margin:0 auto;padding:2rem}.page>article.narrow{max-width:680px}.prose p,.prose li{max-width:70ch}.footer{width:100%;max-width:1100px;margin:0 auto;padding:.5rem 1.5rem 2rem}.muted{color:var(--muted)}.small{font-size:.875rem}.blue-text{color:var(--blue)}.red-text{color:var(--red)}.notice{background:var(--notice-bg);border:1px solid var(--notice-border);border-radius:6px;padding:.75rem 1rem}.boxed{border:1px solid var(--border);background:var(--bg);border-radius:6px;margin:1rem 0;padding:1rem 1.25rem}button{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;padding:.55rem 1.1rem}button:disabled{cursor:not-allowed;opacity:.55}button.primary{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}button.primary:hover:not(:disabled){background:var(--primary-dark)}button.secondary:hover:not(:disabled){background:var(--bg)}button.danger{background:var(--danger);border-color:var(--danger);color:#fff}button.link{color:var(--focus);background:0 0;border:none;padding:0;text-decoration:underline}.actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1.5rem;display:flex}fieldset{border:none;margin:0;padding:0}legend{margin-bottom:.5rem;padding:0;font-weight:600}.question legend{float:left;width:100%}.question legend+*{clear:both}.question{border-left:3px solid #0000;margin:1.5rem 0;padding:.75rem 1rem}.question.invalid{border-left-color:var(--danger);background:var(--red-bg)}.question>label[for]{margin-bottom:.5rem;font-weight:600;display:block}.question textarea{width:100%;font:inherit;border:1px solid var(--border);border-radius:6px;padding:.5rem}.radio,.checkbox{cursor:pointer;align-items:flex-start;gap:.6rem;margin:.4rem 0;display:flex}.radio input,.checkbox input{flex:none;margin-top:.3rem}.consent-items{margin:1rem 0}.likert{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.likert-end{color:var(--muted);max-width:9rem;font-size:.875rem}.likert-point{cursor:pointer;flex-direction:column;align-items:center;min-width:2.5rem;display:flex}table.outcome{border-collapse:collapse;margin:1rem 0}table.outcome td{border-bottom:1px solid var(--border);padding:.4rem 1.25rem .4rem 0}table.outcome td:last-child{text-align:right;font-variant-numeric:tabular-nums}table.outcome tr.total td{border-bottom:none;font-weight:700}.withdraw{background:var(--surface);border:1px solid var(--danger);border-radius:8px;max-width:560px;padding:1rem 1.25rem}.task-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.task-header h1{margin:0}.time-left{font-variant-numeric:tabular-nums;align-items:center;gap:.75rem;display:flex}progress{appearance:none;background:var(--grey-cell);border:none;border-radius:999px;height:.6rem;overflow:hidden}progress::-webkit-progress-bar{background:var(--grey-cell)}progress::-webkit-progress-value{background:var(--primary)}progress::-moz-progress-bar{background:var(--primary)}.round-progress{width:14rem}.task-panels{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem;display:grid}.panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;min-height:26rem;padding:1.25rem 1.5rem}.panel h2{margin-top:0}.agent-action{font-variant-numeric:tabular-nums;align-items:center;gap:.6rem;display:flex}.pulse{background:var(--muted);border-radius:50%;width:.75rem;height:.75rem;animation:.6s ease-out pulse;display:inline-block}@keyframes pulse{0%{background:var(--primary);transform:scale(1.8)}to{background:var(--muted);transform:scale(1)}}.reveal{border:2px dashed var(--border);min-height:4.5rem;color:var(--muted);text-align:center;border-radius:8px;justify-content:center;align-items:center;margin:1rem 0;padding:.5rem;font-weight:600;display:flex}.reveal.is-pending{border-style:solid}.reveal.is-blue{border:2px solid var(--blue);background:var(--blue-bg);color:var(--blue)}.reveal.is-red{border:2px solid var(--red);background:var(--red-bg);color:var(--red)}.check-button{background:var(--primary);border-color:var(--primary);color:#fff;width:100%;padding:.9rem;font-size:1.2rem;font-weight:700;display:block}.check-button:hover:not(:disabled){background:var(--primary-dark)}.counts{flex-wrap:wrap;gap:.5rem 2rem;margin:1rem 0;display:flex}.counts dt{color:var(--muted);font-size:.875rem}.counts dd{font-variant-numeric:tabular-nums;margin:0;font-size:1.1rem;font-weight:600}.history{margin:1rem 0 0}.history-grid{grid-template-columns:repeat(auto-fill,1rem);gap:3px;display:grid}.cell{text-align:center;color:#fff;background:#eef1f4;border:1px solid #e1e6eb;border-radius:2px;width:1rem;height:1rem;font-size:.6rem;font-weight:700;line-height:.9rem}.cell.past{background:var(--grey-cell);border-color:var(--grey-cell)}.cell.now{border:2px solid var(--text)}.cell.pending{background:var(--muted)}.cell.blue{background:var(--blue);border-color:var(--blue)}.cell.red{background:var(--red);border-color:var(--red)}.statement{min-height:4.5rem;margin:1.5rem 0 1rem;font-size:1.35rem;font-weight:600;animation:.15s ease-out appear}@keyframes appear{0%{opacity:.2}to{opacity:1}}.statement-timer{width:100%}.tf-buttons{grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.25rem;display:grid}.tf-buttons button{padding:.9rem;font-size:1.15rem;font-weight:600}@media (prefers-reduced-motion:reduce){.pulse,.statement{animation:none}}.too-narrow{z-index:10;background:#f6f7f9f7;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.too-narrow-box{background:var(--surface);border:1px solid var(--border);border-radius:8px;max-width:32rem;padding:1.5rem}.form-error{margin-top:1rem}
