:root{color-scheme:dark;--bg:#141713;--panel:#1e221b;--text:#f2f1e4;--muted:#969e8c;--line:#353b2e;--accent:#c6ee7a;--gold:#efc36b;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 30%,#242b1e55,transparent 65%),var(--bg);color:var(--text)}button,a,input{ -webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;background:transparent;border:1px solid var(--line);border-radius:6px;padding:10px 15px;transition:background .15s,border .15s}button:hover{background:#c6ee7a10;border-color:#8eaa59}button:focus-visible,a:focus-visible,canvas:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button:disabled{opacity:.35;cursor:default}a{color:var(--accent)}.topbar{height:94px;max-width:1240px;margin:auto;padding:0 38px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);font-size:20px;font-weight:900;letter-spacing:1px}.brand img{width:44px;height:44px;image-rendering:pixelated}.brand small{display:block;font:9px monospace;letter-spacing:2.3px;color:var(--muted);margin-top:5px}nav{display:flex;gap:8px}.nav{border:0;font-size:13px;color:var(--muted);padding:12px 18px}.nav.active{background:var(--panel);color:var(--accent)}.edition{font:10px monospace;letter-spacing:1px;color:var(--muted)}.edition span{color:var(--accent);padding:0 9px}main{max-width:1040px;margin:auto;padding:42px 38px 55px}.page{display:none}.page.active{display:block}.game-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 24px}.eyebrow{font:10px monospace;color:var(--accent);letter-spacing:2.5px;margin:0 0 10px}h1{font-size:34px;letter-spacing:-1px;line-height:1.1;margin:0;font-weight:700}.game-tools{display:flex;gap:7px}.game-tools button{font:11px monospace;padding:10px}.cabinet{position:relative;background:#080a08;border-radius:10px;border:1px solid #4e5542;padding:10px;box-shadow:0 16px 60px #0007,0 0 0 5px #1a1e17;overflow:hidden;width:100%;max-width:964px;margin:auto;aspect-ratio:4/3}canvas{display:block;background:#000;width:100%;height:100%;object-fit:contain;image-rendering:pixelated;outline:none}#loading{position:absolute;inset:10px;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#141713;font:15px monospace;gap:16px}#load-progress{color:var(--accent);font-size:12px}.overlay{position:absolute;inset:10px;display:flex;align-items:center;justify-content:center;background:#0b0e0bd9;backdrop-filter:blur(3px);padding:24px}.overlay[hidden]{display:none}.overlay-card{width:100%;max-width:440px;text-align:center}.overlay-card img.portrait{width:64px;height:64px;image-rendering:pixelated;margin-bottom:12px}.overlay-card .eyebrow{margin-top:0}.overlay-card h2{font-size:34px;margin:10px 0 16px}.overlay-card p{font-size:14px;line-height:1.7;color:#b6bfaa}.overlay-card .actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:22px}.primary{background:var(--accent);color:#18210e;border-color:var(--accent);font-weight:bold}.primary:hover{background:#d5ff8c;color:#18210e}.under-game{display:flex;justify-content:space-between;align-items:center;margin-top:20px;font:11px monospace;color:var(--muted)}.under-game p{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.under-game p span{width:12px}.under-game button{font-size:11px;border:0;padding:7px}kbd{display:inline-block;min-width:21px;text-align:center;border:1px solid #4b5340;border-bottom-width:2px;border-radius:3px;padding:4px 5px;color:#d7ddcd;font:10px monospace;background:#262d20}.intro-strip{margin-top:25px;padding:22px 0 0;border-top:1px solid var(--line);display:flex;align-items:center;gap:16px}.intro-strip img{width:48px;height:48px;image-rendering:pixelated}.intro-strip p{font-size:12px;line-height:1.8;margin:0;max-width:470px;color:var(--muted)}.intro-strip strong{color:var(--text);display:block;font-size:13px}.local-badge{margin-left:auto;font:9px monospace;white-space:nowrap;color:var(--muted)}.local-badge i{display:inline-block;width:5px;height:5px;background:var(--accent);border-radius:50%;margin-right:5px}footer{border-top:1px solid var(--line);max-width:1164px;margin:auto;padding:23px 0;display:flex;justify-content:space-between;font:9px monospace;letter-spacing:1px;color:#bdc5b0}.muted{color:var(--muted)}.section-heading{margin:6px 0 32px}.section-heading h1{font-size:42px}.section-heading>p:last-child{font-size:13px;color:var(--muted);line-height:1.8}.world-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.world-card{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.world-preview{width:100%;aspect-ratio:4/3;display:block;image-rendering:pixelated}.world-card .world-info{padding:17px}.world-info h2{font-size:16px;margin:0 0 6px}.world-info p{font:10px monospace;color:var(--muted);margin:0 0 15px}.rounds{display:flex;gap:5px}.rounds button{padding:7px 0;flex:1;font:10px monospace;border-radius:4px}.rounds button:last-child{color:var(--gold)}.extra-levels{margin-top:25px;border:1px solid var(--line);padding:20px;border-radius:8px;font-size:13px}summary{cursor:pointer}.extra-levels button{margin:18px 8px 0 0;font-size:12px}.asset-stats{display:flex;gap:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;color:var(--muted);font:11px monospace}.asset-stats strong{display:block;font:26px Arial;color:var(--accent);margin-bottom:7px}.asset-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:25px 0}.filters{display:flex;gap:4px;flex-wrap:wrap}.filters button{font-size:11px;border:0;padding:10px}.filters button.active,.guide-tabs .active{color:var(--accent);background:var(--panel)}input,select{background:var(--panel);color:var(--text);border:1px solid var(--line);padding:11px;border-radius:6px;font:12px Arial}input{max-width:200px}.asset-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.asset-card{padding:0;border:1px solid var(--line);border-radius:6px;overflow:hidden;text-align:left;background:#1d221b}.asset-image{height:100px;display:flex;justify-content:center;align-items:center;background:repeating-conic-gradient(#252c22 0% 25%,#20261e 0% 50%) 50%/16px 16px}.asset-image img{max-width:96%;max-height:94px;image-rendering:pixelated;object-fit:contain}.asset-card .meta{display:block;padding:10px;font:10px monospace;color:var(--muted)}.asset-card .meta strong{color:#e4e9dc;font-weight:normal}.asset-card.wide{grid-column:span 2}.asset-card.wide .asset-image{height:160px}.asset-card.wide img{max-height:155px}.asset-card.sound-card{padding:17px;font:12px monospace}.asset-card.sound-card span{display:block;margin:8px 0;color:var(--muted)}.asset-list{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line);font:11px monospace}.asset-list a{font-size:10px}#asset-count{font:11px monospace;margin-top:20px}.control-card{background:var(--panel);border:1px solid var(--line);padding:24px;border-radius:8px;display:grid;grid-template-columns:1fr 1fr;gap:18px}.control-card h2{font-size:15px;margin:0 0 12px}.control-card p{font-size:11px;line-height:2;margin:0}.control-card>.muted{grid-column:1/-1;font-size:12px}.guide-tabs{display:flex;gap:8px;margin:25px 0;flex-wrap:wrap}.guide-tabs button{font-size:12px;border:0}.guide-image{display:block;width:100%;max-width:768px;margin:auto;border-radius:6px;image-rendering:pixelated}.port-note{margin-top:30px;padding-top:20px;border-top:1px solid var(--line)}.port-note h2{font-size:16px}.port-note p{font-size:12px;line-height:1.8;color:var(--muted)}dialog{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:12px;max-width:min(800px,95vw);padding:32px;max-height:90vh}dialog::backdrop{background:#000b}.dialog-close{position:absolute;right:8px;top:8px;border:0;font-size:23px;padding:0 8px}#asset-detail{text-align:center}#asset-detail img{max-width:100%;max-height:68vh;image-rendering:pixelated;min-width:96px}#asset-detail h2{font:16px monospace}#asset-detail p{font:12px monospace;color:var(--muted)}#asset-detail a{display:block;margin-top:20px;font-size:12px}.touch-controls{display:none;justify-content:space-between;margin-top:18px;touch-action:none;user-select:none}.touch-controls>div{display:flex;gap:10px}.touch-controls button{width:64px;height:58px;background:#262d20}.touch-controls .touch-jump{width:90px;border-color:var(--accent);color:var(--accent)}.touch-tnt{color:var(--gold)}.settings label{display:flex;align-items:center;justify-content:space-between;margin:18px 0;font-size:14px}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:var(--accent);color:#18210e;padding:12px 25px;z-index:10;font-size:13px;border-radius:7px;box-shadow:0 5px 30px #0007}.cabinet:fullscreen{background:#000;border:0;border-radius:0;max-width:none;aspect-ratio:auto;padding:0;display:flex;justify-content:center;align-items:center}.cabinet:fullscreen canvas{width:min(100vw,133.333vh);height:min(100vh,75vw)}.cabinet:fullscreen .overlay{inset:0}.scores{list-style:none;padding:0;margin:15px 0}.scores li{display:flex;justify-content:space-between;font:13px monospace;color:var(--accent);padding:10px;border-bottom:1px solid var(--line)}
@media(pointer:coarse){.touch-controls{display:flex}.under-game p{display:none}}@media(min-width:1000px){.cabinet{max-width:850px}.under-game,.intro-strip{max-width:850px;margin-left:auto;margin-right:auto}.game-heading{max-width:850px;margin-left:auto;margin-right:auto}.game-heading h1{font-size:32px}}
@media(max-width:760px){.topbar{height:80px;padding:0 20px;gap:5px}.brand{font-size:15px;letter-spacing:0}.brand img{width:36px;height:36px}.brand small{font-size:7px;letter-spacing:1.4px}.edition{display:none}.nav{padding:10px;font-size:11px}nav{gap:0}main{padding:28px 18px 40px}h1,.game-heading h1{font-size:25px}.game-heading{align-items:flex-end}.game-tools button{font-size:9px;padding:8px 6px}.eyebrow{font-size:8px;letter-spacing:1.5px}.cabinet{padding:5px;border-radius:6px}.overlay{inset:5px;padding:15px}.overlay-card h2{font-size:24px}.overlay-card p{font-size:11px}.overlay-card img.portrait{width:38px;height:38px;margin:0}.overlay-card .actions{margin-top:12px;gap:6px}.overlay-card button{font-size:11px;padding:9px}.intro-strip{gap:10px}.intro-strip p{font-size:11px}.local-badge{display:none}.under-game{font-size:9px}.under-game kbd{font-size:8px;padding:2px;min-width:17px}.under-game p{gap:4px}.under-game p span{width:3px}footer{margin:0 18px;padding:20px 0;font-size:7px}.world-grid{grid-template-columns:repeat(2,1fr);gap:12px}.world-info h2{font-size:14px}.asset-stats{gap:20px;flex-wrap:wrap}.asset-stats strong{font-size:22px}.asset-toolbar{align-items:stretch;flex-direction:column}.asset-toolbar input{max-width:100%}.asset-grid{grid-template-columns:repeat(4,1fr);gap:8px}.asset-image{height:75px}.asset-image img{max-height:72px}.control-card{grid-template-columns:1fr}.section-heading h1{font-size:32px}}
@media(max-width:430px){.topbar{padding:0 12px}.brand img{display:none}.nav{padding:10px 8px}.game-tools button{padding:6px 4px;font-size:8px}.asset-grid{grid-template-columns:repeat(3,1fr)}.overlay-card h2{font-size:21px}.overlay-card p{line-height:1.5}.overlay-card .eyebrow{margin-bottom:4px}.intro-strip p{font-size:10px}.touch-controls button{height:50px;width:55px}.world-card .world-info{padding:12px}}

.multiplayer-bar,.online-panel,.player-two-controls{max-width:850px;margin:0 auto 18px}.multiplayer-bar{display:flex;flex-direction:column;gap:8px}.multiplayer-bar .eyebrow{margin:0}.multiplayer-bar>div{display:flex;flex-wrap:wrap;gap:8px}.multiplayer-bar button{font-size:11px;padding:9px 12px}.online-panel{background:#222c1a;border:1px solid #536e35;border-radius:8px;padding:16px}.online-panel[hidden],.player-two-controls[hidden]{display:none}.room-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.room-heading strong{font-size:13px;color:var(--accent)}.room-heading button{font-size:11px;padding:7px}.online-panel p{font-size:12px;line-height:1.6;color:var(--muted)}.invite-row{display:flex;gap:8px}.invite-row input{max-width:none;min-width:0;flex:1;font:11px monospace}.invite-row button{font-size:11px}.online-panel small{display:block;margin-top:9px;font:10px monospace;color:var(--muted)}.player-two-controls{font-size:11px;color:var(--muted);line-height:1.8}.overlay-card #join-invite{max-width:100%;width:100%}@media(max-width:430px){.multiplayer-bar button{padding:8px;font-size:10px}.invite-row{flex-direction:column}}
