:root{--doom-red: #c01616;--doom-red-dark: #570000;--doom-red-hot: #ff3434;--doom-metal: #777;--doom-steel: #191919;--doom-paper: #f2f2f2;--doom-muted: #a7a7a7;color:#f5f5f5;background:#030303;font-family:Arial Narrow,Impact,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{min-width:320px;height:100vh;margin:0;overflow:hidden;background:radial-gradient(circle at 50% -20%,rgba(120,0,0,.22),transparent 30rem),linear-gradient(180deg,#090909,#020202)}button,select,input{font:inherit}button,select{color:var(--doom-paper);background:linear-gradient(180deg,#2b2b2b,#101010 44%,#050505);border:2px solid var(--doom-metal);border-radius:0;box-shadow:inset 0 1px #ffffff2e,0 2px #050302}button{cursor:pointer;padding:.45rem .75rem;text-transform:uppercase;letter-spacing:.08em;font-family:Impact,Arial Black,Arial Narrow,sans-serif;font-size:.82rem;font-weight:900;text-shadow:2px 2px 0 #000}button:hover:not(:disabled),select:hover:not(:disabled){border-color:#c01818;filter:brightness(1.12)}button:disabled,select:disabled{cursor:not-allowed;color:#776b5b;border-color:#3b332c}select,input{min-height:2rem;padding:.35rem .5rem}#root{width:100%;height:100vh;overflow:hidden}.app-shell{display:flex;flex-direction:column;width:min(1500px,calc(100vw - 12px));height:100vh;margin:0 auto;padding:.45rem 0 .25rem;overflow:hidden}.app-main{flex:1;min-height:0;overflow:hidden}.hero{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-shrink:0;margin-bottom:0;min-height:3rem;padding:.35rem .65rem;overflow:visible;border:2px solid #202020;border-bottom:none;background:linear-gradient(90deg,#080808fa,#3c0000c2),repeating-linear-gradient(0deg,rgba(255,255,255,.04) 0 1px,transparent 1px 6px);box-shadow:inset 0 0 0 1px #000,0 2px 8px #00000059}.hero--compact{min-height:2.35rem;padding:.2rem .55rem}.hero--compact .doom-wordmark-logo{height:1.75rem;max-width:4.5rem}.hero--compact .doom-wordmark-sub{font-size:.62rem;padding:.14rem .28rem .12rem}.hero--compact .mode-tabs button{padding:.22rem .45rem;font-size:.66rem}.hero--hidden{display:none}.hero-brand{display:flex;align-items:center;gap:.65rem;flex:1;min-width:0}.hero-meta{display:flex;flex-direction:column;justify-content:center;gap:.05rem;min-width:0}.hero-copy{display:grid;gap:.15rem;min-width:0}.eyebrow,.loader-kicker{color:#f4f4f4;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.62rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.doom-wordmark{display:flex;flex-shrink:0;align-items:center;gap:.35rem;margin:0;padding:.1rem 0;line-height:0;overflow:visible}.doom-wordmark-logo{display:block;flex-shrink:0;width:auto;height:2.35rem;max-width:5.5rem;object-fit:contain;object-position:left center;image-rendering:pixelated;image-rendering:crisp-edges}.doom-wordmark-sub{display:inline-flex;align-items:center;align-self:center;padding:.2rem .38rem .16rem;color:#fff;background:linear-gradient(180deg,var(--doom-red) 0%,var(--doom-red-dark) 100%);border:2px solid #230000;font-family:Impact,Arial Black,Arial Narrow,sans-serif;font-size:.72rem;line-height:1;letter-spacing:.08em;text-shadow:1px 1px 0 #000;box-shadow:inset 0 1px #ffffff40,0 2px #080000}.hero-tagline,.hero p{max-width:none;margin:0;color:#b8b8b8;font-family:Arial Narrow,Arial,sans-serif;font-size:.72rem;line-height:1.25;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mode-tabs{display:flex;flex-shrink:0;align-items:center;gap:.3rem}.mode-tabs button{padding:.32rem .55rem;font-size:.72rem}.mode-tabs button.active,.doom-button:not(.secondary),.music-toggle.active{color:#fff;background:linear-gradient(180deg,var(--doom-red-hot),var(--doom-red-dark));border-color:#f1f1f1}.music-status{display:flex;flex-wrap:wrap;gap:.45rem .65rem;align-items:center;padding:.45rem .55rem;color:#d8d8d8;border:2px solid #252525;background:#050505;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem}.music-status--inline{display:flex;flex-wrap:nowrap;align-items:center;gap:.35rem .5rem;margin-left:0;padding:.22rem .38rem;color:#d8d8d8;border:1px solid #2a2a2a;background:#050505;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem;white-space:nowrap;max-width:min(28rem,42vw)}.music-status--inline strong{color:#fff;font-weight:700;overflow:hidden;text-overflow:ellipsis;max-width:12rem}.music-viz{display:block;flex-shrink:0;width:88px;height:20px;border:1px solid #2a2a2a;background:#030303;box-shadow:inset 0 0 0 1px #000,inset 0 1px #ffffff0a;image-rendering:pixelated;image-rendering:crisp-edges}.icon-button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.85rem;min-height:1.85rem;padding:0}.icon-button .mute-icon{display:block}.music-mute,.sfx-mute{color:#9a9a9a}.music-mute.active,.sfx-mute.active{color:#fff}.music-status--compact{flex-shrink:0;padding:.35rem .5rem}.music-status--compact button{padding:.35rem .55rem;font-size:.68rem}.music-status div{display:grid;gap:.2rem}.music-status span{color:#ff3030;font-weight:900}.music-status strong{color:#fff}.doom-panel{border:3px solid #191919;background:linear-gradient(180deg,#070707f2,#000000f2),repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 1px,transparent 1px 7px);box-shadow:inset 0 0 0 2px #000,0 18px 60px #0000006b}.app-main>.doom-panel,.app-main>.level-viewer-shell{height:100%;min-height:0}.level-viewer-shell{display:flex;flex-direction:column;height:100%;min-height:0;min-width:0;position:relative}.level-viewer-shell>.level-viewer{flex:1;width:100%;min-width:0}.layer-rail{position:absolute;left:0;top:0;bottom:0;z-index:40;display:flex;flex-direction:row;align-items:stretch;min-height:0;pointer-events:none}.layer-rail__toggle,.layer-rail__drawer{pointer-events:auto}.layer-rail__toggle{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:.35rem;width:2.45rem;padding:.55rem .3rem;border:none;border-right:1px solid #222;background:#0a0a0aeb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#ddd;font-family:Arial Narrow,Arial,sans-serif;font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;flex-shrink:0}.layer-rail__toggle--open,.layer-rail__toggle:hover:not(:disabled){color:#fff;background:linear-gradient(180deg,#2a0808,#140404);border-right-color:#c01818}.layer-rail__toggle-bars{display:inline-flex;flex-direction:column;justify-content:center;gap:3px;width:.85rem;height:.75rem}.layer-rail__toggle-bars span{display:block;height:2px;background:currentColor;border-radius:1px}.layer-rail__toggle-label{writing-mode:vertical-rl;transform:rotate(180deg);line-height:1}.layer-rail__toggle-hint{writing-mode:vertical-rl;transform:rotate(180deg);max-height:5.5rem;overflow:hidden;text-overflow:ellipsis;color:#777;font-size:.52rem;font-weight:400;letter-spacing:0;text-transform:none}.level-viewer-shell--playing .layer-rail__toggle-hint{display:none}.layer-rail__drawer{flex-shrink:0;width:0;overflow:hidden;transition:width .2s ease}.layer-rail__drawer--open{width:min(15.5rem,38vw);border-right:1px solid #2a2a2a;box-shadow:4px 0 28px #000000b8;background:#040404f0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.level-viewer{position:relative;display:flex;flex-direction:column;gap:0;height:100%;min-height:0;padding:.3rem;overflow:hidden}.level-viewer__body{display:flex;flex:1;min-height:0;overflow:hidden;border:2px solid #202020;border-top:none;background:#030303}.level-viewer__main{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;overflow:hidden}.voxel-viewer{display:flex;flex-direction:column;gap:.28rem;height:100%;min-height:0;padding:.3rem;overflow:hidden}.voxel-toolbar{display:flex;flex-wrap:wrap;gap:.25rem .35rem;align-items:center;flex-shrink:0;padding:.22rem .3rem;border:1px solid #252525;background:#050505}.voxel-toolbar .doom-button{padding:.32rem .55rem;font-size:.72rem}.voxel-toolbar .doom-field--inline select{min-width:9rem;max-width:14rem}.voxel-toolbar .doom-field--file input[type=file]{max-width:9.5rem;padding:.22rem .35rem;font-size:.68rem}.doom-check--compact{min-height:0;padding:.22rem .4rem;gap:.35rem;border-width:1px;font-size:.68rem;letter-spacing:.03em}.voxel-status--inline{flex:1 1 12rem;min-width:0;margin:0;padding:.28rem .45rem;font-size:.68rem;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.voxel-stage{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:.45rem}.voxel-preview-card{margin:0;padding:.3rem;border:2px solid #202020;background:#030303}.voxel-preview-card__caption{display:flex;flex-wrap:wrap;gap:.35rem .65rem;align-items:baseline;margin:0 0 .35rem;color:#fff;font-family:Impact,Arial Black,Arial Narrow,sans-serif;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;text-shadow:1px 1px 0 #000}.voxel-preview-card__caption span{color:#9a9a9a;font-family:Arial Narrow,Arial,sans-serif;font-size:.65rem;font-weight:400;letter-spacing:.02em;text-transform:none;text-shadow:none}.voxel-preview-card canvas{display:block;width:100%;max-width:720px;height:auto}.level-controls{display:flex;flex-wrap:wrap;gap:.4rem .65rem;align-items:end;flex-shrink:0}.level-chrome{flex-shrink:0;padding:.35rem .55rem;border:2px solid #202020;border-top:1px solid #2a2a2a;background:#060606;box-shadow:inset 0 1px #ffffff0a}.level-chrome__row{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .75rem}.level-chrome__selects{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .65rem;min-width:0}.level-chrome__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.level-chrome__audio{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;margin-left:auto}.control-field{display:inline-flex;align-items:center;gap:.35rem;min-width:0}.control-field__label{flex-shrink:0;width:2.75rem;color:#777;font-family:Arial Narrow,Arial,sans-serif;font-size:.62rem;font-weight:700;letter-spacing:.07em;text-align:right;text-transform:uppercase}.control-field__input{min-width:0;min-height:1.65rem;padding:.18rem .35rem;font-size:.74rem;border-width:1px}.control-field__input--map{width:5.5rem}.control-field__input--engine{width:9.5rem}.segmented-control{display:inline-flex;border:1px solid #444;background:#0a0a0a}.segmented-control button{margin:0;padding:.22rem .55rem;min-height:1.65rem;font-size:.68rem;letter-spacing:.05em;border:none;border-radius:0;box-shadow:none;background:transparent;color:#aaa}.segmented-control button+button{border-left:1px solid #444}.segmented-control button.active{color:#fff;background:linear-gradient(180deg,var(--doom-red-hot),var(--doom-red-dark))}.segmented-control button:disabled{opacity:.45}.chrome-btn{min-height:1.65rem;padding:.22rem .55rem;font-size:.68rem;letter-spacing:.04em;border-width:1px;box-shadow:none}.chrome-btn--ghost{color:#aaa;background:#111;border-color:#333}.audio-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.12rem .35rem .12rem .15rem;border:1px solid #2a2a2a;background:#080808;min-height:1.65rem}.audio-chip__btn{display:inline-flex;align-items:center;justify-content:center;width:1.55rem;height:1.55rem;padding:0;border:1px solid #333;border-radius:0;box-shadow:none;background:#141414;flex-shrink:0}.audio-chip__btn.active{border-color:#c01818;background:linear-gradient(180deg,var(--doom-red-hot),var(--doom-red-dark))}.audio-chip__btn:disabled{opacity:.4}.audio-chip__label{color:#666;font-size:.58rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.audio-chip__status{color:#ccc;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.62rem;max-width:5.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audio-chip .music-viz{width:48px;height:14px}.level-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.35rem .5rem;flex-shrink:0;padding:.28rem .35rem;border:1px solid #252525;background:#050505}.level-toolbar__group{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .4rem;min-width:0}.level-toolbar__group--wad{align-items:center;gap:.45rem .55rem}.level-toolbar__selectors{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.35rem .5rem}.level-toolbar__selectors .doom-field--inline{display:grid;gap:.15rem}.level-toolbar__selectors .doom-field--inline span{line-height:1}.level-toolbar__wad-actions{display:flex;align-items:center;gap:.3rem .4rem;flex-shrink:0}.level-toolbar__music,.level-toolbar__sfx{align-items:flex-end;gap:.4rem .5rem;flex-wrap:nowrap}.level-toolbar__group--end{margin-left:auto}.music-status--inline button{padding:.28rem .45rem;font-size:.64rem;flex-shrink:0}.music-status--inline span{color:#ff3030;font-weight:900;flex-shrink:0}.doom-field--inline{display:inline-flex;align-items:center;gap:.35rem}.doom-field--inline span{margin:0}.doom-field--inline select{min-width:7.5rem}.doom-field{display:grid;gap:.2rem}.doom-field span{color:#fff;font-family:Impact,Arial Black,Arial Narrow,sans-serif;font-size:.68rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;text-shadow:1px 1px 0 #000}.doom-field select{min-width:120px}.doom-field.compact input{width:74px}.doom-check{display:inline-flex;align-items:center;gap:.45rem;min-height:2.55rem;padding:.55rem .7rem;color:#fff;border:2px solid #3d3d3d;background:#080808;font-family:Arial Narrow,Arial,sans-serif;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.doom-check input,.doom-field input[type=checkbox]{accent-color:var(--doom-red)}.doom-field input,.doom-field input[type=file]{color:#eee;background:#080808;border:2px solid #3d3d3d}.voxel-status,.voxel-help{margin:0;padding:.75rem;border:2px solid #252525;background:#050505;font-family:Courier New,ui-monospace,monospace}.voxel-status{color:#fc6}.voxel-status.ready{color:#f4f4f4;border-color:#5c0000;box-shadow:inset 0 0 0 1px #160000}.voxel-help{color:#b8b8b8}.voxel-projections{display:flex;flex-wrap:wrap;gap:.75rem}.voxel-projections figure{padding:.5rem;border:2px solid #202020;background:#030303}.voxel-projections figcaption{margin-bottom:.4rem;color:#fff;font-family:Impact,Arial Black,Arial Narrow,sans-serif;letter-spacing:.08em;text-transform:uppercase;text-shadow:2px 2px 0 #000}.doom-loader{display:grid;gap:.25rem;flex-shrink:0;padding:.3rem .4rem;color:#fff;border:1px solid #262626;background:linear-gradient(180deg,#000000fa,#050505fa),repeating-linear-gradient(180deg,rgba(255,255,255,.035) 0 1px,transparent 1px 4px);font-family:Courier New,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem;image-rendering:pixelated}.doom-loader--compact.is-settled{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem .55rem;padding:.22rem .35rem}.doom-loader--compact.is-settled:before{display:inline-block;margin-bottom:0}.doom-loader--compact.is-settled .loader-header{flex:1;min-width:0;align-items:center}.doom-loader--compact.is-settled .loader-status-line{flex-basis:100%;min-height:auto;padding-top:0}.doom-loader--compact.is-settled .loader-title-group{display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem .55rem}.doom-loader--compact.is-settled .loader-kicker{margin-right:0}.doom-loader--compact.is-settled .loader-header h2{margin:0;font-size:.78rem}.doom-loader--compact.is-settled .wad-stats--inline{display:inline-flex;flex-wrap:wrap;gap:.3rem .5rem;padding:0;border-top:none}.doom-loader--compact.is-settled .cache-badge{padding:.18rem .35rem;font-size:.64rem}.level-toolbar .doom-button{padding:.32rem .55rem;font-size:.74rem;min-height:1.75rem}.level-toolbar select{min-height:1.75rem;padding:.22rem .4rem;font-size:.78rem}.doom-loader--compact.ready .loader-header h2,.doom-loader--compact.cache-hit .loader-header h2{font-size:.88rem}.doom-loader--compact.map-loading .loader-segmented-bar{display:grid}.doom-loader--compact.map-loading .loader-status-line{display:block}.doom-loader:before{content:"DOOM WAD STARTUP";display:inline-block;width:fit-content;padding:.08rem .3rem;color:#fff;background:var(--doom-red);box-shadow:6px 0 #7b0000,12px 0 #4c0000;font-size:.58rem;font-weight:900;letter-spacing:.06em;line-height:1.2}.doom-loader--compact.ready:before,.doom-loader--compact.cache-hit:before{font-size:.58rem}.loader-header{display:flex;gap:.65rem;align-items:flex-start;justify-content:space-between}.loader-title-group{min-width:0}.loader-header h2{margin:.05rem 0 0;color:#fff;text-transform:uppercase;font-size:.82rem;line-height:1.15}.loader-header p{margin:.15rem 0 0;color:#dcdcdc;font-size:.66rem}.cache-badge{align-self:start;flex-shrink:0;padding:.22rem .4rem;color:#fff;border:1px solid #9f0000;background:#300;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem;font-weight:900;line-height:1.2}.doom-loader.error .cache-badge{color:#fff;border-color:#ff3030;background:#7a0000}.loader-segmented-bar{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.2rem;align-items:stretch}.loader-segment{display:flex;flex-direction:column;gap:.15rem;min-width:0}.loader-segment__label{color:#d8d8d8;font-size:.58rem;font-weight:700;letter-spacing:.02em;line-height:1;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loader-segment__track{display:block;height:.55rem;border:1px solid #510000;background:#120000;overflow:hidden}.loader-segment__fill{display:block;height:100%;background:repeating-linear-gradient(90deg,#5a0000 0,#5a0000 6px,#170000 6px,#170000 12px);transition:width .18s ease-out}.loader-segment.active .loader-segment__label{color:#fff}.loader-segment.active .loader-segment__fill{background:repeating-linear-gradient(90deg,#d40000 0,#d40000 6px,#8a0000 6px,#8a0000 12px);animation:loader-segment-pulse .9s ease-in-out infinite alternate}.loader-segment.complete .loader-segment__label{color:#fff}.loader-segment.complete .loader-segment__fill{background:repeating-linear-gradient(90deg,#ff3030 0,#ff3030 6px,#b00000 6px,#b00000 12px)}.loader-segment+.loader-segment .loader-segment__track{box-shadow:-1px 0 #ffffff0f}.loader-status-line{min-height:1rem;padding:.15rem .2rem 0;color:#ececec;font-size:.62rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loader-status-line:before{content:">";margin-right:.35rem;color:#c40000;font-weight:900}.loader-status-line.error-line{color:#ff5050}@keyframes loader-segment-pulse{0%{filter:brightness(.92)}to{filter:brightness(1.12)}}.wad-stats--inline{display:flex;flex-wrap:wrap;gap:.35rem .65rem;padding-top:.15rem;border-top:1px solid #290000}.wad-stats--inline span{display:inline-flex;align-items:center;min-height:auto;padding:0;color:#e8e8e8;font-size:.62rem}@media (max-width: 720px){.loader-segmented-bar{grid-template-columns:repeat(3,minmax(0,1fr))}}.app-shell--playing{width:100vw;max-width:none;height:100vh;padding:.15rem .2rem 0;margin:0}.app-shell--playing .app-main>.level-viewer-shell{border:none;box-shadow:none}.app-shell--playing .app-main>.doom-panel{border:none;box-shadow:none;padding:0}.level-viewer--playing{gap:0;padding:0}.level-viewer--playing .level-chrome{padding:.22rem .4rem}.level-viewer--playing .control-field__input--engine{width:8rem}.level-viewer--playing .level-controls,.level-viewer--playing .doom-loader,.level-viewer--playing .game-card__caption{display:none}.level-viewer--playing.level-viewer--loading .doom-loader{display:block}.game-stage{flex:1;min-height:0;display:flex}.game-stage .game-card{flex:1;width:100%;min-height:0}.game-stage .game-card__viewport{min-height:0;height:100%}.level-viewer--playing .game-stage{height:100%}.level-viewer--playing .game-card{flex:1;border:none;grid-template-rows:minmax(0,1fr)}.level-viewer--playing .game-card__viewport{min-height:0;height:100%}.game-canvas,.automap-canvas,.bsp-debug-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.game-canvas{z-index:1}.game-canvas--automap{visibility:hidden}.game-canvas--bsp-debug{opacity:.35}.game-canvas--hidden{visibility:hidden;pointer-events:none}.gzdoom-wasm-capture-canvas{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.game-card__viewport canvas.gzdoom-wasm-play-canvas{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:auto;height:auto;max-width:100%;max-height:100%;aspect-ratio:4 / 3;object-fit:contain;display:block;z-index:5;image-rendering:pixelated;background:#000}.gzdoom-wasm-frame{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;image-rendering:pixelated;z-index:4;background:#000}.level-viewer--gzdoom-loading .game-stage,.level-viewer--gzdoom-loading .game-card__viewport{flex:1;min-height:min(70vh,calc(100vh - 8rem))}.level-viewer[data-map-load-state=ready] .game-stage{flex:1;min-height:min(75vh,calc(100vh - 7rem))}.level-viewer--gzdoom-gold .game-stage,.level-viewer--playing .game-stage{flex:1;min-height:min(80vh,calc(100vh - 4rem))}.level-viewer--gzdoom-gold .game-card__viewport{min-height:min(80vh,calc(100vh - 5rem))}.level-viewer--playing.level-viewer--gzdoom-gold .game-stage{min-height:min(85vh,calc(100vh - 3rem))}.gzdoom-play-loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:12;display:flex;align-items:center;justify-content:center;color:#9fd3ff;background:#000000d1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;pointer-events:none}.game-card__viewport canvas.gzdoom-wasm-play-canvas--loading{opacity:0;pointer-events:none}.gzdoom-play-loading__panel{width:min(28rem,92%);padding:1rem 1.1rem .85rem;border:2px solid #4c0000;background:linear-gradient(180deg,#1a0808,#0a0404);box-shadow:0 0 0 1px #7b0000,0 12px 32px #0000008c}.gzdoom-play-loading__kicker{display:inline-block;padding:.08rem .3rem;color:#fff;background:var(--doom-red);box-shadow:6px 0 #7b0000,12px 0 #4c0000;font-size:.58rem;font-weight:900;letter-spacing:.06em;line-height:1.2}.gzdoom-play-loading__title{margin:.55rem 0 0;color:#fff;text-transform:uppercase;font-size:.95rem;line-height:1.15}.gzdoom-play-loading__phase{margin:.35rem 0 0;color:#dcdcdc;font-size:.72rem}.gzdoom-play-loading__detail{margin:.2rem 0 0;color:#9fd3ff;font-size:.66rem;opacity:.9}.gzdoom-play-loading__bar{position:relative;margin-top:.85rem;height:1.1rem;border:1px solid #7b0000;background:#120606;overflow:hidden}.gzdoom-play-loading__bar-fill{display:block;height:100%;background:linear-gradient(90deg,#7b0000 0%,var(--doom-red) 55%,#ff6a6a 100%);transition:width .25s ease-out}.gzdoom-play-loading__bar-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.68rem;font-weight:900;text-shadow:0 1px 2px rgba(0,0,0,.85)}.gzdoom-play-loading__segments{margin-top:.75rem}.gzdoom-play-loading__elapsed{margin:.55rem 0 0;color:#888;font-size:.62rem;text-align:right}.gzdoom-play-error{flex-direction:column;gap:.35rem;text-align:center;padding:1rem}.gzdoom-subview-toggle{display:inline-flex;gap:.35rem;align-items:center}.gzdoom-subview-toggle .doom-button{min-width:4.5rem;padding:.35rem .65rem;font-size:.78rem}.gzdoom-gold-diff-hud{color:#c8ffb0}.automap-canvas{z-index:2;pointer-events:none;opacity:0}.automap-canvas--active{opacity:1}.bsp-debug-canvas{z-index:3;pointer-events:none;opacity:0}.bsp-debug-canvas--active{opacity:1}.bsp-debug-hud{position:absolute;left:.75rem;bottom:.75rem;z-index:4;padding:.35rem .55rem;font-family:var(--doom-mono, monospace);font-size:.72rem;letter-spacing:.04em;color:#9fd;background:#001410d1;border:1px solid rgba(0,255,170,.35);pointer-events:none}.automap-hud{position:absolute;left:.65rem;top:.55rem;z-index:3;padding:.25rem .45rem;color:#fff;background:#000000b8;border:1px solid rgba(255,255,255,.18);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;letter-spacing:.08em;pointer-events:none}.perf-meter{position:absolute;top:.5rem;right:.5rem;z-index:25;display:flex;flex-direction:column;align-items:flex-end;gap:.18rem;padding:.3rem .4rem;background:#000000a8;border:1px solid rgba(255,255,255,.16);border-radius:2px;pointer-events:none;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.perf-meter__readout{display:flex;align-items:baseline;gap:.2rem;line-height:1}.perf-meter__value{color:#33ff5a;font-weight:700;font-size:.82rem;min-width:1.6ch;text-align:right}.perf-meter__value--ms{color:#cfe9ff;min-width:2.6ch}.perf-meter__unit{color:#8a8a8a;font-size:.62rem}.perf-meter__sep{color:#5a5a5a;font-size:.7rem}.perf-meter__chart{display:block;width:84px;height:26px;border:1px solid rgba(255,255,255,.12);background:#050505;image-rendering:pixelated;image-rendering:crisp-edges}.canvas-grid{display:grid;grid-template-columns:minmax(160px,24%) minmax(0,1fr);gap:.45rem;flex:1;min-height:0;align-items:stretch}.canvas-card{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;margin:0;border:2px solid #202020;background:#000;overflow:hidden}.splash-host{overflow:hidden}.pixel-splash{position:absolute;left:50%;bottom:18%;width:0;height:0;pointer-events:none;z-index:5;filter:drop-shadow(0 0 10px var(--splash-color))}.pixel-splash:before{content:"";position:absolute;left:-56px;bottom:-12px;width:112px;height:18px;background:repeating-linear-gradient(90deg,var(--splash-color) 0 8px,transparent 8px 14px);opacity:.55;animation:splash-ring .62s steps(5,end) forwards}.pixel-splash i{position:absolute;width:8px;height:8px;background:var(--splash-color);image-rendering:pixelated;animation:splash-pixel .62s steps(6,end) forwards;transform:translate(0)}.pixel-splash.exit i{width:6px;height:6px;opacity:.8}@keyframes splash-pixel{0%{opacity:0;transform:translate(0) scale(1.2)}15%{opacity:1}to{opacity:0;transform:translate(var(--x),var(--y)) scale(.35)}}@keyframes splash-ring{0%{opacity:0;transform:scaleX(.35)}25%{opacity:.65}to{opacity:0;transform:scaleX(1.25)}}.canvas-card figcaption{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:space-between;padding:.3rem .45rem;color:#fff;border-bottom:2px solid #1a0000;background:linear-gradient(90deg,#a60000,#420000 55%,#090909),repeating-linear-gradient(90deg,rgba(255,255,255,.08) 0 2px,transparent 2px 8px);font-family:Impact,Arial Black,Arial Narrow,sans-serif;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;text-shadow:1px 1px 0 #000}.canvas-card figcaption span{color:#d0d0d0;font-size:.62rem;letter-spacing:.02em;text-transform:none}.canvas-card canvas{width:100%;height:100%;min-height:0;display:block;background:#020202}.game-card__viewport{position:relative;min-height:0;width:100%;height:100%}.doom-hud-layer{pointer-events:none;position:absolute;right:0;bottom:0;left:0;z-index:22}.doom-hud-wrap{position:relative;width:100%;min-height:56px;overflow:visible}.doom-hud{position:absolute;right:0;bottom:0;left:0;display:block;width:100%;image-rendering:pixelated;image-rendering:crisp-edges}.doom-hud-message{position:absolute;left:50%;bottom:102px;transform:translate(-50%);max-width:min(90%,44rem);padding:.35rem .65rem;color:#f7e65a;background:#000000b8;border:1px solid rgba(247,230,90,.45);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;font-weight:900;letter-spacing:.08em;text-align:center;text-shadow:2px 2px 0 #000}.doom-hud-message[hidden]{display:none}.doom-patch-menu{position:absolute;top:0;right:0;bottom:0;left:0;z-index:200;display:none;pointer-events:auto}.doom-patch-menu--active{display:block}.doom-patch-menu__canvas{display:block;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges}.doom-intermission{position:absolute;top:0;right:0;bottom:0;left:0;z-index:180;display:none;background:#000;pointer-events:auto}.doom-intermission--active{display:block}.doom-intermission__canvas{display:block;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges}.viewport-label-grid{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);pointer-events:none}.viewport-label-grid__cell{position:relative;border:2px solid rgba(255,255,0,.85);box-shadow:inset 0 0 0 1px #00000073}.viewport-label-grid__label{position:absolute;top:6px;left:8px;padding:.15rem .45rem;color:#111;background:#ffff00eb;border:1px solid rgba(0,0,0,.65);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.15rem;font-weight:700;line-height:1;text-shadow:none}.label-grid-hud{position:absolute;top:8px;right:8px;z-index:6;padding:.35rem .55rem;color:#ff6;background:#000000b8;border:1px solid rgba(255,255,102,.45);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem;pointer-events:none}.path-trace-hud{position:absolute;bottom:8px;left:8px;z-index:6;padding:.35rem .55rem;color:#9fd3ff;background:#000000b8;border:1px solid rgba(120,190,255,.45);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem;cursor:pointer}.game-card--hidden .game-card__viewport canvas{visibility:hidden}.game-card--hidden .game-card__viewport canvas.gzdoom-wasm-play-canvas{visibility:visible}.doom-level-transition{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;pointer-events:none;background:#584848}.doom-level-transition__buffer{display:none}.doom-level-transition__overlay{width:100%;height:100%;display:block;image-rendering:pixelated;image-rendering:crisp-edges}.game-card canvas,.minimap-card canvas{min-height:0}.layer-rail__drawer--open .render-layer-panel{min-width:min(15.5rem,38vw)}.render-layer-panel{display:flex;flex-direction:column;height:100%;min-height:0;font-size:.72rem;color:#ececec}.render-layer-panel--disabled{opacity:.55;pointer-events:none}.render-layer-panel__head{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;padding:.45rem .55rem .35rem;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.render-layer-panel__title{margin:0;font-size:.74rem;font-weight:600;letter-spacing:.01em}.render-layer-panel__body{flex:1;min-height:0;overflow-y:auto;padding:.35rem .55rem .55rem}.render-layer-panel__note{margin:0 0 .5rem;font-size:.65rem;color:#999;line-height:1.35}.render-layer-panel__group{margin-bottom:.55rem}.render-layer-panel__group--debug{padding-top:.35rem;border-top:1px solid rgba(255,255,255,.08)}.render-layer-panel__group-title{margin:0 0 .25rem;font-size:.58rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#777}.render-layer-panel__list{display:flex;flex-direction:column;gap:.12rem}.render-layer-panel__row-item{display:flex;align-items:center;gap:.4rem;padding:.18rem .2rem;font-size:.72rem;cursor:pointer;-webkit-user-select:none;user-select:none;color:#ddd;border-radius:2px}.render-layer-panel__row-item:hover{background:#ffffff0a}.render-layer-panel__row-item input{accent-color:#47ff58;margin:0;width:.82rem;height:.82rem;flex-shrink:0}.render-layer-panel__field{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.35rem;font-size:.68rem}.render-layer-panel__field span{color:#888;font-size:.6rem;text-transform:uppercase;letter-spacing:.05em}.render-layer-panel__field select,.render-layer-panel__stage{width:100%;font-size:.68rem;padding:.2rem .3rem;background:#111;color:#eee;border:1px solid #444;border-radius:2px}.render-layer-panel__reset{width:100%;margin-top:.35rem;font-size:.65rem;padding:.25rem .45rem;background:#222;color:#ccc;border:1px solid #555;border-radius:2px;cursor:pointer;box-shadow:none;text-transform:uppercase;letter-spacing:.04em}.render-layer-panel__reset:disabled{cursor:not-allowed}.render-layer-panel__backend{font-size:.58rem;color:#7ec8ff;padding:.08rem .35rem;border:1px solid rgba(126,200,255,.35);border-radius:3px}.fps-counter,.voxel-counter{position:fixed;right:12px;z-index:1000;padding:.35rem .55rem;color:#47ff58;background:#000000b8;border:1px solid rgba(71,255,88,.36);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;pointer-events:none}.fps-counter{top:12px}.voxel-counter{top:48px;color:#ff6060;border-color:#ff60605c}@media (max-width: 980px){.hero{flex-direction:column;align-items:stretch}.hero-brand{flex-wrap:wrap}.hero-tagline,.hero p{white-space:normal}.mode-tabs{justify-content:stretch;width:100%}.mode-tabs button{flex:1}.level-chrome__row{align-items:stretch}.level-chrome__audio{margin-left:0;width:100%}.level-toolbar,.voxel-toolbar{align-items:stretch}.voxel-status--inline{flex-basis:100%;white-space:normal}.music-status--inline{margin-left:0;width:100%;flex-wrap:wrap}.canvas-grid{grid-template-columns:1fr;grid-template-rows:minmax(120px,22vh) minmax(0,1fr)}.level-controls{flex-direction:column;align-items:stretch}.music-status--compact{width:100%}}
