:root{color-scheme:dark;--bg:#090b0e;--panel:#11151a;--panel2:#181d23;--steel:#2a3139;--line:#38414b;--text:#f2f4f6;--muted:#9ca6b2;--orange:#ff7a18;--warm:#ff9a3c;--shadow:0 22px 70px #000c}
*{box-sizing:border-box}html,body{margin:0;width:100%;min-height:100%;background:#06080a;color:var(--text);font-family:Inter,"Segoe UI",system-ui,sans-serif}button{font:inherit}body{min-height:100dvh;overflow:hidden;background:radial-gradient(circle at 50% 110%,#351307 0,#0d0f12 34%,#06080a 72%)}[hidden]{display:none!important}.eyebrow,.panel-kicker{margin:0;color:var(--orange);font-size:.66rem;font-weight:900;letter-spacing:.17em}.launch-active{background:#05070a}
/* cinematic Forge splash */
.forge-splash,.start-screen{position:fixed;inset:0;z-index:50;overflow:hidden;background:radial-gradient(circle at 66% 48%,#1d2933 0,#0b1116 26%,#050709 66%)}.forge-splash::before,.start-screen::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#020304 0,transparent 48%,#02030466),repeating-linear-gradient(90deg,transparent 0 139px,#ffffff05 140px,#0000 142px);opacity:.85}.splash-grid{position:absolute;left:48%;top:-15%;width:42vmin;height:130%;transform:perspective(700px) rotateX(64deg) rotateZ(4deg);background:linear-gradient(#ff7a1808,#0000),repeating-linear-gradient(0deg,#ff8a1814 0 1px,transparent 1px 38px),repeating-linear-gradient(90deg,#ff8a1812 0 1px,transparent 1px 38px);mask-image:linear-gradient(#0000,#000 18%,#000 75%,#0000)}.splash-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center}.splash-logo{width:min(250px,45vw);max-height:92px;object-fit:contain;filter:drop-shadow(0 15px 25px #000)}.splash-kicker{margin:28px 0 9px;color:#aab2ba;font-size:clamp(.58rem,1.3vw,.76rem);font-weight:800;letter-spacing:.26em}.splash-content h1{margin:0;font-size:clamp(2.5rem,8vw,6.6rem);line-height:.92;letter-spacing:-.065em}.splash-content h1 span{color:var(--orange);text-shadow:0 0 35px #ff6a003e}.splash-tagline{margin:20px 0 0;color:#aab2ba;font-size:.72rem;font-weight:800;letter-spacing:.28em}.signal-line{width:min(420px,62vw);height:3px;margin-top:30px;background:#272e35;overflow:hidden}.signal-line span{display:block;width:36%;height:100%;background:linear-gradient(90deg,transparent,var(--orange),#ffd09a);animation:signal 1.25s ease-in-out infinite}.splash-blocks i{position:absolute;width:clamp(28px,5vw,64px);aspect-ratio:1;border:1px solid #55616d;background:linear-gradient(145deg,#68737e 0,#242b31 35%,#101419 70%);box-shadow:inset 2px 2px #ffffff38,inset -5px -5px #0009,0 18px 35px #000c}.splash-blocks i::after{content:"";position:absolute;inset:27%;border-radius:50%;background:#ff7a18;box-shadow:0 0 18px #ff7a18}.splash-blocks i:nth-child(1){left:7%;top:12%;transform:rotate(17deg)}.splash-blocks i:nth-child(2){left:15%;bottom:13%;transform:rotate(-12deg) scale(.7)}.splash-blocks i:nth-child(3){right:10%;top:14%;transform:rotate(32deg) scale(.82)}.splash-blocks i:nth-child(4){right:19%;bottom:8%;transform:rotate(-18deg) scale(.62)}.splash-blocks i:nth-child(5){left:31%;top:8%;transform:rotate(45deg) scale(.5)}.splash-blocks i:nth-child(6){right:34%;bottom:16%;transform:rotate(14deg) scale(.45)}.splash-blocks i:nth-child(7){left:6%;top:52%;transform:rotate(62deg) scale(.4)}
/* interactive start menu */
.start-screen{z-index:40;display:grid;place-items:center;padding:clamp(14px,4vw,46px);background:radial-gradient(circle at 75% 35%,#26313a 0,#0a0e12 38%,#050709 72%)}.start-screen::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#05080ae8 0 44%,transparent 72%),radial-gradient(circle at 75% 80%,#ff6a0019,transparent 28%)}.start-card{position:relative;z-index:2;width:min(1180px,100%);min-height:min(700px,calc(100dvh - 56px));display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,6vw,76px);border:1px solid #3c4650;border-radius:24px;background:linear-gradient(105deg,#0c1015f7 0 48%,#0c1115a6 72%,#0c1014dd),repeating-linear-gradient(0deg,#fff0 0 45px,#ffffff05 46px);box-shadow:var(--shadow),inset 0 0 80px #0008;overflow:hidden}.start-card::after{content:"";position:absolute;right:-3%;top:8%;width:52%;height:84%;background:repeating-linear-gradient(0deg,#0000 0 39px,#53606b34 40px,#0000 41px),repeating-linear-gradient(90deg,#0000 0 39px,#53606b2d 40px,#0000 41px);transform:perspective(700px) rotateY(-18deg);mask-image:radial-gradient(ellipse,#000 15%,transparent 72%)}.start-brand{position:absolute;z-index:2;left:clamp(24px,5vw,64px);right:clamp(24px,5vw,64px);top:24px;display:flex;justify-content:space-between;align-items:center;color:#89939d;font-size:.66rem;font-weight:800;letter-spacing:.12em}.start-brand img{width:180px;height:55px;object-fit:contain;object-position:left}.start-copy,.start-actions,.start-footer{position:relative;z-index:3;width:min(610px,100%)}.start-copy h1{margin:12px 0 16px;font-size:clamp(3.6rem,9vw,7.2rem);line-height:.78;letter-spacing:-.075em}.start-copy h1 strong{display:block;color:var(--orange);font-weight:900;text-shadow:0 0 38px #ff681e35}.start-copy>p:last-child{max-width:560px;color:#c6ccd2;font-size:clamp(1rem,2vw,1.3rem);line-height:1.55}.start-actions{margin-top:32px}.launch-primary{min-width:min(390px,100%);height:70px;display:flex;align-items:center;justify-content:center;gap:14px;border:1px solid #ffad68;border-radius:11px;background:linear-gradient(180deg,#ff922f,#e76208);color:#111;font-weight:1000;font-size:1rem;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 12px 34px #ff650030,inset 0 1px #fff7;cursor:pointer}.play-mark{width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:13px solid #151515}.launch-tools{display:flex;gap:8px;margin-top:10px}.launch-tools button,.icon-btn{min-height:46px;border:1px solid #3c4650;border-radius:9px;background:linear-gradient(#1e252c,#11161b);color:#dfe3e7;font-weight:800;cursor:pointer}.launch-tools button{display:flex;align-items:center;justify-content:center;gap:8px;padding:0 16px}.launch-tools button:last-child{width:48px;padding:0}.tool-label{color:var(--orange)}.sound-glyph{position:relative;width:17px;height:14px;display:inline-block;border-left:7px solid currentColor}.sound-glyph::before{content:"";position:absolute;left:-12px;top:3px;width:6px;height:8px;background:currentColor}.sound-glyph::after{content:"";position:absolute;left:3px;top:1px;width:8px;height:10px;border:2px solid currentColor;border-left:0;border-top-color:transparent;border-bottom-color:transparent;border-radius:0 50% 50% 0}.sound-off .sound-glyph::after{width:14px;height:2px;left:-1px;top:6px;border:0;background:#e05a4f;transform:rotate(-45deg)}.start-footer{position:absolute;left:clamp(28px,6vw,76px);right:clamp(28px,6vw,76px);bottom:24px;width:auto;display:flex;justify-content:space-between;color:#7f8993;font-size:.65rem;font-weight:800;letter-spacing:.12em}.start-atmosphere span{position:absolute;z-index:1;width:18px;height:18px;background:#ff7a18;border-radius:50%;filter:blur(2px);box-shadow:0 0 25px #ff7a18;animation:ember 6s linear infinite}.start-atmosphere span:nth-child(1){left:63%;top:80%}.start-atmosphere span:nth-child(2){left:82%;top:66%;animation-delay:-2s;transform:scale(.5)}.start-atmosphere span:nth-child(3){left:73%;top:91%;animation-delay:-4s;transform:scale(.35)}.start-atmosphere span:nth-child(4){left:92%;top:82%;animation-delay:-1s;transform:scale(.25)}
/* game shell */
.app-shell{width:min(1180px,100%);height:100dvh;margin:auto;padding:10px;display:flex;flex-direction:column}.topbar{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;min-height:64px;padding:7px 14px;border:1px solid #38414b;background:linear-gradient(180deg,#171c21ee,#0d1115f2);box-shadow:0 14px 38px #0009;border-radius:14px}.game-brand{display:flex;align-items:center;gap:12px}.game-brand img{display:block;width:130px;height:42px;object-fit:contain;object-position:left}.game-brand div{padding-left:12px;border-left:1px solid #343c44}.game-brand strong,.game-brand span{display:block}.game-brand strong{font-size:.82rem;letter-spacing:.11em}.game-brand span{margin-top:3px;color:#7f8993;font-size:.56rem;letter-spacing:.12em}.top-actions{display:flex;gap:7px}.icon-btn{width:44px;height:44px;display:grid;place-items:center;padding:0}.text-btn{width:auto;min-width:54px;padding:0 10px;font-size:.65rem;letter-spacing:.09em}.icon-btn.active{border-color:#ff7a18;color:#ffb477;box-shadow:0 0 18px #ff6a0035}.game-layout{flex:1 1 auto;min-height:0;width:100%;display:grid;grid-template-columns:190px minmax(260px,calc((100dvh - 98px)/2)) 190px;gap:14px;align-items:center;justify-content:center;margin:8px auto}.panel{background:linear-gradient(145deg,#181d23ee,#0d1115f4);border:1px solid #343d46;border-radius:15px;padding:12px;box-shadow:var(--shadow)}.panel-kicker{padding-bottom:9px;border-bottom:1px solid #343d46}.stats-panel{display:grid;gap:7px}.stat,.mini-card,.session-stats{padding:9px;border:1px solid #313942;border-radius:8px;background:#0c1014}.stat{display:flex;justify-content:space-between;align-items:center;color:#89939d;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}.stat strong{color:#ffad68;font-size:1.13rem;letter-spacing:0}.mini-card>span,.session-stats h2{display:block;margin:0 0 7px;color:#89939d;font-size:.65rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.mini-card canvas{display:block;width:100%;height:auto;background:linear-gradient(#080b0e,#0b1116);border-radius:5px}.board-frame{--heat-glow:25px;position:relative;width:100%;max-width:420px;padding:10px;padding-top:43px;background:linear-gradient(135deg,#4b555f,#171c21 9%,#090c0f 48%,#2a3037 92%);border:1px solid #6b7680;border-radius:15px;box-shadow:0 0 0 3px #07090b,0 0 var(--heat-glow) #ff760037,var(--shadow);transition:box-shadow .2s}.board-frame::before{content:"";position:absolute;inset:4px;border:1px solid #ffffff10;border-radius:11px;pointer-events:none}.frame-bolts i{position:absolute;z-index:2;width:6px;height:6px;border-radius:50%;background:#0a0d10;border:1px solid #65707a;box-shadow:inset 1px 1px #000}.frame-bolts i:nth-child(1){left:5px;top:5px}.frame-bolts i:nth-child(2){right:5px;top:5px}.frame-bolts i:nth-child(3){left:5px;bottom:5px}.frame-bolts i:nth-child(4){right:5px;bottom:5px}.heat-wrap{position:absolute;left:15px;right:15px;top:10px}.heat-label{display:flex;justify-content:space-between;color:#939ca5;font-size:.61rem;font-weight:800;text-transform:uppercase;letter-spacing:.13em}.heat-label strong{color:#ffb16c}.heat-track{height:5px;margin-top:5px;border-radius:3px;background:#07090b;border:1px solid #313841;overflow:hidden}.heat-bar{height:100%;width:0;background:linear-gradient(90deg,#8d2a00,#ff7a18,#ffd29c);box-shadow:0 0 10px #ff7600;transition:width .18s}#game,#fxCanvas{display:block;width:100%;height:auto;aspect-ratio:1/2;border-radius:5px}#game{background:#05080a;border:1px solid #46515b;box-shadow:inset 0 0 45px #000,inset 0 0 16px #ff76000d}#fxCanvas{position:absolute;left:10px;top:43px;width:calc(100% - 20px);pointer-events:none}.overlay{position:absolute;left:10px;right:10px;top:43px;bottom:10px;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:26px;text-align:center;background:radial-gradient(circle at 50% 42%,#2d170dce,#07090bf7 65%);border-radius:5px;opacity:0;pointer-events:none;transition:.2s}.overlay.visible{opacity:1;pointer-events:auto}.overlay-kicker{margin:0;color:#ff8e36!important;font-size:.62rem;font-weight:900;letter-spacing:.2em}.overlay h1{margin:8px 0 0;font-size:clamp(2rem,7vw,3.6rem);letter-spacing:.08em}.overlay p{color:#c2c9d0}.primary-btn{min-width:180px;min-height:50px;border:1px solid #ffa962;border-radius:8px;padding:12px 22px;background:linear-gradient(#ff8f2a,#de5d08);color:#14100d;font-weight:1000;cursor:pointer}.forge-callout,.level-callout{position:absolute;left:50%;z-index:6;opacity:0;pointer-events:none;white-space:nowrap;font-weight:1000;letter-spacing:.13em;color:#fff2e1;text-shadow:0 0 8px #ff7a00,0 0 22px #ff7a00}.forge-callout{top:42%;transform:translate(-50%,-50%) scale(.75);font-size:clamp(1.3rem,5vw,2.5rem)}.level-callout{top:18%;transform:translate(-50%,-50%) scale(.82);font-size:clamp(1rem,4vw,1.8rem)}.forge-callout.show{animation:callout .75s ease-out}.level-callout.show{animation:levelCallout 1.25s ease-out}.forge-hit{animation:forgeHit .42s ease-out}.level-hit{animation:levelHit .65s ease-out}.session-stats{margin-top:9px}.session-stats p{display:flex;justify-content:space-between;margin:6px 0;color:#89939d;font-size:.76rem}.session-stats strong{color:#ffad68}.controls-hint{margin-top:9px;color:#89939d;font-size:.75rem}.controls-hint p{margin:5px 0}.controls-hint kbd{display:inline-grid;place-items:center;min-width:23px;height:23px;padding:0 5px;border:1px solid #4b5661;border-radius:4px;background:#20262d;color:#fff;box-shadow:0 2px #06080a}.mobile-controls{display:none;grid-template-columns:repeat(7,1fr);gap:5px;margin:4px auto 0;width:min(640px,100%)}.mobile-controls button{min-height:44px;border:1px solid #46515b;border-radius:8px;background:linear-gradient(#242b32,#12171c);color:#fff;font-weight:900;touch-action:none;user-select:none}.overlay-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;width:min(100%,300px);margin:5px 0 14px}.overlay-summary[hidden]{display:none}.overlay-summary span{padding:8px 5px;border:1px solid #414a53;border-radius:7px;background:#0c1014;color:#89939d;font-size:.6rem;text-transform:uppercase;letter-spacing:.08em}.overlay-summary strong{display:block;margin-top:3px;color:#ffb16c;font-size:.95rem;letter-spacing:0}dialog{width:min(540px,calc(100% - 28px));border:1px solid #4b5661;border-radius:15px;background:#11161b;color:var(--text);box-shadow:0 25px 80px #000;padding:22px}dialog::backdrop{background:#000c;backdrop-filter:blur(5px)}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between}.dialog-head h2{margin:5px 0;color:#fff}.dialog-head .icon-btn{font-size:1.3rem}
@keyframes signal{0%{transform:translateX(-120%)}100%{transform:translateX(380%)}}@keyframes ember{0%{transform:translateY(40px);opacity:0}20%{opacity:1}100%{transform:translateY(-300px);opacity:0}}@keyframes callout{0%{opacity:0;transform:translate(-50%,-50%) scale(.65)}20%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}70%{opacity:1}100%{opacity:0;transform:translate(-50%,-65%) scale(1)}}@keyframes levelCallout{0%{opacity:0;transform:translate(-50%,-20%) scale(.72)}15%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}70%{opacity:1}100%{opacity:0;transform:translate(-50%,-80%) scale(1)}}@keyframes forgeHit{0%{transform:translate(0);filter:brightness(1)}18%{transform:translate(-2px,1px);filter:brightness(1.55)}36%{transform:translate(2px,-1px)}54%{transform:translate(-1px,0)}100%{transform:translate(0);filter:brightness(1)}}@keyframes levelHit{35%{box-shadow:0 0 0 3px #07090b,0 0 62px #ffb34788,var(--shadow)}}
@media(max-width:850px){.game-layout{grid-template-columns:minmax(0,1fr) minmax(240px,calc((100dvh - 145px)/2));align-items:start}.stats-panel{grid-column:1;grid-row:1}.board-frame{grid-column:2;grid-row:1/3}.next-panel{grid-column:1;grid-row:2}.controls-hint{display:none}.mobile-controls{display:grid}.stats-panel,.next-panel{max-height:calc(100dvh - 145px);overflow:auto;scrollbar-width:thin}}
@media(max-width:620px){.start-screen{padding:8px}.start-card{min-height:calc(100dvh - 16px);padding:72px 24px 64px;border-radius:14px}.start-brand{left:22px;right:22px;top:14px}.start-brand img{width:120px;height:42px}.start-copy h1{font-size:clamp(3.4rem,18vw,5.4rem)}.start-copy>p:last-child{font-size:.95rem}.launch-primary{height:60px;min-width:100%}.launch-tools button{flex:1;padding:0 9px}.start-footer{left:22px;right:22px;bottom:16px}.start-footer span:first-child{display:none}.app-shell{padding:5px}.topbar{min-height:52px;padding:4px 8px;border-radius:10px}.game-brand img{width:84px;height:35px}.game-brand div{display:none}.icon-btn{width:38px;height:38px;min-height:38px}.text-btn{min-width:43px;font-size:.58rem}.game-layout{grid-template-columns:minmax(0,min(calc(100vw - 108px),calc((100dvh - 122px)/2))) 88px;gap:6px;margin:5px auto}.board-frame{width:100%;min-width:0;padding:6px;padding-top:36px;border-radius:10px}.heat-wrap{left:9px;right:9px;top:6px}.overlay{left:6px;right:6px;top:36px;bottom:6px}.stats-panel{grid-column:2;grid-row:1;padding:5px;gap:4px}.next-panel{grid-column:2;grid-row:2;padding:5px}.panel-kicker{font-size:.52rem;padding-bottom:5px}.stat{display:block;padding:5px;font-size:.58rem}.stat strong{display:block;font-size:.86rem}.mini-card,.session-stats{padding:4px}.stats-panel .mini-card{display:none}.next-card span{font-size:.52rem}.session-stats{font-size:.62rem}.session-stats h2{font-size:.52rem}.session-stats p{display:block;font-size:.62rem}.session-stats strong{display:block}.mobile-controls{position:sticky;bottom:0;padding:4px;background:#090b0eef;border:1px solid #343d46;border-radius:9px;z-index:7}.mobile-controls button{min-height:40px;padding:0}.overlay h1{font-size:1.7rem}#fxCanvas{left:6px;top:36px;width:calc(100% - 12px)}}
@media(max-height:560px) and (orientation:landscape){.game-layout{grid-template-columns:145px minmax(200px,calc((100dvh - 78px)/2)) 145px;gap:6px}.board-frame{grid-column:2;grid-row:1;padding:5px;padding-top:32px}.stats-panel{grid-column:1;grid-row:1}.next-panel{grid-column:3;grid-row:1}.mobile-controls{display:none}.topbar{min-height:46px}.controls-hint{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}

/* RC4 launch-artwork integration; asset approval remains REVIEW. */
.forge-splash,.start-screen{background:#050709 url('images/forge-tetris-launch-artwork-v1.png') center/cover no-repeat}
.forge-splash::before,.start-screen::before{background:linear-gradient(90deg,#020304f2 0,#020304c9 24%,#02030448 57%,#02030424),linear-gradient(0deg,#0203048c,transparent 42%,#02030442);opacity:1}
.splash-content{z-index:2;right:auto;width:min(760px,62vw);align-items:flex-start;padding:clamp(32px,7vw,108px);text-align:left}
.start-screen::after{background:linear-gradient(90deg,#05080af2 0 43%,#05080a78 62%,transparent 82%),radial-gradient(circle at 74% 78%,#ff6a0017,transparent 32%)}
.start-card{background:linear-gradient(105deg,#070a0ef5 0 45%,#070a0ec0 57%,#070a0e24 78%)}
@media(max-width:620px){.forge-splash,.start-screen{background-position:62% center}.forge-splash::before,.start-screen::before{background:linear-gradient(90deg,#020304ef 0,#020304a8 68%,#02030452)}.splash-content{width:100%;padding:30px;padding-bottom:18vh;justify-content:flex-end}.start-card{background:linear-gradient(90deg,#070a0ef2 0 58%,#070a0e83)}}
