:root{--bg: #1a1c2c;--bg-2: #262b44;--panel: #3a4466;--panel-2: #5a6988;--line: #8b9bb4;--text: #f4f4f4;--muted: #c0cbdc;--felt: #265c42;--felt-2: #3e8948;--felt-edge: #193c3e;--wood: #733e39;--wood-2: #b86f50;--gold: #feae34;--gold-2: #fee761;--red: #e43b44;--red-2: #ff0044;--blue: #0095e9;--green: #63c74d;--black: #181425;--white: #ffffff;--card-w: 42px;--card-h: 60px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0;background:var(--bg);color:var(--text);font-family:Pixelify Sans,Segoe UI,system-ui,sans-serif;font-size:16px;overscroll-behavior:none;user-select:none;-webkit-user-select:none}button,input{font:inherit}.pixel-title{font-family:"Press Start 2P",monospace;font-size:14px;letter-spacing:1px;text-transform:uppercase}.btn{border:3px solid var(--black);background:var(--panel-2);color:var(--text);padding:10px 14px;box-shadow:inset -3px -3px #00000059,inset 3px 3px #ffffff26,0 3px 0 var(--black);cursor:pointer;font-weight:600;min-height:44px}.btn:active{transform:translateY(2px);box-shadow:inset -3px -3px #00000059,inset 3px 3px #ffffff26,0 1px 0 var(--black)}.btn:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--gold);color:var(--black)}.btn-danger{background:var(--red)}.btn-ok{background:var(--green);color:var(--black)}.btn-ghost{background:var(--panel)}.input{border:3px solid var(--black);background:var(--bg-2);color:var(--text);padding:10px 12px;min-height:44px;width:100%;outline:none}.input:focus{border-color:var(--gold)}.panel{background:var(--panel);border:3px solid var(--black);box-shadow:0 4px 0 var(--black);padding:14px}.muted{color:var(--muted)}.error{color:var(--gold-2);background:var(--red);border:3px solid var(--black);padding:8px 10px}.lobby{min-height:100%;display:flex;flex-direction:column;gap:16px;padding:calc(16px + var(--safe-top)) 16px calc(16px + var(--safe-bottom));max-width:420px;margin:0 auto}.lobby h1{margin:8px 0 0;color:var(--gold);text-align:center;font-size:18px}.lobby .row{display:flex;gap:8px}.lobby .row .input{flex:1}.lobby .lang-switch{display:flex;justify-content:flex-end;gap:4px}.lobby .lang-switch .btn{min-height:28px;padding:2px 10px;font-size:12px;opacity:.6}.lobby .lang-switch .btn.active{opacity:1;color:var(--gold);border-color:var(--gold)}.table-screen{height:100%;display:grid;grid-template-rows:auto 1fr auto;padding-top:var(--safe-top);padding-bottom:var(--safe-bottom)}.topbar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-2);border-bottom:3px solid var(--black);font-size:14px}.ton-panel{display:flex;flex-direction:column;gap:6px;padding:8px 10px;background:var(--panel);border:3px solid var(--black);font-size:13px}.ton-row{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.ton-buttons{display:flex;gap:6px}.ton-buttons .btn{min-height:36px;padding:6px 10px;font-size:13px}.topbar .bots{display:flex;gap:4px}.topbar .bots .btn,.topbar>.btn{min-height:32px;padding:4px 8px}.topbar .code{color:var(--gold);font-family:"Press Start 2P",monospace;font-size:11px}.topbar .codebtn{background:none;border:0;padding:4px 6px;margin-left:-6px;color:inherit;cursor:pointer;border-bottom:2px dotted var(--line)}.topbar .codebtn:active{opacity:.7}.felt{position:relative;margin:10px;border-radius:48%/36%;background:radial-gradient(ellipse at 50% 40%,var(--felt-2) 0%,var(--felt) 55%,var(--felt-edge) 100%);border:8px solid var(--wood);outline:4px solid var(--wood-2);outline-offset:-12px;box-shadow:0 0 0 4px var(--black),inset 0 0 40px #00000073;min-height:0}.seat{position:absolute;width:92px;transform:translate(-50%,-50%);text-align:center;font-size:12px}.seat .avatar{width:48px;height:48px;margin:0 auto;border:3px solid var(--black);background:var(--panel-2);display:grid;place-items:center;font-family:"Press Start 2P",monospace;font-size:14px;color:var(--black);image-rendering:pixelated;position:relative}.seat.to-act .avatar{border-color:var(--gold-2);box-shadow:0 0 0 3px var(--gold);animation:pulse 1s steps(2) infinite}@keyframes pulse{50%{box-shadow:0 0 0 5px var(--gold-2)}}.seat.folded{opacity:.5}.seat.sitout{opacity:.55}.seat.disconnected .avatar{filter:grayscale(1)}.seat.winner .avatar{border-color:var(--gold-2);animation:winner .5s steps(2) 4}@keyframes winner{50%{box-shadow:0 0 0 6px var(--gold-2);transform:scale(1.08)}}.seat .tag.out{inset:auto auto -6px -8px;background:var(--red);color:var(--white);font-size:6px}.seat .name{margin-top:3px;background:var(--black);color:var(--text);padding:2px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.seat .stack{background:var(--black);color:var(--gold-2);padding:1px 4px;font-weight:600}.felt .bet{position:absolute;transform:translate(-50%,-50%);z-index:2;font-size:12px;color:var(--white);background:#0000008c;padding:2px 6px;border:2px solid var(--black);white-space:nowrap}.seat .cards{position:absolute;top:-14px;left:50%;transform:translate(-50%) scale(.55);transform-origin:top center;display:flex;gap:4px}.seat .tag{position:absolute;top:-6px;right:6px;background:var(--white);color:var(--black);border:2px solid var(--black);font-family:"Press Start 2P",monospace;font-size:8px;padding:2px 3px}.seat .timer{position:absolute;left:0;right:0;bottom:-12px;height:10px;background:var(--black);border:2px solid var(--black)}.seat .timer>div{height:100%;background:var(--gold);transition:width .2s linear}.seat .timer>span{position:absolute;right:-4px;top:-16px;background:var(--black);color:var(--gold-2);font-size:11px;padding:0 4px;font-family:"Press Start 2P",monospace;font-size:8px;line-height:14px}.seat .timer.urgent>div{background:var(--red)}.seat .timer.urgent>span{color:var(--red-2);animation:blink .4s steps(2) infinite}@keyframes blink{50%{opacity:.2}}.reaction{position:absolute;transform:translate(-50%,-50%);font-size:28px;z-index:4;pointer-events:none;animation:react 2.5s ease-out forwards}.reaction.phrase{font-size:13px;background:var(--white);color:var(--black);border:2px solid var(--black);padding:2px 8px;white-space:nowrap}@keyframes react{0%{opacity:0;transform:translate(-50%,-30%) scale(.6)}15%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-90%) scale(1)}}.actions .reactions{display:flex;gap:4px;overflow-x:auto;padding-bottom:2px}.actions .reactions .btn{min-height:30px;padding:2px 8px;font-size:14px;flex:none}.rabbit-card{opacity:.55;filter:grayscale(.4)}.flight{position:absolute;left:var(--x0);top:var(--y0);transform:translate(-50%,-50%);background:var(--gold);color:var(--black);border:2px solid var(--black);padding:2px 6px;font-size:12px;font-weight:700;pointer-events:none;z-index:3;animation:fly .7s cubic-bezier(.3,.8,.4,1) forwards}@keyframes fly{0%{left:var(--x0);top:var(--y0);opacity:0}15%{opacity:1}85%{opacity:1}to{left:var(--x1);top:var(--y1);opacity:0}}.seat.empty button{width:52px;height:52px;border:3px dashed var(--line);background:#00000040;color:var(--muted);cursor:pointer}.center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;width:100%}.board{display:flex;justify-content:center;gap:6px;min-height:var(--card-h)}.pot{margin-top:8px;display:inline-block;background:var(--black);color:var(--gold-2);padding:4px 10px;border:2px solid var(--gold);font-weight:600}.pot small{color:var(--muted);font-weight:400}.banner{margin-top:8px;display:inline-block;background:var(--panel);border:3px solid var(--black);padding:6px 10px;font-size:13px;max-width:90%}.banner.win{background:var(--gold);color:var(--black)}.banner.tourney{display:inline-flex;flex-direction:column;gap:6px;align-items:center}.banner.tourney .btn{min-height:36px;padding:6px 12px}.profile{display:flex;flex-direction:column;gap:4px;font-size:13px;background:var(--bg-2);border:2px solid var(--black);padding:8px;margin-bottom:8px}.profile-line{color:var(--gold-2)}.lb-table{width:100%;border-collapse:collapse;font-size:13px}.lb-table th,.lb-table td{padding:4px 6px;text-align:right;border-bottom:2px solid var(--bg-2)}.lb-table th:first-child,.lb-table td:first-child{text-align:left}.lb-table th{color:var(--muted);font-weight:400}.tabs{display:flex;gap:6px}.tabs .btn{flex:1;min-height:34px;padding:4px;font-size:13px}.tabs .btn.active{color:var(--gold);border-color:var(--gold)}.banner.coach{margin-top:6px;text-align:left;font-size:12px;background:var(--bg-2)}.banner.coach.good{color:var(--green);text-align:center}.topbar .bots .btn.active{border-color:var(--gold);box-shadow:inset -3px -3px #00000059,inset 3px 3px #ffffff26,0 3px 0 var(--black),0 0 0 2px var(--gold)}.card{width:var(--card-w);height:var(--card-h);border:3px solid var(--black);background:var(--white);color:var(--black);position:relative;box-shadow:2px 2px 0 var(--black);font-family:"Press Start 2P",monospace;flex:none}.card .corner{position:absolute;display:flex;flex-direction:column;align-items:center;gap:1px;line-height:1}.card .corner.tl{top:3px;left:3px}.card .corner.br{bottom:3px;right:3px;transform:rotate(180deg)}.card .corner .rank{font-size:10px}.card .corner .suit{font-size:11px;font-family:system-ui,sans-serif}.card .pip{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1;font-family:system-ui,sans-serif}.card.red{color:var(--red)}.card.back{background:repeating-linear-gradient(45deg,var(--blue) 0 4px,transparent 4px 8px),repeating-linear-gradient(-45deg,var(--blue) 0 4px,var(--bg-2) 4px 8px)}.card.hi{outline:3px solid var(--gold-2)}.card.deal{animation:deal .35s cubic-bezier(.2,.9,.3,1) both;animation-delay:calc(var(--i, 0) * .12s)}@keyframes deal{0%{opacity:0;transform:translateY(-40px) rotate(-12deg) scale(.6)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.card.deal,.flight,.seat.winner .avatar{animation:none}}.actions{padding:10px 12px;background:var(--bg-2);border-top:3px solid var(--black);display:flex;flex-direction:column;gap:8px}.actions .hole{display:flex;gap:8px;justify-content:center}.actions .buttons{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.actions .raise{display:flex;gap:8px;align-items:center}.actions .raise input[type=range]{flex:1;accent-color:var(--gold)}.actions .presets{display:flex;gap:6px}.actions .presets .btn{flex:1;padding:6px;min-height:36px;font-size:13px}.actions .waiting{text-align:center;color:var(--muted);padding:8px}.actions .waiting .link{color:var(--gold);cursor:pointer}.overlay{position:fixed;inset:0;background:#000000b3;display:grid;place-items:center;padding:16px;z-index:15}.overlay .panel{width:100%;max-width:340px;display:flex;flex-direction:column;gap:12px;text-align:center}.spinner{width:24px;height:24px;margin:0 auto;border:4px solid var(--line);border-top-color:var(--gold);animation:spin .8s steps(8) infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal-bg{position:fixed;inset:0;background:#0009;display:grid;place-items:center;padding:16px;z-index:10}.modal{width:100%;max-width:360px;display:flex;flex-direction:column;gap:10px}.trainer{height:100%;display:grid;grid-template-rows:auto 1fr;padding-top:var(--safe-top);padding-bottom:var(--safe-bottom)}.trainer-body{overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:10px;max-width:480px;width:100%;margin:0 auto}.spot{display:flex;flex-direction:column;gap:4px;font-size:15px}.spot .hole,.spot .board{display:flex;justify-content:center;gap:8px}.topics{display:flex;flex-direction:column;gap:8px}.topic{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:10px 12px}.topic-title{font-weight:700}.topic-hint{font-size:12px;font-weight:400}.topic-stats{font-size:12px;color:var(--gold-2);font-weight:400}.quiz-hands{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:8px}.trainer-actions{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:8px}.verdict{display:flex;flex-direction:column;gap:6px;font-size:14px;border-left:8px solid var(--line)}.verdict.best{border-left-color:var(--green)}.verdict.ok{border-left-color:var(--gold)}.verdict.mistake{border-left-color:var(--red)}.verdict-line{color:var(--muted)}.modal.history{max-height:85vh}.history-list{overflow-y:auto;display:flex;flex-direction:column;gap:8px;min-height:60px}.hand-row{background:var(--bg-2);border:2px solid var(--black);padding:6px 8px;font-size:13px;display:flex;flex-direction:column;gap:4px}.hand-head{display:flex;justify-content:space-between}.hand-line{display:flex;align-items:center;gap:8px}.hand-line .who{min-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hand-line.win{color:var(--gold-2)}.mini-cards{display:flex;gap:3px;--card-w: 24px;--card-h: 34px}.mini-cards .card{border-width:2px;box-shadow:1px 1px 0 var(--black)}.mini-cards .card .corner .rank{font-size:7px}.mini-cards .card .corner .suit{font-size:8px}.mini-cards .card .pip{font-size:13px}.mini-cards .card .corner.br{display:none}.net-up{color:var(--green)}.net-down{color:var(--red-2)}.review{border-top:2px dashed var(--panel-2);padding-top:4px;display:flex;flex-direction:column;gap:3px;font-size:12px}.decision{display:flex;gap:6px;align-items:flex-start}.decision .grade{font-family:"Press Start 2P",monospace;font-size:10px;min-width:14px;padding-top:2px}.decision.best .grade{color:var(--green)}.decision.ok .grade{color:var(--gold)}.decision.mistake .grade{color:var(--red-2)}.decision .better{color:var(--gold-2)}.ton-status{font-size:12px;color:var(--gold-2)}.ton-status.slow{color:var(--red-2)}.ton-links{display:flex;gap:12px;font-size:12px}.ton-links a{color:var(--blue)}.payout-list{display:flex;flex-direction:column;gap:4px;font-size:14px}.payout-list div{display:flex;justify-content:space-between}.toast{position:fixed;left:50%;top:calc(12px + var(--safe-top));transform:translate(-50%);z-index:20}
