@font-face{font-family:Silkscreen;src:url(data:font/woff2;base64,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)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Silkscreen;src:url(data:font/woff2;base64,d09GMgABAAAAAAyIAA4AAAAANFQAAAwyAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGlIbg3ocbAZgAIQ+EQgKx2y0XwuDNgABNgIkA4ZoBCAFhC4HhEwbGCijooq0M4q/TODkKqxjASJE8FpVI+BVZ9KNo2fYhX3sm4T+8hOnZd/TnPv+XRS4IKmhRzAPHsSkppiHipqmnRkN0ft7X2fPfd+tMNOOgGVsQKp4KR1ZPOIBOOJhQSHcKB3nJfgggA1tcgkR7ENN1lWntsE/Z0Abrs0SB+tp75LFoVqLbGJshJDHwy+B7SeZEhFS3JkdM+3/N/WTajzR397gdpbK5yyAAbQDKM/VzOx4JOvb8hbb25qPfmrX8/wip5SGAvNDA1tBraCcZWELU2Eo3fMBCwUBKNsybcDd0ss7dhksY4WoiqIohFzPjvc4zzEQRgAAQCRGhkgQGVNEEI3EykGK6JGLLuNcdQ2HEECOSFx0yeXsDyeAkkiH1pIzCyHHA2AMAxC2m0eg3q8awV8Qgu5cYtxJSZkjSgBleZaj6GFKEl/SkIYG00g8gMhRhkcLSiFMVaUXdaFeJFIX6kLWQTqmHggkJ+Yu3IW64G8YfuW+Yt5eIGu895Igte4CAZlRAWGti9jjh6PmTK1DqJ4iE0Z//8l3PY4AqiDuLYqhNAC1wIUVuNDBjt+xhBcmfH36c1V5+njXJ8sNbJ9jFe5LoMpcwkxWZYt0GQjrHoUaZlu0RNlNlOxmQ/zSeva5/pdvz7tG5f/W4QTkAD0OX80fxRvTkhLhjcaZYwBGIDXSHexnVO6rE6av/vimYwdJgL1XOwAZSdS9FVq/DZcdCmUApd940XpGNpYym9fwUiOA+/AbQADQv3IQIOIADMAB1DgEUOPLE4A7EU/OjJ9wgxlXwE7Xw0Ycz8lFtWgt2osa0VXUiRsdNcYAZkT+dJYmH78CXNtsJbYWbcPwT+4PSAEA+D/z78+/S+OPPGksAE9PlGti8WQmArgC4p0PQrtrpQcaDv+3jTXFZrMddME2Wyy2xCxHTTDPeHNMNMkpJ5w0zVZEQcmUwIpaCy3ZsGXHngNHHrx48+HLT5BgIUKFW26uFc5Z5CadeAmSpMiUJVuOQkWKtdVOBz30UqJUuQq16tRroLfUXsucMc5U+x12wBH77HDDTs3WO2u+Xe7a47ThRrjlvO1muGeY3jYYZaTRppNgODI8KTkTllTMWbDWSmttmBG50HDixtkxrgL5C6AVxlOZaBEixYoSI06iDKnSpCuQK0++ZO110VEn3XR2XFc1KlWp1qinJu66W2udlVZbYxVCfVQA4D4A9AXwExQ3AN3YZ/KHvIFi+tS+eD6AwpVe5ngJNAVNGE7iTDRiUITmWQPeDjNOh3sYNmgSQqaKCHx7TQG7T4JRMunRUzY7w7GEGJD0pCO8dCg6dvYwvk1g+XGyhFuaSeRPHLsnKnpdnsot3pARWM+9vGdmeeTrgbGfJHoe490crD4MdH/URNgjtsV9fs/+SiMH5+H48egOTXjmnHl7HGWuyKc+ebd7vZ+TXvqT0F03lASRa/c51Zhb+DHTWvDbqlo1BKEUSnYc+gfIPDmViOUKWx6jXawgKxYRRDkGvkX5Y6P0HWgR4wqNQUKKpH8QFEqUJp3foLqCJYSmz5gaMvusAHJu5VECnuWEZpAdIsJUwZMWo8jIZ+AzwqldwxCkwM5Tyc8Ij1GB2ERwKvD5HfStC71XJehVWeQkuoaUCeqvBYKoGJOimYotZxWFsQOFKwlhcIby2PVEadlmFaSBndO0VeePzpYAb8+Htd2UMqDmRK2H0pqS5eddQ6K2U2lSl2gYtdRjdm5QEXVKxF6HebkwopzJQYerHphZvS5i9Eq65KgBJM2lGTL9ViI/pKHdR172URcCeDwaE7WQHJdQg3sk1UOBJiBZAGnU8rZwQUCSjhnZXKeSaiVrU6D6Mce23i1FUAED6yhEYCZViOUl74wYqXGWWwWaJSFb3R1FSWx1YKxQQWemaVJOHEaxunGUCvcGq5YuKyJupmkquTBYDPtVdhUQT2QRqRFQhrh8IzuByWWorUHgXBEDciyZBq2ai7TO7pdn7e6ETukK+K3AfhOSddupek+OqkQbUBPj26+K6AVyPBrWq2yEG15lnltG2qgQYqkKWsHJNrqpFQo8lz2IjLAsubDjCtkWWNiCB7l1eIRoYjR5uYeDc8MlKiFgm+12Bd0cgcEPIx/pG3/SMKiEw0Xds3U5/UgsltcURjQYOiHmg+oGfqcEmHtRbcLs+synDy4yHhCrv8nsDx/3uQIqFue4vNjWY658iN7c0QGpybGrb2jOPWNQaZju0dgkIWhkHrGcutvSQ7PvVCk60OnlmFSDlhghLkg7bIsHqDSJUYddf7F/XodTTg1BqTLe7b2RwY5nPUaCEV/Br4Y36BQvd4A9eEOboIQESq0u67Qh5fJdosOAaPjukwU4bkmGEwQ2X0XIcJih0Atlz3esZE3oudgJCa1KJ9pTQXybZiWL53Qnr5KAwVTnvD6poxccsam1+qEZ9tUAiH0VSZg80SBrVphGqg0yc3CFnJjRBbXcXsM+xuxTPpWL5apGyhTIgR788cMryqRPi8UpkE+9HFaVxHiQcGmjlpKXdhtLzV49jiw5ETszI+asMs+InQsX2/nMQZYTe/fOd+FZtGkc91QHbw/o9EUb6DamtuvvwQufq+bjWM7Qoyz7Ivx+VSBHA6hO0lc9JbfYbmK+3KWmuY5R7J8gpuLNSzXZJ4bU9Q5WufjxXgbNTjqqHY8FbbAQsqQRgTxvH7IW8H9h3gAqiDKZK0aA9bhVu0BtaE7kzSCny1o89LIbMWQar47vwxOfeb+bzg5CZqfDljQOzd16tZMI22HZmmUcekFOVF259qY6itK0gDng7oljW7jJ/q0CyJkFR+5GTa6W6vb3dOSbT6qzBLE++LxzTfv2h25nXBa95oCZSOgWyRw5Z8sfhK0p19epK0VfdQpR0nyup5ELpO8ufzvRt9NFWORejd6f8k7PeaHyf3MybAUEkLoMrLu4+rpL9y28iiv59Uwg0G7dFeCXeEvx8rorr/gl7rDw6j13FC4rUaKj6Fj1KxL9RD8WWshc9juIOlEn6qo6nmqCbjFFTBFTqu00iR3EDmIHsYNYIVaIFWGD+5McmPd/HDrGxSSI+RV+tXlNyVnxmV22dBO2fhp7FcVP3iIAiAAADl8xCNiP9rYPq4S383t5NYDBsdctoH8i2OXmQcDtToXFjzIkMy1y5sV8Sg+//U4fRLQqttG9SX2OIVlcDbGbH8PCaviVyUAAAUj8x7rvuq6qyJ9yFfcWgH1zv1UA8Pjb4oGREf+8vUWkGAAg+AR0XLITj//bY14EGRr3mZ5uq4oextvMU9dnZ5D7YnBj0Aigq2+9n50mlMGA/mJP9K9Zn5XOiFqP8EmTUKZKQ9fpnkf7Bl3VaQd0nKBTBnhM8Qo6BkZ+X1fCTNkNONJQ7CM2zmSpkVCBiJBIwFPgE2u88cbI2L0LQARgUARfjRBJTf7nCHCfiGeLR4avCYYAcqU41CkAbE9LYCtRh21l5H5v5QQ5vZVnb+1WiUKFVpoNQ6yQDoBy+nHnek10/H6pJj01qlBPr4mvJhWq+arTqIyfHMkyFeTSqpIvV6JELR/x6lTrpViJxnJbl/15ogC+/PkLEEGkp1equ2Z6dWsDrN713fXG27CIBe0cykewXi/dgwfvmEh5BkWyZfhHECHVJF6sS1it4PrZ0S9TLjLV8nRFhXBQMhlhNrfr1qkMrmexi9Prym10TW9Dje+XqcB1m/V4K3qqU5OLOlZXVCtRaqesS+hHuQsemOEKjad1tu8DnJ1zRg+b9LTZVC5c9eLmHXclzjrvAg+evHiv8EmurP6A+n4p7Yqfjy5zwzRbbBXo07qQ9w5z0y3lbgunW1nBPvy4RBWqVKtUq8ZSSZLVSfFeqnpTXMOai26GzH6itz6a15FgDYbtG764nwEG6m+ZQbYp8HmFiRsX3muwoYYZor0OKzW6H+0PhxZZvJ5FrQX5L7NmwzaMOOJh8NOvSMBFCgsqduxtwFtBY7kTxjAjZSmGeWTYbod4Jkx10U20WCedstMuu+2xznqHHSGh5ERhrNEmGG+iEbp6a6RDZJFjlNkEX+0lcuRghu5WiosC8s+IfhYJpCJzTJZgkrvuue/xcHNthb9/fHgSak8EsoT85z1x/q6dyP/SurjP44PdGwP9wxR/k+loyb8HWii692zWB4WYRavQV1T3gpOgrq0NBQ==)format("woff2");font-weight:700;font-display:swap}:root{--bg:#0f0a1e;--panel:#000;--panel-edge:#3f3a63;--lcd:#c4b5fd;--lcd-dim:#7c6cf0;--text:#e2e8f0;--accent:#f97316;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;color:var(--text);overscroll-behavior:none;margin:0;font-family:Silkscreen,ui-monospace,monospace;overflow:hidden}.app{height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);flex-direction:column;display:flex}.panel{background:var(--panel);border-bottom:2px solid var(--panel-edge);grid-template-columns:auto 1fr auto;align-items:center;gap:4px 12px;padding:8px 16px;display:grid}.panel .title{display:none}.panel .row{gap:8px;display:flex}.panel .small{color:var(--lcd-dim);font-size:12px}.panel .score{text-align:right;font-size:22px}.panel .message{grid-column:1/-1;min-height:1.4em;font-size:13px}.panel .keys{display:none}.lcd{color:var(--lcd);letter-spacing:.04em;font-weight:400}.stage{touch-action:none;-webkit-user-select:none;user-select:none;flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative}canvas{display:block}.overlay{background:#0f0a1e99;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:absolute;inset:0}.overlay button{font:inherit;color:#0f0a1e;background:var(--lcd);cursor:pointer;border:0;border-radius:6px;padding:14px 32px;font-size:22px;font-weight:700}.overlay button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.overlay .final{margin:0;font-size:32px}.overlay .hint{color:var(--lcd-dim);margin:0;font-size:12px}.controls{display:none}@media (pointer:coarse){.controls{pointer-events:none;display:block;position:absolute;inset:0}}.controls .pad{flex-direction:column;align-items:center;gap:14px;display:flex;position:absolute;bottom:max(16px,6%)}.controls .pad.left{left:16px}.controls .pad.right{right:16px}.controls button{pointer-events:auto;font:inherit;color:var(--text);border:3px solid var(--btn);background:color-mix(in srgb, var(--btn) 22%, transparent);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;border-radius:50%;font-weight:700}.controls button[data-pressed]{background:color-mix(in srgb, var(--btn) 65%, transparent);color:#0f0a1e}.controls .flip{--btn:var(--accent);width:84px;height:84px;font-size:14px}.controls .nudge{--btn:#22d3ee;width:74px;height:74px;font-size:12px}.controls .launch{--btn:var(--lcd);width:74px;height:74px;font-size:12px}@media (max-aspect-ratio:1){.app[data-touch=on] .stage{padding-bottom:96px}.app[data-touch] .controls .pad{flex-direction:row;align-items:center;bottom:8px}.app[data-touch] .controls .pad.left{flex-direction:row-reverse}.app[data-touch] .controls .pad{gap:8px}.app[data-touch] .controls .pad.left{left:12px}.app[data-touch] .controls .pad.right{right:12px}.app[data-touch] .controls .flip{width:min(84px,22vw);height:min(84px,22vw)}.app[data-touch] .controls .nudge,.app[data-touch] .controls .launch{width:min(74px,19vw);height:min(74px,19vw);font-size:min(12px,3.3vw)}}@media (max-aspect-ratio:1) and (pointer:coarse){.app[data-touch=auto] .stage{padding-bottom:96px}}@media (min-aspect-ratio:1){.app{flex-direction:row-reverse}.panel{border-bottom:0;border-left:2px solid var(--panel-edge);flex-direction:column;flex:none;justify-content:flex-start;align-items:stretch;gap:16px;width:280px;padding:24px 20px;display:flex}.panel .title{color:var(--lcd);font-size:30px;font-weight:700;display:block}.panel .row{justify-content:space-between}.panel .score{font-size:30px}.panel .message{min-height:4em;font-size:15px}.panel .keys{color:var(--lcd-dim);margin-top:auto;font-size:11px;line-height:1.6;display:block}}:root{--panel-top:#2a1d5c;--panel-bottom:#1a1240;--panel-border:#0b0820;--bevel-hi:#4c3a8f;--bevel-lo:#120c2e;--gold:#fde047;--cyan:#22d3ee;--green:#a3e635;--danger:#f87171;--muted:#a5a0c8}#root{flex-direction:column;display:flex}.route{flex-direction:column;flex:1;min-height:0;display:flex}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.pixel-icon{width:100%;height:100%;display:block}.panel-box{background:linear-gradient(var(--panel-top), var(--panel-bottom));border:3px solid var(--panel-border);box-shadow:inset 2px 2px 0 var(--bevel-hi), inset -2px -2px 0 var(--bevel-lo), 0 4px 0 #00000059;border-radius:8px}.lcd{color:var(--lcd)}.dim{color:var(--muted)}.small{font-size:12px}.app-bar{padding:calc(env(safe-area-inset-top) + 8px) calc(env(safe-area-inset-right) + 12px) 8px calc(env(safe-area-inset-left) + 12px);background:linear-gradient(var(--panel-top), var(--panel-bottom));border-bottom:3px solid var(--panel-border);box-shadow:inset 0 -2px 0 var(--bevel-lo);flex:none;justify-content:space-between;align-items:center;gap:8px;display:flex}.bar-logo{font:inherit;color:var(--gold);text-shadow:2px 2px #3b0c49;cursor:pointer;background:0 0;border:0;padding:4px;font-size:20px;font-weight:700}.bar-icons{gap:6px;display:flex}.icon-box{border:2px solid var(--panel-border);width:40px;height:40px;box-shadow:inset 1px 1px 0 var(--bevel-hi);cursor:pointer;background:#120c2e;border-radius:6px;padding:7px}.icon-box[aria-current=page]{box-shadow:inset 0 0 0 2px var(--gold)}@media (max-width:400px){.bar-icons{gap:4px}.bar-logo{font-size:16px}.icon-box{width:36px;height:36px;padding:6px}}.screen{overscroll-behavior:contain;min-height:0;padding:16px max(16px, env(safe-area-inset-right)) calc(32px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));flex:1;overflow-y:auto}.screen-inner{flex-direction:column;gap:16px;max-width:640px;margin:0 auto;display:flex}.screen-head{align-items:center;gap:12px;display:flex}.screen h1{color:var(--gold);text-shadow:2px 2px #3b0c49;margin:0;font-size:26px}.screen h1:focus,.consent-panel h2:focus{outline:none}.bar-wrap{flex:none}.back-btn{border:2px solid var(--panel-border);cursor:pointer;background:#120c2e;border-radius:6px;flex:none;width:40px;height:40px;padding:8px}.subtitle{color:var(--muted);margin:0}.section-title,.panel-title{color:var(--cyan);text-transform:uppercase;margin:8px 0;font-size:15px}.panel-title{margin-top:0}.screen p,.screen li{font-size:14px;line-height:1.6}.about p,.about li,.option p,.recap-who p,.subtitle,.setting-note,.consent-panel p{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px}.screen ul{margin:0;padding-left:20px}.btn{font:inherit;min-height:44px;color:var(--text);border:2px solid var(--panel-border);cursor:pointer;background:linear-gradient(#3f3a63,#2b2552);border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:700;display:inline-flex;box-shadow:inset 1px 1px #6a63a0,0 3px #0006}.btn:active{transform:translateY(2px);box-shadow:inset 1px 1px #6a63a0}.btn:disabled{opacity:.5;cursor:default}.btn.primary{color:#0f0a1e;background:linear-gradient(#fdba74, var(--accent));box-shadow:inset 1px 1px #fed7aa,0 3px #0006}.btn.danger{color:#fff;background:linear-gradient(#b91c1c,#7f1d1d)}.small-btn{min-height:36px;padding:4px 10px;font-size:12px}.actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.error{color:var(--danger)}.home{flex-direction:column;gap:16px;display:flex}.attract{flex-direction:column;flex:1;justify-content:center;align-items:stretch;gap:20px;width:100%;max-width:480px;margin:0 auto;display:flex}.attract-banner{text-align:center}.attract-title{color:var(--gold);text-shadow:3px 3px #f97316,6px 6px #3b0c49;letter-spacing:.04em;margin:0;font-size:clamp(44px,14vw,72px)}.attract-subtitle{color:var(--cyan);text-transform:uppercase;margin:4px 0 0;font-size:13px}.attract-scores{padding:14px}.scores-list{margin:0 0 12px;padding:0;list-style:none}.score-row{width:100%;font:inherit;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px dashed #3f3a63;grid-template-columns:3em 1fr auto;align-items:center;gap:8px;padding:6px 4px;font-size:14px;display:grid}.score-place{color:var(--gold)}.score-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.score-points{color:var(--lcd)}.attract-links{justify-content:center;gap:10px;display:flex}.start-button{font:inherit;color:var(--gold);text-shadow:2px 2px #3b0c49;cursor:pointer;align-self:center;padding:14px 48px;font-size:34px;font-weight:700;animation:1.6s steps(2,end) infinite pulse}@keyframes pulse{50%{color:#fff7c2}}.reduce-motion .start-button{animation:none}.attract-footer{justify-content:space-between;align-items:center;gap:8px;width:100%;max-width:640px;margin:0 auto;padding:8px 12px;font-size:12px;display:flex}.attract-footer>.footer-cell:first-child{text-align:left;flex:auto}.attract-footer>.footer-cell:last-child{flex:none}@media (max-width:420px){.footer-ball{display:none}}.footer-cell{min-height:44px;font:inherit;color:var(--text);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;align-items:center;gap:6px;min-width:0;padding:4px;display:inline-flex;overflow:hidden}button.footer-cell{cursor:pointer}.footer-name{color:var(--gold)}.footer-ball{flex:none;width:22px;height:22px}.recap-who,.profile-summary{align-items:center;gap:12px;display:flex}.recap-who p{margin:0}.final-score{text-align:center;padding:16px}.big-score{font-size:clamp(32px,10vw,48px)}.play-again{min-width:60%;min-height:52px;font-size:18px}.personal-best{color:var(--gold);margin-top:6px}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;display:grid}.stat-item{text-align:center;border:2px solid var(--panel-border);font:inherit;color:var(--text);background:#120c2e;border-radius:6px;flex-direction:column;gap:4px;padding:10px;display:flex}.stat-item.link{cursor:pointer;box-shadow:inset 0 0 0 1px var(--cyan)}.stat-icon{font-size:22px}.stat-label{color:var(--muted);text-transform:uppercase;font-size:12px}.stat-value{color:var(--lcd);font-size:18px}.recap-badges{flex-wrap:wrap;gap:8px;display:flex}.recap-badge{font:inherit;color:var(--gold);border:2px solid var(--gold);cursor:pointer;background:#120c2e;border-radius:6px;padding:8px 12px;font-size:13px}.high-scores{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.hs-row{width:100%;font:inherit;color:var(--text);text-align:left;background:linear-gradient(var(--panel-top), var(--panel-bottom));border:2px solid var(--panel-border);cursor:pointer;border-radius:6px;grid-template-columns:2.2em 40px 1fr auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.hs-row.empty{opacity:.8;cursor:default}.hs-rank{text-align:center;color:var(--gold);font-size:16px}.hs-details{flex-direction:column;min-width:0;display:flex}.hs-player{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hs-date{color:var(--muted);font-size:12px}.hs-points{font-size:15px}@media (max-width:360px){.hs-row{grid-template-columns:2em 40px 1fr}.hs-points{grid-column:3;font-size:13px}}.empty-avatar{border:2px dashed #3f3a63;border-radius:6px;width:40px;height:40px}.avatar{image-rendering:pixelated;object-fit:cover;border-radius:6px;flex:none}.badges-count{margin:0}.screen .badges-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.badge-item{text-align:center;border:2px solid var(--panel-border);background:#120c2e;border-radius:8px;flex-direction:column;gap:6px;padding:12px;display:flex}.badge-item.earned{box-shadow:inset 0 0 0 2px var(--gold)}.badge-item.locked .badge-icon{filter:grayscale();opacity:.55}.badge-icon{font-size:32px}.badge-item h3{color:var(--gold);margin:0;font-size:13px}.badge-item p{color:var(--muted);flex:1;margin:0;font-size:12px;line-height:1.4}.badge-progress{background:#0b0820;border-radius:4px;height:20px;position:relative;overflow:hidden}.progress-bar{background:#7c3aed;height:100%}.badge-item.earned .progress-bar{background:var(--gold)}.badge-item.earned .badge-progress span{color:#0f0a1e;text-shadow:none}.badge-progress span{color:#fff;text-shadow:1px 1px #000;place-items:center;font-size:11px;display:grid;position:absolute;inset:0}.profile-card{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:16px;display:flex}.profile-card p{margin:0}.profile-name{color:var(--gold);margin:0;font-size:18px;display:block}.profile-summary{width:100%;font:inherit;color:var(--text);text-align:left;cursor:pointer;padding:12px}.profile-summary>span{flex-direction:column;display:flex}.name-form,.nostr-form{flex-direction:column;gap:6px;width:100%;display:flex}.nostr-form{padding:16px}.name-form label,.nostr-form label:not(.btn),.nostr-form .label{color:var(--muted);text-transform:uppercase;margin-top:6px;font-size:12px}.screen input[type=text],.screen input:not([type]),.screen textarea{font:inherit;color:var(--text);background:#0b0820;border:2px solid #6b6496;border-radius:6px;padding:10px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:16px}.picture{align-items:center;gap:12px;display:flex}.picture img{object-fit:cover;border-radius:8px}.pubkey{align-items:center;gap:8px;display:flex}.pubkey code{text-overflow:ellipsis;min-width:0;color:var(--green);flex:1;font-size:13px;overflow:hidden}.option{padding:16px}.option p{margin:0 0 12px}.settings-group{flex-direction:column;gap:8px;display:flex}.setting-item{border:2px solid var(--panel-border);background:#120c2e;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:6px 12px;font-size:14px;display:flex}.setting-item input[type=checkbox]{width:24px;height:24px;accent-color:var(--accent)}.volume{align-items:center;gap:8px;display:flex}.volume input{width:min(40vw,180px);accent-color:var(--accent)}.setting-note{color:var(--muted);margin:0;font-size:12px!important}.choice{border:2px solid var(--panel-border);background:#120c2e;border-radius:6px;margin:0;padding:8px 12px 12px}.choice legend{padding:0 4px;font-size:14px}.choice-options{flex-wrap:wrap;gap:8px;display:flex}.choice-options label{cursor:pointer;border:2px solid #6b6496;border-radius:6px;align-items:center;gap:6px;min-height:44px;padding:6px 12px;font-size:13px;display:inline-flex}.choice-options label.on{border-color:var(--accent);color:var(--gold)}.choice-options input{accent-color:var(--accent)}.made-by{color:var(--gold);flex-direction:column;align-items:center;padding:12px;text-decoration:none;display:flex}.badge-toast{bottom:calc(env(safe-area-inset-bottom) + 16px);visibility:hidden;background:linear-gradient(var(--panel-top), var(--panel-bottom));border:3px solid var(--panel-border);width:min(92vw,420px);box-shadow:inset 2px 2px 0 var(--bevel-hi), 0 4px 0 #00000059;z-index:2000;pointer-events:none;border-radius:8px;align-items:center;gap:12px;padding:10px 14px;transition:transform .35s steps(6,end),visibility 0s linear .35s;display:flex;position:fixed;left:50%;transform:translate(-50%,calc(100% + 40px))}.badge-toast.show{visibility:visible;transition:transform .35s steps(6,end),visibility;transform:translate(-50%)}.reduce-motion .badge-toast{transition:none}.toast-icon{width:48px;height:48px;box-shadow:inset 0 0 0 2px var(--gold);background:#120c2e;border-radius:4px;flex:none;place-items:center;font-size:28px;display:grid}.toast-kicker{color:var(--green);text-transform:uppercase;font-size:11px}.toast-title{color:var(--gold);font-size:15px}.toast-desc{color:var(--cyan);font-size:12px}.consent-sheet{z-index:3000;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.consent-backdrop{background:#0b0820b3;position:absolute;inset:0}.consent-panel{width:min(100% - 16px,560px);max-height:90dvh;margin:0 8px calc(8px + env(safe-area-inset-bottom));flex-direction:column;gap:12px;padding:18px;display:flex;position:relative;overflow-y:auto}.consent-panel h2{color:var(--gold);margin:0;font-size:18px}.consent-panel h3{color:var(--cyan);text-transform:uppercase;margin:0;font-size:13px}.consent-panel p{margin:4px 0 0;font-size:13px;line-height:1.5}.consent-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.switch{text-transform:uppercase;cursor:pointer;flex-direction:column;flex:none;align-items:center;gap:4px;font-size:11px;display:flex}.switch input{width:28px;height:28px;accent-color:var(--accent)}.switch.locked{cursor:default;color:var(--muted)}.panel .player{color:var(--muted);display:none}.pause-btn{width:40px;height:40px;font:inherit;color:var(--lcd);border:2px solid var(--panel-edge);cursor:pointer;background:#120c2e;border-radius:6px;font-weight:700;position:absolute;top:8px;right:8px}.panel{padding-right:64px;position:relative}.overlay button.quiet{color:var(--lcd);border:2px solid var(--lcd);background:0 0}@media (min-aspect-ratio:1){.panel .player{display:block}.panel{padding-right:20px;overflow-y:auto}@media (pointer:coarse){.panel .keys{display:none!important}}}.btn:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:2px}@media (orientation:landscape) and (max-height:500px){.attract{grid-template-columns:1fr 1fr;grid-template-areas:"banner scores""start scores";align-items:center;gap:12px 24px;max-width:860px;display:grid}.attract-banner{grid-area:banner}.attract-scores{grid-area:scores}.start-button{grid-area:start;padding:10px 36px;font-size:26px}.attract-title{font-size:40px}}.controls[data-mode=on]{pointer-events:none;display:block;position:absolute;inset:0}.controls[data-mode=off]{display:none!important}
