:root{
  --night:#120f19;--night2:#1b1525;--plum:#282038;--violet:#7863d9;
  --lav:#b8a7dc;--paper:#eee6d3;--paper2:#d9cdb2;--ink:#261d2b;
  --cream:#f5f0e6;--gold:#f0bd4f;--red:#ef625f;--green:#9ccb7f;--blue:#75b9da;
  --hair:rgba(255,255,255,.15);--shadow:0 22px 60px rgba(0,0,0,.35);
}

*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--night);color:var(--cream);font:16px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}a{color:inherit}button{font:inherit}.pixel{image-rendering:pixelated;image-rendering:crisp-edges}.eyebrow{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;font-weight:800}.labmark{position:fixed;z-index:50;right:18px;top:18px;text-decoration:none;background:rgba(18,15,25,.78);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(10px);padding:.58rem .8rem;border-radius:999px;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.labmark:hover{background:#2b2240}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:100;background:white;color:black;padding:.6rem}

/* LAB INDEX */
.lab-home{min-height:100vh;background:
 radial-gradient(circle at 18% 14%,rgba(121,93,218,.22),transparent 26rem),
 radial-gradient(circle at 82% 68%,rgba(239,98,95,.13),transparent 27rem),var(--night)}
.lab-home:before{content:"";position:fixed;inset:0;opacity:.08;pointer-events:none;background-image:url('assets/ui/banner_lavender.jpg');background-size:700px auto;mix-blend-mode:screen}
.lab-shell{width:min(1220px,calc(100% - 40px));margin:auto;padding:70px 0 50px}.lab-intro{display:grid;grid-template-columns:1.25fr .75fr;gap:4rem;align-items:end;border-bottom:1px solid var(--hair);padding-bottom:3rem}.lab-intro h1{font-size:clamp(3rem,8vw,7.5rem);line-height:.86;letter-spacing:-.07em;margin:.25rem 0}.lab-intro h1 span{display:block;color:var(--gold)}.lab-intro p{color:var(--lav);font-size:1.15rem;margin:0}.lab-note{border-left:3px solid var(--gold);padding-left:1.2rem}.lab-note b{color:white}.concepts{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--hair);margin-top:3rem;border:1px solid var(--hair)}.concept{position:relative;min-height:390px;padding:2rem;background:#191420;text-decoration:none;overflow:hidden}.concept:after{content:"↗";position:absolute;right:1.6rem;bottom:1.2rem;font-size:2rem;color:var(--gold);transition:.2s}.concept:hover:after{transform:translate(4px,-4px)}.concept:hover .concept-art{transform:scale(1.06) rotate(-1deg)}.concept:nth-child(2n):hover .concept-art{transform:scale(1.06) rotate(1deg)}.concept-num{font-size:.75rem;color:var(--gold);letter-spacing:.2em}.concept h2{font-size:clamp(2rem,4vw,4.2rem);line-height:.95;margin:.9rem 0 .5rem;max-width:8ch;letter-spacing:-.05em}.concept p{max-width:35ch;color:var(--lav)}.concept-art{position:absolute;right:-2%;bottom:-18%;width:52%;height:75%;object-fit:contain;filter:drop-shadow(0 24px 24px rgba(0,0,0,.5));transition:.45s cubic-bezier(.2,.8,.2,1)}.concept.poster .concept-art{width:62%;height:62%;object-fit:cover;border-radius:50% 0 0 0;opacity:.75}.comparison{margin-top:3.5rem;display:grid;grid-template-columns:1fr 2fr;gap:3rem}.comparison h2{font-size:2.6rem;line-height:1;margin:0}.comparison table{width:100%;border-collapse:collapse}.comparison th,.comparison td{text-align:left;border-bottom:1px solid var(--hair);padding:.8rem}.comparison th{color:var(--gold);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}.comparison td:first-child{font-weight:700}

/* YARD MAP */
.yard-page{min-height:100vh;overflow-x:hidden;background:#090b15}.yard-stage{position:relative;min-height:100vh;background:linear-gradient(to bottom,rgba(8,8,18,.05) 30%,rgba(8,8,18,.55) 76%,#0c0c15 100%),url('assets/ui/poster_trailer.jpg') center/cover no-repeat}.yard-stage:after{content:"";position:absolute;inset:auto 0 0;height:24vh;background:url('assets/ui/footer_skyline.png') bottom/cover no-repeat;opacity:.38;pointer-events:none}.yard-brand{position:absolute;left:clamp(24px,5vw,82px);top:42px;z-index:3}.yard-brand b{font-size:clamp(1.4rem,2.4vw,2.4rem);letter-spacing:-.04em}.yard-brand span{display:block;letter-spacing:.34em;font-size:.68rem}.radio{position:absolute;z-index:5;left:clamp(24px,5vw,82px);top:25%;width:min(340px,calc(100% - 48px));background:rgba(20,16,27,.88);border:1px solid rgba(255,255,255,.25);box-shadow:var(--shadow);backdrop-filter:blur(16px);padding:1.3rem;border-radius:18px 18px 48px 18px;transform:rotate(-1deg)}.radio:before{content:"";position:absolute;right:22px;top:-38px;width:2px;height:48px;background:#ddd;transform:rotate(9deg);box-shadow:0 0 0 3px #3a3043}.radio h1{font-size:2.2rem;line-height:.95;margin:.25rem 0 1rem}.radio p{color:#c4b6d3;margin:.4rem 0}.radio-dial{display:flex;gap:1rem;border-top:1px solid var(--hair);margin-top:1rem;padding-top:1rem}.radio-dial div{flex:1}.radio-dial b{display:block;color:var(--gold);font:700 1.5rem/1 ui-monospace,monospace}.radio-dial span{font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:#a99bb7}.yard-path{position:absolute;inset:0;z-index:4}.yard-link{position:absolute;text-decoration:none;display:grid;place-items:center;width:118px;height:118px;text-align:center;padding:1rem;background:rgba(20,15,28,.8);border:1px solid rgba(255,255,255,.28);border-radius:50%;backdrop-filter:blur(8px);box-shadow:0 10px 30px rgba(0,0,0,.25);font-weight:850;line-height:1.08;transition:.25s}.yard-link:before{content:"";position:absolute;inset:7px;border:1px dashed rgba(240,189,79,.55);border-radius:50%}.yard-link:hover{transform:translateY(-8px) scale(1.05);background:#322447}.yard-link small{display:block;font-size:.62rem;color:var(--gold);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.25rem}.yl1{left:41%;top:16%}.yl2{left:61%;top:29%;width:138px;height:138px}.yl3{left:78%;top:15%}.yl4{left:48%;top:59%}.yl5{left:69%;top:65%;width:132px;height:132px}.yl6{left:84%;top:50%}.trail{position:absolute;z-index:2;inset:0;pointer-events:none}.trail svg{width:100%;height:100%}.dispatch{position:absolute;z-index:6;right:clamp(24px,4vw,62px);bottom:25px;width:min(430px,calc(100% - 48px));display:grid;grid-template-columns:84px 1fr;gap:1rem;background:#ece4d2;color:#281e2a;padding:1rem 1.2rem;transform:rotate(1deg);box-shadow:var(--shadow)}.dispatch img{width:84px;height:84px;object-fit:contain;background:#322944}.dispatch h2{font-size:1.15rem;margin:0}.dispatch p{font-size:.88rem;margin:.3rem 0}.dispatch .stamp{font-size:.62rem;text-transform:uppercase;letter-spacing:.15em;color:#7b3541;font-weight:800}

/* BESTIARY CASE FILE */
.case-page{min-height:100vh;background:#20231d;color:#24231d;padding:24px;background-image:linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px);background-size:24px 24px}.case-desk{min-height:calc(100vh - 48px);max-width:1500px;margin:auto;background:#bda985;border:12px solid #3c2b24;box-shadow:inset 0 0 60px rgba(57,38,25,.45),var(--shadow);position:relative;overflow:hidden}.case-desk:before{content:"";position:absolute;inset:0;opacity:.18;background:repeating-linear-gradient(8deg,transparent 0 38px,rgba(65,43,27,.3) 39px 40px)}.case-top{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:flex-start;padding:28px 34px 0}.case-top h1{font-family:Georgia,serif;font-size:clamp(2.4rem,5vw,5.8rem);line-height:.8;margin:0;color:#28221b;letter-spacing:-.05em}.case-top h1 em{display:block;color:#6b2735;font-weight:400}.case-top nav{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end;max-width:520px}.case-top button{border:0;background:#473a31;color:#f6ead3;padding:.55rem .75rem;cursor:pointer;box-shadow:2px 3px 0 rgba(0,0,0,.2)}.case-top button.on{background:#752e3d}.case-grid{position:relative;z-index:2;display:grid;grid-template-columns:230px minmax(420px,1fr) 340px;gap:28px;padding:28px 34px 34px;align-items:start}.case-index{background:#dfd2b4;padding:1.1rem;box-shadow:4px 5px 15px rgba(54,37,24,.25);transform:rotate(-1deg);border-top:8px solid #6b2735}.case-index h2{font:700 1rem/1 Georgia,serif;text-transform:uppercase;letter-spacing:.1em}.case-index button{display:grid;grid-template-columns:40px 1fr;align-items:center;width:100%;border:0;border-bottom:1px solid rgba(42,35,28,.25);background:transparent;padding:.7rem .2rem;text-align:left;cursor:pointer;color:#2e2821}.case-index button:hover,.case-index button.on{background:rgba(107,39,53,.12)}.case-index img{width:34px;height:34px;object-fit:contain;image-rendering:pixelated}.specimen{background:#151713;min-height:660px;position:relative;overflow:hidden;border:10px solid #e4d5b8;box-shadow:5px 8px 22px rgba(45,31,21,.4);transform:rotate(.35deg)}.specimen:before{content:"SPECIMEN 101-W";position:absolute;left:18px;top:14px;color:#baae92;font:700 .66rem/1 ui-monospace,monospace;letter-spacing:.18em}.specimen:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,transparent 0 22%,rgba(0,0,0,.62) 70%),repeating-linear-gradient(0deg,transparent 0 4px,rgba(255,255,255,.025) 5px);pointer-events:none}.specimen img{position:absolute;z-index:1;left:50%;top:48%;width:54%;height:54%;object-fit:contain;transform:translate(-50%,-50%);image-rendering:pixelated;filter:drop-shadow(0 30px 16px rgba(0,0,0,.7))}.specimen-name{position:absolute;z-index:2;left:24px;right:24px;bottom:24px;color:#eee4cf}.specimen-name .eyebrow{color:#eabb57}.specimen-name h2{font:400 clamp(2rem,4vw,4.6rem)/.9 Georgia,serif;margin:.4rem 0}.specimen-name p{max-width:42ch;color:#bfb7a5}.notes{display:grid;gap:18px}.paper{position:relative;background:#f0e5c9;padding:1.25rem 1.35rem;box-shadow:4px 7px 15px rgba(54,37,24,.28);font-family:Georgia,serif}.paper:nth-child(2){transform:rotate(1.2deg);background:#e6d9b9}.paper:nth-child(3){transform:rotate(-.7deg)}.paper:before{content:"";position:absolute;left:12px;right:12px;top:10px;border-top:1px solid rgba(70,53,39,.25)}.paper h3{font-size:1.35rem;margin:.25rem 0 .6rem;color:#672c39}.paper p{margin:.35rem 0}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(53,40,30,.25);margin-top:.8rem}.stats div{background:#eadfc3;padding:.7rem}.stats b{display:block;font:800 1.45rem/1 ui-monospace,monospace;color:#672c39}.stats span{font-size:.65rem;text-transform:uppercase;letter-spacing:.12em}.quote-card{background:#692d3a;color:#f8eccc;padding:1rem;font-style:italic;transform:rotate(1.5deg)}

/* ROSTER PARADE */
.parade-page{min-height:100vh;background:#ece6d9;color:#251d2a;overflow:hidden}.parade-head{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,5vw,80px);border-bottom:2px solid #2c2231;background:#f4eee2}.parade-head b{font-size:1.15rem}.parade-head nav{display:flex;gap:1.4rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.14em}.parade-main{display:grid;grid-template-columns:260px 1fr;min-height:calc(100vh - 88px)}.rollcall{border-right:2px solid #2c2231;padding:28px 0;background:#ddd3bf}.rollcall .eyebrow{padding:0 25px;color:#775f80}.rollcall button{display:flex;align-items:center;gap:13px;width:100%;border:0;border-bottom:1px solid rgba(37,29,42,.17);background:transparent;padding:13px 24px;text-align:left;cursor:pointer}.rollcall button.on{background:#2a2031;color:#f5eee3}.rollcall img{width:42px;height:42px;image-rendering:pixelated}.rollcall strong{display:block}.rollcall small{opacity:.65}.parade-stage{position:relative;min-height:720px;background:linear-gradient(110deg,#f4eee2 0 64%,#d2c5aa 64% 100%);overflow:hidden}.huge-name{position:absolute;left:3.5%;top:4%;font:900 clamp(5rem,13vw,13rem)/.75 ui-sans-serif,system-ui;letter-spacing:-.09em;text-transform:uppercase;color:#d5cbd0;white-space:nowrap;pointer-events:none}.cat-hero{position:absolute;left:11%;bottom:7%;width:44%;height:70%;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 30px 0 rgba(43,31,47,.12)) drop-shadow(0 40px 30px rgba(54,38,31,.22))}.cat-copy{position:absolute;left:44%;top:19%;width:30%;z-index:2}.cat-copy .number{font:800 1rem/1 ui-monospace,monospace;color:#8b5061}.cat-copy h1{font-size:clamp(3rem,6vw,6.5rem);line-height:.82;letter-spacing:-.065em;margin:.7rem 0}.cat-copy .rule{font:600 clamp(1.1rem,2vw,1.5rem)/1.35 Georgia,serif}.cat-copy .lore{font-style:italic;color:#725f73}.cat-mods{position:absolute;right:3%;top:14%;width:28%;display:grid;gap:9px}.cat-mods div{display:flex;justify-content:space-between;border-bottom:1px solid rgba(37,29,42,.35);padding:.8rem 0;font-family:ui-monospace,monospace}.cat-mods b.up{color:#36733b}.cat-mods b.down{color:#a33f47}.kit-strip{position:absolute;left:44%;right:3%;bottom:7%;border-top:2px solid #2c2231;padding-top:1.1rem}.kit-strip span{display:inline-block;border:1px solid #2c2231;padding:.45rem .65rem;margin:.2rem .2rem .2rem 0;background:#f7f1e7;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em}.cat-seal{position:absolute;right:4%;bottom:25%;width:145px;height:145px;border:2px solid #8f5665;border-radius:50%;display:grid;place-items:center;text-align:center;color:#8f5665;transform:rotate(-12deg);font-weight:900;text-transform:uppercase;letter-spacing:.12em}.cat-seal:before{content:"";position:absolute;inset:8px;border:1px dashed #8f5665;border-radius:50%}

/* MANUAL FOLDOUT */
.fold-page{min-height:100vh;background:#2b2830;color:#241e20;padding:28px;overflow-x:auto}.foldout{min-width:1200px;max-width:1540px;min-height:calc(100vh - 56px);margin:auto;display:grid;grid-template-columns:1.05fr .9fr 1.1fr .95fr;background:#eee6d3;box-shadow:var(--shadow);position:relative}.foldout:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 31px,rgba(87,63,54,.08) 32px);pointer-events:none}.fold-panel{position:relative;padding:38px 32px;border-right:1px dashed rgba(71,49,48,.35);overflow:hidden}.fold-panel:nth-child(2n){background:rgba(214,201,176,.45)}.fold-panel:last-child{border:0}.fold-panel .folio{font:800 .66rem/1 ui-monospace,monospace;letter-spacing:.15em;text-transform:uppercase;color:#8a4a55}.fold-panel h1,.fold-panel h2{font-family:Georgia,serif;line-height:.92}.fold-panel h1{font-size:4.5rem;margin:.4rem 0 1rem}.fold-panel h2{font-size:2.15rem;margin:.55rem 0 1rem}.fold-panel p{font-family:Georgia,serif}.wave-clock{display:flex;gap:4px;align-items:end;height:210px;margin:1.3rem 0}.wave-clock div{flex:1;background:#6c587c;min-height:20%;position:relative}.wave-clock div:nth-child(2n){background:#8d6a78}.wave-clock div:last-child{background:#a8484e}.wave-clock span{position:absolute;bottom:6px;left:50%;transform:translateX(-50%);color:white;font:700 .65rem ui-monospace,monospace}.ladder{margin-top:1rem}.ladder div{height:47px;margin-bottom:5px;padding:.7rem 1rem;background:#d9cdb5;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 50%,calc(100% - 18px) 100%,0 100%);display:flex;justify-content:space-between;font-family:ui-monospace,monospace}.ladder div:nth-child(2){width:88%;background:#c3b17e}.ladder div:nth-child(3){width:76%;background:#d49662}.ladder div:nth-child(4){width:64%;background:#c8665a}.ladder div:nth-child(5){width:52%;background:#753d55;color:white}.stat-wheel{position:relative;width:270px;height:270px;border:2px solid #3a3035;border-radius:50%;margin:2rem auto}.stat-wheel:before,.stat-wheel:after{content:"";position:absolute;inset:18%;border:1px dashed #8f5962;border-radius:50%}.stat-wheel:after{inset:36%;background:#8f5962}.stat-wheel span{position:absolute;font:700 .7rem/1 ui-monospace,monospace;text-transform:uppercase;letter-spacing:.08em}.sw1{top:-8px;left:39%}.sw2{right:-30px;top:45%}.sw3{bottom:-8px;left:37%}.sw4{left:-40px;top:45%}.sw5{right:10px;top:8%}.sw6{left:3px;bottom:10%}.margin-note{border-left:4px solid #8f5962;padding:.7rem 1rem;margin:1.4rem 0;font:italic 1rem/1.4 Georgia,serif}.field-stamp{position:absolute;right:-22px;bottom:42px;border:3px solid #8f5962;color:#8f5962;padding:.7rem 1.2rem;transform:rotate(-9deg);font-weight:900;text-transform:uppercase;letter-spacing:.16em}

/* ARMORY WORKBENCH */
.work-page{min-height:100vh;background:#11151a;color:#ece5d7;padding:24px}.workbench{min-height:calc(100vh - 48px);max-width:1500px;margin:auto;border:10px solid #34251d;background:linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),#20252a;background-size:28px 28px;box-shadow:inset 0 0 80px #090b0d,var(--shadow);position:relative;overflow:hidden}.work-top{display:flex;align-items:end;justify-content:space-between;padding:30px 38px;border-bottom:1px solid rgba(255,255,255,.16)}.work-top h1{font-size:clamp(3rem,6vw,6.5rem);line-height:.75;margin:0;letter-spacing:-.07em}.work-tabs{display:flex;gap:.5rem}.work-tabs button{border:1px solid rgba(255,255,255,.25);background:#171b1f;color:#ddd2c3;padding:.6rem .9rem;cursor:pointer}.work-tabs button.on{background:#b74a4e}.bench-grid{display:grid;grid-template-columns:190px 1fr 330px;gap:28px;padding:32px 38px}.peg-list{display:grid;gap:12px}.peg-list button{border:1px solid rgba(255,255,255,.12);background:#171b1f;color:#ddd2c3;padding:.65rem;cursor:pointer}.peg-list img{width:74px;height:74px;display:block;margin:auto;image-rendering:pixelated}.peg-list button.on{outline:2px solid #e2b654;background:#312934}.weapon-stage{position:relative;min-height:620px;border:1px solid rgba(255,255,255,.16);background:radial-gradient(circle at 50% 40%,rgba(226,182,84,.18),transparent 28%),rgba(8,10,12,.45)}.weapon-stage img{position:absolute;width:55%;height:55%;object-fit:contain;left:50%;top:42%;transform:translate(-50%,-50%);image-rendering:pixelated;filter:drop-shadow(0 30px 28px rgba(0,0,0,.7))}.weapon-label{position:absolute;left:28px;right:28px;bottom:25px}.weapon-label h2{font-size:clamp(2.7rem,5vw,5.5rem);line-height:.85;margin:.4rem 0}.weapon-label p{color:#bdb2a7;max-width:50ch}.legendary{color:#e35c62}.schematic{background:#e8dfce;color:#281f21;padding:1.4rem;box-shadow:5px 7px 0 #8c765e;transform:rotate(.5deg)}.schematic h3{font-family:Georgia,serif;font-size:1.6rem;margin:.2rem 0 1rem}.schematic dl{display:grid;grid-template-columns:1fr auto;margin:0}.schematic dt,.schematic dd{border-bottom:1px solid rgba(40,31,33,.25);padding:.55rem 0;margin:0}.schematic dd{font:800 1rem ui-monospace,monospace;color:#9b3845}.warning{margin-top:1.4rem;border:2px solid #b74a4e;padding:1rem;color:#efc4bd}.warning b{display:block;color:#e76a65;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem}

@media(max-width:900px){
 .lab-intro,.comparison{grid-template-columns:1fr}.concepts{grid-template-columns:1fr}.concept{min-height:330px}
 .yard-stage{min-height:1100px;background-position:58% center}.radio{top:120px}.yard-link{width:106px;height:106px}.yl1{left:8%;top:47%}.yl2{left:40%;top:42%}.yl3{left:68%;top:51%}.yl4{left:8%;top:66%}.yl5{left:39%;top:62%}.yl6{left:70%;top:70%}.dispatch{bottom:25px}
 .case-grid{grid-template-columns:1fr}.case-index{display:grid;grid-template-columns:repeat(3,1fr)}.case-index h2{grid-column:1/-1}.case-top{display:block}.case-top nav{justify-content:flex-start;margin-top:1rem}.specimen{min-height:520px}
 .parade-main{grid-template-columns:1fr}.rollcall{display:flex;overflow:auto;padding:0;border-right:0;border-bottom:2px solid #2c2231}.rollcall .eyebrow{display:none}.rollcall button{min-width:150px}.parade-stage{min-height:900px}.cat-hero{left:2%;width:52%;height:56%;bottom:16%}.cat-copy{left:44%;width:48%;top:12%}.cat-mods{left:8%;right:auto;top:62%;width:36%}.kit-strip{left:48%;bottom:8%}.cat-seal{display:none}
 .bench-grid{grid-template-columns:1fr}.peg-list{grid-template-columns:repeat(5,1fr)}.work-top{display:block}.work-tabs{margin-top:1rem}.weapon-stage{min-height:560px}
}
/* final review refinements */
.labmark{color:var(--cream)}
.case-index strong,.case-index small{display:block}.case-index small{font-size:.72rem;opacity:.72;margin-top:.12rem}
.cat-mods{top:38%;width:24%}
.ladder div{font-size:.74rem;align-items:center;gap:.5rem;white-space:nowrap}.ladder div span{text-align:right}.ladder div:nth-child(2){width:96%}.ladder div:nth-child(3){width:92%}.ladder div:nth-child(4){width:88%}.ladder div:nth-child(5){width:84%}
@media(max-width:900px){.cat-mods{top:62%;width:36%}}

/* ================================================================
   CONNECTED COMMAND LAYER — added to the canonical first design kit.
   It connects the pages without forcing their stages into one template.
   ================================================================ */
.command-nav{
  position:sticky;top:0;z-index:80;
  background:#2a2550 url('assets/ui/banner_lavender.jpg') repeat-x center top;
  background-size:auto 100%;
  border-bottom:1px solid rgba(10,8,16,.88);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),inset 0 -1px 0 rgba(236,231,242,.13),0 10px 28px rgba(0,0,0,.42);
  color:#f3edf8;
}
.command-nav-inner{width:min(1280px,calc(100% - 30px));margin:auto;min-height:72px;display:flex;align-items:center;gap:22px;padding:10px 0}
.command-brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:#fff;font-weight:900;letter-spacing:-.025em;white-space:nowrap}
.command-brand:hover{text-decoration:none}.command-paw{color:#f0bd4f;font-size:1.28rem}.command-brand small{display:block;color:#c8bad9;font-size:.61rem;letter-spacing:.25em;text-transform:uppercase;line-height:1.05}
.command-nav nav{display:flex;align-items:center;justify-content:center;gap:4px;flex:1;flex-wrap:wrap}.command-nav nav a{color:#cabfd7;text-decoration:none;padding:.52rem .7rem;border-radius:8px;font-size:.85rem;font-weight:750}.command-nav nav a:hover{color:white;background:rgba(255,255,255,.08)}.command-nav nav a.active{color:#fff;background:#5d4db2;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.command-notes{color:#d5c9e1;text-decoration:none;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;border:1px solid rgba(255,255,255,.16);padding:.48rem .65rem;border-radius:999px;white-space:nowrap}.command-notes:hover{color:white;background:rgba(255,255,255,.08)}
.case-page>.command-nav,.work-page>.command-nav{margin:-24px -24px 24px}.fold-page>.command-nav{margin:-28px -28px 28px}.parade-page>.command-nav{margin:0}.lab-home>.command-nav{margin:0}

/* HOME / REAL NAVIGATION YARD */
.command-home{min-height:100vh;background:#0c0912;color:#f4efe5}.command-home-main{overflow:hidden}.home-intro{width:min(1380px,calc(100% - 40px));margin:0 auto;padding:62px 0 34px;display:grid;grid-template-columns:1.15fr .85fr;gap:4rem;align-items:end}.home-intro h1{font-size:clamp(3rem,7vw,7rem);line-height:.84;letter-spacing:-.07em;margin:.3rem 0 1rem}.home-intro h1 span{display:block;color:#f0bd4f}.home-intro p{color:#c7bad5;max-width:52ch}.home-tagline{font:italic 1.25rem/1.4 Georgia,serif;color:#fff!important}.home-counts{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}.home-counts div{padding:1rem .7rem;border-right:1px solid rgba(255,255,255,.1)}.home-counts div:last-child{border:0}.home-counts b{display:block;color:#f0bd4f;font:800 clamp(1.35rem,2.2vw,2rem)/1 ui-monospace,monospace}.home-counts span{display:block;color:#a99ab7;font-size:.68rem;text-transform:uppercase;letter-spacing:.11em;margin-top:.35rem}
.yard-home-stage{position:relative;background-color:#2a2550;background-image:url('assets/ui/yard_plum_texture.png');background-repeat:no-repeat;background-position:center center;background-size:cover;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.1);box-shadow:inset 0 20px 70px rgba(9,6,15,.42),inset 0 -30px 80px rgba(9,6,15,.58)}.yard-home-stage:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 20%,rgba(9,7,14,.52) 100%);pointer-events:none}.yard-frame{position:relative;width:min(1440px,calc(100% - 28px));margin:auto;padding:28px 0 30px}.yard-frame>img{position:relative;z-index:1;display:block;width:100%;height:auto;filter:drop-shadow(0 28px 34px rgba(0,0,0,.68))}
.yard-command-links{position:absolute;z-index:4;inset:18px 0 24px}.symbol-landmarks{pointer-events:none}.yard-place,.yard-gate{pointer-events:auto;position:absolute;display:block;text-decoration:none;color:#f8f2e8;transform-origin:center;transition:transform .18s ease,filter .18s ease}.yard-place:hover,.yard-gate:hover{transform:translateY(-4px) scale(1.01);filter:none}.landmark-art{display:block;width:100%;height:auto;filter:none}.place-pill{display:block;text-align:center;margin-top:-6px}.place-pill small{display:block;color:#f2c45f;font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.18rem;text-shadow:0 2px 7px rgba(0,0,0,.48)}.place-pill strong{display:inline-block;color:#fff8eb;font-size:.92rem;line-height:1.05;background:rgba(29,22,36,.84);border:1px solid rgba(255,255,255,.18);padding:.42rem .72rem;border-radius:999px;box-shadow:0 10px 18px rgba(0,0,0,.25);text-shadow:0 2px 6px rgba(0,0,0,.46)}
.place-porch{left:15.4%;top:17.6%;width:208px}.place-bulletins{left:79.4%;top:31.4%;width:166px}.place-roster{left:42.8%;top:32.8%;width:178px}.place-ladder{left:27.4%;top:35.8%;width:154px}.place-bestiary{left:66.5%;top:16%;width:198px}.place-armory{left:10.7%;top:55.8%;width:208px}.place-manual{left:36%;top:63%;width:198px}.place-provisions{left:68%;top:50.8%;width:176px}.yard-gate{left:41.2%;top:4.2%;width:255px}.gate-pill{margin-top:-10px}
.yard-legend{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.7rem;margin-top:1rem}.yard-legend a{text-decoration:none;color:var(--ink);background:#fbf6ef;border:1px solid rgba(60,40,20,.12);border-radius:14px;padding:.7rem .8rem;box-shadow:0 8px 20px rgba(34,24,14,.08);transition:transform .18s ease,box-shadow .18s ease}.yard-legend a:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(34,24,14,.12)}.yard-legend b{display:block;font-size:.95rem;margin-bottom:.15rem}.yard-legend span{display:block;font-size:.77rem;color:#6e6255;line-height:1.25}

.home-field{width:min(1380px,calc(100% - 40px));margin:34px auto 0;display:grid;grid-template-columns:.8fr 1.25fr .95fr;gap:1px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.13)}.porch-brief,.trailer-feature,.bulletin-board{background:#17121f;min-height:420px}.porch-brief{padding:2rem;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(160deg,#1e1728,#141019)}.porch-brief h2,.bulletin-board h2{font-size:clamp(2rem,3.6vw,3.8rem);line-height:.9;letter-spacing:-.055em;margin:.55rem 0}.porch-brief p{color:#bcaec9}.porch-actions{display:grid;gap:.55rem;margin-top:1rem}.porch-actions a{color:#f2eadf;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.14);padding:.62rem 0}.porch-actions a:after{content:"↗";float:right;color:#f0bd4f}.trailer-feature{position:relative;overflow:hidden}.trailer-feature img{width:100%;height:100%;min-height:420px;object-fit:cover;display:block;filter:saturate(.9) contrast(1.04)}.trailer-feature:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,7,14,.75),transparent 55%)}.trailer-label{position:absolute;z-index:2;left:20px;top:20px;background:rgba(17,13,24,.82);border:1px solid rgba(255,255,255,.18);padding:.55rem .75rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}.trailer-feature button{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);width:88px;height:88px;border-radius:50%;border:1px solid rgba(255,255,255,.45);background:rgba(18,13,25,.72);color:white;font-size:1.8rem;cursor:pointer}.trailer-feature button:hover{background:#5d4db2}.bulletin-board{padding:2rem}.bulletin-board>a{display:grid;grid-template-columns:70px 1fr;gap:1rem;color:#f2eadf;text-decoration:none;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.12)}.bulletin-board>a:last-child{border:0}.bulletin-board img{width:70px;height:70px;object-fit:contain;background:#292035}.bulletin-board a:nth-of-type(2) img{object-fit:cover}.bulletin-board b{display:block}.bulletin-board small{display:block;color:#ae9fbc;margin-top:.25rem;line-height:1.35}
.supply-line{width:min(1380px,calc(100% - 40px));margin:1px auto 0;display:grid;grid-template-columns:.8fr 1.2fr;gap:2rem;align-items:center;padding:2rem;background:#e8dfca;color:#2e2530}.supply-line h2{font:400 clamp(2.2rem,4vw,4.3rem)/.9 Georgia,serif;margin:.3rem 0}.supply-line p{max-width:44ch}.supply-icons{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem}.supply-icons figure{margin:0;text-align:center;padding:1rem .5rem;border:1px solid rgba(46,37,48,.2);background:rgba(255,255,255,.35)}.supply-icons img{width:74px;height:74px;object-fit:contain;image-rendering:pixelated}.supply-icons figcaption{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;margin-top:.45rem}.past-fence-teaser{width:min(1380px,calc(100% - 40px));margin:1px auto 0;min-height:270px;display:flex;justify-content:space-between;align-items:end;gap:3rem;padding:2.5rem;color:white;background:linear-gradient(90deg,rgba(15,9,20,.88),rgba(15,9,20,.25)),url('assets/ui/card_storm.jpg') center/cover no-repeat}.past-fence-teaser h2{font-size:clamp(2.3rem,5vw,5rem);line-height:.85;letter-spacing:-.06em;margin:.4rem 0}.past-fence-teaser p{max-width:46ch;color:#ddd1e4}.past-fence-teaser>a{color:white;text-decoration:none;border:1px solid rgba(255,255,255,.35);padding:.8rem 1rem;background:rgba(15,9,20,.55);white-space:nowrap}.command-footer{width:min(1380px,calc(100% - 40px));margin:24px auto 0;padding:1.2rem 0 3rem;display:flex;justify-content:space-between;gap:2rem;color:#9d90a9;border-top:1px solid rgba(255,255,255,.12)}.command-footer nav{display:flex;gap:1rem;flex-wrap:wrap}.command-footer a{color:#d4c7dd}

/* ARMORY: first Workbench, extended rather than redesigned */
.work-top{position:relative;overflow:visible}.work-head-tools{position:relative;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:flex-end}.data-open{border:1px solid rgba(255,255,255,.25);background:#171b1f;color:#f3eadc;padding:.6rem .9rem;cursor:pointer}.data-open:hover,.data-open[aria-expanded="true"]{background:#e2b654;color:#211b17}.tier-hover{position:absolute;z-index:30;right:0;top:calc(100% + 12px);width:310px;padding:1rem 1.1rem;background:#e8dfce;color:#281f21;box-shadow:6px 9px 0 #6f5d4b,0 24px 45px rgba(0,0,0,.45);opacity:0;transform:translateY(-7px);pointer-events:none;transition:.18s}.tier-hover.show{opacity:1;transform:translateY(0)}.tier-hover p{margin:.45rem 0;color:#4f4240}.tier-hover #tier-hover-examples{display:flex;flex-wrap:wrap;gap:.35rem}.tier-hover #tier-hover-examples span{font:700 .65rem/1 ui-monospace,monospace;border:1px solid rgba(40,31,33,.25);padding:.35rem .42rem}.peg-list button span{display:block;margin-top:.25rem}.spec-drawer{display:none;border-top:1px solid rgba(255,255,255,.18);background:#121519;padding:28px 38px 34px}.spec-drawer.open{display:block}.spec-drawer>header{display:flex;justify-content:space-between;gap:2rem;align-items:start}.spec-drawer h2{font-size:2.6rem;line-height:1;margin:.35rem 0}.spec-drawer header p{color:#a99f94;margin:.3rem 0}.spec-drawer header button{border:1px solid rgba(255,255,255,.2);background:#1e2429;color:#efe5d7;padding:.65rem .8rem;cursor:pointer}.spec-controls{display:grid;grid-template-columns:1.3fr .75fr .75fr 1fr;gap:.7rem;margin:1.2rem 0}.spec-controls input,.spec-controls select{width:100%;border:1px solid rgba(255,255,255,.18);background:#1a1f23;color:#ece5d7;padding:.7rem .8rem}.spec-summary{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:#a99f94;font-size:.78rem;margin-bottom:.6rem}.spec-summary span:first-child{color:#e2b654;font-weight:800}.spec-table-wrap{max-height:540px;overflow:auto;border:1px solid rgba(255,255,255,.15)}.spec-table{width:100%;min-width:1120px;border-collapse:collapse}.spec-table th,.spec-table td{text-align:left;padding:.7rem .75rem;border-bottom:1px solid rgba(255,255,255,.09)}.spec-table th{position:sticky;top:0;z-index:2;background:#20262b;color:#d9cdbd;font-size:.67rem;text-transform:uppercase;letter-spacing:.1em}.spec-table td{color:#bbb0a4;font-size:.83rem}.spec-table tr{cursor:pointer}.spec-table tbody tr:hover{background:#272d32}.spec-weapon{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:.55rem;min-width:160px}.spec-weapon img{width:38px;height:38px;object-fit:contain;image-rendering:pixelated}.spec-weapon b{color:#f3eadc}.tier-mark{font:800 .72rem/1 ui-monospace,monospace}.tier-mark.t1{color:#bfbfbf}.tier-mark.t2{color:#66a6ff}.tier-mark.t3{color:#bf73ff}.tier-mark.t4{color:#ff5959}.spec-pager{display:flex;justify-content:flex-end;align-items:center;gap:.8rem;margin-top:.8rem}.spec-pager button{border:1px solid rgba(255,255,255,.16);background:#1e2429;color:#e6dccf;padding:.55rem .7rem;cursor:pointer}.spec-pager button:disabled{opacity:.35;cursor:not-allowed}.spec-pager span{color:#a99f94;font-size:.82rem}

@media(max-width:1000px){.command-nav-inner{align-items:flex-start;flex-wrap:wrap}.command-nav nav{order:3;flex-basis:100%;justify-content:flex-start}.command-notes{margin-left:auto}.home-intro{grid-template-columns:1fr;gap:1.5rem}.home-field{grid-template-columns:1fr}.porch-brief,.trailer-feature,.bulletin-board{min-height:auto}.supply-line{grid-template-columns:1fr}.past-fence-teaser{align-items:start;flex-direction:column}.work-head-tools{justify-content:flex-start;margin-top:1rem}.spec-controls{grid-template-columns:1fr 1fr}.place-porch,.place-armory{width:158px}.place-bulletins{width:128px}.place-provisions{width:138px}.place-roster{width:128px}.place-ladder{width:116px}.place-bestiary{width:152px}.place-manual{width:150px}.yard-gate{width:205px}.place-pill strong{font-size:.8rem;padding:.34rem .56rem}.place-pill small{font-size:.48rem}.yard-legend{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){.command-notes{display:none}.home-counts{grid-template-columns:repeat(2,1fr)}.home-counts div{border-bottom:1px solid rgba(255,255,255,.1)}.place-porch,.place-armory{width:116px}.place-bulletins{width:94px}.place-provisions{width:98px}.place-roster{width:94px}.place-ladder{width:84px}.place-bestiary{width:108px}.place-manual{width:108px}.yard-gate{width:132px}.place-pill small{display:none}.place-pill strong{font-size:.64rem;padding:.26rem .42rem}.yard-legend{grid-template-columns:repeat(2,minmax(0,1fr))}.supply-icons{grid-template-columns:repeat(3,1fr)}.spec-controls{grid-template-columns:1fr}.command-footer{display:block}.command-footer nav{margin-top:1rem}}
.tier-label.t1{color:#bfbfbf}.tier-label.t2{color:#66a6ff}.tier-label.t3{color:#bf73ff}.tier-label.t4{color:#ff5959}

@media (max-width:1100px){.yard-legend{grid-template-columns:repeat(3,minmax(0,1fr))}}

@media (max-width:1100px){.yard-legend{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* FULL BESTIARY — the original Command archive inside the Case File grammar */
.bestiary-full-page{background:#20231d}.bestiary-desk{overflow:visible;min-height:auto;padding-bottom:28px}.bestiary-head{gap:2rem;align-items:flex-end;padding-bottom:18px}.case-kicker{font:800 .7rem/1 ui-monospace,monospace;letter-spacing:.17em;text-transform:uppercase;color:#6b2735;margin-bottom:.75rem}.bestiary-summary{max-width:760px;color:#463d31;font-family:Georgia,serif;margin:.9rem 0 0}.bestiary-head-actions{display:flex;gap:.65rem;flex-wrap:wrap;justify-content:flex-end}.case-action{border:1px solid rgba(45,31,23,.36);background:#4a3b31;color:#f6ead3;padding:.72rem .9rem;cursor:pointer;box-shadow:2px 3px 0 rgba(0,0,0,.18);font-weight:750}.case-action.primary{background:#752e3d}.case-action:hover{filter:brightness(1.08)}
.bestiary-controls{position:relative;z-index:3;margin:0 34px;padding:14px;background:#d8c9aa;border:1px solid rgba(55,38,26,.25);display:grid;grid-template-columns:minmax(250px,1.35fr) auto auto auto auto;gap:10px;align-items:end;box-shadow:3px 5px 14px rgba(54,37,24,.18)}.bestiary-search,.sort-control{display:grid;gap:.35rem;font:800 .64rem/1 ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;color:#6b2735}.bestiary-search input,.sort-control select{min-height:42px;border:1px solid rgba(55,38,26,.32);background:#f5ead0;color:#2c251e;padding:.7rem .8rem;font:500 .9rem/1.2 ui-sans-serif,system-ui}.kind-filters{display:flex;gap:5px;flex-wrap:wrap}.kind-filters button,.filter-toggle,.filter-clear{min-height:42px;border:1px solid rgba(55,38,26,.3);background:#514239;color:#f6ead3;padding:.56rem .7rem;cursor:pointer;font-weight:750}.kind-filters button span,.filter-toggle span{opacity:.65;font:700 .67rem ui-monospace,monospace}.kind-filters button.on,.filter-toggle.on{background:#752e3d;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}.filter-clear{background:#eee1c4;color:#4b3d31}.bestiary-grid{grid-template-columns:280px minmax(420px,1fr) 380px;padding-top:20px}.bestiary-index{transform:none;max-height:760px;display:flex;flex-direction:column;padding:0;border-top:8px solid #6b2735;overflow:hidden}.index-head{padding:1rem 1rem .75rem;display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;border-bottom:1px solid rgba(42,35,28,.25)}.index-head h2{margin:0}.index-head p{margin:.3rem 0 0;font:700 .7rem ui-monospace,monospace;color:#6c5d4c}.index-hint{font:.65rem ui-monospace,monospace;color:#7b6b59}.creature-index-list{overflow:auto;min-height:0;scrollbar-color:#795f4c #cabc9e}.creature-index-row{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;border:0;border-bottom:1px solid rgba(42,35,28,.18);background:transparent;padding:.62rem .75rem;text-align:left;cursor:pointer;color:#2e2821}.creature-index-row:hover,.creature-index-row.on{background:rgba(107,39,53,.13)}.creature-index-row.on{box-shadow:inset 4px 0 #6b2735}.creature-index-row img{width:52px;height:52px;object-fit:contain}.creature-index-row img.pix,.bestiary-table img.pix,#creature-img.pix{image-rendering:pixelated}.creature-index-row strong,.creature-index-row small{display:block}.creature-index-row strong{font-family:Georgia,serif;font-size:.94rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.creature-index-row small{font:.63rem ui-monospace,monospace;opacity:.72;margin-top:.14rem}.creature-index-row em{font:700 .68rem ui-monospace,monospace;color:#6b2735;font-style:normal}.index-empty{padding:2rem 1rem;text-align:center;font-family:Georgia,serif;color:#6b5b4c}.bestiary-specimen{min-height:760px}.specimen-stamp{position:absolute;left:18px;top:14px;z-index:3;color:#baae92;font:700 .66rem/1 ui-monospace,monospace;letter-spacing:.18em}.bestiary-specimen:before{content:none}.bestiary-specimen img{width:62%;height:62%;image-rendering:auto}.recast-note{max-width:54ch;margin-top:.65rem;padding:.55rem .7rem;border-left:3px solid #eabb57;background:rgba(235,196,95,.09);color:#dbcda9;font-size:.78rem}.bestiary-notes{gap:14px}.behavior-paper{transform:none!important}.bestiary-stats{grid-template-columns:repeat(4,1fr)}.bestiary-stats div{padding:.6rem .45rem}.bestiary-stats b{font-size:1.12rem}.behavior-code{margin-top:.65rem;color:#796754;font:.68rem ui-monospace,monospace;text-transform:uppercase;letter-spacing:.08em}.folklore-paper{background:#ead9ad!important;border-left:6px solid #9c7130;transform:rotate(.45deg)!important}.folklore-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.folklore-heading h3{margin-right:auto}.folklore-heading span{font:.65rem ui-monospace,monospace;text-transform:uppercase;letter-spacing:.09em;color:#80602d}.folklore-origin{font-weight:700;color:#6f4e24}.boss-paper{background:#dfd0b0!important;transform:rotate(-.55deg)!important}.boss-lines{margin:0}.boss-lines div{border-top:1px solid rgba(65,47,33,.22);padding:.55rem 0}.boss-lines dt{font:.68rem ui-monospace,monospace;text-transform:uppercase;letter-spacing:.1em;color:#6b2735}.boss-lines dd{margin:.15rem 0 0;font-style:italic}.quote-card:empty{display:none}
.bestiary-ledger{position:relative;z-index:3;margin:0 34px 10px;background:#e8ddc4;border:8px solid #3c2b24;box-shadow:0 20px 45px rgba(45,31,21,.32)}.ledger-head{display:flex;justify-content:space-between;align-items:end;gap:2rem;padding:20px 22px;border-bottom:1px solid rgba(53,38,27,.24)}.ledger-head h2{font:400 clamp(2rem,4vw,4rem)/.9 Georgia,serif;margin:.2rem 0}.ledger-head p{max-width:720px;margin:.6rem 0 0}.ledger-wrap{max-height:680px;overflow:auto}.bestiary-table{width:100%;border-collapse:collapse;min-width:1150px;color:#2d261f}.bestiary-table th{position:sticky;top:0;z-index:2;background:#4a3b31;color:#f6ead3;padding:.72rem;text-align:left;font:.72rem ui-monospace,monospace;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}.bestiary-table td{padding:.68rem;border-bottom:1px solid rgba(54,39,27,.18);vertical-align:top}.bestiary-table tbody tr:hover{background:rgba(107,39,53,.07)}.ledger-creature{display:grid;grid-template-columns:54px 1fr;gap:9px;align-items:center;border:0;background:transparent;text-align:left;color:#2d261f;cursor:pointer;min-width:190px}.ledger-creature img{width:52px;height:52px;object-fit:contain}.ledger-creature strong,.ledger-creature small{display:block}.ledger-creature strong{font-family:Georgia,serif}.ledger-creature small{font:.65rem ui-monospace,monospace;color:#755d4b;margin-top:.2rem}.kind-tag{display:inline-block;padding:.25rem .42rem;font:700 .64rem ui-monospace,monospace;text-transform:uppercase;letter-spacing:.08em;border:1px solid currentColor}.kind-pest{color:#526c3d}.kind-warped{color:#694f89}.kind-terror{color:#923e46}.kind-boss{color:#9a6429}.ledger-notes{min-width:390px;max-width:560px;font-family:Georgia,serif}.ledger-notes .pattern{color:#766b5d;margin-top:.35rem}.ledger-folklore{margin-top:.55rem;padding:.55rem .65rem;background:#e3cc92;border-left:3px solid #9c7130}.ledger-folklore b{display:block;color:#704f26;margin-bottom:.25rem}.row-copy{border:1px solid rgba(54,39,27,.28);background:#f1e6cd;color:#6b2735;width:34px;height:34px;cursor:pointer}.ledger-empty{text-align:center;padding:2rem!important}
@media(max-width:1250px){.bestiary-controls{grid-template-columns:1fr 1fr 1fr}.bestiary-search{grid-column:1/-1}.bestiary-grid{grid-template-columns:240px minmax(380px,1fr)}.bestiary-notes{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}.quote-card{grid-column:1/-1}.bestiary-index{max-height:680px}}
@media(max-width:900px){.bestiary-controls{grid-template-columns:1fr 1fr;margin:0 18px}.bestiary-search{grid-column:1/-1}.kind-filters{grid-column:1/-1}.bestiary-grid{grid-template-columns:1fr;padding:18px}.bestiary-index{max-height:430px}.bestiary-specimen{min-height:580px}.bestiary-notes{grid-template-columns:1fr}.bestiary-ledger{margin:0 18px}.bestiary-head-actions{justify-content:flex-start}.bestiary-head{align-items:flex-start}.ledger-head{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.bestiary-controls{grid-template-columns:1fr}.kind-filters{display:grid;grid-template-columns:repeat(2,1fr)}.bestiary-search,.kind-filters{grid-column:auto}.bestiary-stats{grid-template-columns:repeat(2,1fr)}.bestiary-specimen{min-height:500px}.bestiary-specimen img{width:72%;height:60%}}


/* Armory fullness pass */
.armory-subhead{color:#bdb2a7;max-width:60ch;margin:.55rem 0 0}.armory-full .bench-grid{grid-template-columns:240px 1fr 360px}.armory-full .peg-list{max-height:760px;overflow:auto;padding-right:6px}.armory-full .peg-list button{display:grid;grid-template-columns:56px 1fr;gap:.75rem;align-items:center;text-align:left}.armory-full .peg-list img{width:56px;height:56px;margin:0}.armory-full .peg-meta b{display:block;color:#f2eadc}.armory-full .peg-meta small{display:block;color:#aa9f93;font-size:.72rem;margin-top:.12rem}.armory-side{display:grid;gap:1rem}.class-pills{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.8rem}.class-pill,.table-pill{display:inline-block;border:1px solid rgba(255,255,255,.18);background:#1a1f23;color:#e7dece;padding:.35rem .55rem;border-radius:999px;font:700 .72rem/1 ui-monospace,monospace;cursor:pointer}.class-pill:hover{background:#2a3036}.copy-link{display:inline-block;margin-top:.7rem;border:1px solid rgba(255,255,255,.2);background:#20181a;color:#f1dfd9;padding:.45rem .65rem;cursor:pointer}.detail-card{background:#15191d;border:1px solid rgba(255,255,255,.12);padding:1rem 1.05rem}.detail-card .eyebrow{color:#e2b654}.mechanic-list{list-style:none;margin:.75rem 0 0;padding:0;display:grid;gap:.55rem;max-height:340px;overflow:auto}.mechanic-list li{display:grid;gap:.12rem;border-top:1px solid rgba(255,255,255,.08);padding-top:.5rem}.mechanic-list li:first-child{border-top:0;padding-top:0}.mechanic-list b{font-size:.76rem;letter-spacing:.04em;text-transform:uppercase;color:#e7d39f}.mechanic-list span{font-size:.86rem;color:#c8bdb0}.spec-controls-5{grid-template-columns:1.4fr .8fr .8fr .9fr 1fr}.armory-ledger .flavor-cell{min-width:280px}.table-pills{display:flex;gap:.25rem;flex-wrap:wrap;margin-top:.22rem}.table-pill{padding:.18rem .35rem;font-size:.62rem;color:#c9bcac;border-color:rgba(255,255,255,.12);background:#171d22;cursor:default}.tier-label.t1{color:#c9c3bb}.tier-label.t2{color:#75afff}.tier-label.t3{color:#bf84ff}.tier-label.t4{color:#ff7177}@media (max-width:1100px){.armory-full .bench-grid{grid-template-columns:1fr}.armory-full .peg-list{display:grid;grid-template-columns:repeat(2,1fr);max-height:none}.armory-side{grid-template-columns:1fr}.spec-controls-5{grid-template-columns:1fr 1fr}.mechanic-list{max-height:none}}@media (max-width:760px){.armory-full .peg-list{grid-template-columns:1fr}.spec-controls-5{grid-template-columns:1fr}}


/* Field Manual fullness pass */
:root{--bg-2:#2a2431;--bg-3:#393140;--line:rgba(255,255,255,.15);--radius:10px;--radius-sm:6px;--mono:ui-monospace,SFMono-Regular,Consolas,monospace;--sans:Inter,ui-sans-serif,system-ui;--ink-dim:#c8becc;--ink-faint:#93899b;--plum-soft:#9d7ed2;--t1:#c8c5c0;--t2:#70aef5;--t3:#bd7af0;--t4:#ef625f}
.manual-full-page{padding:28px;background:#27242b;color:#241e20;overflow-x:visible}.manual-full-page>.command-nav{margin:-28px -28px 28px}.manual-overview{min-width:0;min-height:690px;max-width:1540px}.manual-overview .fold-panel{min-width:0}.manual-overview .fold-panel p{line-height:1.55}.manual-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem;margin:1.2rem 0}.manual-counts span{display:grid;padding:.6rem;border:1px solid rgba(70,50,45,.2);background:rgba(255,255,255,.24);font:700 .66rem/1.2 ui-monospace,monospace;text-transform:uppercase;letter-spacing:.06em}.manual-counts b{font-size:1.45rem;color:#8f5962;margin-bottom:.2rem}.manual-wave-clock div b{position:absolute;top:5px;left:50%;transform:translateX(-50%);font:700 .55rem ui-monospace,monospace;color:#efe8dc}.fold-jump{display:inline-block;margin-top:.7rem;color:#6f3448;border-bottom:1px dotted #6f3448;font:800 .68rem ui-monospace,monospace;text-transform:uppercase;letter-spacing:.08em}.stat-wheel a{color:#3a3035;text-decoration:none}.stat-wheel a:hover{color:#8f5962}.manual-reader{width:min(1500px,calc(100% - 12px));margin:30px auto 70px;display:grid;grid-template-columns:280px minmax(0,1fr);gap:22px;align-items:start}.manual-toc{position:sticky;top:84px;background:#17141b;color:#eee6d9;border:1px solid rgba(255,255,255,.12);box-shadow:var(--shadow);max-height:calc(100vh - 105px);overflow:auto}.manual-toc-head{padding:1.2rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.12)}.manual-toc-head .eyebrow{color:#e2b654}.manual-toc-head h2{font:400 1.8rem/1 Georgia,serif;margin:.35rem 0}.manual-toc-head p{color:#a99fac;margin:.4rem 0 0;font-size:.84rem}.manual-toc nav{display:grid}.manual-toc nav a{display:grid;grid-template-columns:28px 1fr;column-gap:.55rem;padding:.7rem .9rem;border-bottom:1px solid rgba(255,255,255,.08);text-decoration:none}.manual-toc nav a:hover,.manual-toc nav a.on{background:#332a3b}.manual-toc nav a.on{box-shadow:inset 4px 0 #e2b654}.manual-toc nav span{grid-row:1/3;color:#e2b654;font:800 .65rem ui-monospace,monospace}.manual-toc nav b{font-size:.72rem;letter-spacing:.08em;color:#d9ccba}.manual-toc nav small{color:#928797;font-family:Georgia,serif}.tooltip-key{margin:1rem;padding:1rem;background:#251f2b;border-left:3px solid #9d7ed2;color:#c7bcc9;font-size:.78rem}.tooltip-key b{display:block;color:#f0e5d5;margin-bottom:.45rem}.tooltip-key .stat-ref{margin-right:.35rem}.manual-document{background:#eee6d3;color:#2b2225;border:10px solid #433129;box-shadow:inset 0 0 70px rgba(90,61,45,.12),var(--shadow);padding:32px 38px 48px;min-width:0}.manual-title-sheet{padding:1rem 1rem 2rem;border-bottom:2px solid rgba(78,52,45,.22);margin-bottom:1.5rem}.manual-title-sheet .folio{font:800 .66rem ui-monospace,monospace;letter-spacing:.15em;text-transform:uppercase;color:#8f5962}.manual-title-sheet h1{font:400 clamp(3rem,7vw,6.6rem)/.8 Georgia,serif;letter-spacing:-.06em;margin:.45rem 0 1rem}.manual-title-sheet p{font:1.1rem/1.65 Georgia,serif;max-width:76ch}.manual-tools{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}.manual-tools button,.chapter-copy{border:1px solid rgba(65,45,39,.3);background:#dfd3ba;color:#6d3b4a;padding:.52rem .68rem;cursor:pointer}.manual-chapter{scroll-margin-top:90px;margin:0 0 28px;padding:24px 22px 28px;background:rgba(255,255,255,.22);border:1px solid rgba(71,49,42,.17);box-shadow:3px 5px 0 rgba(86,61,44,.08)}.manual-chapter:nth-of-type(even){background:rgba(215,201,174,.32)}.manual-chapter .chapter-heading{display:flex;align-items:baseline;gap:.5rem;font:400 clamp(1.8rem,3vw,2.8rem)/1 Georgia,serif;margin:0 0 1rem;padding-bottom:.7rem;border-bottom:1px solid rgba(72,50,43,.25);color:#2e2526}.manual-chapter .chapter-heading .step{color:#8f5962;font:800 .7rem ui-monospace,monospace;letter-spacing:.12em;margin-right:.35rem}.chapter-number{color:#b39c7d;font:800 .65rem ui-monospace,monospace}.chapter-copy{margin-left:auto;padding:.2rem .45rem;font-size:.9rem}.manual-chapter p{font-family:Georgia,serif;line-height:1.64;margin:.55rem 0 1rem}.manual-chapter a{color:#6f3448;text-decoration:none;border-bottom:1px dotted #8f5962}.manual-chapter strong,.manual-chapter b{color:#271d20}.manual-chapter .pattern{color:#6f625e;font-size:.88rem}.manual-chapter .table-wrap{overflow:auto;max-width:100%;border:1px solid rgba(60,42,37,.22);background:#f5eddd;margin:1rem 0 1.15rem;transition:max-width .2s}.manual-tables-expanded .manual-chapter .table-wrap{max-width:none;width:max-content;min-width:100%}.reftable{width:100%;border-collapse:collapse;font-size:.9rem;min-width:680px}.reftable th{position:sticky;top:0;z-index:2;text-align:left;background:#42353a;color:#eee4d3;font:800 .68rem ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;padding:.68rem .78rem}.reftable td{padding:.66rem .78rem;border-top:1px solid rgba(62,43,37,.14);vertical-align:top}.reftable td.num{font-family:ui-monospace,monospace;color:#2c2225;white-space:nowrap}.reftable td.fm-stat{font-family:ui-monospace,monospace;color:#65456e;font-weight:800;white-space:nowrap}.reftable tbody tr:hover td{background:rgba(143,89,98,.08)}.danger-ladder{display:grid;gap:.5rem}.danger-row{display:grid;grid-template-columns:45px 1fr;gap:.8rem;padding:.7rem .85rem;background:#ded2b8;border:1px solid rgba(62,43,37,.18)}.danger-row .dlabel{font:900 .86rem ui-monospace,monospace}.danger-row .ddesc{font-family:Georgia,serif}.pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.7rem;font-weight:700;margin:2px 4px 0 0;background:#d8cdb8;color:#554a4d}.pill.mod.none{background:none;padding:2px 0;color:#766a68;font-family:Georgia,serif;font-style:italic}.pill.coop{background:#335f79;color:#d7efff}.name-t1{color:#77736f}.name-t2{color:#276ba5}.name-t3{color:#74489b}.name-t4{color:#b33e45}.name-pest{color:#5d6657}.name-terror{color:#9a6927}.name-warped{color:#72468f}.name-boss{color:#a13d44}.stat-ico{width:16px;height:16px;image-rendering:pixelated;vertical-align:-3px;display:inline-block}.stat-ico.big{width:28px;height:28px}.stat-ref{cursor:help;display:inline-block;padding:0 1px}.stat-ref:hover .stat-ico,.stat-ref:focus .stat-ico{transform:scale(1.15)}.callout{background:#ddd0b5;border-left:4px solid #8f5962;padding:1rem 1.15rem;font-family:Georgia,serif}.manual-promise{margin-top:1.5rem;padding:1.1rem;border-top:2px solid rgba(70,48,42,.24);font:italic 1rem Georgia,serif;color:#685b58}
/* tooltip and entity peek grammar preserved from the Command */
a.pill-link{text-decoration:none}.peek-card{position:fixed;z-index:80;width:280px;background:#2a2431;color:#eee6dc;border:1px solid rgba(255,255,255,.16);border-radius:10px;box-shadow:0 22px 55px rgba(0,0,0,.48);padding:12px 14px;font-size:.88rem}.peek-head{display:flex;align-items:center;gap:10px}.peek-name{font-weight:800;font-size:.98rem}.peek-sub{margin-top:6px;display:flex;flex-wrap:wrap;gap:4px}.peek-ribbon{margin-top:10px;display:flex;gap:4px}.chip{padding:7px 12px;border-radius:999px;font-size:.82rem;font-weight:600;background:#393140;color:#c8becc;border:1px solid transparent;cursor:pointer}.peek-ribbon .chip{padding:3px 9px;font-size:.74rem}.chip.on{background:#9d7ed2;color:white}.chip[data-tier="1"].on{background:#c8c5c0;color:#111}.chip[data-tier="2"].on{background:#70aef5;color:#111}.chip[data-tier="3"].on{background:#bd7af0;color:#111}.chip[data-tier="4"].on{background:#ef625f;color:#111}.peek-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px}.peek-stats .ps{background:#393140;border-radius:6px;padding:5px 4px;text-align:center}.peek-stats .ps b{display:block;font-family:ui-monospace,monospace;font-size:.92rem;color:#f2e9df}.peek-stats .ps span{font-size:.6rem;letter-spacing:.6px;color:#93899b;text-transform:uppercase}.peek-text{margin-top:9px;color:#c8becc;line-height:1.45}.peek-open{display:inline-block;margin-top:10px;font-weight:700;font-size:.82rem;color:#d8c0ff}.peek-dim{color:#93899b;font-size:.8em}.dossier-icon{flex:0 0 auto;align-self:center;image-rendering:pixelated;border-radius:6px;background:rgba(127,110,140,.14);padding:2px;object-fit:contain;max-width:96px;max-height:96px}.dossier-icon.sprite{image-rendering:auto}.pill.wclass{background:#3a3150;color:#e2d6f2}.peek-body{text-align:center;margin-top:8px}.peek-body img{width:96px;height:96px;image-rendering:pixelated;object-fit:contain}.v-up{color:#7fd68b;font-weight:600}.v-down{color:#ff8585;font-weight:600}
@media(max-width:1180px){.manual-overview{grid-template-columns:1fr 1fr}.manual-reader{grid-template-columns:1fr}.manual-toc{position:relative;top:auto;max-height:none}.manual-toc nav{grid-template-columns:repeat(3,1fr)}.manual-toc nav a{border-right:1px solid rgba(255,255,255,.08)}.manual-document{padding:26px 22px}.manual-full-page{padding:18px}.manual-full-page>.command-nav{margin:-18px -18px 18px}}
@media(max-width:760px){.manual-overview{grid-template-columns:1fr}.manual-toc nav{grid-template-columns:1fr 1fr}.manual-document{border-width:5px;padding:18px 12px}.manual-chapter{padding:18px 12px}.manual-chapter .chapter-heading{font-size:1.55rem;flex-wrap:wrap}.chapter-copy{margin-left:0}.manual-counts{grid-template-columns:1fr}.reftable{font-size:.82rem}.peek-card{width:min(280px,calc(100vw - 16px))}}


/* Shared page texture background pass */
body.case-page,
body.work-page,
body.manual-full-page{
  background-color:#241f45;
  background-image:
    linear-gradient(to bottom, rgba(18,14,33,.34), rgba(18,14,33,.34)),
    url('assets/ui/page_texture.png');
  background-repeat:no-repeat, no-repeat;
  background-position:center top, center top;
  background-size:auto, cover;
  background-attachment:fixed, fixed;
}
body.case-page .case-desk,
body.work-page .workbench,
body.manual-full-page .manual-reader,
body.manual-full-page .manual-overview{
  position:relative;
  z-index:1;
}
body.case-page .case-top,
body.work-page .work-top,
body.manual-full-page .manual-reader,
body.manual-full-page .manual-overview{
  backdrop-filter:saturate(1.02);
}
@media (max-width: 900px){
  body.case-page,
  body.work-page,
  body.manual-full-page{
    background-attachment:scroll, scroll;
    background-size:auto, auto 1000px;
  }
}

/* Home correction: preserve the original header/banner ground.
   The supplied texture belongs only behind the Yard on Home. */
body.command-home{
  background:#0c0912;
  color:#f4efe5;
}


/* Responsive texture-to-black gutter fade
   Each side gutter is treated as a column:
   - inner half beside the content remains fully textured;
   - outer half fades evenly;
   - solid black is reached 5vw before the browser wall. */

body.case-page,
body.work-page,
body.manual-full-page{
  isolation:isolate;
  position:relative;
  background-color:#000;
}

body.case-page,
body.work-page{
  --ckw-content-span:min(1500px, calc(100vw - 48px));
}

body.manual-full-page{
  --ckw-content-span:min(1540px, calc(100vw - 56px));
}

body.case-page::after,
body.work-page::after,
body.manual-full-page::after{
  --ckw-side-gutter:max(0px, calc((100vw - var(--ckw-content-span)) / 2));
  /* Keep the texture visible almost all the way to the browser edge.
     Fade only through the outer half of each visible side gutter,
     reaching full black about 5vw from the screen edge. */
  --ckw-fade-inner:max(
    8vw,
    calc(var(--ckw-side-gutter) * .5)
  );
  content:"";
  position:fixed;
  z-index:0;
  inset:0;
  pointer-events:none;
  background:linear-gradient(
    to right,
    #000 0,
    #000 5vw,
    rgba(0,0,0,.78) 6vw,
    rgba(0,0,0,.28) 7.25vw,
    rgba(0,0,0,0) var(--ckw-fade-inner),
    rgba(0,0,0,0) calc(100% - var(--ckw-fade-inner)),
    rgba(0,0,0,.28) calc(100% - 7.25vw),
    rgba(0,0,0,.78) calc(100% - 6vw),
    #000 calc(100% - 5vw),
    #000 100%
  );
}

body.case-page > *,
body.work-page > *,
body.manual-full-page > *{
  position:relative;
  z-index:1;
}

/* Home keeps its original header/banner.
   The Yard texture runs wall to wall like the other Command locations. */
.yard-home-stage{
  isolation:isolate;
  overflow:hidden;
}

.yard-home-stage::before{
  z-index:0;
}

.yard-frame,
.yard-legend{
  position:relative;
  z-index:1;
}

/* Once the page column nearly fills the viewport, there is no meaningful
   side column to divide. Keep a restrained edge vignette instead. */
@media (max-width:1650px){
  body.case-page::after,
  body.work-page::after,
  body.manual-full-page::after{
    background:linear-gradient(
      to right,
      #000 0,
      rgba(0,0,0,.88) 2vw,
      rgba(0,0,0,.42) 4vw,
      rgba(0,0,0,0) 9.5vw,
      rgba(0,0,0,0) calc(100% - 9.5vw),
      rgba(0,0,0,.42) calc(100% - 4vw),
      rgba(0,0,0,.88) calc(100% - 2vw),
      #000 100%
    );
  }
}


/* Approved Home map label refinement only. */
.symbol-landmarks .place-pill{margin-top:-6px}
.symbol-landmarks .place-pill small{display:none!important}


/* ------------------------------------------------------------------
   Shared sticky Command header
   The texture-fade layer assigns position:relative to top-level page
   children. This explicit final rule restores the header's sticky
   positioning on every connected page and keeps content passing below it.
   ------------------------------------------------------------------ */
body.has-command > .command-nav{
  position:sticky !important;
  top:0;
  z-index:1000 !important;
  isolation:isolate;
}

/* Leave anchored content visible beneath the retained navigation bar. */
html{
  scroll-padding-top:88px;
}

/* The Manual already has a sticky chapter index. Keep it below the
   retained Command header rather than allowing the two layers to overlap. */
body.manual-full-page .manual-toc{
  top:84px;
  max-height:calc(100vh - 105px);
}
body.manual-full-page .manual-chapter{
  scroll-margin-top:96px;
}

@media(max-width:1180px){
  /* At this width the Manual chapter index becomes part of normal flow,
     while the Command header remains retained. */
  body.manual-full-page .manual-toc{
    top:auto;
    max-height:none;
  }
}


/* Complete Armory index */
.armory-full .peg-list{
  align-content:start;
}
.peg-index-head{
  position:sticky;
  top:0;
  z-index:3;
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:.6rem;
  margin:-1px -1px .2rem;
  padding:.72rem .65rem;
  background:#171b1f;
  border:1px solid rgba(255,255,255,.15);
  color:#f3eadc;
  box-shadow:0 8px 14px rgba(0,0,0,.28);
}
.peg-index-head b{
  font:800 .72rem/1 ui-monospace,monospace;
  text-transform:uppercase;
  letter-spacing:.09em;
}
.peg-index-head span{
  color:#e2b654;
  font:700 .66rem/1 ui-monospace,monospace;
}
.peg-tier-head{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:.5rem;
  margin:.45rem 0 -.35rem;
  padding:.52rem .45rem .4rem;
  border-bottom:1px solid rgba(255,255,255,.13);
  color:#d8cebf;
}
.peg-tier-head b{
  font:800 .66rem/1 ui-monospace,monospace;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.peg-tier-head span{
  color:#958a80;
  font:600 .62rem/1 ui-monospace,monospace;
}
.peg-tier-head.t1 b{color:#c8c5c0}
.peg-tier-head.t2 b{color:#70aef5}
.peg-tier-head.t3 b{color:#bd7af0}
.peg-tier-head.t4 b{color:#ef625f}


/* Obsolete circle-pattern background experiment removed.
   Bestiary, Armory, and Manual now use the Home/Porch plum texture. */

/* Yard plum background + slight armory rail width correction */
.armory-full .bench-grid{grid-template-columns:246px 1fr 360px;}
.armory-full .peg-list{padding-left:2px;padding-right:8px;}
.armory-full .peg-list button.on{outline-offset:0;}
@media (max-width:1100px){.armory-full .bench-grid{grid-template-columns:1fr;}}


/* ------------------------------------------------------------------
   Full Roster migration
   Preserves the Muster Parade's dominant visual identity while carrying
   the Command's complete 48-cat dataset and entity tooltip grammar.
   ------------------------------------------------------------------ */
.roster-full-page{overflow-x:hidden;overflow-y:auto;background:#ece6d9;color:#251d2a}.roster-head{height:auto;min-height:88px;gap:1.2rem;position:relative;z-index:6}.roster-head>div:first-child{display:grid;gap:.2rem}.roster-head-note{font:italic .82rem/1.3 Georgia,serif;color:#776b78}.roster-head-facts{margin-left:auto}.roster-head-facts span{display:grid;gap:.08rem;text-align:center}.roster-head-facts b{font:900 1rem/1 ui-monospace,monospace;color:#875268}.roster-ledger-open{border:1px solid #2c2231;background:#2a2031;color:#f5eee3;padding:.65rem .85rem;cursor:pointer;white-space:nowrap}.roster-main{grid-template-columns:310px minmax(0,1fr);min-height:calc(100vh - 176px)}.roster-rollcall{position:relative;border-right:2px solid #2c2231;background:#ddd3bf;min-width:0}.rollcall-tools{position:sticky;top:72px;z-index:5;display:grid;gap:.65rem;padding:20px 20px 14px;background:#ddd3bf;border-bottom:2px solid #2c2231;box-shadow:0 10px 18px rgba(44,34,49,.10)}.rollcall-tools>div:first-child{display:flex;justify-content:space-between;align-items:baseline;gap:.8rem}.rollcall-tools .eyebrow{padding:0}.rollcall-tools span{color:#875268;font:800 .68rem ui-monospace,monospace}.rollcall-tools input,.rollcall-tools select{width:100%;border:1px solid rgba(44,34,49,.38);background:#f4eee2;color:#251d2a;padding:.62rem .7rem}.rollcall-list{max-height:calc(100vh - 245px);overflow:auto;padding-bottom:24px}.rollcall-list button{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:11px;width:100%;border:0;border-bottom:1px solid rgba(37,29,42,.17);background:transparent;padding:11px 16px 11px 20px;text-align:left;cursor:pointer;color:#251d2a}.rollcall-list button:hover{background:rgba(255,255,255,.3)}.rollcall-list button.on{background:#2a2031;color:#f5eee3;box-shadow:inset 5px 0 var(--cat)}.rollcall-list button img{width:46px;height:46px;object-fit:contain;image-rendering:pixelated}.rollcall-list button strong{display:block;color:inherit}.rollcall-list button small{display:block;opacity:.68;font-size:.68rem;margin-top:.14rem}.rollcall-list button em{font:800 .65rem ui-monospace,monospace;color:var(--cat);font-style:normal}.rollcall-empty{padding:1rem 20px;color:#776b78;font-family:Georgia,serif}.roster-stage{min-height:790px;overflow:hidden}.cat-hero-link{position:absolute;left:0;top:0;width:100%;height:100%;z-index:1}.cat-hero-link .cat-hero{pointer-events:none}.roster-stage .cat-copy{z-index:3}.roster-stage .cat-copy .rule{line-height:1.48}.roster-stage .cat-copy .lore{line-height:1.45}.roster-rule-stat{display:inline-flex;align-items:center;gap:.18em;cursor:help;border-bottom:1px dotted rgba(111,70,95,.45);white-space:nowrap}.roster-inline-stat-icon{margin-right:.02em}.roster-related{display:flex;align-items:center;flex-wrap:wrap;gap:.38rem;margin-top:1rem;font-size:.68rem}.roster-related>span{text-transform:uppercase;letter-spacing:.09em;color:#8b7a88;font-weight:800}.roster-related a{color:#6d3d55;text-decoration:none;border:1px solid rgba(109,61,85,.3);padding:.28rem .4rem;background:rgba(255,255,255,.26)}.cat-mods-panel{position:absolute;right:3%;top:11%;width:29%;z-index:3}.cat-mods-panel>.eyebrow{color:#775f80;margin-bottom:.45rem}.cat-mods{position:static;width:auto;display:grid;gap:6px}.roster-mod{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:.4rem;min-height:38px;padding:.5rem .58rem;border:1px solid rgba(37,29,42,.22);background:rgba(247,241,231,.72);font-family:ui-monospace,monospace;cursor:help}.roster-mod.secondary{grid-template-columns:auto minmax(0,1fr)}.roster-mod b{font-size:.9rem}.roster-mod.up b{color:#36733b}.roster-mod.down b{color:#a33f47}.roster-mod span:last-child{font-size:.72rem}.roster-mod-icon{width:20px;height:20px}.grammar-key{display:flex;align-items:flex-start;gap:.38rem;margin:.65rem 0 0;color:#756a73;font:italic .68rem/1.35 Georgia,serif}.grammar-key .stat-ico{flex:0 0 auto}.roster-kit{z-index:3;left:44%;right:3%;bottom:5%;padding-top:.85rem}.kit-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:.55rem}.kit-heading>div{display:grid}.kit-heading>div>span{font:.68rem ui-monospace,monospace;color:#806f7d}.kit-heading>a{font:800 .68rem ui-monospace,monospace;color:#6d3d55;text-decoration:none}.kit-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.42rem;max-height:190px;overflow:auto;padding-right:3px}.roster-weapon{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:.45rem;min-width:0;border:1px solid rgba(44,34,49,.28);background:#f7f1e7;color:#2c2231;padding:.38rem .42rem;text-decoration:none}.roster-weapon:hover{background:white}.roster-weapon img{width:38px;height:38px;object-fit:contain;image-rendering:pixelated}.roster-weapon b,.roster-weapon small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roster-weapon b{font-size:.72rem}.roster-weapon small{font-size:.57rem;color:#786d77;text-transform:uppercase}.roster-weapon.t1{border-left:4px solid #8d8882}.roster-weapon.t2{border-left:4px solid #4b8bc3}.roster-weapon.t3{border-left:4px solid #8550ad}.roster-weapon.t4{border-left:4px solid #b33e45}.roster-general-pool{display:grid;grid-column:1/-1;padding:.75rem .85rem;border:1px solid rgba(44,34,49,.28);background:#f7f1e7;color:#2c2231;text-decoration:none}.roster-general-pool span{font-weight:800}.roster-general-pool small{color:#786d77}.roster-stage .cat-seal{z-index:4;border:2px solid #8f5665;background:rgba(244,238,226,.62);font-family:inherit;cursor:pointer}.roster-stage .cat-seal small{display:block;margin-top:.2rem;font-size:.55rem;letter-spacing:.06em}.roster-none{font:italic .8rem Georgia,serif;color:#776b78}.roster-ledger{display:none;width:min(1500px,calc(100% - 40px));margin:28px auto 60px;border:2px solid #2c2231;background:#ddd3bf;color:#251d2a;box-shadow:0 30px 70px rgba(42,32,49,.2)}.roster-ledger.open{display:block}.roster-ledger>header{display:flex;justify-content:space-between;align-items:start;gap:2rem;padding:24px 28px;border-bottom:2px solid #2c2231;background:#f4eee2}.roster-ledger h2{font-size:2.5rem;line-height:1;margin:.35rem 0}.roster-ledger header p{max-width:72ch;margin:.35rem 0;color:#756a73}.roster-ledger header button{border:1px solid #2c2231;background:#2a2031;color:#f5eee3;padding:.6rem .75rem;cursor:pointer}.roster-ledger-summary{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 28px;color:#6e626d;font-size:.78rem}.roster-ledger-summary span:first-child{color:#875268;font-weight:800}.roster-table-wrap{max-height:70vh;overflow:auto;border-top:1px solid rgba(44,34,49,.2)}.roster-table{width:100%;min-width:1320px;border-collapse:collapse}.roster-table th,.roster-table td{text-align:left;vertical-align:top;padding:.7rem .75rem;border-bottom:1px solid rgba(44,34,49,.14)}.roster-table th{position:sticky;top:0;z-index:4;background:#2a2031;color:#f4eee2;font:800 .66rem ui-monospace,monospace;text-transform:uppercase;letter-spacing:.09em}.roster-table tbody tr:hover{background:rgba(255,255,255,.27)}.ledger-cat{display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:.55rem;color:#251d2a;text-decoration:none;min-width:165px}.ledger-cat img{width:54px;height:54px;object-fit:contain;image-rendering:pixelated}.ledger-cat b{display:block;color:color-mix(in srgb,var(--cat) 58%,#251d2a)}.ledger-cat small{color:#776b78}.ledger-rule{min-width:270px;font-family:Georgia,serif;line-height:1.45}.ledger-mods{display:grid;gap:.3rem;min-width:210px}.ledger-mods .roster-mod{min-height:30px;padding:.32rem .4rem}.ledger-kit{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:.3rem;min-width:330px}.roster-weapon.compact{grid-template-columns:30px minmax(0,1fr);padding:.27rem .32rem}.roster-weapon.compact img{width:30px;height:30px}.roster-general-pool.compact{padding:.55rem}.ledger-lore{min-width:220px;font:italic .9rem/1.45 Georgia,serif;color:#695d68}.roster-full-page .peek-card{z-index:1400}
@media(max-width:1200px){.roster-main{grid-template-columns:260px minmax(0,1fr)}.cat-mods-panel{width:31%;right:2%}.kit-links{grid-template-columns:repeat(2,minmax(0,1fr))}.roster-head-facts{display:none}}
@media(max-width:900px){.roster-head{align-items:flex-start;flex-wrap:wrap;padding:18px 20px}.roster-main{grid-template-columns:1fr}.roster-rollcall{border-right:0;border-bottom:2px solid #2c2231}.rollcall-tools{top:64px}.rollcall-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:380px}.rollcall-list button{border-right:1px solid rgba(37,29,42,.17)}.roster-stage{min-height:920px}.cat-hero{left:3%;bottom:24%;width:45%;height:57%}.cat-copy{left:42%;top:12%;width:52%}.cat-mods-panel{left:4%;right:auto;top:57%;width:38%}.roster-kit{left:44%;bottom:4%}.cat-seal{display:none}.roster-ledger{width:calc(100% - 24px)}}
@media(max-width:650px){.rollcall-list{grid-template-columns:1fr}.roster-stage{min-height:1120px}.huge-name{font-size:4.5rem}.cat-hero{left:10%;top:8%;bottom:auto;width:80%;height:37%}.cat-copy{left:7%;right:7%;top:39%;width:auto}.cat-mods-panel{left:7%;right:7%;top:60%;width:auto}.roster-kit{left:7%;right:7%;bottom:3%}.kit-links{grid-template-columns:1fr}.roster-ledger-open{width:100%}}

/* Neutralize the original compact kit-pill rule inside the full linked kit. */
.roster-kit .kit-heading span,
.roster-kit .roster-weapon span,
.roster-kit .roster-general-pool span{
  display:block;
  border:0;
  background:transparent;
  padding:0;
  margin:0;
  text-transform:none;
  letter-spacing:normal;
}


/* ------------------------------------------------------------------
   Roster rule emphasis + complete general starting kits
   ------------------------------------------------------------------ */
.cat-rule-card{
  --rule-cat:#806a80;
  position:relative;
  margin:.8rem 0 .78rem;
  padding:.72rem .88rem .82rem 1rem;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--rule-cat) 46%,#5c4656);
  border-left:7px solid color-mix(in srgb,var(--rule-cat) 70%,#5d354d);
  border-radius:4px 14px 14px 4px;
  background:
    linear-gradient(
      112deg,
      color-mix(in srgb,var(--rule-cat) 21%,#f5ede1) 0,
      color-mix(in srgb,var(--rule-cat) 10%,#f5ede1) 42%,
      rgba(247,241,231,.92) 100%
    );
  box-shadow:
    0 9px 20px rgba(44,34,49,.13),
    inset 0 1px rgba(255,255,255,.5);
}
.cat-rule-card::after{
  content:"";
  position:absolute;
  right:-28px;
  top:-30px;
  width:96px;
  height:96px;
  border:20px solid color-mix(in srgb,var(--rule-cat) 13%,transparent);
  border-radius:50%;
  pointer-events:none;
}
.cat-rule-kicker{
  position:relative;
  z-index:1;
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:.7rem;
  margin-bottom:.42rem;
  padding-bottom:.36rem;
  border-bottom:1px solid color-mix(in srgb,var(--rule-cat) 28%,rgba(44,34,49,.2));
}
.cat-rule-kicker span{
  color:color-mix(in srgb,var(--rule-cat) 62%,#4f2d42);
  font:900 .64rem/1 ui-monospace,monospace;
  text-transform:uppercase;
  letter-spacing:.13em;
}
.cat-rule-kicker b{
  color:#766775;
  font:italic 600 .64rem/1.1 Georgia,serif;
}
.roster-stage .cat-copy .cat-rule-card .rule{
  position:relative;
  z-index:1;
  margin:0;
  color:#302531;
  font:700 clamp(1rem,1.62vw,1.32rem)/1.4 Georgia,serif;
}
.cat-rule-card.rule-tone-pale{
  border-left-color:color-mix(in srgb,var(--rule-cat) 42%,#6c3f57);
  background:
    linear-gradient(
      112deg,
      color-mix(in srgb,var(--rule-cat) 34%,#eee3d5),
      rgba(247,241,231,.94) 68%
    );
}
.cat-rule-card.rule-tone-deep{
  border-left-color:color-mix(in srgb,var(--rule-cat) 35%,#b57c9d);
  background:
    linear-gradient(
      112deg,
      color-mix(in srgb,var(--rule-cat) 12%,#eee4d8),
      rgba(247,241,231,.95) 66%
    );
}
.cat-rule-card.rule-tone-warm{
  box-shadow:
    0 9px 20px rgba(77,40,42,.14),
    inset 0 1px rgba(255,255,255,.5);
}
.cat-rule-card.rule-tone-cool{
  box-shadow:
    0 9px 20px rgba(43,43,78,.15),
    inset 0 1px rgba(255,255,255,.5);
}

/* The 43-weapon general pool uses exactly the same card grammar and
   hover/deep-link behavior as every custom starting kit. */
.roster-kit .kit-links.general-kit{
  max-height:226px;
}
.roster-kit .kit-links.general-kit .roster-weapon{
  background:color-mix(in srgb,var(--cat) 5%,#f7f1e7);
}
.ledger-kit.general-kit{
  max-height:260px;
  overflow:auto;
  padding-right:4px;
  border-right:1px solid rgba(44,34,49,.11);
}
.ledger-kit.general-kit .roster-weapon{
  background:#f7f1e7;
}

/* The complete ledger keeps Rule visually privileged without becoming
   louder than the main parade card. */
.ledger-rule-card{
  --rule-cat:#806a80;
  min-width:250px;
  padding:.62rem .72rem .72rem;
  border:1px solid color-mix(in srgb,var(--rule-cat) 40%,#725e68);
  border-left:5px solid color-mix(in srgb,var(--rule-cat) 66%,#5d354d);
  border-radius:3px 10px 10px 3px;
  background:
    linear-gradient(
      110deg,
      color-mix(in srgb,var(--rule-cat) 18%,#f2e8da),
      rgba(247,241,231,.9)
    );
  box-shadow:0 5px 12px rgba(44,34,49,.08);
}
.ledger-rule-card>span{
  display:block;
  margin-bottom:.32rem;
  color:color-mix(in srgb,var(--rule-cat) 62%,#4f2d42);
  font:900 .59rem/1 ui-monospace,monospace;
  text-transform:uppercase;
  letter-spacing:.11em;
}
.ledger-rule-card p{
  margin:0;
  color:#302531;
  font:700 .88rem/1.42 Georgia,serif;
}
.ledger-rule-card.rule-tone-pale{
  border-left-color:color-mix(in srgb,var(--rule-cat) 42%,#6c3f57);
}
.ledger-rule-card.rule-tone-deep{
  border-left-color:color-mix(in srgb,var(--rule-cat) 35%,#b57c9d);
}

@media(max-width:900px){
  .cat-rule-card{
    max-width:680px;
  }
}
@media(max-width:650px){
  .cat-rule-kicker{
    align-items:flex-start;
    flex-direction:column;
    gap:.24rem;
  }
}


/* ==================================================================
   COMMAND STRIP — modern shared navigation seam
   The page stages remain the protagonists. This strip connects them
   without behaving like a sixth dashboard panel.
   ================================================================== */
:root{
  --command-strip-h:62px;
  --command-strip-compact-h:52px;
  --command-strip-gold:#e7b853;
  --command-strip-ink:#17121d;
  --command-strip-plum:#a99ab6;
}

.command-nav{
  position:sticky;
  top:0;
  z-index:1000;
  color:#f5eee5;
  background-color:rgba(19,15,24,.975);
  background-image:
    linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,0) 46%),
    repeating-linear-gradient(
      90deg,
      transparent 0 39px,
      rgba(255,255,255,.012) 40px
    );
  background-size:auto,40px 100%;
  border:0;
  border-bottom:1px solid rgba(231,184,83,.24);
  box-shadow:
    0 12px 28px rgba(0,0,0,.32),
    inset 0 -1px rgba(255,255,255,.035);
  transition:
    background-color .18s ease,
    box-shadow .18s ease;
}
.command-nav::after{
  content:"";
  position:absolute;
  inset:auto 0 -1px;
  height:1px;
  background:linear-gradient(
    90deg,
    transparent,
    rgba(231,184,83,.20) 18%,
    rgba(231,184,83,.20) 82%,
    transparent
  );
  pointer-events:none;
}
.command-nav.is-scrolled{
  background-color:rgba(16,13,20,.992);
  box-shadow:
    0 10px 24px rgba(0,0,0,.42),
    inset 0 -1px rgba(255,255,255,.035);
}

.command-nav-inner{
  width:min(1380px,calc(100% - 28px));
  min-height:var(--command-strip-h);
  margin:auto;
  padding:0;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:clamp(16px,2.4vw,36px);
  transition:min-height .18s ease;
}
.command-nav.is-scrolled .command-nav-inner{
  min-height:var(--command-strip-compact-h);
}

.command-brand{
  min-width:0;
  display:flex;
  align-items:center;
  gap:.68rem;
  color:#f8f2e9;
  text-decoration:none;
  white-space:nowrap;
}
.command-brand:hover{
  text-decoration:none;
}
.command-seal{
  width:35px;
  height:35px;
  flex:0 0 35px;
  display:grid;
  place-items:center;
  transition:transform .18s ease;
}
.command-brand:hover .command-seal{
  transform:rotate(-4deg) scale(1.035);
}
.command-seal svg{
  width:100%;
  height:100%;
  overflow:visible;
}
.command-seal .seal-ring{
  fill:rgba(231,184,83,.055);
  stroke:rgba(231,184,83,.72);
  stroke-width:1.25;
}
.command-seal .seal-paw{
  fill:var(--command-strip-gold);
  transform:scale(.72);
  transform-origin:center;
}
.command-wordmark{
  display:grid;
  line-height:1;
}
.command-wordmark b{
  color:#f7f0e8;
  font:850 .85rem/1 ui-sans-serif,system-ui,sans-serif;
  letter-spacing:.035em;
}
.command-wordmark small{
  margin-top:.3rem;
  color:#b5a7c0;
  font:800 .56rem/1 ui-monospace,monospace;
  text-transform:uppercase;
  letter-spacing:.24em;
}

.command-nav nav{
  min-width:0;
  height:100%;
  display:flex;
  align-items:stretch;
  justify-content:center;
  gap:clamp(6px,1.1vw,18px);
  flex-wrap:nowrap;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:none;
  scroll-snap-type:x proximity;
}
.command-nav nav::-webkit-scrollbar{
  display:none;
}
.command-nav nav a{
  position:relative;
  flex:0 0 auto;
  min-height:var(--command-strip-h);
  display:flex;
  align-items:center;
  padding:0 .28rem;
  border-radius:0;
  color:#bdb1c6;
  background:transparent;
  text-decoration:none;
  font:760 .77rem/1 ui-sans-serif,system-ui,sans-serif;
  letter-spacing:.025em;
  scroll-snap-align:center;
  transition:
    color .16s ease,
    min-height .18s ease;
}
.command-nav.is-scrolled nav a{
  min-height:var(--command-strip-compact-h);
}
.command-nav nav a::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  width:0;
  height:2px;
  transform:translateX(-50%);
  border-radius:2px 2px 0 0;
  background:var(--command-strip-gold);
  box-shadow:0 0 13px rgba(231,184,83,.28);
  transition:width .16s ease;
}
.command-nav nav a:hover{
  color:#fffaf2;
  background:transparent;
}
.command-nav nav a:hover::after{
  width:42%;
}
.command-nav nav a.active{
  color:#fffaf2;
  background:transparent;
  box-shadow:none;
}
.command-nav nav a.active::before{
  content:"";
  position:absolute;
  left:50%;
  bottom:5px;
  width:5px;
  height:5px;
  transform:translateX(-50%) rotate(45deg);
  background:var(--command-strip-gold);
  border-radius:1px;
}
.command-nav nav a.active::after{
  width:72%;
}

.command-notes{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.15rem .15rem .15rem .55rem;
  border:0;
  border-left:1px solid rgba(255,255,255,.11);
  border-radius:0;
  color:#a99daf;
  background:transparent;
  text-decoration:none;
  white-space:nowrap;
  font:800 .61rem/1 ui-monospace,monospace;
  text-transform:uppercase;
  letter-spacing:.12em;
  transition:color .16s ease;
}
.command-notes:hover,
.command-notes.active{
  color:#f1e9df;
  background:transparent;
}
.command-notes-mark{
  display:grid;
  place-items:center;
  width:25px;
  height:25px;
  color:var(--command-strip-gold);
  border:1px solid rgba(231,184,83,.28);
  border-radius:50%;
  font-size:.52rem;
  letter-spacing:.06em;
}
.command-notes.active .command-notes-mark{
  background:rgba(231,184,83,.12);
  border-color:rgba(231,184,83,.52);
}

.command-brand:focus-visible,
.command-nav nav a:focus-visible,
.command-notes:focus-visible{
  outline:2px solid var(--command-strip-gold);
  outline-offset:4px;
}

/* Keep page anchors and the Manual chapter index clear of the strip. */
html{
  scroll-padding-top:76px;
}
body.manual-full-page .manual-toc{
  top:74px;
  max-height:calc(100vh - 94px);
}
body.manual-full-page .manual-chapter{
  scroll-margin-top:84px;
}

/* The navigation never wraps into a second dashboard row. */
@media(max-width:900px){
  .command-nav-inner{
    width:calc(100% - 18px);
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:12px;
  }
  .command-nav nav{
    justify-content:flex-start;
  }
  .command-nav nav a{
    padding:0 .34rem;
    font-size:.73rem;
  }
  .command-notes-label{
    display:none;
  }
  .command-notes{
    padding-left:.45rem;
  }
}
@media(max-width:640px){
  :root{
    --command-strip-h:56px;
    --command-strip-compact-h:50px;
  }
  .command-nav-inner{
    width:calc(100% - 12px);
    gap:8px;
  }
  .command-seal{
    width:31px;
    height:31px;
    flex-basis:31px;
  }
  .command-wordmark b{
    font-size:0;
  }
  .command-wordmark b::after{
    content:"CKW";
    font-size:.72rem;
    letter-spacing:.08em;
  }
  .command-wordmark small{
    margin-top:.23rem;
    font-size:.5rem;
    letter-spacing:.16em;
  }
  .command-nav nav{
    gap:10px;
  }
  .command-nav nav a{
    padding:0 .12rem;
    font-size:.69rem;
  }
  .command-notes{
    border-left:0;
    padding-left:0;
  }
  .command-notes-mark{
    width:24px;
    height:24px;
  }
}
@media(prefers-reduced-motion:reduce){
  .command-nav,
  .command-nav-inner,
  .command-nav nav a,
  .command-nav nav a::after,
  .command-seal{
    transition:none;
  }
}


/* ==================================================================
   THE PORCH — complete warm-guide migration
   A different register from the dossiers: dusk outside, lamplight,
   worn paper, and one chair per kind of question.
   ================================================================== */
.porch-page{
  --porch-accent:#9a6c79;
  --porch-accent-2:#d6ad61;
  min-height:100vh;
  color:#31272d;
  background-color:#17121c;
  background-image:
    linear-gradient(rgba(18,13,23,.42),rgba(18,13,23,.62)),
    url('assets/ui/yard_plum_texture.png');
  background-size:auto,cover;
  background-position:center top;
  background-attachment:fixed;
}
.porch-first{--porch-accent:#657b68;--porch-accent-2:#c89b50}
.porch-ways{--porch-accent:#61738b;--porch-accent-2:#c78b82}
.porch-buys{--porch-accent:#9b5c4d;--porch-accent-2:#d2a34d}
.porch-wave{--porch-accent:#5e527e;--porch-accent-2:#bb8b67}
.porch-main{width:min(1480px,calc(100% - 34px));margin:0 auto 56px}
.porch-hero{position:relative;min-height:360px;display:grid;grid-template-columns:minmax(0,.86fr) minmax(430px,1.14fr);overflow:hidden;border-left:1px solid rgba(255,255,255,.12);border-right:1px solid rgba(255,255,255,.12);background:
 linear-gradient(105deg,rgba(21,16,27,.98) 0 42%,rgba(21,16,27,.66) 64%,rgba(21,16,27,.2)),
 radial-gradient(circle at 78% 42%,color-mix(in srgb,var(--porch-accent) 30%,transparent),transparent 37%)}
.porch-hero:after{content:"";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,var(--porch-accent-2),transparent);opacity:.52}
.porch-hero-copy{position:relative;z-index:3;align-self:center;padding:clamp(44px,6vw,82px)}
.porch-kicker{color:var(--porch-accent-2);font:800 .65rem/1 ui-monospace,monospace;text-transform:uppercase;letter-spacing:.16em}
.porch-hero h1{max-width:8ch;margin:.7rem 0 .75rem;color:#f4ebdf;font:850 clamp(4rem,8vw,8.5rem)/.78 ui-sans-serif,system-ui,sans-serif;letter-spacing:-.078em}
.porch-hero-copy>p{max-width:40ch;margin:0;color:#bcaec1;font:italic clamp(1rem,1.8vw,1.35rem)/1.42 Georgia,serif}
.porch-home-link{display:inline-flex;gap:.55rem;margin-top:1.4rem;color:#eee3d6;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.18);padding:.45rem 0;font:750 .72rem ui-sans-serif,system-ui,sans-serif}
.porch-home-link span{color:var(--porch-accent-2)}
.porch-hero-art{position:relative;min-height:360px;display:grid;place-items:center;overflow:hidden}
.porch-hero-art:before{content:"";position:absolute;inset:8% 5%;border-radius:50%;background:radial-gradient(circle,rgba(232,185,95,.18),transparent 64%);filter:blur(12px)}
.porch-hero-art img{position:relative;z-index:2;width:min(760px,112%);max-height:430px;object-fit:contain;filter:drop-shadow(0 28px 28px rgba(0,0,0,.52)) saturate(.92)}
.porch-lamp{position:absolute;z-index:3;right:25%;top:35%;width:12px;height:18px;border-radius:50%;background:#ffd878;box-shadow:0 0 18px 9px rgba(255,205,108,.24);opacity:.72}
.porch-chair-strip{position:sticky;top:62px;z-index:30;display:grid;grid-template-columns:repeat(5,1fr);border:1px solid rgba(255,255,255,.12);border-top:0;background:rgba(22,17,27,.97);box-shadow:0 16px 32px rgba(0,0,0,.28)}
.porch-chair-strip a{position:relative;display:flex;align-items:center;justify-content:center;min-height:54px;padding:.5rem 1rem;color:#a99dab;text-decoration:none;border-right:1px solid rgba(255,255,255,.09);font:760 .72rem/1 ui-sans-serif,system-ui,sans-serif}
.porch-chair-strip a:last-child{border-right:0}.porch-chair-strip a:hover{color:#f7efe6;background:rgba(255,255,255,.035)}
.porch-chair-strip a.active{color:#fff7ed;background:color-mix(in srgb,var(--porch-accent) 18%,transparent)}
.porch-chair-strip a.active:after{content:"";position:absolute;left:22%;right:22%;bottom:0;height:3px;background:var(--porch-accent-2);border-radius:3px 3px 0 0}
.porch-hub-wrap{padding:42px 0}.porch-hub-card{padding:clamp(26px,4vw,54px);background:#eee3d3;border:1px solid rgba(255,255,255,.25);box-shadow:0 34px 80px rgba(0,0,0,.32)}
.porch-lede{max-width:850px;color:#41343c;font:500 clamp(1.16rem,2vw,1.55rem)/1.58 Georgia,serif}.porch-lede em{color:var(--porch-accent);font-weight:700}
.porch-chair-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-top:34px}.porch-chair-heading span{color:var(--porch-accent);font:900 .64rem ui-monospace,monospace;letter-spacing:.13em}.porch-chair-heading h2{margin:0;color:#30252c;font-size:clamp(2rem,3.8vw,4rem);line-height:.9;letter-spacing:-.055em}.porch-chairs{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:36px}
.porch-chair-card{--chair:#7e6577;position:relative;min-height:360px;display:flex;flex-direction:column;padding:24px 22px 22px;overflow:hidden;color:#33272f;text-decoration:none;background:linear-gradient(155deg,color-mix(in srgb,var(--chair) 10%,#f7f0e4),#e8dccb);border:1px solid color-mix(in srgb,var(--chair) 35%,#aa978b);box-shadow:0 10px 0 color-mix(in srgb,var(--chair) 18%,#c8b7a6);transition:transform .16s ease,box-shadow .16s ease}
.porch-chair-card:hover{transform:translateY(-5px);box-shadow:0 15px 0 color-mix(in srgb,var(--chair) 22%,#c8b7a6)}
.porch-chair-card:before{content:"";position:absolute;right:-45px;top:-45px;width:155px;height:155px;border:28px solid color-mix(in srgb,var(--chair) 12%,transparent);border-radius:50%}
.porch-chair-card.chair-1{--chair:#647967}.porch-chair-card.chair-2{--chair:#60758c}.porch-chair-card.chair-3{--chair:#9a5f4b}.porch-chair-card.chair-4{--chair:#5f547d}
.chair-number{color:var(--chair);font:900 .7rem ui-monospace,monospace;letter-spacing:.13em}.chair-icons{height:68px;display:flex;align-items:end;margin:18px 0 14px}.chair-icons img{width:58px;height:58px;object-fit:contain;image-rendering:pixelated;margin-right:-9px;filter:drop-shadow(0 5px 5px rgba(45,35,40,.18))}.chair-kicker{color:var(--chair);font:900 .62rem ui-monospace,monospace;text-transform:uppercase;letter-spacing:.11em}.porch-chair-card h2{font-size:clamp(1.75rem,2.5vw,2.65rem);line-height:.92;letter-spacing:-.045em;margin:.45rem 0 .7rem}.porch-chair-card p{margin:0;color:#665860;font:500 .92rem/1.47 Georgia,serif}.porch-chair-card>b{margin-top:auto;padding-top:1rem;border-top:1px solid color-mix(in srgb,var(--chair) 25%,transparent);font-size:.73rem}.porch-chair-card>b span{float:right;color:var(--chair)}
.porch-long-railing{margin:32px 0 0;padding:18px 20px;border-left:5px solid var(--porch-accent-2);background:rgba(255,255,255,.32);font:italic 1rem/1.4 Georgia,serif;color:#65565f}
.porch-numbers{display:grid;grid-template-columns:.7fr 1.3fr;gap:1px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.14)}.porch-numbers>div{padding:clamp(28px,4vw,55px);background:#19131e;color:#bfb1c2}.porch-numbers>div:first-child{background:color-mix(in srgb,var(--porch-accent) 18%,#17121c)}.porch-numbers span{color:var(--porch-accent-2);font:850 .65rem ui-monospace,monospace;letter-spacing:.13em}.porch-numbers h2{max-width:8ch;margin:.65rem 0;color:#f5ece2;font-size:clamp(2.4rem,4.8vw,5.6rem);line-height:.84;letter-spacing:-.06em}.porch-numbers p{max-width:62ch;line-height:1.62}.porch-numbers a{color:#f0c773}
.porch-reading-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:22px;padding:30px 0 0}.porch-section-rail{position:sticky;top:132px;align-self:start;max-height:calc(100vh - 152px);overflow:auto;background:#1a1420;color:#b9adbc;border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 50px rgba(0,0,0,.28)}
.porch-section-rail-head{display:flex;justify-content:space-between;align-items:baseline;padding:18px;border-bottom:1px solid rgba(255,255,255,.1)}.porch-section-rail-head span{color:var(--porch-accent-2);font:850 .62rem ui-monospace,monospace;text-transform:uppercase;letter-spacing:.1em}.porch-section-rail-head b{font-size:.68rem;color:#8f8293}.porch-section-rail nav{display:grid}.porch-section-rail nav a{position:relative;display:grid;gap:.24rem;padding:13px 18px;color:#b9adbc;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.075)}.porch-section-rail nav a span{color:#756b78;font:800 .56rem ui-monospace,monospace;text-transform:uppercase;letter-spacing:.09em}.porch-section-rail nav a b{font:700 .78rem/1.25 ui-sans-serif,system-ui,sans-serif}.porch-section-rail nav a:hover,.porch-section-rail nav a.active{color:#fff6eb;background:color-mix(in srgb,var(--porch-accent) 17%,transparent)}.porch-section-rail nav a.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--porch-accent-2)}.porch-hover-key{padding:17px 18px}.porch-hover-key b{color:#f0e5da;font-size:.7rem}.porch-hover-key p{margin:.35rem 0 0;color:#8f8391;font:italic .76rem/1.42 Georgia,serif}
.porch-reading{min-width:0;background:#eee3d3;color:#31272d;border:1px solid rgba(255,255,255,.28);box-shadow:0 34px 80px rgba(0,0,0,.34)}.porch-reading-intro{padding:clamp(30px,5vw,66px);background:linear-gradient(135deg,color-mix(in srgb,var(--porch-accent) 10%,#f3e9dc),#eee3d3);border-bottom:1px solid rgba(49,39,45,.16)}.porch-reading-intro>span{color:var(--porch-accent);font:900 .63rem ui-monospace,monospace;text-transform:uppercase;letter-spacing:.14em}.porch-note{scroll-margin-top:130px;padding:clamp(28px,5vw,64px);border-bottom:1px solid rgba(49,39,45,.16)}.porch-note:last-child{border-bottom:0}.porch-note:nth-child(odd){background:rgba(255,255,255,.15)}.porch-note>header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:17px;align-items:start;margin-bottom:22px}.porch-note-number{display:grid;place-items:center;width:42px;height:42px;border:1px solid color-mix(in srgb,var(--porch-accent) 45%,#8d7f82);color:var(--porch-accent);font:900 .7rem ui-monospace,monospace}.porch-note-step{display:block;color:var(--porch-accent);font:900 .62rem ui-monospace,monospace;text-transform:uppercase;letter-spacing:.13em}.porch-note h2{max-width:18ch;margin:.38rem 0 0;color:#30252c;font-size:clamp(2rem,4.2vw,4.3rem);line-height:.88;letter-spacing:-.055em}.porch-copy{width:34px;height:34px;border:1px solid rgba(49,39,45,.22);background:transparent;color:var(--porch-accent);cursor:pointer}.porch-copy:hover{background:#fff8ed}.porch-note-body{max-width:760px;margin-left:59px;color:#493b43;font:500 1.03rem/1.68 Georgia,serif}.porch-note-body p{margin:0 0 1.05rem}.porch-note-body p:last-child{margin-bottom:0}.porch-note-body b{color:#2f242b}.porch-note-body em{color:var(--porch-accent);font-weight:650}.porch-note-body a{color:color-mix(in srgb,var(--porch-accent) 84%,#492c3e);font-weight:700;text-decoration-color:color-mix(in srgb,var(--porch-accent) 35%,transparent);text-underline-offset:3px}.porch-note-body a:hover{text-decoration-color:var(--porch-accent)}
.porch-note-body .muster{display:flex;flex-wrap:wrap;gap:7px;margin:4px 0 20px;padding:13px;border:1px solid rgba(49,39,45,.16);background:rgba(255,255,255,.27)}.porch-note-body .muster a{display:grid;place-items:center;width:58px;height:58px;background:#f9f2e7;border:1px solid rgba(49,39,45,.16);text-decoration:none;transition:transform .14s ease}.porch-note-body .muster a:hover{transform:translateY(-3px);border-color:var(--porch-accent)}.porch-note-body .muster-cat{width:48px;height:48px;object-fit:contain;image-rendering:pixelated}.porch-note-body a.pill-link:not(:has(img)){display:inline-flex;align-items:center;padding:.06rem .2rem;border-radius:3px;background:color-mix(in srgb,var(--porch-accent) 9%,transparent)}
.porch-next{display:grid;grid-template-columns:1fr 1fr;margin-top:24px;border:1px solid rgba(255,255,255,.13);background:#18121d}.porch-next a{display:grid;gap:.35rem;padding:22px 25px;color:#f1e7dd;text-decoration:none}.porch-next a+ a{text-align:right;border-left:1px solid rgba(255,255,255,.11)}.porch-next span{color:#8f8292;font:800 .58rem ui-monospace,monospace;text-transform:uppercase;letter-spacing:.11em}.porch-next b{font-size:.86rem}.porch-next a:hover{background:color-mix(in srgb,var(--porch-accent) 15%,transparent)}
.porch-footer{width:min(1480px,calc(100% - 34px));margin:0 auto 34px;display:flex;justify-content:space-between;gap:1rem;padding:17px 20px;color:#95899a;border:1px solid rgba(255,255,255,.1);background:rgba(19,14,23,.76);font-size:.72rem}.porch-footer b{color:#dcb461}.porch-footer nav{display:flex;gap:1rem}.porch-footer a{color:#b8acba;text-decoration:none}.porch-footer a:hover{color:#fff4e8}
.porch-page .peek-card{z-index:1500}
@media(max-width:1100px){.porch-hero{grid-template-columns:1fr .9fr}.porch-chairs{grid-template-columns:1fr 1fr}.porch-reading-grid{grid-template-columns:230px minmax(0,1fr)}.porch-note-body{margin-left:0}.porch-numbers{grid-template-columns:1fr}}
@media(max-width:820px){.porch-page{background-attachment:scroll}.porch-main{width:min(100% - 18px,1480px)}.porch-hero{grid-template-columns:1fr;min-height:0}.porch-hero-copy{padding:42px 28px 12px}.porch-hero h1{font-size:clamp(3.7rem,16vw,6rem)}.porch-hero-art{min-height:250px}.porch-hero-art img{width:min(620px,120%);max-height:300px}.porch-chair-strip{top:56px;grid-template-columns:repeat(5,minmax(145px,1fr));overflow-x:auto;scrollbar-width:none}.porch-chair-strip::-webkit-scrollbar{display:none}.porch-reading-grid{grid-template-columns:1fr}.porch-section-rail{position:relative;top:auto;max-height:none}.porch-section-rail nav{grid-template-columns:1fr 1fr}.porch-hover-key{display:none}.porch-note{scroll-margin-top:116px}.porch-footer{width:calc(100% - 18px);display:block}.porch-footer nav{margin-top:.7rem;flex-wrap:wrap}}
@media(max-width:620px){.porch-chair-heading{align-items:start;flex-direction:column;gap:.5rem}.porch-chairs{grid-template-columns:1fr}.porch-chair-card{min-height:315px}.porch-section-rail nav{grid-template-columns:1fr}.porch-note{padding:28px 20px}.porch-note>header{grid-template-columns:auto minmax(0,1fr)}.porch-copy{grid-column:2;justify-self:start}.porch-note-body{font-size:.98rem}.porch-note-body .muster a{width:52px;height:52px}.porch-next{grid-template-columns:1fr}.porch-next a+ a{text-align:left;border-left:0;border-top:1px solid rgba(255,255,255,.11)}}
@media(prefers-reduced-motion:reduce){.porch-chair-card,.porch-note-body .muster a{transition:none}}


/* Command Strip and chair rail compress as one connected mechanism. */
.command-nav.is-scrolled + .porch-main .porch-chair-strip{top:52px}
.command-nav.is-scrolled + .porch-main .porch-section-rail{top:122px;max-height:calc(100vh - 142px)}
.porch-chair-strip,.porch-section-rail{transition:top .18s ease,max-height .18s ease}
@media(max-width:820px){
  .command-nav.is-scrolled + .porch-main .porch-chair-strip{top:50px}
  .command-nav.is-scrolled + .porch-main .porch-section-rail{top:auto;max-height:none}
}
@media(prefers-reduced-motion:reduce){.porch-chair-strip,.porch-section-rail{transition:none}}


/* ==================================================================
   BESTIARY SECOND PASS
   Porch-informed coherence pass: keep every behavior, deepen the sense
   of place, and bring the archive surfaces into a more unified material
   language.
   ================================================================== */
body.bestiary-full-page{
  background:
    radial-gradient(circle at top left, rgba(109,88,132,.18), transparent 32%),
    radial-gradient(circle at bottom right, rgba(91,105,72,.16), transparent 28%),
    linear-gradient(180deg, #151119, #100d13 56%, #151119);
  background-attachment:fixed;
}
body.bestiary-full-page .case-desk{
  max-width:1520px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,0) 15%),
    #c8b398;
  border-color:#261c23;
  box-shadow:
    inset 0 0 72px rgba(56,39,33,.28),
    0 26px 76px rgba(0,0,0,.42);
}
body.bestiary-full-page .case-desk:before{
  opacity:.1;
}
body.bestiary-full-page .command-footer{
  width:min(1460px,calc(100% - 36px));
}

.bestiary-head{
  margin:0 34px;
  padding:34px 34px 28px;
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);
  gap:24px;
  align-items:stretch;
  background:
    linear-gradient(120deg, rgba(255,255,255,.03), rgba(255,255,255,0) 42%),
    linear-gradient(180deg, #19131c, #120f16);
  border:1px solid rgba(255,255,255,.08);
  border-bottom:0;
  box-shadow:0 26px 50px rgba(0,0,0,.2);
}
.bestiary-head .case-kicker{
  color:#e0b964;
  margin-bottom:.88rem;
}
.bestiary-head h1{
  color:#f3eadf;
  line-height:.82;
}
.bestiary-head h1 em{
  color:#c29fbf;
}
.bestiary-head-copy{
  align-self:center;
}
.bestiary-summary{
  max-width:56ch;
  margin:1rem 0 0;
  color:#d4c8bb;
  font:500 1.02rem/1.62 Georgia,serif;
}
.bestiary-summary b{
  color:#fff3dd;
}
.bestiary-head-note{
  max-width:55ch;
  margin:1rem 0 0;
  color:#988d9a;
  font:italic .94rem/1.56 Georgia,serif;
}
.bestiary-head-side{
  display:grid;
  gap:14px;
  align-content:space-between;
}
.bestiary-hero-plate{
  position:relative;
  min-height:250px;
  overflow:hidden;
  padding:18px 18px 16px;
  background:
    radial-gradient(circle at 26% 34%, rgba(205,169,83,.14), transparent 24%),
    linear-gradient(180deg, rgba(103,121,88,.18), rgba(42,30,52,.08)),
    #1d1721;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:inset 0 0 38px rgba(0,0,0,.34);
}
.bestiary-hero-plate::after{
  content:"";
  position:absolute;
  right:-40px;
  top:-36px;
  width:150px;
  height:150px;
  border:26px solid rgba(231,184,83,.08);
  border-radius:50%;
  pointer-events:none;
}
.bestiary-hero-copy{
  position:relative;
  z-index:2;
  max-width:18rem;
}
.bestiary-hero-copy span{
  display:block;
  color:#c8b8cf;
  font:900 .6rem/1 ui-monospace,monospace;
  text-transform:uppercase;
  letter-spacing:.16em;
}
.bestiary-hero-copy b{
  display:block;
  margin-top:.55rem;
  color:#f5ede4;
  font:700 1.02rem/1.42 Georgia,serif;
}
.bestiary-hero-plate img{
  position:absolute;
  right:-6px;
  bottom:-2px;
  width:min(58%,310px);
  max-height:100%;
  object-fit:contain;
  image-rendering:pixelated;
  filter:drop-shadow(0 18px 22px rgba(0,0,0,.36));
}
.bestiary-atlas{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:108px;
}
.bestiary-atlas div{
  padding:10px 12px 11px;
  background:rgba(15,11,19,.5);
  border:1px solid rgba(255,255,255,.08);
}
.bestiary-atlas b{
  display:block;
  color:#f5ede4;
  font:900 1.2rem/1 ui-monospace,monospace;
}
.bestiary-atlas small{
  display:block;
  margin-top:.28rem;
  color:#b5a6b7;
  font:800 .55rem/1 ui-monospace,monospace;
  text-transform:uppercase;
  letter-spacing:.11em;
}
.bestiary-head-actions{
  display:flex;
  justify-content:flex-end;
  gap:.7rem;
  flex-wrap:wrap;
}
.bestiary-head .case-action{
  border:1px solid rgba(255,255,255,.13);
  background:#241b28;
  color:#f6ead3;
  box-shadow:0 8px 18px rgba(0,0,0,.2);
}
.bestiary-head .case-action.primary{
  background:#6a3346;
}
.bestiary-head .case-action:hover{
  filter:none;
  background:#2d2232;
}
.bestiary-head .case-action.primary:hover{
  background:#784154;
}

.bestiary-rail{
  position:sticky;
  top:62px;
  z-index:10;
  margin:0 34px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  background:#140f17;
  border:1px solid rgba(255,255,255,.08);
  border-top-color:rgba(231,184,83,.24);
  box-shadow:0 18px 34px rgba(0,0,0,.18);
}
.command-nav.is-scrolled + .case-desk .bestiary-rail{
  top:52px;
}
.bestiary-rail a{
  position:relative;
  display:grid;
  gap:.26rem;
  min-height:76px;
  padding:14px 18px 14px 22px;
  color:#bcaebe;
  text-decoration:none;
  border-left:1px solid rgba(255,255,255,.06);
}
.bestiary-rail a:first-child{
  border-left:0;
}
.bestiary-rail a::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:3px;
  background:transparent;
  transition:background .16s ease;
}
.bestiary-rail a span{
  color:#e0b964;
  font:900 .56rem/1 ui-monospace,monospace;
  letter-spacing:.12em;
}
.bestiary-rail a b{
  color:#f5eee4;
  font:700 .84rem/1.2 ui-sans-serif,system-ui,sans-serif;
}
.bestiary-rail a small{
  color:#87798b;
  font:500 .72rem/1.35 Georgia,serif;
}
.bestiary-rail a:hover{
  background:rgba(255,255,255,.03);
}
.bestiary-rail a:hover::before,
.bestiary-rail a:focus-visible::before{
  background:#e0b964;
}
.bestiary-rail a:focus-visible{
  outline:2px solid #e0b964;
  outline-offset:-2px;
}

.bestiary-controls{
  margin:16px 34px 0;
  padding:18px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.38), rgba(255,255,255,.15)),
    #ece0cf;
  border:1px solid rgba(56,41,32,.2);
  border-top:4px solid #80725c;
  box-shadow:0 18px 34px rgba(44,31,22,.1);
  grid-template-columns:minmax(260px,1.35fr) auto auto auto auto;
}
.bestiary-search,.sort-control{
  color:#6b445a;
}
.bestiary-search input,.sort-control select{
  min-height:44px;
  border:1px solid rgba(56,41,32,.18);
  background:#fbf5eb;
  box-shadow:inset 0 1px rgba(255,255,255,.75);
}
.kind-filters{
  gap:7px;
}
.kind-filters button,
.filter-toggle,
.filter-clear{
  min-height:44px;
  border:1px solid rgba(56,41,32,.18);
  box-shadow:0 5px 12px rgba(44,31,22,.06);
}
.kind-filters button{
  background:#2d2333;
  color:#f4ecdf;
}
.filter-toggle{
  background:#60553a;
  color:#f6eedf;
}
.kind-filters button.on,
.filter-toggle.on{
  background:#6b3e56;
}
.filter-clear{
  background:#f8f1e4;
  color:#4d4035;
}
.kind-filters button:hover,
.filter-toggle:hover,
.filter-clear:hover{
  filter:none;
  transform:translateY(-1px);
}

.bestiary-grid{
  grid-template-columns:300px minmax(0,1fr) 392px;
  gap:22px;
  padding-top:24px;
}
.bestiary-index{
  max-height:790px;
  background:#f0e3d2;
  border:1px solid rgba(46,34,30,.18);
  border-top:0;
  box-shadow:0 18px 34px rgba(44,31,22,.12);
}
.bestiary-index .index-head{
  position:sticky;
  top:0;
  z-index:2;
  padding:18px 18px 14px;
  background:linear-gradient(180deg, #1a141d, #241a29);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.bestiary-index .index-head h2{
  color:#f4ecdf;
}
.bestiary-index .index-head p{
  color:#b4a5b5;
}
.bestiary-index .index-hint{
  color:#dcb461;
}
.creature-index-list{
  scrollbar-color:#6a4f62 #eadcc8;
}
.creature-index-row{
  grid-template-columns:58px minmax(0,1fr) auto;
  gap:12px;
  padding:.72rem .82rem;
  border-bottom:1px solid rgba(46,34,30,.12);
  transition:background .14s ease, box-shadow .14s ease;
}
.creature-index-row:hover,
.creature-index-row.on{
  background:rgba(107,62,86,.1);
}
.creature-index-row.on{
  box-shadow:inset 4px 0 #6b3e56;
}
.creature-index-row img{
  width:56px;
  height:56px;
}
.creature-index-row strong{
  font-size:1rem;
}
.creature-index-row small{
  color:#776771;
}
.creature-index-row em{
  color:#6b3e56;
}

.bestiary-specimen{
  min-height:785px;
  border:1px solid rgba(255,255,255,.08);
  border-left:8px solid #c29fbf;
  transform:none;
  background:
    radial-gradient(circle at 50% 40%, rgba(196,170,102,.11), transparent 22%),
    radial-gradient(circle at 50% 42%, rgba(194,159,191,.15), transparent 43%),
    linear-gradient(180deg, #211728, #0f0f12 58%, #161219);
  box-shadow:0 26px 52px rgba(0,0,0,.28);
}
.bestiary-specimen::after{
  background:
    radial-gradient(circle at 50% 40%, transparent 0 20%, rgba(0,0,0,.62) 74%),
    repeating-linear-gradient(0deg, transparent 0 5px, rgba(255,255,255,.025) 6px);
}
.specimen-stamp{
  left:22px;
  top:18px;
  color:#d7c3d7;
}
.bestiary-specimen img{
  width:64%;
  height:64%;
  filter:drop-shadow(0 28px 20px rgba(0,0,0,.65));
}
.specimen-name{
  left:22px;
  right:22px;
  bottom:22px;
  padding:16px 18px 18px;
  background:linear-gradient(180deg, rgba(10,10,12,.12), rgba(10,10,12,.45));
  border:1px solid rgba(255,255,255,.06);
  backdrop-filter:blur(1.5px);
}
.specimen-name .eyebrow{
  color:#e7b853;
}
.specimen-name h2{
  color:#faf2e6;
}
.specimen-name p{
  color:#c8bcc6;
}
.recast-note{
  background:rgba(231,184,83,.08);
  border-left-color:#e7b853;
  color:#e1d2b0;
}

.bestiary-notes{
  gap:16px;
}
.bestiary-notes .paper{
  transform:none !important;
  padding:1.18rem 1.25rem 1.2rem;
  background:#f4eadb;
  border:1px solid rgba(46,34,30,.14);
  box-shadow:0 18px 34px rgba(44,31,22,.1);
}
.bestiary-notes .paper::before{
  left:14px;
  right:14px;
  top:12px;
  border-top-color:rgba(73,57,45,.18);
}
.bestiary-notes .paper h3{
  color:#633e53;
}
.behavior-paper{
  border-left:6px solid #647967;
}
.folklore-paper{
  background:#f0e3c6 !important;
  border-left:6px solid #9b7a3c;
}
.boss-paper{
  background:#efe2d2 !important;
  border-left:6px solid #8f4851;
}
.folklore-heading span{
  color:#8b6935;
}
.folklore-origin{
  color:#654927;
}
.behavior-code{
  color:#7a6762;
}
.bestiary-stats{
  gap:1px;
  background:rgba(73,57,45,.16);
}
.bestiary-stats div{
  padding:.72rem .55rem;
}
.bestiary-stats b{
  color:#633e53;
}
.boss-lines div:first-child{
  border-top:0;
  padding-top:.1rem;
}
.boss-lines dt{
  color:#6b3e56;
}

.quote-card{
  transform:none;
  background:linear-gradient(180deg, #5e3242, #4e2836);
  border:1px solid rgba(255,255,255,.06);
  box-shadow:0 18px 32px rgba(0,0,0,.18);
}

.bestiary-ledger{
  position:relative;
  margin:8px 34px 12px;
  border:1px solid rgba(255,255,255,.08);
  border-top:0;
  background:#ede1d1;
  box-shadow:0 22px 46px rgba(0,0,0,.18);
}
.anchor-spacer{
  position:absolute;
  top:-84px;
}
.ledger-head{
  align-items:flex-end;
  padding:24px 24px 20px;
  background:linear-gradient(180deg, #17121b, #241b29);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.ledger-head .case-kicker{
  color:#e0b964;
}
.ledger-head h2{
  color:#f5eee4;
}
.ledger-head p{
  color:#b8adbb;
}
.ledger-head .case-action{
  border:1px solid rgba(255,255,255,.13);
  background:#2d2232;
  color:#f6ead3;
  box-shadow:none;
}
.ledger-wrap{
  max-height:700px;
}
.bestiary-table th{
  background:#352834;
  color:#f5eee4;
}
.bestiary-table tbody tr:hover{
  background:rgba(107,62,86,.06);
}
.kind-tag{
  background:rgba(255,255,255,.18);
}
.ledger-notes .pattern{
  color:#6e6160;
}
.ledger-folklore{
  background:#ebdfbd;
}

.bestiary-full-page .command-footer{
  color:#b5a7bd;
  border-top-color:rgba(255,255,255,.12);
}
.bestiary-full-page .command-footer a{
  color:#d5c7dd;
}

#filters,
#evidence-index,
#active-file,
#complete-ledger{
  scroll-margin-top:138px;
}
.command-nav.is-scrolled + .case-desk #filters,
.command-nav.is-scrolled + .case-desk #evidence-index,
.command-nav.is-scrolled + .case-desk #active-file,
.command-nav.is-scrolled + .case-desk #complete-ledger{
  scroll-margin-top:124px;
}

@media(max-width:1250px){
  .bestiary-head{
    grid-template-columns:1fr;
  }
  .bestiary-head-copy{
    max-width:68ch;
  }
  .bestiary-grid{
    grid-template-columns:260px minmax(0,1fr);
  }
  .bestiary-notes{
    grid-column:1/-1;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:980px){
  .bestiary-head{
    margin:0 18px;
    padding:26px 22px 22px;
  }
  .bestiary-rail{
    top:56px;
    margin:0 18px;
    grid-template-columns:repeat(4,minmax(155px,1fr));
    overflow-x:auto;
    scrollbar-width:none;
  }
  .bestiary-rail::-webkit-scrollbar{
    display:none;
  }
  .bestiary-controls{
    margin:14px 18px 0;
    grid-template-columns:1fr 1fr 1fr;
  }
  .bestiary-grid{
    grid-template-columns:1fr;
    padding:20px 18px 22px;
  }
  .bestiary-index{
    max-height:430px;
  }
  .bestiary-specimen{
    min-height:620px;
  }
  .bestiary-notes{
    grid-template-columns:1fr;
  }
  .bestiary-ledger{
    margin:8px 18px 12px;
  }
}
@media(max-width:700px){
  .bestiary-head{
    gap:18px;
  }
  .bestiary-hero-plate{
    min-height:230px;
  }
  .bestiary-atlas{
    margin-top:118px;
  }
  .bestiary-controls{
    grid-template-columns:1fr;
  }
  .kind-filters{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .bestiary-rail{
    grid-template-columns:repeat(4,minmax(175px,1fr));
  }
  .bestiary-specimen img{
    width:72%;
    height:62%;
  }
}
@media(max-width:560px){
  .bestiary-head{
    padding:24px 18px 18px;
  }
  .bestiary-head h1{
    font-size:clamp(2.3rem,12vw,4.2rem);
  }
  .bestiary-summary{
    font-size:.95rem;
  }
  .bestiary-hero-plate{
    min-height:215px;
    padding:16px;
  }
  .bestiary-hero-plate img{
    width:min(62%,240px);
  }
  .bestiary-atlas{
    grid-template-columns:repeat(2,minmax(0,1fr));
    margin-top:112px;
  }
  .bestiary-index .index-head{
    padding:15px 15px 12px;
  }
  .creature-index-row{
    padding:.68rem .7rem;
  }
  .specimen-name{
    padding:14px 14px 16px;
  }
  .bestiary-specimen{
    min-height:540px;
  }
  .bestiary-stats{
    grid-template-columns:repeat(2,1fr);
  }
}


/* ==================================================================
   BESTIARY SECOND PASS — coherence tuning
   Match the broader Home/Porch background family and make the Bestiary
   landmark read cleanly inside the archive plate.
   ================================================================== */
body.bestiary-full-page{
  background-color:#17121c;
  background-image:
    linear-gradient(rgba(18,13,23,.50),rgba(18,13,23,.72)),
    url('assets/ui/yard_plum_texture.png');
  background-size:auto,cover;
  background-position:center top;
  background-attachment:fixed;
}

.bestiary-hero-plate{
  min-height:266px;
  padding:18px 18px 18px;
}
.bestiary-hero-copy{
  max-width:17rem;
}
.bestiary-hero-plate img{
  right:14px;
  top:16px;
  bottom:auto;
  width:min(44%,240px);
  max-height:174px;
}
.bestiary-atlas{
  position:absolute;
  left:18px;
  bottom:16px;
  width:min(54%,250px);
  margin-top:0;
  grid-template-columns:repeat(2,minmax(0,1fr));
}

@media(max-width:700px){
  body.bestiary-full-page{background-attachment:scroll}
  .bestiary-hero-plate{
    min-height:238px;
  }
  .bestiary-hero-plate img{
    right:12px;
    top:14px;
    width:min(42%,170px);
    max-height:132px;
  }
  .bestiary-atlas{
    width:min(56%,210px);
    left:14px;
    bottom:14px;
  }
}
@media(max-width:520px){
  .bestiary-hero-plate{
    min-height:222px;
    padding:14px;
  }
  .bestiary-hero-copy{
    max-width:13.5rem;
  }
  .bestiary-hero-copy b{
    font-size:.94rem;
    line-height:1.35;
  }
  .bestiary-hero-plate img{
    right:10px;
    top:12px;
    width:min(40%,138px);
    max-height:108px;
  }
  .bestiary-atlas{
    left:14px;
    right:14px;
    width:auto;
    max-width:calc(100% - 28px);
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .bestiary-atlas div{
    padding:9px 10px 10px;
  }
}


/* ==================================================================
   ARMORY SECOND PASS
   Porch-informed coherence pass: preserve the Workbench logic while
   making the page feel like a real weapons station in the same world.
   ================================================================== */
body.work-page{
  min-height:100vh;
  color:#ece5d7;
  padding:0 0 28px;
  background-color:#17121c;
  background-image:
    linear-gradient(rgba(18,13,23,.50),rgba(18,13,23,.70)),
    url('assets/ui/yard_plum_texture.png');
  background-size:auto,cover;
  background-position:center top;
  background-attachment:fixed;
}
.workbench.armory-full{
  min-height:calc(100vh - 62px);
  width:min(1480px,calc(100% - 34px));
  margin:0 auto 56px;
  border:1px solid rgba(255,255,255,.12);
  background:
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,0) 14%),
    linear-gradient(90deg, rgba(83,61,44,.06), transparent 18%, transparent 82%, rgba(83,61,44,.06)),
    #ccb89e;
  box-shadow:
    inset 0 0 72px rgba(56,39,33,.26),
    0 28px 78px rgba(0,0,0,.42);
  overflow:visible;
}
.workbench.armory-full::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    repeating-linear-gradient(90deg, transparent 0 39px, rgba(255,255,255,.03) 40px),
    repeating-linear-gradient(0deg, transparent 0 39px, rgba(255,255,255,.02) 40px);
  pointer-events:none;
  opacity:.35;
}

.armory-head{
  margin:0 34px;
  padding:34px 34px 28px;
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr);
  gap:24px;
  align-items:stretch;
  background:
    linear-gradient(120deg, rgba(255,255,255,.03), rgba(255,255,255,0) 42%),
    linear-gradient(180deg, #19131c, #120f16);
  border:1px solid rgba(255,255,255,.08);
  border-bottom:0;
  box-shadow:0 26px 50px rgba(0,0,0,.2);
}
.armory-head h1{color:#f3eadf;line-height:.82}
.armory-head .eyebrow{margin-bottom:.88rem}
.armory-head-copy{align-self:center}
.armory-subhead{max-width:58ch;margin:1rem 0 0;color:#d4c8bb;font:500 1.02rem/1.62 Georgia,serif}
.armory-head-note{max-width:55ch;margin:1rem 0 0;color:#988d9a;font:italic .94rem/1.56 Georgia,serif}
.armory-head-side{display:grid;gap:14px;align-content:space-between}
.armory-hero-plate{
  position:relative;
  min-height:250px;
  overflow:hidden;
  padding:18px 18px 16px;
  background:
    radial-gradient(circle at 26% 34%, rgba(205,169,83,.14), transparent 24%),
    linear-gradient(180deg, rgba(120,89,63,.14), rgba(53,38,61,.08)),
    #1d1721;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:inset 0 0 38px rgba(0,0,0,.34);
}
.armory-hero-plate::after{content:"";position:absolute;right:-40px;top:-36px;width:150px;height:150px;border:26px solid rgba(231,184,83,.08);border-radius:50%;pointer-events:none}
.armory-hero-copy{position:relative;z-index:2;max-width:18rem}
.armory-hero-copy span{display:block;color:#c8b8cf;font:900 .6rem/1 ui-monospace,monospace;text-transform:uppercase;letter-spacing:.16em}
.armory-hero-copy b{display:block;margin-top:.55rem;color:#f5ede4;font:700 1.02rem/1.42 Georgia,serif}
.armory-hero-plate img{position:absolute;right:12px;top:14px;width:min(47%,245px);max-height:172px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 18px 22px rgba(0,0,0,.36))}
.armory-atlas{position:absolute;left:18px;bottom:16px;width:min(56%,255px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;z-index:2}
.armory-atlas div{padding:10px 12px 11px;background:rgba(15,11,19,.5);border:1px solid rgba(255,255,255,.08)}
.armory-atlas b{display:block;color:#f5ede4;font:900 1.2rem/1 ui-monospace,monospace}
.armory-atlas small{display:block;margin-top:.28rem;color:#b5a6b7;font:800 .55rem/1 ui-monospace,monospace;text-transform:uppercase;letter-spacing:.11em}
.work-head-tools{position:relative;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:flex-end}
.work-tabs{display:flex;gap:.5rem;flex-wrap:wrap}
.work-tabs button,.data-open{
  min-height:42px;
  border:1px solid rgba(255,255,255,.14);
  background:#241b28;
  color:#f6ead3;
  box-shadow:0 8px 18px rgba(0,0,0,.2);
}
.work-tabs button.on{background:#6b3e56}
.data-open:hover,.data-open[aria-expanded="true"]{background:#e2b654;color:#211b17}
.tier-hover{background:#efe4d2;box-shadow:6px 9px 0 #6f5d4b,0 24px 45px rgba(0,0,0,.45)}
.tier-hover .eyebrow{color:#6b3e56}
.tier-hover p{color:#4f4240}

.armory-rail{
  position:sticky;
  top:62px;
  z-index:10;
  margin:0 34px;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  background:#140f17;
  border:1px solid rgba(255,255,255,.08);
  border-top-color:rgba(231,184,83,.24);
  box-shadow:0 18px 34px rgba(0,0,0,.18);
}
.command-nav.is-scrolled + .workbench.armory-full .armory-rail{top:52px}
.armory-rail a{position:relative;display:grid;gap:.26rem;min-height:76px;padding:14px 18px 14px 22px;color:#bcaebe;text-decoration:none;border-left:1px solid rgba(255,255,255,.06)}
.armory-rail a:first-child{border-left:0}
.armory-rail a::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:transparent;transition:background .16s ease}
.armory-rail a span{color:#e0b964;font:900 .56rem/1 ui-monospace,monospace;letter-spacing:.12em}
.armory-rail a b{color:#f5eee4;font:700 .84rem/1.2 ui-sans-serif,system-ui,sans-serif}
.armory-rail a small{color:#87798b;font:500 .72rem/1.35 Georgia,serif}
.armory-rail a:hover{background:rgba(255,255,255,.03)}
.armory-rail a:hover::before,.armory-rail a:focus-visible::before{background:#e0b964}
.armory-rail a:focus-visible{outline:2px solid #e0b964;outline-offset:-2px}

.armory-full .bench-grid{
  grid-template-columns:246px 1fr 360px;
  gap:22px;
  padding:24px 34px 26px;
}
.armory-full .peg-list{
  max-height:792px;
  overflow:auto;
  padding:58px 8px 10px 4px;
  position:relative;
  background:#f0e3d2;
  border:1px solid rgba(46,34,30,.18);
  box-shadow:0 18px 34px rgba(44,31,22,.12);
  scrollbar-color:#6a4f62 #eadcc8;
}
.armory-full .peg-list::before{
  content:attr(data-panel);
  position:sticky;
  top:0;
  z-index:2;
  display:block;
  margin:-58px -8px 12px -4px;
  padding:16px 16px 13px;
  background:linear-gradient(180deg,#1a141d,#241a29);
  border-bottom:1px solid rgba(255,255,255,.08);
  color:#f4ecdf;
  font:800 .82rem/1 ui-sans-serif,system-ui,sans-serif;
  letter-spacing:.02em;
}
.armory-full .peg-list button{
  display:grid;
  grid-template-columns:56px 1fr;
  gap:.75rem;
  align-items:center;
  text-align:left;
  padding:.68rem .76rem;
  border:1px solid rgba(46,34,30,.12);
  border-left:4px solid transparent;
  background:#f8f1e4;
  color:#4b3d39;
  box-shadow:0 5px 12px rgba(44,31,22,.05);
}
.armory-full .peg-list button:hover{background:#f3e7d6;transform:translateY(-1px)}
.armory-full .peg-list button.on{
  outline:none;
  border-left-color:#6b3e56;
  background:#efe3d2;
  box-shadow:inset 0 0 0 1px rgba(107,62,86,.22), 0 8px 14px rgba(44,31,22,.08);
}
.armory-full .peg-list img{width:56px;height:56px;margin:0}
.armory-full .peg-meta b{display:block;color:#2f2528}
.armory-full .peg-meta small{display:block;color:#776771;font-size:.72rem;margin-top:.12rem}

.weapon-stage{
  position:relative;
  min-height:668px;
  border:1px solid rgba(255,255,255,.08);
  border-left:8px solid #c29fbf;
  background:
    radial-gradient(circle at 50% 40%, rgba(226,182,84,.18), transparent 24%),
    radial-gradient(circle at 50% 42%, rgba(194,159,191,.15), transparent 43%),
    linear-gradient(180deg, #211728, #0f0f12 58%, #161219);
  box-shadow:0 26px 52px rgba(0,0,0,.28);
}
.weapon-stage::after{
  content:"";
  position:absolute; inset:0;
  background:
    radial-gradient(circle at 50% 40%, transparent 0 20%, rgba(0,0,0,.62) 74%),
    repeating-linear-gradient(0deg, transparent 0 5px, rgba(255,255,255,.025) 6px);
  pointer-events:none;
}
.weapon-stage img{
  position:absolute;
  width:55%; height:55%; object-fit:contain;
  left:50%; top:42%; transform:translate(-50%,-50%);
  image-rendering:pixelated;
  filter:drop-shadow(0 30px 28px rgba(0,0,0,.7));
  z-index:1;
}
.weapon-label{position:absolute;left:22px;right:22px;bottom:22px;padding:16px 18px 18px;background:linear-gradient(180deg, rgba(10,10,12,.12), rgba(10,10,12,.45));border:1px solid rgba(255,255,255,.06);backdrop-filter:blur(1.5px);z-index:1}
.weapon-label .eyebrow{color:#e7b853}
.weapon-label h2{color:#faf2e6;font-size:clamp(2.9rem,5vw,5.5rem);line-height:.84;margin:.36rem 0}
.weapon-label p{color:#c8bcc6;max-width:52ch}
.class-pill,.table-pill{border-color:rgba(255,255,255,.12);background:#171d22;color:#e7dece}
.class-pill:hover{background:#252c31}

.armory-side{display:grid;gap:16px;align-content:start}
.schematic{background:#f4eadb;color:#281f21;padding:1.4rem;border:1px solid rgba(46,34,30,.16);box-shadow:0 18px 34px rgba(44,31,22,.1);transform:none}
.schematic .eyebrow{color:#6b3e56}
.schematic h3{font-family:Georgia,serif;font-size:1.6rem;margin:.2rem 0 1rem;color:#302531}
.schematic dt,.schematic dd{border-bottom:1px solid rgba(40,31,33,.18);padding:.55rem 0;margin:0}
.schematic dd{font:800 1rem ui-monospace,monospace;color:#9b3845}
.warning{margin-top:0;border:1px solid rgba(112,59,66,.28);border-left:6px solid #8f4851;padding:1rem 1.05rem;background:#efe2d2;color:#5a4241}
.warning b{display:block;color:#8f4851;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;margin-bottom:.3rem}
.copy-link{display:inline-block;margin-top:.75rem;border:1px solid rgba(112,59,66,.22);background:#f5ebdf;color:#6b3e56;padding:.45rem .65rem;cursor:pointer}
.detail-card{background:#15191d;border:1px solid rgba(255,255,255,.12);padding:1rem 1.05rem;box-shadow:0 16px 26px rgba(0,0,0,.16)}
.detail-card .eyebrow{color:#e2b654}.mechanic-list{max-height:360px}
.mechanic-list b{font-size:.76rem;letter-spacing:.04em;text-transform:uppercase;color:#e7d39f}
.mechanic-list span{font-size:.86rem;color:#c8bdb0}

.spec-drawer{
  display:none;
  position:relative;
  margin:8px 34px 12px;
  padding:0;
  border:1px solid rgba(255,255,255,.08);
  border-top:0;
  background:#ede1d1;
  box-shadow:0 22px 46px rgba(0,0,0,.18);
}
.spec-drawer.open{display:block}
.spec-drawer .anchor-spacer{position:absolute;top:-84px}
.spec-drawer>header{display:flex;justify-content:space-between;gap:2rem;align-items:flex-end;padding:24px 24px 20px;background:linear-gradient(180deg,#17121b,#241b29);border-bottom:1px solid rgba(255,255,255,.08)}
.spec-drawer .eyebrow{color:#e0b964}
.spec-drawer h2{font-size:2.6rem;line-height:1;margin:.35rem 0;color:#f5eee4}
.spec-drawer header p{color:#b8adbb;margin:.3rem 0}
.spec-drawer header button{border:1px solid rgba(255,255,255,.13);background:#2d2232;color:#f6ead3;padding:.65rem .8rem;cursor:pointer}
.spec-controls{display:grid;gap:.7rem;margin:0;padding:18px 24px;background:#efe4d2;border-bottom:1px solid rgba(46,34,30,.14)}
.spec-controls input,.spec-controls select{width:100%;border:1px solid rgba(46,34,30,.18);background:#fbf5eb;color:#3b3030;padding:.7rem .8rem}
.spec-summary{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:#6b605e;font-size:.82rem;margin:0;padding:0 24px 14px;background:#efe4d2}
.spec-summary span:first-child{color:#6b3e56;font-weight:800}
.spec-table-wrap{max-height:560px;overflow:auto;border-top:1px solid rgba(46,34,30,.14);border-bottom:1px solid rgba(46,34,30,.14)}
.spec-table th{background:#352834;color:#f5eee4}
.spec-table td{color:#5b504c}
.spec-table tbody tr:hover{background:rgba(107,62,86,.06)}
.spec-weapon b{color:#302531}
.spec-pager{display:flex;justify-content:flex-end;align-items:center;gap:.8rem;margin:0;padding:14px 24px 16px;background:#efe4d2}
.spec-pager button{border:1px solid rgba(46,34,30,.16);background:#f6ecdf;color:#4d4035;padding:.55rem .7rem;cursor:pointer}
.spec-pager span{color:#6b605e;font-size:.82rem}

#tier-filters,#weapon-index,#workbench-stage,#inspection-sheet,#data-ledger{scroll-margin-top:138px}
.command-nav.is-scrolled + .workbench.armory-full #tier-filters,
.command-nav.is-scrolled + .workbench.armory-full #weapon-index,
.command-nav.is-scrolled + .workbench.armory-full #workbench-stage,
.command-nav.is-scrolled + .workbench.armory-full #inspection-sheet,
.command-nav.is-scrolled + .workbench.armory-full #data-ledger{scroll-margin-top:124px}

@media(max-width:1250px){
  .armory-head{grid-template-columns:1fr}
  .armory-full .bench-grid{grid-template-columns:260px minmax(0,1fr)}
  .armory-side{grid-column:1/-1;grid-template-columns:1fr 1fr 1fr}
  .detail-card{grid-column:1/-1}
}
@media(max-width:1100px){
  body.work-page{background-attachment:scroll}
  .armory-rail{top:56px;margin:0 18px;grid-template-columns:repeat(5,minmax(155px,1fr));overflow-x:auto;scrollbar-width:none}
  .armory-rail::-webkit-scrollbar{display:none}
  .workbench.armory-full{width:min(100% - 18px,1480px)}
  .armory-head{margin:0 18px;padding:26px 22px 22px}
  .armory-full .bench-grid{grid-template-columns:1fr;padding:20px 18px 22px}
  .armory-full .peg-list{display:grid;grid-template-columns:repeat(2,1fr);max-height:none}
  .armory-side{grid-template-columns:1fr}
  .weapon-stage{min-height:620px}
  .spec-drawer{margin:8px 18px 12px}
}
@media(max-width:760px){
  .armory-head{gap:18px}
  .armory-hero-plate{min-height:238px}
  .armory-hero-plate img{right:12px;top:14px;width:min(42%,170px);max-height:132px}
  .armory-atlas{width:min(56%,210px);left:14px;bottom:14px}
  .work-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
  .work-head-tools{justify-content:stretch}
  .data-open{width:100%}
  .armory-full .peg-list{grid-template-columns:1fr}
  .weapon-stage{min-height:540px}
  .spec-controls-5{grid-template-columns:1fr}
}
@media(max-width:560px){
  .armory-head{padding:24px 18px 18px}
  .armory-head h1{font-size:clamp(2.3rem,12vw,4.5rem)}
  .armory-hero-plate{min-height:222px;padding:14px}
  .armory-hero-copy{max-width:13.5rem}
  .armory-hero-copy b{font-size:.94rem;line-height:1.35}
  .armory-hero-plate img{right:10px;top:12px;width:min(40%,138px);max-height:108px}
  .armory-atlas{left:14px;right:14px;width:auto;max-width:calc(100% - 28px);grid-template-columns:repeat(2,minmax(0,1fr))}
  .armory-atlas div{padding:9px 10px 10px}
  .armory-rail{grid-template-columns:repeat(5,minmax(175px,1fr))}
  .weapon-label{left:14px;right:14px;bottom:14px;padding:14px 14px 16px}
  .weapon-label h2{font-size:clamp(2.1rem,10vw,4rem)}
}


/* Armory shelf generated headings */
.armory-full .peg-index-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:.6rem;
  margin:0 0 12px;
  padding:0 .2rem .25rem;
  color:#6b605e;
  border-bottom:1px solid rgba(46,34,30,.12);
}
.armory-full .peg-index-head b{font:800 .72rem/1 ui-sans-serif,system-ui,sans-serif;color:#6b3e56;text-transform:uppercase;letter-spacing:.08em}
.armory-full .peg-index-head span{font:700 .7rem/1 ui-monospace,monospace;color:#8b7b73}
.armory-full .peg-tier-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:.6rem;
  margin:12px 0 8px;
  padding:0 .2rem;
}
.armory-full .peg-tier-head:first-of-type{margin-top:0}
.armory-full .peg-tier-head b{font:800 .68rem/1 ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase;color:#4d4035}
.armory-full .peg-tier-head span{font:700 .66rem/1 ui-monospace,monospace;color:#8b7b73}
.armory-full .peg-tier-head.t1 b{color:#6f6764}
.armory-full .peg-tier-head.t2 b{color:#446e9f}
.armory-full .peg-tier-head.t3 b{color:#7e54a5}
.armory-full .peg-tier-head.t4 b{color:#9b3845}


/* ==================================================================
   SHELL CORRECTION
   The prior spacing pass left beige parent shells visible beside the
   dark headers. These shells are now transparent; beige begins only at
   the actual working surfaces below the dark header/section rail.
   ================================================================== */
body.case-page,
body.work-page{
  padding:0 0 28px;
}

/* Bestiary: dark top composition, beige archive begins below it. */
body.bestiary-full-page .case-desk{
  width:min(1480px,calc(100% - 34px));
  max-width:none;
  margin:0 auto 56px;
  padding-bottom:0;
  border:0;
  background:transparent;
  box-shadow:none;
}
body.bestiary-full-page .case-desk::before{
  content:none;
}
body.bestiary-full-page .bestiary-head,
body.bestiary-full-page .bestiary-rail{
  margin-left:0;
  margin-right:0;
}
body.bestiary-full-page .bestiary-controls{
  margin:16px 0 0;
}
body.bestiary-full-page .bestiary-grid{
  margin:0;
  padding:24px 34px 34px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,0) 12%),
    #c8b398;
  border-left:1px solid rgba(46,34,30,.16);
  border-right:1px solid rgba(46,34,30,.16);
}
body.bestiary-full-page .bestiary-ledger{
  margin:8px 0 12px;
}

/* Armory: restore the Workbench as a transparent stage wrapper. */
body.work-page .workbench.armory-full{
  width:min(1480px,calc(100% - 34px));
  max-width:none;
  margin:0 auto 56px;
  border:0;
  background:transparent;
  box-shadow:none;
}
body.work-page .workbench.armory-full::before{
  content:none;
}
body.work-page .armory-head,
body.work-page .armory-rail{
  margin-left:0;
  margin-right:0;
}
body.work-page .armory-full .bench-grid{
  margin:16px 0 0;
  padding:24px 34px 26px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,0) 12%),
    #c8b398;
  border-left:1px solid rgba(46,34,30,.16);
  border-right:1px solid rgba(46,34,30,.16);
}
body.work-page .spec-drawer{
  margin:8px 0 12px;
}

/* Restore scroll-margin targets to the original, stable Armory IDs. */
#tier-filters,#peg-list,#workbench-stage,#inspection-sheet,#spec-drawer{
  scroll-margin-top:138px;
}
.command-nav.is-scrolled + .workbench.armory-full #tier-filters,
.command-nav.is-scrolled + .workbench.armory-full #peg-list,
.command-nav.is-scrolled + .workbench.armory-full #workbench-stage,
.command-nav.is-scrolled + .workbench.armory-full #inspection-sheet,
.command-nav.is-scrolled + .workbench.armory-full #spec-drawer{
  scroll-margin-top:124px;
}

@media(max-width:1100px){
  body.bestiary-full-page .case-desk,
  body.work-page .workbench.armory-full{
    width:calc(100% - 18px);
    margin-top:0;
  }
  body.bestiary-full-page .bestiary-head,
  body.bestiary-full-page .bestiary-rail,
  body.work-page .armory-head,
  body.work-page .armory-rail{
    margin-left:0;
    margin-right:0;
  }
  body.bestiary-full-page .bestiary-controls{
    margin:14px 0 0;
  }
  body.bestiary-full-page .bestiary-grid,
  body.work-page .armory-full .bench-grid{
    margin-top:14px;
    padding-left:18px;
    padding-right:18px;
  }
  body.bestiary-full-page .bestiary-ledger,
  body.work-page .spec-drawer{
    margin-left:0;
    margin-right:0;
  }
}
@media(max-width:640px){
  body.bestiary-full-page .case-desk,
  body.work-page .workbench.armory-full{
    width:calc(100% - 12px);
  }
  body.bestiary-full-page .bestiary-grid,
  body.work-page .armory-full .bench-grid{
    margin-top:10px;
    padding-left:12px;
    padding-right:12px;
  }
}


/* ==================================================================
   ROSTER COHERENCE AUDIT
   Conservation pass: protect the Muster Parade and change only the
   details that clearly benefit from the site's later design language.
   ================================================================== */
.roster-head{
  min-height:96px;
  padding-top:14px;
  padding-bottom:14px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,0)),
    #f4eee2;
  box-shadow:0 10px 24px rgba(44,34,49,.07);
}
.roster-head-title{
  display:grid;
  gap:.18rem;
  min-width:0;
}
.roster-head-kicker{
  color:#9a6b45;
  font:900 .59rem/1 ui-monospace,monospace;
  text-transform:uppercase;
  letter-spacing:.16em;
}
.roster-head-title>b{
  color:#2c2231;
  font:850 clamp(1.3rem,2vw,1.72rem)/1 ui-sans-serif,system-ui,sans-serif;
  letter-spacing:-.035em;
}
.roster-head-note{
  margin-top:.14rem;
}
.roster-head-facts{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:0;
}
.roster-head-facts span{
  min-width:94px;
  padding:.12rem 1rem;
  border-left:1px solid rgba(44,34,49,.18);
}
.roster-head-facts span:last-child{
  border-right:1px solid rgba(44,34,49,.18);
}
.roster-head-facts b{
  color:#875268;
}
.roster-ledger-open{
  min-height:42px;
  border:1px solid rgba(44,34,49,.38);
  background:#2a2031;
  color:#f5eee3;
  box-shadow:0 7px 16px rgba(44,34,49,.14);
  transition:background .15s ease,transform .15s ease;
}
.roster-ledger-open:hover{
  background:#3a2b40;
  transform:translateY(-1px);
}
.roster-ledger-open:focus-visible,
.rollcall-tools input:focus-visible,
.rollcall-tools select:focus-visible,
.rollcall-list button:focus-visible,
.roster-ledger header button:focus-visible{
  outline:2px solid #b98a45;
  outline-offset:3px;
}

/* The ledger is secondary, so it can accept the newer site grammar
   without changing the beloved parade screen. */
.roster-ledger{
  border:1px solid rgba(44,34,49,.24);
  box-shadow:0 30px 70px rgba(42,32,49,.24);
}
.roster-ledger>header{
  align-items:flex-end;
  padding:24px 28px 22px;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg,#17121b,#241b29);
  color:#f5eee4;
}
.roster-ledger>header .eyebrow{
  color:#e0b964;
}
.roster-ledger>header h2{
  color:#f5eee4;
}
.roster-ledger>header p{
  color:#b8adbb;
}
.roster-ledger>header button{
  border:1px solid rgba(255,255,255,.13);
  background:#2d2232;
  color:#f6ead3;
}
.roster-ledger>header button:hover{
  background:#3a2b40;
}
.roster-ledger-summary{
  padding-top:.82rem;
  padding-bottom:.82rem;
  background:#eee5d7;
  border-bottom:1px solid rgba(44,34,49,.13);
}
.roster-table th{
  background:#352834;
}

/* Explicitly protect the page's defining composition. */
.roster-full-page,
.roster-main,
.roster-rollcall,
.roster-stage,
.roster-stage .cat-copy,
.cat-mods-panel,
.roster-kit{
  /* No structural restaging in this pass. */
}

@media(max-width:1200px){
  .roster-head-facts{
    display:none;
  }
}
@media(max-width:900px){
  .roster-head{
    min-height:0;
  }
}
@media(prefers-reduced-motion:reduce){
  .roster-ledger-open{
    transition:none;
  }
}


/* ==================================================================
   BACKGROUND ROOT CORRECTION
   The obsolete circle-pattern experiment has been removed. These three
   authored pages now use the same plum-texture family as Home and Porch.
   ================================================================== */
body.bestiary-full-page,
body.work-page,
body.manual-full-page{
  background-color:#17121c !important;
  background-image:
    linear-gradient(rgba(18,13,23,.50),rgba(18,13,23,.70)),
    url('assets/ui/yard_plum_texture.png') !important;
  background-repeat:no-repeat,no-repeat !important;
  background-position:center top,center top !important;
  background-size:auto,cover !important;
  background-attachment:fixed,fixed !important;
}
body.bestiary-full-page::after,
body.work-page::after,
body.manual-full-page::after{
  content:none !important;
  display:none !important;
}
@media(max-width:900px){
  body.bestiary-full-page,
  body.work-page,
  body.manual-full-page{
    background-attachment:scroll,scroll !important;
  }
}

/* ==================================================================
   FIELD MANUAL COHERENCE PASS
   Preserve the fold-out manual metaphor and full reference content,
   but give the page the later project's place-identity and hierarchy.
   ================================================================== */
body.manual-full-page{
  padding:0 0 28px;
  color:#241e20;
  overflow-x:hidden;
}
body.manual-full-page>.command-nav{
  margin:0;
}
.manual-main{
  width:min(1480px,calc(100% - 34px));
  margin:0 auto 56px;
}
.manual-cover{
  min-height:360px;
  display:grid;
  grid-template-columns:minmax(0,.93fr) minmax(420px,1.07fr);
  overflow:hidden;
  color:#f4ebdf;
  background:
    linear-gradient(105deg,rgba(21,16,27,.98) 0 44%,rgba(21,16,27,.72) 65%,rgba(21,16,27,.24)),
    radial-gradient(circle at 79% 42%,rgba(102,84,122,.28),transparent 37%);
  border-left:1px solid rgba(255,255,255,.12);
  border-right:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(231,184,83,.25);
  box-shadow:0 24px 54px rgba(0,0,0,.24);
}
.manual-cover-copy{
  position:relative;
  z-index:2;
  align-self:center;
  padding:clamp(42px,5.8vw,80px);
}
.manual-cover-kicker{
  color:#d6ad61;
  font:850 .65rem/1 ui-monospace,monospace;
  text-transform:uppercase;
  letter-spacing:.16em;
}
.manual-cover h1{
  max-width:8ch;
  margin:.68rem 0 .82rem;
  color:#f4ebdf;
  font:850 clamp(4rem,7.4vw,8rem)/.79 ui-sans-serif,system-ui,sans-serif;
  letter-spacing:-.075em;
}
.manual-cover-copy>p{
  max-width:43ch;
  margin:0;
  color:#bcaec1;
  font:italic clamp(1rem,1.65vw,1.28rem)/1.48 Georgia,serif;
}
.manual-cover-actions{
  display:flex;
  flex-wrap:wrap;
  gap:1.2rem;
  margin-top:1.5rem;
}
.manual-cover-actions a{
  display:inline-flex;
  gap:.55rem;
  color:#eee3d6;
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.18);
  padding:.45rem 0;
  font:750 .72rem ui-sans-serif,system-ui,sans-serif;
}
.manual-cover-actions a span{color:#d6ad61}
.manual-cover-actions a:hover{border-bottom-color:#d6ad61}
.manual-cover-plate{
  position:relative;
  min-height:360px;
  overflow:hidden;
  margin:22px 22px 22px 0;
  padding:22px;
  background:
    radial-gradient(circle at 70% 40%,rgba(214,173,97,.14),transparent 28%),
    linear-gradient(180deg,rgba(98,79,116,.14),rgba(53,38,61,.08)),
    #1d1721;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:inset 0 0 38px rgba(0,0,0,.34);
}
.manual-cover-plate::after{
  content:"";
  position:absolute;
  right:-42px;
  top:-38px;
  width:160px;
  height:160px;
  border:28px solid rgba(231,184,83,.07);
  border-radius:50%;
  pointer-events:none;
}
.manual-cover-plate-copy{
  position:relative;
  z-index:2;
  max-width:19rem;
}
.manual-cover-plate-copy span{
  display:block;
  color:#c8b8cf;
  font:900 .6rem/1 ui-monospace,monospace;
  text-transform:uppercase;
  letter-spacing:.16em;
}
.manual-cover-plate-copy b{
  display:block;
  margin-top:.55rem;
  color:#f5ede4;
  font:700 1.04rem/1.42 Georgia,serif;
}
.manual-cover-plate img{
  position:absolute;
  z-index:1;
  right:12px;
  top:14px;
  width:min(48%,300px);
  max-height:225px;
  object-fit:contain;
  image-rendering:pixelated;
  filter:drop-shadow(0 20px 24px rgba(0,0,0,.4));
}
.manual-cover-counts{
  position:absolute;
  z-index:2;
  left:22px;
  bottom:20px;
  width:min(56%,285px);
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.manual-cover-counts div{
  padding:11px 12px 12px;
  background:rgba(15,11,19,.55);
  border:1px solid rgba(255,255,255,.08);
}
.manual-cover-counts b{
  display:block;
  color:#f5ede4;
  font:900 1.22rem/1 ui-monospace,monospace;
}
.manual-cover-counts small{
  display:block;
  margin-top:.3rem;
  color:#b5a6b7;
  font:800 .55rem/1 ui-monospace,monospace;
  text-transform:uppercase;
  letter-spacing:.1em;
}
.manual-bookmarks{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  background:#140f17;
  border:1px solid rgba(255,255,255,.08);
  border-top:0;
  box-shadow:0 18px 34px rgba(0,0,0,.18);
}
.manual-bookmarks a{
  position:relative;
  display:grid;
  gap:.26rem;
  min-height:76px;
  padding:14px 18px 14px 22px;
  color:#bcaebe;
  text-decoration:none;
  border-left:1px solid rgba(255,255,255,.06);
}
.manual-bookmarks a:first-child{border-left:0}
.manual-bookmarks a::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:3px;
  background:transparent;
  transition:background .16s ease;
}
.manual-bookmarks a span{
  color:#e0b964;
  font:900 .56rem/1 ui-monospace,monospace;
  letter-spacing:.12em;
}
.manual-bookmarks a b{
  color:#f5eee4;
  font:700 .84rem/1.2 ui-sans-serif,system-ui,sans-serif;
}
.manual-bookmarks a small{
  color:#87798b;
  font:500 .72rem/1.35 Georgia,serif;
}
.manual-bookmarks a:hover{background:rgba(255,255,255,.03)}
.manual-bookmarks a:hover::before,
.manual-bookmarks a:focus-visible::before{background:#e0b964}
.manual-bookmarks a:focus-visible{outline:2px solid #e0b964;outline-offset:-2px}

.manual-overview{
  width:100%;
  max-width:none;
  min-height:620px;
  margin:16px 0 0;
  grid-template-columns:1.02fr .98fr 1fr 1fr;
  background:#eee4d2;
  border:1px solid rgba(55,39,31,.18);
  box-shadow:0 26px 58px rgba(0,0,0,.2);
}
.manual-overview::after{
  content:"QUICK REFERENCE FOLDOUT";
  position:absolute;
  right:18px;
  top:14px;
  z-index:2;
  color:rgba(74,52,44,.28);
  font:900 .55rem/1 ui-monospace,monospace;
  letter-spacing:.14em;
}
.manual-overview .fold-panel{
  padding:38px 30px;
  border-right:1px dashed rgba(71,49,48,.28);
}
.manual-overview .fold-panel:nth-child(2n){background:rgba(214,201,176,.35)}
.manual-overview .fold-panel h2{
  color:#2f2528;
  font-size:clamp(2rem,2.5vw,2.65rem);
  letter-spacing:-.035em;
}
.manual-overview .fold-panel .folio{color:#875268}
.manual-use-panel{
  background:linear-gradient(145deg,rgba(255,255,255,.34),rgba(255,255,255,.06));
}
.manual-counts span{
  background:rgba(255,255,255,.34);
  border-color:rgba(70,50,45,.16);
}
.margin-note{
  background:rgba(255,255,255,.22);
  border-left-color:#875268;
  padding:.8rem 1rem;
}
.field-stamp{
  right:18px;
  bottom:28px;
  border-color:#875268;
  color:#875268;
  opacity:.74;
}
.fold-jump{color:#6b3e56;border-bottom-color:#6b3e56}
.wave-clock div{background:#665274}
.wave-clock div:nth-child(2n){background:#856675}
.wave-clock div:last-child{background:#98505b}
.ladder div:nth-child(5){background:#63445f}
.stat-wheel::after{background:#875268}
.stat-wheel::before,.stat-wheel::after{border-color:#875268}

.manual-reader{
  width:100%;
  margin:24px 0 70px;
  grid-template-columns:286px minmax(0,1fr);
  gap:22px;
}
.manual-toc{
  top:74px;
  background:linear-gradient(180deg,#17121b,#211824);
  border:1px solid rgba(255,255,255,.1);
  box-shadow:0 24px 54px rgba(0,0,0,.28);
}
.manual-toc-head{padding:1.35rem 1.3rem 1.2rem}
.manual-toc-head h2{font-size:1.95rem;color:#f4ece2}
.manual-toc nav a{padding:.76rem .95rem}
.manual-toc nav a:hover,.manual-toc nav a.on{background:#302438}
.tooltip-key{background:#2a2030;border-left-color:#9f7fb4}

.manual-document{
  padding:32px 38px 48px;
  background:#eee4d2;
  border:1px solid rgba(55,39,31,.18);
  box-shadow:0 30px 70px rgba(0,0,0,.25),inset 0 0 70px rgba(90,61,45,.08);
}
.manual-title-sheet{
  margin:-32px -38px 28px;
  padding:32px 38px 30px;
  color:#f5eee4;
  background:linear-gradient(180deg,#17121b,#241b29);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.manual-title-sheet .folio{color:#e0b964}
.manual-title-sheet h1{color:#f5eee4}
.manual-title-sheet p{color:#c4b8c5}
.manual-title-sheet p b{color:#f4e5c7}
.manual-tools button{
  border:1px solid rgba(255,255,255,.14);
  background:#2d2232;
  color:#f6ead3;
}
.manual-tools button:hover{background:#3a2b40}
.manual-chapter{
  margin:0;
  padding:30px 22px 34px;
  background:transparent;
  border:0;
  border-bottom:1px solid rgba(71,49,42,.18);
  box-shadow:none;
}
.manual-chapter:nth-of-type(even){background:rgba(215,201,174,.18)}
.manual-chapter:last-child{border-bottom:0}
.manual-chapter .chapter-heading{
  color:#30252a;
  padding-bottom:.85rem;
  border-bottom-color:rgba(72,50,43,.2);
}
.manual-chapter .chapter-heading .step{color:#875268}
.chapter-number{color:#ad9576}
.chapter-copy{
  border-color:rgba(65,45,39,.22);
  background:#e5d8c2;
  color:#6b3e56;
}
.chapter-copy:hover{background:#f4eadb}
.manual-chapter a{color:#6b3e56;border-bottom-color:#9b7285}
.manual-chapter .table-wrap{
  background:#f7efe1;
  border-color:rgba(60,42,37,.18);
}
.reftable th{background:#352834;color:#f5eee4}
.reftable tbody tr:hover td{background:rgba(107,62,86,.06)}
.callout{background:#ded2bc;border-left-color:#875268}
.danger-row{background:#e2d6c1}
.manual-promise{color:#685b60}

#quick-reference,#field-index,#stats,#math{
  scroll-margin-top:84px;
}

@media(max-width:1180px){
  .manual-cover{grid-template-columns:1fr .9fr}
  .manual-cover-copy{padding:44px 34px}
  .manual-cover h1{font-size:clamp(4rem,8vw,6.5rem)}
  .manual-overview{grid-template-columns:1fr 1fr}
  .manual-reader{grid-template-columns:1fr}
  .manual-toc{position:relative;top:auto;max-height:none}
  .manual-toc nav{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:820px){
  .manual-main{width:calc(100% - 18px)}
  .manual-cover{grid-template-columns:1fr;min-height:0}
  .manual-cover-copy{padding:42px 28px 22px}
  .manual-cover-plate{min-height:280px;margin:0 18px 18px}
  .manual-cover-plate img{width:min(44%,220px);max-height:170px}
  .manual-bookmarks{grid-template-columns:repeat(4,minmax(160px,1fr));overflow-x:auto;scrollbar-width:none}
  .manual-bookmarks::-webkit-scrollbar{display:none}
  .manual-overview{grid-template-columns:1fr 1fr}
  .manual-reader{margin-top:18px}
  .manual-document{padding:24px 20px 38px}
  .manual-title-sheet{margin:-24px -20px 24px;padding:27px 22px 25px}
}
@media(max-width:620px){
  .manual-main{width:calc(100% - 12px)}
  .manual-cover-copy{padding:34px 22px 20px}
  .manual-cover h1{font-size:clamp(3.7rem,16vw,5.8rem)}
  .manual-cover-plate{min-height:250px;margin:0 12px 12px;padding:16px}
  .manual-cover-plate-copy{max-width:13.5rem}
  .manual-cover-plate-copy b{font-size:.94rem}
  .manual-cover-plate img{right:8px;top:10px;width:min(40%,150px);max-height:118px}
  .manual-cover-counts{left:14px;right:14px;bottom:14px;width:auto;max-width:calc(100% - 28px)}
  .manual-overview{grid-template-columns:1fr}
  .manual-overview .fold-panel{padding:30px 22px;border-right:0;border-bottom:1px dashed rgba(71,49,48,.28)}
  .manual-overview .fold-panel:last-child{border-bottom:0}
  .manual-toc nav{grid-template-columns:1fr 1fr}
  .manual-document{padding:20px 12px 32px}
  .manual-title-sheet{margin:-20px -12px 22px;padding:24px 16px 22px}
  .manual-chapter{padding:25px 10px 29px}
}


/* Manual quick-reference stat wheel label correction */
.manual-overview .stat-wheel a{
  position:absolute;
  z-index:2;
  color:#3a3035;
  text-decoration:none;
  font:800 .68rem/1 ui-monospace,monospace;
  text-transform:uppercase;
  letter-spacing:.06em;
  white-space:nowrap;
}
.manual-overview .stat-wheel a:hover{color:#875268}


/* ------------------------------------------------------------------
   ARMORY INDEX HEADER FIX
   The generated shelf header should sit as the sticky cap; the old
   pseudo-header drifted into the scroll body.
-------------------------------------------------------------------*/
.armory-full .peg-list::before{content:none}
.armory-full .peg-list{padding:0 8px 10px 4px}
.armory-full .peg-index-head{
  position:sticky;
  top:0;
  z-index:3;
  margin:0 -8px 12px -4px;
  padding:16px 16px 13px;
  background:linear-gradient(180deg,#1a141d,#241a29);
  border-bottom:1px solid rgba(255,255,255,.08);
  color:#f4ecdf;
}
.armory-full .peg-index-head b{color:#f4ecdf}
.armory-full .peg-index-head span{color:#d7c5b8}
.armory-full .peg-tier-head:first-of-type{margin-top:12px}

/* ------------------------------------------------------------------
   PROVISIONS PAGE
-------------------------------------------------------------------*/
body.work-page.provisions-page .workbench.provisions-full{
  width:min(1480px,calc(100% - 34px));
  max-width:none;
  margin:0 auto 56px;
  border:0;
  background:transparent;
  box-shadow:none;
}
body.work-page.provisions-page .workbench.provisions-full::before{content:none}
body.work-page.provisions-page .provisions-head,
body.work-page.provisions-page .armory-rail{margin-left:0;margin-right:0}
.provisions-full .bench-grid{
  grid-template-columns:246px 1fr 360px;
  gap:22px;
  margin:16px 0 0;
  padding:24px 34px 26px;
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,0) 12%),#c8b398;
  border-left:1px solid rgba(46,34,30,.16);
  border-right:1px solid rgba(46,34,30,.16);
}
.provisions-full .provision-hero-plate{background:linear-gradient(160deg,#2b2134,#3d2940)}
.provisions-full .provision-atlas b{color:#fff0bf}
.provisions-full .provision-shelf{
  max-height:792px;
  overflow:auto;
  padding:0 8px 10px 4px;
  position:relative;
  background:#f0e3d2;
  border:1px solid rgba(46,34,30,.18);
  box-shadow:0 18px 34px rgba(44,31,22,.12);
  scrollbar-color:#6a4f62 #eadcc8;
}
.provisions-full .provision-shelf .peg-index-head{
  position:sticky;
  top:0;
  z-index:3;
  margin:0 -8px 12px -4px;
  padding:16px 16px 13px;
  background:linear-gradient(180deg,#1a141d,#241a29);
  border-bottom:1px solid rgba(255,255,255,.08);
  color:#f4ecdf;
}
.provisions-full .provision-shelf .peg-index-head b{color:#f4ecdf}
.provisions-full .provision-shelf .peg-index-head span{color:#d7c5b8}
.provisions-full .provision-shelf .peg-tier-head{display:flex;justify-content:space-between;gap:.6rem;margin:12px 0 8px;padding:0 .2rem}
.provisions-full .provision-shelf .peg-tier-head b{font:800 .68rem/1 ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase;color:#4d4035}
.provisions-full .provision-shelf .peg-tier-head span{font:700 .66rem/1 ui-monospace,monospace;color:#8b7b73}
.provisions-full .provision-shelf .peg-tier-head.t1 b{color:#6f6764}
.provisions-full .provision-shelf .peg-tier-head.t2 b{color:#446e9f}
.provisions-full .provision-shelf .peg-tier-head.t3 b{color:#7e54a5}
.provisions-full .provision-shelf .peg-tier-head.t4 b{color:#9b3845}
.provisions-full .provision-shelf button{
  display:grid;
  grid-template-columns:56px 1fr;
  gap:.75rem;
  align-items:center;
  width:100%;
  text-align:left;
  border:1px solid rgba(46,34,30,.12);
  background:#fbf3e5;
  color:#3b2d27;
  padding:.6rem .65rem;
  cursor:pointer;
}
.provisions-full .provision-shelf button:hover{background:#f3e7d6;transform:translateY(-1px)}
.provisions-full .provision-shelf button.on{outline:2px solid #e2b654;background:#efe0cb}
.provisions-full .provision-shelf img{width:56px;height:56px;margin:0;object-fit:contain;image-rendering:pixelated}
.provisions-full .provision-stage{
  position:relative;
  min-height:620px;
  border:1px solid rgba(255,255,255,.16);
  background:
    radial-gradient(circle at 50% 36%,rgba(226,182,84,.17),transparent 26%),
    linear-gradient(180deg,rgba(17,13,23,.22),rgba(17,13,23,.06)),
    linear-gradient(180deg,#241b28 0%,#1a171d 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03),inset 0 -70px 120px rgba(0,0,0,.22);
}
.provisions-full .provision-stage::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:112px;
  background:linear-gradient(180deg,transparent,rgba(8,8,10,.06) 18%,rgba(8,8,10,.28) 68%,rgba(8,8,10,.42));
}
.provisions-full .provision-stage img{
  position:absolute;
  width:42%;height:42%;object-fit:contain;
  left:50%;top:40%;transform:translate(-50%,-50%);
  image-rendering:pixelated;
  filter:drop-shadow(0 24px 24px rgba(0,0,0,.56));
}
.provisions-full .weapon-label{z-index:1;background:linear-gradient(180deg,rgba(9,8,11,.12),rgba(9,8,11,.45));border:1px solid rgba(255,255,255,.06);backdrop-filter:blur(1.5px)}
.provisions-full .weapon-label .eyebrow{color:#e7b853}
.provisions-full .weapon-label h2{color:#faf2e6}
.provisions-full .weapon-label p{color:#c8bcc6;max-width:54ch}
.provisions-full .weapon-label .class-pill.static{cursor:default;background:#201c24;color:#e7d8c8;border-color:rgba(255,255,255,.12)}
.provisions-full .warning{color:#4e2c2b;border-color:#a34545;background:#f7ede5}
.provisions-full .warning b{color:#9b3845}
.provisions-full .provision-effect{display:block;margin-top:.45rem;line-height:1.5}
.provisions-full .provision-effect .modline{display:inline}
.provisions-full .provision-side .schematic dd{max-width:165px;text-align:right}
.provisions-full .spec-drawer{margin:8px 0 12px}
.provisions-full .provisions-ledger .flavor-cell{min-width:340px;line-height:1.45}
.provisions-full .provisions-ledger .row-peek{color:inherit;text-decoration:none}
.provisions-full .provisions-ledger .row-peek:hover{text-decoration:underline}
.provisions-full .provisions-ledger .stat-ref{vertical-align:middle}
.provisions-full .provisions-ledger .stat-ico,
.provisions-full .provision-effect .stat-ico{width:16px;height:16px;image-rendering:pixelated;vertical-align:-3px}
#tier-filters,#shelf-list,#provision-stage,#item-sheet,#supply-ledger{scroll-margin-top:138px}
.command-nav.is-scrolled + .workbench.provisions-full #tier-filters,
.command-nav.is-scrolled + .workbench.provisions-full #shelf-list,
.command-nav.is-scrolled + .workbench.provisions-full #provision-stage,
.command-nav.is-scrolled + .workbench.provisions-full #item-sheet,
.command-nav.is-scrolled + .workbench.provisions-full #supply-ledger{scroll-margin-top:124px}
@media(max-width:1100px){
  body.work-page.provisions-page .workbench.provisions-full{width:calc(100% - 18px);margin-top:0}
  .provisions-full .bench-grid{grid-template-columns:1fr;padding:22px 18px 22px}
  .provisions-full .provision-shelf{display:grid;grid-template-columns:repeat(2,1fr);max-height:none}
  .provisions-full .provision-stage{min-height:620px}
}
@media(max-width:760px){
  body.work-page.provisions-page .workbench.provisions-full{width:min(100%,calc(100% - 10px))}
  .provisions-full .provision-shelf{grid-template-columns:1fr}
  .provisions-full .provision-stage{min-height:540px}
  .provisions-full .provision-stage img{width:52%;height:52%}
}


/* ==================================================================
   THE LADDER — progression map, not a second roster
   Latest game continuity assets: menu backdrop, fence tokens, locks,
   plaques, and fence rail from CuteKittyWAR batch167.
   ================================================================== */
body.ladder-page{
  min-height:100vh;
  margin:0;
  color:#32282e;
  background-color:#17121c;
  background-image:linear-gradient(rgba(18,13,23,.50),rgba(18,13,23,.72)),url('assets/ui/yard_plum_texture.png');
  background-size:auto,cover;
  background-position:center top;
  background-attachment:fixed;
}
.ladder-main{width:min(1480px,calc(100% - 34px));margin:0 auto 56px}
.ladder-hero{position:relative;min-height:390px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(460px,1.1fr);overflow:hidden;border:1px solid rgba(255,255,255,.12);border-bottom:0;background:
 linear-gradient(105deg,rgba(21,16,27,.98) 0 42%,rgba(21,16,27,.72) 64%,rgba(21,16,27,.28)),
 radial-gradient(circle at 78% 42%,rgba(170,88,110,.18),transparent 37%),
 url('assets/ladder/menu_backdrop.png') center/cover;box-shadow:0 28px 60px rgba(0,0,0,.34)}
.ladder-hero::after{content:"";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,#d7ad63,transparent);opacity:.56}
.ladder-hero-copy{position:relative;z-index:3;align-self:center;padding:clamp(44px,6vw,82px) clamp(30px,4vw,64px) 88px}
.ladder-hero-copy .eyebrow{color:#e0b964}
.ladder-hero h1{max-width:8ch;margin:.56rem 0 .8rem;color:#f5eee5;font:850 clamp(4.2rem,8vw,8.2rem)/.78 ui-sans-serif,system-ui,sans-serif;letter-spacing:-.078em}
.ladder-hero-copy>p{max-width:48ch;margin:0;color:#c6bac7;font:italic clamp(1rem,1.55vw,1.22rem)/1.5 Georgia,serif}
.ladder-hero-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.ladder-home-link{display:inline-flex;align-items:center;gap:.55rem;min-height:44px;padding:.74rem 1rem;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#f4eadb;text-decoration:none;font:800 .82rem/1 ui-sans-serif,system-ui,sans-serif;box-shadow:0 10px 20px rgba(0,0,0,.18)}
.ladder-home-link:hover{background:rgba(255,255,255,.10)}
.ladder-home-link.alt{background:rgba(224,185,100,.10);color:#f0c86f}
.ladder-home-link:hover{transform:translateY(-1px)}
.gate-card,.starter-chain,.unlock-chain,.deed-card{border-radius:2px}
.gate-card:hover,.starter-chain:hover,.unlock-chain:hover,.deed-card:hover{box-shadow:0 18px 30px rgba(48,34,27,.14)}
.ladder-hero-copy .eyebrow{font:800 .65rem/1 ui-monospace,monospace;text-transform:uppercase;letter-spacing:.16em}

.ladder-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:26px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08)}
.ladder-counts div{padding:13px 14px;background:rgba(16,12,20,.78)}
.ladder-counts b{display:block;color:#f0c86f;font:850 1.55rem/1 ui-monospace,monospace}
.ladder-counts span{display:block;margin-top:.32rem;color:#a99eac;font-size:.68rem;line-height:1.25}
.ladder-hero-art{position:relative;min-height:390px;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 52% 42%,rgba(224,185,100,.16),transparent 32%),radial-gradient(circle at 52% 68%,rgba(133,85,111,.22),transparent 50%)}
.ladder-hero-art::before{content:"";position:absolute;inset:9% 8%;border-radius:50%;background:radial-gradient(circle,rgba(239,214,170,.10),transparent 64%);filter:blur(14px)}
.ladder-landmark{position:relative;z-index:2;width:min(620px,108%);max-height:390px;object-fit:contain;filter:drop-shadow(0 28px 28px rgba(0,0,0,.52)) saturate(.93)}
.ladder-hero-art::after{content:"";position:absolute;left:18%;right:18%;bottom:30px;height:78px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(234,207,168,.18) 0%,rgba(234,207,168,.10) 34%,rgba(0,0,0,.22) 74%,transparent 78%);filter:blur(12px);z-index:1}
.ladder-rail{position:sticky;top:62px;z-index:30;display:grid;grid-template-columns:repeat(5,1fr);border:1px solid rgba(255,255,255,.12);border-top:0;background:rgba(22,17,27,.97);box-shadow:0 16px 32px rgba(0,0,0,.28)}
.command-nav.is-scrolled + .ladder-main .ladder-rail{top:52px}
.ladder-rail a{position:relative;display:grid;gap:.22rem;align-content:center;min-height:56px;padding:12px 18px;color:#b6aab8;text-decoration:none;border-right:1px solid rgba(255,255,255,.09)}
.ladder-rail a:last-child{border-right:0}
.ladder-rail a:hover{background:rgba(255,255,255,.035);color:#f7efe6}
.ladder-rail a::after{content:"";position:absolute;left:22%;right:22%;bottom:0;height:3px;background:transparent;border-radius:3px 3px 0 0}
.ladder-rail a:hover::after,.ladder-rail a:focus-visible::after{background:rgba(224,185,100,.6)}
.ladder-rail a span{color:#e0b964;font:900 .56rem/1 ui-monospace,monospace;letter-spacing:.12em}
.ladder-rail a b{color:#f5eee4;font:700 .84rem/1.2 ui-sans-serif,system-ui,sans-serif}
.ladder-rail a small{color:#87798b;font:500 .72rem/1.35 Georgia,serif}
.ladder-section{padding:34px;background:#c8b398;border-left:1px solid rgba(46,34,30,.16);border-right:1px solid rgba(46,34,30,.16);border-bottom:1px solid rgba(46,34,30,.16)}
.ladder-section + .ladder-section{margin-top:0}
.ladder-section:nth-of-type(even){background:#c3ad90}
.ladder-section-head{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:22px;padding-bottom:16px;border-bottom:1px solid rgba(65,45,35,.2)}
.ladder-section-head span{color:#7e4d5f;font:900 .62rem/1 ui-monospace,monospace;text-transform:uppercase;letter-spacing:.13em}
.ladder-section-head h2{max-width:18ch;margin:.38rem 0 0;color:#34272d;font:850 clamp(2rem,3.6vw,4.2rem)/.9 ui-sans-serif,system-ui,sans-serif;letter-spacing:-.055em}
.ladder-section-head>p{max-width:44ch;margin:0;color:#665950;font:italic .97rem/1.5 Georgia,serif}
.ladder-panel{padding:18px;background:rgba(243,232,214,.58);border:1px solid rgba(53,39,32,.15);box-shadow:0 16px 28px rgba(47,33,25,.10)}
.ladder-panel + .ladder-panel{margin-top:18px}
.ladder-panel-dark{background:#221927;border-color:rgba(255,255,255,.08);box-shadow:0 20px 32px rgba(0,0,0,.20)}
.danger-run{display:flex;align-items:center;justify-content:center;gap:10px;padding:4px}
.danger-rung{position:relative;display:grid;place-items:center;min-width:120px;min-height:132px;padding:12px;color:#f5eee4;text-decoration:none;background:linear-gradient(180deg,#34253a,#211824);border:1px solid rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.danger-rung img{position:absolute;inset:8px auto auto 50%;width:82px;height:62px;transform:translateX(-50%);opacity:.28}
.danger-rung span,.danger-rung small{position:relative;z-index:1;color:#a89aa9;font:700 .63rem/1.2 ui-monospace,monospace;text-transform:uppercase;letter-spacing:.08em}
.danger-rung b{position:relative;z-index:1;color:#f0c86f;font:900 2.2rem/1 ui-monospace,monospace}
.danger-rung:hover{background:linear-gradient(180deg,#44304a,#2b202f);transform:translateY(-2px)}
.danger-arrow{color:#9c879b;font-size:1.5rem}
.gate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.gate-card{display:grid;grid-template-columns:126px 1fr;gap:18px;align-items:center;min-height:190px;padding:20px;background:#f3e8d6;border:1px solid rgba(53,39,32,.17);box-shadow:0 14px 24px rgba(47,33,25,.10)}
.gate-card-mark{align-self:stretch;display:grid;place-items:center;align-content:center;gap:8px;background:#241a29;color:#d9c8d8}
.gate-card-mark img{width:88px;height:88px;object-fit:contain;image-rendering:auto}
.gate-card-mark span{font:800 .57rem/1 ui-monospace,monospace;text-transform:uppercase;letter-spacing:.1em}
.gate-card h3{margin:0;color:#4e3040;font:850 1.35rem/1 ui-sans-serif,system-ui,sans-serif}
.gate-card p{margin:.65rem 0;color:#61534b;line-height:1.47}
.gate-rewards{display:flex;gap:8px;flex-wrap:wrap}
.gate-reward-link{display:grid;gap:.18rem;color:#4e3040;text-decoration:none}
.gate-reward-link span{color:#776960;font:italic .82rem/1.4 Georgia,serif}
.starter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.starter-chain{display:grid;grid-template-columns:minmax(170px,.85fr) minmax(190px,1fr) 28px minmax(190px,1fr);gap:12px;align-items:center;padding:16px;background:#f2e6d3;border-top:5px solid var(--cat);box-shadow:0 13px 24px rgba(48,34,27,.1)}
.starter-cat{display:grid;gap:6px}
.starter-cat>span,.chain-step>span,.signature-prize>span,.unlock-action>span,.unlock-reward>span,.deed-copy>span,.deed-prize>span{color:#875268;font:900 .57rem/1 ui-monospace,monospace;text-transform:uppercase;letter-spacing:.1em}
.chain-step b{display:block;margin-top:.34rem;color:#44352f;font:700 .84rem/1.4 Georgia,serif}
.chain-arrow,.deed-arrow{color:#8f6b65;font-size:1.35rem;text-align:center}
.ladder-entity{display:grid;grid-template-columns:54px 1fr;gap:10px;align-items:center;color:#382b31;text-decoration:none;min-width:0}
.ladder-entity img{width:54px;height:54px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 7px 6px rgba(0,0,0,.18))}
.ladder-entity b{display:block;color:#382b31;font:800 .9rem/1.12 ui-sans-serif,system-ui,sans-serif}
.ladder-entity small{display:block;margin-top:.18rem;color:#81736a;font-size:.67rem}
.ladder-entity:hover b{text-decoration:underline}
.ladder-entity.compact{grid-template-columns:42px 1fr;padding:6px 8px;background:#eadbc6;border:1px solid rgba(52,39,32,.12)}
.ladder-entity.compact img{width:42px;height:42px}
.cat-journey-grid{display:grid;gap:16px}
.unlock-chain{position:relative;display:grid;grid-template-columns:48px minmax(220px,1.35fr) minmax(190px,.8fr) minmax(205px,1.1fr) minmax(190px,.8fr);gap:14px;align-items:stretch;padding:16px 18px;background:#f3e8d6;border-left:6px solid var(--cat);box-shadow:0 14px 25px rgba(48,34,27,.1)}
.unlock-number{display:grid;place-items:center;color:#8b6a73;font:900 1rem/1 ui-monospace,monospace;border-right:1px solid rgba(53,39,32,.12)}
.unlock-action{position:relative;padding:8px 10px 8px 44px;background:#e6d7c1}
.unlock-action.win-step{background:#eadbc7}
.ladder-lock{position:absolute;left:8px;top:8px;width:28px;height:28px;image-rendering:pixelated}
.unlock-action p{margin:.45rem 0 0;color:#493b35;font:700 .88rem/1.46 Georgia,serif}
.unlock-reward{display:grid;align-content:center;gap:8px;padding:8px 10px;border-left:1px solid rgba(53,39,32,.12)}
.cat-reward{background:linear-gradient(90deg,rgba(255,255,255,.2),transparent)}
.deed-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.deed-card{display:grid;grid-template-columns:46px 1fr 28px minmax(190px,.75fr);gap:12px;align-items:center;padding:18px;background:#f3e8d6;border-top:5px solid #704a5f;box-shadow:0 14px 25px rgba(48,34,27,.1)}
.deed-number{color:#9b6e7d;font:900 1rem/1 ui-monospace,monospace}
.deed-copy h3{margin:.35rem 0 .45rem;color:#4e3040;font:850 1.2rem/1 ui-sans-serif,system-ui,sans-serif}
.deed-copy p{margin:0;color:#54463f;font:700 .88rem/1.45 Georgia,serif}
.ladder-ledger-panel{padding:20px;background:#eee2d0}
.ladder-controls{display:grid;grid-template-columns:1.5fr .75fr .75fr;gap:10px}
.ladder-controls input,.ladder-controls select{width:100%;border:1px solid rgba(52,39,32,.23);background:#f8efe2;color:#3b2d33;padding:.78rem .85rem}
.ladder-controls input:focus-visible,.ladder-controls select:focus-visible{outline:2px solid #8b596e;outline-offset:2px}
.ladder-ledger-summary{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:14px 0 8px;color:#65574f;font-size:.8rem}
.ladder-ledger-summary b{color:#713f57}
.ladder-table-wrap{max-height:720px;overflow:auto;border:1px solid rgba(52,39,32,.2);background:#f3e8d6}
.ladder-table{width:100%;min-width:1060px;border-collapse:collapse}
.ladder-table th,.ladder-table td{text-align:left;padding:.75rem .8rem;border-bottom:1px solid rgba(52,39,32,.12);vertical-align:middle}
.ladder-table th{position:sticky;top:0;z-index:3;background:#2d2232;color:#eee5d8;font:800 .65rem/1 ui-sans-serif,system-ui,sans-serif;text-transform:uppercase;letter-spacing:.1em}
.ladder-table td{color:#4f413b;font-size:.82rem;line-height:1.4}
.ladder-table tbody tr:hover{background:#eadbc6}
.ladder-table .row-peek{display:grid;grid-template-columns:34px 1fr;gap:7px;align-items:center;color:#4e3040;text-decoration:none}
.ladder-table .row-peek img{width:34px;height:34px;object-fit:contain;image-rendering:pixelated}
.ladder-kind{display:inline-block;margin:.1rem;padding:.25rem .4rem;border-radius:999px;background:#ddd0bd;color:#5a493f;font:800 .58rem/1 ui-monospace,monospace;text-transform:uppercase}
.ladder-kind.cat{background:#d8c0ca;color:#643c50}.ladder-kind.item{background:#d9d0ae;color:#5d552d}.ladder-kind.weapon{background:#d9b9b9;color:#6d3434}.ladder-kind.mode{background:#c1c9dc;color:#3f4e72}.ladder-kind.discovery{background:#c6c0d4;color:#514269}
.hash-target{animation:ladder-pulse 1.8s ease both}
@keyframes ladder-pulse{0%,100%{box-shadow:0 14px 25px rgba(48,34,27,.1)}35%{box-shadow:0 0 0 5px rgba(224,185,100,.65),0 18px 34px rgba(48,34,27,.2)}}
.ladder-footer{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:17px 20px;color:#95899a;border:1px solid rgba(255,255,255,.10);border-top:0;background:rgba(19,14,23,.78);font-size:.72rem}
.ladder-footer nav{display:flex;gap:1rem;flex-wrap:wrap}
.ladder-footer a{color:#b8acba;text-decoration:none}
.ladder-footer a:hover{color:#fff4e8}
.ladder-footer span a{color:#e0b964}
#standing-gates,#starting-eight,#cat-journeys,#direct-deeds,#complete-ledger{scroll-margin-top:138px}
.command-nav.is-scrolled + .ladder-main #standing-gates,.command-nav.is-scrolled + .ladder-main #starting-eight,.command-nav.is-scrolled + .ladder-main #cat-journeys,.command-nav.is-scrolled + .ladder-main #direct-deeds,.command-nav.is-scrolled + .ladder-main #complete-ledger{scroll-margin-top:124px}
.roster-ladder-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:.65rem .85rem;border:1px solid rgba(44,34,49,.25);background:#eee5d8;color:#5e3d4e;text-decoration:none;font-weight:800;box-shadow:0 7px 16px rgba(44,34,49,.08)}
.roster-ladder-link:hover{background:#e4d7c7}
.home-supply-link{color:#73475b;font-weight:800}
@media(max-width:1180px){
  .ladder-hero{grid-template-columns:1fr .92fr}
  .unlock-chain{grid-template-columns:42px 1fr 1fr}.unlock-action.win-step{grid-column:2}.unlock-reward:last-child{grid-column:3}.unlock-reward{border-left:0}.deed-grid{grid-template-columns:1fr}
  .starter-grid{grid-template-columns:1fr}
}
@media(max-width:900px){
  body.ladder-page{background-attachment:scroll}.ladder-main{width:calc(100% - 18px)}.ladder-hero{grid-template-columns:1fr;min-height:0}.ladder-hero-copy{padding:42px 28px 26px}.ladder-hero-art{min-height:300px}.ladder-landmark{width:min(540px,114%);max-height:310px}.ladder-rail{top:56px;grid-template-columns:repeat(5,minmax(165px,1fr));overflow-x:auto;scrollbar-width:none}.ladder-rail::-webkit-scrollbar{display:none}.ladder-section{padding:24px 18px}.ladder-section-head{align-items:flex-start;flex-direction:column}.gate-grid{grid-template-columns:1fr}.danger-run{justify-content:flex-start;overflow-x:auto}.ladder-counts{grid-template-columns:repeat(2,1fr)}.ladder-controls{grid-template-columns:1fr}.ladder-footer{display:block}
  .ladder-footer nav{margin-top:.7rem}
}
@media(max-width:700px){
  .ladder-main{width:calc(100% - 10px)}.ladder-hero h1{font-size:clamp(3.8rem,18vw,6.2rem)}.gate-card{grid-template-columns:92px 1fr}.gate-card-mark img{width:68px;height:68px}.starter-chain{grid-template-columns:1fr}.chain-arrow{transform:rotate(90deg)}.unlock-chain{grid-template-columns:1fr;padding:15px}.unlock-number{display:none}.unlock-action,.unlock-action.win-step,.unlock-reward,.unlock-reward:last-child{grid-column:auto}.deed-card{grid-template-columns:38px 1fr}.deed-arrow{display:none}.deed-prize{grid-column:2}.ladder-hero-links{display:grid}.ladder-home-link{justify-content:center}.ladder-counts{grid-template-columns:1fr 1fr}
}
@media(prefers-reduced-motion:reduce){.hash-target{animation:none}.danger-rung:hover{transform:none}}

.command-home .yard-legend{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1100px){.command-home .yard-legend{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.command-home .yard-legend{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* ==================================================================
   GLOBAL COHERENCE AUDIT — connective tissue only
   Shared keyboard focus and route clarity without flattening page identity.
   ================================================================== */
.yard-place:focus-visible,
.yard-gate:focus-visible,
.porch-chair-strip a:focus-visible,
.porch-section-rail a:focus-visible,
.bestiary-rail a:focus-visible,
.armory-rail a:focus-visible,
.ladder-rail a:focus-visible,
.manual-bookmarks a:focus-visible,
.command-footer a:focus-visible,
.porch-footer a:focus-visible,
.ladder-footer a:focus-visible,
.home-supply-link:focus-visible,
.bulletins-rail a:focus-visible,
.bulletins-route-list a:focus-visible,
.bulletins-next a:focus-visible{
  outline:2px solid #e0b964;
  outline-offset:3px;
}
.porch-footer nav,
.command-footer nav{
  row-gap:.55rem;
  flex-wrap:wrap;
}
@media(prefers-reduced-motion:reduce){
  .yard-place,
  .yard-gate,
  .ladder-home-link{
    transition:none;
  }
}


/* ==================================================================
   PAST THE FENCE — finite epilogue field dossier
   Old Command essay preserved; current batch167 mechanics reconciled.
   ================================================================== */
body.fence-page{min-height:100vh;margin:0;color:#30262d;background-color:#17121c;background-image:linear-gradient(rgba(18,13,23,.48),rgba(18,13,23,.74)),url('assets/ui/yard_plum_texture.png');background-size:auto,cover;background-position:center top;background-attachment:fixed}
.fence-main{width:min(1480px,calc(100% - 34px));margin:0 auto 56px}
.fence-hero{position:relative;min-height:390px;display:grid;grid-template-columns:minmax(0,.86fr) minmax(460px,1.14fr);overflow:hidden;border:1px solid rgba(255,255,255,.12);border-bottom:0;background:linear-gradient(105deg,rgba(21,16,27,.99) 0 42%,rgba(21,16,27,.70) 64%,rgba(21,16,27,.24)),radial-gradient(circle at 80% 42%,rgba(104,72,132,.30),transparent 38%);box-shadow:0 28px 60px rgba(0,0,0,.34)}
.fence-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,#d8ae63,transparent);opacity:.58}
.fence-hero-copy{position:relative;z-index:3;align-self:center;padding:clamp(44px,6vw,82px) clamp(30px,4vw,64px)}
.fence-kicker{color:#d8ae63;font:800 .65rem/1 ui-monospace,monospace;text-transform:uppercase;letter-spacing:.16em}
.fence-hero h1{max-width:8ch;margin:.65rem 0 .78rem;color:#f4ebdf;font:850 clamp(4rem,8vw,8.4rem)/.78 ui-sans-serif,system-ui,sans-serif;letter-spacing:-.078em}
.fence-hero-copy>p{max-width:44ch;margin:0;color:#c2b5c5;font:italic clamp(1rem,1.7vw,1.3rem)/1.48 Georgia,serif}
.fence-hero-links{display:flex;gap:18px;flex-wrap:wrap;margin-top:1.4rem}.fence-hero-links a{display:inline-flex;gap:.55rem;color:#eee3d6;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.18);padding:.45rem 0;font:750 .72rem ui-sans-serif,system-ui,sans-serif}.fence-hero-links span{color:#d8ae63}
.fence-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:26px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08)}.fence-counts div{padding:13px 14px;background:rgba(16,12,20,.76)}.fence-counts b{display:block;color:#edc672;font:850 1.28rem/1 ui-monospace,monospace}.fence-counts span{display:block;margin-top:.3rem;color:#9e91a3;font-size:.68rem;line-height:1.25}
.fence-hero-art{position:relative;min-height:390px;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 54% 45%,rgba(229,194,126,.15),transparent 35%)}.fence-hero-art::before{content:"";position:absolute;left:12%;right:12%;bottom:18px;height:90px;border-radius:50%;background:radial-gradient(ellipse,rgba(225,198,157,.18),rgba(0,0,0,.28) 70%,transparent 74%);filter:blur(13px)}
.fence-landmark{position:relative;z-index:2;width:min(760px,116%);max-height:430px;object-fit:contain;filter:drop-shadow(0 30px 30px rgba(0,0,0,.52)) saturate(.9)}
.fence-omens{position:absolute;z-index:3;top:24px;left:8%;right:8%;display:flex;justify-content:space-between;gap:10px}.fence-omens span{display:flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid rgba(255,255,255,.1);background:rgba(20,15,25,.70);color:#d9cbd9;font:800 .6rem/1 ui-monospace,monospace;text-transform:uppercase;letter-spacing:.1em}.fence-omens img{width:32px;height:32px;object-fit:contain}
.fence-rail{position:sticky;top:62px;z-index:30;display:grid;grid-template-columns:repeat(5,1fr);border:1px solid rgba(255,255,255,.12);border-top:0;background:rgba(22,17,27,.97);box-shadow:0 16px 32px rgba(0,0,0,.28)}.command-nav.is-scrolled + .fence-main .fence-rail{top:52px}.fence-rail a{position:relative;display:grid;gap:.22rem;align-content:center;min-height:58px;padding:12px 18px;color:#b6aab8;text-decoration:none;border-right:1px solid rgba(255,255,255,.09)}.fence-rail a:last-child{border-right:0}.fence-rail a:hover{background:rgba(255,255,255,.035)}.fence-rail a::after{content:"";position:absolute;left:22%;right:22%;bottom:0;height:3px;background:transparent}.fence-rail a:hover::after,.fence-rail a:focus-visible::after{background:#d8ae63}.fence-rail span{color:#d8ae63;font:900 .56rem/1 ui-monospace,monospace;letter-spacing:.12em}.fence-rail b{color:#f5eee4;font:700 .84rem/1.2 ui-sans-serif,system-ui,sans-serif}.fence-rail small{color:#87798b;font:500 .72rem/1.35 Georgia,serif}
.fence-reading-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:22px;padding-top:30px}.fence-index{position:sticky;top:132px;align-self:start;max-height:calc(100vh - 152px);overflow:auto;background:#19131e;color:#b9adbc;border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 50px rgba(0,0,0,.28)}.command-nav.is-scrolled + .fence-main .fence-reading-grid .fence-index{top:122px;max-height:calc(100vh - 142px)}.fence-index header{display:flex;justify-content:space-between;gap:1rem;padding:18px;border-bottom:1px solid rgba(255,255,255,.1)}.fence-index header span{color:#d8ae63;font:850 .6rem ui-monospace,monospace;text-transform:uppercase;letter-spacing:.11em}.fence-index header b{font-size:.68rem;color:#8f8293}.fence-index nav{display:grid}.fence-index nav a{position:relative;display:grid;grid-template-columns:28px 1fr;gap:.5rem;padding:11px 17px;color:#b9adbc;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.075)}.fence-index nav a span{color:#756b78;font:800 .56rem ui-monospace,monospace}.fence-index nav a b{font:700 .77rem/1.25 ui-sans-serif,system-ui,sans-serif}.fence-index nav a:hover,.fence-index nav a.active{color:#fff6eb;background:rgba(123,73,96,.22)}.fence-index nav a.active::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#d8ae63}.fence-index-note{padding:17px 18px}.fence-index-note b{color:#f0e5da;font-size:.7rem}.fence-index-note p{margin:.35rem 0 0;color:#8f8391;font:italic .76rem/1.42 Georgia,serif}
.fence-document{min-width:0;background:#eee3d3;color:#31272d;border:1px solid rgba(255,255,255,.28);box-shadow:0 34px 80px rgba(0,0,0,.34)}.fence-title-sheet{padding:clamp(34px,5vw,68px);background:linear-gradient(135deg,#f3e9dc,#e8dccd);border-bottom:1px solid rgba(49,39,45,.16)}.fence-title-sheet>span{color:#825069;font:900 .63rem ui-monospace,monospace;text-transform:uppercase;letter-spacing:.14em}.fence-title-sheet h2{max-width:17ch;margin:.55rem 0 .9rem;color:#30252c;font-size:clamp(2.4rem,5vw,5.4rem);line-height:.86;letter-spacing:-.06em}.fence-title-sheet p{max-width:78ch;margin:0;color:#493b43;font:500 1.08rem/1.68 Georgia,serif}
.fence-chapter{scroll-margin-top:132px;padding:clamp(30px,5vw,66px);border-bottom:1px solid rgba(49,39,45,.16)}.fence-chapter:nth-of-type(even){background:rgba(255,255,255,.15)}.fence-chapter>header{display:grid;grid-template-columns:44px minmax(0,1fr) 34px;gap:17px;align-items:start;margin-bottom:23px}.fence-number{display:grid;place-items:center;width:42px;height:42px;border:1px solid #9a7282;color:#825069;font:900 .7rem ui-monospace,monospace}.fence-step{display:block;color:#825069;font:900 .62rem ui-monospace,monospace;text-transform:uppercase;letter-spacing:.13em}.fence-chapter h2{max-width:18ch;margin:.38rem 0 0;color:#30252c;font-size:clamp(2rem,4.2vw,4.3rem);line-height:.88;letter-spacing:-.055em}.fence-copy{width:34px;height:34px;border:1px solid rgba(49,39,45,.22);background:transparent;color:#825069;cursor:pointer}.fence-copy:hover{background:#fff8ed}.fence-copy-body{max-width:900px;margin-left:59px;color:#493b43;font:500 1.02rem/1.68 Georgia,serif}.fence-copy-body p{margin:0 0 1.08rem}.fence-copy-body a{color:#6f344f;font-weight:700;text-decoration-color:rgba(111,52,79,.35);text-underline-offset:3px}.fence-copy-body blockquote{margin:1.2rem 0;padding:1.1rem 1.25rem;border-left:5px solid #d8ae63;background:#211923;color:#f3e8dc;font:italic 1.15rem/1.5 Georgia,serif}
.fence-sequence{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:10px;align-items:center;margin:1.5rem 0;padding:16px;background:#211923;color:#e9dedf}.fence-sequence span{display:grid;gap:.25rem;padding:10px;border:1px solid rgba(255,255,255,.08)}.fence-sequence b{color:#edc672;font:800 .72rem ui-monospace,monospace;text-transform:uppercase;letter-spacing:.08em}.fence-sequence small{color:#a99bab;font:.76rem/1.35 Georgia,serif}.fence-sequence i{color:#8d7586;font-style:normal}
.altered-dial{display:grid;grid-template-columns:1.2fr repeat(6,1fr);gap:1px;margin:1.4rem 0;background:rgba(54,40,47,.22);border:1px solid rgba(54,40,47,.22)}.altered-dial div{padding:13px 10px;background:#e4d6c3;text-align:center}.altered-dial b{display:block;color:#6d3855;font:900 .86rem ui-monospace,monospace}.altered-dial span{display:block;margin-top:.3rem;color:#6e605a;font-size:.68rem;line-height:1.3}
.fence-postures{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:1.4rem}.fence-postures article{position:relative;min-height:235px;padding:22px;background:linear-gradient(155deg,#f6eee2,#e4d6c4);border:1px solid rgba(70,49,55,.18);box-shadow:0 10px 0 rgba(83,55,68,.09)}.fence-postures article>span{color:#9a6f7e;font:900 .65rem ui-monospace,monospace}.fence-postures h3{margin:.6rem 0 .65rem;color:#49313e;font-size:1.4rem;line-height:1}.fence-postures p{margin:0;font-size:.91rem;line-height:1.55}
.fence-chapter.deep{background:linear-gradient(180deg,#2b202f,#201820);color:#ddd0dc}.fence-chapter.deep .fence-number{border-color:#8f7589;color:#d8ae63}.fence-chapter.deep .fence-step{color:#d8ae63}.fence-chapter.deep h2{color:#f5ebe3}.fence-chapter.deep .fence-copy{border-color:rgba(255,255,255,.18);color:#d8ae63}.fence-chapter.deep .fence-copy-body{color:#c9bcc8}.fence-chapter.deep .fence-copy-body a{color:#edc672}.warped-march{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:1.45rem 0}.warped-march a{display:grid;grid-template-columns:74px 1fr;align-items:center;gap:10px;padding:12px;background:#18131b;border:1px solid rgba(255,255,255,.09);color:#eee3e8;text-decoration:none}.warped-march img{width:74px;height:74px;object-fit:contain}.warped-march b{display:block;color:#f1e7df;font:800 .88rem ui-sans-serif,system-ui,sans-serif}.warped-march small{display:block;margin-top:.2rem;color:#958796;font-size:.67rem}
.thing-depth{background:#171319!important;color:#ded4dc}.thing-depth .fence-number{border-color:#7e6677;color:#d8ae63}.thing-depth .fence-step{color:#d8ae63}.thing-depth h2{color:#f7eee6}.thing-depth .fence-copy{border-color:rgba(255,255,255,.18);color:#d8ae63}.thing-depth .fence-copy-body{color:#c9bec7}.thing-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.7fr);gap:24px;align-items:center;padding:24px;background:radial-gradient(circle at 78% 45%,rgba(135,75,141,.22),transparent 38%),#211924;border:1px solid rgba(255,255,255,.09)}.thing-stage>div>span{color:#d8ae63;font:900 .6rem ui-monospace,monospace;text-transform:uppercase;letter-spacing:.12em}.thing-stage h3{margin:.5rem 0 .8rem;font-size:clamp(2rem,4vw,4rem);line-height:.88}.thing-stage h3 a{color:#fff0e5;text-decoration:none}.thing-stage p{color:#bcaebc}.thing-stage img{width:100%;max-height:340px;object-fit:contain;filter:drop-shadow(0 25px 24px rgba(0,0,0,.62))}.thing-stage dl{display:grid;grid-template-columns:1fr auto;margin:1rem 0 0;border-top:1px solid rgba(255,255,255,.1)}.thing-stage dt,.thing-stage dd{margin:0;padding:.58rem 0;border-bottom:1px solid rgba(255,255,255,.08)}.thing-stage dt{color:#9d8f9d}.thing-stage dd{color:#edc672;font:800 .78rem ui-monospace,monospace;text-align:right}
.fence-endings{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.fence-endings article{min-height:190px;padding:22px;background:#e4d6c3;border-top:5px solid #765166}.fence-endings article.held{background:#e9dfbf;border-top-color:#b78a35}.fence-endings article.true{background:#241b29;color:#e9dee8;border-top-color:#d8ae63}.fence-endings span{color:#8a5b70;font:900 .58rem ui-monospace,monospace;text-transform:uppercase;letter-spacing:.1em}.fence-endings .true span{color:#d8ae63}.fence-endings h3{margin:.55rem 0;color:#4a3040;font-size:1.3rem;line-height:1}.fence-endings .true h3{color:#fff0e2}.fence-endings p{margin:0;font-size:.9rem;line-height:1.5}.fence-endings .true p{color:#c7bac7}
.fence-rewards{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:1.4rem 0}.fence-rewards a{display:grid;grid-template-columns:72px 1fr;gap:14px;align-items:center;padding:15px;background:#e4d6c3;border:1px solid rgba(65,45,53,.16);text-decoration:none}.fence-rewards img{width:72px;height:72px;object-fit:contain;image-rendering:pixelated}.fence-rewards b{display:block;color:#4c3140;font:800 1rem ui-sans-serif,system-ui,sans-serif}.fence-rewards small{display:block;margin-top:.25rem;color:#76665f;font-size:.72rem}.fence-callout{margin-top:1.5rem!important;padding:18px 20px;border-left:5px solid #d8ae63;background:#211923;color:#e8dce5}.fence-callout strong{color:#edc672}
.fence-footer{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:17px 20px;color:#95899a;border:1px solid rgba(255,255,255,.1);border-top:0;background:rgba(19,14,23,.78);font-size:.72rem}.fence-footer nav{display:flex;gap:1rem;flex-wrap:wrap}.fence-footer a{color:#b8acba;text-decoration:none}.fence-footer span a{color:#d8ae63}.fence-footer a:hover{color:#fff4e8}
#gate,#crossing,#bells,#altered,#pact,#procession,#needle,#thing,#endings,#records{scroll-margin-top:134px}
@media(max-width:1100px){.fence-hero{grid-template-columns:1fr .92fr}.fence-reading-grid{grid-template-columns:230px minmax(0,1fr)}.fence-postures{grid-template-columns:1fr}.warped-march{grid-template-columns:1fr}.altered-dial{grid-template-columns:repeat(4,1fr)}}
@media(max-width:820px){body.fence-page{background-attachment:scroll}.fence-main{width:calc(100% - 18px)}.fence-hero{grid-template-columns:1fr;min-height:0}.fence-hero-copy{padding:42px 28px 18px}.fence-hero h1{font-size:clamp(3.7rem,16vw,6rem)}.fence-hero-art{min-height:280px}.fence-landmark{width:min(680px,122%);max-height:320px}.fence-omens{top:12px;justify-content:center;flex-wrap:wrap}.fence-rail{top:56px;grid-template-columns:repeat(5,minmax(165px,1fr));overflow-x:auto;scrollbar-width:none}.fence-rail::-webkit-scrollbar{display:none}.fence-reading-grid{grid-template-columns:1fr}.fence-index{position:relative;top:auto;max-height:none}.command-nav.is-scrolled + .fence-main .fence-reading-grid .fence-index{top:auto;max-height:none}.fence-index nav{grid-template-columns:repeat(2,1fr)}.fence-copy-body{margin-left:0}.thing-stage{grid-template-columns:1fr}.fence-endings,.fence-rewards{grid-template-columns:1fr}.fence-footer{align-items:flex-start;flex-direction:column}.fence-sequence{grid-template-columns:1fr}.fence-sequence i{transform:rotate(90deg);text-align:center}.altered-dial{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.fence-main{width:calc(100% - 10px)}.fence-counts{grid-template-columns:repeat(2,1fr)}.fence-chapter{padding:28px 20px}.fence-chapter>header{grid-template-columns:42px 1fr}.fence-copy{grid-column:2;justify-self:end;margin-top:-42px}.fence-index nav{grid-template-columns:1fr}.fence-omens span{padding:6px 8px;font-size:.52rem}.fence-omens img{width:26px;height:26px}}
@media(prefers-reduced-motion:reduce){.fence-rail,.fence-index{scroll-behavior:auto}}

.porch-fence-dossier{display:flex;align-items:center;justify-content:center;margin:24px 0 0;padding:18px 22px;border:1px solid rgba(255,255,255,.13);background:#211824;color:#f0c773;text-decoration:none;font-weight:800}.porch-fence-dossier:hover{background:#2c2030}


/* ==================================================================
   BULLETIN BOARD — home-bound news and notices
   ================================================================== */
body.bulletins-page{min-height:100vh;margin:0;color:#30262d;background-color:#17121c;background-image:linear-gradient(rgba(18,13,23,.48),rgba(18,13,23,.74)),url('assets/ui/yard_plum_texture.png');background-size:auto,cover;background-position:center top;background-attachment:fixed}
.bulletins-main{width:min(1480px,calc(100% - 34px));margin:0 auto 56px}
.bulletins-hero{position:relative;min-height:390px;display:grid;grid-template-columns:minmax(0,.88fr) minmax(460px,1.12fr);overflow:hidden;border:1px solid rgba(255,255,255,.12);border-bottom:0;background:linear-gradient(108deg,rgba(21,16,27,.99) 0 42%,rgba(21,16,27,.74) 65%,rgba(21,16,27,.28)),radial-gradient(circle at 78% 36%,rgba(120,86,146,.26),transparent 40%);box-shadow:0 28px 60px rgba(0,0,0,.34)}
.bulletins-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,#d8ae63,transparent);opacity:.58}
.bulletins-hero-copy{position:relative;z-index:2;align-self:center;padding:clamp(44px,6vw,82px) clamp(30px,4vw,64px)}
.bulletins-kicker{display:inline-flex;align-items:center;gap:.55rem;color:#eecf8c;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase}
.bulletins-kicker::before{content:"";width:38px;height:1px;background:rgba(238,207,140,.7)}
.bulletins-hero h1{margin:.65rem 0 .8rem;color:#fff6ea;font-size:clamp(3.8rem,7vw,6.8rem);line-height:.88;letter-spacing:-.06em}
.bulletins-hero p{max-width:33rem;color:#d6c8da;font-size:1.02rem;line-height:1.72}
.bulletins-hero-links{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.5rem}
.bulletins-hero-links a{display:inline-flex;align-items:center;gap:.55rem;text-decoration:none;color:#fff7eb;background:rgba(40,29,50,.86);border:1px solid rgba(255,255,255,.14);padding:.82rem 1rem;border-radius:999px;box-shadow:0 14px 30px rgba(0,0,0,.24)}
.bulletins-hero-links a:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(0,0,0,.28)}
.bulletins-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin-top:1.85rem;max-width:42rem}
.bulletins-counts div{padding:.9rem 1rem;background:rgba(22,15,29,.62);border:1px solid rgba(255,255,255,.08);border-radius:16px}
.bulletins-counts b{display:block;color:#fff4e3;font-size:1.14rem}.bulletins-counts span{display:block;color:#bcaec9;font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;margin-top:.2rem}
.bulletins-hero-art{position:relative;min-height:100%;display:flex;align-items:center;justify-content:center;padding:36px 26px 10px}
.bulletins-landmark{width:min(620px,100%);max-height:355px;object-fit:contain;filter:drop-shadow(0 24px 34px rgba(0,0,0,.4))}
.bulletins-pins{position:absolute;right:4.4%;top:24px;display:grid;gap:.65rem}
.bulletins-pins span{display:block;padding:.55rem .8rem;background:rgba(27,18,34,.85);border:1px solid rgba(255,255,255,.14);border-radius:999px;color:#fff0de;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 10px 22px rgba(0,0,0,.22)}
.bulletins-rail{position:sticky;top:72px;z-index:10;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;padding:1px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12);border-top:0;backdrop-filter:blur(8px)}
.bulletins-rail a{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:.9rem;row-gap:.15rem;padding:1rem 1.05rem;text-decoration:none;background:rgba(20,15,27,.92)}
.bulletins-rail span{grid-row:1 / span 2;color:#f3c96b;font-size:1.14rem;font-weight:700;align-self:start}.bulletins-rail b{color:#fff4e7;font-size:.98rem}.bulletins-rail small{color:#aa9bb8;font-size:.73rem}
.bulletins-shell{display:grid;grid-template-columns:minmax(260px,310px) minmax(0,1fr);gap:18px;align-items:start;margin-top:18px}
.bulletins-aside{position:sticky;top:146px;background:linear-gradient(180deg,#17121f,#130f1a);border:1px solid rgba(255,255,255,.1);padding:24px 22px;border-radius:24px;box-shadow:0 20px 46px rgba(0,0,0,.26);color:#e8deee}
.bulletins-aside h2{margin:.4rem 0 .8rem;color:#fff2e5;font-size:2rem;line-height:.94;letter-spacing:-.04em}.bulletins-aside p{color:#b8aabd;line-height:1.65}
.bulletins-route-list{display:grid;gap:.72rem;margin-top:1.15rem}.bulletins-route-list a{display:block;text-decoration:none;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:.9rem .95rem}.bulletins-route-list a:hover{transform:translateY(-2px)}
.bulletins-route-list b{display:block;color:#fff2e4;font-size:.95rem}.bulletins-route-list span{display:block;color:#b6a8ba;font-size:.78rem;line-height:1.4;margin-top:.2rem}
.bulletins-board-note{margin-top:1.15rem;padding:1rem;border-radius:18px;background:rgba(243,201,107,.08);border:1px solid rgba(243,201,107,.18)}.bulletins-board-note b{display:block;color:#f1ce82}.bulletins-board-note p{margin:.45rem 0 0;color:#cbbdcf}
.bulletins-reading{display:grid;gap:18px}
.bulletins-card{background:#fbf6ef;border:1px solid rgba(60,40,20,.12);border-radius:26px;box-shadow:0 24px 48px rgba(35,23,13,.12);padding:26px 28px}.bulletins-card:target{box-shadow:0 0 0 3px rgba(224,185,100,.35),0 24px 48px rgba(35,23,13,.12);scroll-margin-top:140px}
.bulletins-card header{display:grid;grid-template-columns:64px 1fr;gap:1rem;align-items:center;margin-bottom:1rem}.bulletins-number{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(180deg,#60408c,#2f203d);color:#fff5e8;font-weight:700;font-size:1.3rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 10px 20px rgba(52,30,74,.18)}
.bulletins-step{display:block;color:#9b8b7f;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:.35rem}.bulletins-card h2{margin:0;color:#2d2430;font-size:2rem;letter-spacing:-.04em}
.bulletins-card-body p{color:#5e544a;font-size:.99rem;line-height:1.8}.bulletins-card-body p+p{margin-top:.95rem}
.bulletins-art-group{display:flex;gap:18px;align-items:flex-end;justify-content:flex-start;margin:6px 0 18px;padding:18px;border-radius:22px;background:linear-gradient(180deg,#efe7d7,#e7dbc7);border:1px solid rgba(69,45,24,.10)}
.bulletins-art-group img{display:block;max-width:100%;height:auto}.item-trio img{width:108px;height:108px;object-fit:contain}.boss-trio img{width:min(31%,200px);aspect-ratio:1/1;object-fit:contain}.wide-shot img{width:100%;max-height:300px;object-fit:cover;border-radius:14px}
.bulletins-next{display:flex;justify-content:space-between;gap:1rem;margin-top:18px}.bulletins-next a{flex:1;display:block;text-decoration:none;background:#17121f;border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:1rem 1.1rem;color:#f0e6d8;box-shadow:0 16px 34px rgba(0,0,0,.24)}.bulletins-next a:last-child{text-align:right}.bulletins-next span{display:block;color:#c8bacb;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.28rem}.bulletins-next b{font-size:1rem}
.bulletins-footer{margin-top:0}
@media(max-width:1180px){.bulletins-hero{grid-template-columns:1fr}.bulletins-shell{grid-template-columns:1fr}.bulletins-aside{position:relative;top:auto}.bulletins-landmark{max-height:320px}}
@media(max-width:900px){body.bulletins-page{background-attachment:scroll}.bulletins-main{width:calc(100% - 18px)}.bulletins-rail{top:56px;grid-template-columns:repeat(3,minmax(165px,1fr));overflow-x:auto;scrollbar-width:none}.bulletins-rail::-webkit-scrollbar{display:none}.bulletins-card{padding:22px 20px}.bulletins-counts{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.bulletins-main{width:calc(100% - 10px)}.bulletins-hero h1{font-size:clamp(3.6rem,17vw,6rem)}.bulletins-hero-copy{padding:38px 22px 24px}.bulletins-hero-links{display:grid}.bulletins-card header{grid-template-columns:48px 1fr}.bulletins-number{width:48px;height:48px;font-size:1rem;border-radius:14px}.bulletins-card h2{font-size:1.55rem}.item-trio{flex-wrap:wrap}.item-trio img{width:82px;height:82px}.boss-trio{gap:12px;justify-content:space-between}.boss-trio img{width:31%}.bulletins-next{display:grid}.bulletins-next a:last-child{text-align:left}}

/* ONE SPINE, TWO SKINS (2026-07-30): the road back to the classic
   Command - dense tables, traditional layout, mobile-friendly. */
.classic-view-link { margin-left: auto; align-self: center; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; opacity: .7; text-decoration: none; }
.classic-view-link:hover { opacity: 1; }


/* ------------------------------------------------------------------
   Home Yard Directory
   The illustrated Yard is primary navigation. This compact ribbon is the
   modern, accessible directory beneath it—not a second page of feature cards.
   ------------------------------------------------------------------ */
.yard-frame,
.yard-directory{
  position:relative;
  z-index:1;
}
.command-home .yard-directory{
  width:min(1380px,calc(100% - 40px));
  margin:-2px auto 0;
  padding:0 0 24px;
}
.command-home .yard-directory-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  min-height:28px;
  padding:0 .3rem .52rem;
  color:#ab9daf;
}
.command-home .yard-directory-heading .eyebrow{
  color:#d9b968;
  letter-spacing:.16em;
}
.command-home .yard-directory-heading>span:last-child{
  font:italic .78rem/1.2 Georgia,serif;
}
.command-home .yard-directory-links{
  display:grid;
  grid-template-columns:repeat(9,minmax(142px,1fr));
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:thin;
  scrollbar-color:rgba(218,185,104,.48) rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.035),transparent 58%),
    rgba(22,16,27,.94);
  box-shadow:0 16px 34px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.035);
}
.command-home .yard-directory-links::-webkit-scrollbar{
  height:7px;
}
.command-home .yard-directory-links::-webkit-scrollbar-track{
  background:rgba(255,255,255,.035);
}
.command-home .yard-directory-links::-webkit-scrollbar-thumb{
  background:rgba(218,185,104,.42);
  border-radius:999px;
}
.command-home .yard-directory-link{
  --directory-accent:#d9b968;
  position:relative;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  align-items:center;
  gap:.48rem;
  min-width:142px;
  min-height:68px;
  padding:.55rem .62rem;
  color:#efe7dc;
  text-decoration:none;
  border-right:1px solid rgba(255,255,255,.075);
  transition:background .16s ease,color .16s ease;
}
.command-home .yard-directory-link:last-child{
  border-right:0;
}
.command-home .yard-directory-link::after{
  content:"";
  position:absolute;
  left:18%;
  right:18%;
  bottom:0;
  height:2px;
  border-radius:2px 2px 0 0;
  background:var(--directory-accent);
  transform:scaleX(0);
  opacity:.8;
  transition:transform .16s ease;
}
.command-home .yard-directory-link:hover,
.command-home .yard-directory-link:focus-visible{
  background:rgba(255,255,255,.055);
  color:#fff8ee;
}
.command-home .yard-directory-link:hover::after,
.command-home .yard-directory-link:focus-visible::after{
  transform:scaleX(1);
}
.command-home .yard-directory-link:focus-visible{
  z-index:2;
  outline:2px solid rgba(244,221,169,.72);
  outline-offset:-2px;
}
.command-home .yard-directory-icon{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:11px;
  background:linear-gradient(180deg,rgba(247,235,218,.16),rgba(247,235,218,.055));
  border:1px solid rgba(255,255,255,.09);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.command-home .yard-directory-icon img{
  display:block;
  width:50px;
  height:37px;
  max-width:none;
  object-fit:contain;
  transform:scale(1.28);
  filter:drop-shadow(0 4px 5px rgba(0,0,0,.22));
}
.command-home .yard-directory-copy{
  min-width:0;
  display:grid;
  gap:.08rem;
}
.command-home .yard-directory-copy b{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.78rem;
  line-height:1.15;
  letter-spacing:-.01em;
}
.command-home .yard-directory-copy small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#9f92a4;
  font-size:.65rem;
  line-height:1.15;
}
.command-home .directory-porch{--directory-accent:#dfbd77}
.command-home .directory-bulletins{--directory-accent:#efc06a}
.command-home .directory-roster{--directory-accent:#c8c68a}
.command-home .directory-ladder{--directory-accent:#d79c66}
.command-home .directory-bestiary{--directory-accent:#a9c78f}
.command-home .directory-armory{--directory-accent:#c5917d}
.command-home .directory-manual{--directory-accent:#82b4d3}
.command-home .directory-provisions{--directory-accent:#8fc0ab}
.command-home .directory-past-fence{--directory-accent:#9f8ad6}
@media(max-width:700px){
  .command-home .yard-directory{
    width:calc(100% - 18px);
    padding-bottom:18px;
  }
  .command-home .yard-directory-heading{
    padding-left:.15rem;
    padding-right:.15rem;
  }
  .command-home .yard-directory-heading>span:last-child{
    display:none;
  }
  .command-home .yard-directory-links{
    grid-template-columns:repeat(9,150px);
    border-radius:15px;
  }
  .command-home .yard-directory-link{
    min-width:150px;
  }
}

/* ==================================================================
   ROSTER — MUSTER BOARD
   Preserve the parade composition while placing it in Command's shared
   yard, dark-rail, warm-paper, and gold-wayfinding visual language.
   ================================================================== */
body.roster-full-page{
  min-height:100vh;margin:0;color:#30262d;background-color:#17121c;
  background-image:linear-gradient(rgba(18,13,23,.50),rgba(18,13,23,.72)),url('assets/ui/yard_plum_texture.png');
  background-repeat:no-repeat,no-repeat;background-position:center top,center top;
  background-size:auto,cover;background-attachment:fixed,fixed;
}
body.roster-full-page .roster-head,
body.roster-full-page .roster-main{width:min(1540px,calc(100% - 28px));margin-left:auto;margin-right:auto}
body.roster-full-page .roster-head{
  margin-top:20px;overflow:hidden;border:1px solid rgba(255,255,255,.12);border-bottom:0;
  background:linear-gradient(180deg,rgba(255,255,255,.035),transparent),#1a141e;
  color:#f5eee4;box-shadow:0 22px 52px rgba(0,0,0,.30);
}
body.roster-full-page .roster-head::before{
  content:"";align-self:stretch;width:4px;margin:-14px 0 -14px -1px;flex:0 0 4px;
  background:#d8ae63;box-shadow:0 0 22px rgba(216,174,99,.25);
}
body.roster-full-page .roster-head-kicker,
body.roster-full-page .roster-head-facts b{color:#d8ae63}
body.roster-full-page .roster-head-title>b{color:#f5eee4;font-family:Georgia,serif;font-weight:400;letter-spacing:-.025em}
body.roster-full-page .roster-head-note{color:#a99dac}
body.roster-full-page .roster-head-facts span{border-color:rgba(255,255,255,.11);color:#b8adbb}
body.roster-full-page .roster-ladder-link{border-color:rgba(255,255,255,.12);background:#29202e;color:#e4d4ba;box-shadow:none}
body.roster-full-page .roster-ladder-link:hover{background:#35283a}
body.roster-full-page .roster-ledger-open{border-color:rgba(216,174,99,.38);background:#6f3f58;color:#fff8ed;box-shadow:0 8px 18px rgba(0,0,0,.22)}
body.roster-full-page .roster-ledger-open:hover{background:#81506a}
body.roster-full-page .roster-main{
  position:relative;min-height:calc(100vh - 190px);margin-bottom:34px;
  border:1px solid rgba(255,255,255,.12);background:#ddd3bf;box-shadow:0 30px 70px rgba(0,0,0,.38);
}
body.roster-full-page .roster-rollcall{border-right:1px solid rgba(255,255,255,.11);background:#19131e;color:#b9adbc}
body.roster-full-page .rollcall-tools{
  top:52px;border-bottom:1px solid rgba(255,255,255,.11);
  background:linear-gradient(180deg,rgba(255,255,255,.025),transparent),#19131e;
  box-shadow:0 12px 22px rgba(0,0,0,.24);
}
body.roster-full-page .rollcall-tools .eyebrow,
body.roster-full-page .rollcall-tools span{color:#d8ae63}
body.roster-full-page .rollcall-tools input,
body.roster-full-page .rollcall-tools select{border-color:rgba(255,255,255,.13);background:#251d2a;color:#f2e9dc}
body.roster-full-page .rollcall-tools input::placeholder{color:#8f8293}
body.roster-full-page .rollcall-list button{color:#b9adbc;border-bottom-color:rgba(255,255,255,.075)}
body.roster-full-page .rollcall-list button:hover{background:rgba(123,73,96,.16);color:#fff6eb}
body.roster-full-page .rollcall-list button.on{background:rgba(123,73,96,.28);color:#fff6eb;box-shadow:inset 4px 0 #d8ae63}
body.roster-full-page .rollcall-list button em{color:#d8ae63}
body.roster-full-page .roster-stage{
  background:linear-gradient(110deg,rgba(255,255,255,.18) 0 64%,rgba(83,57,47,.055) 64% 100%),url('assets/ui/page_texture.png'),#eee5d6;
  background-repeat:no-repeat,repeat,repeat;color:#30262d;box-shadow:inset 0 0 80px rgba(84,59,43,.10);
}
body.roster-full-page .roster-stage::after{
  content:"MUSTER BOARD  /  YARD DEPLOYMENT RECORD";position:absolute;right:24px;top:22px;z-index:2;
  color:rgba(91,59,74,.46);font:900 .55rem/1 ui-monospace,monospace;letter-spacing:.15em;pointer-events:none;
}
body.roster-full-page .huge-name{color:rgba(104,78,91,.12)}
body.roster-full-page .cat-copy .number,
body.roster-full-page .cat-mods-panel>.eyebrow{color:#7a465d}
body.roster-full-page .roster-related a{background:rgba(255,255,255,.32);border-color:rgba(109,61,85,.25)}
body.roster-full-page .roster-mod,
body.roster-full-page .roster-weapon{background:rgba(247,241,231,.74);box-shadow:0 3px 0 rgba(67,47,53,.055)}
body.roster-full-page .kit-strip{border-top-color:rgba(68,46,52,.30)}
body.roster-full-page .roster-stage .cat-seal{background:rgba(238,229,214,.72);box-shadow:0 0 0 7px rgba(238,229,214,.36)}
body.roster-full-page .roster-ledger{width:min(1500px,calc(100% - 28px));border-color:rgba(255,255,255,.12);box-shadow:0 30px 70px rgba(0,0,0,.38)}
:root[data-theme="dark"] body.roster-full-page .roster-stage{
  background:linear-gradient(110deg,rgba(255,255,255,.025) 0 64%,rgba(0,0,0,.10) 64% 100%),url('assets/ui/page_texture.png'),#211a25;
}
:root[data-theme="dark"] body.roster-full-page .roster-stage::after{color:rgba(231,189,103,.28)}
:root[data-theme="dark"] body.roster-full-page .huge-name{color:rgba(231,220,230,.075)}
:root[data-theme="dark"] body.roster-full-page .roster-mod,
:root[data-theme="dark"] body.roster-full-page .roster-weapon{background:rgba(48,39,54,.88)}
@media(max-width:900px){
  body.roster-full-page{background-attachment:scroll,scroll}
  body.roster-full-page .roster-head{width:calc(100% - 18px);margin-top:10px}
  body.roster-full-page .roster-main{width:calc(100% - 18px);margin-bottom:18px}
  body.roster-full-page .roster-rollcall{border-right:0;border-bottom:1px solid rgba(255,255,255,.11)}
  body.roster-full-page .rollcall-tools{top:50px}
}
@media(max-width:650px){
  body.roster-full-page .roster-head::before,
  body.roster-full-page .roster-stage::after{display:none}
}

/* ==================================================================
   COMMAND SCROLLBARS
   Carry the Roster's slim, tactile rail language across every authored
   scrolling surface. Each location keeps its own material accent while
   sharing the same proportions, inset track, and gold hover cue.
   ================================================================== */
body.has-command{
  --scroll-track:#211824;
  --scroll-track-edge:#34263a;
  --scroll-thumb:#76566a;
  --scroll-thumb-hover:#d8ae63;
  --scroll-thumb-active:#efd08a;
}
body.command-home{--scroll-track:#17111d;--scroll-track-edge:#30233a;--scroll-thumb:#846170}
body.porch-page{--scroll-track:#1b1420;--scroll-track-edge:#382940;--scroll-thumb:#76566a}
body.bulletins-page{--scroll-track:#1b1420;--scroll-track-edge:#3b293d;--scroll-thumb:#9a625f}
body.roster-full-page{--scroll-track:#19131e;--scroll-track-edge:#36273a;--scroll-thumb:#7b5268}
body.ladder-page{--scroll-track:#211823;--scroll-track-edge:#3c2b35;--scroll-thumb:#a16c4d}
body.bestiary-full-page{--scroll-track:#30271f;--scroll-track-edge:#514332;--scroll-thumb:#73815c}
body.work-page{--scroll-track:#171b1f;--scroll-track-edge:#303940;--scroll-thumb:#9c6657}
body.provisions-page{--scroll-track:#17201f;--scroll-track-edge:#2d403d;--scroll-thumb:#598678}
body.manual-full-page{--scroll-track:#211d24;--scroll-track-edge:#3d3541;--scroll-thumb:#637f96}
body.fence-page{--scroll-track:#18121d;--scroll-track-edge:#32263b;--scroll-thumb:#735f91}

:where(body.has-command,body.has-command *){
  scrollbar-width:thin;
  scrollbar-color:var(--scroll-thumb) var(--scroll-track);
}
:where(body.has-command,body.has-command *)::-webkit-scrollbar{
  width:11px;
  height:11px;
}
:where(body.has-command,body.has-command *)::-webkit-scrollbar-track{
  background:
    linear-gradient(90deg,transparent 0 2px,var(--scroll-track-edge) 2px 3px,transparent 3px),
    var(--scroll-track);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.035);
}
:where(body.has-command,body.has-command *)::-webkit-scrollbar-thumb{
  min-height:34px;
  min-width:34px;
  border:2px solid var(--scroll-track);
  border-radius:999px;
  background:
    linear-gradient(90deg,rgba(255,255,255,.12),transparent 42%),
    var(--scroll-thumb);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10);
}
:where(body.has-command,body.has-command *)::-webkit-scrollbar-thumb:hover{
  background:
    linear-gradient(90deg,rgba(255,255,255,.16),transparent 42%),
    var(--scroll-thumb-hover);
}
:where(body.has-command,body.has-command *)::-webkit-scrollbar-thumb:active{
  background:var(--scroll-thumb-active);
}
:where(body.has-command,body.has-command *)::-webkit-scrollbar-corner{
  background:var(--scroll-track);
}
:where(body.has-command,body.has-command *)::-webkit-scrollbar-button{
  width:0;
  height:0;
}
