:root{--ivory: #F5F2EB;--charcoal: #1C1C1E;--muted: #6B6B70;--tile-stroke: #1C1C1E10;--accent-base: #5A6876;--accent: var(--accent-base);--t-display-size: 44px;--t-display-lh: 1;--t-display-tracking: -.02em;--t-title-size: 22px;--t-title-lh: 1.15;--t-title-tracking: .01em;--t-body-size: 15px;--t-body-lh: 1.5;--t-ui-size: 13px;--t-ui-lh: 1.3;--t-ui-tracking: .01em;--t-micro-size: 11px;--t-micro-lh: 1.2;--t-micro-tracking: .06em;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 20px;--s-5: 32px;--s-6: 52px}@media (prefers-color-scheme: dark){:root:not([data-theme]){--ivory: #1B1A18;--charcoal: #E8E3D6;--muted: #918B7E;--tile-stroke: #E8E3D610;--accent: color-mix(in oklab, var(--accent-base) 72%, #F0E8D6)}}:root[data-theme=dark]{--ivory: #1B1A18;--charcoal: #E8E3D6;--muted: #918B7E;--tile-stroke: #E8E3D610;--accent: color-mix(in oklab, var(--accent-base) 72%, #F0E8D6)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;color:var(--charcoal)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-feature-settings:"tnum" 1,"cv11" 1;-webkit-font-smoothing:antialiased;overflow:hidden;background:var(--ivory);background:radial-gradient(ellipse at 50% 0%,color-mix(in oklab,var(--accent) 5%,var(--ivory)) 0%,var(--ivory) 62%)}.app{display:flex;flex-direction:column;height:100%;max-width:720px;margin:0 auto;padding:env(safe-area-inset-top) 16px env(safe-area-inset-bottom)}.t-display{font-size:var(--t-display-size);line-height:var(--t-display-lh);letter-spacing:var(--t-display-tracking);font-weight:500}.t-title{font-size:var(--t-title-size);line-height:var(--t-title-lh);letter-spacing:var(--t-title-tracking);font-weight:500}.t-body{font-size:var(--t-body-size);line-height:var(--t-body-lh)}.t-ui{font-size:var(--t-ui-size);line-height:var(--t-ui-lh);letter-spacing:var(--t-ui-tracking)}.t-micro{font-size:var(--t-micro-size);line-height:var(--t-micro-lh);letter-spacing:var(--t-micro-tracking);text-transform:uppercase}.header{display:flex;align-items:center;justify-content:space-between;padding:20px 4px 12px}.title{font-size:var(--t-title-size);line-height:var(--t-title-lh);letter-spacing:var(--t-title-tracking);font-weight:500}.muted{color:var(--muted);font-size:var(--t-ui-size);line-height:var(--t-ui-lh)}.objective{font-size:var(--t-ui-size);line-height:var(--t-ui-lh);color:var(--muted);padding:6px 4px 14px;text-align:center}.board-wrap{flex:1;display:flex;align-items:center;justify-content:center;user-select:none;-webkit-user-select:none;touch-action:manipulation;position:relative}.undo-btn{position:absolute;top:8px;right:8px;font-size:13px;padding:6px 12px;background:var(--ivory);box-shadow:0 1px 4px color-mix(in oklab,currentColor 10%,transparent);z-index:5}.board-controls{position:absolute;top:8px;right:8px;display:flex;gap:6px;z-index:5}.board-controls .small-btn{background:var(--ivory);box-shadow:0 1px 4px color-mix(in oklab,currentColor 10%,transparent);width:36px;height:36px;font-size:15px;line-height:1}.hint-pulse{animation:hint-pulse .9s ease-in-out infinite;transform-origin:center}@keyframes hint-pulse{0%{opacity:.3;transform:scale(.92)}50%{opacity:1;transform:scale(1.08)}to{opacity:.3;transform:scale(.92)}}@media (prefers-reduced-motion: reduce){.hint-pulse{animation:none;opacity:1}}.icon-btn{width:44px;height:44px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:16px;line-height:1}.footer{display:flex;justify-content:space-between;align-items:center;padding:16px 4px 8px;font-size:var(--t-ui-size);line-height:var(--t-ui-lh);color:var(--muted)}button{font:inherit;background:transparent;border:1px solid var(--charcoal);color:var(--charcoal);padding:8px 14px;border-radius:999px;cursor:pointer;transition:background .14s}button:hover{background:color-mix(in oklab,currentColor 6%,transparent)}button.accent{background:var(--accent);color:var(--ivory);border-color:var(--accent)}button:disabled{opacity:.4;cursor:not-allowed}.world-tabs{display:flex;gap:8px;padding:4px 4px 12px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.world-tabs::-webkit-scrollbar{display:none}.world-tab{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:13px;white-space:nowrap;border:1px solid color-mix(in oklab,var(--charcoal) 14%,transparent);background:transparent;color:var(--muted);border-radius:999px;cursor:pointer}.world-tab.selected{background:color-mix(in oklab,var(--charcoal) 8%,var(--ivory));font-weight:500}.world-tab.locked{opacity:.45;cursor:not-allowed}.world-dot{width:8px;height:8px;border-radius:999px;display:inline-block}.world-check{font-size:11px}.theme-picker{display:inline-flex;gap:0;border:1px solid color-mix(in oklab,var(--charcoal) 14%,transparent);border-radius:999px;padding:2px;background:color-mix(in oklab,var(--charcoal) 3%,transparent)}.theme-opt{font:inherit;font-size:12px;padding:5px 12px;border:none;background:transparent;color:var(--muted);border-radius:999px;cursor:pointer;transition:color .14s,background .14s}.theme-opt.selected{background:var(--ivory);color:var(--charcoal);box-shadow:0 1px 3px color-mix(in oklab,currentColor 12%,transparent)}.theme-opt:not(.selected):hover{color:var(--charcoal)}.level-picker{display:flex;flex-direction:column;gap:16px;padding:24px 8px 32px;flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.level-card{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border:1px solid transparent;border-radius:14px;background:color-mix(in oklab,var(--charcoal) 5%,var(--ivory));cursor:pointer;transition:transform .14s,border-color .14s,background .14s}.level-card:hover{transform:translateY(-1px);border-color:color-mix(in oklab,var(--accent) 60%,transparent)}.level-card .idx{color:var(--muted);font-size:var(--t-ui-size);line-height:var(--t-ui-lh);letter-spacing:var(--t-ui-tracking)}.level-card .name{font-weight:500;margin-top:2px;font-size:var(--t-body-size)}.level-card.locked{opacity:.45;cursor:not-allowed}.level-card.locked:hover{transform:none;border-color:transparent}.level-card .card-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--muted);width:20px;height:20px}.dir-ring{position:fixed;pointer-events:none;transform:translate(-50%,-50%)}.dir-ring button{pointer-events:auto;position:absolute;width:44px;height:44px;padding:0;display:flex;align-items:center;justify-content:center;background:var(--ivory);box-shadow:0 2px 8px #00000014}.toast{position:fixed;left:50%;bottom:96px;transform:translate(-50%);background:var(--charcoal);color:var(--ivory);padding:10px 18px;border-radius:999px;font-size:14px;animation:toast-in .18s ease-out;z-index:30}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}.cascade-toast{border-left:3px solid var(--accent);padding-left:14px;animation:cascade-toast-life 1.5s ease-out forwards;letter-spacing:.01em}@keyframes cascade-toast-life{0%{opacity:0;transform:translate(-50%,6px)}10%{opacity:1;transform:translate(-50%)}80%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-4px)}}@media (prefers-reduced-motion: reduce){.cascade-toast{animation-duration:1.2s}}.tile{transition:transform .22s cubic-bezier(.34,1.2,.64,1);cursor:pointer}.tile.selected{filter:drop-shadow(0 0 0 2px var(--accent))}@media (prefers-reduced-motion: reduce){.tile{transition:none}}.empty-cell{fill:color-mix(in oklab,var(--charcoal) 13%,transparent);stroke:color-mix(in oklab,var(--charcoal) 42%,transparent);stroke-width:1.25}.tile-will-merge-ring{transform-box:fill-box;transform-origin:center;opacity:0;animation:tile-will-merge-pulse 1.1s cubic-bezier(.3,.7,.3,1) 2}@keyframes tile-will-merge-pulse{0%{opacity:0;transform:scale(1)}25%{opacity:.9;transform:scale(1.04)}60%{opacity:.9;transform:scale(1.04)}80%{opacity:.25;transform:scale(1.01)}to{opacity:0;transform:scale(1)}}@media (prefers-reduced-motion: reduce){.tile-will-merge-ring{animation:none;opacity:.7}}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c1c1e6b;backdrop-filter:blur(8px) saturate(.92);-webkit-backdrop-filter:blur(8px) saturate(.92);display:flex;align-items:center;justify-content:center;padding:20px;z-index:50;animation:scrim-in .18s ease-out}.modal{background:var(--ivory);border-radius:16px;padding:24px 22px 20px;max-width:440px;width:100%;box-shadow:0 10px 40px #00000030;animation:modal-in .22s cubic-bezier(.2,.9,.3,1.1)}.modal-title{font-size:var(--t-title-size);line-height:var(--t-title-lh);letter-spacing:var(--t-title-tracking);font-weight:500;padding-bottom:8px;border-bottom:1px solid color-mix(in oklab,currentColor 12%,transparent);margin-bottom:14px}.tut-list{margin:0;padding-left:20px;font-size:var(--t-body-size);line-height:var(--t-body-lh);color:var(--charcoal)}.tut-list li{margin:8px 0}.tut-list b{font-weight:500}.tut-list em{font-style:normal;color:var(--accent);font-weight:500}.tut-hint{margin-top:14px;font-size:var(--t-ui-size);color:var(--muted)}@keyframes scrim-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.fx-cell-dissolve{transform-box:fill-box;transform-origin:center;animation:fx-cell-dissolve .92s cubic-bezier(.34,1.1,.64,1) forwards;will-change:transform,opacity}@keyframes fx-cell-dissolve{0%{opacity:1;transform:scale(1)}65%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.18)}}.fx-accent-ring{transform-box:fill-box;transform-origin:center;fill:none;stroke:var(--accent);stroke-width:1.5;opacity:0;animation:fx-accent-ring .36s cubic-bezier(.2,.8,.3,1) .6s both;will-change:transform,opacity}@keyframes fx-accent-ring{0%{opacity:.85;transform:scale(.3)}to{opacity:0;transform:scale(1.6)}}.fx-accent-ring.chain{stroke-width:2.5;animation-name:fx-accent-ring-chain;animation-duration:.48s}@keyframes fx-accent-ring-chain{0%{opacity:.95;transform:scale(.35)}to{opacity:0;transform:scale(2.4)}}@media (prefers-reduced-motion: reduce){.fx-cell-dissolve{animation-duration:.32s;animation-timing-function:ease-out}.fx-accent-ring,.fx-accent-ring.chain{animation-duration:.18s;animation-delay:.2s;animation-timing-function:ease-out}}.fx-loss-ring{transform-box:fill-box;transform-origin:center;opacity:0;animation:fx-loss-ring-anim 1.4s cubic-bezier(.25,.8,.35,1) forwards}@keyframes fx-loss-ring-anim{0%{opacity:0;transform:scale(.55)}14%{opacity:.85;transform:scale(1)}70%{opacity:.55;transform:scale(1.04)}to{opacity:0;transform:scale(1.22)}}.fx-loss-badge{transform-box:fill-box;transform-origin:center;opacity:0;animation:fx-loss-badge-anim 1.38s cubic-bezier(.3,1.4,.4,1) forwards}@keyframes fx-loss-badge-anim{0%{opacity:0;transform:scale(.3)}12%{opacity:1;transform:scale(1.25)}22%{opacity:1;transform:scale(1)}85%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@media (prefers-reduced-motion: reduce){.fx-loss-ring,.fx-loss-badge{animation-duration:.3s;animation-timing-function:ease-out}}.cameo{position:fixed;left:0;width:auto;height:88px;z-index:2;cursor:pointer;pointer-events:auto;color:var(--charcoal)}.cameo svg{height:100%;width:auto;display:block;filter:drop-shadow(0 0 1.5px var(--ivory)) drop-shadow(0 1px 2px rgba(0,0,0,.08))}.cameo-ltr{animation:cameo-cross-ltr 7.2s cubic-bezier(.3,.6,.4,1) forwards}.cameo-rtl{animation:cameo-cross-rtl 7.2s cubic-bezier(.3,.6,.4,1) forwards}@keyframes cameo-cross-ltr{0%{transform:translate(-60px);opacity:0}8%{opacity:1}38%{transform:translate(44vw)}50%{transform:translate(48vw)}62%{transform:translate(52vw)}92%{opacity:1}to{transform:translate(calc(100vw + 60px));opacity:0}}@keyframes cameo-cross-rtl{0%{transform:translate(calc(100vw + 60px));opacity:0}8%{opacity:1}38%{transform:translate(56vw)}50%{transform:translate(52vw)}62%{transform:translate(48vw)}92%{opacity:1}to{transform:translate(-60px);opacity:0}}.cameo-sprite{display:inline-flex;align-items:center;position:relative;animation:cameo-notice 7.2s ease-out forwards;transform-origin:center}.cameo-rtl .cameo-sprite{transform:scaleX(-1)}.cameo-rtl .cameo-sprite{animation-name:cameo-notice-rtl}@keyframes cameo-notice{0%,40%{transform:translateY(0) rotate(0) scale(1)}46%{transform:translateY(-6px) rotate(-14deg) scale(1.22)}54%{transform:translateY(-5px) rotate(-14deg) scale(1.22)}60%{transform:translateY(-2px) rotate(-4deg) scale(1.1)}66%,to{transform:translateY(0) rotate(0) scale(1)}}@keyframes cameo-notice-rtl{0%,40%{transform:scaleX(-1) translateY(0) rotate(0)}46%{transform:scaleX(-1) translateY(-6px) rotate(14deg) scale(1.22)}54%{transform:scaleX(-1) translateY(-5px) rotate(14deg) scale(1.22)}60%{transform:scaleX(-1) translateY(-2px) rotate(4deg) scale(1.1)}66%,to{transform:scaleX(-1) translateY(0) rotate(0)}}.cameo-eyes{position:absolute;top:4px;right:16px;width:33px;height:14px;display:flex;gap:5px;opacity:0;pointer-events:none;animation:cameo-eye-blink 7.2s linear forwards}.cameo-rtl .cameo-eyes{right:auto;left:16px}.cameo-eye{width:14px;height:14px;border-radius:999px;background:radial-gradient(circle at 35% 28%,#FFFFFF 0%,color-mix(in oklab,var(--accent) 70%,#FFFFFF) 10%,var(--accent) 22%,color-mix(in oklab,var(--charcoal) 80%,var(--accent)) 52%,#0A0A0C 100%);box-shadow:0 0 0 1.5px var(--ivory),0 0 4px 1px color-mix(in oklab,var(--accent) 70%,transparent),0 0 10px 2px color-mix(in oklab,var(--accent) 35%,transparent),0 0 18px 3px color-mix(in oklab,var(--accent) 15%,transparent),0 1px 2px #00000047;position:relative;animation:cameo-eye-glow-pulse 2.4s ease-in-out infinite}.cameo-eye:after{content:"";position:absolute;top:1.8px;left:2.2px;width:4.2px;height:4.2px;border-radius:999px;background:#fff;opacity:.98;box-shadow:0 0 3px #fff9}.cameo-eye:before{content:"";position:absolute;bottom:2.4px;right:2.8px;width:1.6px;height:1.6px;border-radius:999px;background:#fff;opacity:.5}@keyframes cameo-eye-glow-pulse{0%,to{box-shadow:0 0 0 1.5px var(--ivory),0 0 4px 1px color-mix(in oklab,var(--accent) 70%,transparent),0 0 10px 2px color-mix(in oklab,var(--accent) 35%,transparent),0 0 18px 3px color-mix(in oklab,var(--accent) 15%,transparent),0 1px 2px #00000047}50%{box-shadow:0 0 0 1.5px var(--ivory),0 0 6px 1.5px color-mix(in oklab,var(--accent) 85%,transparent),0 0 14px 3px color-mix(in oklab,var(--accent) 50%,transparent),0 0 24px 4px color-mix(in oklab,var(--accent) 22%,transparent),0 1px 2px #00000047}}@keyframes cameo-eye-blink{0%,43%{opacity:0;transform:scale(.35)}46%{opacity:1;transform:scale(1.12)}50%{opacity:1;transform:scale(1)}53%{opacity:1;transform:scale(1)}54%{opacity:0;transform:scaleY(.12)}55%{opacity:1;transform:scale(1)}62%{opacity:1;transform:scale(1)}66%,to{opacity:0;transform:scale(.35)}}.cameo-scurry{animation:cameo-scurry-ltr .52s cubic-bezier(.35,0,.7,1) forwards}.cameo-scurry.cameo-rtl{animation-name:cameo-scurry-rtl}.cameo-scurry .cameo-sprite{animation:cameo-scurry-pinch .52s ease-in forwards}.cameo-scurry.cameo-rtl .cameo-sprite{animation-name:cameo-scurry-pinch-rtl}@keyframes cameo-scurry-ltr{to{transform:translate(calc(100vw + 60px)) translateY(4px);opacity:0}}@keyframes cameo-scurry-rtl{to{transform:translate(-60px) translateY(4px);opacity:0}}@keyframes cameo-scurry-pinch{to{transform:translateY(4px) rotate(-12deg) scale(.78,1.05)}}@keyframes cameo-scurry-pinch-rtl{to{transform:scaleX(-1) translateY(4px) rotate(12deg) scale(.78,1.05)}}.cameo-peek{position:fixed;width:auto;height:88px;z-index:2;pointer-events:none;opacity:0;color:var(--charcoal)}.cameo-peek svg{height:100%;width:auto;display:block;filter:drop-shadow(0 0 1.5px var(--ivory)) drop-shadow(0 1px 2px rgba(0,0,0,.08))}.cameo-peek-right{right:-64px;animation:cameo-peek-right 1.5s ease-out forwards;animation-delay:.36s}.cameo-peek-left{left:-64px;animation:cameo-peek-left 1.5s ease-out forwards;animation-delay:.36s}.cameo-peek-right svg{transform:scaleX(-1)}@keyframes cameo-peek-right{0%{opacity:0;transform:translate(0)}14%{opacity:1;transform:translate(-60px)}25%{opacity:1;transform:translate(-65px)}70%{opacity:1;transform:translate(-60px)}to{opacity:0;transform:translate(-10px)}}@keyframes cameo-peek-left{0%{opacity:0;transform:translate(0)}14%{opacity:1;transform:translate(60px)}25%{opacity:1;transform:translate(65px)}70%{opacity:1;transform:translate(60px)}to{opacity:0;transform:translate(10px)}}.ff-wing{animation:ff-wing-flap .13s linear infinite}.ff-wing-ul{animation-delay:0ms}.ff-wing-ur{animation-delay:20ms}@keyframes ff-wing-flap{0%{transform:rotate(-8deg) scaleY(1)}50%{transform:rotate(8deg) scaleY(.85)}to{transform:rotate(-8deg) scaleY(1)}}.moth-wing-upper{animation:moth-upper-flap .32s ease-in-out infinite}.moth-wing-lower{animation:moth-lower-flap .32s ease-in-out infinite}@keyframes moth-upper-flap{0%,to{transform:scaleY(1) translateY(0)}50%{transform:scaleY(.6) translateY(-1px)}}@keyframes moth-lower-flap{0%,to{transform:scaleY(1) translateY(0)}50%{transform:scaleY(.75) translateY(1px)}}.gw-seg{animation:gw-body-wave 1.4s ease-in-out infinite}.gw-seg-0{animation-delay:0ms}.gw-seg-1{animation-delay:90ms}.gw-seg-2{animation-delay:.18s}.gw-seg-3{animation-delay:.27s}.gw-seg-4{animation-delay:.36s}.gw-seg-5{animation-delay:.45s}.gw-seg-6{animation-delay:.54s}@keyframes gw-body-wave{0%,to{transform:translateY(0)}50%{transform:translateY(-1.2px)}}.beetle-elytra{transform-origin:center;animation:beetle-elytra-peek 7.2s ease-in-out forwards}@keyframes beetle-elytra-peek{0%,44%{transform:scaleX(1)}48%{transform:scaleX(1.08)}56%{transform:scaleX(1.08)}62%,to{transform:scaleX(1)}}.cameo-sprite svg:has(>path[d^="M17 3"]){animation:leaf-drift 7.2s linear infinite;transform-origin:center center}@keyframes leaf-drift{0%{transform:rotate(-12deg)}50%{transform:rotate(15deg)}to{transform:rotate(-12deg)}}@media (prefers-reduced-motion: reduce){.cameo,.cameo-peek,.cameo-sprite,.cameo-eyes,.ff-wing,.moth-wing-upper,.moth-wing-lower,.gw-seg,.beetle-elytra{animation:none!important;opacity:0}}.level-sculpture{text-align:center;font-size:96px;font-weight:500;line-height:.85;font-variant-numeric:tabular-nums;letter-spacing:-.04em;color:color-mix(in oklab,var(--accent) 22%,transparent);padding:4px 0 6px;-webkit-user-select:none;user-select:none;pointer-events:none}@media (max-height: 720px){.level-sculpture{font-size:64px;padding:2px 0 4px}}@media (max-height: 560px){.level-sculpture{font-size:44px;padding:0}}body.world-6{background:radial-gradient(ellipse at 50% 35%,#F3E6F0 0%,transparent 62%),radial-gradient(ellipse at 50% 55%,#E8ECF4 0%,transparent 66%),var(--ivory)}body.world-6 .board-wrap:before{content:"";position:absolute;top:-20px;right:-20px;bottom:-20px;left:-20px;background:conic-gradient(from 210deg at 50% 120%,transparent 0deg,#D46A9218 40deg,#A77BC218 75deg,#6B92C218 110deg,#7BB8A818 145deg,transparent 180deg);filter:blur(22px);opacity:.55;z-index:0;pointer-events:none}body.world-6 .board-wrap>*{position:relative;z-index:1}body.world-6 .tile path[fill]:not([fill=none]){filter:drop-shadow(0 0 1px #FFFFFF30)}body.world-6 .tile path[stroke="#FFFFFFCC"]{stroke:#fbe8d6}@media (prefers-color-scheme: dark){:root:not([data-theme]) body.world-6{background:radial-gradient(ellipse at 50% 35%,#2A1E28 0%,transparent 62%),radial-gradient(ellipse at 50% 55%,#1F252D 0%,transparent 66%),var(--ivory)}:root:not([data-theme]) body.world-6 .tile path[fill]:not([fill=none]){filter:drop-shadow(0 0 1px #00000030)}}:root[data-theme=dark] body.world-6{background:radial-gradient(ellipse at 50% 35%,#2A1E28 0%,transparent 62%),radial-gradient(ellipse at 50% 55%,#1F252D 0%,transparent 66%),var(--ivory)}:root[data-theme=dark] body.world-6 .tile path[fill]:not([fill=none]){filter:drop-shadow(0 0 1px #00000030)}body.in-bonus{background:radial-gradient(ellipse at 50% 40%,#FAF3E0 0%,transparent 70%),#f7efdd}@media (prefers-color-scheme: dark){:root:not([data-theme]) body.in-bonus{background:radial-gradient(ellipse at 50% 40%,#2C261A 0%,transparent 70%),#1f1c15}:root:not([data-theme]) .bonus-shell .board-wrap:before{background:radial-gradient(circle at 50% 50%,#3A2F1C 0%,transparent 55%);opacity:.55}:root:not([data-theme]) .bonus-shell .tile path[fill]:not([fill=none]){filter:drop-shadow(0 0 2px #00000060)}}:root[data-theme=dark] body.in-bonus{background:radial-gradient(ellipse at 50% 40%,#2C261A 0%,transparent 70%),#1f1c15}:root[data-theme=dark] .bonus-shell .board-wrap:before{background:radial-gradient(circle at 50% 50%,#3A2F1C 0%,transparent 55%);opacity:.55}:root[data-theme=dark] .bonus-shell .tile path[fill]:not([fill=none]){filter:drop-shadow(0 0 2px #00000060)}.bonus-shell .board-wrap:before{content:"";position:absolute;top:-30px;right:-30px;bottom:-30px;left:-30px;background:radial-gradient(circle at 50% 50%,#FFF4DE 0%,transparent 55%);opacity:.7;z-index:0;pointer-events:none}.bonus-shell .board-wrap>*{position:relative;z-index:1}.bonus-shell .tile path[fill]:not([fill=none]){filter:drop-shadow(0 0 2px #FFF8E1A0)}.bonus-shell .board-wrap{animation:bonus-breath 5.2s ease-in-out infinite}@keyframes bonus-breath{0%,to{filter:brightness(1)}50%{filter:brightness(1.035)}}@media (prefers-reduced-motion: reduce){.bonus-shell .board-wrap{animation:none}}.bonus-offer{position:relative;overflow:hidden;margin-top:8px;padding:14px 18px;border:1px solid #C9A06340;border-radius:14px;background:linear-gradient(180deg,#fffcf4,#fcf5e4);box-shadow:0 4px 16px #c9a06318;text-align:center;max-width:340px}@media (prefers-color-scheme: dark){:root:not([data-theme]) .bonus-offer{background:linear-gradient(180deg,#2a2418,#27201a);border-color:#c9a06360;box-shadow:0 4px 16px #0000006e}}:root[data-theme=dark] .bonus-offer{background:linear-gradient(180deg,#2a2418,#27201a);border-color:#c9a06360;box-shadow:0 4px 16px #0000006e}.bonus-offer-shimmer{position:absolute;top:0;left:-60%;width:60%;height:100%;background:linear-gradient(105deg,transparent 0%,#FFFFFF00 30%,#FFFFFFBB 50%,#FFFFFF00 70%,transparent 100%);animation:bonus-shimmer 3.2s ease-in-out infinite;pointer-events:none}@keyframes bonus-shimmer{0%{left:-60%}60%{left:120%}to{left:120%}}@media (prefers-reduced-motion: reduce){.bonus-offer-shimmer{animation:none;opacity:0}}.bonus-btn{border-color:#c9a06360!important}.bonus-btn:hover{border-color:#c9a063!important}.bonus-shell .fizzle-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 45%,#FFF6E0F0 0%,#F7EFDDD0 40%,transparent 72%);z-index:20;pointer-events:none;animation:fizzle-bloom 1.2s ease-out forwards}@keyframes fizzle-bloom{0%{opacity:1;transform:scale(.95)}60%{opacity:.5;transform:scale(1.02)}to{opacity:0;transform:scale(1.08)}}@media (prefers-reduced-motion: reduce){.bonus-shell .fizzle-overlay{animation-duration:.2s}}@keyframes hex-critter-emerge{0%{transform:translateY(20px);opacity:0}10%{transform:translateY(0);opacity:1}90%{transform:translateY(0);opacity:1}to{transform:translateY(2px);opacity:0}}.hex-critter-pupils{animation:hex-critter-pupil-dart 6s ease-in-out forwards;transform-origin:center;transform-box:view-box}@keyframes hex-critter-pupil-dart{0%,18%{transform:translate(0)}28%,38%{transform:translate(-1px)}48%,58%{transform:translate(1px)}68%,78%{transform:translate(0)}88%,to{transform:translate(0)}}.hex-critter-eyes{animation:hex-critter-blink 6s ease-in-out forwards;transform-origin:center;transform-box:view-box}@keyframes hex-critter-blink{0%,24%{transform:scaleY(1)}25%,26%{transform:scaleY(.1)}27%,64%{transform:scaleY(1)}65%,66%{transform:scaleY(.1)}67%,to{transform:scaleY(1)}}@media (prefers-reduced-motion: reduce){.hex-critter{display:none}}.ember-pulse{animation:ember-pulse 3s ease-in-out infinite;transform-origin:center;transform-box:view-box}@keyframes ember-pulse{0%,to{opacity:.45;transform:scale(1)}50%{opacity:.85;transform:scale(1.04)}}@media (prefers-reduced-motion: reduce){.ember-pulse{animation:none;opacity:.65}}.level-card,.level-card *,.world-tab,.world-tab *,button,.icon-btn,.link-btn{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.level-card:active{background:color-mix(in oklab,var(--accent) 14%,var(--ivory));transform:scale(.98);transition:background 80ms ease,transform 80ms ease}.world-tab:not(.locked):active{background:color-mix(in oklab,var(--accent) 12%,transparent)}
