@font-face{font-family:Instrument Sans;font-weight:400 700;font-style:normal;font-display:block;src:url(assets/fonts/InstrumentSans-var.woff2) format("woff2")}@font-face{font-family:Cormorant Garamond;font-weight:600;font-style:normal;font-display:block;src:url(assets/fonts/CormorantGaramond-600.woff2) format("woff2")}:root{--rail: 264px;--bg: #1a1917;--canvas: #161513;--chrome: #1e1d1a;--surface: #211f1d;--hair: #2e2c29;--line: #3a3734;--line-open: #7d786f;--locked: #4a4743;--ink: #d9d4c7;--ink-2: #9a958b;--ink-soft: #b0aba0;--fill: #272523;--fill-hi: #363330;--ink-body: #bab5aa;--parch: #c9c3b2;--accent: #8ba6c9;--warn: #cf9483;--serif: "Cormorant Garamond", Georgia, serif;--sans: "Instrument Sans", system-ui, sans-serif;--float: #272523;--glyph: none;--glyph-on: invert(1);--shade: rgba(0, 0, 0, .5);--lift: rgba(0, 0, 0, .4);color-scheme:dark}:root[data-theme=light]{--bg: #e9e5da;--canvas: #e2ded2;--chrome: #f0ede4;--surface: #f5f2ea;--hair: #d6d1c4;--line: #c8c3b5;--line-open: #78746a;--locked: #b3aea0;--ink: #26241f;--ink-2: #6a665c;--ink-soft: #55524a;--fill: #e0dccf;--fill-hi: #cdc8ba;--ink-body: #45423b;--parch: #2b2925;--accent: #3d6796;--warn: #a8513a;--float: #f5f2ea;--glyph: invert(1);--glyph-on: none;--shade: rgba(60, 50, 30, .16);--lift: rgba(60, 50, 30, .22);color-scheme:light}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}html{background:var(--chrome);-webkit-text-size-adjust:100%;text-size-adjust:100%}body{opacity:0}html.ready body{opacity:1;transition:opacity .12s}body{height:100dvh;display:flex;flex-direction:column;background:var(--bg);color:var(--ink);font:14px/1.5 var(--sans);text-rendering:optimizeLegibility}.sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.nojs{margin:0;padding:24px 32px;font-size:16px;color:var(--ink-body)}button{font:inherit;color:inherit}button,a,input{-webkit-tap-highlight-color:transparent}:focus-visible{outline:1px solid var(--accent);outline-offset:3px}.bar{position:relative;z-index:5;background:var(--chrome);display:grid;grid-template-columns:var(--rail) minmax(0,1fr);min-height:68px;border-bottom:1px solid var(--hair)}.brand{display:flex;align-items:center;justify-content:flex-start;gap:12px;padding-left:28px;border-right:1px solid var(--hair);color:var(--ink);text-decoration:none}.bar-main{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:20px;padding:12px 24px}.bar-main .tools{justify-self:end}.share{justify-self:start;display:flex;align-items:center;gap:10px;width:124px;height:44px;padding:0 0 0 16px;background:var(--fill);border:0;border-radius:22px;font-size:16px;font-weight:500;color:var(--ink);cursor:pointer;transition:background .15s}@media(hover:hover){.share:hover{background:var(--fill-hi)}}.share svg{flex-shrink:0}.share .i-done,.share.done .i-link{display:none}.share.done .i-done{display:block}.brand-tag{font:700 15px/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase}.brand-mark{display:block;width:44px;height:44px;background:currentColor;-webkit-mask:url(assets/logo-mark.png) center / contain no-repeat;mask:url(assets/logo-mark.png) center / contain no-repeat}.tools{display:flex;align-items:center;gap:12px}.points{display:flex;align-items:baseline;gap:6px;padding:0 8px;font-variant-numeric:tabular-nums}.points b,.points i,#max,#maxInput{font:500 24px/1 var(--sans);font-variant-numeric:tabular-nums}.points i{font-style:normal;color:var(--ink-2)}.points b.over{color:var(--warn)}.points span{margin-left:2px;font-size:15px;color:var(--ink-soft)}#max,#maxInput{padding:0 2px 5px;background:transparent;border:0;border-bottom:2px dotted var(--ink-2);color:var(--ink)}#max{cursor:pointer;transition:border-color .15s}@media(hover:hover){#max:hover{border-bottom-color:var(--ink)}}#maxInput{width:2.4em;text-align:center;border-bottom-style:solid;border-bottom-color:var(--accent);outline:none}#maxInput[hidden]{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:44px;padding:0 20px 0 16px;background:var(--fill);border:0;border-radius:22px;font-size:16px;font-weight:500;cursor:pointer;transition:background .15s,color .15s}@media(hover:hover){.btn:hover{background:var(--fill-hi)}}.btn.icon{width:44px;padding:0;color:var(--ink-soft)}@media(hover:hover){.btn.icon:hover{color:var(--ink)}}.btn.icon[aria-pressed=true]{background:var(--fill-hi);color:var(--ink)}#theme .i-moon,:root[data-theme=light] #theme .i-sun{display:none}:root[data-theme=light] #theme .i-moon{display:block}.btn.solid{padding:0 20px;background:var(--parch);color:var(--bg);font-weight:600}.btn.solid:disabled{background:var(--fill);color:var(--ink-2);cursor:default}.seg{display:flex;gap:2px;padding:4px;background:var(--fill);border-radius:22px}.seg button{display:flex;align-items:center;justify-content:center;width:48px;height:36px;padding:0;background:transparent;border:0;border-radius:18px;color:var(--ink-2);cursor:pointer;transition:background .15s,color .15s}@media(hover:hover){.seg button:hover{color:var(--ink)}}.seg button[aria-pressed=true]{background:var(--fill-hi);color:var(--ink)}.shell{flex:1;min-height:0;display:grid;grid-template-columns:var(--rail) minmax(0,1fr)}.weapons{min-height:0;overflow-y:auto;background:var(--chrome);scrollbar-width:none;display:flex;flex-direction:column;gap:30px;padding:30px 0 30px 32px;border-right:1px solid var(--hair)}.weapons::-webkit-scrollbar{display:none}.wgroup{display:flex;flex-direction:column;gap:6px;flex-shrink:0}.wclass{display:flex;align-items:center;gap:10px;padding-bottom:6px;font-size:13px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}.wclass .g{opacity:.5}.wgroup.on .wclass{color:var(--ink)}.wgroup.on .wclass .g{opacity:.9}.wrow{position:relative;display:flex;flex-direction:column;margin-left:12px;padding-left:22px}.wrow:before{content:"";position:absolute;left:0;top:0;bottom:21px;width:1px;background:var(--line)}.wbtn:before{content:"";position:absolute;left:-22px;top:50%;width:15px;height:1px;background:var(--line)}.wgroup.on .wrow:before,.wgroup.on .wbtn:before{background:var(--line-open)}.wbtn{position:relative;display:flex;align-items:center;gap:12px;height:42px;margin-right:-1px;padding:0 20px 0 0;background:transparent;border:0;border-right:1px solid transparent;font-size:16px;text-align:left;color:var(--ink-2);cursor:pointer;white-space:nowrap;transition:color .15s}.wbtn .g{opacity:.6;transition:opacity .15s}.wbtn span:nth-child(2){flex:1}.wbtn[aria-current=true]{color:var(--ink)}@media(hover:hover){.wbtn:hover{color:var(--ink)}}.wbtn[aria-current=true] .g{opacity:1}@media(hover:hover){.wbtn:hover .g{opacity:1}}.wbtn[aria-current=true]{border-right-color:var(--parch)}.wbtn small{font-size:13px;color:var(--ink-2);font-variant-numeric:tabular-nums}.g.r{background-image:url(assets/rail.webp)}.g{filter:var(--glyph);display:block;flex-shrink:0;width:var(--s, 20px);height:var(--s, 20px);background-image:url(assets/icons.webp);background-repeat:no-repeat}main{position:relative;min-width:0;min-height:0}.scroll{position:absolute;inset:0;overflow:hidden;background:var(--canvas);box-shadow:inset 0 10px 18px -12px var(--shade),inset 10px 0 18px -12px var(--shade);cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.scroll:before{content:"";position:absolute;inset:0;background:var(--ink);-webkit-mask:url(assets/canvas.webp) 0 0 / 768px;mask:url(assets/canvas.webp) 0 0 / 768px;pointer-events:none}.scroll.grabbing,.scroll.grabbing .n button{cursor:grabbing}.stage{position:absolute;left:0;top:0;transform-origin:0 0}#nodes,#edges{transform-origin:0 0}#edges{position:absolute;inset:0;overflow:visible;pointer-events:none}#edges path{fill:none;stroke:var(--line);stroke-width:1;transition:stroke .15s}#edges path.open{stroke:var(--line-open)}#edges path.on{stroke:var(--parch);stroke-width:1.5}#edges path.base{stroke:var(--line-open)}#edges path.path{stroke:var(--accent);stroke-width:1.5}.or{position:absolute;width:48px;margin:-.65em 0 0 -24px;text-align:center;font-size:calc(11px * var(--z, 1));line-height:1.3;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}.n{position:absolute;width:var(--d);height:var(--d);margin:calc(var(--d) / -2) 0 0 calc(var(--d) / -2)}.n.A{--d: calc(32px * var(--z, 1))}.n.P{--d: calc(26px * var(--z, 1))}.n.S{--d: calc(18px * var(--z, 1))}.n button{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:0;transform:rotate(45deg);background:var(--canvas);border:1px solid var(--locked);color:var(--locked);cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}.n.A button:before{content:"";position:absolute;inset:-1px;transform:rotate(45deg);border:1px solid currentColor;opacity:.55;pointer-events:none}.n .g{--s: calc(var(--d) * .78);transform:rotate(-45deg);opacity:.55;transition:opacity .15s}.n .cost{position:absolute;left:calc(100% + 4px);top:calc(100% - 6px);font-size:calc(11px * var(--z, 1));line-height:1;color:var(--ink-2);font-variant-numeric:tabular-nums;pointer-events:none}.n.open button{background:var(--surface);border-color:var(--ink-2);color:var(--ink-2)}.n.open .g{opacity:.95}.n.on button{background:var(--parch);border-color:var(--parch);color:var(--parch)}.n.on .g{filter:var(--glyph-on);opacity:.88}.n.on .cost{display:none}.n.base button{background:var(--surface);border-color:var(--line-open);color:var(--line-open)}.n.base .g{filter:var(--glyph);opacity:.85}.n.excluded button{border-style:dashed;border-color:var(--line);color:var(--line)}.n.excluded .g{opacity:.22}.n.excluded .cost{color:var(--locked)}.n.path button{border-color:var(--accent);color:var(--accent)}.n.ref button{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 16%,transparent)}.n.ref .g{opacity:.95}.n.ref-strong button{box-shadow:0 0 0 7px color-mix(in srgb,var(--accent) 30%,transparent)}.n.path .g{opacity:.95}.n.on.path .g{opacity:.88}.n button:focus-visible,.n.sel button{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 16%,transparent);outline:none}@media(hover:hover){.n button:hover{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 16%,transparent);outline:none}}.n.deny button{animation:deny .25s}@keyframes deny{25%{translate:-3px 0}75%{translate:3px 0}}.n.blk{width:272px;height:auto;margin:0}.n.blk button{position:static;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:9px;width:100%;padding:0 0 12px;transform:none;overflow:hidden;text-align:left;font:inherit;background:var(--surface);border:1px solid var(--locked);border-radius:4px;color:var(--ink-2)}.n.blk.A button:before{display:none}.n.blk .cost{display:none}.bh{display:flex;flex-direction:column;gap:5px;padding:10px 12px 9px;border-bottom:1px solid var(--hair)}.bt{display:flex;align-items:center;gap:9px}.n.blk .g{--s: 22px;transform:none;opacity:.6}.bn{min-width:0;font-size:14px;font-weight:600;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink-soft)}.bm{display:flex;align-items:center;gap:5px;padding-left:31px;font-size:12px;color:var(--ink-2)}.bv{flex-shrink:0;margin-left:auto;color:var(--ink-2)}.bm b,.card-meta b{font-weight:600;color:var(--ink-soft)}.sl{opacity:.55}.bd,.bi{display:block;padding:0 12px;font-size:13px;line-height:1.45;color:var(--ink-2)}.bd b{font-weight:500}.bd .ref{border-bottom:1px solid var(--accent)}.bd .para{display:block;height:6px}.bd .kc,.bi .kc{min-width:20px;height:20px;padding:0 5px;font-size:11px}.bd .kmouse,.bi .kmouse{width:14px;height:19px}.bi{display:flex;flex-direction:column;gap:6px;padding-top:9px;border-top:1px solid var(--hair)}.bi .krow{min-height:22px;font-size:13px}.n.blk.open button,.n.blk.on button{border-color:var(--ink-2);background:var(--surface)}.n.blk.open .bn,.n.blk.on .bn{color:var(--ink)}.n.blk.open .bd,.n.blk.on .bd,.n.blk.open .bi,.n.blk.on .bi{color:var(--ink-body)}.n.blk.open .bd b,.n.blk.on .bd b,.n.blk.open .ref,.n.blk.on .ref{color:var(--ink)}.n.blk.open .g,.n.blk.base .g{opacity:.95}.n.blk.on:not(.base) button{border-color:var(--parch)}.n.blk.on:not(.base) .bh{background:var(--parch);border-bottom-color:var(--parch)}.n.blk.on:not(.base) .bn{color:var(--bg)}.n.blk.on:not(.base) .bm,.n.blk.on:not(.base) .bv{color:var(--bg)}.n.blk.on:not(.base) .bm{opacity:.85}.n.blk.on:not(.base) .bm b{color:var(--bg)}.n.blk.base button{border-color:var(--line-open)}.n.blk.excluded button{border-style:dashed;border-color:var(--locked);opacity:.55}.n.blk.path button,.n.blk.ref button,.n.blk button:focus-visible{border-color:var(--accent)}@media(hover:hover){.n.blk button:hover{border-color:var(--accent)}}.stage.graph .or{width:40px;margin:-8px 0 0 -20px;font-size:12px}.card.clip{width:320px}.card.clip .card-body{display:none}.zoom{position:fixed;z-index:6;right:14px;bottom:20px;display:flex;flex-direction:column;align-items:center;width:36px;padding:2px 0;background:var(--float);border-radius:18px;box-shadow:0 2px 10px var(--shade)}.zoom button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:0;border-radius:16px;color:var(--ink-soft);cursor:pointer;transition:background .15s,color .15s}@media(hover:hover){.zoom button:hover{background:var(--fill-hi);color:var(--ink)}}#zoomFit{margin-top:2px;box-shadow:0 -1px 0 var(--hair);border-radius:0 0 16px 16px}.zoom input{-webkit-appearance:none;appearance:none;writing-mode:vertical-lr;direction:rtl;width:32px;height:88px;margin:2px 0;background:transparent;cursor:pointer}.zoom input::-webkit-slider-runnable-track{width:2px;height:100%;background:var(--locked);border-radius:1px}.zoom input::-moz-range-track{width:2px;height:100%;background:var(--locked);border-radius:1px}.zoom input::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;margin-left:-6px;border:0;border-radius:50%;background:var(--ink)}.zoom input::-moz-range-thumb{width:14px;height:14px;border:0;border-radius:50%;background:var(--ink)}.card{position:fixed;z-index:10;width:376px;max-width:calc(100vw - 24px);background:var(--surface);border:1px solid var(--line);border-radius:6px;overflow:hidden;box-shadow:0 24px 60px var(--lift);pointer-events:none}.card[hidden]{display:none}.card-media{position:relative;aspect-ratio:16 / 9;background:#000}.card-media[hidden]{display:none}.card-media video{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}.card-progress{position:absolute;left:0;right:0;bottom:0;height:2px;background:#1a19174d}.card-progress span{display:block;width:0;height:2px;background:#1a1917}.card-body{display:flex;flex-direction:column;gap:14px;padding:18px 20px 20px}.card-body h2{margin:0;font:600 28px/1.05 var(--serif)}.card-meta{margin:-6px 0 0;font-size:14px;color:var(--ink-2)}.card-meta b{color:var(--ink)}.card-desc{margin:0;font-size:15px;line-height:1.55;color:var(--ink-body)}.card-desc:empty{display:none}.card-desc b{font-weight:500;color:var(--ink)}.card-desc .ref{color:var(--ink);border-bottom:1px solid var(--accent)}.card.pinned{pointer-events:auto;border-color:var(--accent)}.card.pinned .ref,.card.sheet .ref{cursor:pointer}@media(hover:hover){.card.pinned .ref:hover{color:var(--accent)}}.card-foot{display:flex;flex-direction:column;gap:14px;padding-top:14px;border-top:1px solid var(--hair)}.card-foot[hidden],.card-input[hidden],.card-hint[hidden]{display:none}.card-input{display:flex;flex-direction:column;gap:10px}.card-input h3{margin:0;font-size:14px;font-weight:400;color:var(--ink-2)}.card-hint{margin:8px 0 0;font-size:13px;color:var(--ink-2)}.card-hint .kc{min-width:0;height:19px;padding:0 5px;font-size:11px;font-weight:500;border-bottom-width:1px;color:var(--ink-soft)}.keys{display:flex;flex-direction:column;gap:10px}.krow{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;min-height:26px;font-size:14px;line-height:1.2}.kstep{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;min-width:0;max-width:100%}.ku{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.ku.kq{flex-wrap:wrap;white-space:normal}.ku.kp{display:block;min-width:0;white-space:normal;line-height:1.35}.kword{font-weight:500;color:var(--ink)}.kcond,.kor{color:var(--ink-2)}.kor{min-width:18px}.kc{min-width:0;height:22px;padding:0 6px;font-size:12px;border-bottom-width:1px}.kc{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 7px;border:1px solid var(--locked);border-bottom-width:2px;border-radius:5px;font-size:12px;font-weight:600;color:var(--ink);vertical-align:middle}.kc.pad{border-radius:13px;border-bottom-width:1px}.ksep{flex-shrink:0;color:var(--ink-2);vertical-align:middle}.para{display:block;height:8px}.kmouse{vertical-align:middle;flex-shrink:0}.card-desc .kc{min-width:20px;height:20px;padding:0 5px;font-size:11px}.card-desc .kmouse{width:14px;height:19px}.card-actions{display:none;gap:8px}.card-actions .btn{flex:1;padding:0 16px}.card.sheet{left:12px!important;right:12px;top:auto!important;bottom:12px;width:auto;max-height:80vh;overflow-y:auto;pointer-events:auto}.card.sheet .card-actions{display:flex}.toast{position:fixed;left:50%;bottom:28px;translate:-50% 0;padding:8px 14px;background:var(--parch);color:var(--bg);border-radius:4px;font-size:13px;font-weight:500;opacity:0;transition:opacity .2s;pointer-events:none;z-index:20}.toast.show{opacity:1}.crumbbar,.scrim{display:none}@media(max-width:900px){.zoom{display:none}.bar{z-index:20;display:flex;align-items:center;gap:10px;padding:8px 12px;min-height:60px}.brand{padding-left:0;border-right:0}.brand-tag{display:none}.bar-main{flex:1;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:0;min-width:0}.points{order:-1;margin-right:auto;padding:0 4px}.points span{display:none}.tools{gap:8px}.tools .seg{display:none}.share{width:44px;padding:0;justify-content:center}.share span,.btn span{display:none}.btn:not(.solid){width:44px;padding:0}.card-actions .btn{width:auto}.card-actions .btn span{display:inline}.shell{position:relative;display:flex;flex-direction:column}main{flex:1}.crumbbar{position:relative;z-index:9;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-shrink:0;height:48px;padding:0 8px 0 12px;background:var(--chrome);border-bottom:1px solid var(--hair)}.crumb{display:flex;align-items:center;gap:6px;min-width:0;height:40px;padding:0 6px 0 4px;background:transparent;border:0;border-radius:8px;font-size:16px;color:var(--ink);cursor:pointer}.crumb-path{display:flex;align-items:center;gap:8px;min-width:0;white-space:nowrap;overflow:hidden}.crumb-path .cls{color:var(--ink-2)}.crumb-path .sep{flex-shrink:0;color:var(--ink-2)}.crumb-path .wpn{font-weight:500;overflow:hidden;text-overflow:ellipsis}.crumb-chev{flex-shrink:0;color:var(--ink-2);transition:rotate .24s ease}.nav-open .crumb-chev{rotate:180deg}.crumb-slot .seg{display:flex;padding:3px}.crumb-slot .seg button{width:42px;height:32px;border-radius:16px}.weapons{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px 8px;position:absolute;z-index:8;left:0;right:0;top:48px;max-height:calc(100% - 48px);overflow-y:auto;padding:18px 16px 22px;background:var(--chrome);border-right:0;border-bottom:1px solid var(--hair);box-shadow:0 18px 40px var(--lift);translate:0 -100%;visibility:hidden;transition:translate .24s ease,visibility 0s linear .24s}.nav-open .weapons{translate:0 0;visibility:visible;transition:translate .24s ease,visibility 0s}.wgroup{min-width:0}.wrow{margin-left:11px;padding-left:14px}.wbtn{min-width:0;height:44px;gap:8px;margin-right:0;padding-right:4px;border-right:0;font-size:15px}.wbtn:before{left:-14px;width:9px}.wbtn span:nth-child(2){min-width:0;overflow:hidden;text-overflow:ellipsis}.wbtn .g{--s: 24px !important}.wbtn small:empty{display:none}.scrim{display:block;position:absolute;z-index:7;inset:48px 0 0;background:#00000073;opacity:0;visibility:hidden;transition:opacity .24s ease,visibility 0s linear .24s}.nav-open .scrim{opacity:1;visibility:visible;transition:opacity .24s ease,visibility 0s}}@media(max-width:359px){.weapons{grid-template-columns:minmax(0,1fr)}}@media(hover:none)and (pointer:coarse){.zoom{display:none}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
