@import url('https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@400;500;600;700&family=Prompt:wght@400;500;600;700&display=swap');

:root { --navy:#06142f; --blue:#135bff; --cyan:#35d8ff; --cream:#f5f1e8; --ink:#081634; --muted:#98a8c5; --card:#0d2146; }
* { box-sizing:border-box; }
html,body { width:100%; height:100%; overflow:hidden; }
body { margin:0; min-height:100vh; color:white; background:radial-gradient(circle at 75% 20%, #143777 0, var(--navy) 35%, #030b1c 100%); font-family:'Prompt',sans-serif; }
button { font:inherit; }
.app-shell { min-height:100vh; max-width:1500px; margin:auto; padding:28px clamp(24px,5vw,72px) 48px; }
.topbar { display:flex; align-items:center; justify-content:space-between; min-height:72px; position:relative; z-index:10; }
.brand { color:white; background:none; border:0; font:700 1.45rem 'Chakra Petch',sans-serif; letter-spacing:.12em; cursor:pointer; }
.brand-dot { display:inline-block; width:13px; height:13px; margin-right:8px; border-radius:50%; background:var(--cyan); box-shadow:0 0 18px var(--cyan); }
.scoreboard { display:flex; align-items:center; gap:18px; padding:10px 18px; border:1px solid #ffffff24; border-radius:18px; background:#071a38b8; backdrop-filter:blur(14px); }
.scoreboard div { display:flex; align-items:center; gap:10px; color:#b8c6dd; }
.scoreboard strong { color:white; font:700 1.5rem 'Chakra Petch'; }
.scoreboard .versus { color:var(--cyan); font:700 .75rem 'Chakra Petch'; }
.scoreboard small { color:#98a8c5; border-left:1px solid #ffffff25; padding-left:18px; }
.screen { display:none; min-height:calc(100vh - 120px); }
.screen.active { display:flex; }
#home-screen { align-items:center; justify-content:space-between; gap:40px; }
.hero-copy { position:relative; z-index:2; flex:1; }
.eyebrow { margin:0 0 18px; color:var(--cyan); font:600 .82rem 'Chakra Petch'; letter-spacing:.25em; text-transform:uppercase; }
h1 { margin:0; font-size:clamp(3.7rem,8vw,8rem); line-height:.88; letter-spacing:-.07em; }
h1 span { color:transparent; -webkit-text-stroke:2px #78ddff; text-shadow:0 0 40px #139dff45; }
.hero-copy>p:not(.eyebrow) { margin:32px 0; font-size:1.15rem; color:#b8c6dd; }
.actions { display:flex; gap:14px; flex-wrap:wrap; }
.button { border:0; border-radius:16px; padding:17px 28px; font-weight:600; cursor:pointer; transition:.2s transform,.2s box-shadow; }
.button:hover { transform:translateY(-2px); }
.button.primary { background:linear-gradient(135deg,var(--cyan),#3283ff); color:#03102a; box-shadow:0 14px 35px #168bff45; }
.button.primary span { margin-left:20px; font-size:1.25em; }
.button.secondary { color:white; background:#ffffff0c; border:1px solid #ffffff38; }
.hero-stage { flex:1; min-height:570px; position:relative; display:grid; place-items:center; }
.orbit { position:absolute; border:1px solid #4ddfff4d; border-radius:50%; }
.orbit-one { width:470px; height:470px; animation:spin 20s linear infinite; border-style:dashed; }
.orbit-two { width:330px; height:330px; box-shadow:0 0 90px #076eff2e inset; }
.alvis-avatar { z-index:2; width:260px; height:300px; display:flex; flex-direction:column; align-items:center; justify-content:center; border:2px solid #43d9ff; border-radius:44% 44% 40% 40%; background:linear-gradient(145deg,#173c73,#071a3a); box-shadow:0 0 60px #168cff65,inset 0 0 35px #35d8ff22; transform:rotate(-3deg); }
.alvis-avatar .antenna { width:4px; height:55px; background:var(--cyan); position:absolute; margin-top:-340px; }
.alvis-avatar .antenna:before { content:''; display:block; width:15px; height:15px; border-radius:50%; background:var(--cyan); transform:translate(-5px,-10px); box-shadow:0 0 18px var(--cyan); }
.face { display:flex; gap:38px; padding:35px 44px; border-radius:40px; background:#020914; }
.face i { width:22px; height:38px; border-radius:20px; background:var(--cyan); box-shadow:0 0 15px var(--cyan); }
.alvis-avatar b { margin-top:35px; font:700 1.2rem 'Chakra Petch'; letter-spacing:.2em; }
.floating-hand { position:absolute; z-index:3; display:grid; place-items:center; width:110px; height:110px; border-radius:28px; background:#f5f1e8; font-size:4.6rem; box-shadow:0 18px 45px #0006; }
.floating-hand.rock { top:12%; left:5%; transform:rotate(-12deg); }.floating-hand.paper { right:0; top:32%; transform:rotate(13deg); }.floating-hand.scissors { left:8%; bottom:6%; transform:rotate(8deg); }
.panel-screen { align-items:center; justify-content:center; padding:30px 0; }
.panel { width:min(920px,100%); position:relative; padding:42px; border:1px solid #ffffff28; border-radius:30px; background:#091b3cf0; box-shadow:0 24px 80px #0007; text-align:center; }
.panel h2,.game-heading h2 { margin:0; font-size:clamp(2rem,4vw,3.5rem); }
.close-button { position:absolute; right:22px; top:18px; color:white; background:none; border:0; font-size:2rem; cursor:pointer; }
.instruction { max-width:690px; margin:15px auto 28px; color:#c6d2e5; font-size:1.1rem; }.instruction strong { color:var(--cyan); }
.gesture-guide { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.gesture-guide div { padding:20px; border-radius:20px; background:#ffffff0a; border:1px solid #ffffff17; display:flex; flex-direction:column; gap:4px; }
.gesture-guide span { height:108px; display:block; }.gesture-guide span img { display:block; width:100%; height:100%; padding:6px 12px; object-fit:contain; object-position:center; }.gesture-guide b { font-size:1.15rem; }.gesture-guide small { color:var(--muted); font-family:'Chakra Petch'; }
.demo { margin:22px 0; padding:13px 18px 12px; border-radius:20px; background:#06142e; overflow:hidden; }
.demo-hands { height:62px; display:flex; justify-content:center; align-items:center; }.demo-hands span { width:62px; height:62px; display:block; animation:demoRevealHand 3s infinite; }.demo-hands img { display:block; width:100%; height:100%; padding:3px; object-fit:contain; object-position:center; }
.demo-words { display:flex; justify-content:center; gap:40px; margin-top:8px; color:#667999; }.demo-words b { animation:demoWord 3s infinite; }.demo-words b:nth-child(2){animation-delay:1s}.demo-words b:nth-child(3){animation-delay:2s}
.demo-hint { margin:6px 0 0; color:#b8c6dd; font-size:.78rem; text-align:center; }
.how-actions { display:flex; justify-content:center; gap:14px; }
.game-screen { flex-direction:column; padding-top:25px; }.game-heading { text-align:center; margin-bottom:24px; }.game-heading .eyebrow { margin-bottom:5px; }
.arena { display:grid; grid-template-columns:minmax(260px,.75fr) 140px minmax(280px,1fr); align-items:stretch; gap:20px; }
.player-card,.alvis-card { border:1px solid #ffffff20; border-radius:24px; padding:16px; background:#091d40c9; box-shadow:0 18px 50px #0004; }
.card-title { display:flex; align-items:center; justify-content:space-between; padding:0 4px 12px; }.card-title span { font-weight:600; }.card-title b { color:#8da0be; font-size:.72rem; font-weight:500; }
.camera-frame { aspect-ratio:4/3; position:relative; overflow:hidden; border-radius:17px; background:#020916; }
#webcam,#landmark-canvas { position:absolute; width:100%; height:100%; object-fit:cover; transform:scaleX(-1); }
.camera-message { position:absolute; inset:0; display:grid; place-items:center; padding:30px; text-align:center; color:#aebed6; background:#07152f; }
.camera-message.hidden { display:none; }.detected-badge { position:absolute; left:12px; bottom:12px; padding:7px 11px; border-radius:10px; background:#06142fd9; font-size:.72rem; color:#aebed6; }
.choice-display { text-align:center; padding:7px; }.choice-display img { width:38px; height:38px; object-fit:contain; vertical-align:middle; }.choice-display b { margin-left:8px; }
.countdown-zone { position:relative; display:grid; place-items:center; }.countdown-text { position:relative; z-index:2; color:var(--cyan); font:700 1.25rem 'Chakra Petch'; text-align:center; }
.pulse-ring { position:absolute; width:95px; height:95px; border:1px solid #32d9ff48; border-radius:50%; animation:pulse 1.5s infinite; }
.alvis-card { display:flex; flex-direction:column; background:linear-gradient(155deg,#fffef7,#f4edc9); color:var(--ink); border-color:#fff8; }
.alvis-card .card-title b { color:#607584; }
.alvis-mini-face { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:145px; margin-bottom:10px; border-radius:18px; background:radial-gradient(circle at 50% 36%,#fff 0 18%,#ffe758 19% 52%,#e8c923 53% 100%); overflow:hidden; box-shadow:inset 0 -10px 25px #b9942533; }
.alvis-mini-screen { width:150px; height:82px; display:flex; align-items:center; justify-content:center; gap:38px; border:7px solid #f8fbff; border-radius:42% 42% 35% 35%; background:#e9f0ff; box-shadow:0 9px 0 #c9d4e8,0 15px 25px #17396b2b; }
.alvis-mini-screen i { display:block; width:22px; height:38px; border-radius:50%; background:#19469f; box-shadow:inset 0 -4px 0 #04287140; animation:alvisBlink 5s infinite; }
.alvis-mini-face strong { margin-top:15px; color:#19469f; font:700 .8rem 'Chakra Petch'; letter-spacing:.18em; }
.alvis-hand { flex:1; min-height:125px; display:flex; flex-direction:column; align-items:center; justify-content:center; border-radius:18px; background:radial-gradient(circle,#eaf0ff,#cdd9f1 68%); border:1px solid #19469f20; }
.alvis-hand span { font:700 7rem 'Chakra Petch'; color:#5d7192; }.alvis-hand small { color:#788aa8; }
.alvis-hand.revealed span { font-family:inherit; color:white; filter:drop-shadow(0 0 20px #19469f55); }
.result-panel { display:flex; justify-content:center; align-items:center; gap:24px; padding:20px 0 0; }.result-panel p { margin:0; color:var(--cyan); font-size:1.55rem; font-weight:700; }.result-panel small { color:#8da0be; }.hidden { display:none!important; }
@keyframes spin { to{transform:rotate(360deg)} } @keyframes pulse { 50%{transform:scale(1.25);opacity:.3} } @keyframes alvisBlink { 0%,45%,49%,100%{transform:scaleY(1)}47%{transform:scaleY(.08)} } @keyframes demoRevealHand { 0%,64%{opacity:0;transform:translateY(18px) scale(.9)} 68%,94%{opacity:1;transform:translateY(0) scale(1)} 100%{opacity:0;transform:translateY(8px) scale(.95)} } @keyframes demoWord { 0%,32%{color:var(--cyan)} 33%,100%{color:#667999} }
@media(max-width:850px){ .app-shell{padding:18px}.scoreboard{gap:9px}.scoreboard small{display:none}#home-screen{flex-direction:column;padding-top:50px}.hero-copy{text-align:center}.actions{justify-content:center}.hero-stage{width:100%;min-height:430px}.orbit-one{width:360px;height:360px}.orbit-two{width:280px;height:280px}.alvis-avatar{width:210px;height:250px}.arena{grid-template-columns:1fr 70px 1fr}.alvis-hand{min-height:190px}.alvis-hand span{font-size:5rem}.panel{padding:34px 18px}.gesture-guide span{font-size:3.3rem}}
@media(max-width:620px){.topbar{align-items:flex-start}.scoreboard{padding:7px 10px}.scoreboard div{gap:5px;flex-direction:column}.screen{min-height:calc(100vh - 90px)}h1{font-size:3.6rem}.hero-stage{transform:scale(.82);margin:-40px 0}.gesture-guide{gap:7px}.gesture-guide div{padding:12px 5px}.arena{grid-template-columns:1fr}.alvis-card{grid-row:1;min-height:250px}.countdown-zone{height:70px;grid-row:2}.player-card{grid-row:3}.result-panel{flex-direction:column}.game-heading h2{font-size:1.8rem}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* MWIT Open House 1024 × 768 kiosk composition */
:root {
  --mwit-blue:#063ca0;
  --mwit-deep:#031c68;
  --mwit-yellow:#ffd51f;
  --mwit-sky:#1dd4ff;
  /* ปรับระยะขอบปลอดภัยของทั้งแอปตรงนี้ เช่น 1cm หรือ 0.5cm */
  --screen-safe-margin:1cm;
  --audio-controls-edge-margin:1.5cm;
  --app-header-height:52px;
}
body { background:radial-gradient(circle at 25% 45%,#086ee9 0,#06369d 32%,#021760 78%); }
.app-shell { position:relative; width:100%; max-width:1280px; height:100vh; min-height:0; display:flex; flex-direction:column; padding:var(--screen-safe-margin); overflow:hidden; }
.topbar { flex:0 0 var(--app-header-height); min-height:var(--app-header-height); }
.brand { display:flex; align-items:center; gap:8px; min-width:142px; padding:8px 15px 8px 9px; border:2px solid #2ca7ff; border-radius:999px; background:linear-gradient(180deg,#0872d9,#06388f); box-shadow:0 5px 12px #00175c88; font-family:'Prompt',sans-serif; font-size:1rem; letter-spacing:0; }
.home-icon { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; color:#fff; background:#27a7ff; font-size:1.6rem; line-height:1; }
.round-chip { display:none; min-width:132px; padding:10px 25px; border:2px solid #9bc9ff; border-radius:999px; color:#0b378b; background:#eef6ff; box-shadow:0 5px 13px #143b7850; text-align:center; font-weight:700; }
.round-chip b { color:#f1ab00; margin-left:7px; }
.scoreboard { gap:13px; padding:8px 16px; border:2px solid #5d84bd; border-radius:999px; background:linear-gradient(180deg,#082b83,#041d62); box-shadow:0 5px 15px #00144e66; }
.scoreboard div { color:white; font-weight:600; }.scoreboard strong { font-size:1.8rem; }.scoreboard .versus { color:var(--mwit-yellow); font-size:1rem; }.scoreboard small { color:white; }
.sound-toggle { position:absolute; z-index:20; left:var(--audio-controls-edge-margin); bottom:var(--audio-controls-edge-margin); display:grid; place-items:center; width:44px; height:44px; padding:0; border:2px solid #7eb8ef; border-radius:50%; color:white; background:#06378fd9; box-shadow:0 4px 12px #00184f66; cursor:pointer; font-size:1.25rem; line-height:1; }
.sound-toggle[aria-pressed="true"] { color:#dce8f5; background:#526b89e6; }
.music-toggle { position:absolute; z-index:20; left:calc(var(--audio-controls-edge-margin) + 54px); bottom:var(--audio-controls-edge-margin); display:grid; place-items:center; width:44px; height:44px; padding:0; border:2px solid #7eb8ef; border-radius:50%; color:white; background:#06378fd9; box-shadow:0 4px 12px #00184f66; cursor:pointer; font-size:1.5rem; line-height:1; }
.music-toggle[aria-pressed="true"] { color:#dce8f5; background:#526b89e6; }
.music-toggle[aria-pressed="true"]::after { content:""; position:absolute; width:27px; height:3px; border-radius:2px; background:#fff; transform:rotate(-45deg); }
body:not([data-state="HOME"]):not([data-state="HOW_TO_PLAY"]) .music-toggle { display:none; }
body[data-state="HOME"] .brand, body[data-state="HOW_TO_PLAY"] .brand { visibility:hidden; }
body[data-state="HOME"] .topbar { position:absolute; width:0; height:0; min-height:0; overflow:visible; }
body[data-state="HOME"] .scoreboard { position:static; width:min(100%,470px); min-height:74px; margin:0 0 34px; justify-content:center; gap:18px; padding:11px 22px; border-color:#76a2d2; box-shadow:0 8px 18px #00144e77; }
body[data-state="HOME"] .scoreboard div { flex-direction:row; gap:11px; }
body[data-state="HOME"] .scoreboard div>span { font-size:1rem; }
body[data-state="HOME"] .scoreboard strong { font-size:2.25rem; line-height:1; }
body[data-state="HOME"] .scoreboard .versus { font-size:1.15rem; }
body[data-state="HOME"] .scoreboard small { font-size:.95rem; }
body:not([data-state="HOME"]):not([data-state="HOW_TO_PLAY"]) .round-chip { display:block; position:absolute; left:50%; transform:translateX(-50%); }
#home-screen { position:relative; flex:1 1 auto; flex-direction:row-reverse; gap:12px; min-height:0; }
#home-screen::before { content:""; position:absolute; inset:-82px -24px -24px; z-index:-2; background:repeating-conic-gradient(from 202deg at 31% 49%,#0b56d8 0deg 6deg,transparent 6deg 13deg); opacity:.28; }
#home-screen::after { content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(circle at 23% 48%,#19a6ff99,transparent 33%),radial-gradient(circle at 100% 65%,#0a56d755,transparent 35%); }
.hero-copy { flex:1.08; padding-left:8px; }
.hero-copy .eyebrow { display:none; }
h1 { color:white; font-size:clamp(4.25rem,8.2vw,6.6rem); line-height:.88; text-align:left; text-shadow:0 8px 0 #021852,0 12px 20px #0009; letter-spacing:-.055em; }
h1 span { color:var(--mwit-yellow); -webkit-text-stroke:0; text-shadow:0 8px 0 #9c6500,0 12px 20px #0008; }
.hero-copy>p:not(.eyebrow) { margin:32px 0 18px; color:var(--mwit-sky); font-size:1.25rem; font-weight:700; }
.button { min-height:58px; border-radius:999px; font-size:1.15rem; font-weight:700; }
.button.primary { color:#493600; background:linear-gradient(180deg,#ffe54e,#ffbd08); border:2px solid #fff37c; box-shadow:0 7px 0 #bb7b00,0 13px 28px #00134c88; }
.button.secondary { background:#092b7d; border:2px solid #7898ce; box-shadow:0 6px 0 #02184f; }
.hero-stage { flex:.92; min-height:560px; }
.alvis-home-image { position:relative; z-index:3; width:min(92%,410px); max-height:535px; object-fit:contain; filter:drop-shadow(0 18px 12px #00103f99) drop-shadow(0 0 13px #71caff); }
.orbit-one { width:430px; height:430px; border-color:#5eceff99; }.orbit-two { width:340px; height:340px; box-shadow:0 0 100px #28b9ff66 inset; }
.floating-hand { width:76px; height:76px; color:#36baff; background:#073b9bcc; border:2px solid #36baff; opacity:.55; overflow:hidden; }.floating-hand img { width:88%; height:88%; object-fit:contain; }

.game-screen { flex:1 1 auto; padding-top:7px; min-height:0; overflow:hidden; }
.confetti-layer { position:absolute; z-index:15; top:0; bottom:0; width:38%; overflow:hidden; pointer-events:none; }
.confetti-layer.confetti-alvis { left:var(--screen-safe-margin); }
.confetti-layer.confetti-player { right:var(--screen-safe-margin); }
.confetti-layer i { position:absolute; top:-22px; left:var(--x); width:9px; height:16px; border-radius:2px; opacity:0; animation:confetti-fall var(--duration) cubic-bezier(.22,.65,.45,1) var(--delay) forwards; }
@keyframes confetti-fall { 0% { opacity:0; transform:translate3d(0,-15px,0) rotate(0); } 10% { opacity:1; } 100% { opacity:0; transform:translate3d(var(--drift),720px,0) rotate(var(--spin)); } }
.game-heading { margin-bottom:9px; }.game-heading .eyebrow { display:none; }.game-heading h2 { color:#0872cd; font-size:1.55rem; text-shadow:0 2px #fff; }
body:not([data-state="HOME"]):not([data-state="HOW_TO_PLAY"]) { color:#092b78; background:radial-gradient(circle at 50% 42%,#f8fbff,#d8ebff 58%,#bedcff); }
.arena { flex:1; grid-template-columns:minmax(260px,.9fr) minmax(220px,.78fr) minmax(300px,1.08fr); gap:16px; min-height:0; }
.player-card,.alvis-card { min-height:0; padding:12px; border:2px solid #a9d0ff; border-radius:23px; background:#f9fcffef; box-shadow:0 7px 15px #3769a534; }
.card-title { justify-content:center; padding:0 3px 9px; }.card-title span { color:#10398a; font-size:1.25rem; font-weight:700; }.card-title b { display:none; }
.alvis-mini-face { min-height:0; height:44%; margin-bottom:7px; padding:6px; background:#fff; border-radius:16px; }
.alvis-mini-face img { width:100%; height:100%; object-fit:contain; object-position:center; border-radius:12px; }
.alvis-hand { min-height:0; background:linear-gradient(180deg,#073b9d,#021a61); border:2px dashed #6fa3e8; }.alvis-hand .choice-question { color:white; font:700 5.4rem 'Chakra Petch'; }.alvis-hand>img { width:88%; height:calc(100% - 30px); min-height:120px; object-fit:contain; filter:drop-shadow(0 7px 10px #00123f88); }.alvis-hand small { color:#d9e8ff; font-weight:600; }
.camera-frame { height:auto; flex:1; aspect-ratio:auto; min-height:0; border-radius:17px; }.player-card { display:flex; flex-direction:column; }.player-card .camera-frame { flex:1; }
.choice-display { min-height:39px; color:#0b63b9; }
.countdown-zone { display:grid; grid-template-rows:170px 92px 58px 48px 24px; align-content:center; justify-items:center; gap:8px; }
.countdown-text { min-height:0; display:grid; place-items:center; color:#123fc3; font-size:clamp(4.8rem,8vw,6.5rem); line-height:1.12; text-align:center; text-shadow:0 5px 0 #fff,0 8px 15px #0640a455; }
.pulse-ring { width:160px; height:160px; border-color:#ffcf25aa; }
.game-instruction { position:relative; z-index:2; height:92px; display:flex; align-items:center; gap:10px; padding:10px; border:2px solid #abd0fa; border-radius:17px; background:#f8fbff; box-shadow:0 5px 12px #2b59952c; color:#123678; font-size:.78rem; line-height:1.4; }
.game-instruction span { font-size:1.5rem; }.game-instruction p { margin:0; }
.round-replay { position:relative; z-index:2; width:100%; height:58px; min-height:0; padding:8px 17px; font-size:1rem; }
.round-quit { position:relative; z-index:2; width:100%; height:48px; min-height:0; margin-top:12px; padding:7px 14px; font-size:.86rem; }
.result-timeout { height:24px; display:block; color:#547299; text-align:center; font-size:.72rem; line-height:24px; }
.round-replay.hidden,.round-quit.hidden,.result-timeout.hidden { display:block!important; visibility:hidden; pointer-events:none; }
body[data-state="CAPTURE"] .countdown-text { color:#ffbd08; font-size:clamp(6rem,10vw,7.5rem); line-height:1.15; text-shadow:0 5px 0 #fff,0 9px 0 #db8500,0 13px 20px #0640a455; }
body[data-state="RESULT"] .countdown-text { color:#123fc3; font-size:clamp(2.35rem,4.3vw,3.6rem); line-height:1.12; text-shadow:0 4px 0 #fff,0 7px 13px #0640a455; }
.detected-badge { left:50%; bottom:9px; transform:translateX(-50%); width:85%; min-height:48px; padding:7px 10px; border:2px solid #168bff; border-radius:16px; background:#07358fe8; color:white; display:flex; align-items:center; justify-content:center; gap:8px; text-align:center; font-size:.82rem; }.detected-badge img { width:34px; height:34px; object-fit:contain; }.detected-badge strong { font-size:.95rem; }.detected-badge small { opacity:.8; }
.result-panel { display:none!important; }
.game-tip { margin:9px auto 0; padding:8px 24px; border:1px solid #afd3fb; border-radius:999px; background:#d7eaff; color:#123878; text-align:center; font-size:.8rem; font-weight:600; }

@media (max-width:1050px) and (min-width:621px) {
  .app-shell { height:100vh; padding:var(--screen-safe-margin); overflow:hidden; }
  .screen { min-height:0; }
  .topbar { flex-basis:var(--app-header-height); min-height:var(--app-header-height); }
  #home-screen { height:auto; min-height:0; }
  .hero-stage { min-height:0; height:100%; }.alvis-home-image { max-height:84%; width:88%; }
  h1 { font-size:clamp(4rem,8.7vw,5.8rem); }.hero-copy>p:not(.eyebrow){margin:25px 0 15px;font-size:1.05rem}
  body[data-state="HOME"] .scoreboard { width:min(100%,440px); min-height:68px; margin-bottom:28px; padding:9px 17px; gap:13px; }
  body[data-state="HOME"] .scoreboard strong { font-size:2rem; }
  .game-screen { height:auto; min-height:0; overflow:hidden; }
  .game-heading h2 { font-size:1.35rem; }
  .arena { overflow:hidden; }.game-instruction{padding:7px;font-size:.69rem}.countdown-zone{grid-template-rows:150px 84px 54px 44px 22px;gap:6px}.game-instruction{height:84px}.round-replay{height:54px}.round-quit{height:44px}.result-timeout{height:22px;line-height:22px}.game-tip { margin-top:6px; padding-block:6px; }
}
