:root{--bg1: #f5ead8;--bg2: #dce9dc;--panel: rgba(255, 253, 247, .95);--text: #403b34;--muted: #746d63;--slot: rgba(255, 255, 255, .56);--border: rgba(72, 58, 44, .17);--selected: #efc66d;--locked: #9bc4a2;--button: #667d6b;--danger: #a96e66;--shadow: 0 16px 42px rgba(61, 49, 36, .16);--soil-base: #b8956a;--soil-light: #c9a87e;--soil-dark: #a07858;--board-gap: 8px}*,*:before,*:after{box-sizing:border-box}html{min-height:100dvh}body{margin:0;overflow-x:hidden;padding-top:env(safe-area-inset-top,0px);padding-right:env(safe-area-inset-right,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);min-height:100dvh;color:var(--text);font-family:Inter,ui-rounded,SF Pro Rounded,system-ui,sans-serif;background:radial-gradient(circle at top left,rgba(255,255,255,.85),transparent 35%),linear-gradient(160deg,var(--bg1),var(--bg2));-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}button{font:inherit}.screen{display:none;min-height:100dvh}.screen.screen-active{display:flex;flex-direction:column;align-items:center}#screen-home{position:relative;width:100vw;height:100dvh;overflow:hidden;background:#182312}#main-menu-stage{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(100vw,100dvh);height:min(100vw,100dvh);aspect-ratio:1 / 1}#main-menu-background{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}#main-menu-options{position:absolute;inset:0;pointer-events:none}.menu-text-button{position:absolute;left:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-width:24%;height:5.6%;padding:0 1.2%;border:0;background:transparent;-webkit-appearance:none;appearance:none;cursor:pointer;pointer-events:auto;white-space:nowrap;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:transform .15s ease,filter .15s ease}.menu-button-label{font-family:Fredoka,Georgia,Times New Roman,serif;font-size:clamp(20px,3.1vmin,48px);font-weight:700;line-height:1;color:#6a361f;letter-spacing:.01em;text-shadow:0 1px 0 rgba(255,236,190,.55),0 2px 2px rgba(78,36,16,.18);pointer-events:none}.menu-button-icon{width:auto;height:62%;max-width:2.1em;object-fit:contain;flex:0 0 auto;pointer-events:none;-webkit-user-select:none;user-select:none}.menu-play-button{top:42.9%}.menu-decorate-button{top:51.8%}.menu-store-button{top:60.4%}.menu-settings-button{top:69.1%}.menu-text-button:hover{transform:translate(-50%,-50%) scale(1.035);filter:brightness(1.12) drop-shadow(0 0 5px rgba(255,222,150,.55))}.menu-text-button:active{transform:translate(-50%,-50%) scale(.97);filter:brightness(.96)}.menu-text-button:focus-visible{outline:3px solid rgba(255,235,180,.95);outline-offset:4px;border-radius:12px}@media(prefers-reduced-motion:reduce){.menu-text-button{transition:none}.menu-text-button:hover,.menu-text-button:active{transform:translate(-50%,-50%);filter:none}}#screen-home.debug-menu .menu-text-button{outline:2px solid rgba(255,0,0,.8);background:#ff00001a}.main-menu-message{position:absolute;bottom:4%;left:50%;transform:translate(-50%);width:max-content;max-width:80%;padding:.55rem 1rem;border-radius:999px;background:#302314d1;color:#fff5da;text-align:center;font-size:clamp(.8rem,2.5vw,.95rem);font-weight:600;opacity:0;transition:opacity .18s ease;pointer-events:none}.main-menu-message.visible{opacity:1}.home-hint{display:none}#screen-game{justify-content:flex-start}.game-home-btn{flex-shrink:0;min-width:44px;min-height:44px;padding:6px 10px;border:1px solid var(--border);border-radius:12px;background:#ffffffb8;font-size:1.1rem;cursor:pointer;transition:opacity .14s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}#screen-game{position:relative;overflow:hidden;background:#314225}#gameplay-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0}#screen-game:before{content:"";position:absolute;inset:0;background:#00000014;pointer-events:none;z-index:2}.app{position:relative;z-index:10;width:min(100%,820px);padding:10px 24px 24px;background:transparent;border:none;border-radius:0;box-shadow:none;overflow:visible}#gameplay-hud{position:relative;z-index:10;width:min(100%,820px);display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px 14px 4px}.gameplay-nav{display:flex;gap:6px;flex-shrink:0;align-self:flex-start;padding-top:2px}.gameplay-hud-right{display:flex;flex-direction:column;gap:6px;flex-shrink:0;align-items:flex-end}.hud-panel{position:relative;overflow:visible;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;padding:7px 14px 9px;border-radius:12px;background:#482e12b8;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);min-width:72px}.hud-panel-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:1px}.hud-label{font-family:Fredoka,Georgia,serif;font-size:clamp(9px,2vmin,13px);font-weight:600;color:#ffde9be6;letter-spacing:.06em;text-transform:uppercase;line-height:1}.hud-value{font-family:Fredoka,Georgia,serif;font-size:clamp(18px,4.5vmin,32px);font-weight:700;color:#fff8e0;line-height:1;text-shadow:0 1px 5px rgba(40,20,0,.55)}.level-panel{min-width:88px}.level-value{font-size:clamp(22px,5.5vmin,40px)}.level-name-text{font-family:Fredoka,Georgia,serif;font-size:clamp(8px,1.8vmin,12px);font-weight:500;color:#ffde8cb8;text-align:center;line-height:1.2;max-width:100px}.token-panel{min-width:88px}.token-value{font-size:clamp(20px,5vmin,36px)}.compact-panel-content{flex-direction:row;gap:8px;align-items:center}.compact-value{font-size:clamp(16px,4vmin,28px)}.danger-text{color:#ff9090;text-shadow:0 0 8px rgba(220,60,40,.65),0 1px 4px rgba(40,20,0,.5)}#level-navigation{position:relative;z-index:30;width:100%;margin-bottom:12px}.visible-level-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(5px,1.4vw,13px);margin-bottom:10px}.level-number-button{aspect-ratio:1 / 1;min-width:0;border:2px solid rgba(91,58,31,.78);border-radius:16px;background:linear-gradient(#e5c98ffa,#b3844cfa);color:#55331e;font-family:Fredoka,Georgia,Times New Roman,serif;font-size:clamp(15px,4vw,28px);font-weight:700;box-shadow:0 4px #5b3a1f8c,0 7px 14px #1c120a1c;cursor:pointer;transition:transform .1s ease,box-shadow .1s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.level-number-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 5px #5b3a1f99,0 9px 18px #1c120a24}.level-number-button.is-current{transform:translateY(-2px);outline:3px solid rgba(210,225,140,.9);outline-offset:1px;background:linear-gradient(#dae18ffa,#86a54ffa);box-shadow:0 6px #46642899,0 10px 20px #1c120a24;color:#2e4a14}.level-number-button.is-completed{background:linear-gradient(#c4dca0fa,#749958fa);color:#2d4c1a}.level-number-button.is-completed:after{content:"🍃";display:block;font-size:.48em;line-height:1;margin-top:1px;opacity:.82}.level-number-button.is-locked{opacity:.42;filter:grayscale(.4);cursor:not-allowed;box-shadow:none}.chapter-navigation-wrapper{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px}.chapter-range-scroll{display:flex;align-items:center;gap:clamp(6px,1.5vw,12px);overflow-x:auto;overflow-y:hidden;padding:4px 2px 10px;scroll-behavior:smooth;scroll-snap-type:x proximity;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.chapter-range-button{flex:0 0 auto;scroll-snap-align:center;min-height:40px;padding:7px 14px;border:2px solid rgba(83,56,34,.6);border-radius:999px;background:#eedbaef2;color:#573923;font-family:Fredoka,Georgia,serif;font-size:clamp(13px,3vw,16px);font-weight:700;white-space:nowrap;cursor:pointer;transition:background .12s ease,color .12s ease,box-shadow .12s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.chapter-range-button:hover{background:#dac391fa}.chapter-range-button.is-selected{background:#7f9c58;color:#fff8df;border-color:#4f6836;box-shadow:0 3px #42552f}.chapter-scroll-button{flex:0 0 auto;width:38px;height:38px;border:0;border-radius:50%;background:#5b743fe0;color:#fff8df;font-size:22px;line-height:1;cursor:pointer;transition:opacity .12s ease;touch-action:manipulation}.chapter-scroll-button:disabled{opacity:.25;cursor:default}.status{min-height:50px;margin-bottom:18px;padding:13px 16px;display:flex;align-items:center;border:1px solid var(--border);border-radius:16px;color:var(--muted);background:#ffffff94;transition:background .2s ease,color .2s ease}.status.celebration{color:#35523d;background:#c6e5cac7}.board-frame{position:relative;margin:4px 8px;overflow:visible}#board{position:relative;border-radius:18px;padding:14px;overflow:visible;background:radial-gradient(ellipse 2px 2px at 12% 22%,rgba(80,58,40,.13),transparent),radial-gradient(ellipse 1.5px 1.5px at 71% 44%,rgba(70,52,38,.1),transparent),radial-gradient(ellipse 2.5px 2.5px at 38% 79%,rgba(85,62,44,.09),transparent),radial-gradient(ellipse 1px 1px at 57% 13%,rgba(75,55,40,.11),transparent),radial-gradient(ellipse 2px 2px at 84% 68%,rgba(80,58,42,.1),transparent),radial-gradient(ellipse 1.5px 1.5px at 29% 55%,rgba(72,52,36,.08),transparent),radial-gradient(ellipse 1px 1px at 93% 30%,rgba(78,56,40,.09),transparent),radial-gradient(ellipse 2px 2px at 6% 85%,rgba(82,60,44,.1),transparent),radial-gradient(ellipse 55% 50% at 22% 65%,rgba(130,98,66,.28),transparent),radial-gradient(ellipse 45% 55% at 78% 28%,rgba(148,116,80,.22),transparent),radial-gradient(ellipse 60% 40% at 50% 85%,rgba(122,94,64,.2),transparent),linear-gradient(155deg,#c2a07c,#b8956a,#c5a47e,#b4906a);box-shadow:inset 0 2px 12px #3c2a1a2e,inset 0 -2px 8px #5a41281f,0 4px 18px #3c2a1a1f}.board-grid{display:grid;grid-template-columns:repeat(var(--board-columns, 3),minmax(0,1fr));gap:var(--board-gap);width:100%}.size-large{--tile-font: clamp(2rem, 10vw, 3.5rem)}.size-medium{--tile-font: clamp(1.5rem, 6vw, 2.5rem)}.size-small{--tile-font: clamp(1rem, 4vw, 1.8rem)}.slot[data-seam-right]:after{content:"";position:absolute;right:-5px;top:14%;width:2px;height:72%;border-radius:2px;background:#46301c38;pointer-events:none;z-index:0}.slot[data-seam-bottom]:before{content:"";position:absolute;bottom:-5px;left:14%;height:2px;width:72%;border-radius:2px;background:#46301c38;pointer-events:none;z-index:0}.slot{position:relative;aspect-ratio:1;min-width:0;padding:5px;display:grid;place-items:center;border:none;border-radius:14px;background:#ffffff2e;cursor:pointer;transition:transform .14s ease,background .14s ease,box-shadow .14s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent;overflow:visible}.slot:hover:not(.locked){transform:translateY(-3px);background:#ffffff47}.slot.selected{background:#fff2b48c;box-shadow:0 0 0 3px #efc66db3,0 4px 12px #b4822840;transform:translateY(-4px)}.slot.locked{background:#b4dcb973;cursor:default}.slot.just-locked{animation:lockPop .32s ease}.piece{width:100%;height:100%;border-radius:11px;background:linear-gradient(145deg,#fffffff0,#eee4d0e0);box-shadow:0 4px 10px #41301e33,0 1px 3px #41301e1f,inset 0 1px #ffffffeb}img.piece{display:block;-webkit-user-drag:none;pointer-events:none;user-select:none;-webkit-user-select:none}.animal-image{width:88%;height:88%;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}span.piece,.piece-emoji{display:grid;place-items:center;font-size:var(--tile-font, clamp(1.55rem, 7vw, 3rem));line-height:1}.locked .piece{background:linear-gradient(145deg,#f2fff4,#cce4d0);box-shadow:0 3px 8px #3c64462e,inset 0 1px #ffffffd9}.lock-mark{position:absolute;top:3px;right:3px;width:18px;height:18px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#5a7a60;font-size:.7rem;font-weight:900;pointer-events:none;z-index:2}.foliage{position:absolute;pointer-events:none;opacity:.88}.foliage-tl{top:-30px;left:-24px}.foliage-tr{top:-26px;right:-26px}.foliage-bl{bottom:-26px;left:-22px}.foliage-br{bottom:-28px;right:-24px}.foliage-lm{top:30%;left:-20px}.foliage-rm{bottom:28%;right:-18px}.controls{margin-top:24px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.control{min-height:44px;min-width:120px;padding:12px 17px;border:0;border-radius:14px;color:#fff;background:var(--button);font-weight:800;cursor:pointer;transition:opacity .14s ease,transform .1s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.control:active{transform:scale(.97)}.control.secondary{color:var(--text);border:1px solid var(--border);background:#ffffffd1}.control.restart{background:var(--danger)}.control:disabled{opacity:.42;cursor:not-allowed;transform:none}.coin-indicator{position:absolute;bottom:calc(100% + 2px);right:4px;font-size:.92rem;font-weight:800;color:#8a6010;pointer-events:none;white-space:nowrap;z-index:30;opacity:1}.coin-indicator-animate{animation:coinFloat 1.3s ease-out forwards}@keyframes coinFloat{0%{opacity:1;transform:translateY(0)}15%{opacity:1}to{opacity:0;transform:translateY(-40px)}}@media(prefers-reduced-motion:reduce){.coin-indicator-animate{animation:coinFadeOnly .7s ease-out forwards}@keyframes coinFadeOnly{0%{opacity:1}60%{opacity:1}to{opacity:0}}}.overlay{position:fixed;inset:0;z-index:20;padding:18px;display:none;place-items:center;background:#2d2a256b;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}.overlay.visible{display:grid}.card{width:min(100%,430px);padding:30px;border-radius:26px;text-align:center;background:#fffdf8;box-shadow:0 22px 60px #27221c40;animation:appear .24s ease-out}.card-icon{font-size:4rem}.card h2{margin:8px 0;font-size:2rem}.card p{color:var(--muted);line-height:1.5}.card-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:8px}@keyframes lockPop{0%{transform:scale(.94)}60%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes appear{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.reward-card{padding:26px 28px 28px}.reward-new-badge{margin:0 0 6px;font-size:.85rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#8a6c22}.reward-asset{font-size:5rem;line-height:1;margin:4px 0 10px;filter:drop-shadow(0 6px 14px rgba(60,80,50,.22))}.reward-title{margin:0 0 4px;font-size:1.7rem}.reward-type-label{margin:0 0 8px;font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--button)}.reward-description{margin:0 0 12px;font-size:.95rem;color:var(--muted);line-height:1.5}.reward-ecosystem-note{margin:0 0 14px;font-size:.88rem;font-weight:700;color:#3d6b46}.subscreen-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:max(14px,env(safe-area-inset-top,14px)) 16px 14px;background:#fffdf7eb;border-bottom:1px solid var(--border);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);position:sticky;top:0;z-index:5;flex-shrink:0}.subscreen-title{margin:0;font-size:1.15rem;font-weight:800;color:var(--text)}.back-btn{min-height:44px;min-width:44px;padding:8px 14px;border:1px solid var(--border);border-radius:12px;background:#ffffffc7;color:var(--text);font-weight:700;font-size:.9rem;cursor:pointer;transition:opacity .14s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.ecosystem-screen{align-items:stretch}.day-night-btn{min-height:44px;padding:8px 14px;border:1px solid var(--border);border-radius:12px;background:#ffffffb8;color:var(--text);font-weight:700;font-size:.88rem;cursor:pointer;transition:background .2s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.ecosystem-scene{position:relative;width:100%;flex:1;min-height:220px;overflow:hidden;transition:background .6s ease}.ecosystem-scene.night-mode:before{content:"✦ · ✦  ·  ✦    ·   ✦  ·  ✦    ✦  ·    ·  ✦ ·    ✦";position:absolute;inset:0;padding:10px 16px;font-size:.65rem;color:#ffffff8c;letter-spacing:.3em;line-height:2.2;word-break:break-all;pointer-events:none;z-index:0}.eco-item{position:absolute;line-height:1;cursor:default;z-index:1;filter:drop-shadow(0 4px 10px rgba(0,0,0,.18));transition:opacity .4s ease;animation:ecoItemAppear .4s ease-out}@keyframes ecoItemAppear{0%{opacity:0;transform:scale(.7) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.animal-collection-wrap{width:100%;padding:14px 16px max(18px,env(safe-area-inset-bottom,18px));background:#fffdf7f0;border-top:1px solid var(--border);flex-shrink:0}.collection-title{margin:0 0 12px;font-size:.78rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.animal-collection{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.animal-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 6px;border:1px solid var(--border);border-radius:16px;background:#ffffffb8;position:relative}.animal-locked{background:#f0ece699}.animal-unlocked{background:#dcf0e0b3;border-color:var(--locked)}.animal-face{font-size:clamp(1.8rem,7vw,2.5rem);line-height:1}.animal-locked .animal-face{filter:grayscale(1) opacity(.35)}.animal-name{margin:0;font-size:.72rem;font-weight:700;color:var(--muted);text-align:center}.animal-unlocked .animal-name{color:#3d6b46}.animal-lock-badge{position:absolute;top:6px;right:6px;font-size:.65rem;opacity:.6}.settings-content{width:100%;max-width:520px;margin:0 auto;padding:20px 20px max(20px,env(safe-area-inset-bottom,20px));display:flex;flex-direction:column;gap:20px}.settings-group{border:1px solid var(--border);border-radius:20px;background:#fffdf7e6;overflow:hidden}.settings-group-title{margin:0;padding:14px 18px 12px;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border)}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;cursor:pointer;transition:background .12s ease;border-bottom:1px solid var(--border)}.settings-row:last-child{border-bottom:none}.settings-row:hover{background:#ffffff8c}.settings-row-info{display:flex;flex-direction:column;gap:3px;min-width:0}.settings-row-label{font-size:.97rem;font-weight:700;color:var(--text)}.settings-row-desc{font-size:.8rem;color:var(--muted);line-height:1.35}.settings-toggle-wrap{position:relative;flex-shrink:0}.settings-toggle-input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.settings-toggle-track{display:flex;align-items:center;width:48px;height:28px;border-radius:14px;background:#786e6447;border:1.5px solid rgba(100,90,80,.18);transition:background .2s ease,border-color .2s ease;cursor:pointer}.settings-toggle-thumb{width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #3c301e40;margin-left:2px;transition:transform .2s ease,background .2s ease}.settings-toggle-input:checked+.settings-toggle-track{background:var(--button);border-color:var(--button)}.settings-toggle-input:checked+.settings-toggle-track .settings-toggle-thumb{transform:translate(20px)}.settings-toggle-input:focus-visible+.settings-toggle-track{outline:2px solid var(--button);outline-offset:2px}.game-nav-group{display:flex;gap:4px;flex-shrink:0}.store-header-coin{display:flex;align-items:center;gap:5px;font-size:1rem;font-weight:800;color:#7a5c10;white-space:nowrap}.store-header-coin-icon{font-size:1rem;line-height:1;flex-shrink:0}.store-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 0 32px}.store-tabs{display:flex;gap:6px;padding:12px 16px 0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.store-tabs::-webkit-scrollbar{display:none}.store-tab{flex-shrink:0;padding:7px 16px;border:1.5px solid rgba(100,80,40,.22);border-radius:20px;background:#fffcf5bf;font-family:inherit;font-size:.88rem;font-weight:600;color:#6a5828;cursor:pointer;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}.store-tab:hover{background:#c8b4642e;border-color:#82642859}.store-tab:focus-visible{outline:2px solid var(--button);outline-offset:2px}.store-tab-active{background:var(--button);border-color:var(--button);color:#fff}.store-tab-active:hover{background:var(--button)}.store-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;padding:14px 16px 24px}.shop-card{display:flex;flex-direction:column;background:#fffcf4f2;border:1.5px solid rgba(180,150,80,.22);border-radius:18px;overflow:hidden;box-shadow:0 2px 10px #3c301414;transition:transform .15s,box-shadow .15s}.shop-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px #3c30141f}.shop-card-locked{opacity:.72}.shop-card-owned{border-color:#508c3c59}.shop-card-img-wrap{position:relative;width:100%;aspect-ratio:16 / 9;overflow:hidden;background:#e8e4d8;flex-shrink:0}.shop-card-img{width:100%;height:100%;object-fit:cover;display:block}.shop-card-img-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3rem;background:linear-gradient(135deg,#e0dccc,#d4cebb)}.shop-card-lock-badge{position:absolute;top:8px;right:8px;font-size:1.25rem;background:#fffcf4e0;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px #00000026}.shop-card-owned-badge{position:absolute;top:8px;right:8px;font-size:.78rem;font-weight:800;background:#508c3ce6;color:#fff;border-radius:12px;padding:3px 10px;box-shadow:0 1px 4px #00000026}.shop-card-info{display:flex;flex-direction:column;gap:6px;padding:14px 16px;flex:1}.shop-card-name{margin:0;font-size:1.05rem;font-weight:800;color:var(--text);line-height:1.25}.shop-card-desc{margin:0;font-size:.84rem;color:var(--muted);line-height:1.5}.shop-card-count{margin:0;font-size:.8rem;font-weight:600;color:#6a8050}.shop-card-status-row{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.shop-card-price{font-size:.95rem;font-weight:800;color:#7a5c10}.shop-card-deficit{font-size:.78rem;font-weight:600;color:#a06040}.shop-card-status{font-size:.82rem;font-weight:600}.shop-card-status-locked{color:#8a7050}.shop-card-status-owned{color:#508038}.shop-card-actions{display:flex;gap:8px;margin-top:auto;padding-top:6px;flex-wrap:wrap}.shop-btn{display:inline-flex;align-items:center;justify-content:center;padding:9px 14px;border-radius:12px;border:1.5px solid transparent;font-family:inherit;font-size:.85rem;font-weight:700;cursor:pointer;transition:background .15s,opacity .15s,transform .1s;white-space:nowrap;min-height:40px;min-width:44px}.shop-btn:focus-visible{outline:2px solid var(--button);outline-offset:2px}.shop-btn:active:not(:disabled){transform:scale(.97)}.shop-btn-primary{background:var(--button);color:#fff;border-color:var(--button)}.shop-btn-primary:hover:not(:disabled){filter:brightness(1.08)}.shop-btn-secondary{background:#b49b501f;color:#7a5c28;border-color:#b49b5047}.shop-btn-secondary:hover:not(:disabled){background:#b49b5038}.shop-btn-owned{background:#508c3c1f;color:#4a8038;border-color:#508c3c47;cursor:default}.shop-btn-unaffordable{background:#a064321a;color:#8a6040;border-color:#a0643238;cursor:default}.shop-btn:disabled{opacity:.6;cursor:default;transform:none;filter:none}.shop-btn-full{width:100%}.store-empty{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;gap:10px;padding:52px 32px;text-align:center}.store-empty-icon{font-size:3.5rem;line-height:1}.store-empty-title{margin:0;font-size:1.1rem;font-weight:700;color:var(--text)}.store-empty-body{margin:0;font-size:.9rem;color:var(--muted);max-width:300px;line-height:1.6}.shop-detail{position:absolute;inset:0;z-index:40;background:#faf7f0;display:flex;flex-direction:column;overflow:hidden}.shop-detail[hidden]{display:none}.shop-detail-inner{display:flex;flex-direction:column;height:100%;overflow:hidden}.shop-detail-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:14px 16px 12px;border-bottom:1px solid rgba(180,150,80,.18);flex-shrink:0}.shop-detail-title{margin:0;font-size:1.1rem;font-weight:800;color:var(--text);text-align:center}.shop-detail-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:16px 16px 32px;display:flex;flex-direction:column;gap:18px}.shop-detail-preview{border-radius:14px;overflow:hidden;aspect-ratio:16 / 9;background:#e8e4d8;position:relative;flex-shrink:0}.shop-detail-img{width:100%;height:100%;object-fit:cover;display:block}.shop-detail-img-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:4rem;background:linear-gradient(135deg,#e0dccc,#d4cebb)}.shop-detail-desc-block{display:flex;flex-direction:column;gap:4px}.shop-detail-desc{margin:0;font-size:.95rem;color:var(--muted);line-height:1.6}.shop-detail-count{margin:0;font-size:.88rem;font-weight:700;color:#6a8050}.shop-detail-contents{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.shop-detail-item{display:flex;flex-direction:column;align-items:center;gap:6px;background:#fffcf4e6;border:1.5px solid rgba(180,150,80,.18);border-radius:12px;padding:10px 8px}.shop-detail-item-thumb{width:64px;height:64px;border-radius:10px;overflow:hidden;background:#e8e4d8;flex-shrink:0;position:relative}.shop-detail-item-img{width:100%;height:100%;object-fit:cover;display:block}.shop-detail-item-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:1.75rem;background:linear-gradient(135deg,#e4e0d4,#d8d4c8)}.shop-detail-item-name{font-size:.8rem;font-weight:700;color:var(--text);text-align:center;line-height:1.3}.shop-insufficient{background:#c88c3c1a;border:1.5px solid rgba(200,140,60,.22);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}.shop-insufficient-title{margin:0;font-size:.95rem;font-weight:700;color:#8a5818}.shop-insufficient-body{margin:0;font-size:.88rem;color:#7a5030;line-height:1.5}.shop-detail-footer{margin-top:auto;padding-top:4px}.shop-detail-lock{display:block;text-align:center;font-size:.95rem;font-weight:600;color:#8a7050;padding:10px 0}.shop-detail-price-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.shop-detail-price-row .shop-card-price{font-size:1.05rem;flex-shrink:0}.shop-detail-price-row .shop-btn{flex:1}.shop-confirm{position:absolute;inset:0;z-index:50;background:#3c301480;display:flex;align-items:center;justify-content:center;padding:24px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.shop-confirm[hidden]{display:none}.shop-confirm-inner{background:#faf7f0;border-radius:20px;padding:24px 24px 20px;max-width:340px;width:100%;box-shadow:0 8px 32px #281e0a47;display:flex;flex-direction:column;gap:10px}.shop-confirm-title{margin:0;font-size:1rem;font-weight:700;color:var(--text);line-height:1.45}.shop-confirm-body{margin:0;font-size:.88rem;color:var(--muted)}.shop-confirm-actions{display:flex;gap:10px;margin-top:6px}.shop-confirm-actions .shop-btn{flex:1}.shop-success{position:absolute;inset:0;z-index:60;background:#3c502885;display:flex;align-items:center;justify-content:center;padding:24px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;transition:opacity .25s ease}.shop-success[hidden]{display:none!important;opacity:0}.shop-success-visible{opacity:1}@media(prefers-reduced-motion:reduce){.shop-success{transition:none}}.shop-success-inner{background:#faf7f0;border-radius:22px;padding:28px 24px 22px;max-width:340px;width:100%;box-shadow:0 8px 36px #283c144d;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.shop-success-icon{font-size:2.8rem;line-height:1}.shop-success-title{margin:0;font-size:1.05rem;font-weight:800;color:#3a6028}.shop-success-body{margin:0;font-size:.86rem;color:var(--muted);line-height:1.55;max-width:280px}.store-onboarding-tip{display:flex;align-items:center;gap:.5rem;padding:.65rem .85rem;background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:10px;font-size:.84rem;color:var(--text);line-height:1.4;margin-bottom:.25rem}.store-onboarding-tip-icon{font-size:1.1rem;flex-shrink:0}.shop-card-featured{border:2px solid var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.shop-card-badge{display:inline-block;padding:.15em .55em;border-radius:100px;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent-dark, var(--accent));font-size:.72rem;font-weight:600;letter-spacing:.01em;margin-bottom:.2rem}.store-mandatory-banner{background:color-mix(in srgb,var(--accent) 10%,var(--surface));border:1.5px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:14px;padding:1rem 1.1rem .85rem;margin-bottom:1rem;text-align:center}.store-mandatory-banner-title{font-size:1.05rem;font-weight:700;color:var(--text);margin:0 0 .3rem}.store-mandatory-banner-body{font-size:.9rem;color:var(--text);opacity:.85;margin:0 0 .2rem}.store-mandatory-banner-sub{font-size:.82rem;color:var(--text);opacity:.6;margin:0}.shop-card-dimmed{opacity:.28;pointer-events:none;-webkit-user-select:none;user-select:none}@keyframes gentle-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--accent) 55%,transparent)}50%{box-shadow:0 0 0 8px color-mix(in srgb,var(--accent) 0%,transparent)}}.shop-btn-pulse{animation:gentle-pulse 2.2s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.shop-btn-pulse{animation:none}}.shop-success-actions{display:flex;flex-direction:column;gap:.55rem;width:100%;margin-top:.25rem}#screen-habitat{justify-content:flex-start}.habitat-wrap{display:flex;flex-direction:column;width:100%;max-width:680px;height:100dvh;min-height:100dvh;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);margin:0 auto;overflow:hidden}.habitat-scene-area{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:8px 12px;overflow:hidden}.habitat-canvas{position:relative;width:100%;max-width:440px;aspect-ratio:3 / 4;max-height:100%;border-radius:20px;overflow:hidden;background:radial-gradient(ellipse 90% 25% at 50% 100%,rgba(40,72,28,.55) 0%,transparent 70%),linear-gradient(180deg,#8fc8e0,#aad8e8 20%,#b8dda0 42%,#78b050 65%,#4e8830);box-shadow:0 4px 24px #0003}.hab-canvas--woodland{background:radial-gradient(ellipse 110% 28% at 50% 100%,rgba(22,52,14,.65) 0%,transparent 65%),radial-gradient(ellipse 70% 45% at 18% 58%,rgba(30,66,18,.42) 0%,transparent 65%),radial-gradient(ellipse 70% 40% at 82% 52%,rgba(28,60,16,.38) 0%,transparent 60%),linear-gradient(180deg,#5090bc,#70b8d8 18%,#9ed080,#60a030 62%,#3a7020)}.hab-slot{position:absolute;transform:translate(-50%,-100%);border:none;background:transparent;cursor:pointer;padding:0;display:flex;align-items:flex-end;justify-content:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:filter .12s ease;border-radius:50%}.hab-slot[data-category=large]{width:92px;min-height:92px}.hab-slot[data-category=medium]{width:70px;min-height:70px}.hab-slot[data-category=animal]{width:74px;min-height:74px}.hab-slot[data-category=small]{width:54px;min-height:54px}.hab-slot[data-category=ground]{width:46px;min-height:46px}.hab-slot--compat:after{content:"";position:absolute;inset:-7px;border-radius:50%;border:2.5px solid rgba(100,200,80,.8);box-shadow:0 0 14px #50be3c8c,0 0 4px #50be3c59;animation:hab-pulse 1.4s ease-in-out infinite;pointer-events:none}.hab-slot--replace:after{content:"";position:absolute;inset:-7px;border-radius:50%;border:2.5px solid rgba(240,188,50,.85);box-shadow:0 0 14px #f0bc3280;animation:hab-pulse 1.4s ease-in-out infinite;pointer-events:none}.hab-slot--inspected:after{content:"";position:absolute;inset:-7px;border-radius:50%;border:2.5px solid rgba(80,150,240,.85);box-shadow:0 0 14px #5096f073;pointer-events:none}@keyframes hab-pulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.07)}}.hab-deco-visual{width:100%;height:100%;display:flex;align-items:flex-end;justify-content:center;pointer-events:none}.hab-deco-img{width:100%;height:100%;object-fit:contain;object-position:bottom center;display:block;filter:drop-shadow(0 2px 5px rgba(0,0,0,.25))}.hab-deco-emoji{display:block;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.22))}.hab-deco-visual[data-category=large] .hab-deco-emoji{font-size:3.6rem}.hab-deco-visual[data-category=medium] .hab-deco-emoji{font-size:2.8rem}.hab-deco-visual[data-category=animal] .hab-deco-emoji{font-size:3rem}.hab-deco-visual[data-category=small] .hab-deco-emoji{font-size:2.2rem}.hab-deco-visual[data-category=ground] .hab-deco-emoji{font-size:1.9rem}.habitat-bottom{flex-shrink:0;display:flex;flex-direction:column;gap:8px;padding:6px 12px max(14px,env(safe-area-inset-bottom,14px))}.habitat-action-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;background:#ffffffeb;border:1px solid var(--border);border-radius:14px;min-height:48px}.habitat-action-bar:not([hidden]){display:flex}.habitat-action-label{font-weight:700;font-size:.92rem;color:var(--text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.habitat-action-btns{display:flex;gap:8px;flex-shrink:0}.habitat-remove-btn{padding:7px 12px;border:1px solid rgba(169,110,102,.4);border-radius:10px;background:#a96e661a;color:var(--danger);font-size:.83rem;font-weight:700;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.habitat-remove-btn:not([hidden]){display:inline-flex;align-items:center;gap:4px}.habitat-cancel-btn{padding:7px 12px;border:1px solid var(--border);border-radius:10px;background:#fffc;color:var(--muted);font-size:.83rem;font-weight:700;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.habitat-tray{display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;padding:4px 2px 6px;min-height:96px;align-items:flex-start}.habitat-tray::-webkit-scrollbar{display:none}.hab-tray-item{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:5px;width:72px;padding:8px 4px 7px;border:1.5px solid var(--border);border-radius:14px;background:#ffffffd1;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:border-color .12s ease,background .12s ease,opacity .12s ease;position:relative}.hab-tray-item--selected{border-color:#5a9a30;background:#5a9a301a;box-shadow:0 0 0 2px #5a9a3047}.hab-tray-item--placed{opacity:.5}.hab-tray-visual{position:relative;width:44px;height:44px;display:flex;align-items:center;justify-content:center}.hab-tray-img{width:100%;height:100%;object-fit:contain}.hab-tray-emoji{font-size:1.9rem;line-height:1;display:block}.hab-tray-label{font-size:.66rem;font-weight:700;color:var(--text);text-align:center;line-height:1.25;width:100%;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.hab-tray-placed-badge{position:absolute;top:-3px;right:-3px;width:17px;height:17px;background:#5a9a30;color:#fff;border-radius:50%;font-size:.62rem;font-weight:800;display:flex;align-items:center;justify-content:center;border:1.5px solid white}.habitat-tip{position:fixed;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:24px 20px max(28px,env(safe-area-inset-bottom,28px));background:#14280e80;z-index:200;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.habitat-tip[hidden]{display:none}.habitat-tip-card{width:100%;max-width:420px;padding:24px 24px 20px;background:var(--panel);border-radius:24px;box-shadow:0 12px 40px #00000047;display:flex;flex-direction:column;align-items:center;gap:18px}.habitat-tip-text{margin:0;font-size:1.05rem;font-weight:600;text-align:center;color:var(--text);line-height:1.55}.habitat-tip-text-sub{font-size:.88rem;font-weight:400;opacity:.85;margin-top:.3rem}.instruction-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:32px 28px 26px}.instruction-icon{font-size:3rem;line-height:1;margin-bottom:.25rem}.instruction-title{font-size:1.45rem;font-weight:700;color:var(--text);margin:0 0 .2rem}.instruction-line{margin:0;font-size:1rem;color:var(--text);line-height:1.55;text-align:center}.overlay-unlock-badge{display:inline-block;padding:.28em .75em;border-radius:100px;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--text);font-size:.9rem;font-weight:600;margin:0 .25rem;white-space:nowrap}.hab-capacity{display:flex;align-items:center;justify-content:flex-end;font-size:.78rem;font-weight:700;color:var(--muted);letter-spacing:.01em;white-space:nowrap;padding:4px 8px;border-radius:100px;background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 18%,transparent);transition:background .2s,color .2s,border-color .2s;line-height:1}.hab-capacity[hidden]{display:none}.hab-capacity--full{background:color-mix(in srgb,#c05840 12%,transparent);border-color:color-mix(in srgb,#c05840 28%,transparent);color:#a04030}.hab-full-toast{position:fixed;bottom:max(90px,calc(env(safe-area-inset-bottom,14px) + 80px));left:50%;transform:translate(-50%) translateY(16px);z-index:300;background:var(--panel);border:1.5px solid color-mix(in srgb,#c05840 30%,transparent);border-radius:18px;padding:14px 20px 12px;max-width:320px;width:calc(100% - 40px);box-shadow:0 8px 28px #00000038;text-align:center;pointer-events:none;opacity:0;transition:opacity .25s ease,transform .25s ease}.hab-full-toast[hidden]{display:none}.hab-full-toast--visible{opacity:1;transform:translate(-50%) translateY(0)}.hab-full-toast-title{margin:0 0 .2rem;font-size:.92rem;font-weight:700;color:#a04030}.hab-full-toast-sub{margin:0;font-size:.82rem;color:var(--muted);line-height:1.4}.hab-tray-count-badge{position:absolute;top:-4px;right:-4px;min-width:17px;height:17px;padding:0 3px;background:var(--accent, #5a9a30);color:#fff;border-radius:100px;font-size:.6rem;font-weight:800;display:flex;align-items:center;justify-content:center;border:1.5px solid white}.hab-tray-sublabel{font-size:.6rem;font-weight:600;color:var(--accent-dark, #4a8828);text-align:center;line-height:1;letter-spacing:.02em;text-transform:uppercase}.shop-success-note{margin:.25rem 0 0;font-size:.82rem;color:var(--muted);font-style:italic;line-height:1.4}.dev-reset-btn{display:block;width:100%;margin-top:1.5rem;padding:.55rem 1rem;border:1.5px dashed rgba(120,80,40,.35);border-radius:10px;background:transparent;color:#78502899;font-size:.78rem;font-family:inherit;cursor:pointer;transition:background .15s,opacity .15s}.dev-reset-btn:hover{background:#7850280f;opacity:1}.dev-reset-btn:active{background:#7850281f}.save-status{position:fixed;bottom:max(18px,env(safe-area-inset-bottom,18px));right:16px;z-index:9999;padding:6px 14px;border-radius:20px;background:#283c28d1;color:#e8f0e8;font-size:.75rem;font-weight:600;letter-spacing:.02em;pointer-events:none;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:opacity .35s ease,transform .35s ease}.save-status--hidden{opacity:0;transform:translateY(6px)}.save-status--visible{opacity:1;transform:translateY(0)}.save-status--error{background:#782828d9;color:#ffe8e8}@media(max-width:620px){.app{padding:8px 12px 20px}#gameplay-hud{padding:8px 8px 2px;gap:6px}.hud-panel{padding:5px 10px 7px;min-width:60px}.level-panel,.token-panel{min-width:72px}.level-number-button{font-size:clamp(13px,3.5vw,22px)}.chapter-range-button{min-height:36px;padding:5px 10px;font-size:clamp(12px,2.8vw,14px)}.chapter-scroll-button{width:32px;height:32px;font-size:18px}.board-grid{gap:6px}.slot[data-seam-right]:after{right:-4px}.slot[data-seam-bottom]:before{bottom:-4px}.slot{border-radius:10px;padding:4px}.piece{border-radius:8px}.control{flex:1;min-width:100px}.home-wrap{padding:24px 18px max(20px,env(safe-area-inset-bottom,20px))}.foliage-tl{top:-22px;left:-16px}.foliage-tr{top:-18px;right:-18px}.foliage-bl{bottom:-18px;left:-14px}.foliage-br{bottom:-20px;right:-16px}.foliage-lm,.foliage-rm{display:none}}.challenge-tutorial-overlay{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px;background:#181f128c;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.challenge-tutorial-overlay[hidden]{display:none}.challenge-tutorial-modal{position:relative;width:min(90vw,460px);padding:clamp(24px,5vw,40px) clamp(22px,5vw,38px);border-radius:24px;background:linear-gradient(160deg,#fff8e0fa,#eddaacfa);border:4px solid rgba(111,70,35,.8);box-shadow:0 8px #5a37144d,0 20px 50px #140f0852;text-align:center}.challenge-tutorial-decoration{margin-bottom:12px;line-height:1}.challenge-tutorial-icon{font-size:clamp(36px,9vw,52px);display:inline-block;filter:drop-shadow(0 2px 4px rgba(60,30,0,.2))}.challenge-tutorial-heading{margin:0 0 14px;font-family:Fredoka,Georgia,Times New Roman,serif;font-size:clamp(20px,5.5vw,30px);font-weight:700;color:#60381f;line-height:1.2;text-shadow:0 1px 0 rgba(255,240,200,.6)}.challenge-tutorial-body{margin:0 auto 26px;max-width:34ch;font-family:Fredoka,Georgia,serif;font-size:clamp(15px,4vw,19px);line-height:1.5;color:#4f3a28}.challenge-tutorial-confirm{min-width:150px;min-height:52px;padding:12px 32px;border:0;border-radius:16px;font-family:Fredoka,Georgia,serif;font-size:clamp(16px,4vw,20px);font-weight:700;cursor:pointer;color:#fff8df;background:#6d8b45;box-shadow:0 5px #455d2d;transition:background .12s,box-shadow .12s,transform .08s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.challenge-tutorial-confirm:hover{background:#7a9e4e}.challenge-tutorial-confirm:active{transform:translateY(3px);box-shadow:0 2px #455d2d}.challenge-tutorial-confirm:focus-visible{outline:3px solid #f0c060;outline-offset:3px}@media(max-width:480px){.challenge-tutorial-modal{border-radius:18px;border-width:3px}.challenge-tutorial-heading{font-size:clamp(18px,5vw,24px)}.challenge-tutorial-body{font-size:clamp(14px,3.8vw,17px)}.challenge-tutorial-confirm{min-height:48px;padding:10px 28px}}.slot.barrier{background:linear-gradient(145deg,#8b5e3c,#6b3f1f 55%,#7a4d2a);border-color:#4a2810;box-shadow:0 3px #2f1a0a,inset 0 1px #ffffff1a;cursor:pointer;position:relative;overflow:hidden}.slot.barrier:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(89deg,transparent,transparent 5px,rgba(0,0,0,.06) 5px,rgba(0,0,0,.06) 6px);pointer-events:none;z-index:0}.slot.barrier[data-durability-ratio=damaged]{background:linear-gradient(145deg,#7a4f2c,#5a3018 55%,#693d20)}.slot.barrier[data-durability-ratio=critical]{background:linear-gradient(145deg,#6a3d22,#4a2610 55%,#5a3015);box-shadow:0 3px #2f1a0a,0 0 0 2px #f0782880}.slot.barrier:hover{background:linear-gradient(145deg,#9a6e4c,#7a4f2f 55%,#8a5d3a);box-shadow:0 3px #2f1a0a,0 0 0 3px #f0c0608c}.slot.barrier:active{transform:translateY(2px);box-shadow:0 1px #2f1a0a}.barrier-icon{display:block;font-size:clamp(22px,6vw,32px);line-height:1;filter:drop-shadow(0 2px 1px rgba(0,0,0,.45));position:relative;z-index:1}.barrier-durability{position:absolute;top:3px;right:4px;z-index:2;display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;background:#ffffffd9;color:#3a2010;border-radius:50%;font-family:Fredoka,Georgia,serif;font-size:11px;font-weight:700;line-height:1}@keyframes log-strike-shake{0%{transform:translate(0) rotate(0)}18%{transform:translate(-4px) rotate(-1.5deg)}40%{transform:translate(4px) rotate(1.5deg)}60%{transform:translate(-3px) rotate(-.5deg)}80%{transform:translate(2px) rotate(.5deg)}to{transform:translate(0) rotate(0)}}.slot.barrier.log-struck{animation:log-strike-shake .15s ease-out both}@media(prefers-reduced-motion:reduce){.slot.barrier.log-struck{animation:none}}.tool-panel{background:linear-gradient(160deg,#e6f2d4,#c8dfa6);border-color:#8fba58}#tool-display[hidden]{display:none!important}.tool-panel .hud-label{color:#4a6b2a}.tool-panel .hud-value{color:#2d5016}@keyframes tool-hud-reveal{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}#tool-display:not([hidden]){animation:tool-hud-reveal .22s ease-out both}@media(prefers-reduced-motion:reduce){#tool-display:not([hidden]){animation:none}}#out-of-bonus-toast{position:absolute;bottom:max(env(safe-area-inset-bottom,0px) + 8px,12px);left:50%;transform:translate(-50%);z-index:60;max-width:min(92vw,420px);padding:10px 18px;background:#3a5c1a;color:#f0ffd8;border:2px solid #5c8f28;border-radius:24px;box-shadow:0 4px 16px #00000059;font-family:Fredoka,Georgia,serif;font-size:clamp(13px,3.5vw,16px);font-weight:600;text-align:center;line-height:1.4;animation:toast-slide-in .3s cubic-bezier(.34,1.56,.64,1) both;pointer-events:none}#out-of-bonus-toast[hidden]{display:none}@keyframes toast-slide-in{0%{opacity:0;transform:translate(-50%) translateY(16px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.reward-breakdown{margin:.6rem 0 .25rem;text-align:left;font-size:clamp(13px,3.2vw,15px)}.reward-row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.15rem 0;color:inherit}.reward-row--bonus{color:#2d6b1a}.reward-row--perfect{color:#7c3aed;font-weight:600}.reward-row--total{border-top:1px solid rgba(0,0,0,.12);margin-top:.3rem;padding-top:.35rem;font-weight:700}.reward-amount{font-weight:600;white-space:nowrap}.reward-amount--bonus{color:#2d6b1a}.reward-amount--perfect{color:#7c3aed}.reward-cap-notice{margin-top:.4rem;font-size:.78em;color:#888;text-align:center;font-style:italic}.result-title--perfect{color:#7c3aed;animation:perfect-pulse .55s cubic-bezier(.34,1.56,.64,1) both}@keyframes perfect-pulse{0%{transform:scale(1)}60%{transform:scale(1.14)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.result-title--perfect{animation:none}}.game-nav-btn{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;min-width:44px;min-height:44px;padding:max(7px,env(safe-area-inset-top,0px) * .3) 13px;padding-top:max(7px,env(safe-area-inset-top,0px) * .3);padding-left:max(13px,env(safe-area-inset-left,0px) * .6);border:1px solid rgba(255,255,255,.55);border-radius:12px;background:#fffc;color:var(--text);font-family:inherit;font-size:.83rem;font-weight:700;cursor:pointer;transition:opacity .14s,background .14s;touch-action:manipulation;-webkit-tap-highlight-color:transparent;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.game-nav-btn:hover{background:#fffffff2}.game-nav-btn:active{opacity:.78;transform:scale(.97)}.game-nav-btn:focus-visible{outline:3px solid var(--button);outline-offset:2px}.result-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin-top:10px}.result-primary{width:100%}.result-secondary-row{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.result-secondary-row .control{flex:1;min-width:120px}.result-home-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;margin:0 auto;padding:8px 20px;min-height:44px;border:none;border-radius:10px;background:transparent;color:var(--muted);font-family:inherit;font-size:.9rem;font-weight:700;cursor:pointer;transition:color .15s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.result-home-btn:hover{color:var(--text)}.result-home-btn:active{opacity:.7}.result-home-btn:focus-visible{outline:3px solid var(--button);outline-offset:2px;border-radius:10px}#leaveConfirmDialog{z-index:30}#leaveConfirmDialog:not([hidden]){display:grid;place-items:center}.leave-confirm-card{text-align:center}.leave-confirm-title{margin:0 0 8px;font-size:1.5rem}.leave-confirm-body{margin:0 0 18px;color:var(--muted);line-height:1.5}
