@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./montserrat-cyrillic-ext-wght-normal-CO5hGrJv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./montserrat-cyrillic-wght-normal-EAA9jha_.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./montserrat-vietnamese-wght-normal-k7S-YeeD.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./montserrat-latin-ext-wght-normal-BsZE-iaG.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./montserrat-latin-wght-normal-l_AIctKy.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#081c29;--panel:#102c38;--teal:#55bcaa;--gold:#e4bd76;--text:#edf2ed;--muted:#9eb3bb;--border:#28424c;--radius:20px;--speed:.24s;color:var(--text);background:var(--bg);font-synthesis:none;font-family:Montserrat Variable,sans-serif;font-size:15px}*{box-sizing:border-box}body{background:radial-gradient(at 10% 0,#13394066,#0000 55%);min-height:100dvh;margin:0}button,input,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--gold);outline-offset:4px}button{touch-action:manipulation}h1,h2,p{margin:0}h1{letter-spacing:-1.7px;white-space:pre-line;font-size:clamp(28px,4vw,48px);font-weight:650;line-height:1.16}h2{letter-spacing:-.5px;white-space:pre-line;font-size:23px;font-weight:600;line-height:1.35}p{line-height:1.75}.muted,.small{color:var(--muted)}.small{font-size:12px}.eyebrow{color:var(--gold);letter-spacing:2px;font-size:10px;font-weight:650}.header{max-width:1120px;padding:24px max(24px, env(safe-area-inset-right)) 24px max(24px, env(safe-area-inset-left));align-items:center;gap:18px;margin:auto;display:flex}.brand{background:0 0;border:0;align-items:center;min-height:44px;padding:0;display:flex}.brand-divider{background:var(--border);width:1px;height:24px}.wordmark{letter-spacing:3px;font-size:15px;font-weight:700}.badge{text-transform:uppercase;letter-spacing:1px;color:var(--gold);border:1px solid #e4bd7655;border-radius:5px;padding:5px 7px;font-size:10px}.icon-button{border:1px solid var(--border);background:#173440;border-radius:50%;width:44px;height:44px;margin-left:auto;font-size:22px}.main{max-width:1072px;min-height:calc(100dvh - 172px);margin:0 auto;padding:14px 24px 28px}.hero{isolation:isolate;border:1px solid var(--border);border-radius:var(--radius);background:#0a202c;align-items:center;min-height:365px;display:flex;position:relative;overflow:hidden}.hero-art{object-fit:cover;object-position:70% 55%;z-index:-2;width:100%;height:100%;position:absolute;inset:0}.hero:after{content:"";z-index:-1;background:linear-gradient(90deg,#0a202c 4%,#0a202ce8 30%,#0a202c80 56%,#0a202c00 85%);position:absolute;inset:0}.hero-copy{width:75%;padding:42px}.hero h1{max-width:610px;margin:17px 0 18px}.hero-description{color:#c3d3d5;white-space:pre-line;font-size:14px}.hero-tag{text-transform:uppercase;letter-spacing:2px;color:var(--gold);margin-top:28px;font-size:9px;display:block}.section-title{justify-content:space-between;align-items:center;gap:16px;margin:32px 0 18px;display:flex}.section-title h2{font-size:18px}.section-title .muted{font-size:12px}.mode-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.mode-card{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(130deg,#173d45,#112d39);flex-direction:column;gap:12px;padding:28px;display:flex;position:relative;overflow:hidden}.mode-card.daily{background:linear-gradient(130deg,#263b3e,#142b36)}.mode-card.timed{background:radial-gradient(at 100% 0,#84643855,#0000 65%),linear-gradient(120deg,#263a45,#133d42);border-color:#a78a55;grid-column:1/-1}.mode-card.timed p.muted{max-width:580px}.mode-card.timed .button{max-width:340px}.rush-panel{--rush-accent:var(--gold);background:linear-gradient(110deg,#293b3f,#12333d);border:1px solid #997d4d;border-radius:14px;margin-bottom:16px;padding:14px 16px 10px}.rush-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.rush-panel .eyebrow{color:var(--rush-accent);margin-bottom:4px}.rush-caption{height:30px;color:var(--muted);font-size:10px;line-height:15px;display:block}.rush-clock{font-variant-numeric:tabular-nums;color:var(--rush-accent);flex-shrink:0;font-size:clamp(30px,7vw,42px);line-height:1}.rush-progress{appearance:none;width:100%;height:5px;color:var(--rush-accent);background:#0c242e;border:0;border-radius:5px;margin:12px 0 8px;display:block;overflow:hidden}.rush-progress::-webkit-progress-bar{background:#0c242e}.rush-progress::-webkit-progress-value{background:var(--rush-accent)}.rush-progress::-moz-progress-bar{background:var(--rush-accent)}.rush-goal{font-size:11px;font-weight:600}.rush-combo{height:32px;color:var(--muted);white-space:nowrap;align-items:center;font-size:11px;display:flex}.rush-combo.celebrate{color:var(--gold);font-weight:800;animation:.35s ease-out combo-pop}.rush-panel.urgent{--rush-accent:#ffad83;background:linear-gradient(110deg,#503332,#17323c);border-color:#cf815d}.rush-panel.urgent .rush-clock{text-underline-offset:5px;text-decoration:underline}.rush-result{color:var(--gold)}@keyframes combo-pop{0%{opacity:.45;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.mode-card .eyebrow{padding-right:36px;font-size:8px}.mode-card h2{font-size:28px}.mode-card p.muted{max-width:330px;font-size:13px}.mode-icon{color:var(--gold);font-size:31px;position:absolute;top:25px;right:26px}.button{border:1px solid var(--border);min-height:48px;transition:filter var(--speed), transform var(--speed);background:#21424c;border-radius:10px;padding:12px 20px;font-size:13px;font-weight:600}.button:hover{filter:brightness(1.12)}.button:active{transform:translateY(1px)}.primary{background:var(--gold);border-color:var(--gold);color:#142732}.secondary{color:#efdab5;background:#1f4347;border-color:#7e917466}.subtle{background:0 0}.danger{color:#f1a9a9;background:#422a33}.mode-card .button{width:100%;margin-top:auto}.home-links{justify-content:center;gap:32px;margin-top:17px;display:flex}.text-button{color:var(--muted);background:0 0;border:0;min-height:44px;padding:10px 0;font-size:12px;text-decoration:none}.text-button:hover{color:var(--gold)}.footer{max-width:1072px;padding:12px 24px max(16px, env(safe-area-inset-bottom));color:#718d98;border-top:1px solid #28424c88;justify-content:space-between;align-items:center;gap:24px;margin:auto;font-size:10px;display:flex}.status{text-align:center;min-height:24px;color:var(--gold);padding-top:10px;font-size:12px}.notice{color:#eed49c;background:#3c392c;border:1px solid #716446;border-radius:12px;margin-bottom:20px;padding:14px 18px;font-size:13px}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);margin-top:22px;padding:32px}.game-top{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.game-layout{grid-template-columns:minmax(0,490px) 1fr;align-items:center;gap:65px;max-width:920px;margin:auto;display:grid}.arena{min-width:0}.stats{justify-content:space-between;gap:12px;padding:6px 5px 20px;display:flex}.stat-label{letter-spacing:1.5px;color:var(--muted);margin-bottom:4px;font-size:9px}.stats strong{color:var(--gold);font-variant-numeric:tabular-nums;font-size:28px;font-weight:550}.stats>div:nth-child(2){text-align:center}.stats>div:last-child{text-align:right}.board{aspect-ratio:1;touch-action:none;-webkit-user-select:none;user-select:none;background:#071923;border:1px solid #365661;border-radius:12px;grid-template-rows:repeat(10,minmax(0,1fr));grid-template-columns:repeat(10,minmax(0,1fr));gap:3px;width:100%;padding:6px;display:grid;box-shadow:0 20px 70px #0003}.cell{background:#142d3a;border:1px solid #25404c;border-radius:4px;min-width:0;min-height:0;padding:0;position:relative}.cell.filled,.block{background:linear-gradient(140deg, color-mix(in srgb, var(--piece), white 16%), var(--piece));border:1px solid color-mix(in srgb, var(--piece), white 35%);border-radius:4px;box-shadow:inset 0 -3px #0002,inset 0 2px #fff2}.cell.preview{outline-offset:-3px;background:#4d917c;outline:2px solid #d7efbc}.cell.preview:after{content:"+";color:#fff;place-items:center;font-size:15px;display:grid;position:absolute;inset:0}.cell.invalid{outline-offset:-3px;outline:2px dashed #f39c92}.cell.invalid:after{content:"×";color:#f9bdb4;place-items:center;display:grid;position:absolute;inset:0}.cell.anchor{box-shadow:inset 0 0 0 3px var(--gold)}.tray{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.slot{border:1px solid var(--border);touch-action:none;-webkit-user-select:none;user-select:none;--mini-cell:20px;background:#12313b;border-radius:12px;place-items:center;min-height:126px;padding:12px 4px;display:grid;position:relative}.slot.selected{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold);background:#2f403e}.slot-key{color:#7a9399;font-size:9px;position:absolute;bottom:5px;right:9px}.shape{gap:var(--piece-gap,3px);pointer-events:none;display:grid}.block{width:var(--mini-cell);height:var(--mini-cell);display:block}.used{color:#547b79;font-size:24px}.control-hint{color:var(--muted);text-align:center;margin:12px 0;font-size:10px}.game-side{flex-direction:column;align-items:flex-start;gap:23px;display:flex}.game-side h2{font-size:30px}.game-side p{font-size:13px}.game-side .eyebrow{font-size:9px}.ghost{pointer-events:none;z-index:10;opacity:.88;filter:drop-shadow(0 12px 15px #0007);position:fixed}.dialog{color:var(--text);background:#153440;border:1px solid #47636a;border-radius:22px;max-width:min(440px,100vw - 28px);padding:30px;box-shadow:0 20px 80px #0008}.dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#03111ccc}.dialog p{margin:16px 0 24px}.dialog-actions{flex-wrap:wrap;gap:10px;display:flex}.result{text-align:center;flex-direction:column;align-items:center;gap:18px;max-width:660px;margin:40px auto;display:flex}.result h1{font-size:32px}.result-score{color:var(--gold);letter-spacing:-4px;font-size:76px;font-weight:650}.result.record{border-color:#b99b58;animation:.7s ease-out record}.result .button{min-width:220px}.prose{max-width:780px}.prose h2{margin-top:26px;font-size:20px}.prose h2:first-child{margin-top:0}.prose p{color:#c1d0d4;margin:12px 0;font-size:14px}.settings{flex-direction:column;gap:16px;max-width:640px;display:flex}.setting{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;min-height:52px;display:flex}input[type=checkbox]{accent-color:var(--gold);width:24px;height:24px}.leaderboard{padding:12px 28px}.rank{border-bottom:1px solid var(--border);grid-template-columns:50px 1fr auto;align-items:center;gap:16px;min-height:76px;font-size:14px;display:grid}.rank:last-child{border:0}.rank-number{color:var(--gold);font-size:21px}.rank.local{color:var(--gold)}.prizes{text-align:center;color:var(--muted);margin-top:24px;font-size:13px}.tutorial-arena{width:100%;max-width:360px;margin:24px auto}.tutorial-piece{width:100%;min-height:76px;margin-top:16px}.play-main>h1,.play-main>.eyebrow,.play-main>p{text-align:center}.play-main>.button,.play-main>.text-button{margin:10px auto;display:block}.clear-row{animation:.44s ease-out clear-row}.clear-col{animation:.44s ease-out clear-col}@keyframes clear-row{0%{background:var(--gold);transform:scaleX(.1)}60%{background:#8bccb1}to{transform:scaleX(1)}}@keyframes clear-col{0%{background:var(--gold);transform:scaleY(.1)}60%{background:#8bccb1}to{transform:scaleY(1)}}@keyframes record{0%{box-shadow:0 0 70px #e4bd7633}to{box-shadow:none}}@media (width<=760px){.header{gap:12px;padding:18px 20px}.main{padding:8px 18px 20px}.hero{min-height:360px}.hero-copy{width:100%;padding:28px}.hero:after{background:linear-gradient(90deg,#0a202cf5,#0a202c99)}.hero h1{font-size:35px}.mode-card{padding:23px}.game-layout{grid-template-columns:minmax(0,470px);justify-content:center;gap:24px}.game-side{display:none}.arena:after{content:""}.footer{flex-wrap:wrap;gap:12px;font-size:9px}.section-title{flex-direction:column;align-items:flex-start;gap:7px}.game-top .eyebrow{font-size:8px}.play-main{max-width:510px}.game-top{margin-bottom:3px}.stats{padding-bottom:14px}.stats strong{font-size:25px}.slot{--mini-cell:18px;min-height:115px}.play-main .arena{position:relative}.home-links{gap:20px}}@media (width<=540px){.mode-grid{grid-template-columns:1fr}.hero{min-height:330px}.hero-copy{padding:26px}.hero h1{letter-spacing:-1px;font-size:32px}.hero-tag{letter-spacing:1px;font-size:8px}.brand img{width:102px;height:auto}.wordmark{letter-spacing:2px;font-size:12px}.badge{font-size:8px}.header{gap:9px;padding:14px 18px}.brand-divider{height:20px}.icon-button{width:40px;min-width:40px;height:40px}.card{padding:23px}.rank{grid-template-columns:30px 1fr auto;gap:9px;font-size:12px}.rank-number{font-size:17px}.result-score{font-size:65px}.result{margin-top:20px}.board{gap:2px}.cell{border-radius:3px}.footer span:first-child{display:none}.slot{--mini-cell:15px;min-height:104px}.slot .shape{gap:2px}.home-links{flex-direction:column;align-items:center;gap:0}.game-top .text-button{font-size:11px}.control-hint{font-size:9px}.stats strong{font-size:23px}.stat-label{font-size:8px}.hero .eyebrow{letter-spacing:1.3px;font-size:8px}}@media (width<=350px){.main{padding-left:12px;padding-right:12px}.header{gap:7px;padding-left:12px;padding-right:12px}.wordmark{font-size:10px}.hero h1{font-size:28px}.hero-copy{padding:20px}.slot{--mini-cell:13px;min-height:94px}.hero-description{font-size:12px}}@media (orientation:landscape) and (height<=560px){.play-main{max-width:800px}.game-layout{grid-template-columns:minmax(0,350px) 1fr;gap:30px}.game-side{gap:15px;display:flex}.game-side h2{font-size:23px}.game-side p{font-size:11px}.header{padding-top:8px;padding-bottom:8px}.slot{--mini-cell:13px;min-height:94px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (width<=540px) and (height<=700px){.timed-arena .rush-panel{margin-bottom:8px;padding:10px 12px 6px}.timed-arena .rush-panel .eyebrow{display:none}.timed-arena .rush-clock{font-size:32px}.timed-arena .rush-combo{height:24px;font-size:10px}.timed-arena .stats{padding:4px 5px 8px}.timed-arena .stat-label{margin-bottom:2px;font-size:8px}.timed-arena .stats strong{font-size:22px}.timed-arena .board{width:min(100%,100svh - 320px);margin-inline:auto}.timed-arena .tray{margin-top:10px}.timed-arena .slot{--mini-cell:12px;height:94px;min-height:94px;padding:10px 4px}.timed-arena .control-hint{margin-top:8px;font-size:10px}}:root[data-reduced=true] *{transition:none!important;animation:none!important}.cell.placed{animation:place var(--speed) ease-out}@keyframes place{0%{filter:brightness(1.5);transform:scale(.82)}to{filter:brightness();transform:scale(1)}}.slot:not(:disabled){cursor:grab;-webkit-touch-callout:none}.dragging,.dragging *{-webkit-user-select:none;user-select:none;cursor:grabbing!important}.drag-source .shape{opacity:.16}.ghost{opacity:1}.ghost.invalid-drop{opacity:.75}.cell.lesson-target{outline:2px dashed var(--gold);outline-offset:-3px}#app{padding-top:max(env(safe-area-inset-top), var(--host-safe-top,0px));padding-bottom:max(env(safe-area-inset-bottom), var(--host-safe-bottom,0px));padding-left:var(--host-safe-left,0px);padding-right:var(--host-safe-right,0px);min-height:var(--app-height,100dvh)}.header{border-bottom:1px solid #738d9655;max-width:1296px;margin-bottom:22px}.brand img{width:164px;height:52px}.game-home{color:var(--text);white-space:nowrap;cursor:pointer;background:0 0;border:0;min-height:44px;padding:0}.site-nav{gap:26px;margin-left:auto;display:flex}.site-link,.site-return{color:var(--text);white-space:nowrap;padding:12px 0;font-size:12px;font-weight:600;text-decoration:none}.site-link:hover,.site-return:hover{color:var(--gold)}.site-return{border:1px solid #728e99;border-radius:28px;padding:13px 20px}.header .icon-button{margin-left:0}.hero{border-radius:4px 4px 24px 24px}.hero h1{letter-spacing:-4px;font-size:clamp(52px,8vw,100px);line-height:1.05}.hero-description{max-width:380px}:root[data-host=telegram] .site-nav,:root[data-host=telegram] .site-return{display:none}:root[data-host=telegram] .header{padding-top:12px;padding-bottom:12px}:root[data-host=telegram] .header .icon-button{margin-left:auto}@media (width<=960px){.site-nav{display:none}.site-return{margin-left:auto}}@media (width<=540px){.header{gap:10px;margin-bottom:12px;padding:12px 18px}.brand img{width:122px;height:40px}.site-return{display:none}.header .icon-button{margin-left:auto}.brand-divider{display:none}.hero h1{letter-spacing:-3px;font-size:60px}}
