:root{--ink:#211f19;--smoke:#0f0f0d;--paper:#b4a184;--ivory:#f0e3cb;--ember:#dd7445;--palm:#72804f;--ocean:#3b7376;--line:color-mix(in srgb, var(--paper) 38%, transparent)}*{box-sizing:border-box}html{background:var(--smoke)}body{background:var(--smoke);min-height:100dvh;color:var(--ivory);margin:0;font-family:Arial,Helvetica,sans-serif}button{font:inherit}button:focus-visible{outline:3px solid var(--ivory);outline-offset:4px}.visually-hidden{clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;width:1px!important;height:1px!important;position:absolute!important;overflow:hidden!important}.experience-shell{width:min(100%,1440px);min-height:100dvh;padding:clamp(20px, 4vw, 54px) clamp(16px, 4vw, 66px) max(22px, env(safe-area-inset-bottom));background:radial-gradient(circle at 85% 11%, color-mix(in srgb, var(--ember) 14%, transparent), transparent 22rem), radial-gradient(circle at 5% 88%, color-mix(in srgb, var(--ocean) 17%, transparent), transparent 26rem), var(--smoke);margin:0 auto;overflow:hidden}.masthead{text-align:center;margin:0 auto clamp(18px,3vw,32px)}.eyebrow,.tagline,footer,.section-number,.key-hint,.live-notice{color:var(--paper);letter-spacing:.2em;text-transform:uppercase;margin:0;font-size:.66rem;font-weight:700;line-height:1.4}.masthead h1{color:var(--paper);letter-spacing:-.08em;margin:4px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.9rem,8vw,6.1rem);font-weight:700;line-height:.78}.tagline{color:var(--ember);margin-top:11px}.game-layout{grid-template-columns:minmax(150px,.57fr) minmax(320px,1.45fr) minmax(150px,.57fr);align-items:center;gap:clamp(14px,3vw,44px);display:grid}.service-notes{border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-self:center;padding:16px 0}.service-notes h2{margin:7px 0 9px;font-family:Georgia,Times New Roman,serif;font-size:clamp(1rem,1.8vw,1.46rem);line-height:.96}.service-notes p:not(.section-number){color:var(--paper);margin:0;font-size:.81rem;line-height:1.5}.service-notes ul{color:var(--ivory);margin:15px 0 0;padding:0;font-size:.72rem;line-height:1.75;list-style:none}.service-notes li:before{content:"✦";color:var(--ember);margin-right:7px}.right-note{text-align:right}.right-note .section-number{color:var(--palm)}.best-score{border-top:1px solid var(--line);gap:2px;margin-top:19px;padding-top:11px;display:grid}.best-score span{color:var(--paper);letter-spacing:.12em;font-size:.61rem;font-weight:700}.best-score b{color:var(--ember);font-size:1.3rem}.stage-wrap{aspect-ratio:4/5;isolation:isolate;border:1px solid color-mix(in srgb, var(--paper) 76%, transparent);background:var(--ink);min-width:0;box-shadow:0 28px 70px #000a, 14px 14px 0 color-mix(in srgb, var(--paper) 13%, transparent);justify-self:center;position:relative;overflow:hidden}.stage-wrap:before{z-index:2;pointer-events:none;content:"";opacity:.23;mix-blend-mode:soft-light;background:repeating-radial-gradient(circle at 20% 30%,#0000 0 1px,#fff 1px 1.5px,#0000 1.5px 4px);position:absolute;inset:0}.stage-wrap:after{z-index:3;border:1px solid color-mix(in srgb, var(--paper) 42%, transparent);pointer-events:none;content:"";position:absolute;inset:8px;box-shadow:inset 0 0 42px #0008}.game-canvas{width:100%;height:100%;image-rendering:pixelated;display:block}.scoreboard{z-index:5;border-block:1px solid color-mix(in srgb, var(--paper) 34%, transparent);color:var(--ivory);background:color-mix(in srgb, var(--smoke) 48%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);letter-spacing:.06em;text-transform:uppercase;pointer-events:none;justify-content:space-between;gap:7px;padding:8px 10px;font-size:clamp(.58rem,1.2vw,.7rem);display:flex;position:absolute;top:34px;left:24px;right:24px}.scoreboard span{flex-direction:column;gap:2px;display:flex}.scoreboard span:nth-child(2){text-align:center}.scoreboard span:last-child{text-align:right}.scoreboard b{color:var(--paper);font-size:.93rem}.stage-panel{z-index:7;text-align:center;background:linear-gradient(180deg, color-mix(in srgb, var(--smoke) 34%, transparent), color-mix(in srgb, var(--smoke) 86%, transparent));-webkit-backdrop-filter:blur(2px)saturate(1.2);backdrop-filter:blur(2px)saturate(1.2);flex-direction:column;justify-content:center;align-items:center;padding:42px;display:flex;position:absolute;inset:0}.stage-panel h2{color:var(--ivory);letter-spacing:-.06em;margin:10px 0 15px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,6vw,4.5rem);line-height:.84}.stage-panel>p:not(.eyebrow):not(.key-hint){max-width:27ch;color:var(--paper);margin:0 0 22px;font-size:.85rem;line-height:1.5}.character-panel{background:linear-gradient(180deg, color-mix(in srgb, var(--smoke) 28%, transparent), color-mix(in srgb, var(--smoke) 92%, transparent));justify-content:center;padding:clamp(22px,4vw,38px)}.character-panel h2{margin:7px 0 10px;font-size:clamp(2rem,5vw,3.55rem)}.character-panel>p:not(.eyebrow):not(.key-hint){max-width:38ch;margin-bottom:14px;font-size:.74rem}.character-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;width:min(100%,560px);display:grid}.character-card{border:1px solid color-mix(in srgb, var(--paper) 64%, transparent);min-width:0;color:var(--ivory);background:color-mix(in srgb, var(--ink) 86%, transparent);cursor:pointer;text-align:left;box-shadow:inset 0 1px color-mix(in srgb, var(--ivory) 14%, transparent);padding:0;transition:transform .14s,border-color .14s,background .14s;position:relative;overflow:hidden}.character-card:hover{z-index:1;border-color:var(--ember);background:color-mix(in srgb, var(--paper) 16%, var(--ink));transform:translateY(-4px)}.pixel-sprite{image-rendering:pixelated;background-repeat:no-repeat;display:block}.character-portrait{aspect-ratio:2/3;background-color:color-mix(in srgb, var(--smoke) 74%, transparent);width:100%}.character-copy{border-top:1px solid color-mix(in srgb, var(--paper) 30%, transparent);background:color-mix(in srgb, var(--smoke) 74%, transparent);gap:3px;min-height:48px;padding:8px 7px;display:grid}.character-copy b{color:var(--ember);font-family:Georgia,Times New Roman,serif;font-size:clamp(.8rem,1.5vw,1.05rem);line-height:1}.character-copy small{color:var(--paper);letter-spacing:.11em;text-overflow:ellipsis;white-space:nowrap;font-size:.48rem;font-weight:800;line-height:1.25;overflow:hidden}.result-panel h2{color:var(--ember)}.result-panel h2 small{color:var(--paper);letter-spacing:0;font-family:Arial,Helvetica,sans-serif;font-size:.4em}.key-hint{margin-top:14px;font-size:.57rem}.pause-panel{background:color-mix(in srgb, var(--smoke) 88%, transparent)}.pause-button{z-index:7;border:1px solid var(--paper);background:var(--smoke);width:32px;height:32px;color:var(--ivory);cursor:pointer;border-radius:50%;position:absolute;top:88px;right:23px}.primary-button,.secondary-button,.text-button{border:1px solid var(--ember);min-height:44px;color:var(--smoke);background:var(--ember);cursor:pointer;letter-spacing:.11em;text-transform:uppercase;padding:11px 18px;font-size:.7rem;font-weight:800;transition:transform .14s,background .14s}.primary-button:hover{background:var(--ivory);transform:translateY(-2px)}.secondary-button{color:var(--ivory);border-color:var(--paper);background:0 0}.text-button{color:var(--paper);background:0 0;border-color:#0000}.result-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.cocktail-sprite{aspect-ratio:1;filter:drop-shadow(0 12px 16px #0008);width:min(132px,100%);margin:12px 0 5px auto}.control-deck{grid-template-columns:minmax(0,1fr) 72px;align-items:stretch;gap:8px;width:min(100%,790px);margin:clamp(18px,3vw,30px) auto 11px;display:grid}.controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0;display:grid}.action-button{border:1px solid var(--line);background:linear-gradient(145deg, color-mix(in srgb, var(--paper) 7%, var(--ink)), color-mix(in srgb, var(--smoke) 92%, transparent));min-height:82px;color:var(--ivory);cursor:pointer;text-align:left;box-shadow:inset 0 1px color-mix(in srgb, var(--paper) 15%, transparent);padding:12px;transition:background .12s,transform .12s,box-shadow .12s;position:relative;overflow:hidden}.action-button:enabled:hover{background:color-mix(in srgb, var(--paper) 16%, var(--ink));transform:translateY(-3px)}.action-button:enabled:active{border-color:var(--ember);background:color-mix(in srgb, var(--ember) 18%, var(--ink));box-shadow:inset 0 0 22px color-mix(in srgb, var(--ember) 18%, transparent);transform:translateY(1px)}.action-button:disabled{cursor:not-allowed;opacity:.48}.action-button span,.action-button small{color:var(--paper);letter-spacing:.11em;font-size:.62rem;font-weight:700;display:block}.action-button b{letter-spacing:-.04em;margin:5px 0 3px;font-family:Georgia,Times New Roman,serif;font-size:1.17rem;display:block}.action-button small{letter-spacing:0;font-weight:400}.action-jump b{color:var(--ember)}.action-slide b{color:var(--paper)}.action-flare b{color:var(--ocean);text-shadow:0 0 18px color-mix(in srgb, var(--ocean) 65%, transparent)}.action-charge{height:3px;transform:scaleX(var(--charge));transform-origin:0;background:linear-gradient(90deg, var(--ember), var(--ivory));box-shadow:0 0 14px var(--ember);transition:transform .16s linear;display:block;position:absolute;bottom:0;left:0;right:0}.sound-toggle{border:1px solid var(--line);min-width:64px;min-height:44px;color:var(--paper);background:linear-gradient(145deg, color-mix(in srgb, var(--paper) 7%, var(--ink)), color-mix(in srgb, var(--smoke) 92%, transparent));cursor:pointer;box-shadow:inset 0 1px color-mix(in srgb, var(--paper) 15%, transparent);padding:8px 5px;transition:border-color .12s,background .12s,transform .12s}.sound-toggle span,.sound-toggle b{display:block}.sound-toggle span{letter-spacing:.12em;font-size:.52rem;font-weight:800}.sound-toggle b{color:var(--paper);margin-top:5px;font-family:Georgia,Times New Roman,serif;font-size:.95rem;line-height:1}.sound-toggle[aria-pressed=true]{border-color:var(--ember);background:color-mix(in srgb, var(--ember) 15%, var(--ink))}.sound-toggle[aria-pressed=true] b{color:var(--ember)}.sound-toggle:enabled:hover{border-color:var(--ivory);transform:translateY(-3px)}.sound-toggle:enabled:active{transform:translateY(1px)}.sound-toggle:disabled{cursor:not-allowed;opacity:.48}.sound-toggle[data-audio-status=unavailable] b{color:var(--paper);font-size:.78rem}.live-notice{text-align:center;min-height:1.4em;color:var(--palm)}footer{text-align:center;color:color-mix(in srgb, var(--paper) 62%, transparent);margin-top:25px;font-size:.54rem}@media (min-width:901px) and (min-height:1001px){.stage-wrap{width:min(100%,80dvh - 330px,640px)}}@media (min-width:901px) and (max-height:1000px){.experience-shell{padding-top:max(18px, env(safe-area-inset-top));padding-bottom:max(18px, env(safe-area-inset-bottom))}.masthead{margin-bottom:18px}.masthead h1{font-size:clamp(3.7rem,6vw,4.4rem)}.game-layout{grid-template-columns:minmax(150px,1fr) minmax(320px,480px) minmax(150px,1fr);gap:clamp(14px,2vw,28px)}.stage-wrap{width:clamp(320px,80dvh - 240px,480px)}.control-deck{margin-top:14px;margin-bottom:8px}.action-button{min-height:74px;padding:10px}footer{margin-top:12px}}@media (max-width:900px){.experience-shell{padding:max(26px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left))}.masthead{margin-bottom:19px}.game-layout{grid-template-columns:1fr;gap:12px}.stage-wrap{order:1;width:min(100%,510px);margin:0 auto}.service-notes{text-align:left;order:2;grid-template-columns:auto 1fr;column-gap:14px;padding:10px 0;display:grid}.service-notes .section-number{grid-row:span 3;padding-top:2px}.service-notes h2,.service-notes p,.service-notes ul{grid-column:2}.service-notes h2{margin:0 0 4px}.service-notes ul{display:none}.right-note{text-align:left;order:3;grid-template-columns:76px minmax(0,1fr);align-items:center;column-gap:14px;display:grid}.right-note .section-number{grid-area:1/2;padding:0}.right-note .cocktail-sprite{grid-area:1/1/span 4;width:76px;margin:0}.right-note h2,.right-note>p:not(.section-number),.right-note .best-score{grid-column:2}.right-note h2{margin:2px 0}.right-note .best-score{grid-template-columns:auto 1fr;align-items:baseline;gap:8px;margin-top:5px;padding-top:5px}.right-note .best-score b{font-size:.94rem}.stage-panel{padding:26px}.character-panel{padding:18px}.character-panel h2{font-size:clamp(2rem,9vw,2.85rem)}.character-panel>p:not(.eyebrow):not(.key-hint){margin-bottom:10px;font-size:.68rem}.character-panel .key-hint{margin-top:9px}.scoreboard{font-size:.53rem;top:34px;left:19px;right:19px}.scoreboard b{font-size:.75rem}.pause-button{top:92px;right:19px}.control-deck{gap:5px;margin-top:15px}.controls{gap:5px}.action-button{min-height:73px;padding:10px 8px}.action-button b{font-size:1rem}.action-button small{font-size:.57rem}}@media (max-width:920px) and (max-height:600px) and (orientation:landscape){.experience-shell{min-height:100svh;padding:max(8px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));overflow:visible}.masthead,footer{display:none}.game-layout{grid-template-columns:minmax(112px,.7fr) auto minmax(112px,.7fr);gap:10px}.stage-wrap{order:initial;aspect-ratio:4/5;width:auto;height:min(70svh,276px);margin:0}.service-notes,.right-note{order:initial;text-align:left;padding:9px 0;display:block}.service-notes h2,.right-note h2{margin:4px 0;font-size:.94rem}.service-notes p:not(.section-number),.right-note p:not(.section-number){font-size:.65rem;line-height:1.35}.service-notes ul,.right-note .cocktail-sprite{display:none}.right-note .best-score{margin-top:8px;padding-top:7px;display:block}.right-note .best-score b{margin-top:2px;display:block}.stage-panel{padding:18px}.stage-panel h2{margin:7px 0 10px;font-size:2rem}.stage-panel>p:not(.eyebrow):not(.key-hint){margin-bottom:10px;font-size:.68rem}.result-panel{padding:12px}.result-panel .result-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:100%;display:grid}.result-panel .primary-button,.result-panel .secondary-button,.result-panel .text-button{letter-spacing:.06em;min-height:40px;padding:7px 5px;font-size:.56rem}.character-panel{padding:11px}.character-panel h2{margin:4px 0 6px;font-size:1.65rem}.character-panel>p:not(.eyebrow):not(.key-hint),.character-panel .key-hint{display:none}.character-copy{min-height:35px;padding:5px}.character-copy b{font-size:.72rem}.character-copy small{font-size:.38rem}.scoreboard{padding:5px 7px;font-size:.46rem;top:18px;left:12px;right:12px}.scoreboard b{font-size:.65rem}.pause-button{width:29px;height:29px;top:61px;right:12px}.control-deck{gap:6px;margin:7px auto 4px}.controls{gap:6px}.action-button{min-height:54px;padding:7px 9px}.action-button span{font-size:.5rem}.action-button b{margin:3px 7px 2px 0;font-size:.92rem;display:inline-block}.action-button small{font-size:.5rem;display:inline}.live-notice{font-size:.52rem}}@media (max-width:900px) and (orientation:portrait){.service-notes{display:none}}@media (max-width:410px){.masthead h1{font-size:3.3rem}.stage-wrap{aspect-ratio:4/5}.stage-panel h2{font-size:2.4rem}.character-panel{padding:15px}.character-panel h2{margin-bottom:8px;font-size:2.1rem}.character-copy{min-height:43px;padding:7px 5px}.character-copy small{font-size:.42rem}.result-actions{flex-direction:column;width:100%}.control-deck{grid-template-columns:minmax(0,1fr) 58px}.action-button small{display:none}.sound-toggle{min-width:58px;padding-inline:3px}.sound-toggle span{font-size:.47rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
