#cabinet{--mint:#9affd3;--sun:#ffe177;position:fixed;inset:0;z-index:10000;overflow:auto;isolation:isolate;color:#fff;background:radial-gradient(ellipse at 73% 32%,#413077 0%,transparent 42%),linear-gradient(150deg,#12142e,#201236 62%,#081927);font:600 16px Inter,system-ui,sans-serif}
#cabinet[hidden]{display:none}
#cabinet,#cabinet button{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='32' viewBox='0 0 30 32'%3E%3Cpath fill='%238bf9cf' stroke='%23281b50' stroke-width='2' d='M2 3l9 5q15-4 15 10v10l-5-3-4 4-5-4-6 2V14z'/%3E%3Cpath stroke='%23281b50' stroke-width='3' d='M13 13v5m7-5v5'/%3E%3C/svg%3E") 2 3,auto}
#cabinet::before{content:'';position:fixed;inset:38% -50% -30%;z-index:-1;background:repeating-linear-gradient(90deg,transparent 0 62px,#7952af66 63px 65px),repeating-linear-gradient(0deg,transparent 0 50px,#7952af66 51px 53px);transform:perspective(240px) rotateX(57deg);pointer-events:none}
.ff-wrap{max-width:1060px;min-height:96dvh;padding:clamp(24px,6vw,85px);margin:auto;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:18px}.ff-brand,.ff-meta{color:var(--mint);letter-spacing:.17em;font:800 13px monospace}.ff-title{font:900 clamp(52px,9vw,128px)/.91 'Barlow Condensed',Impact,sans-serif!important;letter-spacing:-.03em;margin:0;text-transform:uppercase;text-shadow:0 4px #7b4a98,0 8px #371a5c}.ff-title i{color:var(--sun);font-style:normal}.ff-wrap p{color:#e3def3;margin:0;max-width:64ch}.ff-grid{display:flex;flex-wrap:wrap;gap:14px;margin:10px 0}.ff-grid button,#cabinet .ff-back,#ff-menu{padding:16px 21px;border:2px solid #82729e;border-radius:8px;background:#211c3c;color:#fff;text-align:left;font:800 22px 'Barlow Condensed',Impact,sans-serif}.ff-grid small{display:block;color:#c9bddf;font:500 13px system-ui;margin-top:5px}#cabinet button:is(:focus-visible,:hover){outline:3px solid var(--sun);outline-offset:3px;background:#51346c;transform:translateY(-2px)}#cabinet .ff-back{font:700 13px monospace}.ff-orb{display:grid;place-items:center;border:6px double #9affd3;width:112px;height:112px;border-radius:28%;box-shadow:0 0 44px #a281ff;color:var(--sun);background:#281b53;font:900 48px Impact;transform:rotate(-4deg)}#ff-menu{margin:12px}.ff-target{width:min(88vw,600px);height:100px;border:2px solid #9776ba;border-radius:14px;display:grid;grid-template-columns:repeat(3,1fr);align-items:center;text-align:center;background:#18102b}.ff-target span{opacity:.18;font-size:40px}.ff-target .lit{opacity:1;color:var(--sun);text-shadow:0 0 14px #ff9a37}
body.ff-races .mission-categories,body.ff-races label:has(#tier),body.ff-races .detach-bar,body.ff-races .race-v2-intro{display:none}body.ff-races #arcade .worlds{margin-top:12px}
.ff-orb{background:radial-gradient(circle,#7b51b7,#25163f 70%);font-size:0}.ff-orb::after{content:'';background:url('ghost-pilot.svg') center/contain no-repeat;width:112%;height:112%;filter:drop-shadow(0 6px 0 #221439)}
#cabinet[data-screen=title] .ff-orb{width:clamp(120px,17vw,205px);height:clamp(120px,17vw,205px);border-radius:50%;border-color:#ffe177}.ff-target{position:relative;overflow:hidden}.ff-target::after{content:'';position:absolute;bottom:0;left:0;width:var(--beat,0%);height:5px;background:#ffe177}.ff-target.defend{border-radius:40px 40px 12px 12px;background:linear-gradient(#101732,#39436e)}.ff-target.defend .lit{transform:scale(var(--incoming,1))}
[data-game-style=flat] #cabinet{--mint:#063b45;--sun:#f25b48;background:#a9e8de;color:#102c45}
[data-game-style=flat] #cabinet::before{inset:0;background:linear-gradient(135deg,transparent 65%,#ffd187 65% 75%,#f79a98 75%);transform:none}
[data-game-style=flat] .ff-title{text-shadow:none;letter-spacing:-.05em}
[data-game-style=flat] .ff-wrap p{color:#193c50}
[data-game-style=flat] .ff-grid button,[data-game-style=flat] .ff-target{background:#173952;color:white;border-radius:25px;border-color:#173952}
[data-game-style=solid] #cabinet{background:radial-gradient(at 75% 30%,#5479a5,#19253c 55%,#09111c);--mint:#b8eaff}
[data-game-style=solid] .ff-grid{perspective:950px}
[data-game-style=solid] .ff-grid button,[data-game-style=solid] .ff-target{background:linear-gradient(145deg,#587b9a,#192d45 70%);border:2px solid #aac8dc;box-shadow:5px 8px 0 #0b182a,10px 16px 20px #08132977;transform:rotateY(-5deg)}
.ff-cover{display:block;width:100%;height:auto;aspect-ratio:2.13;object-fit:cover;border-radius:4px;margin:0 0 10px}.ff-grid button:has(.ff-cover){width:clamp(180px,24vw,246px);padding:9px 10px 14px}
.ff-laser-stage{display:block;width:min(100%,100dvh);aspect-ratio:16/9;border:2px solid #8174ad;border-radius:12px}
#cabinet[data-screen=lasers] .ff-orb{display:none}
#cabinet[data-screen=lasers] .ff-wrap{gap:9px;padding-block:16px}
#cabinet[data-screen=lasers] .ff-title{font-size:clamp(32px,6vw,70px)!important}
.laser-output{position:relative;width:100%;background:#000;overflow:hidden}
.laser-output .ff-laser-stage{display:block;width:var(--play-width,100%);height:100%;position:absolute;inset:0 auto 0 0;border:0;border-radius:0;aspect-ratio:auto}
.laser-output-controls{display:flex;align-items:center;gap:10px}
.laser-output-controls button,.laser-output-controls select{background:#1f1937;color:white;padding:8px;border:1px solid #88789f;border-radius:4px}
#cabinet[data-screen=title]{background:#080921}
#cabinet[data-screen=title]::before{display:none}
.ff-welcome{box-sizing:border-box;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:12px}
.ff-welcome h1{margin:0;line-height:0}
.ff-welcome img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 100px);object-fit:contain}
.ff-welcome .ff-grid{margin:0;justify-content:center}
.ff-welcome .ff-grid button{padding:10px 22px}
.ff-welcome .ff-grid button:first-child{background:#bdff3c;color:#10142a;border-color:#bdff3c}

/* Fill the viewport, keeping the top of the poster in frame. */
#cabinet[data-screen=title]{width:100vw;background:#100c27;overflow:hidden}
#cabinet[data-screen=title] .ff-wrap{box-sizing:border-box;height:100%;min-height:0;max-width:none;align-items:center;justify-content:center;padding:12px;gap:0}
#cabinet[data-screen=title] :is(.ff-orb,.ff-brand,.ff-meta,.ff-wrap>p){display:none}
#cabinet[data-screen=title] .ff-title{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
#cabinet[data-screen=title] .ff-grid{margin:0;justify-content:center;gap:10px}
#cabinet[data-screen=title] .ff-grid button{min-height:48px;padding:12px 22px;background:#17122ded;border:1px solid #dad5ed;color:white;text-align:center}
#cabinet[data-screen=title] .ff-grid button:first-child{background:#c4ff43;color:#152000;border-color:#dcff8d}
#cabinet[data-screen=title] .ff-grid small{display:none}

#cabinet:is([data-screen=tier],[data-screen=focus],[data-screen=styles]){
  background:#100c27 url('laser-selection.jpg') center top/cover no-repeat;
}
#cabinet:is([data-screen=tier],[data-screen=focus],[data-screen=styles])::before{
  inset:0;transform:none;background:linear-gradient(90deg,rgba(8,6,24,.88),rgba(8,6,24,.59) 70%,rgba(8,6,24,.45));
}
#cabinet:is([data-screen=tier],[data-screen=focus],[data-screen=styles]) .ff-orb{display:none}
#cabinet:is([data-screen=tier],[data-screen=focus],[data-screen=styles]) .ff-title{color:white}
#cabinet:is([data-screen=tier],[data-screen=focus],[data-screen=styles]) .ff-wrap p{color:#f7f2ff}
#cabinet:is([data-screen=tier],[data-screen=focus],[data-screen=styles]) .ff-brand{color:#bcffdd}

/* The Cinder Bastion course forms the backdrop of the game chooser. */
#cabinet:is([data-screen=games],[data-screen=levels]){
  background:#181329 url('cinder-bastion-chooser.jpg') 62% center/cover no-repeat;
}
#cabinet:is([data-screen=games],[data-screen=levels])::before{display:none}
[data-game-style=arcade] #cabinet:is([data-screen=games],[data-screen=levels]) .ff-orb{display:none}
[data-game-style=arcade] #cabinet:is([data-screen=games],[data-screen=levels]) .ff-brand{
  background:#151b50;color:#fff;border-left:12px solid #ffbc33;padding:9px 13px;
}
[data-game-style=arcade] #cabinet:is([data-screen=games],[data-screen=levels]) .ff-title{
  color:#ffda4a;font-style:italic;text-shadow:2px 3px #a63b21,4px 6px #19245a,6px 8px #19245a;
}
[data-game-style=arcade] #cabinet:is([data-screen=games],[data-screen=levels]) .ff-wrap>p{background:#151b50;color:white;padding:5px 12px;border-radius:4px}
[data-game-style=arcade] #cabinet:is([data-screen=games],[data-screen=levels]) .ff-grid button{
  color:white;background:linear-gradient(155deg,#314d99,#101a49 75%);border:3px solid #8cafff;border-bottom-color:#5375bd;box-shadow:0 5px #101638;
}
#cabinet:is([data-screen=games],[data-screen=levels],[data-screen=focus]) .ff-wrap .ff-grid button:is(:hover,:focus),
#arcade :is([data-world],[data-category]):is(:hover,:focus){
  position:relative;z-index:1;border-color:#fff;outline:3px solid #83ffff;outline-offset:2px;
  box-shadow:0 0 9px 4px #22edff,0 0 24px 7px #227aff;
}
body.ff-races #arcade{background:linear-gradient(90deg,#17132955,transparent),url('cinder-bastion-chooser.jpg') 62% center/cover fixed;min-height:90vh;padding:clamp(12px,3vw,40px)}
.ff-carousel-nav{display:flex;align-items:center;gap:14px;width:fit-content;background:#17132be8;color:white;padding:5px 8px;border-radius:8px;margin-top:8px}
.ff-carousel-nav strong{font:800 13px monospace;letter-spacing:.1em}
.ff-carousel-nav button{font:bold 27px/1 system-ui;color:white;background:#343057;border-radius:4px;min-width:40px;min-height:36px}
#cabinet[data-screen=levels] .ff-wrap{min-height:100dvh;justify-content:flex-end;gap:9px}
body.ff-races #arcade .worlds.ff-carousel,#cabinet .ff-grid.ff-carousel{box-sizing:border-box;display:flex;flex-wrap:nowrap;width:100%;max-width:810px;overflow-x:auto;scroll-snap-type:x proximity;padding:14px 12px 18px;gap:16px;margin:0;scrollbar-color:#a9ade4 #19172d}
.ff-carousel>button{scroll-snap-align:center;flex:0 0 clamp(160px,21vw,230px)}
body.ff-races #arcade>.ff-carousel-nav{margin-top:clamp(80px,25vh,280px)}
body.ff-races aside,body.ff-races .shell>header{display:none!important}
body.ff-races .shell{margin-left:0!important}
.ff-player-notice{position:fixed;z-index:2147483647;top:16px;left:50%;transform:translateX(-50%);max-width:90vw;width:max-content;padding:14px 22px;color:white;background:#211538;border:2px solid #ffca68;border-radius:12px;box-shadow:0 0 24px #ed683780;font:800 17px system-ui;text-align:center;pointer-events:none}
.ff-ranks{background:#17152be8;padding:12px 20px;border-radius:8px;color:white}.ff-ranks li{margin:6px 0}
#ff-apple-dock{position:fixed;z-index:10001;bottom:8px;right:12px;width:min(440px,92vw)}
#ff-apple-dock iframe{display:block;border:0;width:100%;height:min(255px,30vh);border-radius:10px}
#cabinet[data-screen=music] .ff-wrap{padding-bottom:32vh}
#cabinet[data-screen=music] input{width:min(340px,90vw);padding:10px}
#cabinet[data-screen=players] .ff-grid a{background:#c5fa53;color:#172008;border-radius:5px;padding:12px;font-weight:bold}
#cabinet:is([data-screen=games],[data-screen=levels]) .ff-wrap{box-sizing:border-box;max-width:none;min-height:100dvh;padding:clamp(18px,3vw,48px);justify-content:flex-end;gap:9px}
body.ff-races #arcade .worlds.ff-carousel,#cabinet .ff-grid.ff-carousel{
 --hero-width:min(65vw,620px);position:relative;width:100%;max-width:none;box-sizing:border-box;
 padding:16px max(0px,calc((100% - var(--hero-width))/2)) 22px;gap:clamp(12px,2vw,30px);
 scroll-snap-type:none;scrollbar-width:none;touch-action:pan-y;user-select:none;cursor:grab;
}
.ff-carousel:active{cursor:grabbing}
.ff-carousel::after{content:'';flex:none;width:0}
body.ff-races #arcade .ff-carousel>button,#cabinet .ff-grid.ff-carousel>button{
 box-sizing:border-box;flex:0 0 var(--hero-width);width:var(--hero-width);min-width:0;
 opacity:var(--spot-opacity,1);transform:scale(var(--spot-scale,1));border-radius:12px;
}
.ff-carousel img.ff-cover,body.ff-races .ff-carousel .world img{width:100%;height:clamp(105px,24vh,260px);object-fit:cover;pointer-events:none}
.ff-chooser-tools{display:flex;flex-wrap:wrap;gap:8px}.ff-chooser-tools button{border-radius:6px;padding:8px 12px;background:#17132be8;color:white}.ff-chooser-tools small{display:none}
body.ff-races:not(.in-game) #arcade:not(.hidden){position:fixed;inset:0;z-index:20;box-sizing:border-box;height:100dvh;min-height:0;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;gap:4px}
body.ff-races:not(.in-game) #arcade>:not(#ff-menu):not(.ff-carousel-nav):not(.worlds):not(.arcade-settings){display:none!important}
body.ff-races:not(.in-game) #arcade #ff-menu{position:absolute;top:8px;left:8px;margin:0}
body.ff-races:not(.in-game) #arcade>.ff-carousel-nav{margin:0 12px}
body.ff-races:not(.in-game) #arcade:not(.ff-options-open)>.arcade-settings{display:none}
body.ff-races:not(.in-game) #arcade.ff-options-open>.arcade-settings{position:absolute;z-index:4;top:62px;right:12px;max-width:min(430px,90vw);max-height:55dvh;overflow:auto;background:#17132bf5;border:2px solid #76eefa}
.ff-carousel-nav .ff-options{font:700 13px system-ui;padding:5px 10px}
#cabinet:is([data-screen=games],[data-screen=levels]){overflow:hidden}
#cabinet:is([data-screen=games],[data-screen=levels]) .ff-wrap{height:100dvh;min-height:0}
@media(max-height:600px){
 #cabinet:is([data-screen=games],[data-screen=levels]) .ff-wrap{gap:3px;padding:8px 14px}
 #cabinet:is([data-screen=games],[data-screen=levels]) .ff-title{font-size:clamp(26px,7vh,44px)!important}
 #cabinet:is([data-screen=games],[data-screen=levels]) .ff-orb,#cabinet:is([data-screen=games],[data-screen=levels]) .ff-meta:empty{display:none}
 .ff-carousel img.ff-cover,body.ff-races .ff-carousel .world img{height:19dvh}
}
#cabinet[data-screen=reactor]{background:radial-gradient(ellipse at 75% 38%,#255252,#151932 48%,#090d1c)}
#cabinet[data-screen=reactor] .ff-orb{display:none}
#cabinet[data-screen=reactor] .ff-title{font-size:clamp(32px,7vw,86px)!important}
.ff-cells{display:flex;gap:8px;width:min(640px,100%);height:clamp(65px,15vh,145px)}
.ff-cells i{flex:1;border:3px solid var(--cell-color);border-radius:12px 12px 20px 20px;background:linear-gradient(to top,var(--cell-color) var(--charge,0%),#192537 var(--charge,0%));box-shadow:0 0 12px color-mix(in srgb,var(--cell-color) 40%,transparent)}
.ff-voice-controls{display:inline-flex;align-items:center;gap:.6em;padding:.5em .75em;background:#17172de8;color:white;border-radius:6px;font:600 14px system-ui}
.ff-voice-controls label{display:flex;align-items:center;gap:.45em}.ff-voice-controls output{min-width:3.2em}
.ff-voice-controls input[type=range],#cabinet[data-screen=music] .ff-voice-controls input{width:clamp(65px,12vw,145px);padding:0;accent-color:#bcff62}
.ff-voice-controls button{color:white;border:1px solid #8d95b4;border-radius:4px;padding:4px 8px}
#cabinet[data-screen=raid] .ff-wrap{max-width:980px;gap:8px;padding:clamp(12px,3vw,34px)}
#cabinet[data-screen=raid] .ff-orb{display:none}
#cabinet[data-screen=raid] .ff-title{font-size:clamp(27px,5vw,66px)!important}
.ff-raid{width:min(100%,820px);height:auto;max-height:48dvh;object-fit:contain;background:#152532;image-rendering:pixelated;border:3px solid #c7d87e;border-radius:6px}
[data-game-style=console] #cabinet{--mint:#91ff80;--sun:#b7ff56}
[data-game-style=console] .ff-grid button{background:linear-gradient(155deg,#30424c,#0d181d);border-color:#81a69c;border-radius:12px}
#cabinet[data-screen=boxing] .ff-wrap{gap:7px;max-width:900px;padding:12px}
#cabinet[data-screen=boxing] .ff-orb{display:none}
#cabinet[data-screen=boxing] .ff-title{font-size:clamp(24px,5vh,48px)!important}
#cabinet[data-screen=color]{background:var(--piece-color,#43375c)}
#cabinet[data-screen=color]::before,#cabinet[data-screen=color] .ff-orb{display:none}
#cabinet[data-screen=color] .ff-wrap{align-items:center;text-align:center;gap:7px;padding:12px;justify-content:center}
#cabinet[data-screen=color] .ff-title{font-size:clamp(26px,5vh,52px)!important;text-shadow:0 2px 4px #000;background:#15172bee;color:white;padding:5px 16px;border-radius:8px}
#cabinet[data-screen=color] :is(p,.ff-meta,.ff-brand,.ff-book-credit){background:#17192bea;padding:4px 10px;border-radius:4px;color:white}
.ff-color-art{width:min(62vh,88vw,570px);max-height:53dvh;background:#fff;border:5px solid #fff;border-radius:9px}
.ff-book-credit{font:11px system-ui;color:white}.ff-book-credit a{color:inherit;text-decoration:underline}
.ff-carousel img.ff-sheet-thumb{object-fit:contain;background:#f7f1df}
.ff-color-art .ff-next-piece{stroke:#141723;stroke-width:.45;stroke-dasharray:1 .5}
#cabinet[data-screen=boxing] .laser-output-controls{flex-wrap:wrap;align-self:stretch;background:#161a2a;padding:8px;border-radius:6px}
#cabinet[data-screen=boxing] .laser-output{width:min(100%,calc(49dvh * var(--boxing-ratio,1)));align-self:center}
/* Every game uses the race cockpit hierarchy, dimensions and control placement. */
#cabinet.shared-game-active{padding:0;overflow:hidden;background:var(--piece-color,#0b101b)}
#cabinet .shared-game-shell.game-wrap.immersive{position:absolute;inset:0;max-width:none;width:100%;height:100dvh;padding:0 20px;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto auto auto;gap:0;text-align:left;align-items:stretch;justify-content:stretch;background:var(--piece-color,#0b101b);--race-sky:#0b101b;--race-light:#e1eafa;--race-shadow:#171e2d;--race-stone:#39425a;--race-edge:#596b87;overflow:auto}
#cabinet .shared-game-shell>.ff-brand,#cabinet .shared-game-shell>.ff-orb,#cabinet .shared-game-shell>.ff-back{display:none}
#cabinet .shared-game-shell .cockpit-top{padding:12px 5px;gap:12px}
#cabinet .shared-game-shell .cockpit-top h2{font:700 30px 'Barlow Condensed',sans-serif;margin:5px 0}
#cabinet .shared-game-shell .cockpit-menu{align-items:center;gap:8px;max-width:none}
#cabinet .shared-game-shell .cockpit-menu button{width:auto;min-height:38px;padding:9px 12px;font-size:10px;letter-spacing:.5px}
#cabinet .shared-game-shell .cockpit-menu select{padding:9px;min-height:38px}
#cabinet .shared-game-shell .race-display-stage{min-height:0;container-type:size;background:transparent}
.shared-game-output{position:relative;width:min(100cqw,calc(100cqh * var(--ratio,1)));max-height:100%;background:#000;overflow:hidden;outline:2px solid #39425a}
.shared-game-output>canvas,.shared-game-output>svg{display:block;position:absolute;inset:0 auto 0 0;width:var(--play-width,100%);height:100%;max-width:none;max-height:none;object-fit:contain;border:0;border-radius:0;margin:0}
#cabinet .shared-game-shell .shared-game-cue{font:700 clamp(18px,3vh,28px) 'Barlow Condensed',sans-serif!important;text-align:center;margin:0;padding:5px;background:transparent;color:white;text-shadow:0 2px 4px #000;transform:none}
#cabinet .shared-game-shell .game-controls{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;max-width:none;width:100%;margin:0;padding:8px;border:1px solid #39425a}
#cabinet .shared-game-shell .game-controls button{width:auto;min-width:135px;min-height:42px;padding:8px 20px;font:700 13px system-ui;transform:none;opacity:1;background:#26314a;border:1px solid #596b87;border-radius:0;box-shadow:none}
#cabinet .shared-game-shell .game-controls small{font-size:9px;margin-top:2px}
#cabinet .shared-game-shell .game-hint{font:11px system-ui;line-height:1.4;text-align:center;margin:0;padding:6px;border-radius:0}
#cabinet .shared-game-shell .cockpit-stats{display:grid;grid-template-columns:1fr 1fr .7fr .8fr 2fr;min-height:75px;margin:0 0 8px}
#cabinet .shared-game-shell .ff-meta{font:700 13px system-ui;letter-spacing:0;margin:0;background:transparent;padding:0}
#cabinet .shared-game-shell .ff-book-credit{position:absolute;bottom:0;right:22px;font-size:8px;padding:0;background:#0b101b;z-index:2}
#cabinet .shared-game-shell .shared-voice{font:10px system-ui;max-width:180px;display:flex;gap:4px;align-items:center}
#cabinet .shared-game-shell .shared-voice input{width:70px}
#cabinet .shared-game-shell>.voice-controls{display:none}
@media(max-width:750px){#cabinet .shared-game-shell.game-wrap.immersive{padding:0 6px;grid-template-rows:auto minmax(160px,1fr) auto auto auto auto}#cabinet .shared-game-shell .cockpit-top{flex-wrap:wrap;padding:7px 0}#cabinet .shared-game-shell .cockpit-menu{justify-content:flex-start}#cabinet .shared-game-shell .cockpit-top h2{font-size:23px}#cabinet .shared-game-shell .cockpit-menu button{padding:6px;font-size:8px}#cabinet .shared-game-shell .cockpit-stats{grid-template-columns:repeat(4,1fr)}#cabinet .shared-game-status{grid-column:1/-1}#cabinet .shared-game-shell .cockpit-stats strong{font-size:18px}}
#cabinet .shared-game-shell.game-wrap.immersive{overflow-x:hidden;grid-template-rows:auto minmax(160px,1fr) auto auto auto auto}
#cabinet .shared-game-shell .cockpit-top>div{min-width:0}
#cabinet .shared-game-shell .shared-voice{max-width:none;flex-shrink:0;padding:5px}
#cabinet .shared-game-shell .shared-voice label{white-space:nowrap}
#cabinet .shared-game-shell .game-hint{max-width:none;width:100%}
#cabinet .shared-game-shell .cockpit-menu>label{font-size:10px;white-space:nowrap}
#cabinet.shared-game-active:before,#cabinet.shared-game-active:after{display:none}
#cabinet[data-screen=sheets]{background:#171528;overflow-y:auto}
#cabinet[data-screen=sheets] .ff-wrap{max-width:1250px;min-height:100dvh;padding:clamp(16px,3vw,40px);gap:10px;justify-content:center}
#cabinet[data-screen=sheets] .ff-orb,#cabinet[data-screen=sheets] .ff-brand,#cabinet[data-screen=sheets] .ff-meta{display:none}
#cabinet[data-screen=sheets] .ff-title{font-size:clamp(34px,5vw,68px)!important}
.ff-sheet-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;gap:12px}
#cabinet .ff-sheet-grid button{min-width:0;padding:8px;background:#262239;color:white;font-size:clamp(16px,2vw,24px)}
.ff-sheet-grid img.ff-sheet-thumb{display:block;width:100%;height:clamp(78px,17dvh,190px);object-fit:contain;background:#f8f4ea;margin-bottom:6px;position:static}
#cabinet .ff-sheet-grid button:is(:hover,:focus-visible){outline:2px solid var(--sun);box-shadow:0 0 16px #c4ff5540}
@media(max-width:700px){.ff-sheet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#cabinet[data-screen=sheets] .ff-wrap{justify-content:flex-start}}

#cabinet[data-screen=title] .ff-title-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;pointer-events:none;z-index:0}
#cabinet[data-screen=title] .ff-wrap{position:relative;z-index:1}

#menu-brand {
  position: fixed;
  right: max(12px, env(safe-area-inset-right));
  bottom: max(10px, env(safe-area-inset-bottom));
  z-index: 10015;
  width: clamp(80px, 11vw, 165px);
  aspect-ratio: 1.65;
  background: url('soundz-tech.png') center 51% / 122% auto no-repeat;
  pointer-events: none;
}

#cabinet[data-screen=title]::before,#cabinet[data-screen=title]::after{content:none}
#cabinet.ff-title-loading .ff-wrap,#cabinet.ff-title-loading .ff-title-film{visibility:hidden}
.ff-intro-loader{position:absolute;inset:0;z-index:3;display:grid;place-items:center;background:#080a16;color:#f2f5ff}
.ff-intro-loader>div{width:min(75vw,390px);display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px}
.ff-intro-loader h2{grid-column:1/-1;font:800 clamp(30px,6vw,52px) 'Barlow Condensed',sans-serif;text-transform:uppercase}
.ff-intro-loader progress{width:100%;height:10px;accent-color:#c4ff43}
.ff-intro-loader output{font:700 14px monospace}
.ff-intro-loader button{grid-column:1/-1;justify-self:start;color:white;border:1px solid #9195aa;padding:9px 13px}
