body:has(.play-screen.is-active .crown-play-panel.is-active),.app-shell:has(.play-screen.is-active .crown-play-panel.is-active){background:#0b2138}
.crown-play-panel{--crown-gold:#f0cb77;--crown-navy:#071936;--crown-eggshell:#fff7df;gap:clamp(6px,1.2vh,12px);overflow-x:hidden;padding-bottom:max(8px,env(safe-area-inset-bottom))!important}
.play-screen.is-mission-mode:has(.crown-play-panel.is-active) #play-mission-intro{display:block;font-size:clamp(18px,2vw,20px);line-height:1.5;color:#e0e8e8;margin-top:9px;max-width:56ch}
.crown-play-panel .story-play-experience{width:min(100%,620px);min-height:0}.crown-play-panel .story-play-art{display:none}.crown-play-panel .game-live-status:empty{display:none}.play-screen.is-mission-mode:has(.crown-play-panel.is-active){min-height:0;padding-bottom:0}.play-screen.is-mission-mode .crown-play-panel.is-active{min-height:0}
.crown-play-panel.is-story-complete .game-live-status{position:absolute!important;width:1px;height:1px;min-height:0;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.crown-play-board{position:relative;width:min(100%,620px);aspect-ratio:1;margin-inline:auto;overflow:hidden;border:1px solid rgba(240,203,119,.64);border-radius:clamp(16px,4vw,25px);background-color:var(--crown-navy);background-repeat:no-repeat;background-position:center;background-size:contain;box-shadow:inset 0 0 34px rgba(4,12,31,.2),0 18px 40px rgba(2,10,28,.38);touch-action:none;isolation:isolate}
.crown-play-board>canvas{position:absolute;inset:0;z-index:10;width:100%!important;height:100%!important;pointer-events:none}.crown-play-board::after{content:"";position:absolute;inset:0;z-index:28;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,247,223,.14),inset 0 -26px 46px rgba(3,13,35,.16)}
.crown-reveal-board[data-mist-ready="false"]::before{content:"";position:absolute;inset:0;z-index:27;pointer-events:none;background:radial-gradient(circle at 18% 22%,rgba(238,242,230,.58),transparent 34%),radial-gradient(circle at 72% 25%,rgba(238,242,230,.46),transparent 38%),radial-gradient(circle at 42% 62%,rgba(226,234,226,.54),transparent 48%),radial-gradient(circle at 82% 76%,rgba(210,223,219,.4),transparent 32%),#263b52}
.crown-route-controls button{min-width:44px;min-height:44px;padding:8px 15px;border:1px solid rgba(240,203,119,.88);border-radius:999px;background:rgba(7,25,54,.92);color:var(--crown-eggshell);font:inherit;font-weight:750;box-shadow:0 6px 18px rgba(2,8,22,.42),inset 0 1px rgba(255,255,255,.15)}.crown-sr-help{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.crown-drop-target{position:absolute;z-index:12;translate:-50% -50%;width:76px;height:48px;min-width:44px;min-height:44px;padding:0;border:0;background:transparent;box-shadow:none}.crown-drop-target::before{content:"";position:absolute;left:50%;top:50%;width:76px;height:26px;translate:-50% -50%;border-radius:50%;background:radial-gradient(ellipse at 50% 52%,rgba(255,250,220,.5),rgba(240,203,119,.22) 42%,rgba(240,203,119,.07) 65%,transparent 74%);filter:drop-shadow(0 0 7px rgba(255,221,128,.24));transform:rotate(-5deg) skewX(-9deg);animation:crown-prop-pulse 2.2s ease-in-out infinite;pointer-events:none}
.crown-prop-hit{position:absolute;z-index:18;left:82%;top:49%;translate:-50% -50%;width:96px;height:96px;min-width:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:transparent;touch-action:none}.crown-flower-board .crown-prop-hit{left:78%;top:82%}.crown-prop-hit:focus-visible{outline:2px solid rgba(255,239,179,.84);outline-offset:2px}
.crown-flower-finale{position:absolute;inset:0;z-index:26;border-radius:inherit;background-color:var(--crown-navy);background-position:center;background-repeat:no-repeat;background-size:contain;opacity:0;pointer-events:none}.crown-flower-board:is([data-finale-phase="glowing"],[data-finale-phase="fading"],[data-finale-phase="holding"])::before{content:"";position:absolute;z-index:27;left:var(--crown-target-x,36%);top:var(--crown-target-y,72%);width:180%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;background:radial-gradient(circle,rgba(255,248,211,.7) 0%,rgba(255,232,163,.46) 24%,rgba(250,218,147,.18) 52%,rgba(250,218,147,0) 72%);filter:blur(2px);animation:crown-finale-glow 1.15s cubic-bezier(.2,.65,.3,1) both;pointer-events:none}.crown-flower-board[data-finale-phase="fading"] .crown-flower-finale{animation:crown-finale-fade .6s linear both}.crown-flower-board[data-finale-phase="holding"] .crown-flower-finale,.crown-flower-board[data-finale-phase="complete"] .crown-flower-finale{opacity:1}
.crown-trail-start,.crown-trail-goal,.crown-trail-gesture{position:absolute;z-index:20;translate:-50% -50%;pointer-events:none}.crown-trail-start,.crown-trail-goal{width:24px;height:24px;border:3px solid #fff1b8;border-radius:50%;box-shadow:0 0 0 8px rgba(240,203,119,.2),0 0 22px #f0cb77}.crown-trail-goal{width:18px;height:18px;border-width:2px}.crown-trail-gesture{width:34px;height:34px;border-radius:50%;background:radial-gradient(circle at 45% 40%,#fff9dc 0 18%,#f0cb77 22% 42%,rgba(240,203,119,.18) 45% 68%,transparent 70%);filter:drop-shadow(0 0 8px #f0cb77);animation:crown-trace-gesture 2.1s ease-in-out infinite}.crown-trail-gesture::after{content:"";position:absolute;width:10px;height:22px;left:17px;top:18px;border-radius:8px;background:#fff7df;rotate:-28deg;box-shadow:0 1px 3px #07193688}.crown-trail-board[data-hint="hidden"] :is(.crown-trail-gesture,.crown-trail-start){display:none}
.crown-legacy-path-piece{position:absolute;z-index:18;top:91%;translate:-50% -50%;width:clamp(62px,16vw,88px);height:clamp(48px,12vw,64px);border:1px solid rgba(255,247,223,.72);border-radius:48% 52% 43% 46%;background:linear-gradient(145deg,#a1b0a0,#526f69 68%,#294b4e);color:transparent;box-shadow:0 8px 18px rgba(2,9,25,.5);transition:left .3s ease,top .3s ease}.crown-legacy-path-piece[data-selected="true"]{outline:3px solid var(--crown-gold);outline-offset:3px}.crown-legacy-path-piece[data-placed="true"]{pointer-events:none}
.crown-route-board::before{content:"";position:absolute;z-index:6;left:14%;right:14%;top:4%;bottom:29%;border:1px solid rgba(240,203,119,.5);border-radius:22px;background:rgba(5,24,48,.62);box-shadow:inset 0 0 30px rgba(5,18,39,.34),0 10px 28px rgba(2,10,28,.24);backdrop-filter:blur(4px)}
.crown-route-grid{position:absolute;z-index:7;left:20%;top:5%;width:60%;aspect-ratio:1;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:5px;padding:8px;border:0;background:radial-gradient(ellipse,rgba(6,26,48,.28),transparent 70%)}
.crown-route-cell{display:grid;place-items:center;border:1px dashed rgba(247,218,143,.42);border-radius:45% 55% 48% 52%;background:radial-gradient(ellipse,rgba(248,222,154,.2),rgba(14,58,58,.08) 58%,transparent 62%);color:transparent;font-size:.65rem;font-weight:800}.crown-route-cell.is-vines{color:#f2e8c6;background:repeating-linear-gradient(35deg,rgba(43,90,57,.86) 0 7px,rgba(18,58,49,.78) 8px 14px);border:2px solid rgba(183,215,150,.72);box-shadow:inset 0 0 18px rgba(7,25,30,.5)}.crown-route-cell.is-flower{color:transparent;background:radial-gradient(circle,rgba(255,247,210,.34),rgba(240,203,119,.16) 38%,transparent 66%);border:1px solid rgba(255,229,155,.7);box-shadow:0 0 26px rgba(255,225,133,.62)}.crown-route-cell.is-exit{color:#fff7df;background:radial-gradient(ellipse at 50% 75%,rgba(240,203,119,.48),rgba(41,102,72,.62) 54%,rgba(15,57,51,.72));border:2px solid rgba(240,203,119,.8);box-shadow:inset 0 0 0 2px rgba(240,203,119,.2),0 0 20px rgba(240,203,119,.24)}
.crown-route-queue{position:absolute;z-index:20;left:50%;bottom:76px;translate:-50% 0;min-width:180px;padding:7px 12px;border-radius:999px;background:rgba(7,25,54,.88);color:var(--crown-eggshell);font-size:.78rem;font-weight:750;text-align:center}.crown-route-controls{position:absolute;z-index:22;left:50%;bottom:12px;translate:-50% 0;display:flex;align-items:center;gap:5px}.crown-route-controls button{padding:0;width:44px}.crown-route-go,.crown-route-clear{width:auto!important;padding-inline:13px!important}.crown-route-controls button:disabled{opacity:.5}
.crown-play-panel.is-story-complete .crown-play-board{box-shadow:inset 0 0 28px rgba(240,203,119,.12),0 0 0 2px rgba(240,203,119,.78),0 20px 44px rgba(45,91,135,.3)}.crown-play-board[aria-disabled="true"] button{pointer-events:none}.crown-play-board[aria-disabled="true"] .crown-drop-target,.crown-play-board[data-art-ready="false"] :is(.crown-prop-hit,.crown-drop-target){display:none}
@keyframes crown-prop-pulse{50%{filter:brightness(1.08);opacity:.82}}@keyframes crown-finale-glow{0%{scale:.04;opacity:0}12%{scale:.12;opacity:1}55%{scale:.68;opacity:.85}100%{scale:1.25;opacity:0}}@keyframes crown-finale-fade{from{opacity:0}to{opacity:1}}@keyframes crown-trace-gesture{0%,18%{left:var(--trail-start-x);top:var(--trail-start-y);opacity:.35}42%{left:var(--trail-mid-x);top:var(--trail-mid-y);opacity:1}66%,82%{left:var(--trail-hint-x);top:var(--trail-hint-y);opacity:1}100%{left:var(--trail-hint-x);top:var(--trail-hint-y);opacity:0}}
.crown-play-board[data-paused="true"] :is(.crown-trail-gesture,.crown-flower-finale),.crown-play-board[data-paused="true"] .crown-drop-target::before,.crown-play-board[data-paused="true"]::before,.crown-play-board[aria-disabled="true"] :is(.crown-trail-gesture),.crown-play-board[aria-disabled="true"] .crown-drop-target::before{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.crown-drop-target::before,.crown-play-board[data-hint="visible"] .crown-prop-hit::after,.crown-trail-gesture{animation:none}.crown-trail-gesture,.crown-flower-board:is([data-finale-phase="glowing"],[data-finale-phase="fading"],[data-finale-phase="holding"])::before{display:none}.crown-flower-board[data-finale-phase="fading"] .crown-flower-finale{animation-duration:.08s}.crown-trail-board[data-hint="visible"]:not([aria-disabled="true"]) .crown-trail-start{display:block!important}}
@media(max-width:420px){.crown-play-panel .game-live-status{min-height:0}.crown-route-grid{gap:3px;padding:4px}.crown-route-controls{gap:3px}.crown-route-controls button{width:44px;padding:0}.crown-route-go,.crown-route-clear{width:44px!important;padding:0!important;font-size:.72rem}}
@media(max-height:590px) and (orientation:landscape){.crown-play-panel{overflow-y:auto}.crown-play-board{width:min(86vh,520px)}}

/* Lumi owns the instructions; no second caption or layout-sized footer. */
.crown-play-panel .crown-game-footer{position:absolute!important;width:1px!important;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;pointer-events:none}
.play-screen.is-mission-mode .crown-play-panel .crown-game-stage{max-height:100%}
.play-screen.is-mission-mode .crown-play-panel .story-play-experience:has(.crown-game-tools:not(:empty)) .crown-game-stage{max-height:calc(100% - 52px)}
.play-screen.is-mission-mode .crown-play-panel .story-play-experience:has(.crown-guide-tools:not([hidden])) .crown-game-stage{max-height:calc(100% - 52px)}
.crown-guide-tools{display:flex;justify-content:center;align-items:center;gap:24px;flex:0 0 auto;width:100%;min-height:44px}
.play-screen.is-mission-mode .crown-play-panel .crown-guide-tools .crown-game-tools{width:auto;justify-content:center;flex:0 0 auto}
.play-screen.is-mission-mode .crown-play-panel .crown-guide-tools .crown-game-tools:empty{display:none}
.play-screen.is-mission-mode .crown-play-panel .crown-guide-tools .crown-puzzle-toolbar{width:auto}
.play-screen.is-mission-mode .crown-play-panel .crown-guide-tools .crown-puzzle-undo{font-weight:650;color:#efdfba}
.crown-guide-tools[hidden]{display:none!important}
.crown-play-panel:has(.crown-tiles-puzzle-board) .crown-guide-tools{position:relative;z-index:6;margin-top:calc(0px - max(0px,var(--crown-garden-unused-bottom,0px) - 4px))}
.crown-guide[hidden],.crown-guide-help[hidden]{display:none!important}
.crown-guide{position:fixed;z-index:80;left:50%;bottom:max(18px,env(safe-area-inset-bottom));translate:-50% 0;width:min(calc(100% - 32px),580px);isolation:isolate}
.crown-guide-card{position:relative;padding:22px 24px 12px;border:1px solid rgb(255 247 223 / 36%);border-radius:24px;background:linear-gradient(125deg,rgb(255 247 223 / 85%),rgb(238 231 207 / 76%));box-shadow:0 16px 48px rgb(2 12 26 / 28%),inset 0 1px rgb(255 255 255 / 32%);backdrop-filter:blur(14px);color:#173a48;cursor:pointer;touch-action:manipulation}
.crown-guide-card:focus-visible{outline:2px solid #f0cb77;outline-offset:4px}
.crown-guide-copy{font-size:clamp(19px,2vw,21px);font-weight:550;line-height:1.45;margin:0;min-height:2.9em;text-wrap:pretty}
.crown-guide-copy{display:grid}.crown-guide-copy>span{grid-area:1/1}.crown-guide-copy>.lumi-line-full{opacity:0;pointer-events:none}.crown-guide-copy>.lumi-line-typed{color:inherit}
.crown-guide-portrait{position:absolute;left:8px;bottom:calc(100% - 4px);width:112px;height:112px;pointer-events:none}
.crown-guide-portrait>img,.crown-guide-portrait>canvas{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:contain;pointer-events:none}
.crown-guide-portrait>.overworld-lumi-portrait{display:block;visibility:hidden}.crown-guide-portrait>.overworld-lumi-portrait[data-state="ready"]{visibility:visible}
.crown-guide-portrait>img[data-lumi-portrait="loading"],.crown-guide-portrait>img[data-lumi-portrait="ready"]{visibility:hidden}
.crown-guide-close,.crown-guide-next,.crown-guide-help{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:44px;min-height:44px;padding:6px;border:0;border-radius:0;background:transparent;box-shadow:none;font:inherit;touch-action:manipulation;cursor:pointer}
.crown-guide-close{position:absolute;right:0;bottom:calc(100% + 2px);color:#fff7df;filter:drop-shadow(0 2px 3px rgb(2 12 26 / 65%))}
.crown-guide-next{margin:2px -6px -4px auto;color:#395561;display:flex}
.crown-guide-help{color:#efdfba;font-size:14px;font-weight:650;white-space:nowrap;padding:8px 0}
.crown-guide :is(.crown-guide-close,.crown-guide-next) svg,.crown-guide-help svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.crown-guide :is(button,[tabindex]):focus-visible,.crown-guide-help:focus-visible{outline:2px solid #f0cb77;outline-offset:2px;border-radius:8px}
@media(max-width:360px){.crown-guide-card{padding:18px 20px 10px}}
@media(max-height:500px){.crown-guide{bottom:8px;width:min(calc(100% - 32px),540px)}.crown-guide-portrait{width:84px;height:84px}.crown-guide-card{padding:14px 20px 8px}.crown-guide-copy{min-height:0}}

/* A pre-rendered hand demonstrates the drag without moving the actual prop. */
.crown-drag-gesture{position:absolute;z-index:22;width:clamp(56px,16%,68px);height:auto;aspect-ratio:128/117;left:var(--crown-hint-from-x);top:var(--crown-hint-from-y);translate:calc(0% - var(--crown-hand-tip-x,15%)) calc(0% - var(--crown-hand-tip-y,6.5%));pointer-events:none!important;filter:drop-shadow(0 2px 3px rgb(7 25 54 / 24%));animation:crown-demonstrate-drag 4.4s cubic-bezier(.4,0,.2,1) infinite;transform-origin:var(--crown-hand-tip-x,15%) var(--crown-hand-tip-y,6.5%)}
.crown-drag-gesture img{display:block;width:100%;height:auto;filter:brightness(0) invert(1);pointer-events:none;user-select:none;-webkit-user-drag:none}
.crown-drag-gesture:not([data-sprite-ready="true"]){visibility:hidden}
.crown-drag-gesture[hidden]{display:none!important}
.crown-play-board:not([data-hint="visible"]) .crown-drag-gesture,.crown-play-board:not([data-art-ready="true"]) .crown-drag-gesture,.crown-play-board[aria-disabled="true"] .crown-drag-gesture,.crown-play-board[data-paused="true"] .crown-drag-gesture{display:none}
@keyframes crown-demonstrate-drag{0%,6%{left:var(--crown-hint-from-x);top:var(--crown-hint-from-y);opacity:0;scale:1.02}14%{opacity:.62;scale:1.02}24%{left:var(--crown-hint-from-x);top:var(--crown-hint-from-y);opacity:.62;scale:.98}60%,68%{left:var(--crown-hint-to-x);top:var(--crown-hint-to-y);opacity:.62;scale:.98}76%{left:var(--crown-hint-to-x);top:var(--crown-hint-to-y);opacity:.62;scale:1.02}88%,100%{left:var(--crown-hint-to-x);top:var(--crown-hint-to-y);opacity:0;scale:1.02}}
@media(prefers-reduced-motion:reduce){.crown-drag-gesture{display:none!important;animation:none!important}}
