:root{color-scheme:light;--ink:#263d36;--muted:#65786d;--cream:#faf9f1;--green:#2e6355;--line:#d8dfd1}*{box-sizing:border-box}body{margin:0;background:#eef1e8;color:var(--ink);font:15px/1.5 ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;border:1px solid var(--line);border-radius:30px;background:transparent;color:var(--ink);padding:9px 17px;transition:background .15s,transform .15s}button:hover{background:#e1e9dc}button:active{transform:translateY(1px)}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,canvas:focus-visible,summary:focus-visible{outline:3px solid #d47f50;outline-offset:4px}main{max-width:1120px;margin:auto;padding:0 38px}header{display:flex;align-items:center;justify-content:space-between;padding:25px 0;border-bottom:1px solid var(--line)}.wordmark{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--green);font-size:32px}.wordmark span{font-size:15px;font-weight:750;letter-spacing:3px}.tools{display:flex;gap:9px}.tools button{font-size:12px}.intro{display:flex;justify-content:space-between;align-items:center;padding:45px 10px 34px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:2.1px;margin:0 0 12px;color:var(--muted)}h1{font:normal 58px/.99 Georgia,'Times New Roman',serif;letter-spacing:-2.1px;margin:15px 0 19px}h1 em{font-weight:normal;color:var(--green)}.lede{color:var(--muted);font-size:14px;margin:0}.ticket{border:1px solid #cfd7c6;border-radius:90px 90px 9px 9px;min-width:175px;padding:21px 26px;text-align:center;background:#f4f4e9;display:flex;flex-direction:column;align-items:center}.ticket-icon{font-size:34px;color:#b68c47}.ticket p{font-size:8px;letter-spacing:1.6px;margin:8px 0}.ticket strong{font:40px Georgia,serif}.ticket span:not(.ticket-icon){font-size:12px;color:var(--muted)}.ticket small{font-size:8px;border-top:1px solid var(--line);padding-top:10px;margin-top:12px;color:var(--muted)}.game-card{border-radius:17px;background:var(--cream);border:1px solid #d4dccd;overflow:hidden;box-shadow:0 15px 50px #53664a10}.game-top{display:flex;align-items:center;justify-content:space-between;padding:20px 27px}.game-top .eyebrow{margin-bottom:4px;font-size:9px}h2{font:normal 25px/1.2 Georgia,serif;margin:0}.live-stats{display:flex;gap:36px}.live-stats span{display:flex;flex-direction:column;align-items:center}.live-stats small{font-size:8px;letter-spacing:1.3px;color:var(--muted)}.live-stats b{font:23px/1.3 Georgia,serif}.stage{position:relative;background:#bee0d8;aspect-ratio:1.6}canvas{width:100%;height:100%;display:block;touch-action:none;cursor:crosshair}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#b6d5c52c;pointer-events:none}.overlay.hidden{display:none}.overlay-card{width:min(85%,410px);text-align:center;border:1px solid #ffffffc4;background:#fbfaf0ee;border-radius:13px;padding:25px 29px;box-shadow:0 15px 50px #264c3420;pointer-events:auto;backdrop-filter:blur(8px)}h3{font:normal 30px/1.08 Georgia,serif;margin:9px 0 14px}.overlay-card p:not(.eyebrow){font-size:13px;line-height:1.6;color:#5c7065}.primary{background:var(--green);color:#fff;padding:12px 30px;border-color:var(--green);font-size:13px}.primary:hover{background:#204e41}.stage-note{position:absolute;bottom:13px;left:0;right:0;text-align:center;font-size:8px;letter-spacing:1.9px;color:#33594b;pointer-events:none}.game-bottom{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:14px 24px}.game-bottom p{font-size:11px;color:var(--muted);margin:0}.game-bottom>div{display:flex;gap:7px;flex-shrink:0}.game-bottom button{font-size:11px;padding:7px 13px}.below{display:grid;grid-template-columns:1fr 1.4fr;gap:30px;padding:28px 5px}.pace{display:flex;gap:7px}.pace button{font-size:11px;padding:8px 16px;background:#f8f8ee}.pace .selected{background:#dae5d5;border-color:#97b39d}.subtle{font-size:10px;color:var(--muted);line-height:1.6;margin:10px 0}#levels{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}#levels button{position:relative;border-radius:10px;padding:11px 4px;font:20px Georgia,serif;background:#f6f7ed}#levels .active{background:#2e6355;color:#fff;border-color:#2e6355}#levels .complete:after{content:'✳';position:absolute;right:4px;top:0px;color:#b88736;font-size:13px}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:16px 4px 25px;font-size:10px;color:var(--muted)}footer p{margin:0}details{max-width:360px;text-align:right}details p{margin-top:10px}a{color:inherit}dialog{max-width:500px;width:90%;border:1px solid var(--line);border-radius:18px;background:#faf9f1;color:var(--ink);padding:32px;font-size:14px}dialog h2{margin:20px 0}dialog p,dialog li{color:#52675b}dialog::backdrop{background:#173c3780;backdrop-filter:blur(6px)}.close{float:right;font-size:12px;margin:-15px -15px 15px 15px}.paused .stage-note{color:#1c493c}@media(max-width:700px){main{padding:0 17px}header{padding:17px 0}.wordmark{font-size:25px}.wordmark span{font-size:12px;letter-spacing:2px}.tools{gap:5px}.tools button{padding:7px 10px;font-size:10px}.intro{padding:29px 3px 26px;gap:10px}h1{font-size:45px;margin-top:10px}.eyebrow{font-size:8px;letter-spacing:1.6px}.lede{font-size:11px}.ticket{min-width:113px;padding:12px 12px;border-radius:60px 60px 8px 8px}.ticket-icon{font-size:25px}.ticket p{font-size:6px;letter-spacing:1px}.ticket strong{font-size:30px}.ticket span:not(.ticket-icon){font-size:9px}.ticket small{font-size:6px;padding-top:7px;margin-top:8px}.game-top{padding:15px}.live-stats{gap:15px}.live-stats b{font-size:19px}.live-stats small{font-size:6px}h2{font-size:21px}.stage{aspect-ratio:1.25}.stage canvas{object-fit:fill}.overlay-card{padding:17px 18px}.overlay-card .eyebrow{font-size:7px;margin-bottom:8px}h3{font-size:25px}.overlay-card p:not(.eyebrow){font-size:11px;margin:10px 0 14px}.primary{padding:9px 22px;font-size:11px}.stage-note{font-size:6px;letter-spacing:1px;bottom:9px}.game-bottom{align-items:flex-start;flex-direction:column;padding:12px 14px;gap:8px}.game-bottom p{font-size:10px}.game-bottom>div{width:100%;justify-content:flex-end}.below{grid-template-columns:1fr;padding:23px 3px;gap:15px}.below .eyebrow{margin-bottom:9px}.subtle br{display:none}#levels button{padding:9px}.pace button{font-size:10px}footer{font-size:8px;gap:20px}details{max-width:180px}}@media(prefers-reduced-motion:reduce){button{transition:none}}
.board{position:relative;aspect-ratio:1.8;background:#c3ddd3 url('conservatory.webp') center/cover;isolation:isolate}.board:before{content:'';position:absolute;inset:0;background:#f8f9e93b;z-index:-1}#wires,#nodes{position:absolute;inset:0;width:100%;height:100%}#wires line{stroke:#62877b;stroke-width:.8;stroke-linecap:round;vector-effect:non-scaling-stroke}#wires line.live{stroke:#bc8b43;stroke-width:3}#wires line.gone{stroke:#62877b;opacity:.16;stroke-dasharray:4 4}.node{position:absolute;width:62px;height:62px;padding:0;transform:translate(-50%,-50%);border-radius:50%;border:2px solid #99b5a4;background:#f6f7e9dd;color:#315b4e;font:20px Georgia,serif;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px #3b59401a;transition:background .2s,opacity .2s}.node:hover{transform:translate(-50%,-50%);background:#fffbda}.node:active{transform:translate(-50%,-50%)}.node.legal{border:3px solid #bc8b43;background:#fffae3}.node.retired{opacity:.25;background:#bdcaba;border:1px dashed #5e8070;box-shadow:none}.node.current{background:#fff7d4;border-color:#b78640;box-shadow:0 0 23px #ffe59f}.node.current img{position:absolute;width:80px;height:80px;object-fit:contain;bottom:4px;pointer-events:none}.node.current span{position:absolute;bottom:-24px;font:12px system-ui;background:#fffbedcc;padding:1px 8px;border-radius:10px}.node.nudged{outline:4px solid #8b5e21;outline-offset:5px}.node:disabled{cursor:default}.node.current:disabled{opacity:1}#loading{position:absolute;inset:0;display:grid;place-items:center;background:#f7f8e9d9;color:#315b4e}#loading.hidden{display:none}#levels{grid-template-columns:repeat(5,1fr)}#message{max-width:650px;font-size:12px;line-height:1.6}.game-bottom{align-items:center}.game-bottom button{white-space:nowrap}.board .stage-note{bottom:8px;font-size:7px}.below{grid-template-columns:1fr 1fr}.subtle{font-size:12px}#guide>button{float:right}footer{line-height:1.6}@media(max-width:700px){.board{aspect-ratio:1.2}.node{width:45px;height:45px;font-size:16px}.node.current img{width:59px;height:59px;bottom:1px}.node.current span{font-size:10px;bottom:-20px}.board .stage-note{font-size:5px;letter-spacing:.8px;bottom:5px}.game-top{padding:14px}.live-stats{gap:22px}.below{grid-template-columns:1fr}.game-bottom{align-items:stretch}.game-bottom>div{justify-content:flex-end}.lede{max-width:190px}.node:focus-visible{outline-width:3px;outline-offset:3px}}
