@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/chakra-petch-latin-600-normal-DVQm9bgb.woff2)format("woff2"),url(/assets/chakra-petch-latin-600-normal-DQKfcdKo.woff)format("woff")}@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/chakra-petch-latin-700-normal-CnDBPjkL.woff2)format("woff2"),url(/assets/chakra-petch-latin-700-normal-D1s_c2du.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-700-normal-Bxkt5Cjx.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-700-normal-Bth3BMcD.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-mono-latin-700-normal-7sUh57Bg.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-700-normal-CNHXzs6v.woff)format("woff")}:root{--bg:#16130e;--rail:#1b1812;--panel:#211d15;--raise:#2a2519;--line:#3a3427;--ink:#ece6d6;--mute:#a39b84;--green:#5dff9d;--green-ink:#07210f;--hl:#5dff9d29;--orange:#ff8a4c;--red:#ff6b5e;--red-bg:#ff6b5e1f;--orange-bg:#ff8a4c1f;--code-bg:#0e0c08;--code-ink:#ece6d6;--shadow:#000;--display:"Chakra Petch", "IBM Plex Sans", system-ui, sans-serif;--body:"IBM Plex Sans", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, Consolas, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#f0ebdc;--rail:#e8e2cf;--panel:#f7f3e6;--raise:#fffdf4;--line:#cdc4a9;--ink:#1b1812;--mute:#675f4a;--green:#0b7a40;--green-ink:#f7f3e6;--hl:#cdf57a;--orange:#b4510f;--red:#b3261e;--red-bg:#b3261e1a;--orange-bg:#b4510f1a;--code-bg:#211d15;--code-ink:#ece6d6;--shadow:#1b1812;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{scroll-padding-top:20px}body{background:var(--bg);color:var(--ink);font:17px/1.55 var(--body);-webkit-font-smoothing:antialiased;margin:0}::selection{background:var(--green);color:var(--green-ink)}a{color:var(--green);text-underline-offset:3px}code,kbd,pre{font-family:var(--mono)}code{background:var(--raise);border-radius:2px;padding:1px 5px;font-size:.88em}h1,h2,h3,h4{font-family:var(--display);letter-spacing:0;margin:0;font-weight:700;line-height:1.1}h1{margin-bottom:.3em;font-size:clamp(2rem,4.5vw,2.8rem);font-weight:700}h2{font-size:1.3rem;font-weight:700}button{font:inherit;color:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--green);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.hint{color:var(--mute);margin:.3em 0 .9em;font-size:.9rem}.empty{color:var(--mute);padding:18px 0;font-style:italic}.bad-text{color:var(--red)}.owl{flex:none;line-height:0;display:inline-block;position:relative}.owl img{image-rendering:pixelated;-webkit-user-select:none;user-select:none;position:absolute;inset:0}.owl .blink{opacity:0;animation:7s step-end infinite blink}.owl.still .blink{animation:none}@keyframes blink{0%,95%{opacity:0}95.01%,97.5%{opacity:1}97.51%,to{opacity:0}}.shell{grid-template-columns:236px minmax(0,1fr);min-height:100vh;display:grid}.skip{position:absolute;left:-999px}.skip:focus{z-index:50;background:var(--panel);padding:8px 12px;top:8px;left:8px}.topbar{display:none}.rail{background:var(--rail);background-image:radial-gradient(var(--line) 1px, transparent 1.2px);border-right:1px solid var(--line);background-size:14px 14px;flex-direction:column;gap:22px;height:100vh;padding:18px 14px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.rail-logo{background:var(--rail);width:fit-content;padding:6px;display:block}.os-pick h2{font:600 .68rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin:0 0 5px;padding-left:10px}.os-pick>div+div{margin-top:14px}.os-pick button{text-align:left;background:var(--rail);width:100%;font:500 .85rem/1.4 var(--mono);color:var(--ink);border:0;border-radius:2px;padding:4px 10px;display:block}.os-pick button:hover{background:var(--raise)}.os-pick button[aria-pressed=true]{background:var(--hl);box-shadow:inset 3px 0 0 var(--green);font-weight:700}.main-nav{border-top:1px solid var(--line);flex-direction:column;gap:1px;padding-top:14px;display:flex}.main-nav a{color:var(--ink);font:500 .9rem var(--mono);background:var(--rail);border-radius:2px;align-items:center;gap:10px;padding:6px 10px;text-decoration:none;display:flex}.main-nav a:hover{background:var(--raise)}.main-nav a.active{background:linear-gradient(transparent 58%, var(--hl) 58%);font-weight:700}.main-nav a.active svg{color:var(--green)}.mini-clock{color:var(--ink);background:var(--raise);box-shadow:inset 3px 0 0 var(--green);padding:8px 12px;text-decoration:none;display:block}.mini-clock b{font:700 1.25rem/1.1 var(--mono);display:block}.mini-clock span{font:.75rem var(--mono);color:var(--mute)}.mini-clock.late{box-shadow:inset 3px 0 0 var(--orange)}.mini-clock.over{box-shadow:inset 3px 0 0 var(--red)}.rail-foot{align-items:center;gap:8px;margin-top:auto;display:flex}.find{background:var(--rail);border:1px solid var(--line);font:.78rem var(--mono);color:var(--mute);text-align:left;white-space:nowrap;flex:1;align-items:center;gap:8px;padding:6px 8px;display:flex}.find kbd{border:1px solid var(--line);margin-left:auto;padding:0 4px;font-size:.68rem}.icon-btn{background:var(--rail);border:1px solid var(--line);flex:none;place-items:center;width:36px;height:34px;display:grid}.icon-btn:hover{background:var(--raise)}.icon-btn.sm{background:0 0;width:28px;height:26px}main{min-width:0;max-width:1080px;padding:30px clamp(18px,4vw,48px) 60px}main footer{border-top:1px solid var(--line);color:var(--mute);max-width:62ch;margin-top:64px;padding-top:14px;font-size:.8rem}.scrim{z-index:20;background:0 0;border:0;position:fixed;inset:0}.scrim.dim{background:#0a080499}.btn{background:var(--raise);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink);font:600 .9rem var(--mono);clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,9px 100%,0 calc(100% - 9px));border:0;align-items:center;gap:8px;padding:9px 16px;text-decoration:none;display:inline-flex}.btn:hover{background:var(--hl)}.btn.primary{background:var(--green);color:var(--green-ink);box-shadow:none}.btn.primary:hover{filter:brightness(1.1)}.btn.danger{background:var(--red-bg);color:var(--red);box-shadow:inset 0 0 0 1px var(--red)}.quiet{color:var(--mute);font:.8rem var(--mono);text-underline-offset:3px;background:0 0;border:0;align-items:center;gap:6px;padding:4px 0;text-decoration:underline;display:inline-flex}.quiet:hover{color:var(--ink)}.btn-row{flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:14px;display:flex}.page>h1{margin-bottom:.15em}.sub{color:var(--mute);max-width:58ch;margin:0 0 1.6em;font-size:1.12rem}.rule-h{font:600 .78rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);align-items:center;gap:14px;margin:40px 0 14px;display:flex}.rule-h:after{content:"";background:var(--line);flex:1;height:1px}.note{background:var(--raise);box-shadow:inset 3px 0 0 var(--mute);align-items:flex-start;gap:10px;margin:12px 0;padding:9px 12px;font-size:.95rem;display:flex}.note svg{flex:none;margin-top:3px}.note.verify{box-shadow:inset 3px 0 0 var(--green)}.note.verify svg{color:var(--green)}.note.careful{background:var(--orange-bg);box-shadow:inset 3px 0 0 var(--orange)}.note.careful svg{color:var(--orange)}.note.tip{box-shadow:inset 3px 0 0 var(--green)}.practice{color:var(--mute);align-items:flex-start;gap:9px;max-width:70ch;margin:0 0 18px;font-size:.88rem;display:flex}.practice svg{flex:none;margin-top:2px}.home-title-row{flex-wrap:wrap;align-items:flex-end;gap:28px;margin-bottom:18px;display:flex}.home-title{letter-spacing:-.01em;max-width:16ch;margin:0;font-size:clamp(2.4rem,6.4vw,4.6rem);font-weight:700;line-height:1}.home-title span{display:block}.home .sub{margin-bottom:36px}.resume{background:var(--panel);box-shadow:inset 3px 0 0 var(--green);max-width:640px;padding:18px 22px 20px}.resume h2{align-items:center;gap:9px;margin-bottom:10px;display:flex}.resume p{color:var(--mute);margin:0 0 14px}.meter{background:var(--raise);height:6px;box-shadow:inset 0 0 0 1px var(--line);overflow:hidden}.meter i{background:var(--green);height:100%;transition:width .2s;display:block}.meter.wide{margin-bottom:14px}.next-list{margin:0 0 18px;padding:0;list-style:none}.next-list a{color:var(--ink);border-bottom:1px dashed var(--line);align-items:center;gap:9px;padding:5px 0;text-decoration:none;display:flex}.next-list a:hover{color:var(--green)}.plain-list{max-width:920px;margin:0;padding:0;list-style:none}.row-link{text-align:left;border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);background:0 0;grid-template-columns:minmax(230px,300px) 1fr auto;align-items:baseline;gap:18px;padding:11px 6px;text-decoration:none;display:grid}.row-link:hover{background:var(--hl)}.row-link b{font-family:var(--display)}.row-link span{color:var(--mute);font-size:.92rem}.row-link.solo{grid-template-columns:auto minmax(220px,300px) 1fr auto;max-width:920px}.target{margin-bottom:14px}.target-head{align-items:center;gap:12px;margin-bottom:8px;display:flex}.target-head h1{margin:0}.gotchas{max-width:72ch;margin:4px 0 14px}.gotchas summary{cursor:pointer;font:.85rem var(--mono);color:var(--orange);align-items:center;gap:8px;display:inline-flex}.gotchas ul{color:var(--mute);margin:8px 0 0;padding-left:1.3em;font-size:.95rem}.field{margin-top:14px}.field-label{font:600 .72rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin-bottom:7px;display:block}.toggles{flex-wrap:wrap;gap:6px;display:flex}.toggle{background:var(--panel);border:1px solid var(--line);font:.8rem var(--mono);border-radius:2px;align-items:center;gap:7px;padding:4px 10px;display:inline-flex}.toggle:hover{border-color:var(--green)}.toggle[aria-pressed=true]{background:var(--green);border-color:var(--green);color:var(--green-ink);font-weight:700}.seg{border:1px solid var(--line);display:inline-flex}.seg button{background:var(--panel);font:.82rem var(--mono);border:0;border-right:1px solid var(--line);padding:6px 14px}.seg button:last-child{border-right:0}.seg button[aria-checked=true]{background:var(--hl);box-shadow:inset 0 -3px 0 var(--green);font-weight:700}.legend{color:var(--mute);flex-wrap:wrap;align-items:center;gap:8px;margin:18px 0 22px;font-size:.88rem;display:flex}.bar-key{background:var(--green);width:3px;height:14px;display:inline-block}.quiet.inline{margin-left:auto}.sweep{grid-template-columns:210px minmax(0,1fr);align-items:start;gap:32px;display:grid}.cat-index{position:sticky;top:18px}.meter-text{font:.78rem var(--mono);color:var(--mute);margin:6px 0 14px}.cat-index nav{flex-direction:column;gap:1px;margin-bottom:14px;display:flex}.cat-index nav button{text-align:left;font:.82rem var(--mono);color:var(--ink);background:0 0;border:0;border-radius:2px;align-items:center;gap:9px;padding:5px 8px;display:flex}.cat-index nav button span{flex:1}.cat-index nav button em{color:var(--mute);font-size:.75rem;font-style:normal}.cat-index nav button:hover{background:var(--raise)}.cat-index nav button.on{background:var(--hl);box-shadow:inset 3px 0 0 var(--green);font-weight:700}.cat-index nav button.clear{color:var(--mute)}.cat-index nav button.clear em{color:var(--green)}.next-up{background:var(--panel);box-shadow:inset 3px 0 0 var(--green);margin-bottom:18px;padding:12px 16px}.next-up h2{font:600 .72rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-bottom:6px}.next-up ol{margin:0;padding:0;list-style:none}.next-up a{color:var(--ink);align-items:center;gap:9px;padding:3px 0;text-decoration:none;display:flex}.next-up a:hover{color:var(--green)}.filter{flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:8px;display:flex}.search{border-bottom:2px solid var(--line);color:var(--mute);flex:260px;align-items:center;gap:8px;padding:4px 2px;display:flex}.search:focus-within{border-color:var(--green)}.search input{color:var(--ink);font:.9rem var(--mono);background:0 0;border:0;flex:1;min-width:0}.search input:focus{outline:none}.check-inline{font:.82rem var(--mono);color:var(--mute);align-items:center;gap:7px;display:inline-flex}.check-inline input{accent-color:var(--green)}.group{margin-top:30px}.group h2{align-items:center;gap:10px;font-size:1.15rem;display:flex}.group h2 svg{color:var(--green)}.blurb{color:var(--mute);max-width:70ch;margin:3px 0 8px 27px;font-size:.9rem}.step{border-bottom:1px solid var(--line)}.step[data-p="1"]{box-shadow:inset 3px 0 0 var(--green)}.step.open{background:var(--panel)}.step.focused{outline:2px solid var(--green);outline-offset:-2px}.step>header{align-items:center;gap:8px;padding:3px 8px 3px 14px;display:flex}.tick{border:2px solid var(--mute);width:20px;height:20px;color:var(--green-ink);background:0 0;border-radius:2px;flex:none;place-items:center;padding:0;display:grid}.tick:hover{border-color:var(--green)}.tick[aria-checked=true]{background:var(--green);border-color:var(--green)}.step-title{text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:6px;min-width:0;padding:9px 4px;font-size:1rem;display:flex}.step-title .chev{color:var(--mute);flex:none;transition:transform .12s}.step.open .chev{transform:rotate(90deg)}.step[data-state=done] .step-title span{color:var(--mute);text-decoration:line-through}.step[data-state=na]{opacity:.5}.meta{font:.75rem var(--mono);color:var(--mute);flex:none;align-items:center;gap:12px;display:flex}.meta .rd{color:var(--orange);align-items:center;gap:5px;display:inline-flex}.na{border:1px solid var(--line);font:.7rem var(--mono);color:var(--mute);background:0 0;border-radius:2px;padding:1px 6px}.na[aria-pressed=true]{background:var(--raise);color:var(--ink)}.step .body{padding:4px 18px 16px 44px}.step .cols{grid-template-columns:minmax(0,1fr);gap:6px;display:grid}.step .cols>div{min-width:0}.step .cols>div:first-child{max-width:76ch}.step .why{margin:8px 0 4px;font-size:.95rem}.step h4{font:600 .7rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin:14px 0 5px}.step .body ul{margin:0;padding-left:1.2em;font-size:.95rem}.step .body li{margin:3px 0}.code{background:var(--code-bg);border:1px solid var(--line);margin:6px 0 10px}.code figcaption{border-bottom:1px solid var(--line);font:.7rem var(--mono);color:#a39b84;align-items:center;gap:10px;padding:3px 4px 3px 10px;display:flex}.code .sh{color:var(--green);font-weight:700}.code .lbl{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.code figcaption button{color:#a39b84;font:inherit;background:0 0;border:0;align-items:center;gap:5px;margin-left:auto;padding:3px 6px;display:inline-flex}.code figcaption button:hover{color:#ece6d6}.code{min-width:0;max-width:100%}.code pre{white-space:pre-wrap;overflow-wrap:anywhere;tab-size:2;color:var(--code-ink);margin:0;padding:10px 12px;font-size:.82rem;line-height:1.6;overflow-x:auto}.code code{font-size:inherit;background:0 0;padding:0}.loadouts{max-width:880px;margin:0;padding:0;list-style:none}.loadouts li{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding:16px 0;display:flex}.lo-main{flex:340px}.lo-main h2,.lo-main h3{font-size:1.15rem}.shelf{margin-top:8px}.shelf-jump,.ref-jump{font:.8rem var(--mono);flex-wrap:wrap;gap:4px 16px;max-width:980px;margin:6px 0 4px;display:flex}.shelf-jump a,.ref-jump a{color:var(--mute);border-bottom:1px dotted var(--line);text-decoration:none}.shelf-jump a:hover,.ref-jump a:hover{color:var(--green);border-color:var(--green)}.focus-line{font:.85rem var(--mono);flex-wrap:wrap;align-items:center;gap:6px 14px;margin:0;display:flex}.lo-main p{color:var(--mute);margin:3px 0 0;font-size:.95rem}.lo-tags{font:.76rem var(--mono);flex-wrap:wrap;gap:4px 14px;display:flex;margin-top:8px!important}.lo-tags span{align-items:center;gap:5px;display:inline-flex}.lo-actions{gap:8px;display:flex}.timeline{border-left:2px solid var(--line);max-width:760px;margin:0;padding:0 0 0 18px;list-style:none}.timeline li{grid-template-columns:130px 170px 1fr;gap:12px;padding:8px 0;display:grid;position:relative}.timeline li:before{content:"";background:var(--green);width:10px;height:10px;position:absolute;top:14px;left:-24px}.timeline time{font:.8rem var(--mono);color:var(--mute)}.timeline span{color:var(--mute);font-size:.93rem}.clock{background:var(--panel);box-shadow:inset 3px 0 0 var(--green);flex-wrap:wrap;align-items:center;gap:28px;margin-bottom:22px;padding:16px 22px;display:flex}.clock.late{box-shadow:inset 3px 0 0 var(--orange)}.clock.over{box-shadow:inset 3px 0 0 var(--red)}.clock.idle p{color:var(--mute);max-width:54ch;margin:0;font-size:.95rem}.clock.idle{justify-content:space-between}.clock-face b{font:700 clamp(2.2rem, 6vw, 3.4rem) / 1 var(--mono);letter-spacing:-.02em;display:block}.clock-face span{font:.78rem var(--mono);color:var(--mute)}.phase-list{flex:320px;gap:2px;margin:0;padding:0;list-style:none;display:grid}.phase-list li{color:var(--mute);align-items:baseline;gap:10px;padding:1px 8px;font-size:.88rem;display:flex}.phase-list time{font:.75rem var(--mono);width:36px}.phase-list li[data-state=past] b{text-decoration:line-through}.phase-list li[data-state=now]{background:var(--hl);color:var(--ink);box-shadow:inset 3px 0 0 var(--green);flex-wrap:wrap;padding:5px 8px}.phase-list li[data-state=now] span{flex-basis:100%;padding-left:46px}.over-note{color:var(--red);flex-basis:100%;margin:0;font-weight:700}.tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:2px;margin:0 0 20px;display:flex}.tabs button{font:.85rem var(--mono);color:var(--mute);background:0 0;border:0;border-bottom:3px solid #0000;align-items:center;gap:8px;margin-bottom:-1px;padding:9px 14px;display:inline-flex}.tabs button:hover{color:var(--ink)}.tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--green);background:var(--hl);font-weight:700}.two-up{grid-template-columns:1fr 1fr;align-items:start;gap:20px;display:grid}.panel{background:var(--panel);border:1px solid var(--line);padding:16px 18px 18px}.panel h2{font-size:1.1rem}.panel label,.gen-row label{font:.75rem var(--mono);color:var(--mute);margin:10px 0;display:block}textarea,.panel input[type=number],.log-form input{background:var(--bg);width:100%;color:var(--ink);border:1px solid var(--line);font:.85rem var(--mono);resize:vertical;border-radius:2px;margin-top:4px;padding:7px 9px;display:block}textarea:focus,.log-form input:focus,.panel input[type=number]:focus{border-color:var(--green);outline:none}.panel input:not([type]),.panel input[type=text]{background:var(--bg);width:100%;color:var(--ink);border:1px solid var(--line);font:.85rem var(--mono);border-radius:2px;margin-top:4px;padding:7px 9px;display:block}.panel input:not([type]):focus,.panel input[type=text]:focus{border-color:var(--green);outline:none}.panel .check-inline{color:var(--ink);margin:0}.panel input[type=checkbox]{accent-color:var(--green)}.panel .quiet{margin-top:4px}.verdict{margin:12px 0 8px;font-weight:700}.findings{margin:0;padding:0;list-style:none}.findings li{background:var(--raise);flex-wrap:wrap;align-items:baseline;gap:2px 10px;margin:3px 0;padding:6px 10px;font-size:.9rem;display:flex}.findings li svg{align-self:center}.findings li em{font:.68rem var(--mono);color:var(--green);text-transform:uppercase}.findings li span{color:var(--mute);flex-basis:100%;padding-left:26px;font-size:.85rem}.findings li[data-kind=unauthorized],.findings li[data-kind=uid0]{background:var(--red-bg);box-shadow:inset 3px 0 0 var(--red)}.findings li[data-kind=system-shell],.findings li[data-kind=lookalike],.findings li[data-kind=missing]{background:var(--orange-bg);box-shadow:inset 3px 0 0 var(--orange)}.findings li[data-kind=ok]{box-shadow:inset 3px 0 0 var(--green)}.log-form{grid-template-columns:1fr 100px auto;align-items:end;gap:8px;display:grid}.spark{width:100%;height:56px;color:var(--green);margin-top:14px}.log{margin:12px 0 0;padding:0;list-style:none}.log li{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:2px 14px;padding:7px 8px;display:flex}.log li[data-drop=true]{background:var(--red-bg);box-shadow:inset 3px 0 0 var(--red)}.log time{font:.76rem var(--mono);color:var(--mute)}.log li b{font-family:var(--mono);margin-left:auto}.log li em{color:var(--red);flex-basis:100%;font-size:.83rem}.gen-row{flex-wrap:wrap;align-items:end;gap:16px;margin:16px 0 12px;display:flex}.gen-row label{margin:0}.gen-row input[type=number]{width:86px}.pw-list{margin:14px 0 0;padding:0;list-style:none}.pw-list li{border-bottom:1px dashed var(--line);align-items:center;gap:6px;padding:4px 0;display:flex}.pw-list code{overflow-wrap:anywhere;background:0 0;flex:1;min-width:0;padding:0}.panel .pw-list input.pw-login{flex:none;width:120px;margin:0}.pw-checks{flex-wrap:wrap;gap:4px 18px;margin:12px 0 4px;display:flex}.panel .seg{flex-wrap:wrap;margin:0 0 4px}.saved-list{margin:12px 0 0;padding:0;list-style:none}.saved-list li{border-bottom:1px dashed var(--line);align-items:center;gap:8px;padding:6px 0;display:flex}.saved-list b{font-family:var(--mono);overflow-wrap:anywhere;min-width:0}.saved-list em{font:.68rem var(--mono);color:var(--mute);font-style:normal}.saved-list code{overflow-wrap:anywhere;text-align:right;background:0 0;margin-left:auto;padding:0}.panel.wipe{max-width:560px;margin-top:20px}.syllabus section{border-top:1px solid var(--line);grid-template-columns:170px minmax(0,1fr);gap:24px;max-width:920px;padding:22px 0;display:grid}.syllabus h2{font:600 .78rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);padding-top:4px}.syllabus ul{margin:0;padding:0;list-style:none}.syllabus a{color:var(--ink);border-bottom:1px dashed var(--line);grid-template-columns:minmax(150px,230px) 1fr auto;align-items:baseline;gap:16px;padding:9px 6px;text-decoration:none;display:grid}.syllabus a:hover{background:var(--hl)}.syllabus a b{font-family:var(--display)}.syllabus a span{color:var(--mute);font-size:.92rem}.syllabus a em{font:.75rem var(--mono);color:var(--green);align-items:center;gap:5px;font-style:normal;display:inline-flex}.lesson-layout{grid-template-columns:minmax(0,700px) 190px;align-items:start;gap:56px;display:grid}.lesson h3{margin:1.8em 0 .5em;font-size:1.25rem}.lesson p{max-width:62ch}.lesson ul{padding-left:1.2em}.lesson li{margin:.35em 0}.back{font:.8rem var(--mono);align-items:center;gap:6px;margin-bottom:14px;display:inline-flex}.toc{border-left:1px solid var(--line);flex-direction:column;padding-left:14px;display:flex;position:sticky;top:24px}.toc h2{font:600 .7rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-bottom:8px}.toc a{color:var(--ink);padding:3px 0;font-size:.88rem;text-decoration:none}.toc a:hover{color:var(--green)}.quiz{border-top:2px solid var(--line);margin:44px 0 30px;padding-top:20px}.quiz fieldset{border:0;margin:22px 0;padding:0}.quiz legend{margin-bottom:8px;padding:0;font-weight:700}.opt{text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:2px;width:100%;margin:4px 0;padding:8px 12px;display:block}.opt:not(:disabled):hover{border-color:var(--green);background:var(--hl)}.opt.right{border-color:var(--green);box-shadow:inset 3px 0 0 var(--green);background:var(--hl)}.opt.wrong{border-color:var(--red);box-shadow:inset 3px 0 0 var(--red);background:var(--red-bg)}.opt.dim{opacity:.55}.explain{color:var(--mute);margin:6px 0 0;font-size:.92rem}.quiz-done{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.quiz-done p{margin:0}.paper{background:var(--raise);border:1px dashed var(--mute);max-width:640px;font-family:var(--mono);margin-bottom:20px;padding:14px 20px;font-size:.88rem}.paper h2{font:700 .9rem var(--mono);align-items:center;gap:8px;margin-bottom:8px;display:flex}.paper p{margin:4px 0}.drill-rows{margin:12px 0 18px;padding:0;list-style:none}.drill-rows li{margin:2px 0;padding:3px 8px}.drill-rows label{align-items:center;gap:12px;margin:0;font-size:.85rem;display:flex;overflow-x:auto}.drill-rows input{accent-color:var(--green);flex:none;width:16px;height:16px}.drill-rows code{white-space:nowrap;background:0 0;padding:0}.drill-rows em{color:var(--mute);margin:2px 0 2px 28px;font-size:.82rem;display:block}.drill-rows li[data-state=on]{background:var(--hl)}.drill-rows li[data-state=right]{background:var(--hl);box-shadow:inset 3px 0 0 var(--green)}.drill-rows li[data-state=missed]{background:var(--orange-bg);box-shadow:inset 3px 0 0 var(--orange)}.drill-rows li[data-state=wrong]{background:var(--red-bg);box-shadow:inset 3px 0 0 var(--red)}.drill-result{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.drill-result p{margin:0}.prose{max-width:720px}.prose h2{border-top:1px solid var(--line);margin:2em 0 .5em;padding-top:.8em;font-size:1.15rem}.prose ul{padding-left:1.2em}.prose li{margin:.45em 0}.dates{grid-template-columns:120px 1fr;gap:4px 20px;margin:0;font-size:.95rem;display:grid}.dates dt{font:.8rem var(--mono);color:var(--mute)}.dates dd{margin:0}.rulebook{flex-direction:column;height:calc(100vh - 60px);min-height:480px;display:flex}.rulebook-bar{font:.8rem var(--mono);color:var(--mute);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:0 0 10px;display:flex}.rulebook-bar a{align-items:center;gap:6px;display:inline-flex}.rulebook-pdf{border:1px solid var(--line);background:var(--panel);flex:1;width:100%;min-height:0}@media (width<=920px),(height<=500px) and (width<=1000px){.rulebook{height:calc(100vh - 120px)}}.palette-wrap{z-index:40;justify-content:center;align-items:flex-start;padding-top:12vh;display:flex;position:fixed;inset:0}.palette{z-index:41;background:var(--panel);border:1px solid var(--green);width:min(640px,92vw);box-shadow:8px 8px 0 var(--shadow);position:relative}.palette-input{border-bottom:1px solid var(--line);color:var(--mute);align-items:center;gap:10px;padding:12px 14px;display:flex}.palette-input input{color:var(--ink);font:1rem var(--mono);background:0 0;border:0;flex:1}.palette-input input:focus{outline:none}.palette ul{max-height:52vh;margin:0;padding:4px;list-style:none;overflow-y:auto}.palette li button{text-align:left;background:0 0;border:0;align-items:center;gap:10px;width:100%;padding:8px 10px;font-size:.95rem;display:flex}.palette li button span{flex:1;min-width:0}.palette li button em{font:.7rem var(--mono);color:var(--mute);font-style:normal}.palette li button.on{background:var(--hl);box-shadow:inset 3px 0 0 var(--green)}.palette .none{color:var(--mute);padding:14px;font-style:italic}.palette-foot{border-top:1px solid var(--line);font:.7rem var(--mono);color:var(--mute);margin:0;padding:7px 14px}.ref-bar{flex-wrap:wrap;align-items:center;gap:12px 22px;max-width:980px;margin:10px 0 12px;display:flex}.ref-bar .seg{flex-wrap:wrap}.ref-section{max-width:980px;margin-top:34px}.ref-section .blurb{margin-left:0}.ref-scroll{border:1px solid var(--line);background:var(--panel);overflow-x:auto}.ref-scroll table{border-collapse:collapse;width:100%;font-size:.9rem}.ref-scroll th{text-align:left;font:600 .7rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mute);border-bottom:1px solid var(--line);background:var(--raise);white-space:nowrap;padding:8px 12px}.ref-scroll td{border-bottom:1px solid var(--line);vertical-align:top;padding:6px 12px}.ref-scroll tr:last-child td{border-bottom:0}.ref-scroll tbody tr:hover td{background:var(--hl)}.ref-scroll td code{white-space:pre-wrap;overflow-wrap:anywhere;background:0 0;padding:0}.ref-scroll td:first-child{min-width:9ch}.drill-pick{flex-wrap:wrap;gap:6px;margin-bottom:20px;display:flex}.drill-pick button{background:var(--panel);border:1px solid var(--line);font:.82rem var(--mono);border-radius:2px;align-items:center;gap:7px;padding:5px 12px;display:inline-flex}.drill-pick button:hover{border-color:var(--green)}.drill-pick button[aria-pressed=true]{background:var(--green);border-color:var(--green);color:var(--green-ink);font-weight:700}.drill-field{margin:0 0 16px}.drill-field select{background:var(--panel);max-width:100%;color:var(--ink);border:1px solid var(--line);font:.85rem var(--mono);border-radius:2px;padding:6px 9px}.drill-field select:focus{border-color:var(--green);outline:none}.panel h2 code{background:0 0;padding:0;font-size:1.05rem}.decode-cipher code{background:var(--code-bg);color:var(--code-ink);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:2px;margin:10px 0 4px;padding:12px 14px;font-size:.98rem;display:block}.decode-kind,.port-q{border:0;margin:12px 0;padding:0}.decode-kind legend,.port-q legend{margin-bottom:6px;padding:0;font-weight:700}.decode-kind{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:0 8px;display:grid}.port-q .btn{margin-top:10px}.good-text{color:var(--green);margin:8px 0;font-weight:700}.streak{font:.8rem var(--mono);color:var(--mute);align-self:center}.subnet-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:0 18px;margin-bottom:14px;display:grid}.subnet-grid label[data-state=right] input{border-color:var(--green);box-shadow:inset 3px 0 0 var(--green)}.subnet-grid label[data-state=wrong] input{border-color:var(--red);box-shadow:inset 3px 0 0 var(--red)}.subnet-grid em{font:.82rem var(--mono);color:var(--orange);margin-top:3px;font-style:normal;display:block}.decoded{margin:12px 0 0}.decoded>div{border-top:1px solid var(--line);padding:6px 0}.decoded dt{font:600 .7rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}.decoded dd{align-items:flex-start;gap:8px;margin:2px 0 0;display:flex}.decoded dd code{white-space:pre-wrap;overflow-wrap:anywhere;background:0 0;flex:1;min-width:0;padding:0}.text-hashes summary{cursor:pointer;font:.8rem var(--mono);color:var(--mute);margin-top:12px}@media (width<=920px),(height<=500px) and (width<=1000px){.shell{grid-template-columns:minmax(0,1fr)}.topbar{z-index:15;background:var(--rail);border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:8px 14px;display:flex;position:sticky;top:0}.topbar-os{font:600 .85rem var(--mono);flex:1;align-items:center;gap:7px;display:flex}.rail{z-index:30;width:272px;transition:transform .18s;position:fixed;inset:0 auto 0 0;transform:translate(-102%)}.rail.open{transform:none}.sweep,.two-up,.step .cols,.lesson-layout{grid-template-columns:minmax(0,1fr)}.cat-index{position:static}.cat-index nav{flex-direction:row;gap:4px;overflow-x:auto}.cat-index nav button{white-space:nowrap}.toc{display:none}.row-link,.row-link.solo,.syllabus a{grid-template-columns:1fr;gap:2px}.syllabus section{grid-template-columns:1fr;gap:6px}.timeline li{grid-template-columns:1fr;gap:0}.step .body{padding-left:18px}.log-form{grid-template-columns:1fr 90px}.log-form button{grid-column:span 2}.meta .rd span{display:none}}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{-webkit-tap-highlight-color:transparent}a,button,summary,label,input,select,textarea{touch-action:manipulation}@supports (height:100dvh){.shell{min-height:100dvh}.rail{height:100dvh}.rulebook{height:calc(100dvh - 60px)}}.rail{overscroll-behavior:contain}.prerender{max-width:720px;padding:40px 20px}.prerender h1{font-size:2.2rem}.setup{margin-top:10px}.setup summary{cursor:pointer;font:600 .85rem var(--mono);align-items:center;gap:8px;padding:6px 0;display:flex}.setup summary span{color:var(--mute);font-weight:400}.setup[open] summary{margin-bottom:4px}.code-hint{display:none}.rulebook-card{align-items:flex-start;gap:18px;max-width:640px;display:flex}.rulebook-card>svg{color:var(--green);flex:none}@media (pointer:coarse){input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important}input[type=checkbox],.drill-rows input{width:22px;height:22px}.toggle,.seg button,.tabs button,.drill-pick button,.btn,.icon-btn{min-height:44px}.icon-btn{min-width:44px}.quiet,.check-inline,.shelf-jump a,.ref-jump a,.gotchas summary,.setup summary{min-height:40px}.os-pick button{padding:9px 10px}.main-nav a{padding:11px 10px}.cat-index nav button{padding:10px 12px}.step>header{padding:2px 6px 2px 10px}.tick{width:28px;height:28px;position:relative}.tick:after{content:"";position:absolute;inset:-9px}.search input{padding:10px 0}.back,.home a:not(.btn):not(.row-link){align-items:center;min-height:40px;display:inline-flex}.step-title{padding:13px 4px}.na{min-width:44px;min-height:36px;font-size:.78rem}.code figcaption button{min-height:36px;padding:4px 10px}.drill-rows li{padding:7px 8px}.drill-rows label{gap:14px}.opt{padding:12px 14px}.palette li button{padding:12px 10px}}@media (hover:none){.opt:not(:disabled):hover{border-color:var(--line);background:var(--panel)}.tick:hover{border-color:var(--mute)}.ref-scroll tbody tr:hover td{background:0 0}.toggle:hover,.drill-pick button:hover{border-color:var(--line)}}@media (width<=600px),(height<=500px) and (width<=1000px){main{padding-top:18px}.legend,.next-up,.cat-index>.quiet{display:none}.target-head h1{margin:0;font-size:1.7rem}.blurb{margin-left:0}.step .body{padding:4px 12px 14px 14px}.meta .mins{display:none}.rulebook-card{flex-direction:column}.filter{gap:6px 14px}.filter .search{flex-basis:160px}}@media (width<=600px) and (orientation:portrait){.code{display:none}.code-hint{font:.8rem var(--mono);color:var(--mute);align-items:center;gap:8px;margin:6px 0 10px;display:flex}.code~.code-hint{display:none}}@media (width<=920px),(height<=500px) and (width<=1000px){.topbar{padding-top:max(8px, env(safe-area-inset-top));padding-left:max(14px, env(safe-area-inset-left));padding-right:max(14px, env(safe-area-inset-right))}main{padding-left:max(18px, env(safe-area-inset-left));padding-right:max(18px, env(safe-area-inset-right));padding-bottom:max(60px, calc(env(safe-area-inset-bottom) + 40px))}.rail{padding-top:max(18px, env(safe-area-inset-top));padding-bottom:max(14px, env(safe-area-inset-bottom));padding-left:max(14px, env(safe-area-inset-left))}}@media (width>=921px){.rail{padding-top:max(18px, env(safe-area-inset-top));padding-bottom:max(14px, env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){.owl .blink{animation:none}*{transition:none!important}}@media print{.rail,.topbar,.filter,.cat-index,.legend,.tabs,main footer{display:none!important}.shell,.sweep{display:block}body{color:#000;background:#fff}}
