@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--bg: #0c0e13;--surface: #151820;--surface-2: #1d2130;--border: rgba(255, 255, 255, .07);--border-active: rgba(255, 255, 255, .14);--accent: #f59e0b;--accent-dim: rgba(245, 158, 11, .1);--primary: #2563eb;--primary-hover: #1d4ed8;--green: #10b981;--red: #ef4444;--text: #e8eaf0;--text-2: rgba(232, 234, 240, .55);--text-3: rgba(232, 234, 240, .28);--r-sm: 6px;--r: 8px;--r-lg: 14px}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.5;background:var(--bg);color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased}#root{min-height:100vh;display:flex;flex-direction:column}.app{display:flex;flex-direction:column;min-height:100vh}.app-header{padding:14px 20px 10px;flex-shrink:0;text-align:center;border-bottom:1px solid var(--border)}.app-header h1{margin:0;font-size:18px;font-weight:700;letter-spacing:.1em;color:var(--accent)}.app-main{flex:1;display:flex;flex-direction:column}.leaderboard-page{width:min(560px,92vw);margin:32px auto 40px}.leaderboard-title{margin:0 0 20px;font-size:20px;font-weight:700;color:var(--text)}.leaderboard-tabs{display:flex;gap:2px;margin-bottom:16px;background:var(--surface);border:1px solid var(--border-active);border-radius:var(--r-sm);padding:3px;width:fit-content}.leaderboard-tab{padding:7px 18px;font-size:13px;font-weight:500;font-family:inherit;border:none;border-radius:4px;cursor:pointer;background:transparent;color:var(--text-2);transition:background .15s,color .15s}.leaderboard-tab:hover{color:var(--text)}.leaderboard-tab--active{background:var(--surface-2);color:var(--text);font-weight:600}.leaderboard-home-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin-right:4px;border-radius:4px;color:#fff6;transition:background .15s,color .15s}.leaderboard-home-btn:hover{background:#ffffff14;color:#ffffffb3}.leaderboard-table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border-active);border-radius:var(--r);overflow:hidden;font-size:13px}.leaderboard-table thead tr{border-bottom:1px solid var(--border-active)}.leaderboard-table th{padding:10px 12px;text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-3)}.leaderboard-table td{padding:10px 12px;border-bottom:1px solid var(--border);color:var(--text-2)}.leaderboard-table tr:last-child td{border-bottom:none}.leaderboard-table tr:hover td{background:#ffffff05}.leaderboard-row--me td{background:var(--accent-dim);color:var(--text)}.leaderboard-row--me:hover td{background:var(--accent-dim)}.leaderboard-rank{font-variant-numeric:tabular-nums;color:var(--text-3);font-size:13px;width:36px}.leaderboard-name{font-weight:500;color:var(--text)}.leaderboard-score{font-weight:700;font-variant-numeric:tabular-nums;text-align:right}.leaderboard-score.pos{color:var(--green)}.leaderboard-score.neg{color:var(--red)}.leaderboard-stat{text-align:right;color:var(--text-3);font-variant-numeric:tabular-nums}.leaderboard-me-badge{margin-left:6px;padding:1px 6px;font-size:10px;font-weight:600;background:var(--accent-dim);color:var(--accent);border-radius:10px;border:1px solid rgba(245,158,11,.3);vertical-align:middle}.leaderboard-loading{padding:40px;text-align:center;color:var(--text-3);font-size:14px}.leaderboard-soon{padding:48px 24px;text-align:center;color:var(--text-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--r)}.leaderboard-soon-icon{font-size:36px;display:block;margin-bottom:12px}.leaderboard-soon p{margin:0 0 4px;font-size:16px;font-weight:600;color:var(--text)}.leaderboard-soon-sub{font-size:13px;color:var(--text-3)!important;font-weight:400!important}.leaderboard-link{display:block;margin-top:12px;font-size:13px;color:var(--text-2);text-decoration:none;text-align:center}.leaderboard-link:hover{color:var(--accent)}.htp-page{width:min(640px,92vw);margin:32px auto 56px}.htp-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.htp-title{margin:0;font-size:20px;font-weight:700;color:var(--text)}.htp-intro{margin:0 0 28px;font-size:14px;color:var(--text-2);line-height:1.65}.htp-section{margin-bottom:28px;border:1px solid var(--border);border-radius:var(--r);overflow:hidden}.htp-section-title{margin:0;padding:12px 16px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-3);background:var(--surface);border-bottom:1px solid var(--border)}.htp-section-body{padding:16px;background:var(--surface-2);display:flex;flex-direction:column;gap:12px}.htp-section-body p,.htp-section-body ul{margin:0;font-size:13px;color:var(--text-2);line-height:1.65}.htp-sub{margin:4px 0 0;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3)}.htp-list{padding-left:20px;display:flex;flex-direction:column;gap:5px}.htp-table-label{font-size:11px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;margin:0 0 6px!important}.htp-two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.htp-table{width:100%;border-collapse:collapse;font-size:12px;border:1px solid var(--border);border-radius:4px;overflow:hidden}.htp-table--wide{margin-top:0}.htp-table th{padding:7px 10px;text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);background:var(--surface);border-bottom:1px solid var(--border)}.htp-table td{padding:7px 10px;color:var(--text-2);border-bottom:1px solid var(--border)}.htp-table tr:last-child td{border-bottom:none}.htp-highlight{color:var(--accent);font-weight:600}.htp-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:700}.htp-badge--high{background:#f59e0b26;color:var(--accent)}.htp-badge--low{background:#6366f126;color:#818cf8}.htp-badge--decide{background:#ffffff0f;color:var(--text-2)}.htp-tip{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;background:#f59e0b0f;border:1px solid rgba(245,158,11,.2);border-radius:6px;font-size:12px;color:var(--text-2);line-height:1.6}.htp-tip-icon{flex-shrink:0;font-size:14px;line-height:1.6}.htp-example{background:var(--surface);border:1px solid var(--border);border-radius:6px;overflow:hidden}.htp-example-title{padding:8px 12px;font-size:11px!important;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3)!important;border-bottom:1px solid var(--border);margin:0!important}.htp-example .htp-table{border:none}.htp-footer{margin-top:8px}.pos{color:var(--green)!important;font-weight:700}.neg{color:var(--red)!important;font-weight:700}.auth-page{width:min(380px,92vw);margin:48px auto 24px;background:var(--surface);border:1px solid var(--border-active);border-radius:var(--r-lg);padding:28px 24px}.auth-page h2{margin:0 0 20px;font-size:20px;font-weight:600}.auth-page form{display:flex;flex-direction:column;gap:14px}.auth-page label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:500;color:var(--text-2)}.auth-page input{padding:10px 12px;font-size:14px;font-family:inherit;border-radius:var(--r-sm);border:1px solid var(--border-active);background:var(--surface-2);color:var(--text);outline:none;transition:border-color .15s}.auth-page input:focus{border-color:var(--primary)}.auth-page button{width:100%;padding:11px 16px;font-size:14px;font-weight:600;font-family:inherit;border-radius:var(--r-sm);border:none;cursor:pointer;transition:background .15s,opacity .15s;background:var(--primary);color:#fff}.auth-page button:hover:not(:disabled){background:var(--primary-hover)}.auth-page button:disabled{opacity:.45;cursor:not-allowed}.auth-page .btn-google{width:100%;background:var(--surface-2);color:var(--text);border:1px solid var(--border-active)}.auth-page .btn-google:hover:not(:disabled){background:#252838}.auth-page p{font-size:13px;color:var(--text-2);margin:14px 0 0;text-align:center}.auth-page p a{color:var(--accent);text-decoration:none;font-weight:500}.auth-page p a:hover{text-decoration:underline}.auth-divider{display:flex;align-items:center;gap:10px;margin:16px 0;color:var(--text-3);font-size:12px}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border-active)}.error{color:var(--red);font-size:13px;margin:2px 0 0;text-align:center}.verify-notice{text-align:center;padding:8px 0}.verify-icon{font-size:40px;margin-bottom:12px}.verify-notice h2{margin:0 0 12px;font-size:20px;font-weight:600}.verify-notice p{font-size:14px;color:var(--text-2);margin:0 0 8px;line-height:1.6}.verify-sub{font-size:12px!important;color:var(--text-3)!important}.verify-login-link{display:inline-block;margin-top:20px;padding:10px 20px;background:var(--surface-2);color:var(--text-2);border:1px solid var(--border-active);border-radius:var(--r-sm);text-decoration:none;font-size:14px;font-weight:500;transition:background .15s}.verify-login-link:hover{background:#252838;color:var(--text)}.verify-hint{font-size:12px;color:var(--accent);margin:4px 0 0;text-align:center}.home-page{width:min(400px,92vw);margin:48px auto 24px;background:var(--surface);border:1px solid var(--border-active);border-radius:var(--r-lg);padding:28px 24px;text-align:center}.home-page h2{margin:0 0 4px;font-size:18px;font-weight:600}.home-page>p{margin:0 0 20px;font-size:13px;color:var(--text-2)}.home-page .actions{display:flex;flex-direction:column;gap:8px;margin-top:16px}.home-page .actions button{width:100%;padding:11px 16px;font-size:14px;font-weight:600;font-family:inherit;border-radius:var(--r-sm);border:none;cursor:pointer;transition:background .15s,opacity .15s;background:var(--primary);color:#fff}.home-page .actions button:hover:not(:disabled){background:var(--primary-hover)}.home-page .actions button:disabled{opacity:.45;cursor:not-allowed}.home-page .actions button:last-child{background:transparent;color:var(--text-2);border:1px solid var(--border-active)}.home-page .actions button:last-child:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.match-config{border:1px solid var(--border-active);border-radius:var(--r-sm);padding:12px 14px;margin:4px 0 0;display:flex;flex-direction:column;gap:10px;text-align:left}.match-config legend{padding:0 6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3)}.match-config label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;font-weight:500;color:var(--text-2)}.match-config select,.match-config input[type=number]{padding:6px 8px;font-size:13px;font-family:inherit;border-radius:var(--r-sm);border:1px solid var(--border-active);background:var(--surface-2);color:var(--text);min-width:100px;outline:none}.match-config select option{background:var(--surface-2)}.play-page{flex:1;display:flex;flex-direction:column;padding-top:10px;min-height:0}.play-layout{display:grid;grid-template-columns:160px 1fr;gap:10px;padding:0 12px 12px;align-items:start;flex:1}.play-left{display:flex;flex-direction:column;gap:6px;position:sticky;top:10px}.widget{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);padding:10px 12px}.widget-title{margin:0 0 8px;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.widget-row{display:flex;justify-content:space-between;align-items:center;padding:3px 0;border-bottom:1px solid var(--border)}.widget-row:last-child{border-bottom:none}.widget-label{font-size:12px;color:var(--text-2)}.widget-value{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.conn-connecting{color:var(--accent)}.conn-open{color:var(--green)}.conn-closed,.conn-error{color:var(--red)}.widget-actions{display:flex;gap:6px}.widget-actions .logout-btn{flex:1;padding:7px 0;font-size:12px;font-weight:500;font-family:inherit;border-radius:var(--r-sm);cursor:pointer;transition:background .15s,color .15s,border-color .15s;background:transparent;color:var(--text-2);border:1px solid var(--border-active)}.logout-btn:hover{background:#ef44441a;color:var(--red);border-color:#ef444440}.widget-actions .home-btn{flex:0;padding:7px 10px}.home-btn{font-size:12px;font-family:inherit;border-radius:var(--r-sm);cursor:pointer;background:transparent;color:var(--text-2);border:1px solid var(--border-active);transition:background .15s,color .15s}.home-btn:hover{background:var(--surface-2);color:var(--text)}.play-right{display:flex;flex-direction:column;align-items:center;min-width:0}.table-frame{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 16px;background:var(--surface);border:1px solid var(--border-active);border-radius:var(--r)}.seat-row-top,.seat-row-bottom{display:flex;align-items:center;justify-content:center;width:100%}.seat-row-mid{display:flex;align-items:center;gap:10px}.seat-chip{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 10px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--border);min-width:72px;max-width:110px;text-align:center;transition:border-color .2s,background .2s}.seat-chip--active{border-color:var(--accent);background:var(--accent-dim)}.seat-chip--you{border-color:var(--border-active)}.seat-chip--you .seat-chip-name{color:var(--text);font-weight:600}.seat-chip-name{font-size:11px;font-weight:500;color:var(--text-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:break-word;word-break:break-word;max-width:90px}.seat-chip-stat{font-size:10px;color:var(--text-3);font-variant-numeric:tabular-nums}.played-area,.booking-area{position:relative;width:320px;height:280px;display:grid;grid-template-columns:66px 1fr 66px;grid-template-rows:88px 1fr 88px;gap:4px;padding:10px;align-items:center;justify-items:center;background:var(--surface-2);border:1px solid var(--border-active);border-radius:var(--r);box-shadow:inset 0 1px #ffffff0a}.booking-slot{display:flex;align-items:center;justify-content:center}.booking-slot-top{grid-column:2;grid-row:1;align-self:end}.booking-slot-left{grid-column:1;grid-row:2;justify-self:end}.booking-slot-right{grid-column:3;grid-row:2;justify-self:start}.booking-slot-bottom{grid-column:2;grid-row:3;align-self:start}.booking-center{grid-column:2;grid-row:2;display:flex;align-items:center;justify-content:center}.booking-cards{display:flex;gap:2px;flex-wrap:wrap;justify-content:center;max-width:58px}.booking-cards-stacked{position:relative;flex-shrink:0}.booking-cards-stacked .card{box-shadow:none;border:none}.booking-cards-stacked .booking-card-wrap:last-child .card{border:1px solid #ccc;box-shadow:0 1px 4px #00000026}.booked-zero-card{width:52px;height:74px;background:#fff;border:1px solid #ddd;border-radius:var(--r-sm);display:flex;flex-direction:column;padding:4px;box-shadow:0 1px 4px #00000026;cursor:default}.booked-zero-card .card-corner{display:flex;flex-direction:row;gap:2px}.booked-zero-card .card-corner.top{align-items:flex-start;align-self:flex-start}.booked-zero-card .card-corner.bottom{align-items:flex-end;align-self:flex-end;margin-top:auto}.booked-zero-card .card-suit-small{font-size:8px;line-height:1}.booked-zero-card .suit-red{color:#c0143c}.booked-zero-card .suit-black{color:#111}.booked-zero-card .card-center{flex:1;display:flex;align-items:center;justify-content:center}.booked-zero-num{font-size:22px;font-weight:700;color:#bbb}.booking-slot-empty{width:52px;height:74px}.booking-waiting{color:var(--text-3);font-size:12px}.booking-pending-value{display:flex;align-items:center;justify-content:center}.booking-pending-num{font-size:36px;font-weight:700;color:var(--text);line-height:1}.booking-pending-label{font-size:13px;font-weight:600;color:var(--text-3);letter-spacing:.05em;text-transform:uppercase}.booking-resolved-label{display:flex;flex-direction:column;align-items:center;gap:2px}.booking-sigma{font-size:13px;font-weight:700;color:var(--text)}.booking-mode{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.booking-slot-inner{display:flex;align-items:center;justify-content:center}.booking-winner-slot{padding:3px;border-radius:var(--r-sm);box-shadow:0 0 0 2px var(--accent)}.played-slot{display:flex;align-items:center;justify-content:center;width:52px;height:76px}.played-slot-top{grid-column:2;grid-row:1;align-self:end}.played-slot-left{grid-column:1;grid-row:2;justify-self:end}.played-slot-right{grid-column:3;grid-row:2;justify-self:start}.played-slot-bottom{grid-column:2;grid-row:3;align-self:start}.played-center{grid-column:2;grid-row:2;display:flex;align-items:center;justify-content:center;pointer-events:none}.played-center-card{width:30px;height:42px;background:#fff;border:1px solid #ddd;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:20px;line-height:1;box-shadow:0 1px 4px #0003}.played-center-card.red{color:#c0143c}.played-center-card.black{color:#111}.played-center-placeholder{color:var(--text-3);font-size:14px}.played-center-no-truf{display:grid;grid-template-columns:1fr 1fr;place-items:center;gap:1px}.played-center-no-truf .suit-red{color:#c0143c;font-size:11px}.played-center-no-truf .suit-black{color:#111;font-size:11px}.played-slot-empty{width:46px;height:68px}.played-area .card{cursor:default;transform:rotate(var(--rot, 0deg));opacity:1!important}.played-area .card:hover:not(:disabled){transform:rotate(var(--rot, 0deg));box-shadow:0 1px 3px #0003}.card{width:52px;height:76px;background:#fff;border:1px solid #d0d0d0;border-radius:var(--r-sm);padding:3px 4px;display:flex;flex-direction:column;cursor:pointer;font-family:Inter,system-ui,sans-serif;font-variant-numeric:tabular-nums;box-shadow:0 2px 6px #00000038;transition:transform .12s ease,box-shadow .12s ease;-webkit-user-select:none;user-select:none;flex-shrink:0}.card:hover:not(:disabled){transform:translateY(-5px);box-shadow:0 8px 18px #00000047}.card:disabled{cursor:not-allowed}.card.red{color:#c0143c}.card.black{color:#111}.card.selected{transform:translateY(-10px);box-shadow:0 0 0 2.5px var(--primary),0 8px 20px #2563eb4d}.card-corner{display:flex;flex-direction:column;align-items:center;line-height:1}.card-corner.top{align-self:flex-start}.card-corner.bottom{align-self:flex-end;transform:rotate(180deg);margin-top:auto}.card-rank{font-size:13px;font-weight:700}.card-suit-small{font-size:9px}.card-center{flex:1;display:flex;align-items:center;justify-content:center}.card-suit-large{font-size:20px}.cards{display:flex;flex-wrap:wrap;gap:5px;align-items:flex-end;justify-content:center;padding:8px 4px}.suit-gap{width:10px;flex-shrink:0}.book-panel-body{display:flex;flex-direction:column;gap:6px}.rebook-notice{margin:0;padding:8px 12px;font-size:12px;background:var(--accent-dim);border:1px solid rgba(245,158,11,.25);border-radius:var(--r-sm);color:var(--accent);text-align:center}.action-bar{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;max-width:360px;min-height:52px;padding:6px 12px;margin:4px auto}.action-bar-label{font-size:12px;color:var(--text-2);text-align:center}.action-bar button{width:100%;padding:11px 18px;font-size:14px;font-weight:600;font-family:inherit;border:none;border-radius:var(--r-sm);cursor:pointer;transition:background .15s,opacity .15s;background:var(--primary);color:#fff}.action-bar button:disabled{opacity:.45;cursor:not-allowed}.action-bar-primary{background:var(--primary)!important}.action-bar-primary:hover:not(:disabled){background:var(--primary-hover)!important}.action-bar-start{background:#059669!important}.action-bar-start:hover:not(:disabled){background:#047857!important}.action-bar-status{display:block;width:100%;text-align:center;font-size:13px;font-weight:500;color:var(--text-2);padding:4px 0}.action-bar-status-mine{color:var(--accent);font-weight:600}.action-bar-action{display:flex;align-items:center;justify-content:center;gap:8px;width:100%}.action-bar-action .action-bar-start{white-space:nowrap;width:auto}.action-bar-action .action-bar-cancel{white-space:nowrap}.action-bar-confirm-text{font-size:12px;color:var(--text-2)}.action-bar-cancel{padding:10px 16px;font-size:13px;font-weight:500;font-family:inherit;background:transparent!important;color:var(--text-2)!important;border:1px solid var(--border-active)!important;border-radius:var(--r-sm);cursor:pointer;transition:background .15s}.action-bar-cancel:hover{background:var(--surface-2)!important}.score-table{width:100%;border-collapse:collapse}.score-table tr{border-bottom:1px solid var(--border)}.score-table tr:last-child{border-bottom:none}.score-table tr.active-row{background:var(--accent-dim)}.score-seat{width:16px;font-size:10px;color:var(--text-3);text-align:center;padding:3px 0}.score-name{font-size:12px;color:var(--text-2);padding:3px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:66px}.score-book{font-size:10px;color:var(--text-3);text-align:right;padding:3px 0 3px 4px;min-width:18px}.score-won{font-size:10px;color:var(--text-3);text-align:right;padding:3px 0 3px 3px;min-width:16px}.score-pts{font-size:12px;font-weight:700;text-align:right;padding:3px 0 3px 6px;min-width:26px;font-variant-numeric:tabular-nums}.score-pts.pos{color:var(--green)}.score-pts.neg{color:var(--red)}.fireworks-canvas{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;pointer-events:none}.match-end-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;display:flex;align-items:center;justify-content:center;background:#000000d1;animation:overlay-fade-in .4s ease;padding:16px}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}.match-end-card{background:var(--surface);border:1px solid var(--border-active);border-radius:var(--r-lg);padding:28px 32px;text-align:center;max-width:340px;width:100%;box-shadow:0 20px 60px #000000b3;animation:card-pop-in .4s cubic-bezier(.34,1.56,.64,1)}@keyframes card-pop-in{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}.match-end-title{margin:0 0 12px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--text-3)}.champion-trophy{font-size:42px;margin-bottom:6px;animation:trophy-bounce .9s ease infinite alternate}@keyframes trophy-bounce{0%{transform:translateY(0)}to{transform:translateY(-6px)}}.champion-name{font-size:22px;font-weight:700;color:var(--accent);margin-bottom:2px}.champion-score{font-size:15px;font-weight:600;color:var(--text-2);margin-bottom:18px}.match-end-reason{font-size:12px;color:var(--text-3);margin-bottom:14px}.match-end-scores{width:100%;border-collapse:collapse;font-size:13px}.match-end-scores th,.match-end-scores td{padding:6px 8px;border-bottom:1px solid var(--border)}.match-end-scores tr:last-child td{border-bottom:none}.match-end-scores th{color:var(--text-3);font-weight:500;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.match-end-scores td{color:var(--text-2)}.match-end-row-winner td{color:var(--accent);font-weight:600}.match-end-close{margin-top:18px;padding:10px 20px;font-size:14px;font-weight:600;font-family:inherit;background:var(--primary);color:#fff;border:none;border-radius:var(--r-sm);cursor:pointer;transition:background .15s;display:inline-flex;align-items:center;justify-content:center}.match-end-close:hover{background:var(--primary-hover)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#000000b3;display:flex;align-items:center;justify-content:center;padding:16px}.modal-card{background:var(--surface);border:1px solid var(--border-active);border-radius:var(--r-lg);padding:24px;width:min(360px,100%);box-shadow:0 16px 48px #0009}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.modal-title{margin:0;font-size:17px;font-weight:600}.modal-close{background:none;border:none;color:var(--text-2);font-size:16px;cursor:pointer;padding:2px 6px;border-radius:var(--r-sm);line-height:1}.modal-close:hover{background:var(--surface-2);color:var(--text)}.modal-form{display:flex;flex-direction:column;gap:14px}.modal-form label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:500;color:var(--text-2)}.modal-form input{padding:10px 12px;font-size:14px;font-family:inherit;border-radius:var(--r-sm);border:1px solid var(--border-active);background:var(--surface-2);color:var(--text);outline:none;transition:border-color .15s}.modal-form input:focus{border-color:var(--primary)}.modal-form button[type=submit]{padding:11px 16px;font-size:14px;font-weight:600;font-family:inherit;background:var(--primary);color:#fff;border:none;border-radius:var(--r-sm);cursor:pointer;transition:background .15s}.modal-form button[type=submit]:hover:not(:disabled){background:var(--primary-hover)}.modal-form button[type=submit]:disabled{opacity:.45;cursor:not-allowed}.modal-divider{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);padding:4px 0 2px;border-top:1px solid var(--border);margin-top:2px}.modal-ok{color:var(--green);font-size:13px;margin:0;text-align:center}.modal-email-row{display:flex;flex-direction:column;gap:4px;padding:8px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm)}.modal-email-label{font-size:11px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.06em}.modal-email-value{font-size:13px;color:var(--text-2);word-break:break-all}@keyframes fly-to-winner{0%{transform:translate(0) scale(1) rotate(var(--rot, 0deg));opacity:1}to{transform:translate(var(--fly-x, 0),var(--fly-y, 0)) scale(0) rotate(var(--rot, 0deg));opacity:0}}.played-area--animating .card{animation:fly-to-winner .55s ease-in forwards}@media (max-width: 800px){.play-layout{grid-template-columns:1fr;padding:0 10px 10px;gap:8px}.play-left{position:static;flex-direction:row;overflow-x:auto;gap:6px;padding-bottom:4px;scrollbar-width:none}.play-left::-webkit-scrollbar{display:none}.widget{min-width:140px;flex-shrink:0}}@media (max-width: 540px){body{font-size:13px}.auth-page,.home-page{margin:24px auto;padding:20px 18px;border-radius:var(--r)}.play-layout{padding:0 8px 8px}.table-frame{padding:8px 10px;gap:6px}.seat-row-mid{gap:6px}.seat-chip{min-width:56px;max-width:80px;padding:5px 7px}.seat-chip-name{font-size:10px;max-width:68px}.played-area,.booking-area{width:252px;height:230px;grid-template-columns:56px 1fr 56px;grid-template-rows:72px 1fr 72px}.card{width:44px;height:64px}.card-rank{font-size:11px}.card-suit-large{font-size:17px}.played-slot{width:44px;height:64px}.played-slot-empty{width:40px;height:58px}.action-bar{max-width:100%;padding:6px 8px}.action-bar button{padding:13px 16px;font-size:15px}.cards{gap:4px;padding:6px 2px}.match-end-card{padding:22px 20px}}
