:root{--ground: #0E1012;--surface: #171A1C;--surface-2: #1F2326;--text: #ECEFEA;--muted: #98A19C;--border: #2A2F33;--accent: #C2F04C;--accent-ink: #12180A;--warn: #F2B33D;--stop: #FF7A6B;--ok: #7BD88F;--r: 2px;--r-card: 6px;--r-big: 10px;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 18px;--s5: 28px;--s6: 44px;--display: "Bricolage Grotesque", system-ui, sans-serif;--mono: "Azeret Mono", ui-monospace, monospace;--tap: 48px;--bar: 56px}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){--ground: #EFF1EC;--surface: #FFFFFF;--surface-2: #E4E8DE;--text: #15191A;--muted: #55605A;--border: #CBD2C6;--accent: #3D5C12;--accent-ink: #FFFFFF;--warn: #7A5205;--stop: #A8291A;--ok: #2F6B3C}}:root[data-theme=dark]{--ground: #0E1012;--surface: #171A1C;--surface-2: #1F2326;--text: #ECEFEA;--muted: #98A19C;--border: #2A2F33;--accent: #C2F04C;--accent-ink: #12180A;--warn: #F2B33D;--stop: #FF7A6B;--ok: #7BD88F}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}figure,h1,h2,h3,h4,p,ul,ol,dl,dd{margin:0}ul,ol{padding:0;list-style:none}img{max-width:100%;display:block}body{margin:0;background:var(--ground);color:var(--text);font-family:var(--display);font-weight:500;font-size:16px;line-height:1.5;font-optical-sizing:auto;-webkit-font-smoothing:antialiased}.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--accent);color:var(--accent-ink);padding:var(--s3) var(--s4);font-weight:800}.skip:focus{left:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r)}.shell{display:flex;min-height:100dvh}main{flex:1;min-width:0;padding:var(--s5) 16px calc(var(--bar) + env(safe-area-inset-bottom) + var(--s5));max-width:900px;margin:0 auto}main:focus{outline:none}.rail{display:none}.tabbar{position:fixed;inset:auto 0 0;z-index:40;background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom)}.tabbar ul{display:flex;width:100%}.tabbar li{flex:1 1 0}.tabbar a{width:100%;min-height:var(--bar);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-decoration:none;color:var(--muted);font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.04em}.tabbar a[aria-current=page]{color:var(--accent)}.tabbar .glyph{font-family:var(--display);font-size:17px;font-weight:800;line-height:1}@media(min-width:880px){.tabbar{display:none}.rail{display:flex;flex-direction:column;gap:var(--s5);width:200px;flex:none;padding:var(--s5) var(--s4);border-right:1px solid var(--border);background:var(--surface);position:sticky;top:0;height:100dvh}.rail-mark{font-family:var(--mono);font-weight:700;font-size:13px;color:var(--accent);letter-spacing:.1em}.rail ul{display:flex;flex-direction:column;gap:var(--s1)}.rail a{display:flex;align-items:center;gap:var(--s3);min-height:var(--tap);padding:0 var(--s3);border-radius:var(--r);text-decoration:none;color:var(--muted);font-weight:500;font-size:15px}.rail a[aria-current=page]{background:var(--surface-2);color:var(--text)}.rail a[aria-current=page] .glyph{color:var(--accent)}.rail .glyph{font-weight:800}main{padding:var(--s6) var(--s5) var(--s6)}}h1{font-size:clamp(30px,8vw,46px);font-weight:800;letter-spacing:-.035em;line-height:.95;margin-bottom:var(--s2)}h2{font-size:21px;font-weight:800;letter-spacing:-.02em;margin:var(--s5) 0 var(--s3)}h3{font-size:15px;font-weight:800;margin:var(--s5) 0 var(--s2)}.lede{font-weight:200;font-size:clamp(16px,4vw,20px);color:var(--muted);line-height:1.4}.eyebrow{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.06em;margin-bottom:var(--s2)}.num{font-family:var(--mono);font-variant-numeric:tabular-nums}button,.btn{font-family:var(--display);font-size:15px;font-weight:800;min-height:var(--tap);padding:0 var(--s4);border-radius:var(--r);border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);text-decoration:none;letter-spacing:-.01em}.btn-primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn-row{display:flex;gap:var(--s2);flex-wrap:wrap;margin-top:var(--s4)}button:disabled{opacity:.45;cursor:not-allowed}.card{border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface);margin-bottom:var(--s3)}.tile{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s4);min-height:var(--tap);text-decoration:none;color:inherit}.tile-name{display:block;font-weight:800;font-size:17px;letter-spacing:-.015em}.tile-sub{display:block;font-size:13px;color:var(--muted);margin-top:2px}.tile-meta{font-family:var(--mono);font-size:12px;color:var(--accent);text-align:right;white-space:nowrap}.ex{border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface);margin-bottom:var(--s2);overflow:hidden}.ex>summary{list-style:none;cursor:pointer;padding:var(--s4);min-height:var(--tap);display:grid;grid-template-columns:26px 1fr auto;gap:var(--s3);align-items:center}.ex>summary::-webkit-details-marker{display:none}.ex-i{font-family:var(--mono);font-size:12px;font-weight:700;color:var(--muted)}.ex-name{font-weight:800;font-size:16px;letter-spacing:-.015em;line-height:1.2}.ex-tag{display:block;font-family:var(--mono);font-size:10px;font-weight:500;color:var(--muted);margin-top:3px}.ex-dose{font-family:var(--mono);font-size:13px;font-weight:700;color:var(--accent);text-align:right;white-space:nowrap}.ex-dose span{display:block;font-size:9px;font-weight:500;color:var(--muted)}.ex[open]>summary{border-bottom:1px solid var(--border);background:var(--surface-2)}.ex-body{padding:var(--s4)}.shots{display:grid;gap:var(--s3);margin-bottom:var(--s5);max-width:460px}.shot{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);overflow:hidden}.shot img{width:100%;height:auto}.shot figcaption{font-family:var(--mono);font-size:10px;letter-spacing:.04em;color:var(--muted);padding:var(--s2) var(--s3);border-top:1px solid var(--border)}.spec{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;margin-bottom:var(--s4)}.spec>div{background:var(--surface-2);padding:var(--s3) var(--s2)}.spec dt{font-family:var(--mono);font-size:9px;letter-spacing:.04em;color:var(--muted)}.spec dd{font-family:var(--mono);font-size:14px;font-weight:700;margin-top:var(--s1);white-space:nowrap}.cues{margin-bottom:var(--s4);padding-left:1.15em;list-style:disc}.cues li{margin-bottom:var(--s3);font-size:15px;line-height:1.45}.cues li:last-child{margin-bottom:0}.cues.good li::marker{color:var(--ok)}.cues.bad li::marker{color:var(--stop)}.swap{font-size:13px;color:var(--muted);border-top:1px solid var(--border);padding-top:var(--s3)}.swap b{color:var(--text);font-weight:800}.note{border:1px solid var(--border);border-radius:var(--r);background:var(--surface-2);padding:var(--s4);margin-bottom:var(--s4)}.note.warn{border-color:var(--warn)}.note.stop{border-color:var(--stop)}.note h3{margin:0 0 var(--s2);font-size:14px}.note.warn h3{color:var(--warn)}.note.stop h3{color:var(--stop)}.note p{font-size:14px;color:var(--muted)}.log-ex{border:1px solid var(--border);border-radius:var(--r-card);background:var(--surface);margin-bottom:var(--s3);overflow:hidden}.log-head{padding:var(--s3) var(--s4);border-bottom:1px solid var(--border);background:var(--surface-2)}.log-title{font-weight:800;font-size:16px;letter-spacing:-.015em}.log-hint{font-family:var(--mono);font-size:11px;color:var(--accent);margin-top:3px}.log-last{font-family:var(--mono);font-size:11px;color:var(--muted);margin-top:2px}.setrow{display:grid;grid-template-columns:22px 1fr 1fr 1fr var(--tap);align-items:center;gap:var(--s2);padding:var(--s2) var(--s3);border-bottom:1px solid var(--border)}.setrow:last-child{border-bottom:0}.setrow-n{font-family:var(--mono);font-size:12px;font-weight:700;color:var(--muted)}.setrow input{font-family:var(--mono);font-size:16px;font-weight:700;text-align:center;min-height:44px;width:100%;padding:var(--s1);background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--r)}.setrow input::placeholder{color:var(--muted);font-weight:500;opacity:.6}.setrow input:focus{border-color:var(--accent);outline:none}.setrow .tick{min-height:44px;min-width:44px;padding:0;font-size:18px;line-height:1}.setrow .tick[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.setrow.done input{opacity:.55}.setlabels{display:grid;grid-template-columns:22px 1fr 1fr 1fr var(--tap);gap:var(--s2);padding:var(--s2) var(--s3) 0}.setlabels span{font-family:var(--mono);font-size:9px;color:var(--muted);text-align:center}.setlabels span:first-child{text-align:left}.field{margin-bottom:var(--s4)}.field label{display:block;font-family:var(--mono);font-size:11px;color:var(--muted);margin-bottom:var(--s2)}.field input,.field textarea,.field select{font-family:var(--mono);font-size:16px;font-weight:700;min-height:var(--tap);width:100%;padding:var(--s2) var(--s3);background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--r)}.field textarea{font-family:var(--display);font-weight:500;min-height:92px;resize:vertical}.field input:focus,.field textarea:focus{border-color:var(--accent);outline:none}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}.check{display:flex;align-items:center;gap:var(--s3);min-height:var(--tap);padding:var(--s2) var(--s4);border-bottom:1px solid var(--border);cursor:pointer}.check:last-child{border-bottom:0}.check input{width:24px;height:24px;accent-color:var(--accent);flex:none}.check .c-name{font-weight:800;font-size:15px}.check .c-dose{font-family:var(--mono);font-size:11px;color:var(--muted)}.timer{position:fixed;left:0;right:0;z-index:45;bottom:calc(var(--bar) + env(safe-area-inset-bottom));background:var(--accent);color:var(--accent-ink);display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s3) 16px;min-height:var(--tap)}.timer[hidden]{display:none}.timer-time{font-family:var(--mono);font-size:24px;font-weight:700;letter-spacing:-.02em}.timer-label{font-family:var(--mono);font-size:11px;font-weight:700}.timer button{min-height:40px;background:transparent;border-color:var(--accent-ink);color:var(--accent-ink)}@media(min-width:880px){.timer{bottom:0;left:200px}}.empty{color:var(--muted);font-size:15px;padding:var(--s5) 0}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--bar) + env(safe-area-inset-bottom) + var(--s4));background:var(--text);color:var(--ground);font-size:14px;font-weight:800;padding:var(--s3) var(--s4);border-radius:var(--r);z-index:60;max-width:90vw;text-align:center}.toast:not(.show){display:none}.back{font-family:var(--mono);font-size:12px;color:var(--muted);text-decoration:none;display:inline-flex;min-height:var(--tap);align-items:center}.back:hover{color:var(--accent)}.pill{font-family:var(--mono);font-size:10px;font-weight:700;padding:3px var(--s2);border-radius:var(--r);border:1px solid var(--border);color:var(--muted)}.pill.live{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}@media(prefers-reduced-motion:no-preference){.ex,.card{transition:border-color .16s cubic-bezier(.2,.7,.3,1)}.ex:hover,.card:hover{border-color:var(--muted)}}.glede{font-size:15px;color:var(--muted);margin-bottom:var(--s4)}.tw{overflow-x:auto;margin-bottom:var(--s4);border:1px solid var(--border);border-radius:var(--r)}.gt{border-collapse:collapse;width:100%;min-width:540px}.gt th,.gt td{padding:var(--s3);text-align:left;vertical-align:top;border-bottom:1px solid var(--border);font-size:13px}.gt thead th{background:var(--surface-2);font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.04em;color:var(--muted);white-space:nowrap}.gt tbody th{font-family:var(--mono);font-weight:700;color:var(--accent);white-space:nowrap}.gt tbody tr:last-child th,.gt tbody tr:last-child td{border-bottom:0}.guide-links{display:flex;flex-wrap:wrap;gap:var(--s2);margin-bottom:var(--s4)}.guide-links a{min-height:var(--tap);display:inline-flex;align-items:center;padding:0 var(--s4);border:1px solid var(--border);border-radius:var(--r);background:var(--surface-2);color:var(--text);text-decoration:none;font-family:var(--mono);font-size:12px;font-weight:700}.guide-links a:last-child{border-color:var(--stop);color:var(--stop)}.ex-body>:first-child{margin-top:0}.gt td,.gt th{line-height:1.45}.cues,.note p,.glede,.swap{max-width:64ch}.lede{max-width:48ch}.lede+.card,.lede+.ex,.lede+.tw{margin-top:var(--s5)}
