:root{color-scheme:dark;--bg:#0b0f1a;--panel:rgba(17,22,38,.85);--panel-border:rgba(140,160,255,.2);--text:#e8ecff;--muted:#a3adcf;--accent:#7aa2ff;--accent-strong:#9cc0ff;--glow:rgba(122,162,255,.35)}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,sans-serif;background:radial-gradient(circle at top,#182141 0,#0b0f1a 55%,#070b14 100%);color:var(--text)}.app-shell,body{min-height:100vh}.app-shell{display:flex;flex-direction:column}.container{width:min(1100px,92vw);margin:0 auto;padding:48px 0 64px}.hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:32px;gap:32px;align-items:center}.card{background:var(--panel);border:1px solid var(--panel-border);border-radius:24px;padding:28px;box-shadow:0 20px 40px rgba(0,0,0,.35);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.card h1{margin:0 0 12px;font-size:clamp(2rem,3vw,3rem);letter-spacing:-.02em}.card p{color:var(--muted);line-height:1.6}.pill{display:inline-flex;align-items:center;gap:8px;background:rgba(122,162,255,.16);border:1px solid rgba(122,162,255,.45);padding:6px 14px;border-radius:999px;font-size:.85rem}.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.button{background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:#081027;padding:12px 20px;border-radius:999px;border:none;font-weight:600;cursor:pointer;box-shadow:0 12px 24px var(--glow);transition:transform .15s ease}.button:hover{transform:translateY(-1px)}.button.secondary{background:transparent;color:var(--text);border:1px solid rgba(122,162,255,.4);box-shadow:none}.input{width:100%;padding:12px 16px;border-radius:14px;border:1px solid rgba(122,162,255,.35);background:rgba(7,12,26,.7);color:var(--text);font-size:1rem}.input::placeholder{color:rgba(163,173,207,.7)}.video-shell{position:relative;height:min(70vh,720px);border-radius:28px;overflow:hidden;border:1px solid rgba(122,162,255,.2);background:rgba(7,12,26,.9)}.video-remote{width:100%;height:100%;object-fit:cover;background:#04070f}.video-local{position:absolute;bottom:20px;right:20px;width:min(32vw,220px);aspect-ratio:16/9;border-radius:18px;border:2px solid rgba(122,162,255,.45);overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,.5);background:#0a0f1f}.video-local video{width:100%;height:100%;object-fit:cover}.controls{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.share-card{margin-top:18px;display:grid;grid-gap:12px;gap:12px}.share-row{gap:10px;align-items:center}.share-actions,.share-row{display:flex;flex-wrap:wrap}.share-actions{gap:12px}.share-card a{color:#c6d4ff;text-decoration:none}.share-card a:hover{text-decoration:underline}.status{margin-top:16px;color:var(--muted);font-size:.95rem}.badge{display:inline-flex;gap:8px;padding:6px 12px;border-radius:999px;border:1px solid rgba(122,162,255,.3);background:rgba(122,162,255,.12);font-size:.85rem}.badge,.shell{align-items:center}.shell{min-height:100vh;display:flex;justify-content:center;padding:48px 16px 64px}.rogue-wrap{width:min(980px,96vw);display:grid;grid-gap:28px;gap:28px}.rogue-header{text-align:center}.rogue-title{margin:0 0 10px;font-size:clamp(2.2rem,4vw,3.4rem);letter-spacing:-.03em}.rogue-subtitle{margin:0 auto;max-width:640px;color:var(--muted);line-height:1.6}.terminal{background:rgba(5,10,22,.9);border-radius:24px;border:1px solid rgba(122,162,255,.25);padding:28px;box-shadow:inset 0 0 25px rgba(0,0,0,.6);display:grid;grid-gap:20px;gap:20px}.rogue-top{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:16px;gap:16px}.stat-block{background:rgba(10,16,30,.8);border:1px solid rgba(122,162,255,.18);border-radius:18px;padding:16px;color:var(--muted);font-size:.95rem}.stat-block ul{margin:8px 0 0;padding-left:18px;line-height:1.5}.stat-title{color:var(--text);font-weight:600}.stat,.stat-title{margin-bottom:6px}.grid{grid-template-columns:repeat(18,minmax(0,1fr));grid-gap:6px;gap:6px;font-family:JetBrains Mono,SFMono-Regular,ui-monospace,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1rem;text-transform:uppercase}.cell,.grid{display:grid}.cell{place-items:center;height:clamp(18px,2.2vw,26px);color:rgba(227,233,255,.7);background:rgba(8,12,26,.8);border-radius:6px;box-shadow:inset 0 0 8px rgba(0,0,0,.6)}.cell.wall{color:#c0ccff;background:rgba(48,65,122,.85)}.cell.hero{color:#081027;background:linear-gradient(135deg,#7aa2ff,#9cc0ff);box-shadow:0 0 16px rgba(122,162,255,.6)}.cell.monster{color:#ffccd5;background:rgba(147,52,79,.85)}.cell.item{color:#ffe29f;background:rgba(139,105,43,.9)}.legend{gap:12px;color:var(--muted);font-size:.95rem}.controls-row,.legend{display:flex;flex-wrap:wrap;justify-content:center}.controls-row{gap:10px}.game-over{text-align:center;font-weight:600;color:#ffccd5;display:flex;flex-direction:column;align-items:center;gap:12px}.restart-btn{font-size:.9rem;padding:10px 24px}.monster-badge{background:rgba(147,52,79,.4)!important;border-color:rgba(255,100,130,.4)!important;color:#ffccd5!important}.item-badge{background:rgba(139,105,43,.4)!important;border-color:rgba(255,200,80,.4)!important;color:#ffe29f!important}.mobile-stats{display:none}.hp-bar-wrap{position:relative;flex:1 1;height:28px;background:rgba(8,12,26,.8);border-radius:14px;border:1px solid rgba(122,162,255,.2);overflow:hidden}.hp-bar{height:100%;border-radius:14px;transition:width .3s ease,background .3s ease}.hp-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;color:var(--text);text-shadow:0 1px 4px rgba(0,0,0,.8)}.mobile-stat{font-size:.85rem;font-weight:600;color:var(--muted);white-space:nowrap}.sound-toggle{border:1px solid rgba(122,162,255,.3);background:rgba(8,12,26,.7);color:var(--text);border-radius:999px;width:36px;height:28px;display:inline-flex;align-items:center;justify-content:center;font-size:.9rem;cursor:pointer;transition:background .15s ease,transform .15s ease}.sound-toggle.on{background:rgba(122,162,255,.2);box-shadow:0 0 8px rgba(122,162,255,.4)}.sound-toggle:active{transform:scale(.96)}.mobile-log{display:none}.log-line{font-size:.8rem;color:var(--muted);line-height:1.4;padding:2px 0;border-bottom:1px solid rgba(122,162,255,.08)}.log-line:last-child{border-bottom:none;color:var(--text)}.dpad{display:none;grid-template-areas:".    up   ." "left .    right" ".    down .";grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr 1fr 1fr;width:min(200px,50vw);height:min(200px,50vw);margin:0 auto;gap:6px}.dpad-btn{display:grid;place-items:center;background:rgba(122,162,255,.12);border:1px solid rgba(122,162,255,.3);border-radius:14px;color:var(--text);font-size:1.4rem;cursor:pointer;transition:background .1s,transform .1s;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dpad-btn:active{background:rgba(122,162,255,.35);transform:scale(.92)}.dpad-up{grid-area:up}.dpad-down{grid-area:down}.dpad-left{grid-area:left}.dpad-right{grid-area:right}.desktop-only{display:grid}.mobile-only{display:none}@media (max-width:700px){.container{padding:16px 0 24px}.video-shell{height:56vh}.video-local{width:40vw}.shell{padding:4px 4px 8px;align-items:flex-start;min-height:auto;height:100vh;height:100dvh;overflow:hidden}.rogue-wrap{gap:4px;width:100%;max-width:100%;display:flex;flex-direction:column;height:100%}.rogue-header{display:none}.terminal{padding:6px;gap:4px;border-radius:12px;flex:1 1;display:flex;flex-direction:column;min-height:0}.desktop-only{display:none!important}.mobile-only{display:grid!important}.mobile-stats{display:flex;align-items:center;gap:8px;padding:4px 0;flex-shrink:0}.hp-bar-wrap{height:22px}.hp-label{font-size:.7rem}.mobile-stat{font-size:.75rem}.sound-toggle{width:30px;height:22px;font-size:.8rem}.mobile-log{display:block;background:rgba(10,16,30,.6);border-radius:8px;padding:4px 8px;flex-shrink:0}.log-line{font-size:.7rem;line-height:1.3;padding:1px 0}.dpad{display:grid;width:min(140px,35vw);height:min(140px,35vw);grid-gap:4px;gap:4px;flex-shrink:0;margin:4px auto}.dpad-btn{border-radius:10px;font-size:1rem}.grid{gap:1px;font-size:clamp(.5rem,2.2vw,.75rem);flex:1 1}.cell,.grid{min-height:0}.cell{height:auto;aspect-ratio:1;border-radius:2px}.legend{gap:4px 8px;padding:4px 0;flex-shrink:0}.badge,.legend{font-size:.65rem}.badge{padding:2px 5px}.stat-block{padding:12px}.game-over{gap:6px;padding:4px;flex-shrink:0}.game-over span{font-size:.85rem}.restart-btn{font-size:.75rem;padding:6px 16px}}