:root{--bg: #d8d5cf;--ink: #23262b;--mute: #4f545c;--line: #b9b5ad;--accent: #1a4b8a;--cool: #0f6f66;--node: #efede8;--sans: "Chakra Petch", "Segoe UI", system-ui, sans-serif;--mono: "IBM Plex Mono", "SFMono-Regular", Menlo, monospace;--plate-w: 42px;--plate-h: 40px;--plate-icon: 24px;--t-title: 24px;--t-card: 20px;--t-body: 14px;--t-meta: 12px;--t-eyebrow: 11px;--tt-title: -.012em;--tt-eyebrow: .14em}body.t-dark{--bg: #17407a;--ink: #f0f6ff;--mute: #b0c8ee;--line: #4271b8;--accent: #ffffff;--cool: #7ff0d4;--node: #1d4a87;--sw-room-a: #2c3037;--sw-wall-a: #33383f;--sw-wall-b: #1a1d21}body.t-dark.v-rack.r-realistic{--ink: #f4f6f8;--bg: var(--sw-wall-b);--node: var(--sw-room-a);--line: color-mix(in srgb, var(--ink) 30%, var(--sw-room-a));--mute: color-mix(in srgb, var(--ink) 76%, var(--sw-wall-a))}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);transition:background .4s}#app{min-height:100%}button{font:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}body{--plate: color-mix(in srgb, var(--bg) 86%, transparent);--plate-edge: color-mix(in srgb, var(--line) 88%, transparent);--plate-cast: 0 2px 10px -5px color-mix(in srgb, #000 68%, transparent);--knock: 0 0 1px var(--bg), 0 0 2px var(--bg), 0 0 4px var(--bg), 0 0 9px var(--bg);--knock-mark: drop-shadow(0 0 1px var(--bg)) drop-shadow(0 0 2px var(--bg)) drop-shadow(0 0 5px var(--bg))}body.v-rack.r-realistic{--plate: color-mix(in srgb, var(--bg) 94%, transparent);--plate-cast: 0 3px 14px -4px color-mix(in srgb, #000 88%, transparent)}.plate,.chip{background:var(--plate);border:1px solid var(--plate-edge);border-radius:3px;backdrop-filter:blur(7px);box-shadow:var(--plate-cast)}.mark{position:relative}.mark>.nm{position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);z-index:1;white-space:nowrap;padding:5px 8px;font:500 10px var(--mono);letter-spacing:var(--tt-eyebrow);text-transform:uppercase;color:var(--ink);background:var(--plate);border:1px solid var(--plate-edge);border-radius:3px;backdrop-filter:blur(7px);box-shadow:var(--plate-cast);opacity:0;pointer-events:none;transition:opacity .16s ease}.mark:hover>.nm,.mark:focus-visible>.nm{opacity:1}@media(prefers-reduced-motion:reduce){.mark>.nm{transition:none}}@media(hover:none){.mark>.nm{display:none}}#rack{position:fixed;inset:0}#rack canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}#rack canvas.dragging{cursor:grabbing}.gl-lost{position:absolute;inset:auto 16px 16px;margin:0 auto;max-width:30em;padding:12px 16px;border:1px solid var(--line);background:var(--node);color:var(--ink);font:var(--t-body) / 1.5 var(--sans);text-align:center;z-index:6}.gl-lost small{display:block;margin-top:8px;color:var(--mute);font:var(--t-meta) / 1.45 var(--mono);overflow-wrap:anywhere;user-select:all}#rack .hud{position:absolute;top:20px;left:158px;pointer-events:none;padding:10px 12px}#rack .hud h1{margin:0;font-size:var(--t-card);font-weight:600;letter-spacing:.04em;text-transform:uppercase}#rack .hud p{margin:4px 0 0;font:12px / 1.5 var(--mono);color:var(--mute);max-width:46ch}#rack .labels{position:absolute;inset:0;pointer-events:none}#rack .lbl{position:absolute;transform:translate(-50%,-100%);white-space:nowrap;opacity:0;padding:5px 9px;transition:opacity .15s;font-size:14px;letter-spacing:.06em;text-transform:uppercase}#rack .lbl.on{opacity:var(--fade, 1)}#rack .labels .lbl.on{pointer-events:auto;cursor:pointer}#rack .lbl b{font-weight:600}#rack .lbl small{font:11px var(--mono);color:var(--mute);margin-left:6px}#rack .lbl.rail{transform:translateY(-50%)}#rack .lbl.away{transform:translateY(-50%);padding-left:12px;font-style:italic}#rack .lbl.away.left{transform:translate(-100%,-50%);padding-left:7px;padding-right:12px}#rack .railcap{position:absolute;top:68px;left:22px;margin:0;padding:7px 10px;font:var(--t-meta) var(--mono);color:var(--mute);pointer-events:none;transition:opacity .2s}#rack:has(>.panel:not(.closed)) .railcap{opacity:0}#rack svg.leaders,.rackplate .holder svg.leaders{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}#rack svg.leaders line,.rackplate .holder svg.leaders line{stroke:var(--mute);stroke-width:1;opacity:calc(.6 * var(--fade, 1))}body.r-blueprint #rack svg.leaders line,.rackplate .holder svg.leaders line{stroke:var(--ink);opacity:calc(.45 * var(--fade, 1))}#rack .places{position:absolute;left:30px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:8px;z-index:4}#rack .places button{position:relative;width:var(--plate-w);height:var(--plate-w);display:grid;place-items:center;padding:0;color:var(--ink);background:var(--plate);border:1px solid var(--plate-edge);border-radius:3px;backdrop-filter:blur(7px);box-shadow:var(--plate-cast);cursor:pointer;transition:color .2s ease,border-color .2s ease}#rack .places button[hidden]{display:none}#rack .places button svg{display:block;width:var(--plate-icon);height:var(--plate-icon)}#rack .places button:hover,#rack .places button:focus-visible{color:var(--ink);border-color:color-mix(in srgb,var(--accent) 55%,var(--plate-edge))}#rack .places button.here{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 55%,transparent);background:color-mix(in srgb,var(--accent) 12%,var(--plate));cursor:default}@media(hover:none){#rack .places button{width:44px;height:44px}}.scene{min-height:100vh;padding-top:var(--loose-top);display:flex;flex-direction:column}.scene header{padding:14px 24px 14px 158px;text-transform:uppercase;letter-spacing:var(--tt-eyebrow);font-size:var(--t-meta);color:var(--mute);border-bottom:1px solid var(--line);display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.scene header a{color:var(--mute);text-decoration:none}.scene header a:hover{color:var(--accent)}.scene header b{color:var(--ink);font-weight:600}.scene .paper{position:relative;flex:1 1 auto;align-self:flex-start;max-width:1400px;width:100%;padding-bottom:54px}.scene .panhint{display:none;align-self:flex-start;align-items:center;gap:8px;margin:0 12px 6px;padding:7px 11px;font:var(--t-eyebrow) / 1.3 var(--mono);color:var(--mute);background:var(--plate);border:1px solid var(--plate-edge);border-radius:3px;backdrop-filter:blur(7px);box-shadow:var(--plate-cast)}.scene .panhint:before{content:"\2921";color:var(--accent);font-size:14px}.scene main{flex:1;display:flex;align-items:stretch;min-height:0;padding-left:16px}.scene svg.canvas{--pane: loose;flex:1 1 auto;align-self:flex-start;width:100%;max-width:1400px;height:auto;display:block;padding:8px;font-family:var(--sans);cursor:zoom-in;touch-action:none;user-select:none}.scene svg.canvas.zoomed{cursor:zoom-out}.scene svg.canvas.panning{cursor:grabbing}.scene svg.canvas [role=button]{cursor:pointer}.scene svg.canvas text{fill:var(--ink)}.scene .group>rect{fill:var(--node);fill-opacity:.38;stroke:var(--line);stroke-width:1;stroke-dasharray:5 4;rx:12}.scene .group.inner>rect{fill-opacity:.55}.scene .group>text.glabel{font-size:var(--t-eyebrow);font-weight:600;text-transform:uppercase;letter-spacing:var(--tt-eyebrow);fill:var(--mute)}.scene .group>text.glabel.link{cursor:pointer}.scene .group>text.glabel.link:hover,.scene .group>text.glabel.link:focus-visible{fill:var(--accent)}.scene .group>text.glabel.link:focus-visible{outline:1.5px dashed var(--accent);outline-offset:3px}.scene .group>text.gsub,.scene .group>text.gnote{font-family:var(--mono);font-size:10px;fill:var(--mute)}.scene .node{cursor:pointer;outline:none}.scene .node>rect{fill:var(--node);stroke:var(--line);stroke-width:1.2;rx:6;transition:stroke .35s ease,stroke-width .35s ease}.scene .node.peripheral>rect{stroke-dasharray:4 3}.scene .node.board>rect{stroke:var(--accent);stroke-width:1.6}.canvas.quiet .edge{opacity:0;transition:opacity .18s ease}.canvas.quiet .edge.hot{opacity:1}.scene .node.hub>rect{stroke:var(--accent);stroke-width:1.6}.scene .node.u>rect{rx:2}.scene .node.u.gone{opacity:.62}.scene .node.u.gone text.lbl{text-decoration:line-through}.scene .node:hover>rect,.scene .node:focus-visible>rect,.scene .node.sel>rect{stroke:color-mix(in srgb,var(--accent) 75%,var(--line));stroke-width:1.6}.scene .node text.lbl{font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.09em;fill:var(--ink)}.scene .node text.sub{font-family:var(--mono);font-size:9.5px;fill:var(--mute)}.scene .node.stat>rect{fill:transparent;stroke:none}.scene .node.stat:hover>rect,.scene .node.stat:focus-visible>rect,.scene .node.stat.sel>rect{fill:var(--node);stroke:none;stroke-width:0}.scene .node>rect.ring{fill:none;stroke:none;stroke-width:0;rx:10;pointer-events:none}.scene .node:focus-visible>rect.ring{stroke:var(--accent);stroke-width:1.6;stroke-dasharray:5 3.5}.scene .node:focus-visible>rect:not(.ring){stroke:var(--accent);stroke-width:2}.scene .node text.fig{font-size:31px;font-weight:600;letter-spacing:-.005em;font-variant-numeric:tabular-nums;fill:var(--ink)}.scene .node text.cap{font-size:11px;fill:var(--mute)}.scene .node .ico{color:var(--ink)}.scene .node.board .ico{color:var(--accent)}.scene .node.stat .ico{color:var(--mute)}.scene .node.stat:hover .ico,.scene .node.stat.sel .ico{color:var(--accent)}.scene .node text.dv{font-family:var(--mono);font-size:10px;fill:var(--accent)}.scene .node .badge rect{fill:var(--bg);stroke:var(--line)}.scene .node .badge text{font-family:var(--mono);font-size:9px;fill:var(--mute);letter-spacing:.05em}.scene .node text.lh{font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;fill:var(--mute)}.scene .node text.lr{font-family:var(--mono);font-size:9.5px;fill:var(--ink)}.scene .node text.lf{font-family:var(--mono);font-size:9.5px;fill:var(--mute);font-style:italic}.scene .edge path{fill:none;stroke-linecap:round;stroke-linejoin:round;transition:opacity .35s ease,stroke-width .35s ease,stroke .35s ease}.scene .edge text{font-family:var(--mono);font-size:9.5px;fill:var(--mute)}.scene .edge rect.lbg{fill:var(--bg)}.scene .edge.hot path{stroke:color-mix(in srgb,var(--accent) 80%,var(--line));stroke-width:2}.scene .edge.hot text{fill:var(--accent)}.scene .node,.scene .edge{transition:opacity .35s ease}.scene .dim{opacity:.55}@media(max-width:900px){#scene-view.scene:not(.mapsheet){height:100dvh;min-height:0;overflow:hidden}.scene main{display:grid;grid-template-rows:minmax(0,62fr) minmax(0,38fr);min-height:0;height:auto;overflow:hidden;padding-left:0}.scene .paper{flex:none;align-self:stretch}.scene .panhint{display:flex}.scene .paper{min-height:0;min-width:0;display:flex;padding-bottom:0}.scene svg.canvas{--pane: penned;flex:1 1 auto;width:100%;height:100%;min-height:0;max-width:none}.scene .paper .sheet{inset:6px}.scene .paper .sheet .tb{display:none}.scene.mapsheet main{display:block;height:auto;overflow:visible}.scene.mapsheet .paper{flex:none;display:block}}#index a.ext{color:var(--accent);text-decoration:none;border-bottom:1px solid currentColor}#menu{position:fixed;top:16px;left:24px;z-index:21;display:flex;align-items:center;gap:8px;border:1px solid var(--accent);background:var(--node);color:var(--accent);font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;padding:8px 12px 8px 10px;border-radius:4px;cursor:pointer}#menu i{width:12px;height:12px;border:1px solid currentColor;border-radius:2px;background:repeating-linear-gradient(currentColor 0 1px,transparent 1px 3.5px);background-clip:content-box;padding:2px;opacity:.85}#menu small{font-size:10px;opacity:.7}#index[hidden]{display:none}#index{position:fixed;inset:0;z-index:30;display:flex;justify-content:flex-end;pointer-events:none}#index .sheet{pointer-events:auto}#index .sheet{box-shadow:-18px 0 40px #0000002e;width:min(360px,92vw);height:100%;overflow:auto;background:var(--node);color:var(--ink);padding:18px 22px 40px;border-left:1px solid var(--line)}#index .top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;text-transform:uppercase;letter-spacing:.1em;font-size:13px}#index .close{border:0;background:none;color:var(--mute);font-size:16px;cursor:pointer}#index h3{margin:18px 0 6px;font:600 var(--t-eyebrow) var(--sans);letter-spacing:var(--tt-eyebrow);text-transform:uppercase;color:var(--mute)}#index ul{list-style:none;margin:0;padding:0}#index li a{display:block;padding:8px 0;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);font-size:var(--t-body)}#index li a:hover{color:var(--accent)}#index a.ext{display:inline-block;margin-top:22px;font:500 12px var(--mono)}@media(max-width:700px){#rack .hud{top:12px;left:12px;right:90px;padding:8px 10px}#rack .hud h1{font-size:15px}#rack .hud p{display:none}.scene header{padding:12px 14px;font-size:var(--t-eyebrow)}.scene svg.canvas{padding:4px}.scene .paper{padding-bottom:0}}#feedback[hidden]{display:none}#feedback{position:fixed;inset:0;z-index:31;display:flex;align-items:center;justify-content:center;padding:16px}#feedback .scrim{position:absolute;inset:0;background:radial-gradient(130% 100% at 50% 42%,#060a123d,#060a128c);backdrop-filter:blur(2.5px) saturate(.85);animation:fbFade .22s ease both}#feedback .sheet{position:relative;width:min(470px,100%);max-height:calc(100dvh - 32px);overflow:auto;background:color-mix(in srgb,var(--node) 45%,var(--bg));color:var(--ink);border:1px solid var(--accent);border-radius:2px;padding:20px 22px 18px;display:grid;gap:13px;box-shadow:0 24px 60px #0000006b,0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent);animation:fbRaise .24s cubic-bezier(.2,.8,.3,1) both}#feedback .sheet>i.c{position:absolute;width:11px;height:11px;border:0 solid var(--accent);opacity:.65;pointer-events:none}#feedback .sheet>i.tl{top:6px;left:6px;border-top-width:1px;border-left-width:1px}#feedback .sheet>i.tr{top:6px;right:6px;border-top-width:1px;border-right-width:1px}#feedback .sheet>i.bl{bottom:6px;left:6px;border-bottom-width:1px;border-left-width:1px}#feedback .sheet>i.br{bottom:6px;right:6px;border-bottom-width:1px;border-right-width:1px}#feedback .top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border-bottom:1px solid var(--line);padding-bottom:11px}#feedback .who span{display:block;font:500 10px var(--mono);letter-spacing:var(--tt-eyebrow);text-transform:uppercase;color:var(--mute)}#feedback .who b{display:block;margin-top:3px;font-size:17px;font-weight:600;letter-spacing:var(--tt-title)}#feedback .close{flex:none;width:26px;height:26px;border:1px solid transparent;border-radius:2px;background:none;color:var(--mute);font-size:13px;line-height:1;cursor:pointer}#feedback .close:hover{border-color:var(--accent);color:var(--accent)}#feedback .about{margin:-4px 0 0;display:flex;align-items:baseline;gap:8px;font:12px var(--mono);color:var(--ink)}#feedback .about .k{font-size:10px;letter-spacing:var(--tt-eyebrow);text-transform:uppercase;color:var(--mute)}#feedback .about .topic{border-bottom:1px dashed var(--line);padding-bottom:1px}#feedback .fld{display:grid;gap:6px;font-size:13px}#feedback .fld>span{font:500 10px var(--mono);letter-spacing:var(--tt-eyebrow);text-transform:uppercase;color:var(--mute)}#feedback textarea,#feedback input,#feedback select{font:14px var(--sans);color:var(--ink);background:color-mix(in srgb,var(--node) 70%,var(--bg));border:1px solid var(--line);border-radius:2px;padding:9px 11px;transition:border-color .18s ease}#feedback textarea{resize:vertical;min-height:96px;line-height:1.5}#feedback textarea::placeholder{color:var(--mute);opacity:.6}#feedback textarea:focus,#feedback input:focus,#feedback select:focus{border-color:var(--accent)}#feedback .hp{position:absolute;left:-9999px;width:1px;height:1px}#feedback .row{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:13px}#feedback .primary,#feedback .ghost{font:500 12px var(--mono);letter-spacing:.12em;text-transform:uppercase;padding:9px 16px;border-radius:2px;cursor:pointer}#feedback .primary{border:1px solid var(--accent);background:var(--accent);color:var(--bg)}#feedback .primary:hover{filter:brightness(1.08)}#feedback .ghost{border:1px solid var(--line);background:none;color:var(--mute)}#feedback .ghost:hover{border-color:var(--accent);color:var(--accent)}#feedback .status{flex:1;font:12px var(--mono);color:var(--mute)}#feedback .fine{margin:0;font:11px / 1.5 var(--mono);color:var(--mute);opacity:.75}@keyframes fbFade{0%{opacity:0}}@keyframes fbRaise{0%{opacity:0;transform:translateY(10px) scale(.985)}}@media(prefers-reduced-motion:reduce){#feedback .scrim,#feedback .sheet{animation:none}}@media(max-width:700px){#feedback .row{flex-wrap:wrap}#feedback .status{flex:1 0 100%}}#index button.ext{background:none;border:0;padding:0;cursor:pointer;font:500 12px var(--mono);color:var(--accent);border-bottom:1px solid currentColor}#index button.ext{display:inline-block;margin-top:22px}.rackplate .holder .labels{position:absolute;inset:0;pointer-events:none}.rackplate .holder .lbl{position:absolute;transform:translate(-50%,-100%);white-space:nowrap;opacity:0;padding:2px 6px;transition:opacity .15s;font-size:11px;letter-spacing:.06em;text-transform:uppercase;background:color-mix(in srgb,var(--bg) 80%,transparent);border-radius:4px}.rackplate .holder .lbl.on{opacity:1}.rackplate .holder .lbl b{font-weight:600}.rackplate .holder .lbl small{font:10px var(--mono);color:var(--mute);margin-left:5px}#menu:hover{background:color-mix(in srgb,var(--accent) 10%,var(--node))}#index .sheet{background:var(--bg);border-left:2px solid var(--accent);overflow-y:auto}#index .sheet .filter{width:100%;margin:14px 0 12px;padding:9px 11px;border:1px solid var(--line);border-radius:6px;background:var(--node);color:inherit;font:12px var(--mono)}#index .sheet .filter:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}#index .tabs{display:flex;gap:6px;margin:0 0 4px}#index .tabs button{flex:1;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:none;color:var(--mute);font:500 12px var(--mono);letter-spacing:.03em;cursor:pointer}#index .tabs button span{opacity:.6;margin-left:4px}#index .tabs button.on{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}#index .pane.apps ul{columns:2;column-gap:14px}#index .results{list-style:none;margin:6px 0 0;padding:0}#index .results a{display:flex;justify-content:space-between;gap:10px;align-items:baseline}#index .results a span{font:10px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--mute);opacity:.75;white-space:nowrap}#index .results .none{font:12px var(--mono);color:var(--mute);padding:8px 0}#index a[aria-current=page]{color:var(--accent);font-weight:600;box-shadow:-8px 0 0 0 var(--accent)}#index a:focus-visible,#index button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:720px){#index .pane.apps ul{columns:1}}@keyframes paneIn{0%{opacity:0;transform:translateY(4px)}}#index .pane:not([hidden]),#index .results:not([hidden]){animation:paneIn .18s ease both}@media(prefers-reduced-motion:reduce){#index .pane:not([hidden]),#index .results:not([hidden]){animation:none}}#tools .look,#tools .gh{display:inline-flex;align-items:center;justify-content:center;width:var(--plate-w);height:var(--plate-h);padding:0;background:var(--plate);border:1px solid var(--plate-edge);border-radius:3px;backdrop-filter:blur(7px);box-shadow:var(--plate-cast);color:var(--ink);cursor:pointer;text-decoration:none;transition:border-color .18s ease,color .18s ease}#tools .look:hover,#tools .look:focus-visible,#tools .gh:hover,#tools .gh:focus-visible{border-color:var(--accent);color:var(--accent)}#tools .look .nm em{font-style:normal;color:var(--mute)}#tools .look .nm em:after{content:" \b7  "}#tools .look .nm b{font-weight:500}#tools .look .pic{display:block;flex:none;width:20px;height:20px}#tools .look .pic svg{display:block;width:100%;height:100%}#lead .mark>.nm,#tools .mark>.nm{top:calc(100% + 6px);transform:none}#lead .mark>.nm{left:0}#tools .mark>.nm{left:auto;right:0}#lead{display:flex;align-items:center;gap:8px;flex:none}#lead .to3d,#lead .opener{display:inline-flex;align-items:center;justify-content:center;width:var(--plate-w);height:var(--plate-h);padding:0;background:var(--plate);border:1px solid var(--plate-edge);border-radius:3px;backdrop-filter:blur(7px);box-shadow:var(--plate-cast);color:var(--ink);font:500 13px var(--mono);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:border-color .18s ease,color .18s ease}#lead .to3d svg,#lead .opener svg{width:15px;height:15px;flex:none;overflow:visible}#lead .to3d:hover,#lead .opener:hover{border-color:var(--accent);color:var(--accent)}#lead .to3d[aria-current=page],#lead .opener[aria-current=page]{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 55%,transparent);background:color-mix(in srgb,var(--accent) 12%,transparent)}#lead .opener .nm small{font-size:10px;margin-left:6px;opacity:.6}#lead .opener .nm em{font-style:normal;font-size:9.5px;line-height:1;margin-left:6px;padding:2px 4px;border:1px solid color-mix(in srgb,currentColor 45%,transparent);border-radius:2px;opacity:.6}.scene.mapsheet main.sheetbody{display:block;overflow:auto;padding:20px 24px}#rack .sheet{display:none;position:absolute;inset:14px;pointer-events:none;border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);border-top-color:transparent}body.r-blueprint #rack .sheet{display:block}body.r-blueprint #rack{background-color:var(--bg);background-image:linear-gradient(color-mix(in srgb,var(--line) 55%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--line) 55%,transparent) 1px,transparent 1px),linear-gradient(color-mix(in srgb,var(--line) 22%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--line) 22%,transparent) 1px,transparent 1px);background-size:120px 120px,120px 120px,24px 24px,24px 24px}#rack .sheet:before{content:"";position:absolute;inset:6px;border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);border-top-color:transparent}#rack .sheet .c{position:absolute;width:14px;height:14px;border-color:var(--accent);border-style:solid;border-width:0}#rack .sheet .tl{top:-1px;left:-1px;border-top-width:2px;border-left-width:2px}#rack .sheet .tr{top:-1px;right:-1px;border-top-width:2px;border-right-width:2px}#rack .sheet .bl{bottom:-1px;left:-1px;border-bottom-width:2px;border-left-width:2px}#rack .sheet .br{bottom:-1px;right:-1px;border-bottom-width:2px;border-right-width:2px}#rack .title{position:absolute;top:14px;left:14px;right:14px;height:8px;z-index:3;margin:0;display:flex;align-items:center;justify-content:center;gap:14px;pointer-events:none;font:500 13px / 1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink);text-shadow:var(--knock);white-space:nowrap}#rack .title b{font-weight:500;display:inline-block;opacity:var(--title-in, 1);transform:translateY(var(--title-dy, 0px));letter-spacing:calc((1 - var(--title-in, 1)) * -.05em)}body.r-blueprint #rack .title:before,body.r-blueprint #rack .title:after{content:"";flex:1 1 0;align-self:stretch;border-top:1px solid color-mix(in srgb,var(--accent) 55%,transparent);border-bottom:1px solid color-mix(in srgb,var(--accent) 22%,transparent)}#rack .rev{--rev-year: 96px;--rev-brk: 62px;position:absolute;right:40px;top:50%;transform:translateY(-50%);z-index:4;display:flex;flex-direction:column;gap:9px;transition:right .35s cubic-bezier(.2,.8,.2,1),opacity .3s ease,visibility .3s ease}#rack .rev-scale{position:relative;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none}#rack .rev-rule{position:absolute;left:50%;margin-left:-.5px;width:1px;background:var(--line);box-shadow:0 0 2px color-mix(in srgb,var(--bg) 70%,transparent)}#rack .rev-brk{position:absolute;left:50%;margin-left:-4.5px;stroke:var(--line);filter:drop-shadow(0 0 1.5px color-mix(in srgb,var(--bg) 70%,transparent))}#rack .rev-stops{display:grid}#rack .rev-stop{grid-area:1 / 1;align-self:end;display:flex;align-items:center;justify-content:center;position:relative;z-index:1;padding:5px 10px;background:var(--plate);border:1px solid var(--plate-edge);border-radius:3px;backdrop-filter:blur(7px);box-shadow:var(--plate-cast);font:12px var(--mono);color:var(--ink);text-align:center;white-space:nowrap;cursor:pointer;transition:color .2s ease,border-color .2s ease}#rack .rev-name{position:relative}#rack .rev-name small{position:absolute;top:100%;right:0;margin-top:1px;font-size:9px;letter-spacing:.04em;white-space:nowrap;color:var(--mute);text-shadow:var(--knock);opacity:0;transition:opacity .16s ease}#rack .rev-stop:hover .rev-name small,#rack .rev-stop:focus-visible .rev-name small,#rack .rev-stop[data-aim] .rev-name small,#rack .rev-stop[data-declined] .rev-name small{opacity:1}@media(prefers-reduced-motion:reduce){#rack .rev-name small{transition:none}}#rack .rev-stop[aria-checked=true]{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 55%,transparent);background:color-mix(in srgb,var(--accent) 12%,var(--plate));cursor:default}#rack .rev-stop[aria-checked=true] .rev-name{font-weight:600}#rack .rev-stop:not([aria-disabled=true]):hover,#rack .rev-stop:not([aria-disabled=true]):focus-visible,#rack .rev-stop:not([aria-disabled=true])[data-aim]{border-color:var(--accent);color:var(--accent)}#rack .rev-stop:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#rack .rev-stop[aria-disabled=true]{color:color-mix(in srgb,var(--mute) 82%,transparent);border-style:dashed;background:none;box-shadow:none;cursor:default}#rack .rev-stop[aria-disabled=true][data-aim],#rack .rev-stop[data-declined]{color:var(--mute)}#rack .rev-stop[data-declined] .rev-name small,#rack .rev-stop[data-aim] .rev-name small{color:var(--ink)}#rack:has(>.panel:not(.closed)) .rev{right:calc(min(360px,88vw) + 26px)}#rack .rev-grip{position:absolute;left:0;right:0;bottom:0;height:1px;cursor:grab;transition:transform .28s cubic-bezier(.2,.8,.2,1)}#rack .rev-grip:before,#rack .rev-grip:after{content:"";position:absolute;top:0;width:8px;height:1px;background:var(--ink);box-shadow:0 0 2px color-mix(in srgb,var(--bg) 70%,transparent);transition:width .2s ease}#rack .rev-grip:before{right:calc(100% + 4px)}#rack .rev-grip:after{left:calc(100% + 4px)}#rack .rev.dragging .rev-grip{cursor:grabbing;transition:none}#rack .rev.dragging .rev-grip:before,#rack .rev.dragging .rev-grip:after{width:13px;background:var(--accent)}@media(prefers-reduced-motion:reduce){#rack .rev-grip,#rack .rev-grip:before,#rack .rev-grip:after{transition:none}}.scene main{background-color:var(--bg);background-image:linear-gradient(color-mix(in srgb,var(--line) 55%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--line) 55%,transparent) 1px,transparent 1px),linear-gradient(color-mix(in srgb,var(--line) 22%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--line) 22%,transparent) 1px,transparent 1px);background-size:120px 120px,120px 120px,24px 24px,24px 24px}.scene .paper .sheet{display:block;position:absolute;inset:10px;pointer-events:none;border:1px solid color-mix(in srgb,var(--accent) 50%,transparent)}.scene .paper .sheet:before{content:"";position:absolute;inset:6px;border:1px solid color-mix(in srgb,var(--accent) 20%,transparent)}.scene .paper .sheet .c{position:absolute;width:14px;height:14px;border-color:var(--accent);border-style:solid;border-width:0}.scene .paper .sheet .tl{top:-1px;left:-1px;border-top-width:2px;border-left-width:2px}.scene .paper .sheet .tr{top:-1px;right:-1px;border-top-width:2px;border-right-width:2px}.scene .paper .sheet .bl{bottom:-1px;left:-1px;border-bottom-width:2px;border-left-width:2px}.scene .paper .sheet .br{bottom:-1px;right:-1px;border-bottom-width:2px;border-right-width:2px}.scene .paper .sheet .tb{position:absolute;right:0;bottom:0;pointer-events:auto;display:grid;grid-auto-flow:column;grid-auto-columns:auto;border-top:1px solid color-mix(in srgb,var(--accent) 50%,transparent);border-left:1px solid color-mix(in srgb,var(--accent) 50%,transparent);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(7px)}.scene .paper .sheet .tb>div{padding:8px 14px;border-right:1px solid color-mix(in srgb,var(--accent) 28%,transparent)}.scene .paper .sheet .tb>div:last-child{border-right:0}.scene .paper .sheet .tb span{display:block;font:9px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:2px}.scene .paper .sheet .tb b{font:500 12px var(--sans);color:var(--ink);white-space:nowrap}.scene .paper .sheet .tb a{color:var(--accent);text-decoration:none;box-shadow:inset 0 -1px color-mix(in srgb,var(--accent) 45%,transparent)}.scene .paper .sheet .tb a:hover,.scene .paper .sheet .tb a:focus-visible{box-shadow:inset 0 -1px 0 0 var(--accent)}.scene .paper>button.whole{position:absolute;left:16px;bottom:16px;z-index:3;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(6px);color:var(--mute);cursor:pointer;transition:color .18s ease,border-color .18s ease}.scene .paper>button.whole:hover,.scene .paper>button.whole:focus-visible{color:var(--accent);border-color:var(--accent)}.scene .paper>button.whole svg{width:13px;height:13px;flex:none;overflow:visible}.scene .paper>button.whole .i,body.wholesheet .scene .paper>button.whole .o{display:none}body.wholesheet .scene .paper>button.whole .i{display:inline}.scene .paper>button.whole i.nm{font-style:normal}.scene .paper>button.whole i.nm,body.wholesheet .scene .paper>button.whole b.nm{display:none}body.wholesheet .scene .paper>button.whole i.nm{display:block}body.wholesheet .scene .paper>button.whole{color:var(--ink);border-color:var(--accent)}body.wholesheet #lead,body.wholesheet #tools,body.wholesheet .scene .panhint,body.wholesheet .scene .paper .sheet .tb{display:none}body.wholesheet #scene-view.scene:not(.mapsheet){height:100dvh;min-height:0;padding-top:0;overflow:hidden}body.wholesheet .scene main{display:block;min-height:0;height:100%;overflow:hidden;padding-left:0}body.wholesheet .scene .paper{flex:none;align-self:stretch;display:flex;min-width:0;min-height:0;height:100%;max-width:none;padding-bottom:0}body.wholesheet .scene svg.canvas{--pane: loose;flex:1 1 auto;width:100%;height:100%;min-height:0;max-width:none}body.wholesheet .scene .paper .sheet{inset:6px}@keyframes sheetTurn{0%{opacity:0;transform:translate(28px) rotate(.35deg)}60%{opacity:1}to{transform:none}}.scene.turn main{animation:sheetTurn .42s cubic-bezier(.2,.8,.2,1) both;transform-origin:0 100%}@media(prefers-reduced-motion:reduce){.scene.turn main{animation:none}}@media(max-width:720px){.scene .paper .sheet .tb{display:none}}@media(min-width:721px)and (max-width:900px){.scene .paper{padding-bottom:42px}}:root{--loose-top: 52px}#lead,#tools{position:fixed;top:16px;z-index:21;display:flex;align-items:center;font:500 13px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}#lead{left:18px;gap:8px}#tools{right:18px;gap:14px;transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .3s ease,visibility .3s ease}body.v-rack #lead,body.v-rack #tools{top:30px}body.v-rack #lead{left:30px}body.v-rack #tools{right:30px}.scene.mapsheet .rackplate{position:relative;display:flex;flex-direction:column;height:340px;border:1px solid var(--line);background:var(--bg);text-decoration:none;overflow:hidden}.scene.mapsheet .rackplate .holder{position:relative;flex:1;min-height:0;pointer-events:none}.scene.mapsheet .rackplate .holder canvas{width:100%;height:100%;display:block}.scene.mapsheet .paper.plan{position:relative;max-width:1320px;margin:0 auto;padding:26px 30px 74px;background:color-mix(in srgb,var(--node) 40%,transparent)}.scene.mapsheet .ruler{position:absolute;display:flex;justify-content:space-around;align-items:center;font:9px var(--mono);color:var(--mute);opacity:.65;pointer-events:none}.scene.mapsheet .ruler.top,.scene.mapsheet .ruler.bottom{left:26px;right:26px;height:16px}.scene.mapsheet .ruler.top{top:4px}.scene.mapsheet .ruler.bottom{bottom:4px}.scene.mapsheet .ruler.left,.scene.mapsheet .ruler.right{top:26px;bottom:26px;width:16px;flex-direction:column}.scene.mapsheet .ruler.left{left:4px}.scene.mapsheet .ruler.right{right:4px}.scene.mapsheet .planbody{display:grid;grid-template-columns:minmax(420px,46%) 1fr;gap:30px;align-items:start}.scene.mapsheet .rackplate{position:relative;display:block;height:560px;border:1px solid var(--line);background:var(--bg);text-decoration:none;overflow:hidden}.scene.mapsheet .details{display:grid;gap:22px}.scene.mapsheet .sheethead{text-transform:none;letter-spacing:normal;display:flex;align-items:flex-end;justify-content:space-between;gap:28px;flex-wrap:wrap;margin:0 0 24px;padding-bottom:18px;border-bottom:1px solid var(--line)}.scene.mapsheet .sheethead h1{margin:0 0 4px;font:600 27px / 1.1 var(--sans);letter-spacing:-.015em;color:var(--ink)}.scene.mapsheet .sheethead p{margin:0;font:14px / 1.5 var(--sans);color:var(--mute);max-width:58ch}.scene.mapsheet .filter{flex:1 1 260px;max-width:420px;padding:11px 13px;border:1px solid var(--line);border-radius:4px;background:color-mix(in srgb,var(--node) 70%,transparent);color:inherit;font:12px var(--mono)}.scene.mapsheet .filter:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.scene.mapsheet .rackplate{position:relative;display:flex;flex-direction:column;cursor:pointer;margin:0;height:620px;border:1px solid var(--line);background:var(--bg)}.scene.mapsheet .rackplate figcaption{flex:none;border-top:1px solid var(--line)}.scene.mapsheet .rackplate figcaption a{display:flex;justify-content:space-between;gap:10px;padding:10px 13px;font:500 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mute);text-decoration:none}.scene.mapsheet .rackplate figcaption a:hover{color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.rackplate .holder a.lbl{pointer-events:auto;text-decoration:none}.rackplate .holder a.lbl:hover{color:var(--accent);border-color:var(--accent)}.scene.mapsheet .detail h4{display:flex;align-items:baseline;gap:10px;margin:0 0 14px;font:600 15px var(--sans);color:var(--ink)}.scene.mapsheet .detail h4 span{font:10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}.scene.mapsheet .detail+.detail{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}.scene.mapsheet section{margin:0 0 14px}.scene.mapsheet .detail h3{display:flex;align-items:baseline;gap:8px;margin:0 0 5px;font:500 10px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}.scene.mapsheet .detail h3 i{font-style:normal;color:var(--accent)}.scene.mapsheet ol,.scene.mapsheet ul{list-style:none;margin:0;padding:0 0 0 26px;columns:2;column-gap:20px}.scene.mapsheet .apps ul{columns:3;padding-left:0}.scene.mapsheet li{break-inside:avoid}.scene.mapsheet li a{display:block;padding:5px 0 5px 9px;border-left:2px solid transparent;color:var(--ink);text-decoration:none;font:13px var(--sans)}.scene.mapsheet .apps li a{font-size:12px;color:var(--mute)}.scene.mapsheet li a:hover{border-left-color:var(--accent);color:var(--accent)}.scene.mapsheet li a[aria-current=page]{border-left-color:var(--accent);color:var(--accent);font-weight:600}@media(max-width:1100px){.scene.mapsheet .apps ul{columns:2}}#rack .lbl.offsheet,.rackplate .holder .lbl.offsheet{opacity:0}#rack .lbl.rail.left,.rackplate .holder .lbl.rail.left{transform:translate(-100%,-50%);text-align:right}.scene.mapsheet .detail.apps{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}.scene.mapsheet .detail.apps ul{columns:4}@media(max-width:1100px){.scene.mapsheet .detail.apps ul{columns:2}}body.r-blueprint #rack .lbl,.rackplate .holder .lbl{background:var(--bg);border:1px solid color-mix(in srgb,var(--ink) 45%,transparent);box-shadow:0 1px 5px #00000024}body.t-dark.r-blueprint #rack .lbl,body.t-dark .rackplate .holder .lbl{box-shadow:0 1px 6px #00000059}.scene.mapsheet .rackplate:hover{border-color:var(--accent)}.scene.mapsheet .rackplate:hover figcaption{border-top-color:var(--accent)}.scene.mapsheet .rackplate:hover figcaption a{color:var(--accent)}#feedback .fld[hidden]{display:none}@media(max-width:700px){:root{--loose-top: 50px}#lead,#tools{top:12px}#lead{left:12px}#tools{right:12px}body.v-rack #lead,body.v-rack #tools{top:26px}body.v-rack #lead{left:22px}body.v-rack #tools{right:22px}.scene .panhint{font-size:10px;padding:7px 10px;gap:6px}#lead{gap:6px}#tools{gap:8px}#lead .to3d,#lead .opener{width:34px;height:34px}#lead .to3d,#lead .opener,#tools .gh,#tools .look{position:relative}#lead .to3d:after,#lead .opener:after,#tools .gh:after,#tools .look:after{content:"";position:absolute;left:-3px;right:-3px;top:50%;height:44px;transform:translateY(-50%)}#tools .look,#tools .gh{width:34px;height:34px;padding:0}.scene.mapsheet main.sheetbody{padding:12px}.scene.mapsheet ol,.scene.mapsheet ul,.scene.mapsheet .apps ul{columns:1;padding-left:14px}.scene.mapsheet .paper.plan{padding:18px 14px 20px}.scene.mapsheet .ruler{display:none}.scene.mapsheet .planbody{grid-template-columns:1fr;gap:24px}.scene.mapsheet .rackplate{height:400px}.scene.mapsheet .sheethead{gap:14px;margin-bottom:18px}.scene.mapsheet .details{gap:18px}#rack .lbl.rail,.rackplate .holder .lbl.rail{font-size:9px;padding:2px 5px;letter-spacing:.04em}#rack .lbl.rail small,.rackplate .holder .lbl.rail small{font-size:8px;margin-left:4px}#rack .places{top:auto;bottom:max(18px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);flex-direction:row;gap:8px}#rack:has(>.panel:not(.closed)) .places{opacity:0;visibility:hidden}#rack:has(>.panel.tall) .rev{opacity:0;visibility:hidden}#rack .places button{min-height:44px;justify-content:center}#rack .rev{top:112px;right:30px;transform:none}#feedback{align-items:flex-start;overflow-y:auto;padding:12px}#feedback .sheet{width:100%;max-height:calc(100dvh - 24px);overflow-y:auto}#feedback .close{padding:9px;margin:-9px;font-size:18px;line-height:1}#feedback textarea,#feedback input,#feedback select{font-size:16px;padding:10px 12px}#feedback .primary{padding:13px 20px}.scene.mapsheet .rackplate figcaption a{flex-direction:column;align-items:flex-start;gap:3px;padding:11px 13px}.scene .paper>button.whole{left:10px;bottom:10px;padding:9px 11px}}.scene.wall .tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));align-items:start;gap:18px;padding-left:26px}.scene.wall .apps .tiles{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;padding-left:0}.scene.wall .tile{margin:0;border:1px solid var(--line);background:var(--bg);cursor:pointer}.scene.wall .tile:hover{border-color:var(--accent)}.scene.wall .frame{display:block;min-height:0;padding:0;overflow:hidden;pointer-events:none;background:var(--bg);contain:content}.scene.wall .frame main{display:block;padding:0;background-size:26px 26px}.scene.wall .frame .paper{max-width:none;padding:0}.scene.wall .frame .paper .sheet,.scene.wall .frame .panhint{display:none}.scene.wall .frame svg.canvas{padding:0;max-width:none;cursor:inherit}.scene.wall figcaption{border-top:1px solid var(--line)}.scene.wall figcaption a{display:flex;gap:9px;padding:8px 11px;color:var(--ink);text-decoration:none;font:13px / 1.35 var(--sans)}.scene.wall figcaption i{font:500 10px var(--mono);letter-spacing:.12em;color:var(--accent);padding-top:3px}.scene.wall .apps figcaption a{font-size:12px;color:var(--mute)}.scene.wall .tile:hover figcaption{border-top-color:var(--accent)}.scene.wall .tile:hover figcaption a{color:var(--accent)}@media(max-width:700px){.scene.wall .tiles,.scene.wall .apps .tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-left:0}.scene.wall figcaption a{gap:6px;padding:14px 9px;font-size:12px}.scene.wall .apps figcaption a{font-size:11px}}@media(orientation:landscape)and (max-height:560px){.scene:not(.mapsheet):not(.wall):not(.frame){height:100dvh;min-height:0;overflow:hidden}.scene:not(.mapsheet):not(.wall):not(.frame)>main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,300px);grid-template-rows:minmax(0,1fr);min-height:0;height:auto;overflow:hidden;padding-left:0}.scene:not(.mapsheet):not(.wall):not(.frame)>main>.paper{flex:none;align-self:stretch;display:flex;min-width:0;min-height:0;padding-bottom:0}.scene:not(.mapsheet):not(.wall):not(.frame)>main>.paper>svg.canvas{--pane: penned;flex:1 1 auto;width:100%;height:100%;min-height:0;max-width:none}.scene .panhint,.scene .paper .sheet .tb{display:none}#rack .places{top:auto;bottom:16px;left:50%;transform:translate(-50%);flex-direction:row;gap:8px}#rack .rev{top:50%;right:34px;transform:translateY(-50%)}#rack:has(>.panel:not(.closed)) .rev{right:calc(var(--panel-w) + 26px);opacity:1;visibility:visible}#rack:has(>.panel.tall) .rev{right:calc(min(560px,64vw) + 26px)}#rack:has(>.panel:not(.closed)) .places{opacity:1;visibility:visible;left:calc(50% - min(170px,23vw))}body.v-rack:has(#rack>.panel:not(.closed)) #tools{transform:translate(calc(var(--panel-w) * -1))}}@media(prefers-reduced-motion:reduce){#tools{transition:none}}@media(hover:none){#lead .mark,#tools .mark,.scene .paper>button.whole.mark{width:36px;height:36px;padding:0}}@media(max-width:700px),(orientation:landscape)and (max-height:560px){#rack .railcap{display:none}:root{--loose-top: 64px}#rack .rev{--rev-year: 46px;--rev-brk: 36px}#rack .rev-stop{padding:7px}#rack .rev-grip:before,#rack .rev-grip:after{width:10px}.scene .paper>button.whole{min-height:44px}.scene.mapsheet .filter{font-size:16px}.scene.mapsheet li a{padding-top:13px;padding-bottom:13px}}:root{--panel-w: 360px;--rest: 40dvh;--rest-tall: 65dvh}.scene:not(.mapsheet):not(.wall):not(.frame)>main{display:grid;grid-template-columns:minmax(0,1fr) var(--panel-w);grid-template-rows:minmax(0,1fr);transition:grid-template-rows .3s cubic-bezier(.2,.8,.2,1)}#rack[hidden],.panel.closed{display:none}#rack .stage{position:absolute;inset:0}#rack>.panel{position:absolute;inset:0 0 0 auto;width:min(360px,88vw)}.scene:not(.mapsheet):not(.wall):not(.frame)>main>.paper{min-width:0}.panel{position:relative;min-height:0;min-width:0;box-sizing:border-box;padding:26px 26px 24px;background:var(--bg);border-left:1px solid var(--line);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;z-index:4;font-size:var(--t-body);line-height:1.55}#rack .panel{padding-top:calc(var(--loose-top) + 4px)}body.v-rack:has(#rack>.panel:not(.closed)) #tools{transform:translate(calc(min(360px,88vw)*-1))}.scene.wall .frame .panel{display:none}.panel .p-body>*+*{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.panel .p-body.swap>*{animation:panelIn .28s ease both}@keyframes panelIn{0%{opacity:0}to{opacity:1}}.panel .p-eyebrow,.panel .p-key,.panel .p-facts dt{font:var(--t-eyebrow) / 1.4 var(--mono);letter-spacing:var(--tt-eyebrow);text-transform:uppercase;color:var(--mute)}.panel h2{margin:4px 0 0;font-size:var(--t-title);line-height:1.15;letter-spacing:var(--tt-title);font-weight:600;text-wrap:balance}.panel.picked .p-head{padding-right:34px}.panel .p-sub{margin-top:6px;font:var(--t-meta) / 1.4 var(--mono);color:var(--mute)}.panel .p-facts{margin:0;display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:16px;font:13px / 1.45 var(--mono)}.panel .p-facts>div{display:contents}.panel .p-facts dt,.panel .p-facts dd{margin:0;padding:5px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 55%,transparent)}.panel .p-facts dt{padding-top:7px;white-space:nowrap}.panel .p-facts>div:last-child>*{border-bottom:0}.panel .p-prose p{margin:0 0 10px}.panel .p-prose p:last-child{margin-bottom:0}.panel .p-figure{position:relative;height:220px;margin:14px 0 0;padding:0;border-top:0;overflow:hidden}.panel .p-figure.failed{height:auto;font:var(--t-meta) var(--mono);color:var(--mute)}.panel .p-figure canvas,.panel .p-figure .minirack-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}.panel .p-figure .labels{position:absolute;inset:0;pointer-events:none}.panel .p-figure .lbl{position:absolute;transform:translate(-50%,-100%);white-space:nowrap;opacity:0;padding:2px 6px;transition:opacity .15s;font-size:11px;letter-spacing:.06em;text-transform:uppercase;background:color-mix(in srgb,var(--bg) 80%,transparent)}.panel .p-figure .lbl.on{opacity:1}.panel .p-figure .lbl b{font-weight:600}.panel .p-figure .lbl small{font:10px var(--mono);color:var(--mute);margin-left:5px}.panel .p-figure a.ext{position:absolute;right:0;bottom:0;z-index:2;font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--accent);text-decoration:none;background:color-mix(in srgb,var(--bg) 85%,transparent);border-bottom:1px solid currentColor;padding:3px 0}.panel .p-legend{margin:0;padding:0;list-style:none;font:var(--t-meta) / 1.4 var(--mono);color:var(--mute)}.panel .p-legend li{display:flex;align-items:center;gap:10px;margin:6px 0}.panel .p-swatch{display:inline-flex;flex:0 0 44px}.panel .p-swatch svg{width:44px;height:10px;overflow:visible}.panel .p-badge{font-size:9px;border:1px solid var(--line);border-radius:7px;padding:1px 6px;min-width:44px;text-align:center}.panel .p-dives button{font:500 var(--t-body) var(--sans);color:var(--ink);background:none;border:0;text-align:left;cursor:pointer}.panel .p-dives button.primary{display:block;width:100%;padding:12px 14px;letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--accent);color:var(--accent)}.panel .p-dives button.primary:after{content:" \25b8"}.panel .p-dives button.primary:hover,.panel .p-dives button.primary:focus-visible{background:color-mix(in srgb,var(--accent) 12%,transparent)}.panel .p-dives ul{margin:4px 0 0;padding:0;list-style:none}.panel .p-dives li button{display:flex;justify-content:space-between;gap:10px;width:100%;padding:7px 0;font:500 13px / 1.3 var(--mono);border-bottom:1px solid color-mix(in srgb,var(--line) 55%,transparent)}.panel .p-dives li:last-child button{border-bottom:0}.panel .p-dives li button:after{content:"\2197";color:var(--accent)}.panel .p-dives li button:hover,.panel .p-dives li button:focus-visible{color:var(--accent)}.panel .p-hint{margin:0;font:var(--t-meta) / 1.4 var(--mono);color:var(--mute)}.panel .p-foot{display:flex;flex-wrap:wrap;gap:0 8px;font:500 var(--t-meta) var(--mono)}.panel .p-foot>*+*:before{content:"\b7";color:var(--mute);margin-right:8px}.panel .p-foot a,.panel .p-foot button{padding:0;border:0;background:none;font:inherit;color:var(--accent);text-decoration:none;border-bottom:1px solid currentColor;cursor:pointer}.panel .p-close{position:absolute;top:14px;right:16px;z-index:3;width:30px;height:30px;font:18px / 1 var(--mono);color:var(--mute);background:none;border:1px solid transparent;cursor:pointer}#rack .panel .p-close{top:calc(var(--loose-top) - 4px)}.panel .p-close:hover,.panel .p-close:focus-visible{color:var(--ink);border-color:var(--line)}.panel .p-grab{display:none}body.wholesheet .panel:not(.picked){display:none}body.wholesheet .scene:not(.mapsheet):not(.wall):not(.frame)>main:has(>.panel.picked){display:grid;grid-template-columns:minmax(0,1fr) var(--panel-w);grid-template-rows:minmax(0,1fr)}body.wholesheet .scene:not(.mapsheet):not(.wall):not(.frame)>main:has(>.panel.picked)>.paper{width:auto;min-width:0}@media(max-width:900px){:root{--panel-w: 0px}.scene:not(.mapsheet):not(.wall):not(.frame)>main,body.wholesheet .scene:not(.mapsheet):not(.wall):not(.frame)>main:has(>.panel.picked){grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) var(--rest)}.scene:not(.mapsheet):not(.wall):not(.frame)>main:has(>.panel.tall){grid-template-rows:minmax(0,1fr) var(--rest-tall)}#rack>.panel{top:auto;left:0;right:0;width:100%;max-height:var(--rest);border-left:0;border-top:1px solid var(--line)}#rack>.panel.tall{max-height:var(--rest-tall)}.scene:not(.mapsheet):not(.wall):not(.frame)>main{padding-left:0}.panel,#rack .panel{padding:0 16px 28px;border-left:0;border-top:1px solid var(--line)}.panel .p-body{padding-top:4px}.panel h2{font-size:var(--t-card)}.panel .p-hint{display:none}.panel .p-close,#rack .panel .p-close{top:8px;right:8px;width:44px;height:44px}.panel .p-foot{gap:0 12px;padding:4px 0}.panel .p-foot a,.panel .p-foot button{position:relative}.panel .p-foot a:after,.panel .p-foot button:after{content:"";position:absolute;left:-6px;right:-6px;top:50%;height:44px;transform:translateY(-50%)}.panel .p-dives button.primary,.panel .p-dives li button{min-height:44px}body.wholesheet .panel.picked{border-top:1px solid var(--line)}}@media(max-width:900px),(orientation:landscape)and (max-height:560px){.panel .p-grab{--bleed: 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;position:sticky;top:0;z-index:2;box-sizing:border-box;width:calc(100% + var(--bleed) * 2);margin:0 calc(var(--bleed) * -1) 8px;min-height:44px;padding:8px 0 7px;border:0;border-bottom:1px solid var(--line);background:var(--bg);color:var(--mute);font:500 var(--t-eyebrow) var(--mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;touch-action:none;transition:color .18s ease}.panel .p-grab i{display:block;width:44px;height:3px;border-radius:2px;background:currentColor;opacity:.55}.panel .p-grab b{display:inline-flex;align-items:center;gap:6px;font-weight:500}.panel .p-grab svg{width:10px;height:6px;flex:0 0 10px;transition:transform .2s cubic-bezier(.2,.8,.2,1)}.panel.tall .p-grab svg{transform:rotate(180deg)}.panel .p-grab:hover,.panel .p-grab:focus-visible{color:var(--accent)}.panel .p-grab:focus-visible{outline:1px solid var(--accent);outline-offset:-2px}.panel .p-close{z-index:3}}@media(orientation:landscape)and (max-height:560px){:root{--panel-w: min(320px, 44vw)}.scene:not(.mapsheet):not(.wall):not(.frame)>main,body.wholesheet .scene:not(.mapsheet):not(.wall):not(.frame)>main:has(>.panel.picked){grid-template-columns:minmax(0,1fr) var(--panel-w);grid-template-rows:minmax(0,1fr);transition:grid-template-columns .3s cubic-bezier(.2,.8,.2,1)}.scene:not(.mapsheet):not(.wall):not(.frame)>main:has(>.panel.tall),body.wholesheet .scene:not(.mapsheet):not(.wall):not(.frame)>main:has(>.panel.tall){grid-template-columns:minmax(0,1fr) min(560px,64vw)}#rack>.panel{top:calc(var(--loose-top) + 20px);bottom:0;left:auto;right:0;width:var(--panel-w);max-height:none;border-top:0;border-left:1px solid var(--line)}#rack>.panel.tall{width:min(560px,64vw)}.panel,#rack .panel{padding:0 16px 20px;border-top:0;border-left:1px solid var(--line)}.scene:not(.mapsheet):not(.wall):not(.frame)>main>.panel{margin-top:var(--loose-top)}#rack .panel .p-grab{margin-top:calc(var(--loose-top) + 20px)}body.wholesheet .scene>main>.panel{margin-top:0}body.wholesheet .panel.picked{border-top:0;border-left:1px solid var(--line)}body.v-rack:has(.panel.tall) #tools{opacity:0;visibility:hidden}}@media(prefers-reduced-motion:reduce){.scene>main,.panel .p-grab svg,.panel .p-body.swap>*{transition:none;animation:none}}#rack .title-open{pointer-events:auto;position:relative;margin:0;padding:0;border:0;background:none;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;text-shadow:inherit;cursor:pointer;border-bottom:1px solid transparent}#rack .title-open:hover,#rack .title-open:focus-visible{color:var(--accent);border-bottom-color:currentColor;outline:none}#rack .title-open:after{content:"";position:absolute;inset:-14px -16px}#rack .hint{position:absolute;left:50%;bottom:26px;transform:translate(-50%);max-width:min(92vw,34em);margin:0;text-align:center;font:var(--t-meta) / 1.4 var(--mono);color:var(--mute);pointer-events:none;padding:7px 11px;transition:opacity .6s ease .3s}#rack .hint.gone{opacity:0}@media(max-width:700px){#rack .hint{bottom:calc(max(18px,env(safe-area-inset-bottom)) + 54px);font-size:var(--t-eyebrow)}}@media(max-width:700px){body.v-rack:has(#rack>.panel:not(.closed)) #tools{transform:none}}
