@font-face{font-family:Anton;src:url('./assets/fonts/anton.ttf') format('truetype');font-display:swap}
*{box-sizing:border-box}html{height:100%}body{margin:0;height:100svh;display:flex;flex-direction:column;background:#211810 url('./assets/scene/heist/vault-natural-v4.png') center/cover no-repeat;color:#302719;font-family:Arial,Helvetica,sans-serif}body:before{content:'';position:fixed;inset:0;background:#100d09b0;z-index:-1}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}a:focus-visible,button:focus-visible,summary:focus-visible,.diagram:focus-visible{outline:2px solid #a06b28;outline-offset:3px}header{display:flex;justify-content:space-between;align-items:center;flex-shrink:0;padding:14px 24px;color:#f4dfba;font-size:11px;letter-spacing:2px}.back{padding:8px 0}main{width:min(1100px,calc(100% - 48px));min-height:0;flex:1;margin:0 auto 20px;padding:22px 32px 14px;display:flex;flex-direction:column;background:linear-gradient(115deg,#f4e7cb,#e8d4b0);border:1px solid #bea276;box-shadow:0 12px 50px #0007;overflow:auto}.eyebrow{text-align:center;font-size:10px;letter-spacing:4px;margin:0 0 6px}h1{text-align:center;font:400 clamp(30px,4vw,52px)/1.1 Anton,sans-serif;margin:0 0 6px}.intro{text-align:center;font:16px/1.3 Georgia,serif;margin:0 0 8px}.legend{display:flex;gap:24px;font-size:11px;flex-shrink:0;margin:4px 0}.token{color:#9c691c;fill:#9c691c}.nft{color:#326257;fill:#326257}.diagram{flex:1;min-height:100px;overflow:auto}.diagram svg{display:block;width:100%;height:100%;min-height:0}.zones rect{fill:transparent;stroke:#796c57}.zone-label{fill:#352d21;font-size:20px;letter-spacing:2px}.nodes rect{fill:#29241e;stroke:#50432f;stroke-width:1.2}.node-label{fill:#f2dfbc;font-size:21px;text-anchor:middle}.edge-label{fill:#504536;font-size:16px}.game-lines,.token-lines,.nft-lines{fill:none;stroke-width:2;stroke-linejoin:round}.game-lines{stroke:#686052;marker-end:url(#gray)}.token-lines{stroke:#9c691c;marker-end:url(#gold)}.nft-lines{stroke:#326257;marker-end:url(#mint)}.diagram-tools{display:flex;align-items:center;gap:12px;margin:4px 0;flex-shrink:0}.diagram-tools button{border:1px solid #92764e;padding:8px 12px;color:#3e2c19;background:transparent;font:11px Arial,sans-serif;min-height:36px;cursor:pointer}.scroll-hint{font-size:11px;margin:0}.details{flex-shrink:0;border-top:1px solid #b39a76;margin-top:6px}.details summary{cursor:pointer;font-size:12px;padding:12px 0;min-height:40px}.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding:0 0 12px}.steps span{font-size:9px;letter-spacing:1px;color:#634420}.steps h2{font:18px Anton,sans-serif;margin:6px 0}.steps p{font:13px/1.4 Georgia,serif;margin:0}footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:12px;border-top:1px solid #b39a76;font-size:10px;flex-shrink:0}footer a{padding:6px 0}.diagram.expanded svg{width:1100px;height:688px;max-width:none}.diagram.expanded{min-height:100px}
@media(max-width:600px){header{padding:8px 14px;font-size:10px}main{width:calc(100% - 20px);margin-bottom:10px;padding:18px 14px 10px}h1{font-size:36px}.intro{font-size:14px}.eyebrow{font-size:9px;letter-spacing:3px}.legend{gap:18px}.steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}footer{font-size:10px;gap:8px;flex-wrap:wrap}footer>span{display:none}.diagram.expanded svg{width:900px;height:563px}.scroll-hint{font-size:10px}.diagram-tools button{min-height:44px}}
@media(max-height:600px){main{padding-top:10px}h1{font-size:28px}.intro{font-size:13px}.eyebrow{display:none}header{padding-top:4px;padding-bottom:4px}}
@media print{body{height:auto;background:white}header,.diagram-tools,.details,footer{display:none}main{width:100%;height:95vh;margin:0;padding:10mm;box-shadow:none;border:0}.diagram svg{width:100%;height:100%}}
@media(max-width:600px){.diagram{flex:0 0 auto;height:auto;aspect-ratio:1.6}.diagram svg{height:auto}.diagram.expanded{height:260px;aspect-ratio:auto}.details{margin-top:auto}.steps p{font-size:12px}.steps h2{font-size:16px;margin:4px 0}.steps{gap:10px}.details summary{padding:8px 0;min-height:32px}}
