/* Sorted DO IT (DOIT-1). Scoped to .doit, .doit-panel and .doit-chat. Uses the homepage brand colours, with fallbacks. */
.doit,.doit-panel,.doit-chat{--d-ink:#0f1b33;--d-ink2:#39465f;--d-muted:#5d6881;--d-paper:#faf8f3;--d-paper2:#f2eee5;--d-card:#fff;--d-line:#e4dfd3;--d-line2:#d6cfbf;--d-brand:#0c6653;--d-brand2:#0a5445;--d-brandink:#fff;--d-soft:#e2f0eb;--d-urgent:#b42318;--d-warnbg:#fcefd9;--d-warn:#8a4b00;--d-serif:"Iowan Old Style","Charter","Sitka Text",Cambria,Georgia,"Times New Roman",serif;color:var(--d-ink);line-height:1.6}
@media (prefers-color-scheme:dark){.doit,.doit-panel,.doit-chat{--d-ink:#eef1f7;--d-ink2:#c7cedc;--d-muted:#a1abbf;--d-paper:#0e1422;--d-paper2:#131b2c;--d-card:#161f32;--d-line:#27324a;--d-line2:#34405b;--d-brand:#63c9b0;--d-brand2:#7fd6c0;--d-brandink:#08201a;--d-soft:#13302a;--d-urgent:#ff9d93;--d-warnbg:#3a2a10;--d-warn:#ffc978}}
html[data-theme="dark"] .doit,html[data-theme="dark"] .doit-panel,html[data-theme="dark"] .doit-chat{--d-ink:#eef1f7;--d-ink2:#c7cedc;--d-muted:#a1abbf;--d-paper:#0e1422;--d-paper2:#131b2c;--d-card:#161f32;--d-line:#27324a;--d-line2:#34405b;--d-brand:#63c9b0;--d-brand2:#7fd6c0;--d-brandink:#08201a;--d-soft:#13302a;--d-urgent:#ff9d93;--d-warnbg:#3a2a10;--d-warn:#ffc978}
.doit *,.doit-panel *,.doit-chat *{box-sizing:border-box}
.doit{background:var(--d-paper);padding:clamp(24px,5vw,56px) 0 clamp(40px,6vw,72px)}
.doit-wrap{max-width:820px;margin:0 auto;padding:0 20px}
.doit-intro h1{font-family:var(--d-serif);font-size:clamp(1.8rem,1.2rem + 2.6vw,2.6rem);line-height:1.15;margin:0}
.doit-intro p{color:var(--d-ink2);margin:10px 0 0;max-width:40em}
#doit-app{margin-top:24px;scroll-margin-top:80px}
.doit a,.doit-panel a,.doit-chat a{color:var(--d-brand);text-underline-offset:3px}
.doit :focus-visible,.doit-panel :focus-visible,.doit-chat :focus-visible{outline:3px solid var(--d-brand);outline-offset:3px;border-radius:6px}
.doit-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.doit-kicker,.doit-chat-k{margin:0;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--d-muted)}
.doit-h2{font-family:var(--d-serif);font-size:clamp(1.4rem,1.1rem + 1.2vw,1.9rem);line-height:1.2;margin:4px 0 0}
.doit-h3{font-size:1.1rem;margin:0 0 8px}
.doit-lede{color:var(--d-ink2);margin:10px 0 0}
.doit-muted{color:var(--d-muted);font-size:.92rem}
.doit-card{background:var(--d-card);border:1px solid var(--d-line2);border-radius:18px;padding:clamp(18px,3vw,28px);box-shadow:0 1px 2px rgba(15,27,51,.05),0 12px 32px -12px rgba(15,27,51,.18)}
.doit-top{margin-bottom:16px}
.doit-status{margin:4px 0 12px;color:var(--d-ink2)}
.doit-progress{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0;counter-reset:dp}
.doit-progress li{counter-increment:dp;display:flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;border-radius:999px;background:var(--d-paper2);color:var(--d-muted);font-size:.88rem;font-weight:600}
.doit-progress li::before{content:counter(dp);display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--d-line);color:var(--d-ink2);font-size:.78rem}
.doit-progress li.done{color:var(--d-ink2)}
.doit-progress li.done::before{content:"\2713";background:var(--d-soft);color:var(--d-brand)}
.doit-progress li.now{background:var(--d-brand);color:var(--d-brandink)}
.doit-progress li.now::before{background:var(--d-brandink);color:var(--d-brand)}
.doit-fs{border:0;margin:0;padding:0;min-width:0}
.doit-fs legend{padding:0;margin:0 0 4px}
.doit-qh{font-size:clamp(1.15rem,1rem + .6vw,1.4rem);line-height:1.3;margin:0 0 6px}
.doit-qh label{display:block}
.doit-hint{color:var(--d-muted);margin:0 0 12px;font-size:.95rem}
.doit-opt{display:flex;align-items:flex-start;gap:12px;margin:8px 0;padding:12px 14px;border:2px solid var(--d-line);border-radius:12px;background:var(--d-paper);cursor:pointer}
.doit-opt:hover{border-color:var(--d-ink2)}
.doit-opt:has(input:checked){border-color:var(--d-brand);background:var(--d-soft)}
.doit-opt input{width:22px;height:22px;margin:2px 0 0;flex:none;accent-color:var(--d-brand)}
.doit-opt label{flex:1;cursor:pointer;font-weight:600}
.doit-opt-confirm{margin-top:16px}
.doit-input{display:block;width:100%;font:inherit;font-size:1.05rem;color:var(--d-ink);background:var(--d-paper);border:2px solid var(--d-line2);border-radius:12px;padding:12px 14px;min-height:48px}
.doit-input:focus{outline:none;border-color:var(--d-brand);box-shadow:0 0 0 4px rgba(12,102,83,.2)}
.doit-input[aria-invalid="true"]{border-color:var(--d-urgent)}
.doit-input-short{max-width:16rem}
.doit-money{display:flex;align-items:center;gap:8px;max-width:16rem}
.doit-money span{font-weight:700;font-size:1.1rem}
.doit-sub label{display:block;font-weight:700;margin:14px 0 6px}
.doit-err{margin:0;color:var(--d-urgent);font-weight:700}
.doit-err:not(:empty){margin-top:10px}
.doit-nav,.doit-tools,.doit-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;align-items:center}
.doit-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:48px;padding:10px 20px;border:2px solid var(--d-brand);border-radius:12px;background:var(--d-brand);color:var(--d-brandink)!important;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}
.doit-btn:hover{background:var(--d-brand2);border-color:var(--d-brand2)}
.doit-btn-quiet{background:var(--d-card);color:var(--d-brand)!important}
.doit-btn-quiet:hover{background:var(--d-soft);color:var(--d-brand2)!important}
.doit-btn-sm{min-height:44px;padding:8px 14px;font-size:.92rem}
.doit-link{background:none;border:0;padding:8px 0;min-height:44px;font:inherit;color:var(--d-brand);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.doit-danger{color:var(--d-urgent)!important;border-color:var(--d-urgent)}
.doit-points{margin:0 0 12px;padding-left:1.2em}
.doit-points li{margin:0 0 8px}
.doit-warn{background:var(--d-warnbg);color:var(--d-ink);border-left:4px solid var(--d-warn);border-radius:8px;padding:12px 14px;margin:0 0 14px}
.doit-warn p{margin:0 0 6px}
.doit-warn p:last-child{margin:0}
.doit-box{background:var(--d-paper);border:1px solid var(--d-line);border-radius:12px;padding:14px 16px;margin:14px 0}
.doit-box p{margin:0 0 8px}
.doit-src{margin:12px 0;padding:12px 14px;border-radius:12px;background:var(--d-paper2)}
.doit-src-h{margin:0 0 6px;font-weight:700;font-size:.92rem}
.doit-src ul{margin:0;padding-left:1.2em}
.doit-src li{margin:0 0 6px}
.doit-doc{display:block;width:100%;font-family:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;font-size:.95rem;line-height:1.55;color:var(--d-ink);background:var(--d-paper);border:2px solid var(--d-line2);border-radius:12px;padding:14px;resize:vertical}
.doit-doc:focus{outline:none;border-color:var(--d-brand)}
.doit-pre{white-space:pre-wrap;word-break:break-word;font-family:inherit;background:var(--d-paper);border:1px solid var(--d-line);border-radius:12px;padding:16px;margin:12px 0;max-height:26rem;overflow:auto}
.doit-dl{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:0 0 12px}
.doit-dl dt{font-weight:700}
.doit-dl dd{margin:0}
@media (max-width:480px){.doit-dl{grid-template-columns:1fr}.doit-dl dd{margin-bottom:6px}}
.doit-done{margin:10px 0 0;color:var(--d-brand);font-weight:700}
.doit-done:empty{display:none}
.doit-foot{margin:14px 0 0;color:var(--d-muted);font-size:.92rem}
.doit-hist{margin-top:16px}
.doit-hist summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center}
.doit-flows{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:12px}
@media (min-width:720px){.doit-flows{grid-template-columns:repeat(3,minmax(0,1fr))}}
.doit-flow{display:flex;flex-direction:column;gap:6px;width:100%;height:100%;text-align:left;font:inherit;color:var(--d-ink);background:var(--d-card);border:1px solid var(--d-line2);border-radius:14px;padding:18px;cursor:pointer}
.doit-flow:hover{border-color:var(--d-brand)}
.doit-flow b{font-size:1.05rem;line-height:1.3}
.doit-flow span{color:var(--d-ink2);font-size:.95rem}
.doit-flow .doit-flow-go{margin-top:auto;color:var(--d-brand);font-weight:700}
.doit-mine{margin-top:32px}
.doit-acts{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:12px}
.doit-act{background:var(--d-card);border:1px solid var(--d-line2);border-radius:14px;padding:16px}
.doit-act-h{margin:0;font-size:1.05rem}
.doit-act-org{margin:2px 0 8px;color:var(--d-ink2)}
.doit-act-org:empty{display:none}
.doit-act-dl{display:grid;grid-template-columns:auto 1fr;gap:2px 14px;margin:0 0 10px;font-size:.93rem}
.doit-act-dl dt{color:var(--d-muted)}
.doit-act-dl dd{margin:0;font-weight:600}
.doit-act-btns{display:flex;flex-wrap:wrap;gap:8px}
.doit-panel{max-width:1120px;margin:24px auto;padding:0 20px}
.doit-chat{margin:16px 0;background:var(--d-card,#fff);border:2px solid var(--d-brand);border-radius:16px;padding:16px 18px;max-width:640px}
.doit-chat-t{font-family:var(--d-serif);font-size:1.25rem;font-weight:700;margin:2px 0}
.doit-chat-s,.doit-chat-l{margin:4px 0;color:var(--d-ink2)}
.doit-chat ul{margin:4px 0 10px;padding:0;list-style:none}
.doit-chat li{padding-left:24px;position:relative;margin:4px 0}
.doit-chat li::before{content:"\2713";position:absolute;left:2px;color:var(--d-brand);font-weight:700}
.doit-chat-b{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
@media print{html.doit-printing body>*:not(#doit-print){display:none!important}html.doit-printing #doit-print{display:block!important;white-space:pre-wrap;font:12pt/1.5 Georgia,serif;color:#000;margin:0}#doit-print{display:none}}
#doit-print{display:none}
@media (prefers-reduced-motion:reduce){.doit *,.doit-panel *,.doit-chat *{transition:none!important;animation:none!important}}