@font-face{font-family:Megrim;src:url('/art/fonts/Megrim-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:block}
:root{--oasis-background:url('/art/environment/oasis_background.png');--ink:#352509;--oasis-blue:#005ecd;--gold:#ffdc7f;--scene-width:min(100vw,46.758vh,480px)}
@supports(height:100svh){:root{--scene-width:min(100vw,46.758svh,480px)}}
*{box-sizing:border-box}body{margin:0;background:#c0a064 var(--oasis-background) center/cover fixed no-repeat;color:var(--oasis-blue);font-family:Megrim;font-weight:400;font-synthesis:none}button,select{font:inherit;color:inherit}input,textarea{font-family:inherit;font-weight:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default}.gameplay{position:relative;width:var(--scene-width);aspect-ratio:1024/2190;margin:auto;isolation:isolate}.gameplay>canvas{display:block;width:100%;height:100%;touch-action:none}.hud{position:absolute;left:2%;top:0;width:42%;height:15%;background:url('/art/ui/hud/score_box_frame_approved_115pct.png') center/contain no-repeat;pointer-events:none}.hud dl{position:absolute;top:39%;left:15%;width:70%;margin:0;font-family:Megrim;font-weight:400;font-size:clamp(12px,calc(var(--scene-width)*.035),18px)}.hud dl div{display:flex;justify-content:space-between;gap:6px}.hud dd{margin:0;font-family:Megrim;font-size:.9em;font-variant-numeric:tabular-nums}.game-cards{position:absolute;top:84.93%;left:5.86%;width:88.28%;display:flex;gap:2.65%}.game-cards button{flex:1;min-width:0;border:0;padding:0;background:none;line-height:0;border-radius:14%;touch-action:manipulation}.game-cards canvas{display:block;width:100%;height:auto}.game-cards button[aria-pressed=true]{outline:2px solid var(--gold);outline-offset:1px}.game-cards button:disabled{opacity:.5}.game-cards button:focus-visible{outline:2px solid white}.notice{position:absolute;top:16%;left:5%;width:90%;text-align:center;font-size:12px;color:#752312}.notice:empty{display:none}details{max-width:900px;margin:16px auto;background:#fff1cfe8;padding:12px}details canvas{max-width:100%;height:auto}details button,details select{margin:4px;padding:8px}summary{cursor:pointer}#hand-bottle{touch-action:none}.hand-cards{display:flex;gap:8px}.hand-cards button{width:30%}.hand-cards canvas{width:100%}#bottle{touch-action:none}
/* UI states are a separate DOM layer; the approved Pass 9 scene is unchanged. */
[hidden]{display:none!important}
.art-button{background:none;border:0;padding:0;line-height:0;touch-action:manipulation}.art-button img{display:block;width:100%;height:auto}.art-button:focus-visible,.audio-toggle:focus-visible{outline:2px solid white;outline-offset:3px}
.title-screen{position:relative;width:min(100vw,66.667svh,680px);height:min(150vw,100svh,1020px);margin:auto;font-family:Megrim;font-weight:400;text-align:center}.title-logo{position:absolute;left:5%;top:16%;width:90%}.title-best{position:absolute;top:39%;width:100%;font-size:clamp(18px,3.2vw,30px)}.title-best span{font-family:Megrim;font-size:.85em}.title-new-game{position:absolute;width:64%;left:18%;top:47%}.title-screen footer{position:absolute;bottom:3%;width:100%;font:16px Megrim}.title-screen #title-notice{position:absolute;bottom:10%;width:100%;font:14px Megrim;color:#752312}
.pause-control{position:absolute;right:5%;top:3%;font-family:Megrim;font-weight:400;font-size:clamp(12px,calc(var(--scene-width)*.045),22px);background:#fff0c8;border:1px solid #a67c27;border-radius:8px;padding:.5em;touch-action:manipulation}
.round-start{position:absolute;left:15%;top:26%;width:70%;height:auto;pointer-events:none;z-index:3}.screen-overlay{position:absolute;inset:0;background:rgb(0 0 0/.48);z-index:5}
.modal-reference{position:absolute;top:0;left:0;width:100%;height:calc(var(--scene-width)*1.5);font-family:Megrim;font-weight:400;text-align:center;color:var(--oasis-blue)}
.modal-art{position:absolute;left:5.074%;top:29.622%;width:89.8516%;height:auto;pointer-events:none}
.modal-heading{position:absolute;left:5%;top:40.104%;transform:translateY(-50%);width:90%;margin:0;font-size:calc(var(--scene-width)*.1015625);line-height:1;color:#fff0c4;font-weight:400}
.volume-row{position:absolute;left:18%;width:64%;display:flex;align-items:center;justify-content:space-between;transform:translateY(-50%);font-size:calc(var(--scene-width)*.056640625)}.music-row{top:49.805%}.sound-row{top:56.445%}.volume-controls{display:flex;align-items:center;gap:calc(var(--scene-width)*.01171875)}.audio-toggle{width:calc(var(--scene-width)*.037109375);height:calc(var(--scene-width)*.037109375);padding:0;background:none;border:0;line-height:0}.audio-toggle img{display:block;width:100%;height:100%}
.volume-controls input{appearance:none;-webkit-appearance:none;width:calc(var(--scene-width)*.21484375);height:calc(var(--scene-width)*.03125);background:url('/art/ui/controls/slider_track.png') center/100% 100% no-repeat;margin:0;cursor:pointer;touch-action:pan-x;border:0;outline-offset:4px}
.volume-controls input::-webkit-slider-thumb{appearance:none;width:calc(var(--scene-width)*.033203125);height:calc(var(--scene-width)*.0442708333);background:url('/art/ui/controls/slider_handle.png') center/contain no-repeat;border:0}
.volume-controls input::-moz-range-thumb{width:calc(var(--scene-width)*.033203125);height:calc(var(--scene-width)*.0442708333);background:url('/art/ui/controls/slider_handle.png') center/contain no-repeat;border:0;border-radius:0}
.modal-button{position:absolute;left:29.98%;width:40.04%}.pause-resume{top:65%}.pause-menu{top:78%}.over-menu{top:80%}.over-retry{top:91%}.clear-next{top:68%}.round-clear-label{position:absolute;top:52%;left:10%;width:80%;font-size:calc(var(--scene-width)*.047)}
.final-statistics{position:absolute;top:49%;left:18%;width:64%;margin:0;font-size:calc(var(--scene-width)*.039);line-height:1.8}.final-statistics div{display:flex;justify-content:space-between;gap:8px}.final-statistics dd{font-family:Megrim;font-size:.9em;margin:0;font-variant-numeric:tabular-nums}.new-best{position:absolute;top:44%;width:100%;margin:0;font-size:calc(var(--scene-width)*.04);color:var(--oasis-blue)}
.tutorial-hint{position:absolute;transform:translate(-50%,-50%);width:25%;pointer-events:none;z-index:2;text-align:center;color:var(--oasis-blue);font-family:Megrim;font-weight:400;font-size:clamp(11px,calc(var(--scene-width)*.032),16px);text-shadow:0 1px 3px #352509}.tutorial-hint img{display:block;width:70%;max-height:70px;object-fit:contain;margin:auto}.tutorial-hint span{display:block;white-space:nowrap}
/* Registration against the supplied locked Title/Round Clear/Game Over references.
   Reference screenshots are never runtime images. Pause uses written Core coordinates. */
.title-screen{background:url('/art/environment/oasis_background.png') center/100% 100% no-repeat}.title-logo{left:13%;top:7.8%;width:74%}.title-best{top:28.5%}.title-new-game{width:60%;left:20%;top:64%}.title-screen footer{font-size:clamp(16px,calc(min(100vw,66.667svh,680px)*.0625),42px);color:var(--oasis-blue);text-shadow:0 1px #fff1bd}
.pause-control{width:14.95%;aspect-ratio:1;right:calc(2.25% - 5px);top:3%;border:0;padding:0;background:none;border-radius:50%;line-height:0}.pause-base{display:block;width:100%;height:100%}.pause-icon{position:absolute;left:32%;top:32%;width:36%;height:36%;object-fit:contain}
.round-start{left:32%;top:13.8%;width:36%}
.modal-heading{color:var(--oasis-blue);-webkit-text-stroke:calc(var(--scene-width)*.0015) #00366f}
.volume-row{left:0;width:100%;justify-content:center}.volume-row label{position:absolute;left:0;bottom:calc(var(--scene-width)*.03515625);width:100%;font-weight:400;color:var(--oasis-blue);-webkit-text-stroke:calc(var(--scene-width)*.001) #00366f;line-height:1}
#game-over-panel .modal-art,#round-clear-panel .modal-art{width:72.3164%;left:13.8418%;top:16.276%}
#game-over-panel .modal-heading,#round-clear-panel .modal-heading{top:31.9%;font-size:calc(var(--scene-width)*.078125)}
#game-over-panel .modal-heading{font-size:calc(var(--scene-width)*.09765625)}
.final-statistics{top:37%;left:26%;width:48%;font-size:calc(var(--scene-width)*.03125);line-height:1.16}.new-best{top:34%;font-size:calc(var(--scene-width)*.03125)}
.over-menu{top:51%}.over-retry{top:62%}.clear-menu{top:46.875%}.clear-next{top:58.594%}.round-clear-label{top:38%;font-size:calc(var(--scene-width)*.04)}
.title-screen{height:100svh;max-height:none;background-size:cover}
/* Preserve the approved slider track's source aspect ratio at the mandated 220px width. */
.volume-controls input{height:calc(var(--scene-width)*.0358072917)}
/* Title Best uses the unchanged approved blank HUD frame; the value remains live. */
.title-best{left:50%;top:calc(28.5% + clamp(27px,4.8vw,45px));transform:translate(-50%,-50%);width:56%;max-width:230px;font-size:clamp(16px,3.2vw,24px);aspect-ratio:1665/1249;margin:0;display:flex;align-items:center;justify-content:center;gap:.35em;background:url('/art/ui/hud/score_box_frame_approved_115pct.png') center/contain no-repeat}
/* Live-phone correction: actual content box follows the unchanged frame aspect ratio. */
.hud{left:var(--banner-left);height:auto;aspect-ratio:1665/1249;color:var(--oasis-blue)}
.hud dl{top:calc(37% + 3px);left:18%;width:64%;font-family:Megrim;font-weight:400;font-size:calc(var(--scene-width)*.032);line-height:1.25;-webkit-text-stroke:calc(var(--scene-width)*.0007) #00366f}
.hud dl div{display:grid;grid-template-columns:1fr 1.45fr;gap:3%;align-items:baseline}
.hud dt,.hud dd{font-family:Megrim;font-size:inherit;font-weight:400;white-space:nowrap;min-width:0}
.hud dd{text-align:right}

/* Duplicate the approved background in the SAME viewport coordinate system.
   The scene-sized alpha mask affects only the glass base, below every grain.
   Matching pixels outside the bottle make the mask's sides/bottom invisible. */
.gameplay::before{content:"";position:fixed;inset:0;z-index:1;pointer-events:none;background:var(--oasis-background) center/cover fixed no-repeat;-webkit-mask:url('/src/rendering/bottle-base-occlusion.svg') center top/var(--scene-width) auto no-repeat;mask:url('/src/rendering/bottle-base-occlusion.svg') center top/var(--scene-width) auto no-repeat}
.game-cards{z-index:2}

/* Live lettering in the approved blue frame/panel treatment; geometry is unchanged. */
.title-best,.round-clear-label,.final-statistics,.new-best{-webkit-text-stroke:calc(var(--scene-width)*.0007) #00366f}

/* Approved Pause heading contrast; other live lettering keeps its existing treatment. */
#pause-heading{color:#fff1cf}

/* Visible PNG frame spans y=292–904; preserve the top/gap and shorten only its lower edge by 2 CSS px. */
.cards-hud,.round-hud{position:absolute;left:calc(var(--banner-left) + var(--scene-width)*.076125);top:calc(var(--scene-width)*(.42*685 + .04725*292)/1665 + 4px + 2px*292/612);width:26.775%;height:calc(var(--scene-width)*.26775*1249/1665 - 2px*1249/612);aspect-ratio:1665/1249;background:url('/art/ui/hud/score_box_frame_approved_115pct.png') center/100% 100% no-repeat;pointer-events:none;color:var(--oasis-blue)}
.cards-hud dl,.round-hud p{position:absolute;top:calc(100%*598/1249);left:18%;width:64%;margin:0;transform:translateY(-50%);display:flex;justify-content:center;gap:.5em;align-items:baseline;font-family:Megrim;font-weight:400;font-size:calc(var(--scene-width)*.032);line-height:1.25;-webkit-text-stroke:calc(var(--scene-width)*.0007) #00366f}
.cards-hud dt,.cards-hud dd{margin:0;white-space:nowrap;min-width:0}
.cards-hud dd{text-align:right}

/* Anchor the visible frame (source x=39) to the screen safe area, including the centered scene gutter. */
.gameplay{--banner-safe-left:env(safe-area-inset-left,0px);--banner-left:calc(10px + var(--banner-safe-left) - (100vw - var(--scene-width))/2 - var(--scene-width)*.42*39/1665)}
/* Staged and released canvas sand stays in front of the display-only banners. */
.hud,.cards-hud,.round-hud{z-index:-1}

/* Mirror the lower counter across the screen, including independent right safe-area padding. */
.gameplay{--banner-safe-right:env(safe-area-inset-right,0px);--banner-right:calc(10px + var(--banner-safe-right) - (100vw - var(--scene-width))/2 - var(--scene-width)*.42*39/1665)}
.round-hud{left:auto;right:calc(var(--banner-right) + var(--scene-width)*.076125)}
/* Align the Pause artwork center (source y=602/1254) with the scoreboard frame center. */
.pause-control{right:calc(var(--banner-right) + var(--scene-width)*.13525);top:calc(var(--scene-width)*(.42*598/1665 - .1495*602/1254))}
/* Adaptive presentation: approved PNG decoration only; CSS handles layout, text,
   focus, dimming and transitions. Original-mode styles above remain unchanged. */
.adaptive-ui{--scene-width:min(calc(100vw - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)),calc((100svh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)) * .46758),480px);margin-top:env(safe-area-inset-top,0px)}
.adaptive-ui::before{-webkit-mask-position:center env(safe-area-inset-top,0px);mask-position:center env(safe-area-inset-top,0px)}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.pour-indicator{--pour-width:clamp(136px,46vw,166px);position:absolute;top:11px;left:50%;transform:translateX(-50%);z-index:3;width:var(--pour-width);height:calc(var(--pour-width)*325/820 - 8px);display:flex;align-items:center;justify-content:center;padding:5px 16px 0;background:none;color:var(--oasis-blue);font-size:clamp(12px,calc(var(--scene-width)*.037),16px);line-height:1.15;white-space:nowrap;pointer-events:none}
.adaptive-introduction{position:absolute;inset:0}
.adaptive-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(78vw,380px);border:0;padding:0;background:none;color:var(--oasis-blue);text-align:center}
.intro-dismiss{width:min(78vw,320px);aspect-ratio:650/607;background:url('/art/ui/adaptive-derived/introduction-panel.png') center/contain no-repeat;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:12% 10%;font:400 clamp(16px,4.3vw,19px)/1.3 Megrim;cursor:pointer;touch-action:manipulation}
.adaptive-heading{font:400 clamp(18px,4.7vw,23px)/1.15 Megrim;font-weight:400;letter-spacing:.01em;margin:0}
#intro-copy{display:block}.intro-action{display:flex;align-items:center;justify-content:center;width:155px;min-height:54px;padding:8px 16px 0;background:url('/art/ui/adaptive-derived/blank-button.png') center/contain no-repeat;font-size:11px;line-height:1.15}
.help-panel{aspect-ratio:720/877;background:url('/art/ui/adaptive-derived/help-panel.png') center/contain no-repeat}
.help-panel .adaptive-heading{position:absolute;top:8%;left:11%;width:78%;color:#fff1cf}
.help-close{position:absolute;top:-12px;right:-12px;width:44px;height:44px;border:0;padding:0;background:none;touch-action:manipulation}
.help-close img,.help-navigation img{display:block;width:100%;height:auto}
.help-illustration{position:absolute;top:21%;left:10%;width:80%;height:29%;display:flex;align-items:center;justify-content:center}
.help-illustration img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
#help-copy{position:absolute;top:52%;left:12%;width:76%;margin:0;white-space:pre-line;font-size:clamp(15px,3.9vw,18px);line-height:1.25}
.help-navigation{position:absolute;left:12%;bottom:7%;width:76%;display:flex;justify-content:space-between;align-items:center;gap:8px}
.help-navigation button{width:44px;height:44px;border:0;padding:0;background:none;touch-action:manipulation}.help-navigation button:disabled{opacity:.35}#help-counter{font-size:17px}
/* Approved Pause panel is retained and proportionally sized, not replaced by CSS. */
.adaptive-ui #pause-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(78vw,360px);height:auto;aspect-ratio:720/877}
.adaptive-ui #pause-panel .modal-art{left:0;top:0;width:100%;height:100%;object-fit:contain}
.adaptive-ui #pause-panel .modal-heading{top:11%;left:10%;width:80%;margin:0;font-size:clamp(22px,5.5vw,28px);color:#fff1cf}
.adaptive-ui #pause-panel .volume-row{left:12%;width:76%;height:44px;justify-content:space-between;font-size:17px}
.adaptive-ui #pause-panel .volume-row label{position:static;width:auto;line-height:1}
.adaptive-ui #pause-panel .music-row{top:26%}.adaptive-ui #pause-panel .sound-row{top:39%}
.adaptive-ui #pause-panel .volume-controls{gap:0}.adaptive-ui #pause-panel .audio-toggle{width:44px;height:44px;flex:none}.adaptive-ui #pause-panel .audio-toggle img{width:24px;height:24px;margin:auto}
.adaptive-ui #pause-panel input{width:min(25vw,110px);height:44px;background-size:100% 16px}
.adaptive-ui #pause-panel .modal-button,.adaptive-ui #pause-help{position:absolute;left:32.752%;width:34.496%;height:auto;min-height:44px;margin:0}
.adaptive-ui #pause-panel .pause-resume{top:49%}.adaptive-ui #pause-help{top:calc(49% + 50px)}.adaptive-ui #pause-panel .pause-menu{top:calc(49% + 100px)}
.adaptive-help-button span{position:absolute;left:12%;width:76%;top:50%;transform:translateY(-50%);font-size:clamp(11.088px,3.08vw,14.784px);line-height:1;color:var(--oasis-blue);-webkit-text-stroke:.2px var(--oasis-blue)}
/* Compact Round Clear leaves the glass and carried sand visible. The original
   transparent NEXT ROUND PNG remains intact; there is no enclosing cream panel. */
.adaptive-ui #round-clear-panel{position:fixed;top:40%;left:50%;width:min(78vw,320px);height:auto;transform:translate(-50%,-50%) scale(var(--clear-scale,1));display:flex;flex-direction:column;align-items:center;gap:4px}
.adaptive-ui #round-clear-panel .modal-art{display:none}
.adaptive-ui #round-clear-panel .modal-heading{position:static;transform:none;width:90%;margin:0;aspect-ratio:820/325;display:flex;align-items:center;justify-content:center;padding-top:6px;background:url('/art/ui/adaptive-derived/blank-button.png') center/contain no-repeat;font-size:clamp(18.9px,5.22vw,25.2px)}
.adaptive-ui #round-clear-panel .round-clear-label{position:static;width:auto;margin:0;font-size:16px;color:#fff1cf;text-shadow:0 1px 3px #352509;order:1}
.adaptive-ui #round-clear-panel #next-round{position:static;order:2;width:190px;max-width:80%;min-height:44px;margin:0;background:none}
.adaptive-ui #round-clear-panel #clear-main-menu{position:static;order:3;width:130px;min-height:44px;margin:0;background:none}
.adaptive-panel button,.intro-dismiss,.adaptive-ui .art-button{-webkit-tap-highlight-color:transparent}
.adaptive-panel button:focus-visible,.intro-dismiss:focus-visible,.adaptive-ui .art-button:focus-visible,.adaptive-ui .audio-toggle:focus-visible{outline:3px solid #00366f;outline-offset:2px}
.adaptive-ui .pause-control{min-width:44px;min-height:44px}
@media(prefers-reduced-motion:reduce){.adaptive-ui #round-clear-panel{transform:translate(-50%,-50%);opacity:1!important}}
@media(max-height:520px){.help-panel,.adaptive-ui #pause-panel{width:min(65vw,310px)}.intro-dismiss{width:min(65vw,290px)}}

/* Make room above the approved HUD for the proportional pour frame. */
.adaptive-ui .hud,.adaptive-ui .cards-hud,.adaptive-ui .round-hud,.adaptive-ui .pause-control{translate:0 40px}
.adaptive-panel button:focus-visible,.intro-dismiss:focus-visible,.adaptive-ui .art-button:focus-visible,.adaptive-ui .audio-toggle:focus-visible{outline:none;filter:drop-shadow(0 0 2px #fff1cf) drop-shadow(0 0 2px #00366f)}

.adaptive-ui .pause-control{translate:18px 40px}

.adaptive-ui #round-clear-panel #next-round,.adaptive-ui #round-clear-panel #clear-main-menu{translate:0 25px}

.adaptive-ui #pause-heading{-webkit-text-stroke:0;color:#fff1cf}

.adaptive-ui #pause-panel .modal-button,.adaptive-ui #pause-help{display:flex;align-items:center;justify-content:center}

.adaptive-ui #round-clear-panel .round-clear-label{display:none}

.adaptive-ui #pause-panel .modal-button,.adaptive-ui #pause-help{translate:0 -5px}

/* Pause artwork: original 56% panel width × 0.70 × 0.80 × 1.10; hit targets remain 44px. */

/* The approved title band spans y=81..157 in the 877px cropped panel.
   Center the text in that band, with cream sampled from the approved parchment. */
.help-panel .adaptive-heading,.adaptive-ui #pause-panel .modal-heading{top:9.24%;height:8.67%;left:19%;width:62%;transform:none;display:flex;align-items:center;justify-content:center;white-space:nowrap;margin:0;color:#f9edd2;font-size:clamp(13.5px,3.5vw,17.5px);line-height:1;font-weight:400;-webkit-text-stroke:.45px #f9edd2;text-align:center}
.adaptive-ui #pause-panel .modal-heading{font-size:clamp(18px,4.5vw,24px)}

.adaptive-ui .game-cards button:focus-visible{outline:none;filter:drop-shadow(0 0 2px #fff1cf) drop-shadow(0 0 2px #00366f)}

.pour-indicator::before,.pour-indicator::after{content:"";position:absolute;left:0;width:100%;z-index:-1;background-position:center;background-size:contain;background-repeat:no-repeat}
.pour-indicator::before{top:0;aspect-ratio:820/165;background-image:url('/art/ui/adaptive-derived/indicator-top.png')}
.pour-indicator::after{bottom:0;aspect-ratio:820/160;background-image:url('/art/ui/adaptive-derived/indicator-bottom.png')}
.adaptive-help-button span{font-family:Megrim;font-size:clamp(12px,3.2vw,15px);letter-spacing:-.02em;-webkit-text-stroke:.45px var(--oasis-blue)}

/* The existing dimmer covers tablet gutters too; keep original modal coordinates. */
.adaptive-ui .screen-overlay{background:none}
.adaptive-ui .screen-overlay::before{content:"";position:fixed;inset:0;background:rgb(0 0 0/.48);z-index:-1}

/* Adaptive HUD refinement: preserve the canvas, bottle and full-size cards. */
.adaptive-ui{--adaptive-card-height:calc(var(--scene-width)*.2786705333);--adaptive-card-top:calc(100svh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - var(--adaptive-card-height) - 4px);--adaptive-score-width:min(calc(var(--scene-width)*.35),calc((100svh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - var(--scene-width)*1.9954674083 - 12px)*820/325))}
.adaptive-ui .game-cards{top:var(--adaptive-card-top)}
.adaptive-ui .hud{left:50%;right:auto;top:calc(var(--adaptive-card-top) - var(--adaptive-score-width)*325/820 - 4px);width:var(--adaptive-score-width);height:auto;aspect-ratio:820/325;transform:translateX(-50%);translate:0;background:url('/art/ui/adaptive-derived/blank-button.png') center/contain no-repeat;z-index:2}
.adaptive-ui .hud dl{top:60%;left:16%;width:68%;transform:translateY(-50%);font-size:max(10px,calc(var(--adaptive-score-width)*.098));line-height:1.05}
.adaptive-ui .hud dl div{grid-template-columns:1fr 1.45fr;gap:3%}
.adaptive-ui .cards-hud,.adaptive-ui .round-hud{top:calc(var(--scene-width)*.2);width:calc(var(--scene-width)*.32);height:auto;aspect-ratio:820/325;translate:0;background:url('/art/ui/adaptive-derived/blank-button.png') center/contain no-repeat;z-index:2}
.adaptive-ui .cards-hud{left:calc(8px + env(safe-area-inset-left,0px) - (100vw - var(--scene-width))/2);right:auto}
.adaptive-ui .round-hud{left:auto;right:calc(8px + env(safe-area-inset-right,0px) - (100vw - var(--scene-width))/2)}
.adaptive-ui .cards-hud dl{top:62%;left:10%;width:80%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;line-height:.9;text-align:center}
.adaptive-ui .cards-hud dt{font-size:clamp(10px,calc(var(--scene-width)*.029),14px)}
.adaptive-ui .cards-hud dd{width:100%;text-align:center;font-size:clamp(14px,calc(var(--scene-width)*.0416),20px)}
.adaptive-ui .round-hud p{top:60%;left:10%;width:80%;transform:translateY(-50%);font-size:clamp(11px,calc(var(--scene-width)*.033),16px);text-align:center}
.adaptive-ui .pause-control{left:auto;right:calc(8px + env(safe-area-inset-right,0px) - (100vw - var(--scene-width))/2);top:4px;translate:0;width:14.95%;min-width:44px;min-height:44px}
.adaptive-ui #tutorial-hint[data-action=selectedPiece]{top:calc(var(--adaptive-card-top) + var(--adaptive-card-height)/2)!important}
/* Swap the progression and status slots, retaining the approved PNG frames. */
.adaptive-ui .cards-hud{--progress-width:clamp(136px,46vw,166px);left:50%;right:auto;top:11px;width:var(--progress-width);height:calc(var(--progress-width)*325/820 - 8px);aspect-ratio:auto;transform:translateX(-50%);background:none}
.adaptive-ui .cards-hud::before,.adaptive-ui .cards-hud::after{content:"";position:absolute;left:0;width:100%;z-index:-1;background-position:center;background-size:contain;background-repeat:no-repeat}
.adaptive-ui .cards-hud::before{top:0;aspect-ratio:820/165;background-image:url('/art/ui/adaptive-derived/indicator-top.png')}
.adaptive-ui .cards-hud::after{bottom:0;aspect-ratio:820/160;background-image:url('/art/ui/adaptive-derived/indicator-bottom.png')}
.adaptive-ui .cards-hud dl{top:62%}
.adaptive-ui .cards-hud dd{font-size:clamp(17px,calc(var(--scene-width)*.052),25px)}
.adaptive-ui .pour-indicator{--pour-width:calc(var(--scene-width)*.304);left:calc(8px + env(safe-area-inset-left,0px) - (100vw - var(--scene-width))/2);top:calc(var(--scene-width)*.2);width:var(--pour-width);height:calc(var(--pour-width)*325/820);transform:none;font-size:clamp(9.5px,calc(var(--scene-width)*.029),13px);padding:5px 10px 0}
.adaptive-ui .round-hud{width:calc(var(--scene-width)*.304)}
.adaptive-ui .cards-hud dt{font-size:max(10px,calc(var(--progress-width)*.068))}
.adaptive-ui .cards-hud dd{font-size:calc(var(--progress-width)*.12)}

/* Adaptive Game Over reuses the taller approved-derived HELP panel unchanged. */
.adaptive-ui #game-over-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(88vw,380px);height:auto;aspect-ratio:720/877;background:url('/art/ui/adaptive-derived/help-panel.png') center/contain no-repeat}
.adaptive-ui #game-over-panel .modal-art{display:none}
.adaptive-ui #game-over-panel .modal-heading{top:9.24%;height:8.67%;left:19%;width:62%;transform:none;display:flex;align-items:center;justify-content:center;white-space:nowrap;margin:0;color:#f9edd2;font-size:clamp(18px,5vw,24px);line-height:1;-webkit-text-stroke:.45px #f9edd2}
.adaptive-ui #game-over-panel .final-statistics{top:23%;left:19%;width:62%;font-size:clamp(11px,calc(var(--scene-width)*.032),14px);line-height:1.2}
.adaptive-ui #game-over-panel .new-best{top:19%;font-size:clamp(11px,3vw,14px)}
.adaptive-ui #game-over-panel .modal-button,.adaptive-ui .restart-round{left:29%;width:42%;min-height:44px}
.adaptive-ui .restart-round{position:absolute;top:49%;display:flex;align-items:center;justify-content:center;line-height:1}
.adaptive-ui .restart-round span{position:absolute;width:78%;font-size:clamp(10px,calc(var(--scene-width)*.035),17px);-webkit-text-stroke:.45px #00366f}
.adaptive-ui #game-over-panel.has-restart .over-retry{top:64%}
.adaptive-ui #game-over-panel.has-restart .over-menu{top:79%}
.adaptive-ui #game-over-panel:not(.has-restart) .over-retry{top:58%}
.adaptive-ui #game-over-panel:not(.has-restart) .over-menu{top:76%}
.adaptive-ui .restart-round span{white-space:nowrap}
.adaptive-ui .restart-round[data-endless=true] span{font-size:clamp(9px,calc(var(--scene-width)*.028),12px)}
/* Artwork is 8% smaller; centered hit boxes retain a 44px minimum. */
.adaptive-ui #game-over-panel .modal-button{display:flex;align-items:center;justify-content:center;min-height:44px}
.adaptive-ui #game-over-panel .art-button img{width:92%;height:auto;margin:auto}
.adaptive-ui .restart-round span{font-size:clamp(9.2px,calc(var(--scene-width)*.0322),15.64px)}
.adaptive-ui .restart-round[data-endless=true] span{font-size:clamp(8.28px,calc(var(--scene-width)*.02576),11.04px)}
/* Secondary beta notices reuse approved panel/button PNGs; the playfield layout is unchanged. */
.beta-run-note{position:absolute;top:48%;left:15%;width:70%;margin:0;font:clamp(11px,3vw,15px)/1.35 system-ui,sans-serif;text-align:center;color:#00366f}
.title-screen .release-entry{position:absolute;top:82%;left:32%;width:36%;min-height:44px;display:flex;align-items:center;justify-content:center}
.release-entry span{position:absolute;font:clamp(11px,3vw,15px) Megrim;-webkit-text-stroke:.4px #00366f}
.pause-settings-link{position:absolute;top:calc(100% + 4px);left:10%;width:80%;min-height:44px;padding:0;border:0;background:none;text-decoration:underline;font:13px/1.2 system-ui,sans-serif;color:#fff1cf;text-shadow:0 1px 2px #00366f}
#release-overlay{position:fixed;inset:0;z-index:100;background:rgb(0 0 0/.48);display:flex;align-items:center;justify-content:center;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
.release-dialog{position:relative;width:min(90vw,65svh,400px);aspect-ratio:720/877;background:url('/art/ui/adaptive-derived/help-panel.png') center/contain no-repeat;color:#00366f}
#release-heading{position:absolute;top:9.24%;height:8.67%;left:16%;width:68%;margin:0;display:flex;align-items:center;justify-content:center;white-space:nowrap;font:clamp(14px,4vw,21px)/1 Megrim;color:#f9edd2;-webkit-text-stroke:.45px #f9edd2}
#release-content{position:absolute;top:22%;bottom:18%;left:13%;width:74%;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;font:clamp(12px,3.2vw,15px)/1.4 system-ui,sans-serif;touch-action:pan-y}
#release-content p{margin:0 0 .8em}#release-content h2{font-size:1em;margin:.9em 0 .4em}#release-content ul{padding-left:1.1em}#release-content li{margin-bottom:.7em}#release-content a{color:#00366f;text-decoration:underline;overflow-wrap:anywhere}#release-content .notice-footer{font-size:.85em;margin-top:.7em}
#release-close,#release-back{position:absolute;width:44px;height:44px;padding:0;border:0;background:none;touch-action:manipulation}#release-close{top:-10px;right:-6px}#release-back{bottom:5.5%;left:10%}#release-close img,#release-back img{width:100%;height:auto}
#release-content button{min-height:44px;color:#00366f;background:url('/art/ui/adaptive-derived/blank-button.png') center/contain no-repeat;border:0;padding:12px 19px;font:clamp(11px,3vw,14px) Megrim;-webkit-text-stroke:.35px #00366f;touch-action:manipulation}#release-content .release-actions{display:flex;flex-direction:column;gap:8px;align-items:center}#release-content .release-actions button{width:100%;min-height:55px}#release-content button:focus-visible,#release-close:focus-visible,#release-back:focus-visible,.release-entry:focus-visible{outline:2px solid #00366f;outline-offset:2px}
.release-dialog[data-view=notice] #release-content{bottom:26%;line-height:1.35}
#release-controls{position:absolute;bottom:5.5%;left:14%;width:72%;text-align:center;font:11px/1.25 system-ui,sans-serif}#release-controls button{width:145px;min-height:44px;border:0;background:url('/art/ui/adaptive-derived/blank-button.png') center/contain no-repeat;font:13px Megrim;color:#00366f;-webkit-text-stroke:.3px #00366f;touch-action:manipulation}#release-controls p{margin:4px 0 0}
#release-controls{bottom:13%}#release-controls button:focus-visible{outline:none;filter:drop-shadow(0 0 2px #00366f) drop-shadow(0 0 2px #f9edd2)}
#release-content .release-actions button{width:min(100%,200px);height:auto;aspect-ratio:820/325;padding:0}
#release-content .release-actions button{width:min(100%,160px)}
.release-dialog[data-view=settings] #release-content{bottom:12%}
#release-close:focus-visible,#release-back:focus-visible,.release-entry:focus-visible{outline:none;filter:drop-shadow(0 0 2px #00366f) drop-shadow(0 0 2px #f9edd2)}

/* Approved v003 logo: native 3:2 proportions; preserve room for Best and controls. */
.title-logo{left:17%;top:2%;width:66%;height:auto;object-fit:contain}.title-best{top:42%}

@media (max-width:600px) and (min-height:700px) and (max-aspect-ratio:2/3){.title-logo{top:calc(2% + 30px)}}
