/* The approved 2172 × 724 reference is an immutable atlas. Live UI replaces
   sample values, and all hit targets use the same proportional coordinates. */
:root,:root[data-layout="portrait"]{--console-height:calc(var(--app-height,100svh) * .4)}
.creation-screen{height:calc(var(--app-height,100svh) - var(--console-height))}
#tv-console{position:fixed;inset:auto 0 0;height:var(--console-height);padding:0 max(0px,env(safe-area-inset-right)) 0 max(0px,env(safe-area-inset-left));border:0;display:flex;align-items:center;justify-content:center;background:#040a18;overflow:hidden;box-shadow:0 -2px 12px #0009;color:#fff;font-family:system-ui,-apple-system,sans-serif}
html[data-native="true"] #tv-console{top:calc(var(--app-height,100svh) - var(--console-height));bottom:auto}
#tv-console .console-artboard{position:relative;width:100%;height:100%;flex:none;container-type:inline-size;isolation:isolate}
#tv-console .console-tv,#tv-console .console-meters,#tv-console .console-public{position:absolute;inset:0 auto 0 0;border:0;border-radius:0;padding:0;display:block;box-shadow:none;min-height:0;background:url('./console-modern-v1.png') no-repeat;background-size:264.5554% 100%;width:37.7993%}
#tv-console .console-meters{left:37.7993%;width:24.8158%;background-size:402.9685% 100%;background-position:50.2756% 0}
#tv-console .console-public{left:62.6151%;width:37.3849%;background-image:url('./console-modern-empty-v1.png');background-size:267.4877% 100%;background-position:100% 0}
#tv-console .console-meters::before,#tv-console #audience-trigger::after{display:none}
#tv-console h2,#tv-console .instrument-label,#tv-console .console-legacy{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
#tv-console .onair-screen{position:absolute;left:11.57%;top:17.26%;width:66.99%;height:53.86%;min-height:0;padding:0;display:block;overflow:hidden;border:0;border-radius:20% / 14%;box-shadow:inset 0 0 8px #000;background:#071321;touch-action:none;cursor:pointer}
#tv-console .onair-screen::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 12px #0009;background:linear-gradient(130deg,#ffffff15,transparent 35%)}
#tv-console .onair-screen.no-signal{background:repeating-linear-gradient(0deg,#0003 0 1px,transparent 1px 4px),linear-gradient(90deg,#b5b9ae 0 14%,#d4c14c 14% 28%,#76c2be 28% 42%,#85bb64 42% 56%,#ac78aa 56% 70%,#b45f58 70% 84%,#7994ba 84%)}
#tv-console .onair-screen.tv-powered-off{background:radial-gradient(ellipse at 30% 20%,#182433,#03060b 75%)}
#tv-console #onair-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:inherit}
#tv-console #onair-title{position:absolute;left:0;right:0;bottom:0;width:auto;height:auto;padding:8% 4% 3%;background:linear-gradient(transparent,#07131be8);color:#fff;font:750 clamp(9px,1.1cqw,22px)/1.15 system-ui;text-align:center;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;z-index:1}
#tv-console #onair-detail,#tv-console #onair-icon{display:none}
#tv-console #onair-badge{top:7%;left:7%;font-size:clamp(7px,.8cqw,14px)}
#tv-console .tv-channel-controls{position:absolute;left:23.1%;top:75.8%;width:53%;height:12.8%;display:flex;gap:2.8%;align-items:stretch;transform:none;padding:0;background:none;border:0;z-index:3}
#tv-console .tv-channel-controls .tv-key{position:relative;flex:1;min-width:0;width:auto;height:100%;min-height:0;padding:0;border:0;border-radius:12%;box-shadow:none;background:none;color:transparent;font-size:0;transform:none;touch-action:manipulation}
#tv-console .tv-key::after{content:"";position:absolute;inset:18% 1%;border-radius:12%;transition:background .12s}
#tv-console .tv-key[aria-pressed="true"]::after{background:#05102055;box-shadow:inset 0 2px 6px #000a,0 0 5px #fff5}
#tv-console :is(.tv-key,.onair-screen,#cash,#clock,#audience-trigger):focus-visible{outline:2px solid white;outline-offset:2px}
#tv-console .console-meters>div{position:absolute;inset:0;display:block;border:0;min-height:0;padding:0;background:none;pointer-events:none}
#tv-console .console-meters #cash,#tv-console .console-meters #clock,#tv-console .console-meters #audience-trigger{pointer-events:auto}
#tv-console .instrument-art{position:absolute;left:4%;top:9%;width:29%;height:18%;background:#1b263d;pointer-events:none}
#tv-console #audience-trigger .instrument-art{top:9%;height:82%}
#tv-console .clock-instrument .instrument-art{top:65.5%;height:21%}
#tv-console .reputation-instrument .instrument-art{left:72%;top:48%;width:23%;height:16.5%;background:#172136}
#tv-console .console-meters #cash,#tv-console .console-meters #clock,#tv-console #audience-share{position:absolute;left:37.7%;top:13.5%;width:53.5%;height:9.6%;padding:0;border:0;border-radius:7%;display:flex;align-items:center;justify-content:center;background:linear-gradient(#02628f,#004d7a 60%,#079ec0);box-shadow:none;color:#fff;font:800 clamp(14px,min(3cqw,calc(var(--console-height) * .09)),65px)/1 system-ui;letter-spacing:-.04em;font-variant-numeric:tabular-nums;text-shadow:0 2px 2px #00172d;cursor:pointer}
#tv-console .console-meters #clock{top:71.2%;height:10.3%;font-size:clamp(14px,min(2.9cqw,calc(var(--console-height) * .087)),63px)}
#tv-console .console-meters #cash:hover,#tv-console .console-meters #clock:hover{background:linear-gradient(#0476a6,#005f91 60%,#0cb1d5)}
#tv-console #cash:active,#tv-console #clock:active{transform:none}
#tv-console .console-meters #audience-trigger{position:absolute;left:0;top:28.5%;width:100%;height:18.7%;padding:0;background:none;border:0;z-index:2;cursor:pointer}
#tv-console #audience-trigger #audience-share{left:37.7%;top:23.5%;height:51.3%;width:53.5%;font-size:clamp(14px,min(3cqw,calc(var(--console-height) * .09)),65px)}
#tv-console .hud-meter{position:absolute;display:block;padding:0;overflow:hidden;box-sizing:border-box;border:2px solid #c2e9ff;border-radius:999px;background:linear-gradient(#2c4465,#071426 55%,#647b96);box-shadow:inset 0 2px 4px #000b,0 0 3px #27caff;--value:0%;pointer-events:none}
#tv-console .hud-meter i{position:absolute;inset:2px auto 2px 2px;width:clamp(0px,calc(var(--value) - 4px),100%);border-radius:inherit;background:repeating-linear-gradient(90deg,transparent 0 14px,#1f710955 14px 15px),linear-gradient(#fff, #b9ff00 16%,#74e400 48%,#2dc000 62%,#8aff00 85%,#edff9b);box-shadow:0 0 7px #85ff00,inset 0 0 0 1px #c4ff8a;transition:width .35s ease}
#tv-console #reputation-meter{left:6.7%;top:52.35%;width:65.2%;height:6.9%;border-color:#bedaff;background:linear-gradient(#b8c9e3,#f0f5fc 40%,#7193bd 60%,#d6e6fd)}
#tv-console .living-room{position:absolute;inset:28.7293% auto auto 5.1724%;width:89.6552%;height:46.1326%;border:0;border-radius:0;background:none;box-shadow:none;overflow:hidden;pointer-events:none}
#tv-console #family-canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent),linear-gradient(0deg,transparent,#000 3%,#000 94%,transparent);mask-composite:intersect}
#tv-console .family-tv-off::after{content:"";display:block;position:absolute;left:5.4%;top:11.5%;width:89.3%;height:74%;border-radius:13% / 12%;background:radial-gradient(ellipse at 30% 20%,#182433,#03060b 75%);z-index:1;pointer-events:none}
#tv-console .audience-plaque{position:absolute;left:22.78%;top:12.57%;width:54.43%;height:15.88%;padding:1.2% 2%;border:1px solid #d8ddf4;border-radius:6% / 20%;display:flex;align-items:center;gap:4%;box-sizing:border-box;background:linear-gradient(125deg,#181d35,#10172c 60%,#212844);box-shadow:inset 0 0 3px #c8a6ff,0 1px 3px #0009;color:#fff;z-index:2}
#tv-console .audience-plaque svg{display:block;flex:none;width:27%;height:72%}
#tv-console .audience-plaque>div{display:flex;flex-direction:column;align-items:center;min-width:0;flex:1;gap:3%}
#tv-console .audience-plaque span{font:850 clamp(7px,min(1.5cqw,calc(var(--console-height) * .044)),32px)/1.1 system-ui;white-space:nowrap}
#tv-console #family-viewers{font:800 clamp(12px,min(2.3cqw,calc(var(--console-height) * .069)),50px)/1.1 system-ui;letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:#fff58b;text-shadow:0 2px #000;white-space:nowrap}
#tv-console #family-share-meter{left:26.3%;top:75.8%;width:49.8%;height:8.1%;z-index:2}
#tv-console #family-share{position:absolute;left:77.1%;top:76%;width:12%;height:7.8%;display:flex;align-items:center;justify-content:center;border-radius:5%;background:linear-gradient(#141a2e,#0b1326);color:#fff;font:850 clamp(10px,min(2cqw,calc(var(--console-height) * .061)),44px)/1 system-ui;letter-spacing:-.05em;text-shadow:0 2px 2px #000;white-space:nowrap;z-index:2}
/* Portrait is a requirement screen, not a separate game layout. */
.orientation-notice{display:none;position:fixed;inset:0;z-index:200;padding:28px;background:#060c17;color:#f3e3bd;align-items:center;justify-content:center;text-align:center;font-family:system-ui}
.orientation-notice-card{width:min(100%,440px)}
.orientation-notice svg{display:block;width:96px;height:72px;margin:0 auto 22px;color:#edbf66}
.orientation-notice h1{font-size:clamp(23px,5vw,32px);margin:0 0 18px;line-height:1.2}
.orientation-notice p{font-size:clamp(16px,3.2vw,20px);line-height:1.55;margin:0}
:root[data-layout="portrait"] .orientation-notice{display:flex}
:root[data-layout="portrait"] :is(main,.language-settings-trigger,body>header,body>footer){visibility:hidden;pointer-events:none}
@media(prefers-reduced-motion:reduce){#tv-console .hud-meter i,#tv-console .tv-key::after{transition:none}}
