*{margin:0;padding:0;box-sizing:border-box}html{height:100%}body{min-height:100%;margin:0;background:radial-gradient(circle at 20% 30%,#1a1a2e 0%,transparent 50%),radial-gradient(circle at 80% 70%,#2a1a0e 0%,transparent 50%),#050505;background-attachment:fixed;overflow-x:hidden;font-family:"Press Start 2P",monospace;display:flex;flex-direction:column;align-items:center;gap:40px;padding:20px 20px 60px;color:#fff}.topbar{width:100%;max-width:1080px;display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border:1px solid #1a1a1a;background:#08080c;gap:18px;flex-wrap:wrap}.brand{display:flex;align-items:baseline;gap:10px}.brand-mark{color:#ffb454;font-size:14px}.brand-name{color:#eee;font-size:13px;letter-spacing:3px}.brand-sub{color:#666;font-size:8px;letter-spacing:2px}.wallet-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.wallet-status{color:#aaa;font-size:9px;letter-spacing:2px}.wallet-addr{color:#ffb454;font-size:9px;letter-spacing:1px}.wallet-buttons{display:flex;gap:8px;flex-wrap:wrap}.btn{font-family:inherit;background:#0e0e16;color:#ddd;border:1px solid #2a2a3a;padding:8px 14px;letter-spacing:2px;font-size:9px;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.btn:hover:not(:disabled){border-color:#ffb454;color:#ffb454}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-buy{background:#1c1206;color:#ffb454;border-color:#5a3e10}.btn-buy:hover:not(:disabled){background:#2a1c08;color:#ffd680;border-color:#ffb454}.btn-mini{font-size:8px;padding:6px 10px}.btn-wallet{display:flex;align-items:center;gap:6px}.btn-wallet img{width:14px;height:14px}.muted{color:#666;font-size:8px;letter-spacing:2px}.main{width:100%;max-width:1080px;display:flex;flex-direction:column;align-items:center;gap:36px}.pass-panel{width:100%;border:1px solid #2a1a0a;background:linear-gradient(180deg,#100c08,#080604);padding:16px 18px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}.pass-panel.owned{border-color:#4a8060;background:linear-gradient(180deg,#08120c,#050a08)}.pass-art{flex:0 0 auto;width:220px;height:110px;background:#050505;border:1px solid #1a1a1a;display:flex;align-items:center;justify-content:center;padding:4px}.pass-art svg{width:100%;height:100%;display:block}.pass-art.locked{opacity:.35;filter:grayscale(.6)}.pass-info{flex:1 1 280px;display:flex;flex-direction:column;gap:10px;min-width:240px}.pass-actions{display:flex;gap:8px;flex-wrap:wrap}.ticket-label{color:#ffb454;font-size:10px;letter-spacing:3px}.ticket-status{color:#aaa;font-size:9px;letter-spacing:1px}.pass-panel.owned .ticket-status{color:#8cd0a0}.pass-select-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pass-select{background:#0c0a06;color:#ffd680;border:1px solid #5a3e10;font-family:inherit;font-size:8px;letter-spacing:1px;padding:6px 8px;cursor:pointer;min-width:160px}.pass-select:hover{border-color:#ffb454}.highscore-row{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.hs-label{color:#888;font-size:8px;letter-spacing:2px}.hs-value{color:#ffde62;font-size:18px;letter-spacing:2px}.hs-sub{color:#666;font-size:8px;letter-spacing:1px}.frame{position:relative;padding:28px;border:3px solid #1a1a1a;background:#000;box-shadow:0 0 0 1px #2a2a2a,0 0 80px #ffaa461f,inset 0 0 60px #ffaa460d}.label,.label-r{position:absolute;top:-11px;background:#000;font-size:10px;padding:2px 12px;letter-spacing:3px;border:1px solid #2a2a2a}.label{left:32px;color:#ffb454}.label-r{right:32px;color:#555;font-size:9px;letter-spacing:2px}canvas{display:block;image-rendering:pixelated;image-rendering:crisp-edges;-ms-interpolation-mode:nearest-neighbor;background:#000}.hint{margin-top:18px;text-align:center;color:#444;font-size:9px;letter-spacing:3px}.hint b{color:#ffb454;font-weight:400}.game-gate{position:absolute;inset:28px 28px 70px;background:#050505db;color:#ffb454;display:flex;align-items:center;justify-content:center;text-align:center;font-size:11px;letter-spacing:3px;padding:20px;z-index:2}.gallery{width:100%;background:linear-gradient(180deg,#050505,#08080c);border:3px solid #1a1a1a;box-shadow:0 0 0 1px #2a2a2a,0 30px 80px #0009;padding:36px 30px 42px;position:relative}.gallery-tag,.gallery-tag-r{position:absolute;top:-11px;background:#000;font-size:10px;padding:2px 12px;letter-spacing:3px;border:1px solid #2a2a2a}.gallery-tag{left:32px;color:#ffb454}.gallery-tag-r{right:32px;color:#555;font-size:9px;letter-spacing:2px}.gallery h2{color:#eee;font-size:13px;letter-spacing:3px;font-weight:400;margin:8px 0 6px}.gallery-sub{color:#666;font-size:9px;letter-spacing:2px;margin-bottom:28px;padding-bottom:18px;border-bottom:1px solid #1a1a1a}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:18px}.card{background:radial-gradient(ellipse at center 80%,rgba(255,180,80,.04) 0%,transparent 60%),linear-gradient(180deg,#0c0c14,#050508);border:1px solid #1a1a2a;padding:12px 10px;transition:border-color .25s,transform .25s;display:flex;flex-direction:column}.card.owned{border-color:#4a8060}.card.owned:hover{transform:translateY(-2px)}.card canvas{display:block;margin:0 auto;image-rendering:pixelated;background:radial-gradient(ellipse 60% 12px at center 96%,rgba(0,0,0,.5) 0%,transparent 70%)}.card-action{display:flex;justify-content:space-between;align-items:center;padding-top:10px;gap:8px}.card-status{color:#666;font-size:7px;letter-spacing:2px}.card-status.status-owned{color:#8cd0a0}.card-foot{display:flex;justify-content:space-between;align-items:baseline;padding-top:10px;margin-top:8px;border-top:1px solid #1a1a1a}.card-num{color:#ffb454;font-size:8px;letter-spacing:2px}.card-name{color:#aaa;font-size:7px;letter-spacing:1px;text-align:right;max-width:70%}.social{width:100%;background:linear-gradient(180deg,#050505,#08080c);border:3px solid #1a1a1a;box-shadow:0 0 0 1px #2a2a2a,0 30px 80px #0009;padding:36px 30px 42px;position:relative}.social-tag,.social-tag-r{position:absolute;top:-11px;background:#000;font-size:10px;padding:2px 12px;letter-spacing:3px;border:1px solid #2a2a2a}.social-tag{left:32px;color:#ffb454}.social-tag-r{right:32px;color:#555;font-size:9px;letter-spacing:2px}.social h2{color:#eee;font-size:13px;letter-spacing:3px;font-weight:400;margin:8px 0 6px}.social-sub{color:#666;font-size:9px;letter-spacing:2px;margin-bottom:28px;padding-bottom:18px;border-bottom:1px solid #1a1a1a}.social-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px}.social-card{background:radial-gradient(ellipse at center 80%,rgba(255,180,80,.04) 0%,transparent 60%),linear-gradient(180deg,#0c0c14,#050508);border:1px solid #1a1a2a;padding:22px 16px 18px;transition:border-color .25s,transform .25s;display:flex;flex-direction:column;align-items:center;gap:12px;text-decoration:none;color:#aaa}.social-card:hover{transform:translateY(-2px)}.social-card svg{width:40px;height:40px;display:block;transition:color .25s}.social-name{font-size:9px;letter-spacing:3px;color:#ddd}.social-cta{font-size:7px;letter-spacing:2px;color:#666}.social-fb:hover{border-color:#1877f2}.social-fb svg{color:#1877f2}.social-x:hover{border-color:#eee}.social-x svg{color:#eee}.social-li:hover{border-color:#0a66c2}.social-li svg{color:#0a66c2}.log-panel{width:100%;background:#050508;border:1px solid #1a1a1a;padding:12px 14px}.log-head{color:#ffb454;font-size:9px;letter-spacing:3px;padding-bottom:8px;border-bottom:1px solid #1a1a1a;margin-bottom:8px}.log{max-height:200px;overflow-y:auto;font-size:8px;letter-spacing:1px;line-height:1.7;color:#888}.log-line.log-error{color:#ff8080}.log-line.log-ok{color:#8cd0a0}.modal{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:50}.modal-inner{background:#08080c;border:2px solid #ffb454;padding:28px 30px;max-width:480px;width:calc(100% - 40px);text-align:center}.modal-title{color:#ffb454;font-size:14px;letter-spacing:4px;margin-bottom:12px}.modal-text{color:#fff;font-size:10px;letter-spacing:2px;margin-bottom:8px}.modal-sub{color:#888;font-size:8px;letter-spacing:2px;margin-bottom:22px;line-height:1.6}.modal-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.modal-link{display:block;color:#8cd0a0;font-size:8px;margin-top:14px;letter-spacing:2px;text-decoration:none}.modal-link:hover{text-decoration:underline}@media (max-width: 1100px){.frame{padding:16px}#game{width:95vw;height:auto;max-width:1000px}.label,.label-r,.hint{font-size:8px}.gallery{padding:24px 16px 30px}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.card-name{font-size:6px}.game-gate{font-size:9px}}@media (max-width: 520px){.gallery-grid{grid-template-columns:repeat(2,1fr);gap:10px}.social-grid{grid-template-columns:repeat(3,1fr);gap:8px}.social-card{padding:14px 6px 12px}.social-card svg{width:30px;height:30px}.card{padding:8px 6px}.card canvas{width:100%;height:auto;max-width:110px}.pass-art{width:100%;height:auto;aspect-ratio:2 / 1}.pass-info{min-width:0}.hs-value{font-size:16px}.topbar{padding:10px 12px;gap:10px}}
