:root{--bg: #0a0a0a;--surface: #151515;--ink: #efefef;--muted: #8c8c8c;--accent: #b11226;--accent-ink: #ffffff;--field: #efefef;--field-ink: #0a0a0a;--font-display: "Gambarino", "Iowan Old Style", Georgia, serif;--font-sans: "General Sans", "Helvetica Neue", sans-serif;--step-small: clamp(.8125rem, .79rem + .1vw, .875rem);--step-body: clamp(1.0625rem, 1rem + .25vw, 1.1875rem);--step-lead: clamp(1.25rem, 1.1rem + .7vw, 1.625rem);--step-head: clamp(2rem, 1.3rem + 3.2vw, 4rem);--margin: 4.5rem}*,*:before,*:after{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:var(--step-body);font-weight:400;line-height:1.5}img{display:block;max-width:100%;height:auto}a{color:inherit}button,input{font:inherit;color:inherit}button{cursor:pointer}h1,h2{font-family:var(--font-display);font-weight:400;letter-spacing:-.02em;line-height:.92;margin:0;text-transform:none}p{margin:0}code{font-family:var(--font-sans);font-size:.92em;word-break:break-all}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:3.5rem;padding:0 1.35rem;background:var(--accent);color:var(--accent-ink);border:0;text-decoration:none;font-weight:500}.btn.wide{width:100%}header{height:4.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 var(--margin);background:var(--bg)}.brand{display:flex;align-items:center;gap:.55rem;text-decoration:none;font-family:var(--font-display);font-size:1.35rem}.logo{width:2.25rem;height:2.25rem;object-fit:contain;flex:none}nav{display:flex;gap:1.6rem}nav a{text-decoration:none;color:var(--muted);font-size:var(--step-small);font-weight:500}.home{position:relative;height:calc(100svh - 4.25rem);overflow:hidden;background:var(--bg)}.home-draw{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.home-ink{height:100%;padding:1.6rem 2rem 1.4rem;display:flex;flex-direction:column;justify-content:center;color:var(--ink);font-family:var(--font-sans)}.kicker{margin:0 0 .55rem;color:var(--accent);font-size:13px;font-weight:500;letter-spacing:.04em}.home h1{font-size:48px;max-width:11ch;margin-bottom:.7rem}.intro{font-size:20px;line-height:1.4;max-width:46ch;color:var(--ink);margin-bottom:1.1rem}.home-ink .btn{align-self:flex-start;min-width:14rem}.wall{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:auto auto auto auto;column-gap:1.35rem;row-gap:2.4rem;padding:4.5rem var(--margin) 6rem;background:var(--surface);align-items:start}.note h2,.hang h2{font-size:clamp(1.8rem,2.4vw,2.6rem);margin-bottom:.85rem;max-width:16ch}.note p,.hang p{color:var(--muted)}.note p+p,.hang p+p{margin-top:.85rem}.why-note{grid-column:1 / 5;grid-row:1;padding-top:2.5rem}.hang-window{grid-column:5 / 10;grid-row:1}.hang-rain{grid-column:10 / 13;grid-row:1}.hang-slip{grid-column:1 / 4;grid-row:2;padding-top:2rem}.hang-main{grid-column:4 / 10;grid-row:2}.rail{grid-column:10 / 13;grid-row:2;display:flex;flex-direction:column;gap:1.4rem}.how-note{grid-column:1 / 5;grid-row:3}.hang-rules{grid-column:5 / 9;grid-row:3}.hang-who{grid-column:9 / 13;grid-row:3}.hang-faq{grid-column:1 / 6;grid-row:4}.hang-road{grid-column:6 / 13;grid-row:4}.hang{margin:0;background:var(--bg);padding:.65rem .65rem 0;border:10px solid var(--field)}.hang-rain{margin-top:5.5rem}.rail{margin-top:3.5rem}.hang img{width:100%;height:auto;filter:grayscale(1) contrast(1.05)}.hang figcaption,.plinth{display:flex;justify-content:space-between;gap:1rem;padding:.7rem .35rem .85rem;color:var(--muted);font-size:var(--step-small)}.hang-main{border-width:14px;background:var(--bg)}.hang-rules,.hang-who,.hang-faq,.hang-road{padding:1.4rem 1.5rem 1.7rem;border-width:8px}.slip{background:var(--field);color:var(--field-ink);padding:0}.tape{margin:0;padding:.65rem 1.1rem;background:var(--bg);color:var(--ink);font-size:var(--step-small);font-weight:500;letter-spacing:.04em}.route{display:block;width:100%;height:auto;background:var(--field);cursor:crosshair;touch-action:none}.route text{font-family:var(--font-sans);font-size:11px;font-weight:500;fill:var(--field);pointer-events:none}.gate{cursor:pointer}.route-hint{margin:0;padding:0 1.1rem .4rem;color:#5c5c5c;font-size:var(--step-small)}.pane{padding:.4rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.65rem}.pane label,.slippage{display:grid;gap:.3rem;color:#5c5c5c;font-size:var(--step-small);font-weight:500}.row{display:grid;grid-template-columns:1fr auto;background:var(--field);border:2px solid var(--field-ink)}.row input{width:100%;background:transparent;border:0;padding:.65rem .75rem;font-size:1.35rem;font-variant-numeric:tabular-nums;color:var(--field-ink)}.chip{display:flex;align-items:center;padding:0 .85rem;background:var(--field-ink);color:var(--field);font-size:.8rem;font-weight:500}.slippage input{width:6rem;background:var(--field);border:2px solid var(--field-ink);padding:.5rem .65rem;font-variant-numeric:tabular-nums;color:var(--field-ink)}.status{color:#5c5c5c;min-height:1.4em;font-size:var(--step-small)}.status.is-error{color:var(--accent)}.exit{font-size:var(--step-small);color:#5c5c5c;max-width:52ch}.plinth{color:var(--muted)}.how-note ol,.hang-rules ol{margin:0;padding-left:1.15rem;color:var(--muted)}.how-note li+li,.hang-rules li+li{margin-top:.55rem}.how-note strong{color:var(--ink);font-weight:500}.hang-faq details{border-top:2px solid #2a2a2a;padding:.75rem 0}.hang-faq summary{cursor:pointer;list-style:none;color:var(--ink);font-size:1.05rem}.hang-faq summary::-webkit-details-marker{display:none}.hang-faq p{margin-top:.4rem}.phases{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.4rem}.phases article strong{display:block;color:var(--accent);font-weight:500;margin-bottom:.3rem}.close{min-height:90svh;background:var(--field);color:var(--field-ink);padding:5rem var(--margin) 3rem;display:flex;flex-direction:column;justify-content:space-between}.close h2{font-size:clamp(4rem,9vw,9rem);max-width:10ch}.close-bar{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:end}.close-bar p{max-width:42ch;font-size:var(--step-lead)}footer{background:var(--field);color:var(--field-ink);padding:0 var(--margin) 3.5rem}footer .name{font-family:var(--font-display);font-size:clamp(4rem,12vw,12rem);line-height:.8;margin:0 0 2.5rem}.places{display:flex;flex-direction:column;gap:.35rem;font-size:clamp(1.6rem,2.4vw,2.2rem);margin-bottom:3rem}.places a{color:var(--accent);text-decoration:none}.legal{font-size:var(--step-small);color:#5c5c5c}.legal a{color:var(--field-ink)}
