@font-face{font-family:PT Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/pt-sans-cyrillic-400-normal-BgFH0IXl.woff2)format("woff2"),url(/assets/pt-sans-cyrillic-400-normal-DR9of8nb.woff)format("woff")}@font-face{font-family:PT Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/pt-sans-cyrillic-700-normal-TNhnPAH_.woff2)format("woff2"),url(/assets/pt-sans-cyrillic-700-normal-DzVkanQm.woff)format("woff")}@font-face{font-family:PT Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/pt-sans-latin-400-normal-Cwy9XeGQ.woff2)format("woff2"),url(/assets/pt-sans-latin-400-normal-v0jdzXSm.woff)format("woff")}@font-face{font-family:PT Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/pt-sans-latin-700-normal-DmHhLLdt.woff2)format("woff2"),url(/assets/pt-sans-latin-700-normal-CyjbL83V.woff)format("woff")}@font-face{font-family:Amatic SC;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/amatic-sc-cyrillic-400-normal-Cvet1vQo.woff2)format("woff2"),url(/assets/amatic-sc-cyrillic-400-normal-qYpV1xHz.woff)format("woff")}@font-face{font-family:Amatic SC;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/amatic-sc-cyrillic-700-normal-DEegBhED.woff2)format("woff2"),url(/assets/amatic-sc-cyrillic-700-normal-DtCSrGKl.woff)format("woff")}@font-face{font-family:Amatic SC;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/amatic-sc-latin-400-normal-BYMtr4HQ.woff2)format("woff2"),url(/assets/amatic-sc-latin-400-normal-CvxyDaGH.woff)format("woff")}@font-face{font-family:Amatic SC;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/amatic-sc-latin-700-normal-Dm5yrGS-.woff2)format("woff2"),url(/assets/amatic-sc-latin-700-normal-CYOJcvwQ.woff)format("woff")}:root{--wood-dark:#241408;--wood:#4a2c17;--wood-light:#6b4423;--cloth:#7a2b23;--cloth-dark:#5a1f1a;--cream:#f6ecd4;--cream-dark:#e6d4a8;--ink:#3a2415;--mustard:#d9a441;--mustard-dark:#b9822a;--red-suit:#a3312a;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--table-wood-url:none;--table-wood-size:256px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{color:var(--cream);background-color:var(--wood-dark);background-image:linear-gradient(#140b041f, #140b0457), var(--table-wood-url);background-size:auto, var(--table-wood-size) var(--table-wood-size);overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;font-family:PT Sans,Segoe UI,system-ui,sans-serif;overflow:hidden}input{-webkit-user-select:text;user-select:text;touch-action:manipulation}h1,h2{letter-spacing:.02em;font-family:Amatic SC,PT Sans,sans-serif}.lobby{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;height:100%;padding:24px;display:flex}.lobby h1{color:var(--mustard);text-shadow:2px 2px 0 var(--wood-dark);margin:0;font-size:4rem;font-weight:700}.lobby-subtitle{opacity:.85;max-width:420px}.lobby form{gap:8px;margin-top:12px;display:flex}.lobby input,.room-code button,form input{border:2px solid var(--wood-light);background:var(--cream);color:var(--ink);border-radius:8px;padding:10px 14px;font-family:inherit;font-size:1rem}.lobby input{min-width:220px}.lobby button,.primary-button,.suit-button,button{border:2px solid var(--mustard-dark);background:var(--mustard);color:var(--ink);cursor:pointer;box-shadow:0 3px 0 var(--mustard-dark);border-radius:8px;padding:10px 20px;font-family:PT Sans,sans-serif;font-size:1rem;font-weight:700;transition:transform 80ms,box-shadow 80ms}.lobby button:hover,.primary-button:hover,button:hover:not(:disabled){background:#e5b658}button:active:not(:disabled){box-shadow:0 1px 0 var(--mustard-dark);transform:translateY(2px)}button:disabled{opacity:.5;cursor:default;box-shadow:none}.lobby-error{color:#ffb3a3;max-width:360px}.mode-buttons{flex-direction:column;gap:10px;width:260px;margin-top:8px;display:flex}.join-lobby-form{margin-top:4px}.join-lobby-form input{min-width:140px}.room-code{justify-content:center;align-items:center;gap:10px;margin:12px 0;display:flex}.room-code code{background:var(--cream);color:var(--ink);letter-spacing:.05em;border:2px dashed var(--wood-light);border-radius:6px;padding:8px 12px;font-size:1.1rem}.seat-list{text-align:left;margin:0 0 16px;padding:0;list-style:none}.seat-list li{padding:4px 0}.centered-message{flex-direction:column;justify-content:center;align-items:center;gap:16px;height:100%;display:flex}.game-screen{width:100%;height:100%;position:relative}.score-bar{height:calc(var(--safe-top) + 56px);padding:var(--safe-top) calc(var(--safe-right) + 52px) 0 calc(var(--safe-left) + 52px);background:linear-gradient(var(--wood-dark), #24140800);z-index:5;justify-content:center;align-items:center;gap:12px;font-size:.9rem;display:flex;position:absolute;top:0;left:0;right:0}.score-target{opacity:.6;margin-left:1px;font-weight:400}.trump-chip{background:var(--cream);min-width:46px;height:46px;color:var(--ink);border:2px solid var(--mustard-dark);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;padding:0 6px;line-height:1;display:flex;box-shadow:0 3px 8px #00000073}.trump-chip-empty{color:#f6ecd499;box-shadow:none;background:#140b048c;border-style:dashed;border-color:#d9a44180}.trump-suit{font-size:1.7rem;animation:.5s cubic-bezier(.3,1.6,.5,1) trump-pop}.trump-caption{text-transform:uppercase;letter-spacing:.06em;opacity:.65;margin-top:1px;font-size:.6rem}@keyframes trump-pop{0%{opacity:0;transform:scale(.2)rotate(-40deg)}to{opacity:1;transform:scale(1)rotate(0)}}.score-item{flex-direction:column;align-items:center;gap:3px;display:flex}.score-label{white-space:nowrap}.score-mine .score-label{color:var(--mustard);font-weight:700}.declaring-badge{letter-spacing:.04em;text-transform:uppercase;color:#2b1a05;background:linear-gradient(#ffe27a,#e0a82a);border-radius:999px;padding:1px 9px;font-size:.7rem;font-weight:700;animation:2.4s ease-in-out infinite declare-glow;box-shadow:0 0 10px #ffd24a8c}.score-declaring .score-label{text-shadow:0 0 8px #ffd24ab3}@keyframes declare-glow{50%{box-shadow:0 0 16px #ffd24ad9}}@media (prefers-reduced-motion:reduce){.declaring-badge{animation:none}}@media (orientation:landscape){.score-bar{height:calc(var(--safe-top) + 44px);gap:24px}.score-item{flex-direction:row;gap:8px}}.modal-overlay{z-index:10;background:#140b04a6;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.modal{background:var(--cream);color:var(--ink);text-align:center;border:6px solid var(--wood-light);border-radius:4px;max-width:360px;padding:28px 32px;box-shadow:0 10px 30px #00000080}.modal h2{color:var(--cloth);margin-top:0;font-size:2.4rem}.suit-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;display:grid}.suit-button{border:2px solid var(--wood-light);background:var(--cream-dark);cursor:pointer;box-shadow:none;border-radius:8px;flex-direction:column;align-items:center;gap:6px;padding:14px;font-size:1rem;display:flex}.suit-button:hover{border-color:var(--mustard-dark);background:#fff8e1}.suit-symbol{font-size:1.8rem}.error-toast{background:var(--cloth);border:2px solid var(--cloth-dark);color:#fff;z-index:20;border-radius:8px;padding:10px 18px;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.icon-button{top:calc(var(--safe-top) + 6px);left:calc(var(--safe-left) + 8px);z-index:8;width:44px;height:44px;color:var(--cream);box-shadow:none;background:#140b0499;border:2px solid #d9a44199;border-radius:12px;padding:0;font-size:1.3rem;position:absolute}.icon-button:hover:not(:disabled){background:#140b04d9}.menu-backdrop{z-index:8;position:absolute;inset:0}.menu-panel{top:calc(var(--safe-top) + 56px);left:calc(var(--safe-left) + 8px);z-index:9;background:var(--cream);min-width:220px;color:var(--ink);border:3px solid var(--wood-light);border-radius:12px;flex-direction:column;gap:6px;padding:10px;animation:.16s ease-out pop-in;display:flex;position:absolute;box-shadow:0 10px 30px #00000080}.menu-item{text-align:left;background:var(--cream-dark);min-height:44px;color:var(--ink);border:2px solid var(--wood-light);box-shadow:none}.menu-item:hover:not(:disabled){background:#fff8e1}.menu-danger{background:var(--cloth);color:#fff;border-color:var(--cloth-dark)}.menu-danger:hover:not(:disabled){background:#94382e}.menu-confirm{flex-direction:column;gap:6px;font-weight:700;display:flex}@keyframes pop-in{0%{opacity:0;transform:scale(.9)translateY(6px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes overlay-in{0%{opacity:0;pointer-events:none}to{opacity:1;pointer-events:auto}}.modal{width:min(92vw,380px);animation:.22s ease-out pop-in}.modal-delayed{animation:.25s ease-out both overlay-in}.trump-overlay{pointer-events:none;background:0 0;align-items:flex-start;padding-top:14vh;animation:none}.trump-overlay .trump-modal{pointer-events:auto;width:min(92vw,420px);max-width:420px;padding:14px 20px 16px}.trump-modal h2{margin-bottom:2px;font-size:1.7rem}.trump-modal p{margin:4px 0;font-size:.9rem}.trump-modal .suit-grid{grid-template-columns:repeat(4,1fr);margin-top:8px}.trump-modal .suit-button{padding:8px 4px;font-size:.8rem}.modal-actions{flex-direction:column;gap:10px;margin-top:18px;display:flex}.secondary-button{color:var(--ink);border:2px solid var(--wood-light);box-shadow:none;background:0 0}.secondary-button:hover:not(:disabled){background:var(--cream-dark)}.tone-good h2{color:#2f6b34}.tone-bad h2{color:var(--cloth)}.match-over h2{margin-bottom:4px;font-size:3.2rem}.match-over-sub{opacity:.8;margin:0 0 8px}.match-over-score,.round-summary-points{justify-content:center;align-items:flex-end;gap:16px;margin:10px 0;display:flex}.match-over-score div,.round-summary-points div{flex-direction:column;align-items:center;min-width:80px;display:flex}.match-over-score strong{font-size:3rem;line-height:1}.round-summary-points strong{font-size:2.4rem;line-height:1}.round-summary-dash{opacity:.5;padding-bottom:4px;font-size:2rem}.round-summary-caption{text-transform:uppercase;letter-spacing:.06em;opacity:.65;font-size:.8rem}.round-summary{z-index:9;background:#140b0459;justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;inset:0}.round-summary-card{border:5px solid var(--wood-light);background:var(--cream);width:min(92vw,380px);color:var(--ink);text-align:center;border-radius:6px;padding:20px 24px 22px;animation:.25s ease-out pop-in;position:relative;overflow:hidden;box-shadow:0 10px 30px #00000080}.round-summary-card h2{margin:0 0 4px;font-size:2.2rem}.round-summary-line{margin:6px 0 0;font-size:.95rem}.round-summary-note{opacity:.6;margin:10px 0 0;font-size:.8rem}.round-summary-progress{background:var(--mustard);transform-origin:0;width:100%;height:4px;animation:linear forwards drain;position:absolute;bottom:0;left:0}@keyframes drain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.score-num{display:inline-block}.score-num:not(:first-child),.score-label .score-num{animation:.6s cubic-bezier(.3,1.6,.5,1) score-bump}@keyframes score-bump{0%{color:inherit;transform:scale(1)}35%{color:var(--mustard);transform:scale(1.5)}to{transform:scale(1)}}.confetti{pointer-events:none;z-index:1;position:absolute;inset:0;overflow:hidden}.confetti i{opacity:0;border-radius:2px;animation-name:confetti-fall;animation-timing-function:cubic-bezier(.25,.6,.5,1);animation-fill-mode:forwards;position:absolute;top:-20px}.modal-overlay .modal{z-index:2;position:relative}@keyframes confetti-fall{0%{opacity:1;transform:translate(0)rotate(0)}to{opacity:1;transform:translate(var(--drift), 105vh) rotate(var(--spin))}}@media (prefers-reduced-motion:reduce){.confetti{display:none}.score-num{animation:none!important}.modal,.menu-panel,.round-summary-card,.trump-suit{animation:none}}@media (orientation:landscape) and (height<=500px){.modal{padding:14px 20px}.modal h2{margin-bottom:4px;font-size:1.8rem}.suit-grid{grid-template-columns:repeat(4,1fr);margin-top:8px}.suit-button{padding:8px}.trump-chip{border-radius:10px;min-width:40px;height:36px}.trump-suit{font-size:1.3rem}.trump-caption{display:none}.round-summary-card{padding:12px 18px 16px}.round-summary-card h2{font-size:1.7rem}.round-summary-points strong{font-size:1.8rem}.match-over-score strong{font-size:2.2rem}.match-over h2{font-size:2.4rem}}.loading-title{color:var(--mustard);text-shadow:2px 2px 0 var(--wood-dark);margin:0;font-size:3.4rem}.loading-bar{background:#140b0499;border:1px solid #d9a44180;border-radius:4px;width:min(70vw,260px);height:8px;overflow:hidden}.loading-bar-fill{background:var(--mustard);height:100%;transition:width .2s ease-out}.lobby{position:relative;overflow-y:auto}.lobby h1{font-size:clamp(3rem,12vw,5rem);line-height:1}.menu-fan{flex-shrink:0;width:190px;height:118px;margin-bottom:4px;position:relative}.menu-fan-card{transform-origin:50% 130%;background:var(--cream);border:1px solid #00000059;border-radius:6px;flex-direction:column;align-items:flex-start;width:62px;height:88px;margin-left:-31px;padding:5px 7px;font-size:1.2rem;line-height:1;display:flex;position:absolute;bottom:0;left:50%;box-shadow:0 4px 10px #00000073}.menu-fan-card span{font-size:1.5rem}.menu-primary{padding:14px 20px;font-size:1.15rem}.ghost-button{color:var(--cream);box-shadow:none;background:0 0;border-color:#f6ecd466}.ghost-button:hover:not(:disabled){background:#f6ecd41f}.howto-link{color:var(--cream);box-shadow:none;background:0 0;border-color:#0000;margin-top:4px;text-decoration:underline}.howto-link:hover:not(:disabled){background:#f6ecd41f}.howto-link-new{color:var(--mustard);animation:1.8s ease-in-out infinite howto-pulse}@keyframes howto-pulse{50%{transform:scale(1.07)}}.join-lobby-form{gap:8px;margin:0;display:flex}.join-lobby-form input{flex:1;width:100%;min-width:0}.modal.howto{text-align:left;width:min(94vw,420px);max-width:420px;max-height:92%;padding:20px 24px;overflow-y:auto}.howto h2{text-align:center;margin:0 0 8px}.howto-count{text-align:center;letter-spacing:.08em;opacity:.55;font-size:.75rem}.howto-body p,.howto-body li{margin:8px 0;font-size:.95rem;line-height:1.4}.howto-body ul{margin:8px 0;padding-left:20px}.howto-dots{justify-content:center;gap:6px;margin:12px 0 10px;display:flex}.howto-dot{background:#3a241540;border-radius:50%;width:7px;height:7px}.howto-dot-on{background:var(--cloth)}.howto-nav{justify-content:space-between;gap:10px;display:flex}.howto-nav button{flex:1}.howto .ghost-button{color:var(--ink);border-color:#3a241559}.mini-row{justify-content:center;align-items:center;gap:6px;margin:10px 0;display:flex}.mini-row-wrap{flex-wrap:wrap;gap:10px}.mini-gt{opacity:.5;font-size:1.3rem}.mini-card{background:#fff;border:1px solid #00000059;border-radius:4px;flex-direction:column;justify-content:center;align-items:flex-start;width:34px;height:48px;padding:3px 5px;font-size:.85rem;line-height:1;display:inline-flex;box-shadow:0 2px 4px #00000040}.mini-card span{font-size:1.05rem}.mini-card-dim{opacity:.55}.mini-pts{align-items:center;gap:6px;font-size:1.05rem;font-weight:700;display:inline-flex}.rules-table{border-collapse:collapse;width:100%;margin:8px 0;font-size:.9rem}.rules-table th,.rules-table td{text-align:center;border-bottom:1px solid #3a241533;padding:5px 6px}.rules-table th{text-transform:uppercase;letter-spacing:.04em;opacity:.7;font-size:.75rem}.lobby{justify-content:safe center}.lobby .ghost-button{color:var(--cream);box-shadow:none;background:0 0;border-color:#f6ecd466}.lobby .ghost-button:hover:not(:disabled){background:#f6ecd41f}.lobby .howto-link{color:var(--cream);box-shadow:none;background:0 0;border-color:#0000;text-decoration:underline}.lobby .howto-link-new{color:var(--mustard)}.lobby .howto-link:hover:not(:disabled){background:#f6ecd41f}.howto .ghost-button{color:var(--ink);box-shadow:none;background:0 0;border-color:#3a241559}.howto .ghost-button:hover:not(:disabled){background:#3a241514}@media (height<=520px){.lobby{gap:6px;padding:10px 16px}.menu-fan{display:none}.lobby h1{font-size:2.6rem}.lobby-subtitle{margin:0}.mode-buttons{grid-template-columns:1fr 1fr;gap:8px;width:min(90vw,520px);margin-top:4px;display:grid}.mode-buttons .menu-primary{grid-column:1/-1;padding:10px 20px}.mode-buttons button{padding:8px 12px}}.modal.howto{flex-direction:column;display:flex;overflow:hidden}.howto-body{flex:1;min-height:0;overflow-y:auto}.howto-dots,.howto-nav,.howto h2,.howto-count{flex-shrink:0}@media (height<=520px){.modal.howto{max-height:96%;padding:10px 18px}.howto h2{font-size:1.8rem}.howto-dots{margin:6px 0}}.reconnect-overlay{z-index:30}.reconnect-spinner{border:4px solid #3a241533;border-top-color:var(--cloth);border-radius:50%;width:34px;height:34px;margin:0 auto 8px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.reconnect-overlay .ghost-button{color:var(--ink);box-shadow:none;background:0 0;border-color:#3a241559;margin-top:8px}@media (prefers-reduced-motion:reduce){.reconnect-spinner{animation-duration:2.4s}}.modal.waiting-room{width:min(94vw,400px);max-width:400px;max-height:96%;padding:20px 24px;overflow-y:auto}.waiting-room h2{margin:0 0 4px}.waiting-room>p{margin:4px 0;font-size:.9rem}.waiting-room .room-code{margin:8px 0}.waiting-room .room-code code{letter-spacing:.08em;padding:6px 14px;font-size:1.5rem}.wr-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.wr-actions button{padding:8px 14px;font-size:.9rem}.waiting-room .ghost-button{color:var(--ink);box-shadow:none;background:0 0;border-color:#3a241559}.waiting-room .primary-button{width:100%;margin:10px 0 8px}.waiting-room>.ghost-button{width:100%}.wr-teams{text-align:left;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.wr-team h3{letter-spacing:.06em;text-transform:uppercase;opacity:.6;margin:0 0 6px;font-size:.75rem}.wr-team-rival h3{color:#7a2b23;opacity:.85}.wr-slot{background:#3a241514;border-radius:8px;align-items:center;gap:8px;min-width:0;margin-bottom:6px;padding:6px 8px;font-size:.9rem;display:flex}.wr-slot-draggable{cursor:grab}.wr-slot-selected{outline:2px solid #c9922b}.wr-slot-over{background:#c9922b2e;outline:2px dashed #c9922b}.wr-slot>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.wr-slot-empty{opacity:.8;background:0 0;border:2px dashed #3a24154d}.wr-avatar{color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:30px;height:30px;font-weight:700;display:flex}.wr-avatar-empty{color:#3a241599;background:#3a241533}.wr-dots{text-align:left;width:1.2em;display:inline-block}.wr-dots:after{content:"";animation:1.4s steps(4,end) infinite wr-dots}@keyframes wr-dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}.wr-count{opacity:.6;margin:8px 0 0;font-size:.8rem}.invite-join{animation:1.8s ease-in-out infinite howto-pulse}.lang-switch{z-index:2;border:2px solid #f6ecd459;border-radius:8px;display:flex;position:absolute;top:12px;right:12px;overflow:hidden}.lang-switch button{box-shadow:none;color:var(--cream);background:0 0;border:0;border-radius:0;padding:4px 10px;font-size:.85rem}.lang-switch button.lang-on{background:var(--mustard);color:var(--ink)}.lang-switch button:hover:not(.lang-on){background:#f6ecd424}.lang-switch button:active:not(:disabled){transform:none}.menu-lang{padding:6px 12px;display:flex}.menu-lang .lang-switch{border-color:#3a241566;position:static}.menu-lang .lang-switch button{color:var(--ink)}.menu-lang .lang-switch button.lang-on{background:var(--mustard)}.menu-lang .lang-switch button:hover:not(.lang-on){background:#3a24151a}.settings{text-align:left;min-width:min(320px,88vw)}.settings h2{text-align:center}.setting-row{border-bottom:1px solid #3a241526;justify-content:space-between;align-items:center;gap:14px;padding:10px 0;display:flex}.setting-col{flex-direction:column;align-items:stretch;gap:8px}.setting-row input[type=range]{width:0;min-width:0;max-width:180px;accent-color:var(--mustard);background:0 0;border:0;flex:auto;min-height:32px;padding:0}.setting-row .menu-lang{padding:0}.toggle,.segmented button{min-height:40px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:2px solid #3a241566;border-radius:8px;padding:0 14px}.toggle[aria-pressed=true],.segmented .seg-on{background:var(--mustard);border-color:var(--mustard);font-weight:700}.segmented{gap:6px;display:flex}.segmented button{flex:1;padding:0 6px}html[data-motion=off] .confetti{display:none}.swatches{gap:12px;display:flex}.swatch{box-shadow:none;cursor:pointer;background:0 0;border:3px solid #0000;border-radius:12px;width:52px;height:52px;padding:4px}.swatch span{border-radius:8px;width:100%;height:100%;display:block;box-shadow:inset 0 0 0 2px #00000040}.swatch-on{border-color:var(--mustard)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}
