.handbook{--hb-top:58px;--fink:#ff4a1c;--vinnie:#5cc8b4;--mags:#b9a0ff;--bram:#f0a33a;--picket:#a6d65c;--hb-rail:250px}.handbook .nav{z-index:30;background:var(--ink);border-bottom:var(--rule);position:sticky;top:0}.hb-hero{width:min(1120px, calc(100% - 2 * var(--gutter)));border-bottom:var(--rule);gap:24px;margin-inline:auto;padding:28px 0 34px;display:grid}.hb-hero-plate{border:var(--rule);align-content:center;height:clamp(180px,30vw,340px);display:grid;overflow:hidden}.hb-hero-plate canvas{width:100%!important}.hb-hero-text{gap:4px;display:grid}.hb-hero-text .page-title{margin-bottom:18px}.hb-parts-index{border-top:var(--rule);border-left:var(--rule);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin:26px 0 0;padding:0;list-style:none;display:grid}.hb-parts-index li{border-right:var(--rule);border-bottom:var(--rule)}.hb-parts-index a{align-items:baseline;gap:12px;padding:10px 14px;font-size:19px;text-decoration:none;display:flex}.hb-parts-index a:hover .serif-i{text-underline-offset:4px;text-decoration:underline}.hb-parts-index .label{min-width:2.6em}.hb-hero-actions{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.hb-layout{width:min(1120px, calc(100% - 2 * var(--gutter)));grid-template-columns:var(--hb-rail) minmax(0, 1fr);align-items:start;gap:44px;margin-inline:auto;display:grid}.hb-body{min-width:0}.hb-contents{top:var(--hb-top);max-height:calc(100dvh - var(--hb-top));z-index:5;flex-direction:column;padding-top:26px;display:flex;position:sticky}.hb-contents-bar{display:none}.hb-contents-list{min-height:0;padding:0 10px 26px 0;overflow-y:auto}.hb-find input{background:var(--ink);width:100%;color:var(--bone);border:var(--rule);font:12px var(--mono);margin-bottom:14px;padding:8px 10px}.hb-find input:focus{border-color:var(--bone-3);outline:none}.hb-contents ol{margin:0;padding:0;list-style:none}.hb-contents-part{margin-bottom:12px}.hb-contents-part>a{color:var(--bone-2);padding:4px 0;text-decoration:none;display:block}.hb-contents-part>a:hover{color:var(--bone)}.hb-contents-part ol a{border-left:1px solid var(--bone-4);color:var(--bone-3);padding:3px 0 3px 12px;font-size:12px;line-height:1.4;text-decoration:none;display:block}.hb-contents-part ol a:hover{color:var(--bone)}.hb-contents-part ol a[aria-current=location]{color:var(--bone);border-left:2px solid var(--signal);padding-left:11px}.hb-contents-none{padding:6px 0}.hb-part{scroll-margin-top:calc(var(--hb-top) + 12px);padding-top:40px}.hb-part+.hb-part{border-top:var(--rule);margin-top:30px}.hb-part-plate{border:var(--rule);align-content:center;height:clamp(150px,22vw,240px);display:grid;overflow:hidden}.hb-part-plate canvas{width:100%!important}.hb-part-head{padding:18px 0 6px}.hb-part-title{letter-spacing:-.03em;margin:6px 0 8px;font-size:clamp(40px,6vw,64px);line-height:.95}.hb-part-sub{color:var(--bone-2);margin:0;font-size:13.5px}.hb-section{scroll-margin-top:calc(var(--hb-top) + 12px);padding-top:34px}.hb-crumb{margin-bottom:4px}.hb-h{flex-wrap:wrap;align-items:baseline;gap:10px;margin:0 0 14px;font-size:clamp(28px,3.4vw,36px);line-height:1.05;display:flex}.hb-anchor{font-family:var(--mono);color:var(--bone-4);font-size:13px;font-style:normal;text-decoration:none}.hb-anchor:hover,.hb-anchor:focus-visible{color:var(--signal)}.hb-sub{color:var(--bone-2);margin:22px 0 8px}.hb-prose{color:var(--bone-2);gap:14px;font-size:13.5px;line-height:1.65;display:grid}.hb-prose>p,.hb-prose>ul,.hb-prose>ol{margin:0}.hb-prose b,.hb-prose strong{color:var(--bone);font-weight:500}.hb-prose ul,.hb-prose ol{gap:6px;padding-left:20px;display:grid}.hb-prose a{text-underline-offset:3px;-webkit-text-decoration-color:var(--bone-3);text-decoration-color:var(--bone-3)}.hb-prose a:hover{color:var(--bone);-webkit-text-decoration-color:var(--signal);text-decoration-color:var(--signal)}.hb-prose code{font-family:var(--mono);color:var(--bone)}.hb-key{border:1px solid var(--bone-3);min-width:1.9em;font:500 11px/1.6 var(--mono);color:var(--bone);text-align:center;border-bottom-width:2px;padding:0 6px;display:inline-block}.hb-note{border:var(--rule);border-left:2px solid var(--bone-3);gap:4px;padding:12px 16px;display:grid}.hb-spoil{border:var(--rule)}.hb-spoil summary{cursor:pointer;justify-content:space-between;gap:10px;padding:10px 14px;list-style:none;display:flex}.hb-spoil summary::-webkit-details-marker{display:none}.hb-spoil summary:hover{color:var(--bone)}.hb-spoil[open] summary{border-bottom:var(--rule)}.hb-spoil-in{gap:10px;padding:12px 14px;display:grid}.hb-table{border:var(--rule);max-width:100%;overflow-x:auto}.hb-table table{border-collapse:collapse;width:100%;min-width:520px;font-size:12.5px}.hb-table th,.hb-table td{text-align:left;vertical-align:top;border-bottom:var(--rule);padding:8px 12px}.hb-table th{font:500 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--bone-3)}.hb-table td{color:var(--bone-2);font-variant-numeric:tabular-nums}.hb-table td b{color:var(--bone);font-weight:500}.hb-table tr:last-child td{border-bottom:0}.hb-fig{gap:8px;max-width:100%;margin:6px 0;display:grid}.hb-fig-body{border:var(--rule);padding:14px;overflow-x:auto}.hb-fig-body svg{width:100%;min-width:420px;height:auto;display:block}.hb-cap{color:var(--bone-3);font-size:11.5px}.hb-plate canvas{border:var(--rule)}.hb-shot-frame{border:var(--rule);line-height:0;position:relative}.hb-shot-frame img{width:100%;height:auto;display:block}.hb-pin{background:var(--signal);width:22px;height:22px;color:var(--ink);font:700 11px/22px var(--mono);text-align:center;box-shadow:0 0 0 2px var(--ink), 0 0 0 3px var(--signal);border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.hb-legend{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px 20px;margin:4px 0 0;padding:0;list-style:none;display:grid}.hb-legend li{color:var(--bone-2);grid-template-columns:22px minmax(0,1fr);gap:10px;font-size:12px;display:grid}.hb-legend b{color:var(--bone);font-weight:500}.hb-legend-n{background:var(--signal);width:20px;height:20px;color:var(--ink);font:700 10.5px/20px var(--mono);text-align:center;border-radius:50%}.hb-dia text{font-family:var(--mono);fill:var(--bone-2);font-size:11px}.hb-dia .t-big{font-family:var(--serif);fill:var(--bone);font-size:17px;font-style:italic}.hb-dia .t-sig{fill:var(--signal)}.hb-dia .t-dim{fill:var(--bone-3)}.hb-say{--who:var(--fink);border:1px solid var(--who);grid-template-columns:112px minmax(0,1fr);margin:4px 0;display:grid}.hb-say-who{border-right:1px solid var(--who);min-height:112px;line-height:0;overflow:hidden}.hb-say-who canvas{width:112px!important}.hb-say-body{align-content:start;gap:8px;padding:12px 16px 14px;display:grid}.hb-say-tag{color:var(--who)}.hb-say-text{color:var(--bone);margin:0;font-size:21px;line-height:1.28}.hb-say-mags .hb-say-text{font-style:italic}.hb-say-play{align-items:center;gap:12px;display:flex}.hb-say-btn{border:1px solid var(--who);width:32px;height:32px;color:var(--who);cursor:pointer;background:0 0;flex:none;place-items:center;padding:0;display:grid}.hb-say-btn:hover,.hb-say-btn[aria-pressed=true]{background:var(--who);color:var(--ink)}.hb-say-track{border:1px solid var(--bone-4);flex:1;min-width:40px;height:7px;position:relative;overflow:hidden}.hb-say-track b{background:var(--who);transform-origin:0;position:absolute;inset:0;transform:scaleX(0)}.hb-say-time{text-align:right;min-width:6.5em}.hb-chips{flex-wrap:wrap;gap:6px;display:flex}.hb-chip{border:var(--rule);cursor:pointer;background:0 0;padding:6px 10px}.hb-chip:hover{color:var(--bone)}.hb-chip[aria-pressed=true]{color:var(--bone);border-color:var(--bone-3);box-shadow:inset 0 -2px 0 var(--bone)}.hb-rooms{gap:12px;display:grid}.hb-rooms-blurb{color:var(--bone-3);margin:0;font-size:12.5px}.hb-room-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;display:grid}.hb-room{border:var(--rule);scroll-margin-top:calc(var(--hb-top) + 12px);grid-template-rows:auto auto auto auto 1fr;display:grid}.hb-room-art{border-bottom:var(--rule);align-content:center;height:120px;line-height:0;display:grid;overflow:hidden}.hb-room-art canvas{width:100%!important}.hb-room-head{justify-content:space-between;align-items:baseline;gap:8px;padding:10px 12px 2px;display:flex}.hb-room-head h4{margin:0;font-size:22px;line-height:1.1}.hb-room-facts{gap:3px;margin:0;padding:6px 12px;display:grid}.hb-room-facts div{grid-template-columns:7.5em minmax(0,1fr);gap:8px;font-size:11.5px;display:grid}.hb-room-facts dt{padding-top:2px;font-size:9.5px}.hb-room-facts dd{color:var(--bone);margin:0}.hb-room-blurb{color:var(--bone-2);margin:4px 12px 0;font-size:15px;line-height:1.3}.hb-room-does{color:var(--bone-3);margin:8px 12px 12px;font-size:11.5px}.hb-end{border-top:var(--rule);justify-items:start;gap:16px;margin-top:56px;padding:30px 0 10px;display:grid}.hb-end p{margin:0;font-size:26px}@media (max-width:980px){.hb-part,.hb-section,.hb-room{scroll-margin-top:calc(var(--hb-top) + 52px)}.hb-layout{grid-template-columns:minmax(0,1fr);gap:0}.hb-contents{top:var(--hb-top);margin-inline:calc(-1 * var(--gutter));background:var(--ink);border-bottom:var(--rule);max-height:none;padding-top:0}.hb-contents-bar{width:100%;padding:10px var(--gutter);background:var(--ink);cursor:pointer;text-align:left;border:0;justify-content:space-between;gap:12px;display:flex}.hb-contents-here{text-overflow:ellipsis;white-space:nowrap;color:var(--bone-2);overflow:hidden}.hb-contents-list{max-height:70dvh;padding:12px var(--gutter) 18px;border-top:var(--rule);display:none}.hb-contents[data-open] .hb-contents-list{display:block}}@media (max-width:560px){.hb-say{grid-template-columns:80px minmax(0,1fr)}.hb-say-who canvas{width:80px!important}.hb-say-who{min-height:80px}.hb-say-text{font-size:18px}.hb-say-body{padding:10px 12px 12px}}.hb-top{right:max(var(--gutter), env(safe-area-inset-right,0px));bottom:max(20px, env(safe-area-inset-bottom,0px));z-index:25;background:var(--ink);position:fixed}.hb-top[hidden]{display:none}
