@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap";.combo-panel{flex:none;padding:7px 14px 8px;border-bottom:1px solid #e9e6dc;--combo-color:#aab18a}.combo-panel[data-tier="1"]{--combo-color:#a8ad77}.combo-panel[data-tier="2"]{--combo-color:#94a75c}.combo-panel[data-tier="3"]{--combo-color:#c0a04f}.combo-panel[data-tier="4"]{--combo-color:#d48e4b}.combo-panel[data-tier="5"]{--combo-color:#c66e51}.combo-copy,.combo-detail{display:flex;justify-content:space-between;align-items:center}.combo-copy{font:11px var(--mono);letter-spacing:.7px;color:#515b4b}.combo-copy>span{font-weight:500;color:#435638}.combo-copy>b{font-weight:400;color:#66542e}.combo-track{height:7px;border-radius:7px;position:relative;overflow:hidden;background:#e8e5da;margin:6px 0 5px}.combo-fill{position:absolute;inset:0 auto 0 0;width:100%;transform:scaleX(0);transform-origin:left center;border-radius:inherit;background:linear-gradient(90deg,#d6d48e,var(--combo-color));transition:background-color .2s}.combo-track>i{position:absolute;top:0;bottom:0;width:2px;background:#f8f6ee;z-index:1}.combo-detail{font:10px var(--mono);letter-spacing:.55px;color:#596052}.combo-detail b{font-weight:500;color:#435638}.combo-panel.tier-up{animation:combo-tier-up .68s ease-out}@keyframes combo-tier-up{0%{background:#fff5cd;box-shadow:inset 0 0 0 1px #e9c75e}to{background:transparent;box-shadow:inset 0 0 0 1px transparent}}.effects-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;overflow:hidden;pointer-events:none}.floating-effect{position:absolute;left:50%;top:35%;transform:translate(-50%) scale(.55);opacity:0;white-space:nowrap;font-family:var(--serif);font-weight:700;letter-spacing:-1px;text-shadow:0 2px 12px #fffdf0,0 3px 14px #4038212a;animation:float-reward 1.2s cubic-bezier(.18,.68,.28,1) forwards}.multiplier-pop{font-size:35px;color:#c19438}.max-combo-pop{top:47%;font:600 16px var(--mono);letter-spacing:.2px;color:#a66e2e;background:#fff9e8dd;border:1px solid #ead79e;border-radius:20px;padding:7px 12px;box-shadow:0 4px 15px #66522618}@keyframes float-reward{0%{opacity:0;transform:translate(-50%,12px) scale(.55)}16%{opacity:1;transform:translate(-50%) scale(1.12)}30%{transform:translate(-50%) scale(1)}75%{opacity:1;transform:translate(-50%,-35px) scale(1)}to{opacity:0;transform:translate(-50%,-55px) scale(.96)}}@media (prefers-reduced-motion:reduce){.combo-panel.tier-up{animation:none}.floating-effect{animation-duration:.1ms}}.effects-layer{z-index:5}.floating-effect{left:auto;top:auto;z-index:1;opacity:0;animation:none;transform:translate(-50%,-50%) scale(.55)}.multiplier-pop{font-size:39px;color:#c19438}.max-combo-pop{font-size:19px;padding:9px 15px;background:linear-gradient(135deg,#fff9e8,#f8e7a7);border-color:#e5c45e;box-shadow:0 5px 22px #9b742b38,0 0 0 4px #fff7dd77}.max-combo-pop:before,.max-combo-pop:after{position:absolute;content:"✦";color:#e5bb4c;text-shadow:0 1px 8px #fff6d0;font-size:22px;animation:sparkle-burst 1.05s ease-out both}.max-combo-pop:before{left:-17px;top:-15px}.max-combo-pop:after{right:-17px;bottom:-15px;animation-delay:.12s}.floating-effect.css-fallback{animation:fly-reward 1.2s cubic-bezier(.2,.7,.25,1) forwards}.floating-effect.css-fallback.max-combo-pop{animation-duration:1.45s}@keyframes fly-reward{0%{opacity:0;transform:translate(-50%,-50%) scale(.55)}16%{opacity:1;transform:translate(-50%,-50%) scale(1)}70%{opacity:1;transform:translate(calc(-50% + var(--fly-x)),calc(-50% + var(--fly-y))) scale(1.2)}to{opacity:0;transform:translate(calc(-50% + var(--fly-x)),calc(-50% + var(--fly-y) - 18px)) scale(.96)}}@keyframes sparkle-burst{0%{opacity:0;transform:scale(.2) rotate(-20deg)}35%{opacity:1;transform:scale(1.2) rotate(8deg)}to{opacity:0;transform:scale(1.8) rotate(30deg)}}.combo-panel.max-hit{animation:combo-max-hit .9s ease-out}@keyframes combo-max-hit{0%{background:#fff3c3;box-shadow:inset 0 0 0 2px #dfb943}45%{background:#fff9e5;box-shadow:inset 0 0 0 2px #eac951,0 0 15px #edcf6944}to{background:transparent;box-shadow:inset 0 0 0 1px transparent}}@media (prefers-reduced-motion:reduce){.floating-effect.css-fallback{animation-duration:.1ms}.max-combo-pop:before,.max-combo-pop:after{animation:none}}.resonant-pop{top:43%;font:600 13px var(--mono);letter-spacing:.35px;color:#96742e;background:#fff9e8e8;border:1px solid #e8d29a;border-radius:18px;padding:6px 10px;box-shadow:0 3px 14px #66522618}.debug-toggle{display:flex;align-items:center;gap:7px;width:max-content;margin:0 2px 9px;color:#515b4b;font:11px var(--mono);letter-spacing:.45px;cursor:pointer;-webkit-user-select:none;user-select:none}.debug-toggle input{position:absolute;width:1px;height:1px;opacity:0}.debug-toggle-mark{position:relative;width:35px;height:22px;flex:none;border:1px solid #d7d4c8;border-radius:9px;background:#e8e5dc;transition:background .16s,border-color .16s}.debug-toggle-mark:after{position:absolute;content:"";width:14px;height:14px;left:3px;top:3px;border-radius:50%;background:#fffdf7;box-shadow:0 1px 2px #403a2822;transition:transform .16s}.debug-toggle input:checked+.debug-toggle-mark{background:#c28d3d;border-color:#b17c32}.debug-toggle input:checked+.debug-toggle-mark:after{transform:translate(13px)}.debug-toggle input:focus-visible+.debug-toggle-mark{outline:2px solid #819650;outline-offset:2px}[hidden]{display:none!important}.title-button{display:block;border:0;padding:10px 0;margin:-10px 0;background:none;color:inherit;text-align:left;cursor:pointer;touch-action:manipulation;user-select:none;-webkit-user-select:none}.title-button:focus-visible{outline:2px solid #435d30;outline-offset:4px;border-radius:3px}.debug-toggle{min-height:44px}.debug-info .settings-row{gap:10px;flex-wrap:wrap}:root{font-family:DM Sans,sans-serif;color:#26302b;background:#f4f1e8;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink:#26302b;--muted:#596252;--line:#e3dfd3;--lime:#d6e881;--forest:#34473b;--paper:#f4f1e8;--serif:"Space Grotesk",sans-serif;--mono:"DM Mono",monospace}*{box-sizing:border-box}html,body,#app{margin:0;width:100%;height:100%;min-height:100%;overflow:hidden}body{overscroll-behavior:none}.app-shell{height:100dvh;min-height:0;max-width:680px;margin:0 auto;display:flex;flex-direction:column;padding:env(safe-area-inset-top) 18px env(safe-area-inset-bottom);background:radial-gradient(ellipse at 50% 40%,#fbfaf5 0%,#f4f1e8 64%,#efecdf 100%);overflow:hidden}.topbar{height:69px;flex:none;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5e1d7}.brand-lockup{display:flex;align-items:center;gap:10px}.brand-mark{width:34px;height:34px;background:#d8e780;border-radius:11px;display:grid;place-items:center;color:#53633c;font-size:20px;box-shadow:0 3px 7px #55643b19}.brand-lockup strong{display:block;font:700 15px/1 var(--serif);letter-spacing:-.8px}.brand-lockup strong span{font-weight:400;color:#707b70;margin-left:3px}.brand-lockup small{display:block;margin-top:5px;font:10px var(--mono);letter-spacing:1px;color:#596252}.coin-wallet{display:flex;align-items:center;gap:7px;padding:8px 11px;background:#fffdf7;border:1px solid #e5e1d6;border-radius:20px;font:600 13px var(--serif);box-shadow:0 2px 7px #403a2810}.coin-glyph{font-size:13px;color:#b48a42}.coin-wallet small{font:10px var(--mono);letter-spacing:.5px;color:#596252;margin-left:2px}.game-main{min-height:0;flex:1;display:flex;flex-direction:column}.board-heading{height:52px;flex:none;display:flex;align-items:center;justify-content:space-between}.eyebrow{font:9px var(--mono);letter-spacing:1px;color:#596252}.board-heading h1{font:600 18px/1.1 var(--serif);letter-spacing:-.5px;margin:4px 0 0}.cube-size{font:500 16px var(--serif);color:#646d5d;letter-spacing:.1px}.cube-size span{font:11px var(--mono);color:#596252;padding:0 3px}.scene-card{min-height:0;flex:1;border:1px solid #e2dfd3;border-radius:16px;background:#f8f6ee;box-shadow:0 14px 35px #524b3010;display:flex;flex-direction:column;overflow:hidden;position:relative}.scene-topline{height:35px;flex:none;padding:0 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e9e6dc;font:11px var(--mono);letter-spacing:.3px;color:#515b4b;position:relative;z-index:1}.scene-topline b{font-weight:500;color:#434c40}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#a5be5b;margin-right:4px;box-shadow:0 0 0 3px #e8efcb}.scene-host{position:relative;min-height:0;flex:1;overflow:hidden;touch-action:none}.scene-host canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;outline:none;z-index:1}.scene-glow{position:absolute;width:67%;aspect-ratio:1;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-45%);background:radial-gradient(circle,#fffdf8 0,#f1efdf88 54%,transparent 73%);pointer-events:none}.scene-hint{position:absolute;z-index:2;bottom:11px;left:50%;transform:translate(-50%);white-space:nowrap;padding:7px 11px;border-radius:20px;background:#fffdf7f0;border:1px solid #d7d2c4;color:#515b4b;font:10px var(--mono);letter-spacing:.65px;pointer-events:none}.scene-hint span{color:#767362;padding:0 4px}.loading-state{position:absolute;z-index:4;top:0;right:0;bottom:0;left:0;display:none;align-items:center;justify-content:center;flex-direction:column;gap:12px;background:#f8f6eef0;color:#515b4b;font-size:12px}.loading-state.is-visible{display:flex}.loader{width:25px;height:25px;border:2px solid #e2e8cd;border-top-color:#829b4d;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.status-line{min-height:39px;flex:none;display:flex;gap:8px;align-items:center;padding:7px 13px;border-top:1px solid #d7d2c4;color:#515b4b;font-size:12px;line-height:1.4;transition:color .16s}.status-icon{font-size:12px;color:#52682e}.status-line.is-good{color:#435d30}.status-line.is-warn{color:#805a18}.status-line.is-error,.status-line.is-error .status-icon{color:#99433d}.controls{flex:none;padding-top:11px}.settings-row{display:flex;justify-content:space-between;align-items:center;margin:0 2px 10px}.symbol-setting{display:flex;align-items:center;gap:8px;font:10px var(--mono);letter-spacing:.4px;color:#515b4b}.symbol-setting select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #dedbcf;border-radius:7px;min-height:44px;padding:8px 24px 8px 8px;background:#fffdf7;color:#536047;font:12px var(--mono);background-image:linear-gradient(45deg,transparent 50%,#87906c 50%),linear-gradient(135deg,#87906c 50%,transparent 50%);background-position:calc(100% - 10px) 20px,calc(100% - 7px) 20px;background-size:3px 3px,3px 3px;background-repeat:no-repeat}.action-button:disabled{opacity:.45;cursor:default}.action-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.action-button{min-height:50px;border:1px solid #e0ddd2;border-radius:10px;background:#fffdf8;display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 4px;color:#374732;box-shadow:0 3px 8px #4c482f08}.action-button:active{transform:translateY(1px)}.button-icon{font-size:18px;color:#52682e;line-height:1}.action-button b{display:block;font-size:12px;font-weight:600;text-align:left}.action-button small{display:block;font:11px var(--mono);color:#596252;text-align:left;margin-top:3px}.restart-button .button-icon{color:#80633b}.rules-note{margin:10px 0 0;text-align:center;color:#596252;font-size:12px;line-height:1.4}.rules-note span{color:#806020;margin-right:4px}.footer-note{height:30px;flex:none;display:flex;justify-content:space-between;align-items:center;color:#596252;font:9px var(--mono);letter-spacing:1px}.footer-note span:nth-child(2){color:#a7b568;font-size:12px}.toast{position:fixed;z-index:20;left:50%;bottom:calc(env(safe-area-inset-bottom) + 18px);transform:translate(-50%,12px);opacity:0;pointer-events:none;transition:.2s ease;padding:10px 14px;border:1px solid #e2dfd3;border-radius:8px;background:#fffdf7;color:#536047;font-size:11px;box-shadow:0 9px 26px #33311f1c;white-space:nowrap}.toast.is-visible{opacity:1;transform:translate(-50%)}.win-screen{position:fixed;z-index:10;top:0;right:0;bottom:0;left:0;background:#28332db0;display:grid;place-items:center;padding:24px;opacity:0;pointer-events:none;transition:opacity .24s;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.win-screen.is-open{opacity:1;pointer-events:auto}.win-card{width:min(100%,340px);padding:28px 24px 23px;border-radius:16px;background:#fbf9f1;text-align:center;box-shadow:0 24px 70px #20231c55}.win-spark{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;margin:0 auto 17px;background:#e8efc9;color:#819650;font-size:25px}.win-card h2{font:600 33px var(--serif);letter-spacing:-1.6px;margin:9px 0 5px}.win-card p{font-size:13px;color:#515b4b;margin:0}.win-earned{margin:20px 0;color:#9d8046;font-size:11px}.win-earned b{font:600 17px var(--serif);padding:0 3px}.win-card button{border:0;border-radius:8px;background:#34473b;color:#fff;padding:12px 16px;font-size:11px;font-weight:600}.win-card button span{color:#d6e881;margin-left:7px}@media (min-width:760px){.app-shell{padding-left:34px;padding-right:34px}.topbar{height:78px}.board-heading{height:70px}.scene-topline{height:42px;padding:0 18px}.scene-card{border-radius:20px}.status-line{min-height:44px;padding:7px 18px;font-size:12px}.controls{padding-top:14px}.action-button{min-height:54px}.rules-note{font-size:12px}.footer-note{height:36px}}@media (max-width:430px){.settings-row{gap:5px;flex-wrap:wrap;justify-content:flex-start}.settings-row .symbol-setting{gap:5px}.settings-row #debugLayout{max-width:112px}.settings-row #symbolCount{max-width:52px}}@media (max-height:720px) and (max-width:759px){.app-shell{min-height:0;padding-left:13px;padding-right:13px}.topbar{height:59px}.board-heading{height:51px}.scene-topline{height:30px}.status-line{min-height:33px}.controls{padding-top:7px}.settings-row{margin-bottom:6px}.action-button{min-height:44px}.rules-note{margin-top:6px}.footer-note{display:none}}@media (orientation:landscape) and (max-height:560px){.app-shell{max-width:980px;padding-left:18px;padding-right:18px}.topbar{height:50px}.game-main{display:grid;grid-template-columns:1fr 260px;grid-template-rows:44px 1fr;column-gap:16px}.board-heading{grid-column:1 / -1;height:44px}.scene-card{grid-column:1;grid-row:2}.controls{grid-column:2;grid-row:2;align-self:center}.scene-host{min-height:180px}.footer-note{height:22px}.rules-note{line-height:1.5}}
