:root{--ink:#0E0E0D;--panel:#161614;--line:#2B2A27;--line2:#3A3934;--field:#4A4842;--bone:#EDE9E1;--muted:#9A958B;--soft:#B5B0A6;--red:#B8322A}
*{box-sizing:border-box}
html,body{margin:0;background:var(--ink);color:var(--bone);font-family:'Inter Tight',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
.mono{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase}
.app{max-width:640px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column}
.top{position:sticky;top:0;z-index:5;background:var(--ink);padding:14px 20px 14px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:12px}
.topline{display:flex;justify-content:space-between;align-items:center}
.back{width:44px;height:44px;display:flex;align-items:center;background:none;border:0;color:var(--bone);cursor:pointer;padding:0}
.back[hidden]{display:flex;visibility:hidden}
.brand{font-size:12px;font-weight:600;letter-spacing:.32em;color:var(--bone);text-decoration:none}
.tag{width:44px;text-align:right}
.belt{display:flex;height:12px}
.belt .band{flex:1;background:#1F1E1C;border:1px solid var(--line);border-right:0}
.belt .tab{width:88px;background:var(--red);display:flex;align-items:center;justify-content:center;gap:10px}
.belt .tab span{width:4px;height:12px;background:var(--ink);opacity:.3}
.belt .tab span.done{background:var(--bone);opacity:1}
.belt .tab span.now{background:var(--bone);opacity:.4}
.meta{display:flex;justify-content:space-between;gap:12px}
main{flex:1;padding:28px 20px 40px;display:flex;flex-direction:column;gap:28px;outline:none}
h1{margin:0;font-size:32px;line-height:1.06;font-weight:500;letter-spacing:-.02em}
h2{margin:0;font-size:24px;line-height:1.15;font-weight:500;letter-spacing:-.015em}
p{margin:0}
.lead{font-size:16px;line-height:1.55;color:var(--soft)}
.eyebrow{display:flex;align-items:center;gap:10px}
.dot{width:8px;height:8px;background:var(--red);flex:none}
.q{display:flex;flex-direction:column;gap:12px;padding-top:22px;border-top:1px solid var(--line)}
.q.sub{border-top:0;padding-top:4px;padding-left:16px;border-left:1px solid var(--line2)}
.q[hidden]{display:none}
.qid{display:flex;gap:10px}
.qid .req{color:var(--bone)}
.qlabel{font-size:18px;line-height:1.35;font-weight:500}
.help{font-size:14px;line-height:1.5;color:var(--muted)}
.opts{display:flex;flex-direction:column;gap:8px}
.opts.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.opt{min-height:52px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line2);border-radius:2px;background:transparent;color:var(--bone);font:inherit;font-size:15px;text-align:left;cursor:pointer}
.opt:hover{border-color:#6F6B63}
.opt[aria-pressed="true"],.opt[aria-checked="true"]{background:var(--bone);color:var(--ink);border-color:var(--bone)}
.opt:focus-visible,.field:focus-visible,.btn:focus-visible,select:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.field,select.field{width:100%;min-height:48px;background:transparent;border:0;border-bottom:1px solid var(--field);color:var(--bone);font:inherit;font-size:16px;padding:8px 0;border-radius:0}
select.field{appearance:none;-webkit-appearance:none;background:transparent}
select.field option{background:#161614;color:var(--bone)}
textarea.field{min-height:96px;resize:vertical;border:1px solid var(--field);padding:10px 12px}
.field::placeholder{color:#6F6B63}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;align-items:end}
.sublabel{font-size:13px;color:var(--muted)}
.lab{display:flex;flex-direction:column;gap:4px}
.week{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.week .row{display:grid;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:12px;border-bottom:1px solid var(--line)}
.note{display:flex;gap:12px;align-items:flex-start;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;font-size:14px;line-height:1.5;color:#C9C4BA}
.note .dot{margin-top:5px}
.check{display:flex;gap:14px;align-items:flex-start;cursor:pointer;font-size:15px;line-height:1.45}
.check input{appearance:none;-webkit-appearance:none;flex:none;width:22px;height:22px;margin:1px 0 0;border:1px solid var(--field);border-radius:2px;background:transparent;cursor:pointer;display:grid;place-content:center}
.check input:checked{background:var(--bone);border-color:var(--bone)}
.check input:checked::after{content:"";width:10px;height:6px;border-left:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(-45deg) translate(1px,-1px)}
.err{color:#E58A80;font-size:13px}
.q.bad .qlabel{color:#F0B3AC}
.actions{margin-top:8px;display:flex;flex-direction:column;gap:10px}
.btn{height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:var(--bone);color:var(--ink);border:1px solid var(--bone);border-radius:2px;font:inherit;font-size:16px;font-weight:600;cursor:pointer;text-decoration:none;width:100%}
.btn.ghost{background:transparent;color:var(--bone);border-color:var(--line2)}
.btn[disabled]{opacity:.5;cursor:progress}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border-top:1px solid var(--line);padding-top:14px}
.facts b{display:block;margin-top:6px;font-weight:400;font-size:14px;color:var(--bone);letter-spacing:0;text-transform:none;font-family:'Inter Tight',sans-serif}
ol.list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
ol.list li{display:flex;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px}
.big-belt{display:flex;height:20px}
.big-belt .band{flex:1;background:#1F1E1C;border:1px solid var(--line);border-right:0}
.big-belt .tab{width:120px;background:var(--red);display:flex;align-items:center;justify-content:center;gap:14px}
.big-belt .tab span{width:5px;height:20px;background:var(--bone)}
.banner{border:1px solid var(--red);padding:12px 14px;font-size:14px;line-height:1.5;color:#F0B3AC}
@media (min-width:700px){h1{font-size:40px}main{padding-top:40px}}
