:root{--sans:"Sofia Sans", "Segoe UI", Helvetica, Arial, sans-serif;--cond:"Sofia Sans Condensed", "Arial Narrow", sans-serif;--mono:"Spline Sans Mono", ui-monospace, Menlo, monospace;--crt:"VT323", "Courier New", monospace;--gutter:clamp(16px, 4vw, 56px);--night:#040705;--bone:#e8ede8;--ash:#7e8a82;--t-ink:#7df0a0;--t-dim:#3f9a5e;--t-hi:#c9ffd8;--t-line:#1c4f2e;--t-panel:#06100a;--m-ink:#14202e;--m-mute:#56657a;--m-red:#c8352a;--z-bg:#0a111e;--z-ink:#e6ecf5;--z-mute:#8595ae;--z-light:#f5c87a;--g-ink:#16311c;--g-mute:#4d6a52;--g-card:#fbfbf6;--g-flag:#d23a2e;--p-room:#0a0d0b;--p-ink:#efe8d8;--p-mute:#a79f8c;--p-gold:#d9b44a;--p-card:#121712;--paper:#edf0e8;--paper-ink:#1c241e;--paper-mute:#5e6a61;--paper-line:#c3cbbe;--paper-acc:#2c76a6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-snap-type:y proximity}.s-intro,.s-term,.s-note,.world-sec{scroll-snap-align:start}.s-paper h2{scroll-snap-align:start;scroll-margin-top:8vh}.s-paper .foot{scroll-snap-align:end}body{background:var(--night);color:var(--bone);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.5}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible{outline-offset:3px;outline:2px solid}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.worlds{z-index:0;position:fixed;inset:0}.world{opacity:0;visibility:hidden;pointer-events:none;position:absolute;inset:0;overflow:hidden}.world.live{pointer-events:auto}.world .fill{pointer-events:none;position:absolute;inset:0}#w-term{opacity:1;visibility:visible;background:var(--night)}#w-term:after{content:"";background:repeating-linear-gradient(#0000004d 0 1px,#0000 1px 3px),radial-gradient(at 50% 40%,#2878461a,#0000 60%),radial-gradient(#0000 55%,#0009);position:absolute;inset:0}main{z-index:1;pointer-events:none;position:relative}.s-intro,.s-term,.s-paper,.s-note,.card{pointer-events:auto}.scene{position:relative}.world-sec{min-height:100svh;padding-inline:var(--gutter);align-items:center;padding-block:8vh;display:grid}.world-sec>.card{width:min(420px,38vw)}.card{--c-bg:#fff;--c-ink:#111;--c-mute:#555;--c-acc:#111;--c-line:#ccc;background:var(--c-bg);color:var(--c-ink);border:1px solid var(--c-line);gap:10px;width:min(420px,100%);padding:clamp(16px,2vw,24px);display:grid}.card .when{font-family:var(--mono);letter-spacing:.03em;color:var(--c-mute);text-transform:uppercase;margin:0;font-size:12px}.card h2{font-family:var(--cond);text-transform:uppercase;letter-spacing:.005em;text-wrap:balance;margin:0;font-size:clamp(1.7rem,3vw,2.4rem);font-weight:800;line-height:.95}.card .role{margin:-4px 0 0;font-size:15.5px;font-weight:500}.card ul{gap:6px;margin:0;padding-left:18px;font-size:14.5px;line-height:1.45;display:grid}.card li::marker{color:var(--c-acc)}.card .stack{font-family:var(--mono);color:var(--c-mute);border-top:1px solid var(--c-line);margin:0;padding-top:10px;font-size:11.5px}.card .links{flex-wrap:wrap;gap:8px 18px;margin:0;font-size:15px;font-weight:700;display:flex}.card .links a{color:var(--c-acc);border-bottom:1.5px solid;text-decoration:none}.card .links a:hover{opacity:.8}.card .credit{font-family:var(--mono);color:var(--c-mute);margin:0;font-size:10px;display:none}.card .credit a{color:inherit}.paged .card .credit{display:block}.paged .L-world.sc-zrh .osm{display:none}.rail{z-index:60;mix-blend-mode:difference;color:#fff;opacity:0;gap:14px;transition:opacity .3s;display:grid;position:fixed;top:50%;right:18px;transform:translateY(-50%)}.rail.show{opacity:1}.rail a{font-family:var(--mono);letter-spacing:.04em;justify-content:flex-end;align-items:center;gap:10px;font-size:11px;text-decoration:none;display:flex}.rail a span{opacity:0;white-space:nowrap;transition:opacity .2s,transform .2s;transform:translate(6px)}.rail:hover a span,.rail a.on span,.rail a:focus-visible span{opacity:1;transform:none}.rail a i{border:1.5px solid;border-radius:50%;flex:none;width:9px;height:9px}.rail a.on i{background:currentColor}.rail-sep{opacity:.7;background:currentColor;justify-self:end;width:9px;height:1.5px;margin-block:2px}.s-intro{min-height:100svh;padding-inline:var(--gutter);color:var(--bone);grid-template-rows:auto 1fr auto;gap:24px;padding-block:18px 36px;display:grid}.topbar{font-family:var(--mono);color:var(--ash);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;font-size:13px;display:flex}.topbar nav{flex-wrap:wrap;gap:18px;display:flex}.topbar nav a{color:var(--bone);text-decoration:none}.topbar nav a:hover{color:var(--t-ink)}.intro-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-self:center;align-items:end;gap:28px clamp(28px,5vw,80px);display:grid}.intro-main h1{font-family:var(--cond);text-transform:uppercase;letter-spacing:-.005em;color:#f1f4f0;grid-column:1/-1;margin:0;font-size:clamp(4.2rem,15vw,14rem);font-weight:800;line-height:.8}.intro-main h1 .cur{background:var(--t-ink);vertical-align:-.02em;width:.09em;height:.72em;margin-left:.05em;animation:1.1s step-end infinite blink;display:inline-block;box-shadow:0 0 18px #7df0a080}@keyframes blink{50%{opacity:0}}.lede{color:#cdd5ce;max-width:40ch;margin:0;font-size:clamp(1.1rem,1.7vw,1.35rem);line-height:1.45}.lede span{color:var(--ash);margin-top:14px;font-size:15px;display:block}.toc-h{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ash);gap:12px;margin:0 0 6px;font-size:11.5px;display:flex}.toc-h span{color:var(--t-ink)}.toc+.toc-h{margin-top:18px}.toc-pair{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;display:grid}.toc{counter-reset:toc;border-top:1px solid #253029;margin:0;padding:0;list-style:none}.toc a{--a:var(--bone);border-bottom:1px solid #1a221d;grid-template-columns:2.2rem minmax(0,1fr) auto;align-items:baseline;gap:2px 14px;padding:9px 0 9px 14px;text-decoration:none;transition:padding .2s;display:grid;position:relative}.toc a:before{content:"";background:var(--a);width:3px;position:absolute;top:12px;bottom:12px;left:0}.toc a:hover,.toc a:focus-visible{padding-left:20px}.toc a:hover b{color:var(--a)}.toc .n{font-family:var(--mono);color:var(--ash);font-variant-numeric:tabular-nums;font-size:11.5px}.toc b{font-family:var(--cond);text-transform:uppercase;letter-spacing:.03em;font-size:clamp(1.1rem,1.6vw,1.35rem);font-weight:800;line-height:1.1;transition:color .2s}.toc .y{font-family:var(--mono);color:var(--ash);white-space:nowrap;font-size:11.5px}.toc .d{color:var(--ash);grid-column:2/-1;font-size:14px}.cue{font-family:var(--mono);letter-spacing:.08em;color:var(--ash);flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:12px;display:flex}@media (width>=761px) and (height<=1000px){.s-intro{gap:18px;padding-bottom:48px}.intro-main h1{font-size:clamp(4.2rem,min(15vw,20vh),14rem)}.toc a{padding-block:6px}.toc .d{line-height:1.3}.toc+.toc-h{margin-top:14px}}@media (width>=761px) and (height<=820px){.s-intro{gap:12px;padding-top:14px;padding-bottom:36px}.intro-main{gap:18px clamp(28px,5vw,80px)}.intro-main h1{font-size:clamp(4.2rem,min(15vw,17vh),14rem)}.toc a{padding-block:3px}.toc a:before{top:7px;bottom:7px}.toc .d{font-size:13px}}@media (width>=761px) and (height<=700px){.toc .d{display:none}}.s-term{min-height:100svh;padding-inline:var(--gutter);align-content:center;padding-block:12vh;display:grid}.term-grid{grid-template-columns:minmax(0,420px) minmax(0,1fr);align-items:start;gap:clamp(20px,3vw,44px);max-width:1280px;display:grid}.s-term .card{--c-bg:var(--t-panel);--c-ink:#cff7da;--c-mute:var(--t-dim);--c-acc:var(--t-ink);--c-line:var(--t-line)}.term{border:1px solid var(--t-line);background:#030604e6;grid-template-rows:auto 1fr;min-width:0;display:grid}.term-bar{border-bottom:1px solid var(--t-line);font-family:var(--mono);color:var(--t-dim);justify-content:space-between;gap:12px;padding:7px 12px;font-size:11.5px;display:flex}.term-body{font-family:var(--crt);height:clamp(300px,50vh,460px);color:var(--t-ink);text-shadow:0 0 6px #7df0a059;white-space:pre-wrap;word-break:break-word;cursor:text;padding:12px 14px 16px;font-size:clamp(19px,1.7vw,23px);line-height:1.22;overflow-y:auto}.term-body .ps{color:var(--t-hi)}.term-body .dim{color:var(--t-dim)}.term-body a{color:var(--t-hi)}.prompt{gap:.5ch;display:flex}.prompt input{min-width:0;color:var(--t-hi);font:inherit;text-shadow:inherit;caret-color:var(--t-ink);background:0 0;border:0;flex:1;padding:0}.prompt input:focus-visible{outline:none}.s-mtn .card{--c-bg:#fff;--c-ink:var(--m-ink);--c-mute:var(--m-mute);--c-acc:var(--m-red);--c-line:#d5dde8;box-shadow:0 18px 40px -20px #0b102480}.s-zrh .card{--c-bg:#0f1829;--c-ink:var(--z-ink);--c-mute:var(--z-mute);--c-acc:var(--z-light);--c-line:#24324c}.s-golf .card{--c-bg:var(--g-card);--c-ink:var(--g-ink);--c-mute:var(--g-mute);--c-acc:#2f7a3a;--c-line:#d8decf}.s-eth .card{--c-bg:#fff;--c-ink:#1e2a3a;--c-mute:#5a6878;--c-acc:#c0262d;--c-line:#dce3ea;box-shadow:0 18px 40px -20px #1e2a3a73}.s-ubco .card{--c-bg:#fffbf2;--c-ink:#2a2218;--c-mute:#6b5e4b;--c-acc:#1f5e8c;--c-line:#e6dcc8;box-shadow:0 18px 40px -20px #3c280a66}.card .along{font-family:var(--mono);flex-wrap:wrap;gap:4px 14px;margin:0;font-size:12px;display:flex}.card .along span{color:var(--c-mute);text-transform:uppercase;letter-spacing:.05em}.card .along a{color:var(--c-acc);text-decoration:none}.card .along a:hover{text-decoration:underline}.s-rag .card{--c-bg:#e9e1cb;--c-ink:#1c1f1d;--c-mute:#6b6a5e;--c-acc:#b0342a;--c-line:#cfc6ac;box-shadow:0 24px 40px -24px #000000e6}.s-poker .card{--c-bg:var(--p-card);--c-ink:var(--p-ink);--c-mute:var(--p-mute);--c-acc:var(--p-gold);--c-line:#2b3129}#w-paper{background:var(--paper)}.s-paper{color:var(--paper-ink);padding-inline:var(--gutter);padding-block:60vh 40px}.s-paper .inner{max-width:1120px;margin-inline:auto}.s-paper h2{font-family:var(--cond);text-transform:uppercase;margin:0;font-size:clamp(2.2rem,5vw,4rem);font-weight:800;line-height:.95}.s-paper .intro-l{color:var(--paper-mute);max-width:60ch;margin:10px 0 28px}.log{border-top:2px solid var(--paper-ink);margin:0;padding:0;list-style:none}.log li{border-bottom:1px solid var(--paper-line);grid-template-columns:11rem minmax(0,1fr) auto;align-items:baseline;gap:4px 24px;padding-block:14px;display:grid}.log .d{font-family:var(--mono);color:var(--paper-mute);font-variant-numeric:tabular-nums;font-size:12px}.log b{font-size:17px}.log .o{color:var(--paper-mute);font-size:14.5px;display:block}.log .x{font-family:var(--mono);text-transform:uppercase;letter-spacing:.04em;gap:14px;font-size:12px;display:flex}.log .x a{color:var(--paper-acc);text-decoration:none}.log .x a:hover{text-decoration:underline}#w-note{background:#f8f6ee}#w-note:before{content:"";background:linear-gradient(to right, transparent calc(var(--gutter) + 38px), #e6a29b calc(var(--gutter) + 38px) calc(var(--gutter) + 40px), transparent 0), repeating-linear-gradient(to bottom, transparent 0 33px, #cfdcea 33px 34px);position:absolute;inset:0}.s-note{min-height:100svh;padding-inline:calc(var(--gutter) + 64px) var(--gutter);color:#1c2a3a;align-content:center;padding-block:12vh;display:grid}.note-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:20px clamp(28px,5vw,80px);width:min(1120px,100%);display:grid}.s-note .part{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#b4473b;grid-column:1/-1;margin:0;font-size:13px}.s-note h2{font-family:var(--cond);text-transform:uppercase;grid-column:1/-1;margin:0;font-size:clamp(4.2rem,15vw,13rem);font-weight:800;line-height:.8}.note-l{color:#3f4d5c;max-width:32ch;margin:0;font-size:clamp(1.1rem,1.7vw,1.35rem)}.toc-note{border-top-color:#1c2a3a}.toc-note a{border-bottom-color:#c9d3de}.toc-note .n,.toc-note .y,.toc-note .d{color:#5a6878}#w-end{background:var(--paper)}.s-end{padding-block:45vh 40px}.s-end .contact{margin-top:28px}.contact{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,44px);margin-top:clamp(48px,7vw,90px);display:grid}.contact h3{font-family:var(--cond);text-transform:uppercase;letter-spacing:.08em;color:var(--paper-mute);margin:0 0 8px;font-size:14px;font-weight:600}.contact p{margin:0;font-size:16px}.contact a{color:var(--paper-acc)}.foot{border-top:1px solid var(--paper-ink);color:var(--paper-mute);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:48px;padding-top:12px;font-size:13px;display:flex}@media (width<=760px){.rail{display:none}.intro-main{grid-template-columns:1fr;gap:22px}.toc a{padding-block:9px}.toc .d{font-size:13px}.toc-pair,.term-grid{grid-template-columns:1fr}.term-grid .term{order:-1}.term-body{height:300px}.world-sec{min-height:0;padding-block:var(--art,56svh) 26svh;align-items:start}.world-sec>.card{gap:8px;width:auto}.s-rag{--art:388px}.s-zrh{--art:58svh}.s-golf{--art:calc(38svh + 118px)}.s-poker{--art:calc(44svh + 44px)}.card ul{gap:4px;font-size:14px}.card h2{font-size:1.7rem}.log li,.contact{grid-template-columns:1fr}.s-note{padding-inline:calc(var(--gutter) + 34px) var(--gutter)}#w-note:before{background:linear-gradient(to right, transparent calc(var(--gutter) + 18px), #e6a29b calc(var(--gutter) + 18px) calc(var(--gutter) + 20px), transparent 0), repeating-linear-gradient(to bottom, transparent 0 33px, #cfdcea 33px 34px)}.note-inner{grid-template-columns:1fr}}.cue-swipe,.paged .cue-scroll{display:none}.paged .cue-swipe{display:inline}html.paged,.paged body{overscroll-behavior:none;scroll-snap-type:none;scroll-behavior:auto;height:100%;overflow:hidden}.paged main{will-change:transform;position:fixed;top:0;left:0;right:0}.paged main>.scene{height:var(--ph,100svh);scrollbar-width:none;min-height:0;overflow-y:hidden}.paged main>.scene::-webkit-scrollbar{display:none}.paged .s-intro{padding-block:18px 28px}.paged .s-term,.paged .s-note{padding-block:28px}.paged .s-term{align-content:start}.paged .s-paper{padding-block:32px 40px}.paged .world-sec{padding-block:var(--art,56svh) calc(14px + env(safe-area-inset-bottom))}.paged .s-mtn{--art-min:36svh}.paged .s-zrh{--art-min:30svh}.paged .s-poker{--art-min:calc(44svh + 22px)}.paged .s-rag{--art-min:388px}.paged .s-eth{--art-min:46svh}.paged .s-ubco{--art-min:45svh}.paged .term-body{height:172px}.paged .world-sec>.card{gap:6px;padding:14px 16px}.paged .s-golf{--art:calc(25svh + 118px)}.paged .rail{gap:11px;display:grid;right:4px}.paged .rail a span{display:none}.paged .rail a i{width:7px;height:7px}.paged .rail-sep{width:7px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.intro-main h1 .cur{animation:none}.rail a span,.toc a{transition:none}}
