:root{font-family:Golos Text,sans-serif;color:#423b31;background:#f6f0e5;font-synthesis:none;font-size:14px;--wine:#762c43;--muted:#766b5b}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,.scene:focus-visible{outline:3px solid #a37a37;outline-offset:4px}::selection{background:#decdb4;color:#422d20}[hidden]{display:none!important}.game{width:min(100%,540px);min-height:100svh;margin:auto;padding:24px 34px max(20px,env(safe-area-inset-bottom));display:flex;flex-direction:column}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.wordmark{font-family:Literata,Georgia,serif;font-size:24px;color:inherit;text-decoration:none;letter-spacing:-.035em;display:flex;align-items:baseline;gap:4px}.brand-dot{width:5px;height:5px;background:var(--wine);border-radius:50%}.sound{border:1px solid #d6cdbf;background:transparent;border-radius:50%;width:48px;height:48px;color:#655543;display:grid;place-items:center}.sound svg{width:20px;height:20px}.sound:hover{background:#eae1d3}.muted .sound-waves{opacity:.15}.scoreboard{display:flex;align-items:center;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid #dcd2c3}.stat-label{display:block;font-size:10px;font-weight:500;letter-spacing:.14em;color:var(--muted);margin-bottom:6px}.scoreboard strong{font-size:23px;font-weight:500;font-variant-numeric:tabular-nums}.scoreboard strong span{font-size:14px;color:var(--muted)}.score-stat{text-align:right;min-width:65px}.round-dots{display:flex;gap:9px}.round-dots i{height:6px;width:6px;border:1px solid #baae9c;border-radius:50%}.round-dots .current{background:var(--wine);border-color:var(--wine);box-shadow:0 0 0 4px #762c430d}.round-dots .done{background:#b29a7a;border-color:#b29a7a}.play{flex:1;display:flex;flex-direction:column;min-height:0}.intro{text-align:center;margin:26px 0 6px}h1,h2{font-family:Literata,Georgia,serif;font-weight:400;letter-spacing:-.03em}h1{font-size:27px;margin:0 0 9px;text-wrap:balance}.intro p{color:var(--muted);font-size:12px;margin:0}.scene{flex:1;min-height:280px;height:440px;max-height:490px;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.scene canvas{width:100%;height:100%;display:block}.glass-caption{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;padding:0 5px 21px}.glass-caption span:last-child{font-variant-numeric:tabular-nums}footer{padding-top:8px}.hold,.next{width:100%;min-height:80px;background:var(--wine);border:0;color:#fff4eb;border-radius:12px;padding:18px 24px;text-align:left;position:relative;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;transition:background .15s}.hold:hover,.next:hover{background:#672039}.hold:active{background:#581a31}.hold-title{font-size:17px;font-weight:500;display:block}.hold-sub{display:block;font-size:11px;opacity:.8;margin-top:5px}.hold svg{position:absolute;width:25px;height:25px;right:24px;top:28px}.next{font-size:17px;display:flex;align-items:center;justify-content:space-between;min-height:65px}.next span{font-size:25px}.footer-note{font-size:10px;text-align:center;color:var(--muted);margin:15px 0 0}.result{border-top:1px solid #dcd2c3;padding:18px 0 14px}.result-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.result h2{font-size:25px;margin:0}.result-heading strong{color:var(--wine);font-size:24px;font-weight:500}.result-heading small{font-size:11px;font-weight:400}dl{display:flex;justify-content:space-between;gap:15px;margin:17px 0 0}dt{font-size:10px;color:var(--muted);margin-bottom:5px}dd{margin:0;font-size:14px;font-variant-numeric:tabular-nums}.spill-note{font-size:11px;color:var(--wine);margin-bottom:0}.game:has(.result:not([hidden])) .intro{margin-top:18px}.game:has(.result:not([hidden])) .scene{height:300px;min-height:200px;max-height:330px}.game:has(.result:not([hidden])) .glass-caption{padding-bottom:12px}.summary{flex:1;text-align:center;padding:25px 0}.summary-glass svg{height:84px;color:var(--wine);margin-bottom:16px}.summary>p{font-size:12px;color:var(--muted)}.final-score{font-family:Literata,Georgia,serif;font-size:70px;color:var(--wine);letter-spacing:-.04em;margin:24px 0}.final-score span{font-family:Golos Text,sans-serif;display:block;font-size:12px;color:var(--muted);letter-spacing:0}.summary dl{justify-content:space-around;margin-bottom:30px}.summary dd{font-size:19px}.round-results{list-style:none;padding:0;margin:0;border-top:1px solid #dcd2c3}.round-results li{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #e4dacc;font-size:12px;gap:12px}.round-results li span:nth-child(2){color:var(--muted);flex:1;text-align:left}.round-results strong{font-weight:500;min-width:38px;text-align:right;font-variant-numeric:tabular-nums}@media(min-width:700px){body{background:#eae2d4}.game{background:#f6f0e5;margin:24px auto;min-height:calc(100svh - 48px);padding:28px 46px;box-shadow:0 12px 60px #4b342512;border-radius:4px}}@media(max-width:360px){.game{padding:16px 20px}.wordmark{font-size:22px}h1{font-size:24px}.scene{min-height:270px}.intro p{font-size:11px}.hold{padding-left:20px}.hold-title{font-size:16px}.result h2{font-size:23px}}@media(max-height:740px)and (orientation:portrait){.game{padding-top:12px}header{margin-bottom:16px}.intro{margin-top:17px}.scene{height:340px;min-height:240px}.glass-caption{padding-bottom:12px}.hold{min-height:72px}.footer-note{margin-top:10px}}@media(orientation:landscape)and (max-height:600px){.game{max-width:850px;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px 30px;min-height:100svh;margin:0 auto;padding:16px 30px}header{grid-column:1/-1;margin:0}.scoreboard{grid-column:2;grid-row:2;padding:8px 0 12px}.play{grid-column:1;grid-row:2/5}.intro{margin:10px 0 0}.intro h1{font-size:23px}.scene{height:240px;min-height:200px}.glass-caption{padding-bottom:0}footer{grid-column:2;align-self:end}.result{grid-column:2;padding-top:12px}.summary{grid-column:1/-1;padding:0}.summary-glass{display:none}.summary .final-score{font-size:48px;margin:10px}.summary dl{margin-bottom:12px}.round-results{display:none}.game:has(.summary:not([hidden])) footer{grid-column:1/-1}.game:has(.result:not([hidden])) .scene{height:240px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.scene{position:relative}.scene canvas{position:absolute;inset:0;width:100%;height:100%}@media(max-width:360px){h1{font-size:22px;line-height:1.3}}@media(max-height:620px)and (orientation:portrait){.scene{min-height:205px}.intro{margin-top:12px}.game{padding-top:max(10px,env(safe-area-inset-top))}}.challenge-rule{display:flex;justify-content:center;gap:12px;font-size:10px;color:#715232;margin-top:10px}.challenge-rule span+span{border-left:1px solid #d6cdbf;padding-left:12px}.flow-meter{width:50px;height:4px;background:#ddcebb;overflow:hidden;align-self:center;border-radius:2px}.flow-meter i{display:block;height:100%;background:#762c43;transform-origin:left;will-change:transform}.challenge-outcome{font-size:11px;color:#766b5b;margin:8px 0 0}.challenge-outcome.passed{color:#526043}.round-dots .missed{border-color:#762c43;background:transparent}.round-results .passed span:nth-child(2){color:#526043}.result dl{margin-top:12px}@media(max-width:360px){.challenge-rule{gap:8px;font-size:9px}.challenge-rule span+span{padding-left:8px}.intro p{line-height:1.45}.scene{min-height:190px}}@media(max-height:620px)and (orientation:portrait){header{margin-bottom:10px}.scoreboard{padding-bottom:12px}.scene{min-height:180px}}.bar-scoreboard .combo-stat{text-align:center}.combo-stat small{display:block;font-size:9px;color:#766b5b;margin-top:3px}.urgent{color:#762c43}.queue{display:flex;gap:12px;align-items:center;font-size:10px;color:#766b5b;padding-top:12px}.queue span:not(:first-child){color:#715232}.queue a{margin-left:auto;color:#715232;text-underline-offset:3px;min-height:48px;display:flex;align-items:center}.bar-game .intro{margin-top:12px}.patience{display:flex;align-items:center;gap:12px;font-size:10px;color:#715232;margin:12px auto 0;max-width:270px}.patience>div{height:3px;flex:1;background:#ddcebb;overflow:hidden}.patience i{display:block;height:100%;background:#9d784b;transform-origin:left}.bar-actions{display:grid;grid-template-columns:1.3fr 1fr;gap:10px}.bar-actions .hold{padding:16px 18px}.serve{border:1px solid #b5a187;background:#e7dbc8;color:#4f3c26;border-radius:12px;font-size:17px;font-weight:500;min-height:80px}.serve small{display:block;font-size:10px;font-weight:400;margin-top:6px}.serve:hover:enabled{background:#d9c6a9}.serve:disabled{cursor:default;opacity:.45}.hold:disabled{cursor:default;background:#94717c}.bar-feedback{position:absolute;inset:auto 0 22%;text-align:center;background:#f6f0e5ed;padding:20px 12px;box-shadow:0 6px 25px #4b342512}.bar-feedback strong{display:block;font-family:Literata,Georgia,serif;font-size:23px}.bar-feedback span,.bar-feedback small{display:block;font-size:11px;color:#766b5b;margin-top:6px}.bar-feedback b{display:block;font-size:22px;color:#762c43;margin-top:10px;font-weight:500}.bar-tip{max-width:30ch;margin:30px auto!important;line-height:1.6}.bar-game .summary{padding-top:70px}@media(max-height:620px)and (orientation:portrait){.bar-game .queue{padding-top:0}.bar-game .intro{margin-top:3px}.bar-game .scene{min-height:150px}.bar-game h1{font-size:23px}.bar-game .serve,.bar-game .hold{min-height:68px}.bar-game .summary{padding-top:35px}}@media(orientation:landscape)and (max-height:600px){.bar-game{grid-template-rows:auto auto auto 1fr}.bar-game .queue{grid-column:2;grid-row:3;padding-top:0}.bar-game .play{grid-row:2/5}.bar-game .scene{height:210px;min-height:180px}.bar-game .summary{padding-top:20px}.bar-game .patience{margin-top:6px}.bar-game footer{grid-column:2;grid-row:4}.bar-game:has(.summary:not([hidden])) footer{grid-column:1/-1;grid-row:auto}}.bar-actions{grid-template-columns:1fr}.bar-actions .hold{padding:18px 24px}.bar-actions .hold:disabled{opacity:.7}.share-result,.copy-link,.download-card,.install-app{min-height:48px;padding:12px 18px;font-size:12px;border:1px solid #b5a187;background:transparent;color:#715232;border-radius:8px}.share-result{width:100%;margin-top:8px}.share-fallback{display:flex;gap:8px;margin-top:8px}.share-fallback button{flex:1}.share-status{font-size:11px!important;min-height:16px}.install-app{display:block;margin:12px auto 0}.shared-challenge{position:relative;padding:12px 48px 12px 12px;background:#e7dbc8;margin-bottom:14px;font-size:12px}.shared-challenge span{display:block;font-size:10px;margin-top:5px}.shared-challenge button{position:absolute;right:0;top:0;width:48px;height:48px;border:0;background:transparent;color:#715232;font-size:20px}.sharing input{width:100%;padding:10px;border:1px solid #b5a187;color:#423b31;background:#f6f0e5}.share-result:hover,.copy-link:hover,.download-card:hover{background:#e7dbc8}@media(max-height:740px)and (orientation:portrait){.bar-game .scene{min-height:150px}}.next svg{width:24px;height:24px}.bar-game .summary{padding-top:24px;padding-bottom:12px}.bar-game .summary dl{margin-bottom:12px}.bar-game .bar-tip{margin:18px auto!important}.share-status{margin:4px 0!important;min-height:0}@media(max-height:620px)and (orientation:portrait){.bar-game .summary{padding-top:10px;padding-bottom:6px}.bar-game .summary h1{font-size:23px}.bar-game .summary>.bar-tip{display:none}.bar-game .summary>p{margin:8px 0}.bar-game .summary .final-score{font-size:48px;margin:12px 0}.bar-game .summary dl{margin:12px 0}.bar-game .summary dd{font-size:17px}.bar-game .sharing{margin-top:8px}.bar-game .share-result{margin-top:0}.bar-game:has(.summary:not([hidden])) header{margin-bottom:4px}}@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:400;src:url(./golos-text-cyrillic-400-normal-C7us6pn1.woff2) format("woff2"),url(./golos-text-cyrillic-400-normal-BwL4n7Pb.woff) format("woff")}@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:400;src:url(./golos-text-latin-400-normal-Coi1FYaD.woff2) format("woff2"),url(./golos-text-latin-400-normal-DOuJOmdK.woff) format("woff")}@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:500;src:url(./golos-text-cyrillic-500-normal-BSLQUuP1.woff2) format("woff2"),url(./golos-text-cyrillic-500-normal-hXinzVVQ.woff) format("woff")}@font-face{font-family:Golos Text;font-style:normal;font-display:swap;font-weight:500;src:url(./golos-text-latin-500-normal-BznAvurO.woff2) format("woff2"),url(./golos-text-latin-500-normal-BQo4s7Kn.woff) format("woff")}@font-face{font-family:Literata;font-style:normal;font-display:swap;font-weight:400;src:url(./literata-cyrillic-400-normal-CNCMA2GQ.woff2) format("woff2"),url(./literata-cyrillic-400-normal-BZoHpSD9.woff) format("woff")}@font-face{font-family:Literata;font-style:normal;font-display:swap;font-weight:400;src:url(./literata-latin-400-normal-CLtNJ872.woff2) format("woff2"),url(./literata-latin-400-normal-CUhpYSl8.woff) format("woff")}.bar-game header{margin-bottom:0;min-height:44px}.bar-game .wordmark{font-size:18px}.bar-game .sound{width:44px;height:44px;border-color:transparent}.bar-game .sound svg{width:18px;height:18px}.bar-tools{display:flex;align-items:center;gap:4px}.bar-tools a{display:flex;align-items:center;min-height:44px;padding:0 8px;color:var(--muted);font-size:10px;text-underline-offset:3px}.bar-game .bar-scoreboard{padding:4px 0 8px;align-items:start}.bar-game .bar-scoreboard>div{display:grid;grid-template-columns:auto auto;gap:2px 6px;align-items:baseline}.bar-game .stat-label{font-size:10px;letter-spacing:.04em;margin-bottom:0}.bar-game .bar-scoreboard strong{font-size:18px}.bar-game .combo-stat small{grid-column:1 / -1;margin-top:0;font-size:9px}.bar-game .queue{padding-top:0;min-height:28px;gap:12px;font-size:10px}.bar-game .intro{margin:0 0 4px}.bar-game .intro h1{font-size:22px;margin-bottom:4px}.bar-game .intro p{font-size:11px;line-height:1.4}.bar-game .patience{margin-top:8px;font-size:10px}.bar-game .glass-caption{padding:4px 0 8px;font-size:11px}.bar-game footer{padding-top:0}.bar-game .bar-actions .hold{min-height:60px;padding:12px 20px}.bar-game .hold-title{font-size:15px}.bar-game .hold-sub{font-size:10px;margin-top:3px}.bar-game .footer-note{font-size:10px;margin-top:8px}@media(orientation:portrait),(min-height:601px){.bar-game{height:100svh;min-height:540px;padding:8px 24px max(12px,env(safe-area-inset-bottom))}.bar-game .scene{height:auto;min-height:160px;max-height:none;flex:1}}@media(min-width:700px)and (min-height:601px){.bar-game{height:calc(100svh - 48px);padding:12px 32px 16px}}@media(max-width:360px)and (orientation:portrait){.bar-game{padding-right:16px;padding-left:16px}.bar-game .queue{gap:8px}.bar-game .intro h1{font-size:20px}.bar-game .intro p{font-size:10px}}@media(max-height:620px)and (orientation:portrait){.bar-game .footer-note{display:none}.bar-game .bar-actions .hold{min-height:52px;padding:10px 18px}}
