@font-face{font-family:Local;src:local('Arial')}*{box-sizing:border-box}body{margin:0;background:#f5f5f0;color:#073f30;font:16px/1.45 Local,Arial,sans-serif}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #ed0a26;outline-offset:4px}[hidden]{display:none!important}.app{max-width:1320px;margin:30px auto;padding:32px 38px;background:#fdfcf8;border:1px solid #dedfd6;border-radius:24px;box-shadow:0 8px 40px #183c2010}header{display:flex;align-items:center;gap:20px}.logo{width:260px;height:auto}.brand-tag{margin-left:auto;padding:10px 22px;border-radius:30px;background:#e6e9df;font-weight:700}.pause{width:48px;height:48px;border:0;border-radius:13px;background:#e0e7de;color:#004f39;font-size:25px;font-weight:bold}.intro h1{font-size:clamp(32px,4.5vw,58px);letter-spacing:-2px;line-height:1.1;margin:24px 0 8px}.intro p{margin:0 0 25px;font-size:20px}.game-layout{display:grid;grid-template-columns:minmax(260px,1.5fr) minmax(140px,.55fr) minmax(270px,1fr);gap:16px;align-items:stretch}.board-wrap{grid-column:1;grid-row:1;position:relative;align-self:start;border:7px solid #00543c;border-radius:13px;overflow:hidden;background:#003d2c}#board{display:block;width:100%;height:auto;aspect-ratio:1/2;touch-action:none}.stats{grid-column:2;grid-row:1;border:1px solid #e3e4d9;border-radius:16px;padding:20px 16px;display:flex;flex-direction:column;gap:8px}.score-label{font-size:17px}.score{font-size:46px;font-weight:800;line-height:1.2;letter-spacing:-1px}.level{margin-top:15px;font-size:17px;font-weight:700}.progress-copy{font-size:14px;margin-top:8px}.progress{height:13px;background:#e8e8dd;border-radius:20px;overflow:hidden;flex-shrink:0}.progress span{display:block;height:100%;width:0;background:#00543c;border-radius:20px;transition:width .3s}#best{font-size:12px;color:#6a7b72;min-height:18px}.next{margin-top:20px;border-top:1px solid #e3e4da;padding-top:18px}.next span{font-size:14px}#next{display:block;width:100%;max-width:144px;height:auto;margin:10px auto}.scoring{font-size:12px;color:#667c70;margin-top:auto;padding-top:20px}.scoring b{font-weight:400;color:#254e3e;line-height:1.8}.gifts{grid-column:3;grid-row:1;background:#f5f4ec;border-radius:18px;padding:18px 14px;display:flex;flex-direction:column}.gifts h2{font-size:24px;letter-spacing:-.6px;line-height:1.15;margin:0 0 18px}ol{padding:0;margin:0;list-style:none;display:grid;gap:12px}.gift-row{display:flex;align-items:center;gap:10px;border:1px solid #e8e7dd;background:#fdfcf8;padding:14px 10px;border-radius:13px;min-height:74px}.gift-row .number{flex-shrink:0;border-radius:50%;width:32px;height:32px;background:#e2e8df;display:grid;place-items:center;font-weight:bold;font-size:18px}.gift-row .symbol{font-size:25px;min-width:27px;text-align:center}.gift-row .name{font-size:14px;line-height:1.25;flex:1}.gift-row .threshold{text-align:right;font-size:14px;font-weight:bold;white-space:nowrap}.threshold small{display:block;font-size:10px;font-weight:400}.gift-row.active{border-color:#f20b27;background:#fff1ef}.gift-row.active .number{background:#f20b27;color:white}.gift-row.earned:not(.active) .number{background:#d2e6d8}.one-gift{color:#758376;font-size:12px;padding-top:16px;border-top:1px solid #dbded2;margin-top:auto}.primary,.secondary,.drop{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;min-height:54px;border:0;border-radius:13px;padding:13px 16px;font-weight:700;font-size:17px}.primary{background:#f30a25;color:white;box-shadow:0 2px 0 #ba001620}.primary:hover:not(:disabled){background:#d9001e}.primary span{font-size:24px;line-height:1}.secondary{background:#e6ede2;color:#00543c;margin-top:10px}.keyboard{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;background:#f5f4ee;border-radius:14px;padding:16px;font-size:12px}.keyboard>span{margin-right:8px}kbd{font:inherit;font-weight:600;border:1px solid #a7b6a9;border-bottom-width:2px;padding:7px 10px;border-radius:7px;background:#fcfcf8}.touch-controls{display:none}.overlay{position:absolute;inset:0;display:grid;place-items:center;background:#002a20bf;backdrop-filter:blur(4px);padding:22px}.overlay-card{text-align:center;background:#fbfaf4;border-radius:20px;padding:30px 22px;width:100%;box-shadow:0 8px 40px #00271a40}.eyebrow{display:block;font-weight:bold;letter-spacing:1.4px;font-size:10px;color:#6f8373}.overlay-card h2{font-size:31px;line-height:1.1;margin:14px 0}.overlay-card p{font-size:14px;color:#496758}.overlay-card .hint{font-size:11px;margin-bottom:0;min-height:16px}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#004d38;color:white;border-radius:13px;padding:14px 24px;box-shadow:0 6px 25px #0003;max-width:90vw;z-index:5;margin:0;pointer-events:none;opacity:0;transition:opacity .2s}.toast.visible{opacity:1}dialog{border:1px solid #e2e3d8;border-radius:24px;padding:35px 30px 25px;width:min(440px,94vw);max-height:92dvh;overflow:auto;background:#fdfcf8;color:#073f30;box-shadow:0 15px 80px #001f2040;text-align:center}dialog::backdrop{background:#002d24b3;backdrop-filter:blur(4px)}.close{position:absolute;top:8px;right:12px;border:0;background:transparent;color:#416454;font-size:30px;padding:4px 10px}dialog h2{font-size:31px;line-height:1.1;margin:8px 0 16px;letter-spacing:-1px}dialog p{font-size:15px}.gift-symbol{margin:15px auto 8px;font-size:68px;color:#00543c;line-height:1.2}form{text-align:left;display:grid;gap:14px;margin-top:24px}form label{display:grid;gap:6px;font-size:13px}form input:not([type=checkbox]){width:100%;min-height:52px;border:1px solid #9aaa9b;border-radius:11px;padding:12px 14px;background:#fff;color:#143d2c;font-size:16px}form input:focus{outline:2px solid #00543c;outline-offset:2px}.consent{display:flex;align-items:flex-start;gap:10px;font-size:11px}.consent input{accent-color:#00543c;width:19px;height:19px;margin:0;flex-shrink:0}.consent a{color:#00543c}.hp{position:absolute;left:-10000px}#form-status{font-size:13px;margin:0;text-align:center;white-space:pre-line}.error{color:#b00020}.success{color:#00543c}.app-frame{margin:0;max-width:none;border:0;border-radius:0;box-shadow:none}body.embedded{background:#fdfcf8}@media(min-width:1400px){.board-wrap{max-width:420px}.game-layout{grid-template-columns:minmax(260px,420px) minmax(150px,190px) 1fr}}@media(max-width:1050px) and (min-width:741px){.app{padding:24px;margin:15px}.game-layout{grid-template-columns:minmax(250px,1.6fr) minmax(130px,.7fr) minmax(205px,1fr)}.gifts{padding:16px 10px}.gift-row{gap:6px;padding:10px 7px}.gift-row .symbol{display:none}.gift-row .name{font-size:12px}.gift-row .threshold{font-size:12px}.gift-row .number{width:26px;height:26px}.primary{font-size:15px}.gifts h2{font-size:21px}}@media(max-width:740px){.app{margin:0 auto;border:0;border-radius:0;padding:14px;max-width:480px;box-shadow:none}header{gap:12px}.logo{width:210px;max-width:72%}.brand-tag{display:none}.pause{margin-left:auto;width:42px;height:42px}.intro h1{font-size:31px;letter-spacing:-1px;margin:18px 0 12px}.intro p{display:none}.game-layout{display:grid;grid-template-columns:1fr;gap:10px}.stats{grid-column:1;grid-row:1;display:grid;grid-template-columns:1fr auto;gap:3px 12px;padding:10px 12px;border-radius:13px;position:relative}.score-label{display:none}.score{font-size:29px}.score::after{content:' баллов';font-size:13px;letter-spacing:0}.level{font-size:12px;font-weight:400;margin:0;align-self:center}.progress-copy{grid-column:1/-1;font-size:12px;margin-top:2px}.progress{grid-column:1/-1;height:10px;margin-top:3px}#best{grid-column:1/-1;font-size:10px;min-height:0}#best:empty{display:none}.next{position:absolute;right:4px;top:140px;width:62px;border:1px solid #dfe4d7;background:#faf9f3;border-radius:10px;padding:8px 4px;margin:0;z-index:1}.next span{font-size:9px;display:block;line-height:1.2}.next canvas{margin:6px 0 0}.scoring{display:none}.board-wrap{grid-column:1;grid-row:2;margin-right:76px;border-width:5px;border-radius:9px;width:min(calc(100% - 76px),calc((100dvh - 372px) / 2));min-width:145px}#board{width:100%}.gifts{display:none}.touch-controls{grid-row:3;grid-column:1;display:grid;gap:8px}.arrows{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.arrows button{border:0;background:#e0e7dc;color:#003f2e;min-height:54px;border-radius:12px;font-size:32px;font-weight:bold;touch-action:none;user-select:none;-webkit-user-select:none}.arrows button:active,.drop:active{background:#c5d7c5}.touch-controls small{text-align:center;font-size:10px;color:#5e7969}.drop{background:#00543c;color:white;touch-action:none;min-height:48px;font-size:19px}.drop>span{font-size:16px}.touch-controls .primary{min-height:49px;font-size:16px}.keyboard{display:none}.overlay{padding:9px}.overlay-card{padding:18px 12px;border-radius:13px}.overlay-card h2{font-size:23px;margin:10px 0}.overlay-card p{font-size:12px}.overlay-card .eyebrow{font-size:8px}.overlay-card .primary,.overlay-card .secondary{font-size:14px;min-height:44px;padding:10px}.overlay-card .hint{font-size:9px}.toast{font-size:12px;bottom:12px;padding:12px 16px}dialog{padding:32px 22px 22px}.intro{margin:0}.progress-copy{line-height:1.25}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media(min-width:1051px){.app{max-width:1060px;padding:26px;margin:20px auto}.game-layout{grid-template-columns:360px 170px minmax(280px,1fr)}.intro h1{font-size:48px;margin-top:20px}.intro p{font-size:18px;margin-bottom:20px}.logo{width:230px}.gift-row{padding:10px;min-height:64px}ol{gap:9px}.gifts h2{font-size:23px}.keyboard{padding:12px}}

@media(max-width:740px){.logo{width:170px}.intro h1{font-size:28px;margin:10px 0 6px}.board-wrap{width:min(calc(100% - 76px),calc((var(--game-height,100dvh) - 440px)/2))}}
