/* Task pages inherit Capstone's paper, Manrope and shared dark navigation. */
.data-tool{max-width:960px;padding-block:36px 80px}
.back-link{display:inline-flex;align-items:center;min-height:44px;font-size:0.9375rem;margin-bottom:28px}
.tool-intro{max-width:72ch;margin-bottom:32px}
.tool-intro h1{font-size:clamp(2rem,4.5vw,3.5rem);letter-spacing:-.035em;line-height:1.15;margin-bottom:24px;text-wrap:balance}
.tool-intro p{font-size:1.0625rem;line-height:1.8}
.academic-note{color:var(--muted);font-size:0.9375rem!important}
.academic-note a{color:var(--ink)}
.data-tool a{overflow-wrap:anywhere}
.data-tool input,.data-tool textarea,.data-tool select,.data-tool button{font:inherit}
.data-tool input,.data-tool textarea,.data-tool select{color:var(--ink);background:var(--white);border:1px solid #77777c;border-radius:7px;max-width:100%;caret-color:var(--ink)}
.data-tool input:not([type=radio]):not([type=checkbox]),.data-tool select,.data-tool textarea{display:block;width:100%;padding:12px 14px;min-height:48px}
.data-tool textarea{resize:vertical;line-height:1.65}
.data-tool :is(input,textarea,select,button,a,[tabindex]):focus-visible{outline:3px solid var(--ink);outline-offset:4px}
.data-tool :is(input,select,textarea,button,a,[tabindex]){scroll-margin-block:120px 32px}
.data-tool ::selection{background:var(--ink);color:var(--white)}
.form-section{padding-block:36px 8px;border-top:1px solid var(--line);margin-top:24px}
.form-section h2,.form-delivery h2,.draft-section h2{font-size:1.625rem;letter-spacing:-.025em;margin-bottom:28px}
.question{margin:0 0 28px;min-width:0}
fieldset.question{padding:0;border:0}
.question>label,.question legend,.draft-section>label{display:block;font-weight:700;font-size:1rem;line-height:1.6;margin-bottom:10px;max-width:70ch}
.question legend{padding:0}
.field-hint{font-size:0.875rem;color:var(--muted);margin-top:6px}
.field-error{color:#8c2117;font-size:1rem;font-weight:700;margin-top:8px}
.data-tool [aria-invalid=true]{border-color:#8c2117;border-width:2px}
.choices{display:flex;flex-wrap:wrap;gap:4px 24px}
.choice{display:flex;align-items:center;gap:12px;min-height:48px;padding-block:8px;cursor:pointer}
.choice input{width:24px;height:24px;flex-shrink:0;accent-color:var(--ink)}
.question:has(input[type=radio]) .choices{display:grid;gap:0}
.error-summary{padding:24px;border:2px solid #8c2117;margin:28px 0;color:var(--ink);background:var(--white)}
.error-summary h2{font-size:1.375rem;letter-spacing:-.02em}
.error-summary ul{padding-left:24px;margin-bottom:0}
.error-summary a{display:inline-block;padding-block:6px}
.form-delivery{padding-top:36px;border-top:1px solid var(--line)}
.form-delivery p{max-width:72ch}
#form-challenge{margin-block:20px;max-width:100%}
#form-status{margin-block:20px}
.form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px 24px;margin-top:24px}
.data-tool button{cursor:pointer}
.data-tool button:disabled{cursor:not-allowed;background:#dadad6;color:#535359;border-color:#999}
@media (hover:hover){.data-tool .button:hover:not(:disabled){background:#333335}}
.draft-button{color:var(--ink);background:none;border:0;padding:12px 0;min-height:48px;text-decoration:underline;text-underline-offset:4px}
.draft-section{padding-top:36px;margin-top:40px;border-top:1px solid var(--line)}
.draft-section>label{margin-top:24px}
.honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
@media(max-width:600px){.data-tool{padding-block:24px 56px}.back-link{margin-bottom:22px}.form-section h2,.form-delivery h2,.draft-section h2{font-size:1.5rem}.form-actions{align-items:stretch;flex-direction:column;gap:8px}.form-actions .button{width:100%}.draft-button{text-align:left}.error-summary{padding:20px}}
@media print{.form-delivery,.form-actions,.back-link{display:none}.data-tool{max-width:100%;padding:0}.question{break-inside:avoid}}
