@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(./montserrat-latin-400-normal-BLhwKU8k.woff2) format("woff2"),url(./montserrat-latin-400-normal-xItZbAXg.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(./montserrat-latin-500-normal-DRFEGfly.woff2) format("woff2"),url(./montserrat-latin-500-normal-Dok2oTci.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(./montserrat-latin-700-normal-BdjcYUrC.woff2) format("woff2"),url(./montserrat-latin-700-normal-BWkrl476.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(./montserrat-latin-800-normal-axpkC1rd.woff2) format("woff2"),url(./montserrat-latin-800-normal-C3dfDxXV.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:900;src:url(./montserrat-latin-900-normal-B0TD3Qnu.woff2) format("woff2"),url(./montserrat-latin-900-normal-BDWDmVut.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(./montserrat-cyrillic-400-normal-BPq32Q8K.woff2) format("woff2"),url(./montserrat-cyrillic-400-normal-jEs4Tk-Z.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(./montserrat-cyrillic-500-normal-T0SG181k.woff2) format("woff2"),url(./montserrat-cyrillic-500-normal-CyGtXmN9.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(./montserrat-cyrillic-700-normal-D-Pqjtdp.woff2) format("woff2"),url(./montserrat-cyrillic-700-normal-BvLYcGP1.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(./montserrat-cyrillic-800-normal-DDmpGQGC.woff2) format("woff2"),url(./montserrat-cyrillic-800-normal-B_mUCQ9O.woff) format("woff")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:900;src:url(./montserrat-cyrillic-900-normal-CrYcRZSi.woff2) format("woff2"),url(./montserrat-cyrillic-900-normal-CGsoW8-j.woff) format("woff")}:root{color-scheme:light;--font-ui: "Montserrat", "Segoe UI", system-ui, sans-serif;--font-number: "Montserrat", "Segoe UI", system-ui, sans-serif;font-family:var(--font-ui);color:#4a3f35;background:#17110d;--page: #fff8ec;--board: #cdbda9;--empty: #eadfce;--grid-line: #c9b7a0;--panel: #929d83;--panel-dark: #76806d;--record: #d29361;--record-dark: #b9784d;--text: #4a3f35;--white: #fffaf0;--accent: #d8736b;--goal: #d99673;--radius: 8px}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden;overscroll-behavior:none}body{min-width:320px;background:#17110d;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}button{border:0;color:inherit;font:inherit}.app-frame{position:relative;width:min(100%,430px);height:100dvh;margin:0 auto;overflow:hidden;background:var(--page)}.screen{height:100dvh;padding:max(22px,env(safe-area-inset-top)) 20px max(22px,env(safe-area-inset-bottom));display:flex;flex-direction:column;overflow:hidden}h1,h2,p{margin:0}h1{color:var(--text);font-size:clamp(3.6rem,20vw,5.6rem);line-height:.9;font-weight:900;letter-spacing:0}h2{color:var(--text);font-size:2.8rem;font-weight:900;letter-spacing:0}.button{width:100%;min-height:58px;border-radius:6px;padding:0 18px;cursor:pointer;background:linear-gradient(180deg,#e5857d,var(--accent));color:#fff;font-family:var(--font-ui);font-size:1.1rem;font-weight:800;letter-spacing:0;transition:transform .1s ease,filter .1s ease}.button:active{transform:translateY(1px)}.button:disabled{cursor:default;filter:saturate(.82);opacity:.72;transform:none}.button-secondary{min-height:44px;background:linear-gradient(180deg,#e5857d,var(--accent));font-size:.98rem;font-weight:800}.button-ghost{background:#9fa48f;color:#fff}.button-icon{width:44px;min-width:44px;min-height:44px;padding:0;border-radius:6px;background:var(--panel)}.primary-stack,.modal-actions{display:grid;gap:14px}.modal-actions .button{min-height:54px;font-size:1rem}.score-panel{--score-value-size: clamp(1.42rem, 7vw, 2.05rem);min-width:0;min-height:86px;border-radius:6px;padding:10px 12px;display:grid;align-content:center;justify-items:center;background:linear-gradient(160deg,#aab39a,var(--panel-dark));color:#fff;font-family:var(--font-ui)}.score-panel-long{--score-value-size: clamp(1.24rem, 6vw, 1.68rem)}.score-panel-compact{--score-value-size: clamp(1.06rem, 5vw, 1.42rem)}.score-panel span,.highest-readout span{display:block;margin-bottom:5px;color:#ffffffd1;font-size:.88rem;line-height:1.05;font-weight:900;letter-spacing:0;text-transform:uppercase;text-align:center}.score-panel strong,.highest-readout strong{display:block;max-width:100%;min-width:0;overflow:hidden;color:#fff;font-family:var(--font-number);font-size:var(--score-value-size);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1;font-weight:900;text-align:center;white-space:nowrap}.score-panel-accent{background:linear-gradient(160deg,var(--record),var(--record-dark))}.score-panel-accent span{color:#ffffffe6}.score-panel-accent strong,.highest-readout strong{color:#fff}.home-screen{justify-content:center;gap:24px}.loading-screen{justify-content:center;align-items:center}.hero-stack{display:grid;grid-template-columns:132px minmax(0,1fr);gap:14px;align-items:center;text-align:left}.title-tile{display:grid;place-items:center;width:132px;height:116px;border-radius:0;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);background:linear-gradient(135deg,rgba(255,250,240,.25),transparent 42%),var(--goal);color:var(--white);font-family:var(--font-number);font-size:2rem;font-weight:900}.title-tile-small{width:122px;height:108px;flex:0 0 auto}.home-title-block{min-width:0}.home-title{color:var(--text);font-family:var(--font-ui);font-size:clamp(1.62rem,7.4vw,2.08rem);font-weight:800;line-height:1.03;letter-spacing:0}.home-logo-tile{width:132px;height:116px;font-size:2rem}.subtitle{margin-top:8px;color:var(--text);font-size:1.05rem;line-height:1.25;font-weight:800}.subline{color:var(--text);font-size:1rem}.home-panels{display:grid;grid-template-columns:1fr 1fr;gap:12px}.game-screen{padding-right:12px;padding-left:12px;gap:12px}.native-android .game-screen{padding-bottom:calc(max(22px,env(safe-area-inset-bottom)) + 66px)}.game-topbar{display:grid;grid-template-columns:118px minmax(0,1fr);gap:14px;align-items:start}.game-meta{display:grid;gap:10px}.score-row,.game-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.board-stage{position:relative;flex:1;min-height:0;display:grid;place-items:start center;padding-top:0}.board-touch-zone{width:min(100%,430px);touch-action:none}.hex-board{display:block;width:100%;overflow:visible;pointer-events:none}.hex-cell{fill:var(--empty);stroke:var(--grid-line);stroke-width:1.65px;stroke-linejoin:round;transform-box:fill-box;transform-origin:center}.hex-tile{transform-box:fill-box;transform-origin:center;transition:transform .17s cubic-bezier(.2,.8,.22,1);will-change:transform}.hex-tile polygon,.merge-ghost polygon{stroke:transparent;stroke-width:0}.merge-ghost{transform-box:fill-box;transform-origin:center;transform:translate(var(--from-x),var(--from-y));opacity:.74;pointer-events:none;will-change:transform,opacity;animation:merge-collapse .23s ease-out both}.hex-tile text{fill:var(--white);font-family:var(--font-number);font-size:25px;font-weight:900;letter-spacing:0;pointer-events:none;paint-order:stroke;stroke:#4a3f352e;stroke-width:2px}.tile-new polygon{animation:tile-spawn .18s ease-out both}.tile-merged polygon{animation:tile-merge .22s ease-out both}.tile-v-3{color:#76ad8f}.tile-v-9{color:#e1a45f}.tile-v-27{color:#e68868}.tile-v-81{color:#d97982}.tile-v-243{color:#be7395}.tile-v-729{color:#c46f4e}.tile-v-2187{color:#d6a33d}.tile-v-6561{color:#c88b2b}.tile-v-19683{color:#d8a16a}.tile-v-6561 polygon,.tile-v-19683 polygon{filter:drop-shadow(0 0 10px rgba(214,163,61,.3))}.tile-v-2187 text,.tile-v-6561 text{fill:#4a3a22;stroke:#fffaf047}.tile-v-3 text,.tile-v-9 text{fill:#5a493d;stroke:#fffaf059}.tile-v-19683 text{fill:var(--white);stroke:#4a3f3533}.score-popup{position:absolute;top:8px;z-index:2;color:var(--record-dark);font-size:1.6rem;font-weight:900;animation:score-rise .65s ease-out both;pointer-events:none}.how-screen{justify-content:flex-start;gap:12px;padding:max(18px,env(safe-area-inset-top)) 16px max(18px,env(safe-area-inset-bottom))}.native-android .how-screen{padding-top:48px;padding-bottom:72px}.how-screen .screen-header{min-height:44px;align-items:center;justify-content:flex-start;padding-right:56px}.how-screen h1{font-size:clamp(2.1rem,10vw,2.9rem);line-height:.96}.screen-header,.screen-header.centered{display:flex;justify-content:center}.close-button{position:absolute;top:max(14px,env(safe-area-inset-top));right:16px;z-index:3;width:46px;height:46px;border-radius:50%;background:var(--panel);color:#fff;cursor:pointer;font-size:2rem;line-height:1}.native-android .close-button{top:48px}.how-list{display:grid;gap:10px;min-height:0}.how-card{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:start;border-radius:6px;padding:10px 12px;background:#f3e8d8}.step-dot{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--accent);color:#fff;font-weight:900}.how-card h2{margin-bottom:4px;font-size:.98rem;line-height:1.14}.how-card p{color:var(--text);font-size:.9rem;line-height:1.24;font-weight:700}.mini-board-demo{display:grid;grid-template-columns:repeat(4,50px);justify-content:center;gap:6px}.mini-board-demo span,.mini-board-demo strong{display:grid;place-items:center;width:50px;height:44px;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);font-size:1.14rem;font-weight:900}.mini-board-demo span{background:linear-gradient(135deg,#a8d2b8,#76ad8f);color:#fff}.mini-board-demo strong{background:linear-gradient(135deg,#f1bd78,#e1a45f);color:#fff}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:grid;place-items:center;padding:22px;background:#fff8ecf0}.modal-panel{width:min(100%,320px);display:grid;gap:26px;text-align:center}.modal-panel h2{font-size:3.2rem}.win-panel p{color:var(--text);font-size:1.1rem;font-weight:800}.win-tile{display:grid;place-items:center;width:150px;height:132px;margin:0 auto;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);background:var(--goal);color:#fff;font-size:2.3rem;font-weight:900}.leaderboard-panel{width:min(100%,360px);gap:18px}.leaderboard-panel h2{font-size:2.45rem}.leaderboard-state{min-height:84px;display:grid;place-items:center;color:var(--text);font-size:1.08rem;line-height:1.25;font-weight:800}.leaderboard-list{max-height:min(52dvh,430px);margin:0;padding:0;display:grid;gap:8px;overflow:auto;list-style:none}.leaderboard-entry{min-height:48px;border-radius:6px;padding:0 12px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:10px;align-items:center;background:#f3e8d8;color:var(--text);font-weight:900}.leaderboard-entry-current{background:#f6ddce}.leaderboard-rank{color:var(--panel-dark);text-align:left}.leaderboard-name{min-width:0;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.leaderboard-entry strong{color:var(--text);font-family:var(--font-number);font-size:1.2rem}.game-over-screen{justify-content:center;gap:24px}.game-over-card{display:grid;gap:14px;text-align:center}.game-over-card h1{color:var(--text);font-size:3rem;margin-bottom:4px}.highest-readout{border-radius:6px;padding:14px;background:linear-gradient(160deg,#aab39a,var(--panel-dark))}.reward-error{color:var(--record-dark);font-size:.96rem;font-weight:800;line-height:1.25;text-align:center}@keyframes tile-spawn{0%{transform:scale(.65);opacity:0}to{transform:scale(1);opacity:1}}@keyframes tile-merge{0%{transform:scale(.86)}55%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes merge-collapse{0%{transform:translate(var(--from-x),var(--from-y)) scale(1);opacity:.72}to{transform:translate(var(--to-x),var(--to-y)) scale(.35);opacity:0}}@keyframes score-rise{0%{transform:translateY(8px);opacity:0}30%{opacity:1}to{transform:translateY(-24px);opacity:0}}@media(min-width:700px){body{min-height:100dvh;display:grid;place-items:center;padding:12px 28px}#app{display:grid;place-items:center}.app-frame{height:min(760px,calc(100dvh - 24px));border-radius:30px}.screen{height:100%}.app-frame-home:not(.app-frame-modal),.app-frame-gameOver:not(.app-frame-modal),.app-frame-howToPlay:not(.app-frame-modal){height:auto;max-height:calc(100dvh - 24px)}.app-frame-home:not(.app-frame-modal) .screen,.app-frame-gameOver:not(.app-frame-modal) .screen,.app-frame-howToPlay:not(.app-frame-modal) .screen{height:auto}.app-frame-game:not(.app-frame-modal){width:min(100%,400px);height:auto;max-height:calc(100dvh - 24px)}.app-frame-game:not(.app-frame-modal) .game-screen{height:auto;gap:10px;padding:20px 22px 22px}.app-frame-game:not(.app-frame-modal) .game-topbar{grid-template-columns:112px minmax(0,1fr);gap:12px}.app-frame-game:not(.app-frame-modal) .title-tile-small{width:112px;height:98px;font-size:1.85rem}.app-frame-game:not(.app-frame-modal) .game-meta,.app-frame-game:not(.app-frame-modal) .score-row,.app-frame-game:not(.app-frame-modal) .game-actions{gap:10px}.app-frame-game:not(.app-frame-modal) .score-panel{min-height:64px}.app-frame-game:not(.app-frame-modal) .button-secondary{min-height:42px;font-size:.95rem}.app-frame-game:not(.app-frame-modal) .board-stage{flex:0 0 auto}.app-frame-game:not(.app-frame-modal) .board-touch-zone{width:min(100%,360px)}.app-frame-howToPlay:not(.app-frame-modal){width:min(100%,400px)}.app-frame-howToPlay:not(.app-frame-modal) .how-screen{gap:10px;padding:16px 20px 18px}.app-frame-howToPlay:not(.app-frame-modal) .screen-header{display:none}.app-frame-howToPlay:not(.app-frame-modal) .close-button{top:12px;right:14px;width:42px;height:42px;font-size:1.8rem}.app-frame-howToPlay:not(.app-frame-modal) .how-list{gap:10px}.app-frame-howToPlay:not(.app-frame-modal) .how-card{grid-template-columns:36px 1fr;gap:12px;padding:12px}.app-frame-howToPlay:not(.app-frame-modal) .step-dot{width:34px;height:34px}.app-frame-howToPlay:not(.app-frame-modal) .how-card h2{margin-bottom:4px;font-size:1rem}.app-frame-howToPlay:not(.app-frame-modal) .how-card p{font-size:.94rem;line-height:1.25}.app-frame-howToPlay:not(.app-frame-modal) .mini-board-demo{display:none}.app-frame-howToPlay:not(.app-frame-modal) .button{min-height:44px}.app-frame-modal{width:min(100%,400px);height:min(520px,calc(100dvh - 24px))}.app-frame-modal .overlay{padding:18px}.app-frame-modal .modal-panel{gap:14px}.app-frame-modal .modal-panel h2{font-size:2.25rem;line-height:1}.app-frame-modal .leaderboard-panel h2{font-size:2rem}.app-frame-modal .leaderboard-list{max-height:min(42dvh,260px)}.app-frame-modal .leaderboard-state{min-height:70px}.home-screen{gap:18px;padding-top:20px;padding-bottom:20px}.hero-stack{grid-template-columns:116px minmax(0,1fr);gap:16px}.home-logo-tile{width:116px;height:102px;font-size:1.8rem}.home-title{font-size:2rem}.subtitle{margin-top:6px;font-size:.98rem}.home-panels{gap:10px}.score-panel{--score-value-size: 1.85rem;min-height:72px;padding:8px 12px}.score-panel-long{--score-value-size: 1.5rem}.score-panel-compact{--score-value-size: 1.28rem}.score-panel span,.highest-readout span{font-size:.75rem}.score-panel strong,.highest-readout strong{font-size:var(--score-value-size)}.primary-stack,.modal-actions{gap:10px}.button{min-height:50px;font-size:1rem}}@media(min-width:700px)and (max-height:620px){.app-frame{width:min(100%,400px)}.app-frame-game:not(.app-frame-modal),.app-frame-howToPlay:not(.app-frame-modal),.app-frame-modal{width:min(100%,380px)}.app-frame-game:not(.app-frame-modal) .game-screen{gap:8px;padding:16px 18px 18px}.app-frame-game:not(.app-frame-modal) .game-topbar{grid-template-columns:104px minmax(0,1fr);gap:10px}.app-frame-game:not(.app-frame-modal) .title-tile-small{width:104px;height:92px;font-size:1.65rem}.app-frame-game:not(.app-frame-modal) .score-panel{min-height:58px}.app-frame-game:not(.app-frame-modal) .score-panel span{margin-bottom:3px;font-size:.68rem}.app-frame-game:not(.app-frame-modal) .score-panel strong{font-size:var(--score-value-size)}.app-frame-game:not(.app-frame-modal) .button-secondary{min-height:38px;font-size:.88rem}.app-frame-game:not(.app-frame-modal) .board-touch-zone{width:min(100%,340px)}.app-frame-howToPlay:not(.app-frame-modal) .how-screen{gap:8px;padding:12px 18px 14px}.app-frame-howToPlay:not(.app-frame-modal) .how-card{padding:10px 11px}.app-frame-howToPlay:not(.app-frame-modal) .how-card p{font-size:.88rem;line-height:1.2}.app-frame-modal{height:min(480px,calc(100dvh - 24px))}.home-screen{gap:14px;padding:16px 18px}.hero-stack{grid-template-columns:104px minmax(0,1fr);gap:14px}.home-logo-tile{width:104px;height:92px;font-size:1.65rem}.home-title{font-size:1.78rem}.subtitle{font-size:.9rem}.score-panel{--score-value-size: 1.65rem;min-height:64px}.score-panel-long{--score-value-size: 1.36rem}.score-panel-compact{--score-value-size: 1.16rem}.button{min-height:44px}}@media(max-width:380px){.screen{padding-left:14px;padding-right:14px}.game-screen{padding-left:8px;padding-right:8px}.game-topbar{grid-template-columns:104px minmax(0,1fr);gap:10px}.title-tile-small,.title-tile{width:112px;height:98px;font-size:1.7rem}.hero-stack{grid-template-columns:112px minmax(0,1fr);gap:12px}.home-logo-tile{width:112px;height:98px;font-size:1.7rem}.score-panel{min-height:76px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;transition-duration:1ms!important;scroll-behavior:auto!important}}
