/* rebuild story preview — dark, BMW-ish (M-stripe accents), magazine spreads */
:root{--bg:#0b0d10;--bg2:#12151a;--bg3:#181c23;--fg:#e9ebef;--mut:#9aa1ad;--dim:#6b7280;--line:#232833;
--blue:#1c69d4;--lblue:#5fa8ff;--dblue:#16588e;--red:#e22718;--amber:#e0a84a;--green:#3fb37f;
--serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;--sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:56px}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.62 var(--sans);-webkit-font-smoothing:antialiased}
a{color:var(--lblue);text-decoration:none}a:hover{text-decoration:underline}
code,.pn{font:600 .82em ui-monospace,SFMono-Regular,Menlo,monospace;color:#cfd6e3;letter-spacing:.02em}
.preview-bar{position:relative;z-index:30;display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;align-items:center;justify-content:center;
 padding:.45rem 1rem;background:#2a1f0c;color:#f3d9a8;font-size:.8rem;border-bottom:1px solid #4a3714}
.preview-bar a{color:#ffd88a;text-decoration:underline}.preview-bar label{cursor:pointer;white-space:nowrap}
body.nochecks mark.check{display:none}
/* hero */
.hero{position:relative;min-height:min(86vh,760px);display:flex;align-items:flex-end;overflow:hidden;border-bottom:1px solid var(--line)}
.hero-img{position:absolute;inset:0;background:center 40%/cover no-repeat;filter:saturate(.85) brightness(.55)}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,13,16,.1) 20%,rgba(11,13,16,.75) 65%,var(--bg))}
.hero-in{position:relative;z-index:2;width:100%;max-width:1320px;margin:0 auto;padding:4rem 1.5rem 2.2rem}
.kick{font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;color:var(--mut);display:flex;align-items:center;gap:.7rem}
.kick:before{content:"";width:42px;height:4px;background:linear-gradient(90deg,var(--lblue) 33%,var(--dblue) 33% 66%,var(--red) 66%)}
.hero h1{font:600 clamp(2rem,5.2vw,4.1rem)/1.05 var(--serif);letter-spacing:-.015em;margin:.7rem 0 1rem;max-width:20ch}
.lede{font:400 clamp(1.05rem,1.6vw,1.28rem)/1.55 var(--serif);color:#d6dae2;max-width:62ch;margin:0 0 1.6rem}
.stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden;max-width:980px}
.stats div{background:rgba(18,21,26,.86);padding:.75rem .85rem}.stats b{display:block;font:600 1.15rem var(--sans)}
.stats span{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}
/* chapter nav */
nav.chapters{position:sticky;top:0;z-index:20;background:rgba(11,13,16,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
nav.chapters .hscroll{display:flex;gap:.25rem;padding:.4rem 1rem;max-width:1400px;margin:0 auto}
nav.chapters a{flex:0 0 auto;color:var(--fg);font-size:.82rem;padding:.35rem .7rem;border-radius:6px;white-space:nowrap}
nav.chapters a span{display:block;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
nav.chapters a:hover,nav.chapters a.on{background:var(--bg3);text-decoration:none}nav.chapters a.on span{color:var(--lblue)}
.hscroll{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#333 transparent;-webkit-overflow-scrolling:touch}
/* chapters */
main{max-width:1400px;margin:0 auto;padding:0 1.5rem}
.chapter{padding:4.2rem 0 2.4rem;border-bottom:1px solid var(--line)}
.ch-h .kicker{font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--lblue)}
.ch-h h2{font:600 clamp(1.6rem,3vw,2.4rem)/1.12 var(--serif);margin:.35rem 0 .3rem;letter-spacing:-.01em}
.ch-h .dates{font-size:.8rem;color:var(--dim);letter-spacing:.06em}
.spread{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:2.6rem;align-items:start}
.spread.right{grid-template-columns:minmax(0,6fr) minmax(0,5fr)}.spread.right .prose{order:2}
.prose{max-width:40rem}.prose.wide{max-width:60rem;columns:2 22rem;column-gap:2.4rem}
.prose p{margin:.95rem 0;color:#cfd3db;font:400 1.06rem/1.68 var(--serif)}
.prose p:first-of-type:first-letter{float:left;font:600 3.3em/.82 var(--serif);margin:.08em .1em 0 0;color:var(--fg)}
.ch-h + p:first-letter{float:left}
.prose strong{color:#fff;font-weight:600}
.callout{border-left:3px solid var(--blue);background:var(--bg2);padding:.8rem 1rem;margin:1.2rem 0;border-radius:0 8px 8px 0;break-inside:avoid}
.callout .label{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--lblue)}
.callout p{margin:.3rem 0 0!important;font:400 .98rem/1.55 var(--sans)!important;color:#d5d9e0!important}
.callout p:first-letter{float:none!important;font:inherit!important;margin:0!important}
mark.check{background:rgba(224,168,74,.14);color:#f2c779;border:1px dashed rgba(224,168,74,.55);border-radius:5px;padding:.05em .35em;font:500 .86em/1.5 var(--sans)}
mark.check:before{content:"⚑ "}
.notes{margin:1.2rem 0 0;padding:.8rem 0 0 1.2rem;border-top:1px solid var(--line);font-size:.8rem;color:var(--mut)}
.notes li{margin:.3rem 0}
/* mosaic */
.mosaic{display:grid;gap:.6rem;grid-template-columns:repeat(2,1fr);position:sticky;top:70px}
.mosaic.n1{grid-template-columns:1fr}.mosaic.n3 .feat:first-child{grid-column:1/-1;aspect-ratio:16/9}
.tile{position:relative;display:block;overflow:hidden;border-radius:8px;background:var(--bg3);aspect-ratio:4/3;color:inherit}
.tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease,filter .3s}
.tile:hover img{transform:scale(1.035);filter:brightness(1.08)}
.tile .tcap{position:absolute;left:0;right:0;bottom:0;padding:1.6rem .6rem .45rem;font-size:.74rem;line-height:1.35;color:#e6e8ec;
 background:linear-gradient(transparent,rgba(0,0,0,.82));display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.tile .tcap time{color:var(--lblue);font-weight:600;margin-right:.25rem}
.tile:hover{text-decoration:none}
.tile.vid .play{position:absolute;left:50%;top:44%;width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;background:rgba(0,0,0,.55);border:2px solid #fff}
.tile.vid .play:after{content:"";position:absolute;left:21px;top:15px;border-style:solid;border-width:11px 0 11px 17px;border-color:transparent transparent transparent #fff}
.noposter{display:block;width:100%;height:100%;background:repeating-linear-gradient(45deg,#151920 0 10px,#1a1f27 10px 20px)}
.strip-h{margin:2rem 0 .6rem;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);display:flex;justify-content:space-between}
.strip{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(180px,19vw,250px);gap:.55rem;overflow-x:auto;padding-bottom:.7rem;
 scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#333 transparent}
.strip .tile{scroll-snap-align:start}
.strip.mini{grid-auto-columns:120px;margin-top:.8rem}
/* pop-ups */
.pop{position:relative;cursor:help;border-bottom:1px dotted var(--lblue);color:inherit;outline:none}
.pop.pnpop{border-bottom-color:var(--amber)}.pop.fnpop{border:0}
sup.fn{color:var(--lblue);font:700 .7em var(--sans);padding:0 .15em;cursor:pointer}
.pop-body{display:none;position:absolute;z-index:40;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);width:min(320px,80vw);
 background:#1b2029;border:1px solid #2f3746;box-shadow:0 12px 32px rgba(0,0,0,.55);border-radius:9px;padding:.65rem .8rem;
 font:400 .84rem/1.5 var(--sans);color:#dfe3ea;text-align:left;white-space:normal;cursor:auto;letter-spacing:0;text-transform:none}
.pop-body b{display:block;color:#fff;font-size:.78rem;letter-spacing:.06em;margin-bottom:.2rem}
.pop:hover>.pop-body,.pop:focus>.pop-body,.pop.open>.pop-body{display:block}
.pop.edge-l>.pop-body{left:0;transform:none}.pop.edge-r>.pop-body{left:auto;right:0;transform:none}
@media (hover:none){.pop:hover>.pop-body{display:none}.pop.open>.pop-body{display:block;position:fixed;left:.75rem;right:.75rem;bottom:.75rem;top:auto;transform:none;width:auto}}
/* listing */
.listing{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:1.2rem;margin-top:2rem}
.doc{min-width:0;overflow-wrap:anywhere;background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:1rem 1.1rem}
.doc-h{font:600 1rem var(--serif);margin-bottom:.5rem}.doc-h span{font:400 .7rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin-left:.5rem}
.doc table{width:100%;border-collapse:collapse;font-size:.84rem}.doc th{width:34%;text-align:left;color:var(--mut);font-weight:500;padding:.32rem .5rem .32rem 0;vertical-align:top}
.doc td{padding:.32rem 0;border-bottom:1px solid var(--line)}.doc tr:last-child td{border:0}
.credit{font-size:.75rem;color:var(--dim);margin:.6rem 0 0}
/* cooling */
.cooling{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:2rem;margin-top:1.4rem;align-items:start}
.draft-tag{display:inline-block;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--amber);border:1px solid var(--amber);border-radius:4px;padding:.1rem .45rem}
.cool-text p{color:#cfd3db}.loops{display:grid;gap:.8rem}
.loop{border-radius:10px;padding:.8rem 1rem;background:var(--bg2);border:1px solid var(--line)}
.loop h4{margin:0 0 .3rem;font:600 1rem var(--serif)}.loop.hot{border-top:3px solid var(--red)}.loop.cool{border-top:3px solid var(--blue)}
.loop p{margin:.4rem 0;font-size:.92rem}
.cool-figs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}
.cfig{margin:0}.cfig .tile{aspect-ratio:1/1;background:#fff}.cfig .tile img{object-fit:contain}
.cfig figcaption{font-size:.78rem;color:var(--mut);margin-top:.4rem}.cfig .code{font:600 .72rem ui-monospace,monospace;color:var(--amber);margin-right:.3rem}
.keys{list-style:none;padding:0;margin:.4rem 0 0}.keys li{margin:.25rem 0;font-size:.76rem}.keys b{color:var(--fg);margin-right:.3rem}
/* timeline */
.wh{font:600 1.1rem var(--serif);margin:2rem 0 .6rem}.wh small{font:400 .72rem var(--sans);color:var(--dim);letter-spacing:.08em;margin-left:.6rem}
.tl{position:relative;padding:0;height:430px;overflow:hidden;background:linear-gradient(90deg,var(--line) 1px,transparent 1px) 0 0/210px 100%}
.lane{position:absolute;left:0;right:0;border-top:1px solid var(--line)}.lname{position:sticky;left:0;z-index:3;display:inline-block;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);background:var(--bg);padding:.1rem .4rem}
.lane-ms{top:0;height:290px}.lane-ph{top:290px;height:72px}.lane-loc{top:362px;height:40px}
.ms{position:absolute;top:24px;width:172px}.ms.r1{top:78px}.ms.r2{top:132px}.ms.r3{top:186px}.ms.r4{top:240px}
.ms .dot{position:absolute;left:-5px;top:3px;width:10px;height:10px;border-radius:50%;background:var(--lblue);box-shadow:0 0 0 3px rgba(95,168,255,.18)}
.ms:before{content:"";position:absolute;left:0;top:13px;height:400px;border-left:1px dashed rgba(255,255,255,.12)}
.ms-auction .dot{background:var(--mut)}.ms-money .dot{background:var(--green)}.ms-dmv .dot{background:var(--amber)}.ms-data .dot{background:#a78bfa}
.mlab{display:block;margin-left:10px;font-size:.73rem;line-height:1.3;color:#cfd3db;background:rgba(11,13,16,.85);padding:0 .2rem}
.mlab time{color:#fff;font-weight:600;margin-right:.25rem}.mlab em{display:block;font-style:normal;color:var(--dim);font-size:.64rem}
.mlab mark.check{font-size:.66rem}
.pbar{position:absolute;bottom:6px;width:22px;background:linear-gradient(var(--lblue),var(--dblue));border-radius:3px 3px 0 0;display:flex;justify-content:center}
.pbar span{font-size:.6rem;color:#fff;margin-top:-1.1rem}.pbar:hover{filter:brightness(1.25);text-decoration:none}
.loc{position:absolute;top:12px;height:22px;border-radius:11px;background:var(--bg3);border:1px solid #2c3442;font-size:.7rem;line-height:20px;padding:0 .7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--mut)}
.axis{position:absolute;left:0;right:0;bottom:0;height:20px}.tick{position:absolute;bottom:2px;font-size:.62rem;color:var(--dim);transform:translateX(-2px)}.tick.mon{color:var(--fg);font-weight:600}
.ov{position:relative;height:70px;border-bottom:1px solid var(--line)}
.obar{position:absolute;bottom:20px;width:7px;background:var(--dblue);border-radius:2px 2px 0 0}
.oms{position:absolute;top:2px;width:8px;height:8px;border-radius:50%;background:var(--lblue);margin-left:-1px}
.oms.ms-auction{background:var(--mut)}.oms.ms-money{background:var(--green)}.oms.ms-dmv{background:var(--amber)}.oms.ms-data{background:#a78bfa}
.srcnote{font-size:.78rem;color:var(--dim);max-width:70rem}
/* parts swimlane */
.legend{display:flex;flex-wrap:wrap;gap:.3rem .8rem;align-items:center;font-size:.74rem;color:var(--mut);margin-bottom:.5rem}
.legend .seg,.legend .mk{position:relative;display:inline-block;left:auto!important;top:auto}
.legend .seg{width:24px;height:6px}
.sw{position:relative;padding-bottom:.4rem}
.swaxis{position:relative;height:20px;border-bottom:1px solid var(--line)}
.prow{display:flex;align-items:center;height:30px;border-bottom:1px solid rgba(255,255,255,.04)}.prow:hover{background:var(--bg2)}
.plab{position:sticky;left:0;z-index:2;flex:0 0 260px;width:260px;padding:0 .6rem 0 0;font-size:.74rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:var(--bg)}
.prow:hover .plab{background:var(--bg2)}
.plab small{color:var(--dim);margin-left:.4rem}
.flag{font:600 .58rem var(--sans);letter-spacing:.08em;text-transform:uppercase;border-radius:3px;padding:.05rem .3rem;margin-left:.35rem}
.flag.dup{background:rgba(224,168,74,.18);color:var(--amber)}.flag.ret{background:rgba(226,39,24,.18);color:#ff8a7f}
.ptrack{position:relative;flex:1 1 auto;height:100%}
.seg{position:absolute;top:12px;height:6px;border-radius:3px}.s-transit{background:#3b4252}.s-onshelf{background:linear-gradient(90deg,#1c69d4,#1c69d455)}
.mk{position:absolute;top:9px;width:12px;height:12px;margin-left:-6px;border-radius:50%;border:2px solid var(--bg)}
.m-o{background:#9aa1ad}.m-r{background:var(--lblue)}.m-i{background:var(--green)}.m-i.open{background:transparent;border:2px dashed var(--green)}
.undated{position:absolute;top:7px;left:4px;font-size:.68rem;color:var(--dim);font-style:italic}
.pfilter{display:flex;flex-wrap:wrap;gap:.35rem;margin:1rem 0 .6rem}
.pfilter button{background:var(--bg2);color:var(--fg);border:1px solid var(--line);border-radius:999px;padding:.3rem .75rem;font:500 .78rem var(--sans);cursor:pointer}
.pfilter button span{color:var(--dim);margin-left:.2rem}.pfilter button.on{background:var(--blue);border-color:var(--blue)}.pfilter button.on span{color:#dbe8ff}
.tscroll{overflow-x:auto;max-height:560px;overflow-y:auto;border:1px solid var(--line);border-radius:10px}
.ptable{width:100%;border-collapse:collapse;font-size:.8rem;min-width:860px}
.ptable th{position:sticky;top:0;background:var(--bg3);text-align:left;font-weight:500;color:var(--mut);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;padding:.5rem}
.ptable td{padding:.42rem .5rem;border-top:1px solid var(--line);vertical-align:top}.ptable .num{text-align:right;white-space:nowrap}
.ptable .when{white-space:nowrap;color:var(--mut);font-size:.74rem}.ptable .src{color:var(--dim);font-size:.72rem}
.pnote{color:var(--dim);font-size:.72rem;margin-top:.15rem}
.st{display:inline-block;font-size:.66rem;font-weight:600;letter-spacing:.04em;border-radius:4px;padding:.1rem .4rem;white-space:nowrap}
.st-installed{background:rgba(63,179,127,.15);color:#6fd6a3}.st-duplicate{background:rgba(224,168,74,.16);color:var(--amber)}
.st-returned{background:rgba(226,39,24,.16);color:#ff8a7f}.st-tool{background:rgba(154,161,173,.14);color:var(--mut)}.st-cart{background:#222;color:var(--dim)}
.checklist{columns:2 26rem;column-gap:2.5rem;font-size:.9rem;color:#e7d3ac}.checklist li{break-inside:avoid;margin:0 0 .7rem}.checklist b{color:var(--fg)}
body.nochecks #checks{display:none}
.foot{max-width:1400px;margin:0 auto;padding:2rem 1.5rem 4rem;font-size:.8rem;color:var(--dim)}
/* lightbox */
.lb{position:fixed;inset:0;z-index:100;background:rgba(5,6,8,.985);display:flex;align-items:center;justify-content:center}
.lb[hidden]{display:none}
.lb-stage{max-width:94vw;max-height:84vh;display:flex;align-items:center;justify-content:center}
.lb-stage img,.lb-stage video{max-width:94vw;max-height:80vh;border-radius:6px;box-shadow:0 10px 50px rgba(0,0,0,.6);background:#000}
.lb-top{position:fixed;top:0;left:0;right:0;display:flex;gap:1rem;align-items:center;justify-content:flex-end;padding:.6rem 1rem;font-size:.8rem;color:var(--mut)}
.lb-count{margin-right:auto}.lb-orig{color:var(--lblue)}
.lb-x,.lb-prev,.lb-next{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:#fff;border-radius:50%;width:42px;height:42px;font-size:1.5rem;line-height:1;cursor:pointer}
.lb-prev,.lb-next{position:fixed;top:50%;margin-top:-21px}.lb-prev{left:.8rem}.lb-next{right:.8rem}
.lb-cap{position:fixed;left:0;right:0;bottom:0;padding:.8rem 1.4rem 1.1rem;text-align:center;font-size:.9rem;color:#d8dce3;background:linear-gradient(transparent,rgba(0,0,0,.85))}
.lb-cap time{color:var(--lblue);font-weight:600;margin-right:.4rem}
body.lb-on{overflow:hidden}
/* responsive */
@media (max-width:1100px){.cool-figs{grid-template-columns:1fr 1fr}.stats{grid-template-columns:repeat(3,1fr)}}
@media (max-width:860px){
 .spread,.spread.right{grid-template-columns:1fr;gap:1.2rem}.spread.right .prose{order:0}
 .mosaic{position:static;grid-template-columns:repeat(3,1fr)}.mosaic.n3 .feat:first-child{grid-column:auto;aspect-ratio:4/3}
 .mosaic .tcap{display:none}
 .listing,.cooling{grid-template-columns:minmax(0,1fr)}.prose.wide{columns:1}
 .chapter{padding:2.8rem 0 1.6rem}main{padding:0 1rem}.hero-in{padding:3rem 1rem 1.6rem}
}
@media (max-width:560px){nav.chapters a{font-size:.76rem;padding:.25rem .55rem}nav.chapters a span{display:none}.stats{grid-template-columns:repeat(2,1fr)}.cool-figs{grid-template-columns:minmax(0,1fr)}.strip{grid-auto-columns:62vw}
 .plab{flex-basis:170px;width:170px}.prose p{font-size:1.02rem}.lb-prev,.lb-next{top:auto;bottom:4.5rem}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.tile img{transition:none}}
mark.check.mini{font-size:.7em;padding:0 .3em}mark.check.mini:before{content:"⚑"}

/* checklist (Where it stands) */
ul.todo{list-style:none;margin:1.2em 0;padding:0;display:grid;gap:.5em}
ul.todo li{display:grid;grid-template-columns:1.6em 3.6em minmax(0,1fr);align-items:baseline;gap:.4em;padding:.55em .8em;border:1px solid #26262c;border-radius:8px;background:#121216;line-height:1.45}
ul.todo .box{display:inline-flex;justify-content:center;align-items:center;width:1.25em;height:1.25em;border:2px solid #4a4a55;border-radius:4px;font-size:.85em;line-height:1;transform:translateY(.15em)}
ul.todo li.done .box{background:#1c69d4;border-color:#1c69d4;color:#fff}
ul.todo .st{font:600 .68rem/1 system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#8b8b93}
ul.todo li.done .st{color:#6fa8ff}
ul.todo li.next .st{color:#e0b062}

/* numbered steps (First-start prep) */
h3.sub{font:600 1.02rem/1.3 system-ui,sans-serif;margin:1.6em 0 .5em;color:var(--fg)}
ol.steps{margin:.4em 0 1em;padding-left:1.5em}
ol.steps li{margin:.35em 0;line-height:1.5}
ol.steps li::marker{color:#6fa8ff;font-weight:600}
.notes a{word-break:break-all}

.st-ordered,.st-shipped{background:rgba(74,144,226,.16);color:#8fbaf0}
