/* BBG Owner's Manual — shared styles */
html{-webkit-text-size-adjust:100%}
:root,:root[data-theme]{color-scheme:light only}
:root{color-scheme:light;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
body{margin:0}
img{max-width:100%}
[hidden]{display:none!important}
/* Layout: a case file. Sticky tab strip of "files", a reading column with evidence notes in the margin, and one working case board. */
:root{
  --paper:#F1F2EE; --card:#FFFFFF; --ink:#15181C; --muted:#585E66; --line:#D3D6CF;
  --accent:#1E4ED0; --accent-ink:#FFFFFF; --mark:#F4D54A; --mark-ink:#15181C; --pin:#B9382B;
  --display:"Bricolage Grotesque", "Helvetica Neue", Arial, sans-serif;
  --body:"Source Serif 4", Georgia, "Times New Roman", serif;
  --mono:"IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;
}



*{box-sizing:border-box}
body{background:var(--paper);color:var(--ink);font-family:var(--body);font-size:1.075rem;line-height:1.65;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--paper)}
a{color:var(--accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}
.wrap{max-width:72rem;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}

/* header + tabs */
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:9;background:var(--paper);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:1rem;padding-block:.8rem .2rem}
.brand{font-family:var(--display);font-weight:800;font-size:1.15rem;letter-spacing:-.01em;text-decoration:none;color:var(--ink);display:flex;align-items:center;gap:.55rem}
.brand .seal{width:1.6rem;height:1.6rem;border-radius:50%;border:2px solid var(--ink);display:grid;place-items:center;font-family:var(--mono);font-size:.62rem;font-weight:500}
.free{margin-left:auto;font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
nav.tabs{display:flex;gap:.25rem;overflow-x:auto;scrollbar-width:none;padding-block:.35rem 0}
nav.tabs::-webkit-scrollbar{display:none}
nav.tabs a{flex:none;font-family:var(--display);font-weight:500;font-size:.95rem;text-decoration:none;color:var(--muted);padding:.45rem .8rem .55rem;border:1px solid transparent;border-bottom:none;border-radius:.5rem .5rem 0 0;white-space:nowrap}
nav.tabs a:hover{color:var(--ink)}
nav.tabs a[aria-current="page"]{color:var(--ink);background:var(--card);border-color:var(--line);position:relative;top:1px}
nav.tabs a .n{font-family:var(--mono);font-size:.7rem;margin-right:.35rem;color:var(--pin)}

main{padding-block:2.5rem 4rem}
section.view{display:grid;gap:2.5rem}

/* type */
.label{font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.label b{color:var(--pin);font-weight:500}
h1,h2,h3{font-family:var(--display);line-height:1.08;text-wrap:balance;margin:0;letter-spacing:-.02em}
h1{font-size:clamp(2.3rem,6vw,4.4rem);font-weight:800;max-width:16ch}
h2{font-size:clamp(1.6rem,3.4vw,2.3rem);font-weight:700}
h3{font-size:1.25rem;font-weight:700;letter-spacing:-.01em}
p{margin:0}
.lede{font-size:1.25rem;line-height:1.55;max-width:38rem;color:var(--ink)}
.prose{display:grid;gap:1rem;max-width:40rem}
.prose ul,.prose ol{margin:0;padding-left:1.2rem;display:grid;gap:.45rem}
mark{background:var(--mark);color:var(--mark-ink);padding:0 .15em;border-radius:2px}

/* article with margin notes */
.article{display:grid;grid-template-columns:minmax(0,40rem) minmax(0,16rem);gap:1.5rem 3.5rem;align-items:start}
.article > *{min-width:0}
.note{font-family:var(--mono);font-size:.82rem;line-height:1.55;color:var(--muted);border-left:2px solid var(--pin);padding-left:.9rem;display:grid;gap:.4rem}
.note strong{color:var(--ink);font-weight:500;letter-spacing:.06em;text-transform:uppercase;font-size:.72rem}
@media (max-width:820px){.article{grid-template-columns:minmax(0,1fr)}}

/* hero */
.hero{display:grid;gap:1.4rem;padding-bottom:2rem;border-bottom:1px dashed var(--line)}
.stamp{display:inline-block;font-family:var(--mono);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--pin);border:2px solid var(--pin);padding:.2rem .6rem;transform:rotate(-2deg);width:max-content;max-width:100%}

/* method steps (a real sequence) */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.steps li{background:var(--card);padding:1.1rem .95rem 1.2rem;display:grid;gap:.4rem;align-content:start}
.steps .k{font-family:var(--display);font-weight:800;font-size:2.2rem;line-height:1;color:var(--ink);text-decoration:none}
.steps .k:hover{color:var(--accent)}
.steps h3{font-size:1.02rem}
.steps p{font-size:.9rem;color:var(--muted);line-height:1.45}
@media (max-width:1000px){.steps{grid-template-columns:minmax(0,1fr)}.steps li{grid-template-columns:2.6rem minmax(0,1fr);column-gap:.8rem}.steps .k{grid-row:span 2}}

/* case classes */
.classes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
@media (max-width:860px){.classes{grid-template-columns:minmax(0,1fr)}}
.cls{background:var(--card);border:1px solid var(--line);border-radius:.4rem;padding:1.3rem;display:grid;gap:.7rem;align-content:start}
.cls-head{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}
.cls-n{font-family:var(--display);font-weight:800;font-size:1.5rem;letter-spacing:-.02em}
.cls p{font-size:.97rem;line-height:1.5}
.cls-time{font-family:var(--mono);font-size:.8rem;color:var(--muted)}
.letters{display:flex;gap:.3rem;flex-wrap:wrap}
.letters span{font-family:var(--mono);font-size:.8rem;width:1.75rem;height:1.75rem;display:grid;place-items:center;border:1px dashed var(--line);border-radius:.25rem;color:var(--muted)}
.letters span.on{border:1px solid var(--ink);background:var(--ink);color:var(--paper)}
.letters span.miss{border:1px solid var(--pin);color:var(--pin)}

/* seven step deep dive */
.dsteps{display:grid;gap:0;border-top:2px solid var(--ink)}
.dstep{display:grid;grid-template-columns:6rem minmax(0,1fr);gap:1.5rem;padding-block:1.8rem;border-bottom:1px solid var(--line);scroll-margin-top:9rem}
.dstep .big{font-family:var(--display);font-weight:800;font-size:5rem;line-height:.85;color:var(--accent)}
.dstep .body{display:grid;gap:.9rem;max-width:46rem;min-width:0}
.spec{margin:0;display:grid;grid-template-columns:10rem minmax(0,1fr);gap:.5rem 1rem;font-size:.96rem;line-height:1.5}
.spec dt{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-top:.2rem}
.spec dd{margin:0}
@media (max-width:640px){.dstep{grid-template-columns:minmax(0,1fr);gap:.5rem}.dstep .big{font-size:3.2rem}.spec{grid-template-columns:minmax(0,1fr)}.spec dd{margin-bottom:.4rem}}

/* decision quality grid */
.grid-wrap{overflow-x:auto}
.qgrid{display:grid;grid-template-columns:8rem repeat(2,minmax(11rem,1fr));gap:.5rem;max-width:48rem;min-width:30rem}
.qgrid .ax{font-family:var(--mono);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);align-self:end;padding:.2rem}
.qgrid .ax.side{align-self:center}
.q{border:1px solid var(--line);border-radius:.4rem;padding:1rem;display:grid;gap:.3rem;background:var(--card)}
.q strong{font-family:var(--display);font-size:1.15rem}
.q span{font-size:.92rem;color:var(--muted);line-height:1.45}
.q.good{border-color:var(--accent)} .q.good strong{color:var(--accent)}
.q.bad{border-color:var(--pin)} .q.bad strong{color:var(--pin)}

