.audio-settings{position:fixed;top:12px;right:12px;z-index:20}.audio-settings__toggle{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:#00000059;color:#fff;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px #0000004d;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.audio-settings__toggle:hover{background:#00000080}.audio-settings__panel{position:absolute;top:44px;right:0;width:200px;background:#140c04eb;border:1px solid rgba(255,255,255,.18);border-radius:10px;padding:10px 12px;box-shadow:0 8px 24px #00000073;display:flex;flex-direction:column;gap:10px;animation:audio-settings-panel-in .15s ease}@keyframes audio-settings-panel-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.audio-settings__row{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#f4ece0;font-size:13px;width:100%;min-height:44px;border:none;background:transparent;border-radius:8px;padding:4px 6px;font-family:inherit;text-align:left;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button.audio-settings__row{cursor:pointer}button.audio-settings__row:hover,button.audio-settings__row:active{background:#ffffff14}.audio-settings__row-label{white-space:nowrap}.audio-settings__row-icon{font-size:16px;line-height:1;flex:none}.audio-settings__row--volume{flex-direction:column;align-items:stretch;gap:4px;min-height:0;padding:4px 6px}.audio-settings__row--volume input[type=range]{width:100%;padding:10px 0;accent-color:#d4af64;cursor:pointer;touch-action:manipulation}.card-settings{position:fixed;top:12px;right:56px;z-index:20}.card-settings__toggle{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:#00000059;color:#fff;font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px #0000004d;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.card-settings__toggle:hover{background:#00000080}.card-settings__panel{position:absolute;top:44px;right:0;width:220px;background:#140c04eb;border:1px solid rgba(255,255,255,.18);border-radius:10px;padding:10px 12px;box-shadow:0 8px 24px #00000073;display:flex;flex-direction:column;gap:12px;animation:card-settings-panel-in .15s ease}@keyframes card-settings-panel-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.card-settings__group{display:flex;flex-direction:column;gap:6px}.card-settings__group-label{color:#cbb99a;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.card-settings__options{display:flex;gap:6px}.card-settings__option{flex:1;min-height:36px;border:1px solid rgba(255,255,255,.18);background:transparent;color:#f4ece0;border-radius:8px;font-size:12px;font-family:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.card-settings__option:hover{background:#ffffff14}.card-settings__option--active{background:#d4af64;border-color:#d4af64;color:#241505;font-weight:600}.friend-invite-toast{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:30;display:flex;align-items:center;gap:12px;background:#140c04f0;color:#f4ece0;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:8px 8px 8px 16px;box-shadow:0 8px 24px #00000073;font-size:13px;animation:friend-invite-toast-in .2s ease;max-width:calc(100vw - 24px)}@keyframes friend-invite-toast-in{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.friend-invite-toast__text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.friend-invite-toast__actions{display:flex;align-items:center;gap:6px;flex:none}.friend-invite-toast__join{background:#d4af64;color:#241505;border:none;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600;cursor:pointer;touch-action:manipulation}.friend-invite-toast__join:hover{filter:brightness(1.08)}.friend-invite-toast__dismiss{width:28px;height:28px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:transparent;color:#f4ece0;font-size:16px;line-height:1;cursor:pointer;touch-action:manipulation}.friend-invite-toast__dismiss:hover{background:#ffffff1a}.avatar{border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.avatar--photo{object-fit:cover;border:1px solid var(--color-border)}.avatar--builtin{color:#fff;font-weight:700;-webkit-user-select:none;user-select:none}.avatar-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:8px;max-width:320px}.avatar-picker__option{padding:3px;border-radius:50%;border:2px solid transparent;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;touch-action:manipulation}.avatar-picker__option--selected{border-color:var(--color-accent)}.account-bar{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:14px;padding:8px 16px;font-size:13px;flex-wrap:wrap}.account-bar__signin{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:999px;background:#fff;color:#1c1c1c;text-decoration:none;font-weight:600;box-shadow:var(--shadow-card)}.account-bar__identity{display:inline-flex;align-items:center;gap:6px;color:#f4ece0;text-decoration:none;text-shadow:0 2px 6px rgba(0,0,0,.6)}.account-bar__name{font-weight:600}.account-bar__link{color:#d8cfc4;text-shadow:0 2px 6px rgba(0,0,0,.6)}.account-bar__signout{background:none;border:1px solid rgba(255,255,255,.4);color:#d8cfc4;border-radius:999px;padding:4px 12px;cursor:pointer;touch-action:manipulation}.photo-background{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background-image:linear-gradient(#140c048c,#140c04bf),url(/images/babylon-gardens.jpg);background-size:cover;background-position:center 35%;background-repeat:no-repeat}.friends-route{position:relative;z-index:1;max-width:480px;margin:0 auto;padding:0 16px 32px}.friends-route__back{display:inline-block;margin:8px 0 16px;color:#f4ece0;text-shadow:0 2px 6px rgba(0,0,0,.6);text-decoration:none;font-size:13px}.friends-route h1{color:#f4ece0;text-shadow:0 2px 6px rgba(0,0,0,.6);margin:0 0 16px}.friends-route__status{color:#d8cfc4;text-align:center}.friends-route__add-form{display:flex;gap:8px;margin-bottom:8px}.friends-route__add-form input{flex:1;padding:8px;border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text)}.friends-route__add-form button{padding:8px 16px;border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-felt);color:#fff;cursor:pointer;touch-action:manipulation}.friends-route__add-form button:disabled{opacity:.6;cursor:not-allowed}.friends-route__error{color:var(--color-danger);background:#ffffffe6;border-radius:var(--radius);padding:6px 10px;font-size:13px}.friends-route__section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:12px 16px;margin-top:16px;box-shadow:0 4px 16px #00000059}.friends-route__section h2{margin:0 0 10px;font-size:14px}.friends-route__row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-top:1px solid var(--color-border)}.friends-route__row:first-of-type{border-top:none;padding-top:0}.friends-route__row-identity{display:flex;align-items:center;gap:8px;color:var(--color-text);text-decoration:none;min-width:0;flex:1}.friends-route__row-identity span:not([class]){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friends-route__status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.friends-route__status-dot--online{background:var(--color-connected)}.friends-route__status-dot--offline{background:var(--color-text-muted)}.friends-route__row-actions{display:flex;gap:6px;flex-shrink:0}.friends-route__row-actions button{padding:5px 10px;border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-size:12px;cursor:pointer;touch-action:manipulation}.landing{position:relative;z-index:1;max-width:480px;margin:0 auto;padding:32px 16px}.landing h1,.landing__welcome{color:#f4ece0;text-shadow:0 2px 6px rgba(0,0,0,.6)}.landing__welcome{color:#d8cfc4}.landing__name-picker{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#d8cfc4;margin-bottom:20px}.landing__name-picker input{padding:6px 8px;border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:14px}.landing__section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:16px;margin-bottom:16px;box-shadow:0 4px 16px #00000059}.landing__section h2{margin-top:0;font-size:15px}.landing__hint{margin:0 0 8px;font-size:13px;color:var(--color-text-muted)}.landing__section label{display:inline-flex;align-items:center;gap:4px;margin-right:12px;font-size:14px}.landing__target input{width:50px;margin-left:4px}.landing__section button{display:block;margin-top:10px;padding:8px 16px;border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-felt);color:#fff;cursor:pointer}.landing__join-form{display:flex;gap:8px}.landing__join-form input{flex:1;padding:6px 8px;text-transform:uppercase}.landing__error{color:var(--color-danger);font-size:13px}.landing__footer{display:flex;gap:16px;margin-top:24px;padding-bottom:8px}.landing__footer a{color:#d8cfc4;font-size:12px;text-decoration:underline;opacity:.8}.landing__footer a:hover{opacity:1}.legal-route{max-width:720px;margin:0 auto;padding:24px 20px 80px;color:var(--color-text);line-height:1.6}.legal-route__back{display:inline-block;margin-bottom:16px;color:var(--color-text-muted);text-decoration:none;font-size:14px}.legal-route__back:hover{color:var(--color-text)}.legal-route h1{margin-bottom:4px}.legal-route__updated{color:var(--color-text-muted);font-size:13px;margin-top:0;margin-bottom:32px}.legal-route h2{font-size:18px;margin-top:32px;margin-bottom:8px;border-bottom:1px solid var(--color-border);padding-bottom:6px}.legal-route p,.legal-route li{font-size:14px}.legal-route ul{padding-left:20px}.legal-route__nav{display:flex;gap:16px;margin-top:40px;padding-top:16px;border-top:1px solid var(--color-border);font-size:13px}.legal-route__nav a{color:var(--color-text-muted)}.legal-route__contact{font-size:13px;color:var(--color-text-muted)}.profile-route{position:relative;z-index:1;max-width:480px;margin:0 auto;padding:0 16px 32px}.profile-route__back{display:inline-block;margin:8px 0 16px;color:#f4ece0;text-shadow:0 2px 6px rgba(0,0,0,.6);text-decoration:none;font-size:13px}.profile-route__status{color:#d8cfc4;text-align:center}.profile-route__card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:24px 16px;text-align:center;box-shadow:0 4px 16px #00000059}.profile-route__card h1{margin:12px 0 0;font-size:20px}.profile-route__handle{margin:2px 0 0;color:var(--color-text-muted);font-size:13px}.profile-route__email{margin:2px 0 0;color:var(--color-text-muted);font-size:12px}.profile-route__bio{margin:12px 0 0;font-size:14px;white-space:pre-wrap}.profile-route__stats,.profile-route__joined{margin:6px 0 0;font-size:13px;color:var(--color-text-muted)}.profile-route__actions{display:flex;flex-direction:column;gap:8px;margin-top:18px;align-items:stretch}.profile-route__actions button{padding:8px 16px;border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-felt);color:#fff;cursor:pointer;touch-action:manipulation}.profile-route__actions button:disabled{opacity:.6;cursor:not-allowed}.profile-route__danger{background:none!important;color:var(--color-danger)!important;border-color:var(--color-danger)!important}.profile-route__error{color:var(--color-danger);font-size:13px;margin:4px 0 0}.profile-route__edit-form{text-align:left}.profile-route__field{display:flex;flex-direction:column;gap:6px;margin-top:14px;font-size:13px}.profile-route__field input,.profile-route__field textarea{padding:8px;border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-size:14px;font-family:inherit;resize:vertical}.bot-takeover-toast{position:fixed;top:56px;left:50%;transform:translate(-50%);z-index:20;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none;max-width:min(90vw,420px)}.bot-takeover-toast__item{background:#000c;color:#fff;border:1px solid var(--color-bot);border-radius:999px;padding:7px 16px;font-size:13px;box-shadow:0 2px 8px #0006;text-align:center;animation:bot-takeover-toast-in .2s ease,bot-takeover-toast-out .3s ease 3.7s}@keyframes bot-takeover-toast-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes bot-takeover-toast-out{0%{opacity:1}to{opacity:0}}.chat-bubbles{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:18;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none;max-width:min(90vw,420px)}.chat-bubble{background:#000000bf;color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:6px 14px;font-size:13px;box-shadow:0 2px 8px #0006;animation:chat-bubble-in .2s ease,chat-bubble-out .3s ease 2.7s;white-space:pre-wrap;word-break:break-word;text-align:center}.chat-bubble__author{font-weight:700;margin-right:6px}@keyframes chat-bubble-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes chat-bubble-out{0%{opacity:1}to{opacity:0}}.chat-panel{position:fixed;bottom:16px;right:16px;z-index:15;display:flex;flex-direction:column;align-items:flex-end;gap:8px}@media (max-width: 520px){.chat-panel{bottom:150px}}.chat-panel__toggle{position:relative;width:48px;height:48px;border-radius:50%;border:1px solid var(--color-border);background:var(--color-surface);font-size:20px;cursor:pointer;box-shadow:var(--shadow-card)}.chat-panel__badge{position:absolute;top:-4px;right:-4px;background:var(--color-danger);color:#fff;font-size:10px;font-weight:700;border-radius:999px;min-width:16px;height:16px;display:flex;align-items:center;justify-content:center;padding:0 3px}.chat-panel__window{width:min(300px,80vw);height:320px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-card);display:flex;flex-direction:column;overflow:hidden}.chat-panel__messages{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:6px}.chat-panel__empty{color:var(--color-text-muted);font-size:12px;text-align:center;margin-top:16px}.chat-panel__message{font-size:13px;line-height:1.3}.chat-panel__author{font-weight:700;margin-right:6px}.chat-panel__message--own .chat-panel__author{color:var(--color-felt)}.chat-panel__form{display:flex;gap:6px;padding:8px;border-top:1px solid var(--color-border)}.chat-panel__form input{flex:1;min-width:0;padding:6px 8px;border-radius:4px;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text)}.chat-panel__form button{padding:6px 12px;border-radius:4px;border:1px solid var(--color-border);background:var(--color-felt);color:#fff;cursor:pointer}.error-toast{position:fixed;top:16px;left:50%;transform:translate(-50%);background:var(--color-danger);color:#fff;padding:10px 18px;border-radius:999px;font-size:13px;z-index:30;box-shadow:var(--shadow-card)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000073;z-index:20;pointer-events:none}.overlay__card{background:var(--color-surface);color:var(--color-text);border-radius:var(--radius);padding:24px 32px;text-align:center;box-shadow:var(--shadow-card);pointer-events:auto}.overlay__card h3{margin:0 0 8px}.overlay__muted{color:var(--color-text-muted);font-size:13px}.overlay__actions{margin-top:16px;display:flex;gap:8px;justify-content:center}.hokm-picker{position:fixed;bottom:140px;left:50%;transform:translate(-50%);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:12px 16px;box-shadow:var(--shadow-card);text-align:center;z-index:10}.hokm-picker__prompt{margin:0 0 8px;font-size:14px}.hokm-picker__suits{display:flex;gap:8px;justify-content:center}.hokm-picker__suit{width:44px;height:44px;font-size:22px;border-radius:50%;border:1px solid var(--color-border);background:var(--color-card-face);color:var(--color-suit-black);cursor:pointer}.hokm-picker__suit--red{color:var(--color-suit-red)}.hokm-picker__suit:hover{background:var(--color-bg)}.card{--card-w: 72px;--card-h: 100px;width:var(--card-w);height:var(--card-h);border-radius:10px;box-shadow:0 2px 4px #0003,0 6px 14px #0000002e;display:inline-flex;position:relative;padding:0;border:1px solid rgba(0,0,0,.15);flex:none;transition:transform .15s ease,box-shadow .15s ease}.card--sm{--card-w: 58px;--card-h: 81px}.card--md{--card-w: 72px;--card-h: 100px}.card--lg{--card-w: 92px;--card-h: 128px}.card--face{cursor:pointer;align-items:center;justify-content:center;overflow:hidden;background:var(--color-card-face)}.card__face-img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;-webkit-user-drag:none}.card--face:not(.card--disabled):hover{transform:translateY(-8px);z-index:5;box-shadow:0 4px 8px #00000040,0 10px 20px #00000038}.card--disabled{opacity:.4;cursor:not-allowed;filter:saturate(.6)}.card--selected{outline:3px solid var(--color-accent-2);outline-offset:1px;transform:translateY(-10px);z-index:4}.card--back{overflow:hidden}.card--back svg{display:block}.hand{padding:56px 12px 20px;overflow-x:auto;overflow-y:visible}.hand__fan{display:flex;align-items:flex-end;width:max-content;margin:0 auto}.hand__card-slot{display:inline-flex;flex:none;transform-origin:bottom center;transition:transform .15s ease}.hand__card-slot--legal{z-index:2}.hand__card-slot--legal .card--face{box-shadow:0 0 0 2px #f4ece0,0 6px 14px #00000059}.hand__card-slot--selected{z-index:3}.invite-friends-panel{margin-top:16px;padding:12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;width:100%;max-width:320px}.invite-friends-panel__title{margin:0 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted, var(--color-text))}.invite-friends-panel__empty{margin:0;font-size:13px;color:var(--color-text-muted, var(--color-text))}.invite-friends-panel__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.invite-friends-panel__row{display:flex;align-items:center;justify-content:space-between;gap:8px}.invite-friends-panel__name{font-size:13px}.invite-friends-panel__button{border:1px solid var(--color-border);background:var(--color-surface);border-radius:999px;padding:4px 12px;font-size:12px;cursor:pointer}.invite-friends-panel__button:disabled{opacity:.6;cursor:default}.lobby{max-width:480px;margin:0 auto;padding:56px 16px 32px;color:#f4ece0}.lobby__header{text-align:center;margin-bottom:16px}.lobby__header h2{margin:0 0 4px}.lobby__hint{margin:0;color:#d8cfc4;font-size:13px}.lobby__code-panel{display:flex;align-items:center;justify-content:center;gap:10px;background:#00000059;border-radius:var(--radius);padding:12px;margin-bottom:16px}.lobby__code-label{font-size:12px;color:#d8cfc4;text-transform:uppercase;letter-spacing:.04em}.lobby__code{font-size:22px;font-weight:700;letter-spacing:.08em;font-variant-numeric:tabular-nums}.lobby__copy-btn{padding:4px 10px;border-radius:var(--radius);border:1px solid rgba(255,255,255,.3);background:transparent;color:inherit;cursor:pointer;font-size:12px}.lobby__copy-btn:hover{background:#ffffff1a}.lobby__seat-count{text-align:center;margin:0 0 4px;font-weight:700}.lobby__host-hint{text-align:center;font-size:12px;color:#d8cfc4;margin:0 0 16px}.lobby__teams{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.lobby__team{display:flex;flex-direction:column;gap:8px}.lobby__team-label{text-align:center;margin:0 0 4px;font-size:13px;text-transform:uppercase;letter-spacing:.04em}.lobby__team-label--A{color:var(--color-team-a)}.lobby__team-label--B{color:var(--color-team-b)}.lobby-seat{position:relative;display:flex;align-items:center;gap:8px;min-height:52px;padding:10px 14px;border-radius:var(--radius);border:1.5px solid transparent;background:#00000059;color:inherit;font:inherit;cursor:default;text-align:left}.lobby-seat--team-A{border-color:color-mix(in srgb,var(--color-team-a) 55%,transparent)}.lobby-seat--team-B{border-color:color-mix(in srgb,var(--color-team-b) 55%,transparent)}.lobby-seat--empty{border-style:dashed;opacity:.75}.lobby-seat--interactive{cursor:pointer}.lobby-seat--interactive:hover{background:#00000080}.lobby-seat--selected{outline:2px solid #f4ece0;outline-offset:1px}.lobby-seat__empty-label{color:#d8cfc4;font-size:13px}.lobby-seat__status-dot{width:8px;height:8px;border-radius:50%;flex:none}.lobby-seat__status-dot--connected{background:var(--color-connected)}.lobby-seat__status-dot--bot_controlled{background:var(--color-bot)}.lobby-seat__name{flex:1;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lobby-seat__bot-tag{font-size:10px;font-weight:700;text-transform:uppercase;background:var(--color-bot);color:#fff;border-radius:4px;padding:2px 5px}.lobby-seat__remove{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;background:var(--color-danger);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;line-height:1;cursor:pointer}.lobby-seat__remove:hover{filter:brightness(1.15)}.lobby__host-controls{display:flex;flex-direction:column;gap:10px}.lobby__add-bot-btn{padding:10px;border-radius:var(--radius);border:1.5px dashed rgba(255,255,255,.5);background:transparent;color:inherit;cursor:pointer;font-size:14px}.lobby__add-bot-btn:hover:not(:disabled){background:#ffffff14}.lobby__add-bot-btn:disabled{opacity:.4;cursor:not-allowed}.lobby__start-btn{padding:12px;border-radius:var(--radius);border:none;background:var(--color-accent);color:#fff;font-size:16px;font-weight:700;cursor:pointer}.lobby__start-btn:hover:not(:disabled){filter:brightness(1.1)}.lobby__start-btn:disabled{background:#ffffff26;color:#d8cfc4;cursor:not-allowed}.lobby__waiting-for-host{text-align:center;color:#d8cfc4}.reconnect-banner{background:var(--color-bot);color:#fff;text-align:center;padding:8px;font-size:13px}.reconnect-banner--expired{background:var(--color-danger)}.score-bar{display:flex;align-items:center;justify-content:center;gap:24px;padding:10px;margin-top:44px;font-size:14px;color:#f4ece0}.score-bar__team{display:flex;flex-direction:column;align-items:center;gap:4px}.score-bar__label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.score-bar__label--A{color:var(--color-team-a)}.score-bar__label--B{color:var(--color-team-b)}.score-bar__rounds{font-size:22px;font-weight:700}.score-bar__center{min-width:120px;text-align:center}.score-bar__target{font-size:12px;color:#d8cfc4}.score-bar__hokm{font-size:14px;font-weight:700;color:var(--color-suit-black);background:var(--color-card-face);border:1px solid var(--color-border);border-radius:999px;padding:4px 12px}.score-bar__hokm--red{color:var(--color-suit-red)}.score-bar__pips{display:flex;gap:3px}.score-bar__pip{width:10px;height:10px;border-radius:50%;border:1px solid rgba(244,236,224,.5);background:transparent}.score-bar__pip--filled.score-bar__pip--A{background:var(--color-team-a);border-color:var(--color-team-a)}.score-bar__pip--filled.score-bar__pip--B{background:var(--color-team-b);border-color:var(--color-team-b)}.hakem-intro-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;background:#080502f0;display:flex;flex-direction:column;align-items:center;justify-content:center;animation:hakemBackdropIn .3s ease}@keyframes hakemBackdropIn{0%{opacity:0}to{opacity:1}}.hakem-deal__ghosts{position:relative;width:100%;height:100%}.hakem-deal__ghost{position:absolute;top:50%;left:50%;margin:-50px 0 0 -36px;opacity:0;animation-duration:.42s;animation-timing-function:cubic-bezier(.22,1,.36,1);animation-fill-mode:forwards}.hakem-deal__ghost--ace{z-index:2}.hakem-deal__ghost--ace .card--face{animation:hakemAceGlow 1.1s ease .42s both}@keyframes hakemAceGlow{0%{box-shadow:none}to{box-shadow:0 0 0 3px #e0b34d,0 0 22px 6px #e0b34dbf}}.hakem-deal__ghost--bottom{animation-name:hakemDealGhostBottom}.hakem-deal__ghost--top{animation-name:hakemDealGhostTop}.hakem-deal__ghost--left{animation-name:hakemDealGhostLeft}.hakem-deal__ghost--right{animation-name:hakemDealGhostRight}@keyframes hakemDealGhostBottom{0%{transform:translate(0) scale(.5);opacity:0}60%{opacity:1}to{transform:translateY(160px) scale(.9);opacity:1}}@keyframes hakemDealGhostTop{0%{transform:translate(0) scale(.5);opacity:0}60%{opacity:1}to{transform:translateY(-160px) scale(.9);opacity:1}}@keyframes hakemDealGhostLeft{0%{transform:translate(0) scale(.5);opacity:0}60%{opacity:1}to{transform:translate(-160px) scale(.9);opacity:1}}@keyframes hakemDealGhostRight{0%{transform:translate(0) scale(.5);opacity:0}60%{opacity:1}to{transform:translate(160px) scale(.9);opacity:1}}.hakem-banner{position:fixed;top:38%;left:50%;transform:translate(-50%,-50%);z-index:19;background:#140c04d1;color:#f4ece0;border:1px solid rgba(212,175,100,.6);border-radius:999px;padding:10px 22px;font-size:16px;font-weight:700;text-align:center;box-shadow:0 6px 20px #00000073;pointer-events:none;animation:hakemBannerIn .25s ease}.hakem-banner--intro{position:static;transform:none;margin-top:28px;font-size:22px;padding:14px 32px;animation:hakemBannerIntroIn .35s ease}.hakem-banner--out{animation:hakemBannerOut .3s ease forwards}@keyframes hakemBannerIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes hakemBannerIntroIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes hakemBannerOut{0%{opacity:1}to{opacity:0}}.seat{display:flex;flex-direction:column;align-items:center;gap:4px;color:#fff}.seat__info{display:flex;align-items:center;gap:6px;background:#00000059;padding:4px 10px 4px 4px;border-radius:999px;font-size:13px;border:1.5px solid transparent}.seat__info--team-A{border-color:var(--color-team-a)}.seat__info--team-B{border-color:var(--color-team-b)}.seat__team-badge{width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;flex:none}.seat__team-badge--A{background:var(--color-team-a)}.seat__team-badge--B{background:var(--color-team-b)}.seat__status-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.seat__status-dot--connected{background:var(--color-connected)}.seat__status-dot--bot_controlled{background:var(--color-bot)}.seat__status-dot--empty{background:#888}.seat__hakem-badge{background:var(--color-accent);color:#fff;border-radius:4px;padding:1px 6px;font-size:11px;font-weight:700}.seat__info--current-turn{border-color:#f4c95d;animation:seat-turn-pulse 1.4s ease-in-out infinite}@keyframes seat-turn-pulse{0%,to{box-shadow:0 0 #f4c95d8c}50%{box-shadow:0 0 0 6px #f4c95d00}}.seat__turn-badge{color:#f4c95d;font-size:11px;line-height:1;animation:seat-turn-arrow 1.4s ease-in-out infinite}@keyframes seat-turn-arrow{0%,to{opacity:.5}50%{opacity:1}}.seat__turn-timer{color:#f4c95d;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1}.seat__turn-timer--low{color:var(--color-danger);animation:seat-turn-timer-urgent .6s ease-in-out infinite}@keyframes seat-turn-timer-urgent{0%,to{opacity:.6}50%{opacity:1}}.seat__add-bot{display:flex;align-items:center;gap:6px;background:#00000059;color:#fff;border:1.5px dashed rgba(255,255,255,.55);border-radius:999px;padding:4px 12px 4px 4px;font-size:13px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.seat__add-bot:hover{background:#00000080;border-color:var(--color-accent)}.seat__add-bot-icon{width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;line-height:1;border:1.5px solid rgba(255,255,255,.55);flex:none}.trick-area{position:relative;width:300px;height:300px;display:flex;align-items:center;justify-content:center}.trick-area__plays{position:relative;width:100%;height:100%}.trick__card{position:absolute;top:50%;left:50%;margin:-50px 0 0 -36px}.trick__card--resting{transform:translate(var(--rest-x),var(--rest-y));opacity:1}@keyframes trickCardEnterBottom{0%{transform:translateY(220px) scale(.85);opacity:0}to{transform:translateY(64px) scale(1);opacity:1}}@keyframes trickCardEnterTop{0%{transform:translateY(-220px) scale(.85);opacity:0}to{transform:translateY(-64px) scale(1);opacity:1}}@keyframes trickCardEnterLeft{0%{transform:translate(-220px) scale(.85);opacity:0}to{transform:translate(-64px) scale(1);opacity:1}}@keyframes trickCardEnterRight{0%{transform:translate(220px) scale(.85);opacity:0}to{transform:translate(64px) scale(1);opacity:1}}.trick__card--entering.trick__card--from-bottom{animation:trickCardEnterBottom .5s cubic-bezier(.22,1,.36,1) forwards}.trick__card--entering.trick__card--from-top{animation:trickCardEnterTop .5s cubic-bezier(.22,1,.36,1) forwards}.trick__card--entering.trick__card--from-left{animation:trickCardEnterLeft .5s cubic-bezier(.22,1,.36,1) forwards}.trick__card--entering.trick__card--from-right{animation:trickCardEnterRight .5s cubic-bezier(.22,1,.36,1) forwards}@keyframes trickCardCollect{0%{transform:translate(var(--rest-x),var(--rest-y)) scale(1);opacity:1}to{transform:translate(var(--collect-x),var(--collect-y)) scale(.65);opacity:0}}.trick__card--collecting{animation:trickCardCollect .6s cubic-bezier(.4,0,.6,1) forwards}.table{position:relative;flex:1;min-height:140px}.table__felt{position:absolute;top:0;right:0;bottom:0;left:0}.table__center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.table__seat-slot{position:absolute}.table__seat-slot--bottom{bottom:8px;left:50%;transform:translate(-50%)}.table__seat-slot--top{top:8px;left:50%;transform:translate(-50%)}.table__seat-slot--left{left:8px;top:calc(50% - 84px);transform:translateY(-50%)}.table__seat-slot--right{right:8px;top:calc(50% - 84px);transform:translateY(-50%)}.waiting-for-players{display:flex;flex-direction:column;align-items:center;gap:10px}.waiting-for-players__start-btn{padding:10px 20px;border-radius:var(--radius);border:none;background:var(--color-accent);color:#fff;font-size:15px;font-weight:700;cursor:pointer}.waiting-for-players__start-btn:hover{filter:brightness(1.1)}.waiting-for-players__hint{text-align:center;color:#d8cfc4;font-size:13px;margin:0;padding:0 24px}.table-route{height:100vh;height:100dvh;overflow:hidden;display:flex;flex-direction:column;background:radial-gradient(ellipse at 50% 40%,var(--color-felt) 0%,var(--color-felt-dark) 100%)}.table-route--lobby{background-image:linear-gradient(#140c048c,#140c04bf),url(/images/babylon-gardens.jpg);background-size:cover;background-position:center 35%;background-repeat:no-repeat}.table-route__waiting{text-align:center;color:#e6ddd0;padding:24px}.table-route__code-banner{text-align:center;padding:8px;background:var(--color-surface);border-bottom:1px solid var(--color-border);font-size:13px}.table-route__leave{position:fixed;top:12px;left:12px;z-index:15;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:999px;padding:6px 14px;font-size:13px;cursor:pointer;box-shadow:var(--shadow-card)}.table-route__leave:hover{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.table-route__spectating-badge{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:15;background:var(--color-surface);color:var(--color-text-muted, var(--color-text));border:1px solid var(--color-border);border-radius:999px;padding:4px 12px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;box-shadow:var(--shadow-card);margin:0}:root{--color-bg: #f4f1ea;--color-surface: #ffffff;--color-text: #1c1c1c;--color-text-muted: #6b6b6b;--color-border: #d8d3c6;--color-felt: #1f6f4a;--color-felt-dark: #145236;--color-accent: #c0392b;--color-accent-2: #2c3e50;--color-card-face: #fdfdfb;--color-card-back: #2c3e50;--color-suit-red: #c0392b;--color-suit-black: #1c1c1c;--color-success: #1f6f4a;--color-danger: #c0392b;--color-connected: #2ecc71;--color-bot: #e67e22;--color-team-a: #3b7dd8;--color-team-b: #c0392b;--shadow-card: 0 1px 3px rgba(0, 0, 0, .25);--radius: 8px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}@media (prefers-color-scheme: dark){:root{--color-bg: #14181a;--color-surface: #1e2427;--color-text: #ececec;--color-text-muted: #9aa0a3;--color-border: #333a3d;--color-felt: #14532d;--color-felt-dark: #0b3a1f;--color-card-face: #f4f1ea;--color-card-back: #10151a;--shadow-card: 0 1px 4px rgba(0, 0, 0, .6)}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans)}button{font-family:inherit}