/* specimen dossier */
.specimen{background:var(--card);border:1px solid var(--line);border-top:6px solid var(--ink);border-radius:.4rem;padding:1.5rem;display:grid;gap:1.2rem;max-width:56rem}
.sp-head{display:flex;justify-content:space-between;gap:1rem;align-items:start;flex-wrap:wrap}
.sp-head > div{display:grid;gap:.4rem;min-width:0;flex:1 1 20rem}
.sp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.sp-grid > div{background:var(--card);padding:.9rem 1rem;display:grid;gap:.3rem;align-content:start}
.sp-grid .wide{grid-column:1/-1}
.sp-grid p{font-size:.94rem;line-height:1.5}
.sp-k{font-family:var(--mono);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--pin)}
@media (max-width:640px){.sp-grid{grid-template-columns:minmax(0,1fr)}}
.step-h{display:flex;align-items:center;gap:.7rem;padding-top:.4rem;border-top:1px dashed var(--line)}
.step-h .lt{font-family:var(--display);font-weight:800;font-size:1.6rem;line-height:1;color:var(--accent);width:1.6rem}
.step-h h4{margin:0;font-family:var(--display);font-size:1.05rem}
.step-h .opt{margin-left:auto;font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.step-block{display:grid;gap:1rem}
.step-block.optional{opacity:.62}
.step-block.optional:focus-within{opacity:1}

/* cards for cases */
.cases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
@media (max-width:760px){.cases{grid-template-columns:minmax(0,1fr)}}
.case{background:var(--card);border:1px solid var(--line);border-radius:.4rem;padding:1.4rem 1.4rem 1.5rem;display:grid;gap:.8rem;align-content:start}
.case .meta{display:flex;justify-content:space-between;gap:.75rem;flex-wrap:wrap}
.case dl{margin:0;display:grid;gap:.55rem}
.case dt{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.case dd{margin:0;font-size:.98rem;line-height:1.5}
.tag{font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;padding:.15rem .5rem;border-radius:99px;border:1px solid currentColor}
.tag.oneway{color:var(--pin)} .tag.twoway{color:var(--accent)}

/* contrast table */
.compare{overflow-x:auto;border:1px solid var(--line);border-radius:.4rem;background:var(--card)}
.compare table{border-collapse:collapse;width:100%;min-width:34rem;font-size:.97rem}
.compare th,.compare td{text-align:left;padding:.8rem 1rem;border-bottom:1px solid var(--line);vertical-align:top}
.compare th{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:500}
.compare tr:last-child td{border-bottom:none}

/* question list */
.qs{list-style:none;padding:0;margin:0;display:grid;gap:0;border-top:1px solid var(--line);max-width:44rem}
.qs li{padding:.85rem 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:2.2rem minmax(0,1fr);gap:.5rem}
.qs li span{font-family:var(--mono);font-size:.8rem;color:var(--pin);padding-top:.2rem}

/* case board */
.board{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:1.5rem;align-items:start}
@media (max-width:900px){.board{grid-template-columns:minmax(0,1fr)}}
.form{background:var(--card);border:1px solid var(--line);border-radius:.4rem;padding:1.4rem;display:grid;gap:1.25rem}
.field{display:grid;gap:.35rem}
.field label,.field legend{font-family:var(--display);font-weight:700;font-size:1rem}
.field .hint{font-size:.88rem;color:var(--muted);line-height:1.45}
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
@media (max-width:620px){.two,.three{grid-template-columns:minmax(0,1fr)}}
textarea,input[type=text],select{width:100%;font:inherit;font-size:.97rem;line-height:1.45;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:.3rem;padding:.6rem .7rem;resize:vertical}
textarea:focus,input:focus{outline:2px solid var(--accent);outline-offset:0;border-color:transparent}
fieldset{border:none;margin:0;padding:0}
.radios{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.35rem}
.radios label{font-family:var(--body);font-weight:400;font-size:.95rem;display:flex;gap:.45rem;align-items:center;border:1px solid var(--line);border-radius:99px;padding:.35rem .85rem;cursor:pointer;background:var(--paper)}
.radios input{accent-color:var(--accent)}
.actions{display:flex;flex-wrap:wrap;gap:.6rem}
button{font-family:var(--display);font-weight:700;font-size:.95rem;border-radius:.35rem;padding:.6rem 1rem;cursor:pointer;border:1px solid var(--ink);background:transparent;color:var(--ink)}
button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
button:hover{filter:brightness(1.08)}
.report{position:sticky;top:calc(env(safe-area-inset-top,0px) + 8.5rem);background:var(--card);border:1px solid var(--line);border-top:4px solid var(--ink);border-radius:.4rem;padding:1.4rem;display:grid;gap:1rem}
@media (max-width:900px){.report{position:static}}
.report h3{font-size:1.15rem}
.report .row{display:grid;gap:.2rem;padding-bottom:.8rem;border-bottom:1px dashed var(--line)}
.report .row:last-of-type{border-bottom:none}
.report .row p{font-size:.95rem;white-space:pre-wrap;overflow-wrap:anywhere}
.flag{font-family:var(--mono);font-size:.8rem;line-height:1.5;padding:.7rem .8rem;border-radius:.3rem;background:var(--paper);border:1px solid var(--line)}
.flag.warn{border-color:var(--pin);color:var(--pin)}
.status{font-family:var(--mono);font-size:.8rem;color:var(--muted);min-height:1.2em}
.example-note{font-family:var(--mono);font-size:.78rem;color:var(--muted)}

/* prompts */
.prompts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
@media (max-width:760px){.prompts{grid-template-columns:minmax(0,1fr)}}
.prompt{border:1px solid var(--line);border-radius:.4rem;background:var(--card);padding:1.2rem;display:grid;gap:.75rem;align-content:start}
.prompt pre{margin:0;font-family:var(--mono);font-size:.8rem;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--paper);border:1px solid var(--line);border-radius:.3rem;padding:.8rem;max-height:14rem;overflow:auto}

.next{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:1.5rem}
.next a{font-family:var(--display);font-weight:700;text-decoration:none}
.download{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;justify-content:space-between;background:var(--ink);color:var(--paper);border-radius:.4rem;padding:1.3rem 1.5rem;max-width:56rem}
.download > div{display:grid;gap:.25rem;min-width:0;flex:1 1 18rem}
.download h3{color:var(--paper);font-size:1.2rem}
.download p{font-size:.95rem;opacity:.85}
.download .label{color:var(--paper);opacity:.7}
.dl-btn{font-family:var(--display);font-weight:700;font-size:.98rem;text-decoration:none;background:var(--paper);color:var(--ink);border-radius:.35rem;padding:.7rem 1.1rem;white-space:nowrap}
.dl-btn:hover{background:var(--mark);color:var(--mark-ink)}
.dl-inline{font-family:var(--display);font-weight:700}
.drift{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.5rem;position:relative}
.drift li{border-top:3px solid var(--line);padding-top:.7rem;display:grid;gap:.3rem;align-content:start}
.drift li:nth-child(3),.drift li:nth-child(4){border-top-color:var(--mark)}
.drift li:nth-child(5){border-top-color:var(--pin)}
.drift li.crit{border-top-color:var(--pin);border-top-width:6px}
.drift .when{font-family:var(--mono);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.drift li.crit .when{color:var(--pin)}
.drift p{font-size:.93rem;line-height:1.45}
@media (max-width:900px){.drift{grid-template-columns:minmax(0,1fr)}.drift li{border-top:none;border-left:3px solid var(--line);padding:0 0 0 .9rem;}.drift li:nth-child(3),.drift li:nth-child(4){border-left-color:var(--mark)}.drift li:nth-child(5),.drift li.crit{border-left-color:var(--pin)}.drift li.crit{border-left-width:6px}}
.numbers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.numbers > div{background:var(--card);padding:1.1rem 1.2rem;display:grid;gap:.3rem;align-content:start}
.numbers h4{margin:0;font-family:var(--display);font-size:1.1rem}
.numbers p{font-size:.94rem;color:var(--muted);line-height:1.45}
@media (max-width:820px){.numbers{grid-template-columns:minmax(0,1fr)}}
.checklist{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid var(--line)}
.checklist li{border-bottom:1px solid var(--line)}
.checklist label{display:flex;gap:.7rem;align-items:flex-start;padding:.6rem 0;font-size:.97rem;line-height:1.45;cursor:pointer}
.checklist input{accent-color:var(--accent);width:1.05rem;height:1.05rem;margin-top:.2rem;flex:none}
.checklist input:checked + *,.checklist label:has(input:checked){color:var(--muted)}
.checklist.small label{font-size:.92rem;padding:.45rem 0}
.kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:.3rem;overflow:hidden}
.kpis > div{background:var(--card);padding:.75rem .8rem;display:grid;gap:.2rem;min-width:0}
.kpis .label{font-size:.66rem}
.kpis strong{font-family:var(--display);font-size:1.3rem;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.kpis strong.neg{color:var(--pin)} .kpis strong.pos{color:var(--accent)}
@media (max-width:420px){.kpis{grid-template-columns:minmax(0,1fr)}}
.qs li div strong{font-family:var(--display)}
footer{border-top:1px solid var(--line);padding-block:2rem 3rem;color:var(--muted);font-size:.9rem}
footer .wrap{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
@media (prefers-reduced-motion:no-preference){ section.view{animation:in .35s ease both} @keyframes in{from{transform:translateY(6px)}to{transform:none}} }

/* multi-page additions */
.bar{flex-wrap:wrap;row-gap:.4rem}
.groups{display:flex;gap:.15rem;overflow-x:auto;scrollbar-width:none;margin-left:auto;min-width:0}
.groups::-webkit-scrollbar{display:none}
.groups a{flex:none;font-family:var(--mono);font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--muted);padding:.35rem .6rem;border-radius:99px;white-space:nowrap}
.groups a:hover{color:var(--ink)}
.groups a[aria-current]{background:var(--ink);color:var(--paper)}
@media (max-width:860px){.groups{margin-left:0;width:100%;order:2}}
header.site .wrap > .bar:last-child{padding-bottom:.7rem}
h1.page{font-size:clamp(2rem,4.8vw,3.3rem);font-weight:800;max-width:22ch}
.prose h2{margin-top:.8rem}
.disclaim{font-family:var(--mono);font-size:.78rem;color:var(--muted);border-top:1px dashed var(--line);padding-top:1rem}
.steps.steps5{grid-template-columns:repeat(5,minmax(0,1fr))}
.steps.steps5 .k{font-size:1.8rem;color:var(--pin)}
@media (max-width:1000px){.steps.steps5{grid-template-columns:minmax(0,1fr)}}
.inside{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
@media (max-width:860px){.inside{grid-template-columns:minmax(0,1fr)}}
.inside > div{background:var(--card);border:1px solid var(--line);border-radius:.4rem;padding:1.2rem;display:grid;gap:.6rem;align-content:start}
.inside ul{list-style:none;margin:0;padding:0;display:grid}
.inside li{display:grid;gap:.1rem;padding:.55rem 0;border-top:1px solid var(--line)}
.inside li a{font-family:var(--display);font-weight:700;text-decoration:none}
.inside li span{font-size:.9rem;color:var(--muted)}
.contact{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;background:var(--card);border:1px solid var(--line);border-radius:.4rem;padding:1rem 1.2rem}
.contact .addr{font-family:var(--mono);font-size:1rem;user-select:all;overflow-wrap:anywhere;min-width:0}
.scores{display:grid;gap:.7rem}
.scores label{display:grid;grid-template-columns:minmax(0,1fr) 7rem 1.5rem;align-items:center;gap:.75rem;font-size:.95rem;line-height:1.4}
.scores input[type=range]{width:100%;accent-color:var(--accent)}
.scores output{font-family:var(--mono);font-weight:500;text-align:right}
@media (max-width:520px){.scores label{grid-template-columns:minmax(0,1fr) 1.5rem}.scores input[type=range]{grid-column:1/-1;grid-row:2}}
.dl-list{display:grid;gap:1.25rem;max-width:56rem}
.dl-card{display:grid;grid-template-columns:9rem minmax(0,1fr);gap:1.5rem;background:var(--card);border:1px solid var(--line);border-radius:.4rem;padding:1.3rem;align-items:start}
.dl-thumb{aspect-ratio:8.5/11;max-width:100%;border:1px solid var(--line);border-top:6px solid var(--ink);background:var(--paper);display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:.2rem;padding:.6rem}
.dl-thumb span{font-family:var(--display);font-weight:800;font-size:1.1rem;color:var(--accent);min-width:1.3rem;text-align:center}
.dl-body{display:grid;gap:.6rem;justify-items:start;min-width:0}
.dl-btn.dark{background:var(--ink);color:var(--paper)}
.dl-btn.dark:hover{background:var(--accent);color:var(--accent-ink)}
@media (max-width:560px){.dl-card{grid-template-columns:minmax(0,1fr)}.dl-thumb{width:7rem}}
.when-tag{display:inline-block;vertical-align:middle;margin-left:.5rem;font-family:var(--mono);font-size:.7rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--pin);border:1px solid var(--pin);border-radius:99px;padding:.1rem .5rem}
h4.sub{margin:.4rem 0 0;font-family:var(--display);font-size:1.02rem}
.role-list{display:grid;gap:.6rem}
.role-list:empty{display:none}
.role{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.4rem 1rem;align-items:start;background:var(--card);border:1px solid var(--line);border-left:5px solid var(--line);border-radius:.4rem;padding:.9rem 1rem}
.role.keep{border-left-color:var(--accent)} .role.redesign{border-left-color:var(--mark)} .role.cut{border-left-color:var(--pin)}
.role h4{margin:0;font-family:var(--display);font-size:1.02rem;overflow-wrap:anywhere}
.role p{font-size:.93rem;color:var(--muted);line-height:1.45;grid-column:1/-1}
.role .rtag{font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;padding:.15rem .55rem;border-radius:99px;border:1px solid currentColor;white-space:nowrap}
.role.keep .rtag{color:var(--accent)} .role.cut .rtag{color:var(--pin)}
.role button{grid-column:1/-1;justify-self:start;font-size:.8rem;padding:.3rem .7rem}
.phases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:.4rem;overflow:hidden}
@media (max-width:860px){.phases{grid-template-columns:minmax(0,1fr)}}
.phase{background:var(--card);padding:1.2rem 1.25rem;display:grid;gap:.6rem;align-content:start;border-top:5px solid var(--accent)}
.phase:nth-child(2){border-top-color:var(--mark)} .phase:nth-child(3){border-top-color:var(--ink)}
.phase ul{margin:0;padding-left:1.1rem;display:grid;gap:.25rem;font-size:.94rem;line-height:1.45}
.phase li:first-child{list-style:none;margin-left:-1.1rem;font-family:var(--mono);font-size:.76rem;color:var(--pin);letter-spacing:.04em}
.ph-hrs{display:grid;gap:.15rem;border-top:1px dashed var(--line);padding-top:.7rem}
.ph-hrs strong{font-family:var(--display);font-size:1.5rem;font-variant-numeric:tabular-nums}
.ph-wk{font-family:var(--mono);font-size:.78rem;color:var(--muted)}
.hrs-table td:last-child{font-family:var(--mono);font-size:.88rem;white-space:nowrap;font-variant-numeric:tabular-nums}
.hrs-table td:nth-child(2){font-family:var(--mono);font-size:.8rem;color:var(--muted);white-space:nowrap}
.evidence{display:grid;gap:1.1rem;border:1px solid var(--line);border-radius:.4rem;padding:1.4rem;background:var(--card)}
.ev-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
@media (max-width:900px){.ev-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.ev-grid{grid-template-columns:minmax(0,1fr)}}
.ev{display:grid;gap:.4rem;align-content:start;border-left:2px solid var(--accent);padding-left:.9rem}
.ev strong{font-family:var(--display);font-size:1.02rem}
.ev p{font-size:.93rem;line-height:1.5}
.ev .src{font-family:var(--mono);font-size:.74rem;color:var(--muted);line-height:1.45}
.sources summary{cursor:pointer;font-family:var(--display);font-weight:700}
.sources ul{margin:.6rem 0 0;padding-left:1.2rem;display:grid;gap:.3rem;font-size:.93rem}
[id]{scroll-margin-top:9.5rem}
.page-meta{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;font-family:var(--mono);font-size:.78rem;color:var(--muted);padding-block:.2rem}
.page-meta b{color:var(--pin);font-weight:500}
.page-meta a{color:var(--accent)}
.toc{border:1px solid var(--line);border-radius:.4rem;background:var(--card);padding:1rem 1.2rem;display:grid;gap:.5rem;max-width:56rem}
.toc ol{margin:0;padding-left:1.3rem;columns:2 16rem;column-gap:2rem;font-size:.95rem}
.toc li{break-inside:avoid;padding:.12rem 0}
.toc a{text-decoration:none} .toc a:hover{text-decoration:underline}
.situations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
@media (max-width:760px){.situations{grid-template-columns:minmax(0,1fr)}}
.sit{display:grid;gap:.25rem;background:var(--card);border:1px solid var(--line);border-radius:.4rem;padding:1rem 1.15rem;text-decoration:none;color:var(--ink)}
.sit:hover{border-color:var(--accent)}
.sit strong{font-family:var(--display);font-size:1.05rem}
.sit span{font-size:.93rem;color:var(--muted)}
.sit em{font-style:normal;font-family:var(--display);font-weight:700;font-size:.9rem;color:var(--accent)}
.jump{display:flex;flex-wrap:wrap;gap:.6rem}
.jump a{font-family:var(--display);font-weight:700;text-decoration:none;border:1px solid var(--line);background:var(--card);border-radius:99px;padding:.4rem .9rem}
.toolgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
@media (max-width:900px){.toolgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.toolgrid{grid-template-columns:minmax(0,1fr)}}
.tool{display:grid;gap:.4rem;align-content:start;background:var(--card);border:1px solid var(--line);border-radius:.4rem;padding:1.1rem 1.2rem;text-decoration:none;color:var(--ink)}
.tool:hover{border-color:var(--accent)}
.tool-alt{background:var(--paper);border-style:dashed}
.tool h3{font-size:1.08rem}
.tool .tq{font-family:var(--display);font-weight:500;color:var(--pin);font-size:.95rem}
.tool p{font-size:.93rem;line-height:1.45}
.tool .go{font-family:var(--display);font-weight:700;font-size:.9rem;color:var(--accent);margin-top:.2rem}
.inside{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
@media (max-width:760px){.inside{grid-template-columns:minmax(0,1fr)}}
.note{display:block}
.note strong{display:block;margin:.1rem 0 .35rem}
.role-switch{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .7rem;font-size:.9rem;color:var(--muted);padding:.55rem .7rem;border-radius:.35rem;background:var(--paper);border:1px dashed var(--line)}
.hat{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;padding:.2rem .6rem;border-radius:99px;color:var(--paper);white-space:nowrap}
.hat.consult{background:var(--accent);color:var(--accent-ink)} .hat.owner{background:var(--pin)}
.recs{display:grid;gap:1.4rem}
.rec{display:grid;gap:.9rem}
.opt-tag{font-family:var(--mono);font-size:.68rem;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-left:.4rem}
.commit-list{display:grid;gap:.5rem;margin-top:.3rem}
.commit-list p{font-size:.93rem;line-height:1.45;white-space:normal}
.commit-list p b{font-family:var(--display)}
.commit-list p span{display:block;font-family:var(--mono);font-size:.78rem;color:var(--muted)}
.ev-grid.ev-two{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:640px){.ev-grid.ev-two{grid-template-columns:minmax(0,1fr)}}
.spin{background:var(--ink);color:var(--paper);border-radius:.5rem;padding:1.5rem 1.5rem 1.6rem;display:grid;gap:1rem}
.spin > .label{color:var(--paper);opacity:.7}
.spin h3{color:var(--paper);font-size:1.3rem}
.spin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.6rem}
@media (max-width:700px){.spin-grid{grid-template-columns:minmax(0,1fr)}}
.spin-grid > div{display:grid;gap:.3rem;align-content:start;border-top:1px solid color-mix(in srgb,var(--paper) 25%,transparent);padding-top:.7rem}
.spin-grid b{font-family:var(--mono);font-weight:500;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mark)}
.spin-grid p{font-size:.95rem;line-height:1.5;opacity:.92}
.spin a{color:var(--paper);text-decoration-color:var(--mark)}
.steps.steps4{grid-template-columns:repeat(4,minmax(0,1fr))}
.steps.steps4 .k{font-family:var(--mono);font-size:.8rem;font-weight:500;color:var(--pin)}
@media (max-width:900px){.steps.steps4{grid-template-columns:minmax(0,1fr)}.steps.steps4 li{display:grid;grid-template-columns:none}}
.tk-group{font-size:1.15rem;margin-top:.4rem;padding-top:.8rem;border-top:1px solid var(--line)}
.shelf{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
@media (max-width:760px){.shelf{grid-template-columns:minmax(0,1fr)}}
.book{display:grid;grid-template-columns:.5rem minmax(0,1fr);background:var(--card);border:1px solid var(--line);border-radius:.35rem;overflow:hidden}
.spine{background:var(--accent)}
.shelf:nth-of-type(3n) .spine{background:var(--pin)} .shelf:nth-of-type(3n+1) .spine{background:var(--ink)}
.book-body{padding:.9rem 1.1rem;display:grid;gap:.3rem;align-content:start}
.book h3{font-size:1.05rem}
.book .by{font-family:var(--mono);font-size:.76rem;color:var(--muted)}
.book p{font-size:.94rem;line-height:1.5}
.book a{font-family:var(--display);font-weight:700;font-size:.88rem;text-decoration:none}
.time-rows{display:grid;gap:.5rem}
.time-row{display:grid;grid-template-columns:minmax(0,1fr) 5.5rem auto;gap:.7rem;align-items:center}
.time-row > label:first-child{font-family:var(--display);font-weight:700;font-size:.95rem}
.time-row .chk{display:flex;gap:.35rem;align-items:center;font-size:.86rem;color:var(--muted);white-space:nowrap}
.time-row .chk input{accent-color:var(--accent)}
@media (max-width:480px){.time-row{grid-template-columns:minmax(0,1fr) 4.5rem}.time-row .chk{grid-column:1/-1}}
.founder{display:grid;grid-template-columns:6rem minmax(0,1fr);gap:1.5rem;align-items:start;background:var(--card);border:1px solid var(--line);border-radius:.5rem;padding:1.5rem}
.founder-mark{width:6rem;height:6rem;border-radius:50%;border:3px solid var(--ink);display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:1.8rem;letter-spacing:-.02em}
@media (max-width:560px){.founder{grid-template-columns:minmax(0,1fr)}.founder-mark{width:4.5rem;height:4.5rem;font-size:1.4rem}}
.legal{max-width:44rem;gap:.8rem}
.legal h2{font-size:1.3rem;margin-top:1.2rem;padding-top:1rem;border-top:1px solid var(--line)}
.legal h2:first-child{margin-top:0;padding-top:0;border-top:none}
footer span a{color:var(--muted)}
.steps h3 a{text-decoration:none}
.book-dl{border-left:6px solid var(--accent)}
.book-thumb{background:var(--ink)!important;border-top-color:var(--accent)!important}
.book-thumb span{color:var(--paper)!important}
.mission{display:grid;gap:1.4rem;padding-block:.5rem}
.who{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
@media (max-width:860px){.who{grid-template-columns:minmax(0,1fr)}}
.who article{background:var(--card);border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:.4rem;padding:1.15rem 1.2rem;display:grid;gap:.4rem;align-content:start}
.who article:nth-child(2){border-top-color:var(--pin)} .who article:nth-child(3){border-top-color:var(--ink)}
.who h3{font-size:1.15rem}
.who p{font-size:.96rem;line-height:1.5}
.caw{display:grid;gap:.55rem;max-width:46rem;border:1px solid var(--line);border-left:5px solid var(--mark);background:var(--card);border-radius:.4rem;padding:1.05rem 1.25rem}
.caw-head{display:flex;align-items:center;gap:.6rem}
.caw-mark{font-family:var(--display);font-weight:800;font-size:.72rem;width:1.7rem;height:1.7rem;border-radius:50%;border:2px solid var(--ink);display:grid;place-items:center;flex:none}
.caw blockquote{margin:0;font-family:var(--display);font-weight:500;font-size:1.15rem;line-height:1.35;letter-spacing:-.01em}
.caw p{font-size:.95rem;color:var(--muted);line-height:1.5}
.caw a{font-family:var(--display);font-weight:700;font-size:.92rem;text-decoration:none}
.companion{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:1.5rem;align-items:center;border:1px solid var(--line);border-left:6px solid var(--mark);background:var(--card);border-radius:.5rem;padding:1.4rem 1.5rem}
@media (max-width:760px){.companion{grid-template-columns:minmax(0,1fr)}}
.companion ul{margin:0;padding-left:1.1rem;display:grid;gap:.3rem;font-size:.95rem}
.brand .seal{width:2.1rem;height:2.1rem;font-size:.58rem;letter-spacing:-.02em}
.welcome{font-family:var(--display);font-weight:500;font-size:1.1rem;line-height:1.45;max-width:38rem;border-left:4px solid var(--mark);padding-left:.9rem}
.foot-map{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.2rem;padding-bottom:1.2rem;border-bottom:1px solid var(--line);margin-bottom:.4rem}
@media (max-width:1000px){.foot-map{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.foot-map{grid-template-columns:repeat(2,minmax(0,1fr))}}
.foot-map ul{list-style:none;margin:.5rem 0 0;padding:0;display:grid;gap:.3rem}
.foot-map a{font-size:.92rem;text-decoration:none;color:var(--ink)}
.foot-map a:hover{color:var(--accent)}
.foot-links{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem}
.foot-links a{font-family:var(--display);font-weight:500;text-decoration:none}
footer .wrap{flex-direction:column}
