:root{font-family:Noto Sans SC,Microsoft YaHei,system-ui,sans-serif;color:#f2e7d2;background:#102f2b;font-synthesis:none;--felt: #17453b;--ink: #193a32;--gold: #dfbc79;--cream: #f5e9d5;--muted: #adbbac;color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}a{color:inherit;text-decoration:none}a:hover{color:var(--gold)}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px}input:focus-visible,select:focus-visible{outline:2px solid #cda862;outline-offset:1px}button{color:inherit;border:1px solid #b1b99e40;background:#fff4d608;padding:9px 13px;border-radius:7px;min-height:40px}button:hover:not(:disabled){background:#e1bd7820;border-color:#d9bc78}input,select{min-width:0;max-width:100%;border:1px solid #cdb57d50;border-radius:6px;background:#0d2925;color:var(--cream);padding:11px 12px}input::placeholder{color:#a0b0a0}h1,h2,h3,p{margin-top:0}h2{font-size:18px}p{line-height:1.75}.vegas-app{max-width:1760px;margin:auto;padding:0 40px}.vegas-header{height:96px;display:flex;align-items:center;gap:40px;border-bottom:1px solid #d6ba7d30}.vegas-brand{display:flex;align-items:center;gap:14px;font-family:Georgia,serif;letter-spacing:2px;font-size:18px}.vegas-brand small{display:block;font-family:system-ui,sans-serif;font-size:9px;letter-spacing:2.7px;margin-top:6px;color:var(--gold)}.brand-seal{border:1px solid var(--gold);border-radius:50%;width:44px;height:44px;display:grid;place-items:center;letter-spacing:-2px;font-size:19px;position:relative}.brand-seal:after{content:"";position:absolute;inset:3px;border:1px solid #dfbc7950;border-radius:50%}.vegas-header nav{display:flex;align-items:center;gap:26px;font-size:13px;margin-left:auto}.connection-indicator{font-size:11px;color:var(--muted);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.connection-indicator:before{content:"";width:6px;height:6px;border-radius:50%;background:#d39a6c;display:inline-block;margin-right:7px}.connection-indicator.connected:before{background:#88c19b}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.5px;color:var(--gold);margin-bottom:14px}.muted{color:var(--muted);font-size:12px}.vegas-alert{display:flex;align-items:center;gap:14px;background:#723337;border:1px solid #ecb1a250;padding:12px 18px;border-radius:8px;margin:20px 0;font-size:13px}.vegas-alert button:last-child{margin-left:auto}.vegas-notice{background:#e6c1731a;padding:12px}.sr-only{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}.vegas-welcome{min-height:calc(100dvh - 96px);display:grid;grid-template-columns:1fr 400px;gap:40px 100px;align-items:center;padding:55px max(0px,calc((100vw - 1480px)/8)) 25px}.welcome-art{position:relative;padding:25px 0 25px 25px}.welcome-art:before{content:"";position:absolute;inset:-10px 30px -40px -50px;border:1px solid #c5bb8740;border-radius:48%;transform:rotate(-14deg);pointer-events:none}.welcome-art:after{content:"♠  ♦  ♣  ♥";position:absolute;bottom:6px;right:30px;color:#c5b47a50;letter-spacing:14px;font-size:18px}.welcome-art h1{font-family:Georgia,Times New Roman,serif;font-size:clamp(65px,7.5vw,112px);font-weight:400;line-height:.95;letter-spacing:-5px;margin:20px 0 18px}.welcome-art h1 span{display:block;font-style:italic;color:var(--gold);margin-left:70px}.welcome-subtitle{font-family:"Noto Serif SC",SimSun,serif;letter-spacing:7px;font-size:20px;margin-top:24px}.welcome-copy{font-size:14px;color:#bac8b6;line-height:1.9}.welcome-dice{display:flex;gap:17px;align-items:center;margin:28px 0 35px 8px}.welcome-dice .vegas-die{width:58px;height:58px;border-radius:12px;transform:rotate(-12deg);box-shadow:9px 10px #081d184a}.welcome-dice .vegas-die--big{width:76px;height:76px;transform:rotate(12deg)}.welcome-dice .vegas-die:last-child{transform:rotate(17deg);margin-left:6px}.welcome-facts{display:flex;gap:40px;font-family:Georgia,serif;font-size:28px}.welcome-facts small{font-family:system-ui,sans-serif;font-size:11px;color:#a6b7a2;margin-left:7px}.entry-ticket{background:var(--cream);color:var(--ink);padding:32px 32px 25px;box-shadow:15px 18px #08221d50;position:relative;border-radius:4px}.entry-ticket:before,.entry-ticket:after{content:"";position:absolute;width:20px;height:20px;border-radius:50%;background:#102f2b;top:65%;left:-10px}.entry-ticket:after{left:auto;right:-10px}.ticket-top{display:flex;justify-content:space-between;align-items:center;letter-spacing:2px;font-size:9px;border-bottom:1px solid #82785250;padding-bottom:18px;margin-bottom:28px}.ticket-top span:last-child{font-size:24px}.entry-ticket h2{font-family:"Noto Serif SC",SimSun,serif;font-size:28px;font-weight:500;letter-spacing:1px;margin-bottom:10px}.entry-ticket>p{font-size:12px;color:#758272;margin-bottom:28px}.vegas-primary.botc-button{--n-color: #a34549 !important;--n-color-hover: #b54f53 !important;--n-color-pressed: #8b383d !important;--n-border: 1px solid #a34549 !important;--n-border-hover: 1px solid #bd6864 !important;--n-text-color: #fff2d9 !important;border-radius:5px!important}.entry-ticket .vegas-primary{height:49px;font-size:14px}.ticket-divider{display:flex;gap:12px;align-items:center;font-size:10px;color:#8b8c78;margin:28px 0 20px}.ticket-divider:before,.ticket-divider:after{content:"";height:1px;background:#a79d8050;flex:1}.join-form label{display:block;font-size:11px;margin-bottom:8px}.join-form>div{display:flex;gap:8px}.join-form input{width:100%;background:#fffaf0;color:#244338;font-family:monospace;letter-spacing:2px;text-transform:uppercase;font-size:15px;height:46px}.join-form button{color:#224a3b;border-color:#55725d;white-space:nowrap;font-size:13px}.entry-ticket p.ticket-note{font-size:10px;text-align:center;letter-spacing:1px;margin:30px 0 0;padding-top:18px;border-top:1px dashed #a79d8080}.resume-room{width:100%;font-size:12px;color:#355647;border-color:#55725d50;margin-top:15px}.welcome-footer{grid-column:1/-1;display:flex;justify-content:space-between;align-self:end;color:#91a994;font-size:11px;letter-spacing:1px}.welcome-footer a{color:var(--gold)}.vegas-room{padding:30px 0 0}.room-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:20px}.room-heading .eyebrow{margin-bottom:7px}.room-heading h1{font-weight:400;font-size:20px;margin:0;color:#abbcab}.room-heading h1 span{font-family:monospace;font-size:24px;color:var(--cream);letter-spacing:4px;padding-left:8px}.room-heading-actions{display:flex;gap:9px;font-size:12px}.room-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:26px;align-items:start}.table-area{min-width:0}.player-rail{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.player-seat{display:flex;gap:8px;align-items:center;flex:1;min-width:125px;border-bottom:2px solid transparent;padding-bottom:10px}.player-seat--turn{border-color:var(--player-color)}.player-seat--offline{opacity:.5}.player-avatar{background:color-mix(in srgb,var(--player-color) 17%,#102f2b);color:var(--player-color);border:1px solid var(--player-color);width:35px;height:35px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;font-size:14px}.player-seat--speaking .player-avatar{box-shadow:0 0 0 4px #dfbc7930}.player-seat strong{font-size:12px;display:block;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-seat small{font-size:9px;color:#abbea9;font-weight:400}.player-seat>div>span{display:block;font-size:9px;margin-top:4px;color:#9eb39e}.felt-table{background:radial-gradient(ellipse at 50% 30%,#24574788,transparent 70%),repeating-linear-gradient(33deg,#ffffff02 0px,#ffffff02 1px,transparent 1px,transparent 4px),#17453b;border:1px solid #d3b7766b;box-shadow:inset 0 0 0 5px #102f2b,inset 0 0 0 6px #d3b77633;border-radius:15px}.lobby-table{min-height:505px;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;overflow:hidden;padding:55px 20px}.table-watermark{font-family:Georgia,serif;letter-spacing:18px;font-size:clamp(50px,7vw,100px);opacity:.05;position:absolute;top:12%;pointer-events:none}.empty-dice{display:flex;align-items:center;gap:20px;margin-bottom:34px;transform:rotate(-7deg)}.empty-dice .vegas-die{width:52px;height:52px}.empty-dice .vegas-die--big{width:65px;height:65px;transform:rotate(18deg)}.lobby-table h2{font-family:SimSun,serif;font-size:26px;letter-spacing:2px;font-weight:400;margin-bottom:12px}.lobby-table p{font-size:12px;color:#aebda7}.lobby-actions{display:flex;gap:12px;margin:22px 0}.round-heading{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:1.5px;color:#afbea7;margin-bottom:12px}.round-heading strong{font-family:Georgia,serif;font-size:26px;color:var(--gold);padding-left:5px;font-weight:400}.round-marks{display:flex;gap:4px}.round-marks i{width:40px;height:3px;background:#526b4c}.round-marks i.active{background:var(--gold)}.offline-banner{background:#6d4c333f;border:1px solid #c88e6640;color:#efc59b;font-size:12px;padding:10px 12px;border-radius:6px}.offline-banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center}.offline-banner__action{border:1px solid #c88e6666;background:#7a5336a6;color:#ffe2c2;font-size:12px;padding:4px 10px;border-radius:999px;cursor:pointer}.offline-banner__action:hover,.offline-banner__action:focus-visible{background:#8d6242cf}.lobby-archive-note{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;margin:0 auto 10px;padding:8px 12px;border:1px dashed #c88e6655;border-radius:6px;color:#efc59b;font-size:12px;text-align:center;max-width:520px}.lobby-archive-note__resume{border:1px solid #c88e6666;background:#7a5336a6;color:#ffe2c2;font-size:12px;padding:4px 10px;border-radius:999px;cursor:pointer}.lobby-archive-note__resume:disabled{cursor:not-allowed;opacity:.6}.tabletop-offline-modal__lead{margin:0 0 12px;line-height:1.6}.tabletop-offline-modal__options{list-style:none;margin:0;padding:0;display:grid;gap:8px}.tabletop-offline-modal__options li{display:grid;gap:2px;padding:8px 10px;border:1px solid #c88e6633;border-radius:6px}.tabletop-offline-modal__options small{opacity:.8;line-height:1.5}.tabletop-offline-modal__actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.tabletop-offline-modal__end{border-color:#c86a6a66}.casino-table{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 18px;padding:22px}.casino-card{grid-column:var(--casino-column);grid-row:var(--casino-row);background:#f1e5cd;color:#244536;border-radius:6px;padding:14px 13px 0;position:relative;min-width:0;box-shadow:0 5px #0b2b205c;display:flex;flex-direction:column;min-height:222px}.casino-card__heading{display:flex;gap:9px;align-items:center;border-bottom:1px solid #75876445;padding-bottom:11px;position:relative}.casino-number{font-family:Georgia,serif;font-size:31px;color:#355d46;border:1px solid #a2aa8650;border-radius:4px;width:36px;height:39px;display:grid;place-items:center}.casino-card__heading small{font-family:monospace;font-size:8px;letter-spacing:1.6px;color:#8a8a6c}.casino-card h2{font-family:SimSun,serif;letter-spacing:2px;font-size:15px;font-weight:600;margin:5px 0 0}.casino-prizes{display:flex;gap:7px;margin:11px 0}.money-note{flex:1;display:flex;justify-content:space-between;align-items:center;border:1px solid #8d9f7750;outline:1px solid #8d9f7730;outline-offset:-4px;padding:7px 8px;background:#e5dfbf;color:#345b40;border-radius:2px;min-width:0}.money-note small{font-family:Georgia,serif;font-size:10px;font-style:italic;opacity:.6}.money-note strong{font-family:Georgia,serif;font-size:24px;font-weight:400;line-height:1}.money-note em{font:10px system-ui,sans-serif;margin-left:3px}.money-note:nth-child(2){background:#eee4cc;color:#7e7652}.casino-contenders{min-height:55px;flex:1;padding:3px 0 9px}.contender-row{display:flex;align-items:center;gap:7px;font-size:10px;margin:5px 0;background:#0d39280b;padding:4px 5px;border-radius:3px}.contender-name{max-width:60px;text-shadow:0 .3px 0 #000;filter:brightness(.64);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contender-dice{display:flex;flex-wrap:wrap;gap:3px;flex:1}.contender-row>strong{color:#344d39;font-family:monospace;font-size:12px}.casino-empty{font-size:10px;color:#9b9d81;display:block;text-align:center;line-height:35px;letter-spacing:2px}.casino-effect{border-top:1px solid #9a9b7240;margin-top:2px;font-size:11px}.casino-effect summary{display:flex;align-items:center;gap:7px;min-height:38px;cursor:pointer;font-weight:600;list-style:none}.effect-marker{font-family:monospace;font-size:9px;background:#476047;color:#f1e5cd;border-radius:3px;padding:3px 4px}.effect-info{margin-left:auto;color:#8c8b6f}.casino-effect p{font-size:10px;line-height:1.8;margin:3px 0 10px;color:#657158}.casino-card--closed{filter:saturate(.5)}.closed-stamp{position:absolute;right:0;bottom:7px;font-size:11px;font-weight:700;transform:rotate(-13deg);color:#b34b4b;border:2px solid #b34b4b;padding:3px 5px;background:#f1e5cde3;z-index:1}.special-dice{font-size:9px;padding-bottom:7px;color:#637154;display:flex;gap:4px;flex-wrap:wrap}.special-dice>span{border:1px dashed #7b8a6660;padding:3px}.dice-arena{grid-row:2;grid-column:1/-1;min-height:119px;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;padding:17px 10px}.arena-caption{font-size:8px;color:#aec39660;letter-spacing:4px;margin-bottom:12px}.arena-dice{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;min-height:40px}.arena-dice .vegas-die:nth-child(2n){transform:rotate(10deg)}.arena-dice .vegas-die:nth-child(3n){transform:rotate(-7deg)}.arena-initial{font-family:SimSun,serif;color:#b7c59b;font-size:15px;letter-spacing:4px}.extra-dice{display:flex;align-items:center;gap:5px;position:absolute;right:5px;bottom:10px;font-size:9px;color:#b0bf9b}.vegas-die{--die-color: #f3e8d2;display:inline-grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:3px;flex-shrink:0;width:35px;height:35px;border-radius:7px;background:var(--die-color);padding:6px;box-shadow:inset -2px -3px 1px #0002,0 3px 5px #09231742;position:relative}.vegas-pip{border-radius:50%;background:#233e33;opacity:0}.vegas-pip.visible{opacity:1}.vegas-die--big{width:44px;height:44px;padding:8px;border:1px solid rgba(223,188,121,.55)}.vegas-die--big .vegas-pip{background:#181d24}.vegas-die--small{width:20px;height:20px;gap:2px;padding:4px;border-radius:4px}.vegas-die--small.vegas-die--big{width:25px;height:25px;padding:4px}.vegas-die--gray{background:#afb3a5}.vegas-die-weight{position:absolute;right:-4px;bottom:-4px;background:#253e32;color:#f0dfb4;font:8px monospace;padding:1px 3px;border-radius:3px}.vegas-die--small .vegas-die-weight{font-size:6px;padding:0 2px}.decision-panel{padding:22px 23px;background:#1d4035;border:1px solid #c5b57d40;border-radius:9px;margin-top:18px}.decision-panel--mine{border-color:#d4ae6e;background:#294b3a}.decision-heading{display:flex;align-items:center;gap:12px;margin-bottom:5px}.turn-beacon{width:7px;height:7px;border-radius:50%;background:#94a27c;flex-shrink:0}.decision-panel--mine .turn-beacon{background:var(--gold);box-shadow:0 0 0 5px #dfbc791a}.decision-heading small{font-size:9px;letter-spacing:1px;color:#aab999}.decision-panel--mine .decision-heading small{color:var(--gold)}.decision-heading h2{font-size:15px;font-weight:500;margin:5px 0 0;line-height:1.7}.waiting-player{font-size:13px;color:var(--gold);margin-left:auto}.decision-options{display:flex;gap:8px;flex-wrap:wrap;margin-top:19px}.decision-options button{font-size:12px;flex:1;min-width:125px;background:#e6c37d0a;border-color:#cab47f70;color:#f5e5c3;padding:11px}.decision-select{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:18px;align-items:center}.decision-select label{grid-column:1/-1;font-size:11px;color:#bacaac}.decision-select select{font-size:12px;width:100%}.pending-hint{font-size:11px;color:#c8b68b;margin:15px 0 0}.round-results{margin-top:20px;color:#b5c4ab;font-size:12px}.round-results summary{cursor:pointer;min-height:40px;display:flex;align-items:center}.round-results p{font-size:11px;margin:0 0 7px}.round-results h3{margin-top:15px;font-size:13px;color:var(--gold)}.final-result{border:1px solid #cfb07470;background:#31523a;padding:30px;margin-top:20px;border-radius:10px;text-align:center}.final-result h2{font-family:Georgia,SimSun,serif;color:var(--gold);font-size:32px}.final-result>p:not(.eyebrow){font-size:12px;color:#b8c7a6}.score-row{display:flex;justify-content:space-between;gap:15px;padding:10px;border-top:1px solid #d5b77425;font-size:14px}.score-row small{font-size:10px;color:#b0c0a4}.final-round-recap{margin-bottom:16px;padding:10px 12px;border-radius:9px;background:#091815b8;border:1px solid rgba(223,188,121,.32);text-align:left}.final-round-recap>small{display:block;font-size:10.5px;letter-spacing:1px;color:var(--gold);margin-bottom:7px}.final-round-recap__chips{display:flex;flex-wrap:wrap;gap:8px}.final-round-recap__chips>span{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:6px;background:#142e28d9;border:1px solid rgba(223,188,121,.24);font-size:11.5px}.final-round-recap__chips>span>i{width:7px;height:7px;border-radius:2px}.final-round-recap__chips>span>b{color:#ffe298;font-family:Georgia,serif}.final-rematch-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin-top:18px;padding-top:14px;border-top:1px solid rgba(213,183,116,.28)}.final-rematch-btn,.final-ready-btn{min-height:40px;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:700;border:1px solid #f4da9e;background:#c99b52 url(/assets/tabletop/ui/btn-primary.webp) center / 100% 100% no-repeat;color:#192b25;cursor:pointer}.final-ready-btn.is-ready{background:#1f4b37;border-color:#88c19b;color:#e3f7ea}.final-return-btn{min-height:40px;padding:8px 14px;border-radius:8px;font-size:12.5px;border:1px solid rgba(215,186,124,.42);background:#122823 url(/assets/tabletop/ui/btn-option.webp) center / 100% 100% no-repeat;color:#f0e4c8;cursor:pointer}.final-rematch-status{font-size:11.5px;color:#c2d0c4}.table-sidebar{display:flex;flex-direction:column;gap:18px}.table-sidebar>section{border:1px solid #a2ad8340;border-radius:8px;background:#13352e;overflow:hidden}.wallet-panel{padding:19px}.wallet-panel .eyebrow{font-size:8px;letter-spacing:1.6px;margin-bottom:12px}.wallet-amount{font-family:Georgia,serif;font-size:37px;color:var(--gold);display:flex;align-items:baseline;gap:6px}.wallet-amount small{font:12px system-ui,sans-serif}.wallet-amount>span{margin-left:auto;font:12px system-ui,sans-serif;color:#f3e2bb}.wallet-panel>p:not(.eyebrow){font-size:10px;color:#a6b599;margin:8px 0 13px}.wallet-notes{display:flex;flex-wrap:wrap;gap:5px;border-top:1px solid #b5ba8e25;padding-top:12px}.wallet-notes>span:not(.muted){border:1px solid #a8af7e50;color:#c2cdad;padding:3px 6px;border-radius:2px;font-size:10px}.wallet-notes .muted{font-size:10px}.voice-panel{padding:19px}.sidebar-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:10px}.sidebar-heading h2{font-size:13px;font-weight:500;margin:0}.sidebar-heading>span{font-size:8px;letter-spacing:1px;color:#879e88}.sidebar-heading>span.voice-live{color:#93c99a}.voice-status{font-size:10px;color:#acbfa3;margin-bottom:12px}.voice-panel .shared-voice-actions button{font-size:11px;padding:6px 10px;min-height:36px;flex:1;border-color:#b6b38a70}.voice-panel>.muted{font-size:10px;margin:12px 0 0}.inline-error{font-size:11px;color:#e8ad95;margin-top:10px}.voice-settings{margin-top:14px;font-size:11px;color:#afbea5}.voice-settings summary{cursor:pointer}.voice-settings label{display:block;margin-top:12px}.voice-settings select,.voice-settings input{display:block;width:100%;margin-top:5px;font-size:11px;padding:8px}.voice-settings input{padding:0;accent-color:var(--gold)}.chat-panel{padding:19px 15px 12px}.chat-panel>.sidebar-heading{padding:0 4px}.table-chat__messages{height:180px;overflow-y:auto;scrollbar-width:thin;padding:5px 3px;font-size:11px;overflow-wrap:anywhere}.table-chat__messages p{margin-bottom:12px}.table-chat__messages strong{display:block;font-size:10px;font-weight:500;color:#b8bd97;margin-bottom:3px}.table-chat__messages span{color:#e1e4cc}.table-chat__form{display:flex;gap:6px;border-top:1px solid #b4ba8e30;padding-top:12px}.table-chat__form input{width:100%;font-size:11px;padding:8px}.table-chat__form button{font-size:10px;min-height:35px;padding:6px 9px;white-space:nowrap}.table-chat>p{font-size:10px;color:#edac98;margin:10px 0}.journal-toggle{border:0;width:100%;font-size:11px;text-align:left;background:transparent;padding:14px 16px;border-radius:0}.journal-toggle span{float:right}.game-journal ol{padding:0 15px;list-style:none;max-height:260px;overflow:auto;font-size:10px;color:#a7b89e}.game-journal li{padding:8px 0;border-top:1px solid #c1bb8b20;line-height:1.7}.game-journal li small{font-family:monospace;color:var(--gold);margin-right:7px}.restart-button{font-size:11px;color:#b9b295;border:0;background:transparent}.room-footer{padding:28px 0 20px;display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#879f86}.room-footer a{color:#c4b886}.vegas-rules{max-width:1000px;margin:40px auto 70px}.text-link{display:inline-block;font-size:12px;color:#aebfa8;margin-bottom:36px}.vegas-rules h1{font-family:SimSun,serif;font-weight:400;font-size:32px;letter-spacing:2px;margin-bottom:24px}.rules-intro{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;border-bottom:1px solid #c5b07740;padding-bottom:25px;margin-bottom:30px}.rules-intro p{font-size:12px;color:#b7c4ad;margin:0;line-height:1.9}.rules-intro strong{color:var(--cream);font-weight:500}.rules-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 26px}.rule-tile{display:flex;gap:14px;padding:22px 0;border-bottom:1px solid #adb28630}.tile-code{font:14px Georgia,serif;color:var(--gold);border:1px solid #c9b47e50;padding:9px 7px;height:35px}.rule-tile small{font-size:9px;color:#8ca58d}.rule-tile h2{font-size:16px;font-weight:400;margin:7px 0 9px}.rule-tile p{font-size:12px;color:#b3c2a8;margin:0;line-height:1.9}.online-rules{margin-top:40px;background:#1c4033;padding:25px;border:1px solid #c9b47e40;border-radius:8px}.online-rules h2{font-size:16px;font-weight:500}.online-rules li,.online-rules p{font-size:11px;line-height:1.9;color:#b4c0a4}.online-rules li{margin-bottom:8px}.online-rules p{margin-bottom:0;font-size:10px}@media (min-width: 1500px){.room-layout{grid-template-columns:minmax(0,1fr) 320px;gap:32px}.casino-card{min-height:250px;padding:18px 18px 0}.casino-prizes{margin:14px 0}.casino-number{font-size:37px;width:44px;height:46px}.casino-card h2{font-size:18px}.dice-arena{min-height:145px}.table-chat__messages{height:220px}}@media (max-width: 1150px){.vegas-app{padding:0 24px}.vegas-welcome{gap:45px;grid-template-columns:1fr 345px}.welcome-art{padding-left:0}.welcome-art:before{inset:0 -10px -30px -20px}.welcome-facts{gap:20px;font-size:25px}.entry-ticket{padding:26px}.room-layout{grid-template-columns:minmax(0,1fr) 245px;gap:18px}.casino-table{padding:15px;gap:0 10px}.casino-card{padding:10px 9px 0}.casino-card__heading{gap:7px}.casino-card h2{font-size:13px;letter-spacing:0}.casino-number{font-size:24px;width:28px;height:34px}.casino-prizes{gap:5px}.money-note{padding:7px 5px}.money-note strong{font-size:20px}.money-note small{font-size:8px}.contender-name{max-width:40px;font-size:9px}.casino-effect summary{font-size:10px;gap:4px}.effect-marker{font-size:8px}.arena-dice{gap:8px}.player-rail{gap:10px}.player-seat{min-width:110px}.voice-panel,.wallet-panel{padding:15px}}@media (max-width: 900px){.vegas-welcome{gap:40px 25px;grid-template-columns:1fr 320px}.welcome-art h1{font-size:68px;letter-spacing:-3px}.welcome-art h1 span{margin-left:35px}.welcome-facts{gap:15px;font-size:23px}.welcome-facts small{font-size:9px;margin-left:3px}.welcome-art:before{display:none}.welcome-art .eyebrow{font-size:8px;letter-spacing:1.6px}.room-layout{grid-template-columns:1fr}.table-sidebar{display:grid;grid-template-columns:1fr 1fr;align-items:start}.chat-panel{grid-column:2;grid-row:1/3}.wallet-panel,.voice-panel{grid-column:1}.game-journal,.restart-button{grid-column:1/-1}.table-chat__messages{height:235px}.casino-card{min-height:230px;padding:14px 14px 0}.casino-table{padding:20px;gap:0 15px}.money-note strong{font-size:25px}.contender-name{max-width:64px}.rules-intro{grid-template-columns:1fr}.rules-intro p{font-size:13px}}@media (max-width: 650px){.vegas-app{padding:0 16px}.vegas-header{height:77px;gap:15px;flex-wrap:wrap;align-content:center;position:relative}.vegas-brand{font-size:14px;gap:8px;letter-spacing:1.2px}.vegas-brand small{font-size:7px;letter-spacing:1.7px}.brand-seal{width:34px;height:34px;font-size:15px}.vegas-header nav{gap:15px;font-size:10px}.vegas-header nav a:last-child{display:none}.connection-indicator{position:absolute;right:0;bottom:7px;font-size:8px;max-width:110px}.vegas-welcome{display:flex;flex-direction:column;min-height:calc(100dvh - 77px);padding:35px 0 20px;gap:30px;align-items:stretch}.welcome-art{padding:0 14px}.welcome-art h1{font-size:76px;letter-spacing:-4px;line-height:.93;display:inline-block;margin:10px 0 17px}.welcome-art h1 span{margin-left:67px}.welcome-subtitle{font-size:15px;letter-spacing:6px;margin:7px 0 15px}.welcome-copy{font-size:12px;margin:0}.welcome-art .eyebrow{font-size:8px;letter-spacing:1.9px;margin-bottom:12px}.welcome-dice{position:absolute;right:10px;bottom:75px;gap:7px;margin:0}.welcome-dice .vegas-die{width:32px;height:32px;padding:6px;gap:2px;border-radius:7px;box-shadow:4px 5px #081d184a}.welcome-dice .vegas-die--big{width:43px;height:43px;padding:8px}.welcome-dice .vegas-die:last-child{display:none}.welcome-art:after{display:none}.welcome-facts{margin-top:23px;gap:25px;font-size:24px}.welcome-facts small{font-size:9px;margin-left:4px}.entry-ticket{padding:22px 24px 18px;box-shadow:6px 7px #08221d50;margin:0 5px}.ticket-top{padding-bottom:12px;margin-bottom:20px;font-size:8px}.ticket-top span:last-child{font-size:19px}.entry-ticket h2{font-size:24px}.entry-ticket>p{margin-bottom:22px}.ticket-divider{margin:22px 0 16px}.entry-ticket p.ticket-note{margin-top:22px;padding-top:15px;font-size:9px}.welcome-footer{flex-direction:column;align-items:flex-start;gap:12px;font-size:9px;padding:0 8px}.room-heading{margin:3px 0 18px;align-items:flex-start;gap:10px}.room-heading .eyebrow{font-size:7px;letter-spacing:1.5px}.room-heading h1{font-size:14px}.room-heading h1 span{font-size:20px;letter-spacing:3px}.room-heading-actions{flex-direction:column;gap:4px}.room-heading-actions button{font-size:10px;min-height:30px;padding:5px 8px}.player-rail{gap:6px;margin-bottom:12px}.player-seat{min-width:calc(33% - 6px);flex:0 0 auto;padding-bottom:8px;gap:6px}.player-avatar{width:27px;height:27px;font-size:11px}.player-seat strong{font-size:10px;max-width:80px}.player-seat>div>span{font-size:7px;margin-top:3px}.player-seat small{font-size:7px}.lobby-table{min-height:410px;padding:35px 18px}.lobby-table h2{font-size:22px}.lobby-table p{font-size:11px}.lobby-actions{flex-direction:column;width:80%}.round-heading{font-size:8px;letter-spacing:1px}.round-heading strong{font-size:23px}.round-marks i{width:25px}.casino-table{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px;gap:12px 10px;border-radius:11px}.casino-card{grid-column:auto;grid-row:auto;min-height:205px;padding:11px 10px 0}.casino-card h2{font-size:14px;letter-spacing:1px}.casino-number{width:30px;height:34px;font-size:26px}.casino-card__heading small{font-size:7px}.casino-card__heading{padding-bottom:8px}.casino-prizes{margin:9px 0}.money-note{padding:7px 5px}.money-note strong{font-size:22px}.money-note small{font-size:8px}.casino-contenders{min-height:45px}.casino-empty{font-size:9px}.contender-row{gap:4px;padding:4px 3px}.contender-name{max-width:44px;font-size:8px}.contender-dice{gap:2px}.vegas-die--small{width:17px;height:17px;padding:3px;gap:2px}.vegas-die--small.vegas-die--big{width:21px;height:21px;padding:3px}.casino-effect summary{font-size:10px;min-height:34px;gap:5px}.effect-marker{font-size:8px;padding:2px 3px}.casino-effect p{font-size:10px}.dice-arena{grid-column:1/-1;grid-row:1;min-height:90px;padding:5px 8px 12px;border-bottom:1px solid #b9b87b25;margin-bottom:0}.arena-caption{font-size:7px;letter-spacing:3px;margin-bottom:10px}.arena-dice{gap:10px}.arena-dice .vegas-die{width:29px;height:29px;padding:6px;gap:2px}.arena-dice .vegas-die--big{width:37px;height:37px;padding:7px}.arena-initial{font-size:12px;letter-spacing:3px}.extra-dice{right:0;bottom:1px;font-size:8px}.decision-panel{padding:16px;margin-top:14px}.decision-heading h2{font-size:13px;line-height:1.7}.decision-heading small{font-size:8px}.waiting-player{font-size:10px;max-width:80px;overflow-wrap:anywhere}.decision-options{gap:7px;margin-top:14px}.decision-options button{font-size:11px;min-height:44px;min-width:110px;padding:9px}.decision-select{grid-template-columns:1fr}.decision-select select{font-size:11px}.decision-select button{min-height:42px}.table-sidebar{grid-template-columns:1fr;gap:14px}.chat-panel,.wallet-panel,.voice-panel,.game-journal{grid-column:1;grid-row:auto}.wallet-panel{padding:16px}.wallet-panel .eyebrow{margin-bottom:8px}.wallet-amount{font-size:30px}.table-chat__messages{height:160px}.voice-panel{padding:17px}.voice-panel .shared-voice-actions button{min-height:42px;font-size:12px}.table-chat__form input{min-height:43px;font-size:12px}.table-chat__form button{min-height:43px;font-size:11px}.sidebar-heading h2{font-size:14px}.voice-status,.voice-panel>.muted{font-size:11px}.room-footer{flex-direction:column;gap:10px;font-size:8px;padding-bottom:calc(20px + env(safe-area-inset-bottom))}.vegas-alert{font-size:11px;flex-wrap:wrap;padding:10px}.vegas-alert button{font-size:10px}.rules-grid{grid-template-columns:1fr;gap:0}.vegas-rules{margin:28px auto 45px}.vegas-rules h1{font-size:25px;line-height:1.6}.vegas-rules .eyebrow{font-size:9px}.text-link{margin-bottom:25px}.rules-intro{gap:18px}.rules-intro p{font-size:12px}.rule-tile{padding:20px 0}.online-rules{padding:18px}.online-rules ul{padding-left:18px}.score-row{flex-direction:column;gap:5px}}@media (prefers-reduced-motion: reduce){.vegas-app--playing *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}@media (max-width: 650px){.decision-panel{position:sticky;bottom:12px;z-index:20;max-height:45dvh;overflow-y:auto;box-shadow:0 -5px 24px #08231db3}}.vegas-app--playing{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;margin:0;padding:0;overflow:hidden;background:#101a1c}.vegas-app--playing .vegas-header{position:absolute;z-index:12;top:14px;left:26px;right:26px;height:36px;border:0;gap:8px;pointer-events:none}.vegas-app--playing .vegas-header>*{pointer-events:auto}.vegas-app--playing .brand-seal{width:36px;height:36px;font-size:16px}.vegas-app--playing .vegas-brand{font-size:15px;gap:10px}.vegas-app--playing .vegas-brand small{font-size:8px;margin-top:4px;letter-spacing:2.3px}.vegas-app--playing .vegas-header nav{gap:6px;font-size:12px}.vegas-app--playing .connection-indicator{font-size:11px}.table-social-toggle{min-height:34px;padding:4px 11px;border-color:#b8a57750;background:#132723cc;font-size:12px;color:#e4d6b7}.table-social-toggle>span{margin-left:6px;color:#c9ad75}.vegas-app--playing .vegas-room,.vegas-app--playing .room-layout,.vegas-app--playing .table-area{position:absolute;inset:0;display:block;padding:0;margin:0;min-width:0}.vegas-app--playing .room-heading{position:absolute;z-index:8;top:66px;left:26px;display:block;margin:0}.vegas-app--playing .room-heading .eyebrow{display:none}.vegas-app--playing .room-heading h1{margin:0 0 9px;font-size:10px;font-weight:400;color:#abb8a5}.vegas-app--playing .room-heading h1 span{padding-left:9px;font:17px Georgia,serif;letter-spacing:3px;color:#e2d2aa}.vegas-app--playing .room-heading-actions{display:flex;gap:6px}.vegas-app--playing .room-heading-actions button{min-height:28px;padding:3px 8px;border-color:#9ca68b35;background:#10231e99;font-size:9px;color:#b7c2ae}.vegas-app--playing .player-rail{position:absolute;z-index:8;top:66px;left:50%;transform:translate(-50%);display:flex;width:max-content;max-width:calc(100% - 700px);gap:8px;margin:0;overflow-x:auto;scrollbar-width:none}.vegas-app--playing .player-seat{flex:0 0 auto;min-width:112px;max-width:156px;padding:6px 10px 7px;gap:8px;border-bottom:2px solid transparent;background:#112623ba;border-radius:7px}.vegas-app--playing .player-seat--turn{border-bottom-color:var(--player-color);background:#1a302bdc}.vegas-app--playing .player-seat--speaking{box-shadow:inset 0 0 0 1px var(--player-color)}.vegas-app--playing .player-avatar{width:26px;height:26px;font-size:10.5px}.vegas-app--playing .player-seat strong{display:block;font-size:10.5px;overflow:hidden;text-overflow:ellipsis;max-width:100px;white-space:nowrap}.vegas-app--playing .player-seat>div>span{font-size:9px;margin-top:3px;color:#abb6a4;white-space:nowrap}.vegas-app--playing .round-heading{position:absolute;z-index:8;left:26px;top:138px;display:block;margin:0;padding:0;pointer-events:none}.vegas-app--playing .round-heading>span:first-child{font-size:9px;letter-spacing:1px}.vegas-app--playing .round-heading strong{margin-left:9px;font:28px Georgia,serif}.vegas-app--playing .round-heading>span:last-child{display:block;font-size:9px;color:#b7c1ab;margin-top:8px}.vegas-app--playing .round-marks{display:flex;gap:4px;margin-top:9px;width:91px}.vegas-app--playing .round-marks i{width:27px;height:2px}.vegas-app--playing .room-footer{display:none}.vegas-app--playing .offline-banner{position:absolute;z-index:14;top:184px;left:50%;transform:translate(-50%);width:max-content;max-width:90%;padding:9px 14px;background:#5b382cf2;font-size:12px;border-radius:6px}.vegas-app--playing>.vegas-alert,.vegas-app--playing>.vegas-notice{position:absolute;z-index:55;top:65px;left:50%;transform:translate(-50%);width:max-content;max-width:min(650px,90%);margin:0}.pocket-slip{position:absolute;z-index:9;left:26px;bottom:28px;width:239px;padding:14px 18px 15px;text-align:left;border:1px solid rgba(218,186,120,.48);border-radius:11px;color:#f6ebd2;background:linear-gradient(155deg,#102622eb,#091614f0);box-shadow:0 12px 32px #0000007a,inset 0 1px #fff4d624;backdrop-filter:blur(10px)}.pocket-slip:hover:not(:disabled){background:linear-gradient(155deg,#16322cf2,#0c1d1af5);color:#fff6e0;border-color:#e6c680}.pocket-slip>small{font:700 8.5px Georgia,serif;letter-spacing:1.8px;color:#d6b672}.pocket-slip__values{display:flex;align-items:baseline;gap:24px;margin-top:10px}.pocket-slip__values>span{display:block}.pocket-slip b{display:block;font:700 30px Georgia,serif;color:#f8e2a6;text-shadow:0 2px 8px rgba(0,0,0,.5)}.pocket-slip em{display:block;margin-top:2px;font-size:9.5px;font-style:normal;color:#b7c4bc;white-space:nowrap}.table-drawer-scrim{position:absolute;z-index:40;inset:0;width:100%;height:100%;min-height:0;padding:0;border:0;border-radius:0;background:#040c0c80;cursor:default}.table-drawer-scrim:hover:not(:disabled){background:#040c0c80;border:0}.vegas-app--playing .table-sidebar{position:absolute;z-index:45;inset:0 0 0 auto;display:flex;flex-direction:column;align-items:stretch;gap:14px;width:360px;max-width:100%;overflow-y:auto;overscroll-behavior:contain;padding:25px 22px;border-left:1px solid #b7a67455;background:#102723fa;box-shadow:-16px 0 70px #0005;transform:translate(100%);visibility:hidden;transition:transform .18s ease,visibility .18s}.vegas-app--playing .table-sidebar--open{transform:translate(0);visibility:visible}.table-drawer-heading{display:flex;align-items:center;justify-content:space-between;padding-bottom:4px}.table-drawer-heading small{font:9px Georgia,serif;letter-spacing:2px;color:#bfa36f}.table-drawer-heading h2{font:24px SimSun,serif;margin:6px 0 0}.table-drawer-heading>button{font-size:24px;width:40px;height:40px;padding:0;border:0}.vegas-app--playing .wallet-panel,.vegas-app--playing .voice-panel,.vegas-app--playing .chat-panel{flex:0 0 auto;padding:17px;background:#16332c;border-color:#879e7040}.vegas-app--playing .wallet-panel .eyebrow{font-size:8px;margin-bottom:10px}.vegas-app--playing .wallet-amount{font-size:34px}.vegas-app--playing .wallet-amount>span{font-size:11px}.vegas-app--playing .wallet-panel>p{font-size:10px}.vegas-app--playing .wallet-notes{margin-top:11px;padding-top:11px}.vegas-app--playing .wallet-notes .muted{font-size:10px}.vegas-app--playing .sidebar-heading h2{font-size:13px}.vegas-app--playing .voice-status,.vegas-app--playing .voice-panel>.muted{font-size:11px}.vegas-app--playing .shared-voice-actions button{font-size:11px;min-height:40px}.vegas-app--playing .table-chat__messages{min-height:100px;height:22dvh;max-height:240px}.vegas-app--playing .table-chat__form input{font-size:11px;padding:10px 8px}.vegas-app--playing .table-chat__form button{padding:8px;font-size:11px}.vegas-app--playing .round-results{margin:0;font-size:11px}.vegas-app--playing .round-results summary{padding:12px}.vegas-app--playing .round-results h3{font-size:13px;margin:14px 0 6px}.vegas-app--playing .round-results p{font-size:10px}.vegas-app--playing .final-result{position:absolute;z-index:25;top:50%;left:50%;transform:translate(-50%,-50%);width:min(520px,calc(100% - 32px));max-height:74dvh;overflow-y:auto;margin:0;padding:33px;background:#16312cf5;box-shadow:0 15px 100px #0008}.final-close{position:absolute;top:7px;right:7px;font-size:22px;min-width:36px;min-height:36px;padding:2px;border:0}.reopen-final{position:absolute;z-index:12;left:50%;bottom:35px;transform:translate(-50%);background:#dcc18c;color:#28372e}@media (max-width: 1200px){.vegas-app--playing .player-rail{top:80px;left:230px;right:345px;width:auto;max-width:none;transform:none;gap:6px}.vegas-app--playing .player-seat{min-width:105px;padding:8px}}@media (max-width: 1100px){.vegas-app--playing .player-rail{top:91px;left:230px;right:24px}.vegas-app--playing .connection-indicator{display:none}.vegas-app--playing .round-heading{top:153px}}@media (max-width: 650px){.vegas-app--playing .vegas-header{top:max(12px,env(safe-area-inset-top));left:14px;right:14px;height:36px;gap:10px}.vegas-app--playing .vegas-brand{font-size:11px;letter-spacing:1px;gap:7px}.vegas-app--playing .vegas-brand small{font-size:6px;letter-spacing:1.4px;margin-top:4px}.vegas-app--playing .brand-seal{width:31px;height:31px;font-size:14px}.vegas-app--playing .vegas-header nav{gap:12px;font-size:10px}.vegas-app--playing .vegas-header nav a[target=_blank]{display:none}.table-social-toggle{min-height:34px;padding:5px 8px;font-size:10px}.table-social-toggle>span{margin-left:3px}.vegas-app--playing .room-heading{top:69px;left:14px;display:flex;gap:10px;align-items:center;max-width:calc(100% - 145px)}.vegas-app--playing .room-heading h1{margin:0;font-size:8px}.vegas-app--playing .room-heading h1 span{font-size:14px;letter-spacing:2px;padding-left:5px}.vegas-app--playing .room-heading-actions button{font-size:0;min-height:28px;padding:3px 7px}.vegas-app--playing .room-heading-actions button:first-child:after{content:"邀请";font-size:9px}.vegas-app--playing .room-heading-actions button:not(:first-child){font-size:9px}.vegas-app--playing .player-rail{top:109px;left:14px;right:14px;width:auto;max-width:none;transform:none;gap:7px}.vegas-app--playing .player-seat{min-width:116px;max-width:140px;padding:7px 9px;gap:7px}.vegas-app--playing .player-seat strong{font-size:9px}.vegas-app--playing .player-seat>div>span{font-size:8px;margin-top:4px}.vegas-app--playing .player-avatar{width:25px;height:25px;font-size:10px}.vegas-app--playing .round-heading{left:auto;right:14px;top:66px;display:flex;align-items:center;gap:8px}.vegas-app--playing .round-heading>span:first-child{font-size:7px}.vegas-app--playing .round-heading strong{font-size:20px;margin-left:4px}.vegas-app--playing .round-heading>span:last-child{font-size:8px;margin:0}.vegas-app--playing .round-marks{display:none}.pocket-slip{top:218px;bottom:auto;left:14px;width:166px;padding:10px 12px;line-height:1}.pocket-slip>small{display:block;font-size:6px;letter-spacing:1.3px}.pocket-slip__values{gap:16px;margin-top:7px}.pocket-slip b{font-size:22px}.pocket-slip em{font-size:7px}.vegas-app--playing .table-sidebar{width:min(350px,94vw);padding:max(18px,env(safe-area-inset-top)) 17px max(20px,env(safe-area-inset-bottom));gap:12px}.vegas-app--playing .offline-banner{top:205px;font-size:10px;max-width:calc(100% - 28px);width:auto}.vegas-app--playing>.vegas-alert,.vegas-app--playing>.vegas-notice{top:204px;font-size:11px}.vegas-app--playing .final-result{padding:28px 22px}}html[data-tabletop-game=vegas-royale],:root{--bg-base: var(--tt-bg);--bg-surface: var(--tt-surface);--bg-surface-1: var(--tt-surface);--bg-surface-2: var(--tt-surface-active);--bg-elevated: var(--tt-surface-active);--border-base: var(--tt-border);--text-primary: var(--cream);--text-base: var(--cream);--text-secondary: var(--muted);--text-muted: var(--muted);--accent-primary: var(--gold);--accent-gold: var(--gold);--phase-day: var(--gold);--felt: #17453b;--ink: #193a32;--gold: #dfbc79;--cream: #f5e9d5;--muted: #adbbac;--tt-bg: #0c2622;--tt-bg-accent: radial-gradient(circle at 22% 24%, rgba(36, 102, 85, .58) 0%, transparent 56%), radial-gradient(circle at 82% 72%, rgba(223, 188, 121, .12) 0%, transparent 50%), linear-gradient(160deg, #0b231f 0%, #11332d 55%, #0c2420 100%);--tt-surface: rgba(18, 52, 45, .86);--tt-surface-active: rgba(34, 80, 68, .95);--tt-border: rgba(214, 186, 125, .32);--tt-cta: #a34549;--tt-cta-hover: #b64f54;--tt-cta-pressed: #8b383d;--tt-ticket-bg: #f5e9d5;--tt-ticket-ink: #183830;--tt-punch-bg: #0d2823}html[data-tabletop-game=blood-on-the-clocktower],.tabletop--blood-on-the-clocktower{--felt: #281c2d;--ink: #201521;--gold: #dfbc79;--cream: #f5e9d5;--muted: #bdacba;--tt-bg: #16111d;--tt-bg-accent: radial-gradient(circle at 62% 34%, #55253066, transparent 58%), linear-gradient(155deg, #16111d, #27162d 58%, #14151e);--tt-surface: rgba(32, 21, 33, .9);--tt-surface-active: rgba(63, 33, 49, .95);--tt-border: rgba(223, 188, 121, .32);--tt-cta: #a34549;--tt-cta-hover: #b64f54;--tt-cta-pressed: #8b383d}html[data-tabletop-game=camel-up],.tabletop--camel{--felt: #422b18;--ink: #2b1d12;--gold: #f2c36b;--cream: #f7ebd2;--muted: #d6c3a5;--tt-bg: #2b1d12;--tt-bg-accent: radial-gradient(circle at 18% 20%, rgba(235, 152, 62, .36) 0%, transparent 52%), radial-gradient(circle at 84% 76%, rgba(53, 142, 204, .24) 0%, transparent 52%), linear-gradient(155deg, #2b1c11 0%, #3f2917 48%, #1d323a 100%);--tt-surface: rgba(54, 37, 23, .88);--tt-surface-active: rgba(76, 51, 30, .96);--tt-border: rgba(242, 195, 107, .42);--tt-cta: #c4562d;--tt-cta-hover: #d66338;--tt-cta-pressed: #a34420;--tt-ticket-bg: #f4e3bc;--tt-ticket-ink: #2c1e12;--tt-punch-bg: #262523}html[data-tabletop-game=take-six],.tabletop--take-six{--felt: #263a4d;--ink: #1a2936;--gold: #ed9274;--cream: #f6ebe3;--muted: #b8c6d4;--tt-bg: #172431;--tt-bg-accent: radial-gradient(circle at 22% 24%, rgba(237, 146, 116, .28) 0%, transparent 52%), radial-gradient(circle at 80% 72%, rgba(62, 102, 140, .32) 0%, transparent 52%), linear-gradient(160deg, #15212d 0%, #233648 54%, #18232e 100%);--tt-surface: rgba(28, 45, 62, .88);--tt-surface-active: rgba(42, 66, 90, .96);--tt-border: rgba(237, 146, 116, .38);--tt-cta: #bf4e42;--tt-cta-hover: #d15b4e;--tt-cta-pressed: #9e3d33;--tt-ticket-bg: #f6ece2;--tt-ticket-ink: #213242;--tt-punch-bg: #1b2a38}html[data-tabletop-game=for-sale],.tabletop--for-sale{--felt: #24434d;--ink: #193138;--gold: #edb866;--cream: #f7ecd6;--muted: #b5c8cc;--tt-bg: #152930;--tt-bg-accent: radial-gradient(circle at 22% 24%, rgba(237, 184, 102, .28) 0%, transparent 52%), radial-gradient(circle at 82% 72%, rgba(48, 114, 128, .32) 0%, transparent 52%), linear-gradient(160deg, #13252c 0%, #213e47 54%, #162930 100%);--tt-surface: rgba(26, 51, 59, .88);--tt-surface-active: rgba(38, 72, 82, .96);--tt-border: rgba(237, 184, 102, .38);--tt-cta: #b86830;--tt-cta-hover: #ca7438;--tt-cta-pressed: #995424;--tt-ticket-bg: #f6ead2;--tt-ticket-ink: #1d353d;--tt-punch-bg: #182e36}html[data-tabletop-game=love-letter],.tabletop--love-letter{--felt: #422844;--ink: #2d1a2f;--gold: #ed94aa;--cream: #f9eaf0;--muted: #cfb8c8;--tt-bg: #261628;--tt-bg-accent: radial-gradient(circle at 22% 24%, rgba(237, 148, 170, .3) 0%, transparent 52%), radial-gradient(circle at 82% 72%, rgba(156, 78, 116, .28) 0%, transparent 52%), linear-gradient(160deg, #221324 0%, #3b223e 54%, #261529 100%);--tt-surface: rgba(52, 31, 55, .88);--tt-surface-active: rgba(74, 43, 78, .96);--tt-border: rgba(237, 148, 170, .38);--tt-cta: #a83852;--tt-cta-hover: #bc425e;--tt-cta-pressed: #8c2c42;--tt-ticket-bg: #f8e8ec;--tt-ticket-ink: #361d2e;--tt-punch-bg: #2b192d}html[data-tabletop-game=saboteur],.tabletop--saboteur{--felt: #3b372c;--ink: #29261e;--gold: #e1b766;--cream: #f5ebd4;--muted: #c8bfa8;--tt-bg: #221f18;--tt-bg-accent: radial-gradient(circle at 22% 24%, rgba(225, 183, 102, .28) 0%, transparent 52%), radial-gradient(circle at 82% 72%, rgba(120, 96, 58, .3) 0%, transparent 52%), linear-gradient(160deg, #1e1b15 0%, #332e24 54%, #211e18 100%);--tt-surface: rgba(46, 42, 33, .88);--tt-surface-active: rgba(66, 60, 46, .96);--tt-border: rgba(225, 183, 102, .38);--tt-cta: #b3622e;--tt-cta-hover: #c66e36;--tt-cta-pressed: #944e22;--tt-ticket-bg: #f3e6c8;--tt-ticket-ink: #2e271c;--tt-punch-bg: #26231c}html[data-tabletop-game=splendor],.tabletop--splendor{--felt: #1f394a;--ink: #162936;--gold: #8ed6c9;--cream: #eef7f5;--muted: #adc8c4;--tt-bg: #11222e;--tt-bg-accent: radial-gradient(circle at 22% 24%, rgba(142, 214, 201, .28) 0%, transparent 52%), radial-gradient(circle at 82% 72%, rgba(58, 124, 165, .32) 0%, transparent 52%), linear-gradient(160deg, #0f1e29 0%, #1c3546 54%, #12232f 100%);--tt-surface: rgba(24, 47, 62, .88);--tt-surface-active: rgba(36, 68, 88, .96);--tt-border: rgba(142, 214, 201, .38);--tt-cta: #2b7285;--tt-cta-hover: #348398;--tt-cta-pressed: #215b6b;--tt-ticket-bg: #f3ede0;--tt-ticket-ink: #18303d;--tt-punch-bg: #152936}html[data-tabletop-game=night-ninja],.tabletop--night-ninja{--felt: #2c2946;--ink: #1e1c32;--gold: #c5a2df;--cream: #f2ecf8;--muted: #bdb4cf;--tt-bg: #19172b;--tt-bg-accent: radial-gradient(circle at 22% 24%, rgba(197, 162, 223, .28) 0%, transparent 52%), radial-gradient(circle at 82% 72%, rgba(92, 74, 138, .32) 0%, transparent 52%), linear-gradient(160deg, #161426 0%, #282542 54%, #1a182c 100%);--tt-surface: rgba(38, 35, 62, .88);--tt-surface-active: rgba(54, 50, 86, .96);--tt-border: rgba(197, 162, 223, .38);--tt-cta: #7d3e68;--tt-cta-hover: #914979;--tt-cta-pressed: #663154;--tt-ticket-bg: #f3eaf5;--tt-ticket-ink: #241f38;--tt-punch-bg: #1e1b33}html[data-tabletop-game=flip-seven],.tabletop--flip-seven{--felt: #2b4056;--ink: #1d2c3c;--gold: #e9bb6c;--cream: #f6efe2;--muted: #b5c4d4;--tt-bg: #172432;--tt-bg-accent: radial-gradient(circle at 22% 24%, rgba(233, 187, 108, .28) 0%, transparent 52%), radial-gradient(circle at 82% 72%, rgba(58, 98, 138, .32) 0%, transparent 52%), linear-gradient(160deg, #14202c 0%, #253a4e 54%, #182533 100%);--tt-surface: rgba(31, 49, 68, .88);--tt-surface-active: rgba(45, 70, 96, .96);--tt-border: rgba(233, 187, 108, .38);--tt-cta: #b86b2e;--tt-cta-hover: #cc7735;--tt-cta-pressed: #995723;--tt-ticket-bg: #f6ecda;--tt-ticket-ink: #1e3040;--tt-punch-bg: #1b2b3b}html[data-tabletop-game=avalon],.tabletop--avalon{--felt: #1d2d44;--ink: #121d2d;--gold: #d8b467;--cream: #f5ebd8;--muted: #b4c2d4;--tt-bg: #0f1826;--tt-bg-accent: radial-gradient(circle at 22% 24%, rgba(216, 180, 103, .26) 0%, transparent 52%), radial-gradient(circle at 82% 72%, rgba(59, 130, 196, .3) 0%, transparent 52%), linear-gradient(160deg, #0c1420 0%, #1a293e 54%, #101928 100%);--tt-surface: rgba(23, 37, 56, .88);--tt-surface-active: rgba(35, 55, 82, .96);--tt-border: rgba(216, 180, 103, .38);--tt-cta: #2e5f96;--tt-cta-hover: #3870af;--tt-cta-pressed: #234b78;--tt-ticket-bg: #f5ebd6;--tt-ticket-ink: #172638;--tt-punch-bg: #132030}html,body{min-height:100dvh;background-color:var(--tt-bg);background-image:var(--tt-bg-accent);background-attachment:fixed;background-size:cover;color:var(--cream)}.vegas-app:not(.vegas-app--playing){max-width:none;width:100%;height:100dvh;max-height:100dvh;min-height:100dvh;padding:0 clamp(24px,3.2vw,52px);display:flex;flex-direction:column;overflow:hidden;background:transparent}.vegas-app:not(.vegas-app--playing)>.vegas-welcome,.vegas-app:not(.vegas-app--playing)>.vegas-room{flex:1 1 0;min-height:0}.vegas-app:not(.vegas-app--playing)>.vegas-room{max-width:none;width:100%;margin:0;display:flex;flex-direction:column;padding:clamp(4px,.8dvh,12px) 0 0}.vegas-header{position:relative;z-index:2;flex:0 0 auto;height:clamp(50px,6.2dvh,68px);gap:14px;border-bottom:none}.vegas-brand{color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.85)}.vegas-brand small{text-shadow:0 1px 8px rgba(0,0,0,.88)}.brand-seal{background:#080d16ad;box-shadow:0 4px 14px #00000073}.vegas-header nav{gap:8px}.vegas-header .tabletop-menu-links--toggles{display:inline-flex;align-items:center;gap:6px}.vegas-header .tabletop-menu-links--toggles:not(:has(>:not([style*="display: none"]))){display:none}.vegas-header .tabletop-menu-links--nav{display:inline-flex;align-items:center;gap:2px;min-height:34px;padding:3px;border-radius:9px;background:#0a1416d6;border:1px solid rgba(223,188,121,.32);box-shadow:0 6px 18px #0000005c,inset 0 1px #fff8e21a;backdrop-filter:blur(12px)}.vegas-header nav>a,.vegas-header .tabletop-menu-links--nav>a{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:3px 10px;border-radius:6px;font-size:12px;font-weight:600;letter-spacing:.3px;color:#f2e7ce;background:transparent;border:1px solid transparent;text-decoration:none;white-space:nowrap;transition:background .15s ease,border-color .15s ease,color .15s ease}.vegas-header nav>a:hover,.vegas-header nav>a[aria-current=page],.vegas-header .tabletop-menu-links--nav>a:hover,.vegas-header .tabletop-menu-links--nav>a[aria-current=page],.vegas-header .tabletop-menu-links--nav>a[aria-expanded=true]{color:#ffe7ad;background:#dfbc792e;border-color:#dfbc7961}.tabletop-account{display:inline-flex;align-items:center;gap:7px;min-width:0;flex-shrink:0;min-height:34px;padding:2px 4px 2px 11px;border-radius:9px;background:#0a1416d6;border:1px solid rgba(223,188,121,.32);box-shadow:0 6px 18px #0000005c,inset 0 1px #fff8e21a;backdrop-filter:blur(12px)}.tabletop-account .connection-indicator{position:static;font-size:11.5px;font-weight:600;color:#f2e7ce;max-width:116px;text-shadow:0 1px 6px rgba(0,0,0,.82)}@media (max-width: 1100px){.vegas-app--playing .tabletop-account{padding:2px;gap:0;min-height:0}}@media (max-width: 650px){.vegas-app:not(.vegas-app--playing) .tabletop-account{grid-column:2;grid-row:1;padding:2px 3px 2px 9px;gap:6px}.vegas-app:not(.vegas-app--playing) .tabletop-account .connection-indicator{max-width:65px}}@media (max-width: 900px){.tabletop--chat-open .vegas-header .tabletop-voice{display:none}}.tabletop-room-shell__sidebar,.tabletop-voice,.table-social-toggle{--tt-chrome-bg: color-mix(in srgb, var(--tt-bg) 86%, #000);--tt-chrome-surface: color-mix(in srgb, var(--felt) 40%, var(--tt-bg));--tt-chrome-raised: color-mix(in srgb, var(--gold) 9%, var(--felt));--tt-chrome-line: var(--tt-border);--tt-chrome-line-soft: color-mix(in srgb, var(--gold) 14%, transparent);--tt-chrome-wash: color-mix(in srgb, var(--gold) 13%, transparent);--tt-chrome-accent: color-mix(in srgb, var(--gold) 24%, var(--felt));--tt-chrome-accent-hover: color-mix(in srgb, var(--gold) 34%, var(--felt));--tt-chrome-ink: var(--cream);--tt-chrome-ink-strong: color-mix(in srgb, var(--cream) 60%, #fff);--tt-chrome-ink-soft: color-mix(in srgb, var(--gold) 45%, var(--cream));--tt-chrome-muted: var(--muted)}.vegas-header .tabletop-voice{min-height:34px;padding:3px;gap:2px;border-radius:9px;background:#0a1416d6;border:1px solid rgba(223,188,121,.32);box-shadow:0 6px 18px #0000005c,inset 0 1px #fff8e21a;backdrop-filter:blur(12px)}.vegas-header .tabletop-voice:not(.is-live) .tabletop-voice__status{display:none}.vegas-header .tabletop-voice button{min-height:26px;padding:3px 8px;border-radius:6px;font-size:12px}.vegas-header .tabletop-voice .tabletop-voice__icon{width:26px;min-width:26px;padding:4px}.table-social-toggle{min-height:34px;padding:4px 11px;border-radius:9px;font-size:12px;font-weight:600;border:1px solid rgba(223,188,121,.32);background:#0a1416d6;color:#f2e7ce;box-shadow:0 6px 18px #0000005c,inset 0 1px #fff8e21a;backdrop-filter:blur(12px)}.table-social-toggle:hover:not(:disabled),.table-social-toggle[aria-expanded=true]{border-color:#dfbc7994;background:#dfbc792e;color:#ffe7ad}.table-social-toggle>span{color:var(--gold);margin-left:6px}@media (max-width: 650px){.vegas-app--playing .vegas-header .debug-mode-toggle{display:none}.vegas-app--playing .vegas-header nav{margin-left:auto;gap:6px}.vegas-app--playing .vegas-header nav a:not([href="#/"]){display:none}}.debug-mode-toggle{min-height:34px;padding:4px 11px;border-radius:9px;font-size:11.5px;font-weight:600;letter-spacing:.4px;color:#f2e7ce;border:1px dashed rgba(223,188,121,.48);background:#0a1416d6;box-shadow:0 6px 18px #0000005c;backdrop-filter:blur(12px);text-shadow:0 1px 5px rgba(0,0,0,.78)}.debug-mode-toggle:hover:not(:disabled):not(.is-active){color:var(--gold);background:#0e1622db;border-color:var(--gold)}.debug-mode-toggle.is-active{color:#182620;font-weight:700;background:linear-gradient(180deg,#fae29c,#e0b252);border:1px solid #fff0be;box-shadow:0 4px 14px #0000006b,0 0 14px #f2c36b6b;text-shadow:none}.connection-indicator.is-debug{color:#f5d27b}.tabletop-play-status{display:contents}.vegas-app--playing[data-game=vegas-royale]{--tt-play-status-width: clamp(239px, 20vw, 288px)}.vegas-app--playing .tabletop-play-status--vegas{position:absolute;z-index:8;top:66px;left:26px;display:grid;gap:14px;width:var(--tt-play-status-width);max-width:calc(100% - 52px);pointer-events:none}.vegas-app--playing .tabletop-play-status--vegas .round-heading{position:static;display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:baseline;gap:6px 12px;margin:0}.vegas-app--playing .tabletop-play-status--vegas .round-heading>span:last-child{grid-area:1 / 2;margin:0;text-align:right}.vegas-app--playing .tabletop-play-status--vegas .round-marks{grid-area:2 / 1 / 3 / -1;margin-top:0}@media (min-width: 651px) and (max-width: 1200px){.vegas-app--playing[data-game=vegas-royale] .player-rail{left:calc(42px + var(--tt-play-status-width))}}@media (max-width: 650px){.vegas-app--playing .tabletop-play-status--vegas{top:164px;left:14px;width:calc(100% - 28px);max-width:none}}@media (pointer: coarse) and (orientation: landscape) and (max-height: 600px){.vegas-app--playing .tabletop-play-status--vegas{display:contents}}html[data-tabletop-portrait-lite="1"] .vegas-app--playing .tabletop-play-status--vegas{display:contents}.vegas-app--playing .player-seat .player-avatar-frame{padding:2px;border-radius:50%;border:2px solid var(--player-color);background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--player-color) 28%,rgba(16,30,28,.9)),#081012eb);box-shadow:0 0 10px color-mix(in srgb,var(--player-color) 38%,transparent)}.vegas-app--playing .player-seat strong:before{content:"";display:inline-block;width:7.5px;height:7.5px;border-radius:2px;background:var(--player-color);box-shadow:0 0 0 1px #ffffff42;margin-right:5px;vertical-align:-.5px}.vegas-app--playing .player-seat{border:1px solid color-mix(in srgb,var(--player-color) 28%,rgba(223,188,121,.18));border-bottom:2px solid color-mix(in srgb,var(--player-color) 55%,transparent);background:linear-gradient(180deg,#0e1c1ce0,#091314eb);box-shadow:0 8px 22px #00000061;backdrop-filter:blur(10px)}.vegas-app--playing .player-seat--turn{background:linear-gradient(180deg,color-mix(in srgb,var(--player-color) 24%,rgba(20,38,35,.94)),#0c1918f0);border-color:color-mix(in srgb,var(--player-color) 72%,#fff);border-bottom-color:var(--player-color);box-shadow:0 10px 26px #0000007a,0 0 16px color-mix(in srgb,var(--player-color) 28%,transparent)}@media (min-width: 721px){.vegas-app--playing:not(.tabletop--portrait-lite) :is(.table-tools,.camel-toolbar,.party-camera-tools,.ft-tools){top:56px;right:26px;z-index:9;display:inline-flex;align-items:center;gap:2px;padding:3px;border-radius:9px;background:#0a1416d6;background-image:none;border:1px solid rgba(223,188,121,.32);box-shadow:0 6px 18px #0000005c,inset 0 1px #fff8e21a;backdrop-filter:blur(12px)}.vegas-app--playing:not(.tabletop--portrait-lite) :is(.table-tools,.camel-toolbar,.party-camera-tools,.ft-tools) button{min-height:26px;min-width:26px;padding:3px 8px;border-radius:6px;border:1px solid transparent;background:transparent;background-image:none;box-shadow:none;font-size:11.5px;font-weight:500;color:#d8dfd6;transition:background .14s ease,border-color .14s ease,color .14s ease}.vegas-app--playing:not(.tabletop--portrait-lite) :is(.table-tools,.camel-toolbar,.party-camera-tools,.ft-tools) button[role=switch]:first-of-type{margin-left:5px;position:relative}.vegas-app--playing:not(.tabletop--portrait-lite) :is(.table-tools,.camel-toolbar,.party-camera-tools,.ft-tools) button[role=switch]:first-of-type:before{content:"";position:absolute;left:-4px;top:5px;bottom:5px;width:1px;background:#dfbc793d;pointer-events:none}.vegas-app--playing:not(.tabletop--portrait-lite) :is(.table-tools,.camel-toolbar,.party-camera-tools,.ft-tools) button:hover:not(:disabled){background:#dfbc7924;color:#fff6df}.vegas-app--playing:not(.tabletop--portrait-lite) :is(.table-tools,.camel-toolbar,.party-camera-tools,.ft-tools) :is([aria-pressed=true],[aria-checked=true]){background:#dfbc7933;border-color:#dfbc796b;color:#ffe7ad;font-weight:600}}.debug-spawn-group{display:inline-flex;align-items:center;gap:6px;padding:3px 4px 3px 8px;border-radius:9px;background:#0c221ea6;border:1px solid rgba(242,195,107,.42)}.tabletop--camel .debug-spawn-group{background:#26190fb8}.debug-spawn-input{width:118px;min-height:32px;padding:4px 8px;font-size:12px;border:0;background:transparent;color:var(--cream)}.debug-spawn-input:focus-visible{outline:none}.debug-spawn-btn{min-height:32px;padding:5px 11px;border-radius:6px;font-size:11.5px;font-weight:600;color:#1e312b;background:linear-gradient(180deg,#f6d98a,#dfb254);border:1px solid #fae2a0}.debug-spawn-btn:hover:not(:disabled){background:linear-gradient(180deg,#fae2a0,#e7bd62);color:#162621}.seat-debug-tag{padding:1px 5px;border-radius:999px;background:#f2c36b3d;border:1px solid rgba(242,195,107,.55);color:var(--gold)!important;font-weight:600}.player-rail--waiting .seat-open-slot--debug{border-color:#f2c36ba6;background:#1a42389e}.tabletop--camel .player-rail--waiting .seat-open-slot--debug{background:#3e2817ad}.vegas-alert{margin:10px 0 0;padding:9px 16px}.tabletop--camel.vegas-app--playing{background:#263b43}.tabletop--camel .vegas-brand small{color:#f2c36b}.tabletop--camel .brand-seal{border-radius:10px;background:#f2c36b24;border-color:#f2c36b}.tabletop--camel .brand-seal:after{border-radius:6px;transform:rotate(45deg)}.tabletop--camel .vegas-header{background:transparent;border-bottom-color:#f2c36b47}.vegas-welcome{position:relative;z-index:1;min-height:0;height:auto;display:grid;grid-template-columns:minmax(0,1fr) clamp(316px,24vw,368px);grid-template-rows:minmax(0,1fr) auto;gap:clamp(8px,1.6dvh,16px) clamp(24px,2.8vw,40px);align-items:end;padding:clamp(4px,1.1dvh,12px) 0 clamp(10px,2dvh,22px)}.tt-backdrop-stage{position:fixed;top:0;left:0;width:100vw;height:100dvh;z-index:0;overflow:hidden;pointer-events:none;user-select:none;background-color:var(--tt-bg);background-image:var(--tt-bg-accent);background-size:cover;transition:background-color .48s ease}@keyframes ttKenBurns{0%{transform:scale(1.02) translateZ(0)}50%{transform:scale(1.065) translate3d(-1.2%,-.8%,0)}to{transform:scale(1.02) translateZ(0)}}@keyframes ttKenBurnsDesert{0%,to{transform:scale(1.03) translate3d(-.8%,0,0)}50%{transform:scale(1.06) translate3d(1.1%,-.5%,0)}}@keyframes ttKenBurnsPalace{0%,to{transform:scale(1.025) translate3d(0,.4%,0)}50%{transform:scale(1.06) translate3d(-.6%,-1%,0)}}.tt-backdrop-stage__art,.tt-backdrop-stage__canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity .42s cubic-bezier(.22,1,.36,1);filter:brightness(1.12) contrast(1.03) saturate(1.08)}.tt-backdrop-stage__art.is-loaded,.tt-backdrop-stage__canvas.is-loaded{opacity:1}.tt-backdrop-stage__svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}@keyframes ttAmbientSweep{0%,to{opacity:.24;transform:translate3d(-4%,-2%,0) scale(1)}50%{opacity:.44;transform:translate3d(4%,2%,0) scale(1.08)}}.tt-backdrop-stage__glow{position:absolute;inset:-12%;background:radial-gradient(ellipse 52% 38% at 58% 42%,color-mix(in srgb,var(--gold) 20%,transparent) 0%,transparent 65%),radial-gradient(ellipse 44% 34% at 36% 64%,color-mix(in srgb,var(--felt) 28%,transparent) 0%,transparent 70%);mix-blend-mode:screen;animation:ttAmbientSweep 10s ease-in-out infinite}.tt-backdrop-stage__vignette{position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,8,14,.54) 0%,rgba(4,8,14,.2) 68px,transparent 136px),radial-gradient(ellipse 38% 72% at 12% 52%,rgba(4,8,14,.46) 0%,transparent 100%),radial-gradient(ellipse 46% 38% at 24% 84%,rgba(4,8,14,.48) 0%,transparent 100%);transition:background .52s ease}@keyframes ttVeilEnterRoom{0%{opacity:0;transform:translate3d(18%,14%,0) scale(.52)}32%{opacity:.88}to{opacity:0;transform:translateZ(0) scale(1.42)}}@keyframes ttVeilStartGame{0%{opacity:0;transform:scale(.45)}28%{opacity:.95}to{opacity:0;transform:scale(1.58)}}@keyframes ttVeilLeaveRoom{0%{opacity:.82;transform:translate3d(-35%,0,0) skew(-14deg)}to{opacity:0;transform:translate3d(65%,0,0) skew(-14deg)}}@keyframes ttVeilRulesSweep{0%{opacity:.78;transform:translate3d(0,24%,0) scaleY(.82)}to{opacity:0;transform:translate3d(0,-18%,0) scaleY(1.12)}}@keyframes ttVeilSwitchGame{0%{opacity:.72;transform:translate3d(-48%,0,0) skew(-16deg)}to{opacity:0;transform:translate3d(62%,0,0) skew(-16deg)}}.tt-page-transition-veil{position:fixed;inset:-12%;z-index:25;pointer-events:none;mix-blend-mode:screen;opacity:0}.tt-page-transition-veil--enter-room{background:radial-gradient(circle at 58% 56%,color-mix(in srgb,var(--gold) 36%,transparent) 0%,color-mix(in srgb,var(--felt) 28%,transparent) 38%,transparent 70%);animation:ttVeilEnterRoom .62s cubic-bezier(.22,1,.36,1) forwards}.tt-page-transition-veil--start-game{background:radial-gradient(circle at 50% 52%,rgba(255,246,214,.42) 0%,color-mix(in srgb,var(--gold) 34%,transparent) 32%,color-mix(in srgb,var(--felt) 26%,transparent) 56%,transparent 76%);animation:ttVeilStartGame .66s cubic-bezier(.16,1,.3,1) forwards}.tt-page-transition-veil--leave-room{background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--gold) 26%,transparent) 45%,rgba(255,248,228,.22) 50%,color-mix(in srgb,var(--felt) 24%,transparent) 56%,transparent 100%);animation:ttVeilLeaveRoom .54s cubic-bezier(.22,1,.36,1) forwards}.tt-page-transition-veil--rules{background:radial-gradient(ellipse 64% 48% at 50% 50%,color-mix(in srgb,var(--gold) 28%,transparent) 0%,transparent 72%);animation:ttVeilRulesSweep .5s cubic-bezier(.22,1,.36,1) forwards}.tt-page-transition-veil--switch-game{background:linear-gradient(102deg,transparent 15%,color-mix(in srgb,var(--gold) 22%,transparent) 48%,rgba(255,250,235,.18) 51%,transparent 82%);animation:ttVeilSwitchGame .5s cubic-bezier(.22,1,.36,1) forwards}.party-lobby-emblem{width:84px;height:84px;margin:12px auto 18px}.tabletop--party.vegas-app--playing .player-rail{max-width:calc(100% - 360px)}@media (max-width: 900px){.tabletop--party .player-rail--waiting .player-seat,.tabletop--party .player-rail--waiting .seat-open-slot{width:auto}}@media (max-width: 650px){.tabletop--party.vegas-app--playing .player-rail{top:107px;max-width:none}.tabletop--party.vegas-app--playing .vegas-header .debug-mode-toggle{display:none}}.tabletop-roster-dock{grid-column:1;grid-row:1;align-self:center;justify-self:start;width:348px;padding:6px 0 6px 22px;border-left:2px solid rgba(255,245,220,.28);background:none;min-height:0;max-height:max(200px,calc(100dvh - 410px));overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--gold) transparent}.roster-spine-header{font:700 12px Consolas,Courier New,monospace;letter-spacing:2.8px;color:var(--gold);margin:0 0 12px;opacity:.92;text-shadow:0 2px 10px rgba(0,0,0,.85)}.tabletop-game-cards{display:flex;flex-direction:column;gap:3px;margin:0}.tabletop-game-cards button{position:relative;display:flex;align-items:center;gap:13px;text-align:left;padding:6px 16px 6px 12px;min-height:40px;background:transparent;border:0;border-radius:10px;opacity:.72;transition:transform .18s cubic-bezier(.22,1,.36,1),opacity .18s ease,background .18s ease}.tabletop-game-cards button:before{content:"";position:absolute;left:-23px;top:7px;bottom:7px;width:3.5px;border-radius:999px;background:var(--gold);box-shadow:0 0 14px var(--gold);opacity:0;transition:opacity .18s ease}.tabletop-game-cards button:hover:not(:disabled){opacity:.98;transform:translate(5px);background:#ffffff12}.tabletop-game-cards button[aria-pressed=true]{opacity:1;transform:translate(8px);padding-top:10px;padding-bottom:10px;background:linear-gradient(90deg,#0a101ac7,#0a101a52 68%,#0a101a00);box-shadow:inset 0 1px #ffffff1f}.tabletop-game-cards button[aria-pressed=true]:before{opacity:1}.game-card-seal{width:34px;height:34px;flex-shrink:0;border-radius:9px;border:1px solid rgba(223,188,121,.48);background:#0a0f16a6;display:grid;place-items:center;font:700 12px Georgia,serif;color:var(--gold);letter-spacing:-.5px;overflow:hidden;box-shadow:0 4px 12px #00000080;transition:width .18s ease,height .18s ease,border-color .18s ease,box-shadow .18s ease}.game-seal-icon{width:100%;height:100%;object-fit:cover;display:block}.brand-seal{overflow:hidden}.tabletop-game-cards button[aria-pressed=true] .game-card-seal{width:44px;height:44px;border-radius:11px;border-color:var(--gold);background:#fff4d638;box-shadow:0 0 18px #f2c36b73}@keyframes ttRosterFlowWave{0%{background-position:200% 50%}to{background-position:-100% 50%}}.tabletop-game-cards button[aria-pressed=true]{background-image:linear-gradient(105deg,#0a101ac7,color-mix(in srgb,var(--gold) 24%,rgba(16,24,36,.72)) 38%,#0a101a6b 68%,#0a101a00);background-size:220% 100%;animation:ttRosterFlowWave 5.6s linear infinite}.game-card-seal .party-glyph{width:20px;height:20px}.game-card-body{min-width:0;display:flex;flex-direction:column;gap:2px}.tabletop-game-cards strong{font-size:15.5px;font-weight:600;letter-spacing:.8px;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.92);white-space:nowrap}.tabletop-game-cards button[aria-pressed=true] strong{font-size:18px;font-weight:700;color:var(--gold)}.tabletop-game-cards small{display:none;font-size:12px;font-weight:500;color:#f8f2e4e6;text-shadow:0 2px 8px rgba(0,0,0,.88);white-space:nowrap}.tabletop-game-cards button[aria-pressed=true] small{display:block}@keyframes ttWelcomeSlideRight{0%{opacity:0;transform:translate3d(-24px,4px,0);filter:blur(4px)}to{opacity:1;transform:translateZ(0);filter:blur(0)}}@keyframes ttWelcomeRiseUp{0%{opacity:0;transform:translate3d(0,16px,0);filter:blur(3px)}to{opacity:1;transform:translateZ(0);filter:blur(0)}}@keyframes ttTicketSwitchReveal{0%{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:translateZ(0)}}.welcome-art{grid-column:1;grid-row:2;align-self:end;position:relative;padding:clamp(2px,.4dvh,4px) 16px 0 0;max-width:680px}.welcome-art h1{animation:ttWelcomeSlideRight .44s cubic-bezier(.22,1,.36,1) both}.welcome-art .welcome-title-bar{animation:ttWelcomeRiseUp .44s cubic-bezier(.22,1,.36,1) 45ms both}.welcome-art .welcome-copy{animation:ttWelcomeRiseUp .46s cubic-bezier(.22,1,.36,1) 85ms both}.welcome-art .welcome-facts{animation:ttWelcomeRiseUp .48s cubic-bezier(.22,1,.36,1) 125ms both}.ticket-switch-head{animation:ttTicketSwitchReveal .42s cubic-bezier(.22,1,.36,1) both}.welcome-art:before,.welcome-art:after{display:none}.welcome-art h1{font-family:Georgia,Times New Roman,serif;font-size:clamp(36px,min(5.6vw,7.4dvh),82px);font-weight:400;line-height:.95;letter-spacing:-2px;margin:clamp(2px,.45dvh,4px) 0 clamp(4px,.95dvh,10px);color:#fff;text-shadow:0 10px 32px rgba(0,0,0,.78)}.welcome-art h1 span{display:inline-block;font-style:italic;color:var(--gold);margin-left:14px}.welcome-art[data-art-game=blood-on-the-clocktower] h1{font-size:clamp(30px,min(4.6vw,6dvh),70px)}.welcome-art[data-art-game=blood-on-the-clocktower] h1 span{display:block;margin:4px 0 0}.welcome-art h1.camel-welcome-title{letter-spacing:-1px;text-transform:uppercase}.welcome-art h1.camel-welcome-title span{display:inline-block;font-style:normal;font-weight:700;color:#26190d;background:linear-gradient(180deg,#f9d982,#eab046);padding:1px 16px 5px;border-radius:10px;margin-left:14px;transform:rotate(-4deg) translateY(-3px);box-shadow:0 6px 18px #00000052}.welcome-title-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:clamp(2px,.45dvh,4px) 0 clamp(4px,.95dvh,10px)}.welcome-subtitle{font-family:"Noto Serif SC",SimSun,serif;letter-spacing:3px;font-size:clamp(15px,min(1.6vw,1.95dvh),20px);font-weight:600;margin:0;color:#fff;text-shadow:0 4px 16px rgba(0,0,0,.75)}.welcome-english-badge{font-size:12px;letter-spacing:.8px;color:var(--gold);border-left:2px solid rgba(242,195,107,.55);padding-left:12px;text-shadow:0 2px 10px rgba(0,0,0,.75)}.welcome-copy{font-size:clamp(12px,1.38dvh,14px);color:#f7f2e8eb;line-height:1.56;max-width:52ch;margin-bottom:clamp(8px,1.45dvh,16px);text-shadow:0 2px 14px rgba(0,0,0,.85)}.welcome-facts{display:inline-flex;gap:clamp(12px,1.5vw,18px);flex-wrap:wrap;align-items:center;padding:clamp(5px,.78dvh,8px) clamp(12px,1.5vw,18px);border-radius:999px;background:#080c128f;border:1px solid rgba(255,245,220,.16);backdrop-filter:blur(18px)}.welcome-fact-card{display:flex;align-items:center;padding-right:clamp(11px,1.3vw,16px);border-right:1px solid rgba(255,255,255,.14)}.welcome-fact-main{display:flex;align-items:baseline;gap:6px}.welcome-fact-main strong{font:600 clamp(15px,1.75dvh,18px) Georgia,serif;color:var(--gold);font-variant-numeric:tabular-nums}.welcome-fact-main small{font-size:12px;color:var(--cream);margin:0}.welcome-rules-pill{font-size:12px;font-weight:600;color:var(--gold);text-decoration:none;white-space:nowrap}.welcome-rules-pill:hover{text-decoration:underline}.tabletop-rules-modal.n-card{color:var(--cream);color-scheme:dark}.tabletop-rules-modal.n-card>.n-card-header{min-height:60px;padding:8px 20px}.tabletop-rules-modal.n-card>.n-card-header .n-base-close{min-width:44px;min-height:44px}.tabletop-rules-modal.n-card>.n-card-content{padding:clamp(18px,3vw,30px);scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#c7aa70 #102b25}.tabletop-rules-modal>.n-card-content::-webkit-scrollbar{width:10px}.tabletop-rules-modal>.n-card-content::-webkit-scrollbar-track{background:#102b25}.tabletop-rules-modal>.n-card-content::-webkit-scrollbar-thumb{border:2px solid #102b25;border-radius:8px;background:#c7aa70}.tabletop-rules-modal.n-card>.n-card__footer{display:flex;justify-content:flex-end;padding:12px 20px}.tabletop-rules-modal .tabletop-rules-close{min-height:44px;padding:8px 20px}.tabletop-rules-modal .vegas-rules{max-width:none;margin:0;font-size:14px;line-height:1.85;overflow-wrap:anywhere}.tabletop-rules-modal .vegas-rules h1{margin:8px 0 18px;font-size:clamp(21px,2.5vw,30px);line-height:1.5}.tabletop-rules-modal .rules-intro{grid-template-columns:1fr;gap:12px;padding-bottom:20px;margin-bottom:12px}.tabletop-rules-modal .rules-intro p,.tabletop-rules-modal .rule-tile p,.tabletop-rules-modal .online-rules li{font-size:13px}.tabletop-rules-modal .rule-tile small{font-size:11px}.tabletop-rules-modal .tile-code{flex:0 0 auto;min-width:32px;white-space:nowrap;text-align:center}.tabletop-rules-modal .rule-tile>div{min-width:0}.tabletop-rules-modal .online-rules{margin-top:24px}@media (pointer: coarse) and (max-height: 600px){.tabletop-rules-modal.n-card>.n-card-header{min-height:52px;padding:4px 16px}.tabletop-rules-modal.n-card>.n-card-content{padding:14px 20px}.tabletop-rules-modal.n-card>.n-card__footer{padding:8px 16px}}.entry-ticket{grid-column:2;grid-row:1 / -1;align-self:end;max-height:100%;background:linear-gradient(162deg,#121926c2,#090d15e6);color:var(--cream);padding:clamp(14px,1.9dvh,20px) clamp(16px,1.8vw,22px) clamp(12px,1.55dvh,16px);border:1px solid rgba(242,195,107,.26);box-shadow:0 24px 56px #0000008f,inset 0 1px #fff8e433;backdrop-filter:blur(26px) saturate(1.45);position:relative;border-radius:20px;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--gold) transparent;display:flex;flex-direction:column;justify-content:center;transition:transform .26s cubic-bezier(.22,1,.36,1),border-color .26s ease,box-shadow .26s ease}.entry-ticket:before{content:"";position:absolute;top:0;left:16%;right:16%;height:2px;border-radius:0 0 999px 999px;background:linear-gradient(90deg,transparent 0%,var(--gold) 50%,transparent 100%);opacity:.72;pointer-events:none}.entry-ticket:after{display:none}.entry-ticket:hover{border-color:#f2c36b70;box-shadow:0 26px 62px #0000009e,0 0 30px color-mix(in srgb,var(--gold) 16%,transparent),inset 0 1px #fff8e442}.entry-ticket--launching{transform:translateY(-3px) scale(1.01);border-color:var(--gold);box-shadow:0 26px 64px #0000009e,0 0 36px color-mix(in srgb,var(--gold) 34%,transparent),inset 0 1px #ffffff47}.ticket-top{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid rgba(255,245,220,.1);padding-bottom:clamp(7px,1.05dvh,11px);margin-bottom:clamp(7px,1.15dvh,12px)}.ticket-top__brand{display:flex;align-items:center;gap:10px;min-width:0}.ticket-top__icon{width:clamp(28px,3.3dvh,34px);height:clamp(28px,3.3dvh,34px);flex-shrink:0;border-radius:8px;border:1px solid rgba(242,195,107,.55);background:#080c12b8;box-shadow:0 4px 12px #00000073;display:grid;place-items:center;overflow:hidden;color:var(--gold);font:700 11px Georgia,serif}.ticket-top__icon .party-glyph{width:18px;height:18px}.ticket-top__titles{display:flex;flex-direction:column;gap:2px;min-width:0}.ticket-top__code{font:700 9.5px Consolas,Courier New,monospace;letter-spacing:1.8px;color:var(--gold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ticket-top__meta{font-size:11.5px;font-weight:600;color:#f7f2e8db;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entry-ticket h2{font-size:clamp(17px,2.05dvh,21px);font-weight:600;color:#fff;margin-bottom:clamp(2px,.4dvh,4px);letter-spacing:.5px}.clocktower-launch{display:flex;align-items:center;justify-content:center;gap:10px;box-sizing:border-box;min-height:clamp(40px,4.6dvh,48px);padding:clamp(9px,1.15dvh,12px) 16px;border:1px solid rgba(255,240,200,.42);border-radius:11px;background:var(--tt-cta);color:#fff8eb;font:600 15px/1.4 system-ui,Microsoft YaHei,sans-serif;text-decoration:none;transition:background-color .18s ease}.clocktower-launch:hover{background:var(--tt-cta-hover)}.clocktower-launch:active{background:var(--tt-cta-pressed)}.clocktower-launch:focus-visible,.tabletop-game-cards button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.entry-ticket>p,.ticket-switch-head>p{font-size:clamp(11px,1.2dvh,12px);color:#ebe6dabd;margin-bottom:clamp(8px,1.35dvh,14px);line-height:1.5}@keyframes ttButtonSheenSweep{0%,72%{transform:translate3d(-135%,0,0) skew(-22deg)}to{transform:translate3d(235%,0,0) skew(-22deg)}}.vegas-primary.botc-button{position:relative;overflow:hidden;--n-color: var(--tt-cta) !important;--n-color-hover: var(--tt-cta-hover) !important;--n-color-pressed: var(--tt-cta-pressed) !important;--n-border: 1px solid rgba(255, 240, 200, .42) !important;--n-border-hover: 1px solid var(--gold) !important;--n-text-color: #fff8eb !important;height:clamp(38px,4.4dvh,46px)!important;border-radius:11px!important;font-size:14.5px!important;font-weight:600;letter-spacing:.6px;box-shadow:0 8px 20px #00000057;transition:transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s ease!important}.vegas-primary.botc-button:after,.lobby-start-btn.botc-button:not(:disabled):after{content:"";position:absolute;top:0;bottom:0;left:0;width:44%;pointer-events:none;background:linear-gradient(90deg,transparent 0%,rgba(255,250,230,.24) 50%,transparent 100%);transform:translate3d(-135%,0,0) skew(-22deg);animation:ttButtonSheenSweep 5.2s ease-in-out infinite}.vegas-primary.botc-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 26px #00000070,0 0 18px color-mix(in srgb,var(--tt-cta) 55%,var(--gold))}.vegas-primary.botc-button:active:not(:disabled){transform:translateY(0) scale(.985)}.vegas-primary.botc-button span[aria-hidden=true]{display:inline-block;margin-left:4px;transition:transform .2s cubic-bezier(.22,1,.36,1)}.vegas-primary.botc-button:hover:not(:disabled) span[aria-hidden=true]{transform:translate(2.5px,-2.5px)}.entry-ticket .ticket-divider{display:flex;align-items:center;gap:10px;margin:clamp(7px,1.15dvh,12px) 0 clamp(6px,.95dvh,10px);font-size:10.5px;letter-spacing:1px;color:#ebe6da8f}.entry-ticket .ticket-divider:before,.entry-ticket .ticket-divider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,245,220,.16) 50%,transparent 100%)}.entry-ticket .join-form{margin-top:0}.entry-ticket .join-form__capsule{display:flex;align-items:stretch;gap:6px;padding:4px;border-radius:12px;background:#05090fb8;border:1px solid rgba(255,245,220,.18);box-shadow:inset 0 2px 6px #0000006b;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.entry-ticket .join-form__capsule:focus-within{border-color:var(--gold);background:#070c14e0;box-shadow:inset 0 2px 6px #0000006b,0 0 0 3px color-mix(in srgb,var(--gold) 20%,transparent)}.entry-ticket .join-form input{flex:1;min-width:0;height:clamp(32px,3.5dvh,36px);background:transparent;border:0;color:#fff;border-radius:8px;padding:0 10px;font:700 14px Consolas,Courier New,monospace;letter-spacing:2.2px;text-transform:uppercase}.entry-ticket .join-form input::placeholder{font-family:Noto Sans SC,Microsoft YaHei,system-ui,sans-serif;font-size:11.5px;font-weight:400;letter-spacing:.3px;text-transform:none;color:#e1dcd075}.entry-ticket .join-form input:focus{outline:none;box-shadow:none}.entry-ticket .join-form button{flex-shrink:0;min-height:clamp(32px,3.5dvh,36px);background:#ffffff14;border:1px solid rgba(255,255,255,.14);color:#f5eee0b8;border-radius:8px;padding:0 14px;font-size:12.5px;font-weight:600;transition:transform .18s cubic-bezier(.22,1,.36,1),border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease}.entry-ticket .join-form button:not(:disabled){border-color:color-mix(in srgb,var(--gold) 78%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--gold) 32%,rgba(255,255,255,.12)),color-mix(in srgb,var(--gold) 20%,rgba(16,22,32,.6)));color:#fff6df;box-shadow:0 0 14px color-mix(in srgb,var(--gold) 24%,transparent)}.entry-ticket .join-form button:hover:not(:disabled){transform:translateY(-1px);border-color:var(--gold);background:color-mix(in srgb,var(--gold) 38%,rgba(255,255,255,.14));color:#fff;box-shadow:0 4px 14px #00000059,0 0 18px color-mix(in srgb,var(--gold) 34%,transparent)}.entry-ticket .join-form button:active:not(:disabled){transform:translateY(0) scale(.98)}@keyframes ttResumeFlowGlow{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.entry-ticket .resume-room{position:relative;overflow:hidden;margin-top:clamp(6px,.95dvh,10px);min-height:clamp(32px,3.7dvh,38px);display:flex;align-items:center;gap:8px;background:linear-gradient(110deg,#f2c36b1a,color-mix(in srgb,var(--gold) 22%,rgba(20,28,40,.5)),#f2c36b1a);background-size:200% 100%;animation:ttResumeFlowGlow 5.6s ease-in-out infinite;border:1px solid rgba(242,195,107,.36);color:var(--cream);border-radius:10px;padding:clamp(4px,.6dvh,6px) 12px;font-size:12px;font-weight:500;transition:transform .18s cubic-bezier(.22,1,.36,1),border-color .18s ease,box-shadow .18s ease,color .18s ease}.resume-room__dot{width:6px;height:6px;border-radius:50%;background:#88c19b;box-shadow:0 0 8px #88c19b;flex-shrink:0}.resume-room__label{color:#f5eee0d1;font-size:11.5px}.resume-room__code{margin-left:auto;padding:2px 7px;border-radius:5px;background:#080c1294;border:1px solid rgba(242,195,107,.34);font:700 12px Consolas,Courier New,monospace;letter-spacing:1.5px;color:var(--gold)}.resume-room__arrow{color:var(--gold);font-weight:700;transition:transform .18s ease}.entry-ticket .resume-room:hover:not(:disabled){transform:translateY(-1.5px);border-color:var(--gold);color:#fff8e6;box-shadow:0 8px 20px #00000061,0 0 18px color-mix(in srgb,var(--gold) 28%,transparent)}.entry-ticket .resume-room:hover:not(:disabled) .resume-room__arrow{transform:translate(2.5px)}.entry-ticket .resume-room:active:not(:disabled){transform:translateY(0) scale(.985)}.entry-ticket p.ticket-note{margin:clamp(7px,1.05dvh,11px) 0 0;padding-top:clamp(6px,.85dvh,9px);border-top:1px solid rgba(255,245,220,.08);color:#ebe6da8f;font-size:10.5px;letter-spacing:.6px;text-align:center}.entry-ticket p.room-switch-note{padding:clamp(6px,.8dvh,8px) 10px;background:#f2c36b1f;border:1px solid rgba(242,195,107,.35);border-radius:8px;color:var(--cream);font-size:11px;line-height:1.55;margin-bottom:clamp(6px,.95dvh,10px)}.tt-backdrop-stage--waiting .tt-backdrop-stage__canvas,.tt-backdrop-stage--waiting .tt-backdrop-stage__art{filter:brightness(.76) contrast(1.06) saturate(1.1)}.tt-backdrop-stage--waiting .tt-backdrop-stage__vignette{background:linear-gradient(180deg,rgba(4,8,14,.58) 0%,rgba(4,8,14,.24) 72px,transparent 140px),radial-gradient(ellipse 32% 72% at 10% 52%,rgba(4,8,14,.56) 0%,transparent 100%),radial-gradient(ellipse 58% 54% at 54% 56%,#04090f2e,#04090fb8)}.vegas-app:not(.vegas-app--playing)>.vegas-room{position:relative;z-index:1;width:100%;margin:0;display:flex;flex-direction:column;min-height:0;padding:clamp(4px,.8dvh,8px) 0 clamp(6px,1.4dvh,16px)}.room-heading{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:clamp(3px,.6dvh,6px) 4px clamp(6px,1.1dvh,12px);margin-bottom:clamp(3px,.6dvh,6px);border-radius:0;background:none;border:0;border-bottom:1px solid rgba(255,245,220,.14);box-shadow:none;backdrop-filter:none}.room-heading__main .eyebrow{margin-bottom:3px;font-size:9.5px;letter-spacing:2.4px;text-shadow:0 2px 8px rgba(0,0,0,.85)}.room-heading__title-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.room-heading h1{font-size:20px;font-weight:600;color:#fff;margin:0;text-shadow:0 2px 12px rgba(0,0,0,.85)}.room-heading h1 span{font-family:Consolas,Courier New,monospace;font-size:22px;font-weight:700;color:var(--gold);letter-spacing:3px;padding:2px 10px;margin-left:6px;border-radius:8px;background:#0a0f16a6;border:1px solid rgba(242,195,107,.45)}.room-heading__game-pill{font-size:12px;color:#f8f2e4e6;padding:4px 12px;border-radius:999px;background:#0a0f168f;border:1px solid rgba(255,245,220,.16);backdrop-filter:blur(12px)}.room-heading-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.room-action-btn{min-height:36px;padding:7px 14px;border-radius:10px;font-size:12.5px;font-weight:600;background:#0a0f1694;border:1px solid rgba(255,245,220,.22);color:var(--cream);backdrop-filter:blur(12px);transition:border-color .16s ease,background .16s ease,color .16s ease}.room-action-btn:hover:not(:disabled){border-color:var(--gold);background:#f2c36b2e;color:var(--gold)}.room-action-btn--leave{background:#a0303447;border-color:#eb787861;color:#ffe0e0}.room-layout--waiting{flex:1 1 0;grid-template-columns:minmax(0,1fr);gap:clamp(14px,1.8vw,24px);align-items:center;min-height:0}.table-area--waiting{width:100%;height:100%;min-height:0;display:grid;grid-template-columns:clamp(240px,19vw,332px) minmax(0,1fr) var(--waiting-chat-col, 426px);grid-template-rows:minmax(0,1fr);gap:clamp(14px,1.8vw,24px);align-items:center}.room-footer{position:relative;z-index:2;flex:0 0 auto;padding:clamp(3px,.6dvh,6px) 4px clamp(4px,.9dvh,10px);font-size:11px;color:#f5eee09e;text-shadow:0 2px 8px rgba(0,0,0,.85)}.table-area--waiting>.tabletop-game-selector{grid-row:1;grid-column:1;align-self:center;justify-self:start;width:100%;max-width:332px;min-height:0;max-height:100%;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--gold) transparent}.tabletop-game-selector{position:relative;z-index:9;padding:6px 0 6px 22px;border-left:2px solid rgba(255,245,220,.28);background:none;border-radius:0;box-shadow:none;backdrop-filter:none;margin:0;display:flex;flex-direction:column;gap:10px}.tabletop--camel .tabletop-game-selector{background:none}.tabletop-game-selector__head{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.tabletop-game-selector__head>small{font:700 11.5px Consolas,Courier New,monospace;letter-spacing:2.6px;color:var(--gold);margin:0;text-shadow:0 2px 8px rgba(0,0,0,.85)}.tabletop-game-selector strong{font-size:17px;font-weight:700;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.88)}.tabletop-game-selector__list{display:flex;flex-direction:column;gap:3px;width:100%}.tabletop-game-selector button{position:relative;min-height:40px;padding:6px 14px 6px 11px;border-radius:10px;background:transparent;border:0;display:flex;align-items:center;gap:12px;text-align:left;opacity:.72;transition:transform .16s ease,opacity .16s ease,background .16s ease}.tabletop--camel .tabletop-game-selector button{background:transparent}.tabletop-game-selector button:before{content:"";position:absolute;left:-23px;top:7px;bottom:7px;width:3.5px;border-radius:999px;background:var(--gold);box-shadow:0 0 12px var(--gold);opacity:0;transition:opacity .16s ease}.tabletop-game-selector button:hover:not(:disabled){opacity:.98;transform:translate(5px);background:#ffffff12}.selector-seal{font-style:normal;font:700 12px Georgia,serif;width:34px;height:34px;flex-shrink:0;border-radius:9px;border:1px solid rgba(223,188,121,.48);background:#0a0f16a6;display:inline-grid;place-items:center;color:var(--gold);overflow:hidden;box-shadow:0 4px 12px #00000080}.selector-btn-body{min-width:0;display:flex;flex-direction:column;gap:2px}.selector-btn-body b{font-size:15.5px;font-weight:600;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.9);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tabletop-game-selector button small{display:none;font-size:11.5px;margin:0;color:#f8f2e4e6}.tabletop-game-selector button[aria-pressed=true]{opacity:1;transform:translate(8px);padding-top:9px;padding-bottom:9px;background:linear-gradient(90deg,#0a101ac7,#0a101a52 70%,#0a101a00);box-shadow:inset 0 1px #ffffff1f}.tabletop-game-selector button[aria-pressed=true]:before{opacity:1}.tabletop-game-selector button[aria-pressed=true] .selector-seal{width:42px;height:42px;border-color:var(--gold);box-shadow:0 0 18px #f2c36b73}.tabletop-game-selector button[aria-pressed=true] .selector-btn-body b{font-size:17.5px;font-weight:700;color:var(--gold)}.tabletop-game-selector button[aria-pressed=true] small{display:block}.player-rail--waiting{--waiting-seat-scale: 1.25;grid-row:1;grid-column:2;align-self:center;justify-self:center;position:relative;width:min(100%,820px);height:clamp(300px,calc(100dvh - 175px),550px);max-height:100%;min-height:0;margin:0;pointer-events:none;display:block;z-index:3}@media (max-height: 820px){.player-rail--waiting{--waiting-seat-scale: 1.08}}@media (max-height: 700px){.player-rail--waiting{--waiting-seat-scale: .94}}.player-rail--waiting .player-seat,.player-rail--waiting .seat-open-slot{pointer-events:auto;position:absolute;width:126px;min-width:0;min-height:0;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center;border-radius:0;background:transparent;border:0;box-shadow:none;backdrop-filter:none;transition:transform .2s cubic-bezier(.22,1,.36,1),opacity .2s ease;z-index:3}.player-rail--waiting .player-seat:before,.player-rail--waiting .seat-open-slot:before{display:none}.tabletop--camel .player-rail--waiting .player-seat,.tabletop--camel .player-rail--waiting .seat-open-slot{background:transparent;border:0}.player-avatar-frame{position:relative;display:inline-grid;flex:0 0 auto;line-height:0}.player-avatar-host{position:absolute;z-index:3;left:50%;top:0;width:58%;height:auto;aspect-ratio:1;transform:translate(-50%,-48%);pointer-events:none;filter:drop-shadow(0 2px 4px rgba(0,0,0,.85))}.vegas-app--playing .player-avatar-host{width:62%;transform:translate(-50%,-34%)}.player-rail--waiting .player-avatar-frame{margin:0;padding:4px;border-radius:50%;background:radial-gradient(circle at 50% 35%,#fff8e62e,#080d14c7);border:1.5px solid var(--player-color, var(--gold));box-shadow:0 10px 26px #0000008c,0 0 18px color-mix(in srgb,var(--player-color, var(--gold)) 38%,transparent)}.player-rail--waiting .player-seat--ready .player-avatar-frame{border-color:#88c19b;box-shadow:0 10px 26px #0000008c,0 0 0 3px #88c19b57,0 0 22px #88c19b73}.player-rail--waiting .player-avatar{width:48px;height:48px;font-size:17px;font-weight:700;margin:0;box-shadow:inset 0 1px #ffffff40}.seat-medallion-num{position:absolute;right:-3px;bottom:-2px;z-index:3;min-width:19px;height:19px;padding:0 4px;border-radius:999px;background:#101722;border:1px solid rgba(242,195,107,.65);color:var(--gold);font:700 10px/17px Consolas,Courier New,monospace;font-style:normal;text-align:center;box-shadow:0 2px 6px #000000a6}.player-rail--waiting .player-seat__meta{display:inline-flex;flex-direction:column;align-items:center;gap:2px;padding:4px 12px 5px;border-radius:999px;background:#080d16b8;border:1px solid rgba(255,245,220,.18);box-shadow:0 8px 20px #00000073;backdrop-filter:blur(14px);max-width:136px}.player-rail--waiting .player-seat strong,.player-rail--waiting .seat-open-slot strong{font-size:12px;font-weight:600;max-width:112px;color:#fff;line-height:1.25}.player-rail--waiting .player-seat__meta>span{display:inline-block;margin:0;font-size:10px;padding:0;background:none;color:#f2c36bd9;line-height:1.2}.player-rail--waiting .player-seat--ready .player-seat__meta{border-color:#88c19b8c}.player-rail--waiting .player-seat--ready .player-seat__meta>span{background:none;border:0;color:#9de8b4}.player-rail--waiting .seat-open-slot{opacity:.82}.player-rail--waiting .seat-open-slot:hover{opacity:1;transform:translateY(-3px) scale(1.03);background:transparent}.seat-open-slot__icon{position:relative;width:52px;height:52px;border-radius:50%;border:1.5px dashed rgba(242,195,107,.52);background:radial-gradient(circle at 50% 35%,#f2c36b29,#080d169e);box-shadow:0 10px 24px #0000006b,inset 0 0 14px #f2c36b1f;backdrop-filter:blur(12px);display:grid;place-items:center;font-size:18px;color:var(--gold);margin:0;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.seat-open-slot__icon>b{position:relative;z-index:1;font-weight:500;line-height:1}.seat-frame-art,.seat-open-slot__art{position:absolute;inset:-6px;width:calc(100% + 12px);height:calc(100% + 12px);object-fit:contain;pointer-events:none;z-index:2;filter:drop-shadow(0 6px 14px rgba(0,0,0,.55))}.player-rail--waiting .player-avatar-frame--has-art{border-color:transparent;background:transparent}.seat-open-slot--has-art .seat-open-slot__icon{border-color:transparent;background:transparent;box-shadow:none;backdrop-filter:none}.player-rail--waiting .seat-open-slot:hover .seat-open-slot__icon{border-style:solid;border-color:var(--gold);background:radial-gradient(circle at 50% 35%,#f2c36b4d,#0c121cc7);box-shadow:0 12px 28px #0000008c,0 0 20px #f2c36b61}.player-rail--waiting .seat-open-slot .player-seat__meta{background:#080d168a;border-color:#fff5dc24;padding:3px 11px 4px}.player-rail--waiting .seat-open-slot .player-seat__meta>span{font-size:9.5px;color:#f5eee09e}.lobby-table{grid-row:1;grid-column:2;align-self:center;justify-self:center;position:relative;overflow:hidden;width:min(68%,536px);min-width:min(100%,340px);min-height:clamp(210px,30dvh,292px);border-radius:999px;padding:clamp(16px,2.5dvh,26px) clamp(24px,3vw,40px) clamp(14px,2.2dvh,24px);background:radial-gradient(ellipse at 50% 24%,color-mix(in srgb,var(--gold) 28%,transparent) 0%,transparent 64%),linear-gradient(165deg,color-mix(in srgb,var(--felt) 58%,rgba(10,16,26,.58)),#070b12c7);border:1.5px solid rgba(242,195,107,.62);box-shadow:0 8px #170e0b,0 9.5px #f2c36b7a,0 32px 68px #000000a3,inset 0 0 0 8px #080d1485,inset 0 0 0 9.5px #f2c36b52,inset 0 0 42px #00000073;backdrop-filter:blur(22px) saturate(1.28)}.lobby-table:before{content:"";position:absolute;inset:9px;border-radius:999px;background-image:var(--lobby-table-tex);background-size:cover;background-position:center;opacity:.16;mix-blend-mode:soft-light;pointer-events:none}.lobby-table__art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit;pointer-events:none;z-index:0;filter:brightness(.84) contrast(1.06)}.lobby-table--has-art:before{display:none}@keyframes ttAstrolabeOrbit{0%{stroke-dashoffset:168}to{stroke-dashoffset:0}}@keyframes ttCenterCardFloat{0%,to{transform:translateY(-5px) scale(1.04)}50%{transform:translateY(-8px) scale(1.055)}}.lobby-table__astrolabe{position:absolute;inset:0;width:100%;height:100%;color:var(--gold);pointer-events:none;z-index:0}.lobby-table__astrolabe ellipse[stroke-dasharray],.lobby-table__astrolabe circle[stroke-dasharray]{animation:ttAstrolabeOrbit 22s linear infinite}.lobby-card-fan{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;height:clamp(64px,9.2dvh,96px);margin:0 auto clamp(6px,1.2dvh,12px);pointer-events:none}.lobby-card-fan__item{width:clamp(48px,6.6dvh,68px);height:clamp(62px,8.4dvh,88px);border-radius:9px;overflow:hidden;border:1.5px solid rgba(242,195,107,.72);background:#141c28;box-shadow:0 12px 26px #0009,inset 0 1px #ffffff4d;flex-shrink:0}.lobby-card-fan__item img{width:100%;height:100%;object-fit:cover;display:block}.lobby-card-fan__item--0{transform:translate(14px) translateY(5px) rotate(-13deg);z-index:1}.lobby-card-fan__item--1{width:clamp(52px,7.2dvh,74px);height:clamp(66px,9dvh,94px);transform:translateY(-5px) scale(1.04);border-color:var(--gold);box-shadow:0 16px 32px #000000ad,0 0 20px color-mix(in srgb,var(--gold) 36%,transparent);z-index:3;animation:ttCenterCardFloat 4.2s ease-in-out infinite}.lobby-card-fan__item--2{transform:translate(-14px) translateY(5px) rotate(13deg);z-index:2}.lobby-table h2{position:relative;z-index:1;font-family:"Noto Serif SC",SimSun,serif;font-size:clamp(18px,2.35dvh,24px);font-weight:600;color:#fff;text-shadow:0 4px 18px rgba(0,0,0,.65);margin-bottom:clamp(3px,.6dvh,6px)}.lobby-actions{position:relative;z-index:1;display:flex;justify-content:center;gap:12px;margin:clamp(6px,1.15dvh,12px) 0 clamp(5px,.95dvh,10px)}.lobby-rule-summary{position:relative;z-index:4;max-width:95%;padding:clamp(4px,.7dvh,7px) 12px;margin:0 0 clamp(7px,1.3dvh,14px);border:1px solid #e2c58255;border-radius:8px;background:#111e27c9;color:#f5e6bd;font-size:12px;line-height:1.6;cursor:pointer}.lobby-rule-summary span{color:#d6b572;white-space:nowrap;margin-left:6px}.lobby-rule-summary:focus-visible{outline:2px solid #f2c36b;outline-offset:4px}.lobby-actions .botc-button{--n-text-color: var(--lobby-button-text, #fff8eb) !important;--n-text-color-hover: var(--lobby-button-text, #fff8eb) !important;--n-text-color-pressed: var(--lobby-button-text, #fff8eb) !important;--n-text-color-focus: var(--lobby-button-text, #fff8eb) !important;--n-text-color-disabled: #c4cfc8 !important;--n-color-disabled: #252d2b !important;--n-border-disabled: 1px solid rgba(242, 195, 107, .3) !important;--n-opacity-disabled: 1 !important;opacity:1}.lobby-actions .botc-button:focus-visible{outline:2px solid #fff0bf;outline-offset:3px}.lobby-actions .lobby-ready-btn.botc-button{--n-color: #276347 !important;--n-color-hover: #307653 !important;--n-color-pressed: #1b5039 !important;--n-color-focus: #307653 !important;--n-border: 1px solid #79b58f !important;--n-border-hover: 1px solid #a0d4b0 !important;--n-border-pressed: 1px solid #79b58f !important;--n-border-focus: 1px solid #a0d4b0 !important}.lobby-actions .lobby-ready-btn--confirmed.botc-button{--lobby-button-text: #d2edda;--n-color: #1c3027 !important;--n-color-hover: #2b4235 !important;--n-color-pressed: #14251c !important;--n-color-focus: #2b4235 !important;--n-border: 1px solid #668d74 !important;--n-border-hover: 1px solid #94bea2 !important;--n-border-pressed: 1px solid #668d74 !important;--n-border-focus: 1px solid #94bea2 !important}.lobby-actions .lobby-start-btn.botc-button{position:relative;overflow:hidden;--lobby-button-text: #241b0c;--n-color: var(--gold) !important;--n-color-hover: color-mix(in srgb, var(--gold) 84%, #fff3d6) !important;--n-color-pressed: color-mix(in srgb, var(--gold) 86%, #9a6d27) !important;--n-color-focus: color-mix(in srgb, var(--gold) 84%, #fff3d6) !important;--n-border: 1px solid var(--gold) !important;--n-border-hover: 1px solid #fff0bf !important;--n-border-pressed: 1px solid var(--gold) !important;--n-border-focus: 1px solid #fff0bf !important;--n-height: auto !important;border-radius:10px!important;min-height:44px;padding:10px 18px;font-weight:600;transition:transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s ease!important}.lobby-actions .lobby-start-btn.botc-button:hover:not(:disabled),.lobby-actions .lobby-ready-btn.botc-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 24px #00000073,0 0 20px color-mix(in srgb,var(--gold) 42%,transparent)}.lobby-actions .lobby-start-btn.botc-button:active:not(:disabled),.lobby-actions .lobby-ready-btn.botc-button:active:not(:disabled){transform:translateY(0) scale(.985)}.lobby-start-btn .n-button__content{flex-direction:column;gap:4px}.lobby-ready-count{font-size:12px;font-weight:500;line-height:1.3}.lobby-table[data-lobby-game=camel-up]{background:radial-gradient(ellipse at 50% 24%,rgba(242,195,107,.28),transparent 64%),linear-gradient(165deg,#3c27169e,#142026c7);border-color:#f2c36b8c;box-shadow:0 28px 68px #00000094,inset 0 0 0 8px #080d147a,inset 0 0 0 9.5px #f2c36b47,inset 0 0 42px #0000006b}.empty-camel-stage{display:flex;flex-direction:column;align-items:center;gap:14px;margin-bottom:24px}.lobby-pyramid-badge{font:600 12px Georgia,serif;letter-spacing:1.8px;padding:6px 16px;border-radius:999px;background:#f2c36b2e;border:1px solid rgba(242,195,107,.58);color:#f6d483}.lobby-camel-pills{display:flex;gap:10px}.lobby-camel-pills i{font-style:normal;width:40px;height:40px;border-radius:10px;display:grid;place-items:center;font-size:14px;font-weight:700;color:#182830;box-shadow:0 6px 14px #0000004d}.vegas-app--playing .tabletop-game-selector{position:absolute;left:26px;top:515px;width:205px;margin:0;padding:13px;gap:11px;background:#243f45f0;border-radius:10px}.vegas-app--playing .tabletop-game-selector>div:nth-child(2){display:grid}.vegas-app--playing .tabletop-game-selector button{font-size:11px;padding:9px;border-radius:7px}.vegas-app--playing .tabletop-game-selector button small{font-size:8px}.vegas-app--playing .tabletop-game-selector>p{font-size:9px;line-height:1.7}@media (max-width: 1150px){.vegas-welcome{gap:clamp(8px,1.5dvh,16px) 28px;grid-template-columns:minmax(0,1fr) 330px}}@media (max-width: 900px){.vegas-app:not(.vegas-app--playing){height:auto;max-height:none;overflow:visible}.vegas-welcome{display:flex;flex-direction:column;align-items:stretch;gap:18px}.tabletop-roster-dock{width:100%;align-self:stretch;max-height:none;overflow:visible}.tabletop-game-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.entry-ticket{width:100%;max-width:520px;align-self:center}.table-area--waiting{display:flex;flex-direction:column;gap:18px}.player-rail--waiting{position:static;min-height:0;width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(136px,1fr));gap:12px}.lobby-table{width:100%;border-radius:36px}.player-rail--waiting .player-seat,.player-rail--waiting .seat-open-slot{position:relative;width:auto;inset:auto!important;transform:none!important}}@media (max-width: 650px){.vegas-app:not(.vegas-app--playing)>.vegas-header{display:grid;grid-template-columns:minmax(0,1fr) auto;height:auto;min-height:100px;padding:12px 0 8px;gap:8px 12px}.vegas-app:not(.vegas-app--playing) .vegas-header .vegas-brand{min-width:0}.vegas-app:not(.vegas-app--playing) .vegas-header .brand-seal{flex-shrink:0}.vegas-app:not(.vegas-app--playing) .vegas-header nav{grid-column:1 / -1;grid-row:2;min-width:0;margin-left:0;flex-wrap:wrap;gap:6px 8px;font-size:11px}.vegas-app:not(.vegas-app--playing) .vegas-header nav>*{display:inline-flex;align-items:center;min-height:32px;white-space:nowrap}.vegas-app:not(.vegas-app--playing) .vegas-header nav>a{padding:4px 11px;font-size:11px}.vegas-app:not(.vegas-app--playing) .connection-indicator{position:static;grid-column:2;grid-row:1;max-width:95px;font-size:9px}.vegas-welcome{display:flex;flex-direction:column;padding:14px 0 20px;gap:16px}.tabletop-shelf{padding:12px 14px}.tabletop-shelf__hint{display:none}.tabletop-welcome-label{font-size:10px}.tabletop-game-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.tabletop-game-cards button{padding:7px 9px;min-height:48px;gap:8px}.game-card-seal{width:28px;height:28px;font-size:11px}.tabletop-game-cards strong{font-size:12px}.tabletop-game-cards small{font-size:9.5px}.welcome-art{padding:6px 4px 8px}.welcome-art h1{font-size:50px;letter-spacing:-2px;display:block;margin:6px 0 10px}.welcome-art h1 span{margin-left:12px}.welcome-art h1.camel-welcome-title span{margin-left:10px;padding:2px 12px 4px}.welcome-subtitle{font-size:16px;letter-spacing:3px}.showcase-3d-viewport{height:195px}.showcase-sleep-note{display:none}.welcome-facts{gap:18px}.entry-ticket{margin:0;padding:20px 18px 18px}.player-rail--waiting{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.player-rail--waiting .player-seat,.player-rail--waiting .seat-open-slot{min-height:128px;padding:12px 10px}.player-rail--waiting .player-avatar-frame{margin:5px 0}.player-rail--waiting .player-avatar,.seat-open-slot__icon{width:40px;height:40px;font-size:16px}.seat-open-slot__icon{margin:5px 0}.lobby-table{border-radius:26px;padding:32px 18px}.tabletop-game-selector{padding:14px;gap:12px}.tabletop-game-selector strong{font-size:14px}.tabletop-game-selector button{font-size:11px;padding:9px}.tabletop-game-selector>p{font-size:9px;line-height:1.7}.vegas-app--playing .tabletop-game-selector{inset:auto 10px 150px;width:auto;max-height:24dvh;overflow:auto}.vegas-app--playing .tabletop-game-selector>div:first-child{min-width:0}.vegas-app--playing .tabletop-game-selector>div:nth-child(2){display:flex}.vegas-app--playing .tabletop-game-selector>p{font-size:8px}.vegas-app--playing .vegas-header nav{gap:8px}.vegas-app--playing .vegas-header nav>a{white-space:nowrap}.vegas-app--playing .vegas-header .vegas-brand{flex-shrink:0}}:root{--sel-available: #f4e6bd;--sel-hover: #ffffff;--sel-target: #5fe0c0;--sel-selected: #ffd166}[data-sel],.sel-hoverable{position:relative}[data-sel]:after,.sel-hoverable:after{content:"";position:absolute;inset:0;border-radius:var(--sel-radius, inherit);pointer-events:none;z-index:3;transition:box-shadow .14s ease-out,outline-color .14s ease-out}[data-sel=available]:after{outline:.9px dashed rgba(244,230,189,.58);outline-offset:0;box-shadow:none}[data-sel=hover]:after,.sel-hoverable:not([data-sel]):focus-visible:after{box-shadow:0 0 0 1.1px var(--sel-hover)}[data-sel=target]:after{box-shadow:0 0 0 1.35px var(--sel-target)}[data-sel=selected]:after{box-shadow:0 0 0 1.45px var(--sel-selected)}@media (hover: hover){.sel-hoverable:not([data-sel]):hover:after{box-shadow:0 0 0 1.1px var(--sel-hover)}}@media (prefers-reduced-motion: reduce){[data-sel]:after,.sel-hoverable:after{transition:none}}@media (forced-colors: active){[data-sel]:after{outline:2px solid Highlight;box-shadow:none}}.player-profile-avatar[data-v-e8164f8e]{display:block;width:32px;height:32px;flex-shrink:0;border-radius:50%;object-fit:cover}.player-profile-control[data-v-88bebaca]{display:inline-flex;min-width:0;flex-shrink:0}.player-profile-button[data-v-88bebaca]{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:2px;border:1px solid transparent;border-radius:50%;background:transparent;color:inherit;cursor:pointer}.player-profile-button[data-v-88bebaca]:focus-visible{outline:2px solid #dfbc79;outline-offset:2px}.player-profile-button span[data-v-88bebaca]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tabletop-chat[data-v-3cbddc7e]{position:relative;display:flex;flex:1;flex-direction:column;min-width:0;min-height:0;width:100%;height:100%;overflow:hidden;box-sizing:border-box;background:var(--tt-chrome-bg, var(--bg-surface-1))}.tabletop-chat__search[data-v-3cbddc7e]{display:flex;flex:none;gap:6px;padding:7px 8px;align-items:center;border-bottom:1px solid var(--border-base)}.tabletop-chat__search input[data-v-3cbddc7e],.tabletop-chat__search select[data-v-3cbddc7e]{flex:1;min-width:0;width:0;min-height:32px;padding:5px 8px;border:1px solid var(--tt-chrome-line);border-radius:6px;font:12px/1.4 system-ui,sans-serif;background:var(--tt-chrome-surface);color:var(--tt-chrome-ink)}.tabletop-chat__search input[data-v-3cbddc7e]::placeholder{color:var(--text-muted)}.tabletop-chat__search>span[data-v-3cbddc7e]{flex:none;padding-inline:3px;font-size:11px;color:var(--text-muted);white-space:nowrap}.table-chat .tabletop-chat__messages[data-v-3cbddc7e]{display:flex;flex:1;flex-direction:column;gap:8px;min-width:0;min-height:0;height:auto;max-height:none;padding:10px 12px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;overflow-anchor:none;scrollbar-width:thin;scrollbar-color:var(--tt-chrome-line) transparent}.tabletop-chat__empty[data-v-3cbddc7e]{display:grid;flex:1;place-items:center;min-height:120px;color:var(--text-muted);font-size:13px}.tabletop-chat__message[data-v-3cbddc7e]{align-self:flex-start;position:relative;flex:none;max-width:82%;min-width:0;box-sizing:border-box;padding:7px 9px;border:1px solid var(--tt-chrome-line-soft);border-radius:12px;background:color-mix(in srgb,var(--felt) 34%,transparent);color:var(--tt-chrome-ink);font-size:13px;line-height:1.5;overflow-wrap:anywhere}.tabletop-chat__message.is-own[data-v-3cbddc7e]{align-self:flex-end;border-color:#76d7ff33;color:#dbeafe;background:#76d7ff14}.tabletop-chat__message.is-mentioned[data-v-3cbddc7e]{border-color:color-mix(in srgb,var(--gold) 60%,transparent)}.tabletop-chat__message.is-highlighted[data-v-3cbddc7e]{outline:2px solid var(--accent-gold);outline-offset:-1px}.tabletop-chat__message header[data-v-3cbddc7e]{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:3px;font-size:11px;color:var(--text-muted)}.tabletop-chat__message header .player-profile-avatar[data-v-3cbddc7e]{width:24px;height:24px}.tabletop-chat__message.is-own header[data-v-3cbddc7e]{justify-content:flex-end;text-align:right}.table-chat .tabletop-chat__message strong[data-v-3cbddc7e]{display:inline-flex;align-items:center;gap:5px;min-width:0;color:var(--tt-chrome-ink-strong);font-size:11px;font-weight:650;overflow-wrap:anywhere}.tabletop-chat__message time[data-v-3cbddc7e]{color:var(--text-muted);font-size:10px}.tabletop-chat__seat[data-v-3cbddc7e]{flex:none;padding:1px 5px;border:1px solid var(--tt-chrome-line);border-radius:999px;background:var(--tt-chrome-wash);color:var(--tt-chrome-ink-soft);font-size:10px}.tabletop-chat__body[data-v-3cbddc7e]{font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;user-select:text}.tabletop-chat__quote[data-v-3cbddc7e]{display:block;width:100%;min-height:0;padding:6px 8px;margin:3px 0 6px;border:0;border-left:3px solid var(--border-base);border-radius:4px;background:var(--tt-chrome-surface);text-align:left}.tabletop-chat__quote small[data-v-3cbddc7e],.tabletop-chat__quote span[data-v-3cbddc7e]{display:block;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted)}.tabletop-chat__message-actions[data-v-3cbddc7e]{display:flex;gap:4px;flex-wrap:wrap;align-items:center}.tabletop-chat__message-actions button[data-v-3cbddc7e]{min-height:24px;padding:2px 5px;margin-top:4px;font-size:10px;background:transparent;border-color:var(--border-base)}.tabletop-chat__message-actions button[aria-pressed=true][data-v-3cbddc7e]{background:var(--tt-chrome-wash);border-color:color-mix(in srgb,var(--gold) 55%,transparent)}.tabletop-chat__message-actions .tabletop-chat__reply[data-v-3cbddc7e]{margin-left:auto;border-color:transparent;color:var(--text-muted);opacity:0}.tabletop-chat__message:hover .tabletop-chat__reply[data-v-3cbddc7e],.tabletop-chat__message:focus-within .tabletop-chat__reply[data-v-3cbddc7e]{opacity:1}@media (pointer: fine){.tabletop-chat__message-actions .tabletop-chat__reply[data-v-3cbddc7e]{position:absolute;right:4px;bottom:-14px;z-index:1;background:var(--tt-chrome-raised)}}.tabletop-chat__latest[data-v-3cbddc7e]{flex:none;margin:4px 8px;min-height:30px;padding:4px 8px;color:var(--accent-gold);background:var(--tt-chrome-raised);font-size:12px}.table-chat .tabletop-chat__composer[data-v-3cbddc7e]{position:relative;display:flex;flex-direction:column;flex:none;gap:8px;padding:7px 8px 10px;margin:0;border-top:1px solid var(--border-base);background:var(--tt-chrome-surface)}.tabletop-chat__tools[data-v-3cbddc7e]{display:flex;gap:6px;align-items:center;color:var(--text-muted);font-size:11px}.tabletop-chat__tools button[data-v-3cbddc7e]{display:inline-flex;align-items:center;justify-content:center;min-height:28px;min-width:28px;padding:4px;border:0;border-radius:6px;background:transparent;color:var(--tt-chrome-ink-soft);font-size:17px}.tabletop-chat__tools button[data-v-3cbddc7e]:hover,.tabletop-chat__tools button[aria-expanded=true][data-v-3cbddc7e]{background:var(--tt-chrome-accent)}.tabletop-chat__tools[data-v-3cbddc7e] svg{width:18px;height:18px}.tabletop-chat__tools>span[data-v-3cbddc7e]:last-child{margin-left:auto;font-size:10px}.tabletop-chat__context[data-v-3cbddc7e]{font-size:11px}.tabletop-chat__input-row[data-v-3cbddc7e]{display:flex;gap:7px;align-items:flex-end}.table-chat .tabletop-chat__input-row>button[data-v-3cbddc7e]{flex:none;min-height:44px;padding:8px 14px;border:1px solid color-mix(in srgb,var(--gold) 50%,transparent);border-radius:8px;background:var(--tt-chrome-accent);color:var(--tt-chrome-ink-strong);font-size:13px}.tabletop-chat__input-row>button[data-v-3cbddc7e]:hover:not(:disabled){background:var(--tt-chrome-accent-hover)}.tabletop-chat__draft-quote[data-v-3cbddc7e]{display:flex;gap:8px;padding:5px 8px;border-left:3px solid var(--border-base);border-radius:4px;align-items:center;background:var(--tt-chrome-raised)}.tabletop-chat__draft-quote>span[data-v-3cbddc7e]{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--text-muted);font-size:11px}.tabletop-chat__draft-quote button[data-v-3cbddc7e]{min-height:32px;padding:2px 8px;border:0;background:transparent;font-size:20px}.tabletop-chat__emoji[data-v-3cbddc7e]{position:absolute;z-index:25;bottom:100%;left:8px;right:8px;padding:10px;border:1px solid var(--border-base);border-radius:10px;background:var(--tt-chrome-surface)}.tabletop-chat__error[data-v-3cbddc7e],.is-error[data-v-3cbddc7e]{color:#f1a89d;font-size:12px;margin:0}.tabletop-chat__error[data-v-3cbddc7e]{flex:none;padding:6px 8px;background:var(--tt-chrome-surface)}.tabletop-chat button[data-v-3cbddc7e]:focus-visible,.tabletop-chat input[data-v-3cbddc7e]:focus-visible,.tabletop-chat select[data-v-3cbddc7e]:focus-visible{outline:2px solid var(--accent-gold);outline-offset:-2px}@media (pointer: coarse){.tabletop-chat__message-actions .tabletop-chat__reply[data-v-3cbddc7e]{opacity:1}.tabletop-chat__message-actions button[data-v-3cbddc7e]{min-height:32px}.tabletop-chat__tools button[data-v-3cbddc7e]{min-height:36px;min-width:36px}}@media (max-width: 480px){.tabletop-chat__search input[data-v-3cbddc7e],.tabletop-chat__search select[data-v-3cbddc7e]{min-height:36px}.tabletop-chat__message[data-v-3cbddc7e]{max-width:88%}}.tabletop-room-shell__stage[data-v-a9b31c2d]{min-width:0}.tabletop-room-shell--playing .tabletop-room-shell__stage[data-v-a9b31c2d]{position:absolute;inset:0}.tabletop-room-shell[data-v-a9b31c2d]:not(.tabletop-room-shell--playing){grid-template-columns:minmax(0,1fr);align-items:center;flex:1;min-height:0}.tabletop-room-shell:not(.tabletop-room-shell--playing)>.tabletop-room-shell__stage[data-v-a9b31c2d]{height:100%;display:flex;align-items:center}.tabletop-room-shell__scrim[data-v-a9b31c2d]{position:fixed}.tabletop-room-shell__sidebar[data-v-a9b31c2d]{--border-strong: color-mix(in srgb, var(--gold) 40%, transparent);--shadow-panel: 0 0 0 1px rgba(0, 0, 0, .2);--shadow-candle: 0 0 24px color-mix(in srgb, var(--gold) 8%, transparent);--bg-surface-1: var(--tt-chrome-bg);--border-base: var(--tt-chrome-line);--text-primary: var(--cream);--text-muted: var(--muted);--accent-gold: var(--gold);position:static;width:auto;height:auto;min-width:0;display:flex;flex-direction:column;gap:0;padding:0;border:1px solid var(--border-base);border-radius:16px;background:var(--bg-surface-1);color:var(--text-primary);overflow:hidden;box-shadow:0 20px 48px #00000070,inset 0 1px #ffffff1f;backdrop-filter:blur(22px)}.tabletop-room-shell__sidebar[data-v-a9b31c2d]:not(.tabletop-room-shell__sidebar--floating) .botc-resizable-panel__head{display:none}.tabletop-room-shell__sidebar.botc-resizable-panel[data-v-a9b31c2d]{background:var(--tt-chrome-bg)}.tabletop-room-shell__sidebar[data-v-a9b31c2d] .botc-resizable-panel__head{background:var(--tt-chrome-surface);color:var(--tt-chrome-ink-strong)}.tabletop-room-shell__sidebar[data-v-a9b31c2d] .botc-resizable-panel__body{min-width:0;padding:0}.tabletop-room-shell__sidebar--floating[data-v-a9b31c2d]{position:fixed;box-shadow:0 18px 48px #00000057}.tabletop-room-shell__sidebar--floating[data-v-a9b31c2d] .botc-resizable-panel__head{font-family:system-ui,sans-serif}.tabletop-room-shell__sidebar--floating[data-v-a9b31c2d] .botc-resizable-panel__body{padding-right:8px}.tabletop-room-shell__sidebar--landscape[data-v-a9b31c2d] .botc-resizable-panel__head{min-height:38px;padding:4px 6px}.tabletop-room-shell__sidebar--landscape[data-v-a9b31c2d] .botc-resizable-panel__head button{min-width:36px;min-height:36px}.tabletop-room-shell__sidebar--landscape .tabletop-room-shell__tabs[data-v-a9b31c2d]{padding:3px}.tabletop-room-shell__sidebar--landscape .tabletop-room-shell__tabs button[data-v-a9b31c2d]{min-height:36px;padding:4px 7px}.tabletop-room-shell__sidebar--landscape[data-v-a9b31c2d] .table-chat__form textarea{font-size:16px}.tabletop-room-shell__sidebar--keyboard[data-v-a9b31c2d] .botc-resizable-panel__head{display:none}.tabletop-room-shell__sidebar--keyboard .tabletop-room-shell__tabs button[data-v-a9b31c2d]{min-height:30px}.tabletop-room-shell__sidebar--keyboard[data-v-a9b31c2d] .tabletop-chat__composer{gap:4px;padding:4px 6px 6px}.tabletop-room-shell__sidebar--keyboard[data-v-a9b31c2d] .tabletop-chat__search{display:none}.tabletop-room-shell__tabs[data-v-a9b31c2d]{display:flex;flex:none;align-items:center;gap:4px;padding:7px;border-bottom:1px solid var(--border-base);background:var(--tt-chrome-surface)}.tabletop-room-shell__tabs button[data-v-a9b31c2d]{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:34px;padding:5px 9px;font:12px/1.3 system-ui,sans-serif;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-muted)}.tabletop-room-shell__tabs button[data-v-a9b31c2d]:first-child{margin-right:auto}.tabletop-room-shell__tabs button[aria-selected=true][data-v-a9b31c2d]{border-color:var(--border-base);background:var(--tt-chrome-raised);color:var(--tt-chrome-ink-strong)}.tabletop-room-shell__tabs button[data-v-a9b31c2d]:focus-visible{outline:2px solid var(--accent-gold);outline-offset:-2px}.tabletop-room-shell__tabs[data-v-a9b31c2d] svg{width:16px;height:16px}.tabletop-room-shell__tabs span[data-v-a9b31c2d]{font-size:11px}.tabletop-room-shell__tabs i[data-v-a9b31c2d]{color:var(--gold);font-style:normal}.tabletop-room-shell__tabs .tabletop-room-shell__close[data-v-a9b31c2d]{width:32px;padding:6px}.tabletop-room-shell__sidebar .tabletop-room-shell__panel[data-v-a9b31c2d]{min-width:0;min-height:0;border:0;border-radius:0;padding:12px;background:transparent;overflow:auto;overscroll-behavior:contain}.tabletop-room-shell__sidebar .tabletop-room-shell__panel[style*="display: none"][data-v-a9b31c2d]{display:none}.tabletop-room-shell__sidebar .tabletop-room-shell__chat[data-v-a9b31c2d]{display:flex;flex:1;flex-direction:column;padding:0;overflow:hidden}.tabletop-room-shell__members[data-v-a9b31c2d]{list-style:none;margin:0;padding:0}.tabletop-room-shell__members li[data-v-a9b31c2d]{display:flex;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--border-base)}.tabletop-room-shell__members li.is-speaking[data-v-a9b31c2d]{color:#9dd9ca}.tabletop-room-shell__seat[data-v-a9b31c2d]{display:grid;place-items:center;width:32px;height:32px;flex:none;border:1px solid var(--border-base);border-radius:50%;font-size:13px}.tabletop-room-shell__members strong[data-v-a9b31c2d]{display:block;font-size:14px;overflow-wrap:anywhere}.tabletop-room-shell__members small[data-v-a9b31c2d]{font-weight:400}.tabletop-room-shell__members div>span[data-v-a9b31c2d],.tabletop-room-shell__speaking[data-v-a9b31c2d]{font-size:11px;color:var(--text-muted)}.tabletop-room-shell__speaking[data-v-a9b31c2d]{margin-left:auto;white-space:nowrap}.tabletop-room-shell__mobile-voice[data-v-a9b31c2d]{flex:none}.tabletop-room-shell__sidebar[data-v-a9b31c2d]:not(.tabletop-room-shell__sidebar--floating){position:fixed;inset:0 0 0 auto;left:auto!important;width:390px;height:100%;gap:0;padding:0 0 calc(env(safe-area-inset-bottom) + var(--kb-inset));background:color-mix(in srgb,var(--tt-chrome-bg) 98%,transparent);border-radius:0}@media (max-width: 900px){.tabletop-room-shell__sidebar[data-v-a9b31c2d]:not(.tabletop-room-shell__sidebar--floating){width:min(390px,100%);padding-top:env(safe-area-inset-top)}.tabletop-room-shell__tabs button[data-v-a9b31c2d]{min-height:40px}}@media (prefers-reduced-motion: reduce){.tabletop-room-shell__sidebar[data-v-a9b31c2d]{transition:none}}.floating-table-window[data-v-eb4ba381]{position:fixed;z-index:65;width:min(650px,calc(100vw - 16px));max-height:min(76dvh,760px);display:flex;flex-direction:column;color-scheme:dark;background-color:#111a22;background-image:url(/assets/tabletop/ui/panel-dock.webp);background-size:100% 100%;background-repeat:no-repeat;background-position:center;color:#efe6d2;border:1px solid rgba(226,194,120,.62);border-radius:14px;box-shadow:0 24px 72px #000000c7,0 0 0 1px #080d12e6,inset 0 0 0 1px #e2c27833;backdrop-filter:blur(16px);font:14px/1.65 Microsoft YaHei,sans-serif;transform-origin:center center}@keyframes ftw-expand-from-card-eb4ba381{0%{opacity:.25;transform:translate3d(var(--origin-dx,0px),var(--origin-dy,0px),0) scale(var(--origin-sx,.25),var(--origin-sy,.25))}to{opacity:1;transform:translateZ(0) scale(1)}}.floating-table-window--from-origin[data-v-eb4ba381]{animation:ftw-expand-from-card-eb4ba381 .28s cubic-bezier(.22,1,.36,1) both}@media (prefers-reduced-motion:reduce){.floating-table-window--from-origin[data-v-eb4ba381]{animation:none}}header[data-v-eb4ba381]{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 20px;border-bottom:1px solid rgba(216,182,108,.24);background:#080d128c;border-radius:13px 13px 0 0;cursor:grab;touch-action:none;user-select:none}header[data-v-eb4ba381]:active{cursor:grabbing}header[data-v-eb4ba381]:focus-visible{outline:2px solid #d8b66c;outline-offset:-4px}header small[data-v-eb4ba381]{display:block;font-size:11px;letter-spacing:.8px;color:#d8b66c;margin-bottom:2px}h2[data-v-eb4ba381]{font:600 21px/1.25 "Noto Serif SC",SimSun,Microsoft YaHei,serif;margin:0;color:#fff6e0;letter-spacing:.5px}header button[data-v-eb4ba381]{display:inline-grid;place-items:center;border:1px solid rgba(216,182,108,.28);border-radius:8px;background:#d8b66c14;color:#e5c784;font-size:22px;line-height:1;min-width:36px;min-height:36px;padding:0;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}header button[data-v-eb4ba381]:hover{background:#d8b66c33;border-color:#d8b66c94;color:#fff6e0}.floating-table-window__content[data-v-eb4ba381]{overflow:auto;overscroll-behavior:contain;padding:18px 20px;min-height:0;scrollbar-width:thin;scrollbar-color:rgba(216,182,108,.36) rgba(8,13,18,.36)}.floating-table-window__content[data-v-eb4ba381]::-webkit-scrollbar{width:8px;height:8px}.floating-table-window__content[data-v-eb4ba381]::-webkit-scrollbar-track{background:#080d125c;border-radius:0 0 13px}.floating-table-window__content[data-v-eb4ba381]::-webkit-scrollbar-thumb{background:#d8b66c57;border-radius:999px;border:2px solid rgba(12,19,26,.8)}.floating-table-window__content[data-v-eb4ba381]::-webkit-scrollbar-thumb:hover{background:#d8b66c8f}@media (max-width:650px){.floating-table-window[data-v-eb4ba381]{max-height:62dvh}header[data-v-eb4ba381]{padding:12px 16px}h2[data-v-eb4ba381]{font-size:19px}.floating-table-window__content[data-v-eb4ba381]{padding:14px 16px}}@media (pointer:coarse) and (orientation:landscape) and (max-height:600px){.floating-table-window[data-v-eb4ba381]{width:min(clamp(320px,50vw,440px),calc(100vw - max(8px,env(safe-area-inset-left)) - max(8px,env(safe-area-inset-right))));max-height:calc(100dvh - max(8px,env(safe-area-inset-top)) - max(8px,env(safe-area-inset-bottom)))}header[data-v-eb4ba381]{padding:8px 12px;gap:10px}h2[data-v-eb4ba381]{font-size:18px;margin:2px 0 0}header button[data-v-eb4ba381]{min-width:40px;min-height:40px}.floating-table-window__content[data-v-eb4ba381]{padding:10px 12px}}html[data-tabletop-portrait-lite="1"]{width:calc(100vw - max(12px,env(safe-area-inset-left)) - max(12px,env(safe-area-inset-right)));max-height:calc(100dvh - max(56px,env(safe-area-inset-top) + 48px) - max(16px,env(safe-area-inset-bottom)))}html[data-tabletop-portrait-lite="1"]{padding:10px 14px;gap:10px}html[data-tabletop-portrait-lite="1"]{font-size:18px;margin:2px 0 0}html[data-tabletop-portrait-lite="1"]{min-width:40px;min-height:40px}html[data-tabletop-portrait-lite="1"]{padding:12px 14px}.expansion-rules[data-v-4f4e11d5]{color:#e5e7da;font:14px/1.85 Microsoft YaHei,sans-serif;overflow-wrap:anywhere}.expansion-english[data-v-4f4e11d5]{margin:0 0 10px;color:#d8b66c;font-size:11px;letter-spacing:1.2px}.expansion-intro[data-v-4f4e11d5]{margin:0 0 22px;padding-bottom:18px;border-bottom:1px solid rgba(216,182,108,.28);color:#fff6e0}.expansion-section+.expansion-section[data-v-4f4e11d5],.expansion-boards[data-v-4f4e11d5]{margin-top:22px}.expansion-rules h2[data-v-4f4e11d5],.expansion-rules h3[data-v-4f4e11d5]{margin:0 0 7px;color:#fff6e0;font:600 17px/1.5 "Noto Serif SC",SimSun,serif}.expansion-section p[data-v-4f4e11d5],.expansion-board p[data-v-4f4e11d5]{margin:0}.expansion-board-list[data-v-4f4e11d5]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.expansion-board[data-v-4f4e11d5]{display:flex;align-items:flex-start;gap:12px;padding:18px 0;border-bottom:1px solid rgba(216,182,108,.2)}.expansion-board-code[data-v-4f4e11d5]{flex:0 0 auto;padding:4px 7px;border:1px solid rgba(216,182,108,.35);border-radius:5px;color:#e5c784;font:14px/1.5 Georgia,serif}.expansion-board>div[data-v-4f4e11d5]{min-width:0}.expansion-board h3[data-v-4f4e11d5]{margin-bottom:2px;font-size:15px}.expansion-board small[data-v-4f4e11d5]{display:block;margin-bottom:8px;color:#b4c2ae;font-size:11px}.expansion-board p[data-v-4f4e11d5]{font-size:13px}.expansion-source[data-v-4f4e11d5]{margin:24px 0 0;color:#b4c2ae;font-size:12px}.expansion-rules[data-v-4f4e11d5]:focus-visible{outline:2px solid #e5c784;outline-offset:3px}@media (max-width: 650px){.expansion-board-list[data-v-4f4e11d5]{grid-template-columns:1fr}}.tabletop-rule-form[data-v-eb6ed88a]{color:#f3ead8;color-scheme:dark}.rule-current[data-v-eb6ed88a]{padding:12px 15px;margin-bottom:16px;border-radius:10px;background:linear-gradient(90deg,#d8b66c24,#101d24db 48%,#0c151beb),url(/assets/tabletop/ui/plaque-label.webp) center / 100% 100% no-repeat;border:1px solid rgba(216,182,108,.34);border-left:3px solid #d8b66c;box-shadow:inset 0 1px #fff6e01a;display:grid;gap:3px}.rule-current small[data-v-eb6ed88a]{color:#d8b66c;font-size:11.5px;font-weight:600;letter-spacing:.6px}.rule-current strong[data-v-eb6ed88a]{font:600 16px/1.35 "Noto Serif SC",SimSun,Microsoft YaHei,serif;color:#fff8e8;letter-spacing:.3px}fieldset[data-v-eb6ed88a]{border:0;margin:0;padding:0;min-width:0}fieldset.is-readonly[data-v-eb6ed88a]{opacity:.92}legend[data-v-eb6ed88a]{font-size:12px;font-weight:700;letter-spacing:.8px;color:#d8b66c;margin-bottom:9px}.rule-choice-grid[data-v-eb6ed88a]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.rule-choice[data-v-eb6ed88a]{display:flex;align-items:flex-start;gap:11px;padding:12px 14px;border:1px solid rgba(216,182,108,.24);border-radius:10px;background:#0c151cb8;box-shadow:inset 0 1px #ffffff0a;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease,transform .15s ease}.rule-choice--sub[data-v-eb6ed88a]{margin-top:9px;border-left:3px solid rgba(216,182,108,.55)}.rule-choice--with-reader[data-v-eb6ed88a]{align-items:center;flex-wrap:wrap}.rule-choice-label[data-v-eb6ed88a]{display:flex;flex:1 1 155px;align-items:flex-start;gap:11px;min-width:0;cursor:inherit}.rule-info-button[data-v-eb6ed88a]{flex:0 0 auto;min-height:36px;margin-left:auto;white-space:nowrap}.is-readonly .rule-choice[data-v-eb6ed88a],.is-readonly .rule-board-row label.rule-tile-card[data-v-eb6ed88a]{cursor:default}fieldset:not(.is-readonly) .rule-choice[data-v-eb6ed88a]:hover{border-color:#d8b66c80;background:#122029db}.rule-choice[data-v-eb6ed88a]:has(input:checked){border-color:#e2c278;background:linear-gradient(135deg,#d8b66c38,#173a32c7);box-shadow:0 6px 18px #00000047,inset 0 0 0 1px #e2c27838,inset 0 1px #fff6e029}input[data-v-eb6ed88a]{accent-color:#e5c375;width:16px;height:16px;flex-shrink:0;margin:2px 0 0;cursor:inherit}.rule-choice span[data-v-eb6ed88a],.rule-board-row label span[data-v-eb6ed88a]{display:grid;gap:2px;min-width:0}.rule-choice b[data-v-eb6ed88a]{font-size:14px;font-weight:600;color:#f3ead8;line-height:1.35}.rule-choice:has(input:checked) b[data-v-eb6ed88a]{color:#fff9ec}.rule-choice small[data-v-eb6ed88a]{color:#a9b8b0;font-size:12px;line-height:1.5}.rule-choice:has(input:checked) small[data-v-eb6ed88a]{color:#d5e0d9}.rule-note[data-v-eb6ed88a]{margin:0;color:#a9b8b0;font-size:12px;line-height:1.6}.rule-boards[data-v-eb6ed88a]{border-top:1px solid rgba(216,182,108,.22);padding-top:15px;margin-top:15px}.rule-boards-heading[data-v-eb6ed88a]{display:flex;flex-wrap:wrap;gap:4px 12px;justify-content:space-between;align-items:center;margin-bottom:8px}.rule-boards-heading strong[data-v-eb6ed88a]{font-size:13.5px;font-weight:700;color:#fff6e0;letter-spacing:.4px}.rule-boards-heading>span[data-v-eb6ed88a]{color:#e5c784;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;padding:2px 9px;border-radius:999px;background:#d8b66c24;border:1px solid rgba(216,182,108,.32)}.rule-boards-toolbar[data-v-eb6ed88a]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;margin-bottom:11px}.rule-presets[data-v-eb6ed88a]{display:flex;gap:8px}button[data-v-eb6ed88a]{color:#efe4cc;border:1px solid rgba(216,182,108,.36);background:#121f27d9;border-radius:7px;padding:6px 12px;font-size:12.5px;font-weight:600;cursor:pointer;font-family:inherit;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}button[data-v-eb6ed88a]:hover:not(:disabled){border-color:#e2c278;background:#1f343eeb;color:#fff8e8}.rule-presets button[aria-pressed=true][data-v-eb6ed88a]{border-color:#e2c278;background:#d8b66c38;color:#fff7e2;box-shadow:inset 0 0 0 1px #e2c27838}.tabletop-rules-trigger[data-v-eb6ed88a]{color:#e6d6ab;background:#101d25cc;padding:7px 12px;font-size:inherit}button[data-v-eb6ed88a]:disabled{opacity:.46;cursor:default}input[data-v-eb6ed88a]:focus-visible,button[data-v-eb6ed88a]:focus-visible{outline:2px solid #e5c784;outline-offset:2px}.rule-board-list[data-v-eb6ed88a]{display:grid;gap:6px}.rule-board-row[data-v-eb6ed88a]{display:grid;grid-template-columns:30px repeat(2,minmax(0,1fr));align-items:stretch;gap:8px;padding:6px;border-radius:10px;background:#0a12199e;border:1px solid rgba(216,182,108,.18);transition:border-color .15s ease,background-color .15s ease}.rule-board-row--active[data-v-eb6ed88a]{background:#0f1b24c7;border-color:#d8b66c57}.rule-board-letter[data-v-eb6ed88a]{display:grid;place-items:center;font:700 13px/1 Georgia,Times New Roman,serif;color:#9ba8a0;border-radius:7px;background:#0f181fd6;border:1px solid rgba(216,182,108,.22);transition:color .15s ease,border-color .15s ease,background-color .15s ease}.rule-board-row--active .rule-board-letter[data-v-eb6ed88a]{color:#ffe5a3;background:linear-gradient(180deg,#d8b66c42,#d8b66c1a);border-color:#e2c2788f;box-shadow:inset 0 1px #fff6e02e}.rule-board-row label.rule-tile-card[data-v-eb6ed88a]{display:flex;align-items:flex-start;gap:9px;padding:8px 10px;border-radius:8px;border:1px solid rgba(216,182,108,.22);background:#0e1820bf;cursor:pointer;min-width:0;transition:border-color .14s ease,background-color .14s ease,box-shadow .14s ease}fieldset:not(.is-readonly) .rule-board-row label.rule-tile-card[data-v-eb6ed88a]:hover{border-color:#e2c27885;background:#16252fe6}.rule-board-row label.rule-tile-card[data-v-eb6ed88a]:has(input:checked){border-color:#e8c87a;background:linear-gradient(135deg,#e2c27838,#183e35d1);box-shadow:0 4px 12px #0000003d,inset 0 0 0 1px #e8c87a33,inset 0 1px #fff8e429}.rule-board-row b[data-v-eb6ed88a]{font-size:13px;font-weight:600;color:#dce4de;line-height:1.3}.rule-board-row label.rule-tile-card:has(input:checked) b[data-v-eb6ed88a]{color:#fffaf0}.rule-board-row small[data-v-eb6ed88a]{font-size:11.5px;color:#a8b8af;line-height:1.35;font-variant-numeric:tabular-nums}.rule-board-row label.rule-tile-card:has(input:checked) small[data-v-eb6ed88a]{color:#d8e6de}.rule-board-row small em[data-v-eb6ed88a]{font-style:normal;font-weight:700;color:#f0cf80}.rule-board-row label.rule-tile-card.is-gray small[data-v-eb6ed88a]{color:#dec89a}.rule-edition[data-v-eb6ed88a]{font:600 15px/1.4 "Noto Serif SC",SimSun,Microsoft YaHei,serif;color:#fff6e0;margin:0 0 12px}.rule-validation[data-v-eb6ed88a]{margin:12px 0 0;padding:9px 12px;border-radius:8px;background:#a33b2a3d;border:1px solid rgba(235,106,86,.56);color:#ffb4a8;font-size:12px;font-weight:600}.rule-save-bar[data-v-eb6ed88a]{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;bottom:-18px;margin:16px -20px -18px;padding:12px 20px;background:linear-gradient(180deg,#0d151ceb,#090f15fa);border-top:1px solid rgba(216,182,108,.3);backdrop-filter:blur(12px);z-index:2}.rule-save-bar span[data-v-eb6ed88a]{font-size:12px;color:#d8ccb2}.rule-save-bar button[data-v-eb6ed88a]{background:linear-gradient(180deg,#ebd08e,#cba155);color:#16231e;border-color:#f6dfa4;font-weight:700;padding:8px 18px;border-radius:8px;box-shadow:0 4px 14px #0000005c,inset 0 1px #ffffff73;white-space:nowrap}.rule-save-bar button[data-v-eb6ed88a]:hover:not(:disabled){background:linear-gradient(180deg,#f3da9b,#d6ac5f);border-color:#fff0c4;color:#101b17}.rule-save-bar button[data-v-eb6ed88a]:disabled{background:#d8b66c24;color:#cbb994;border-color:#d8b66c57;box-shadow:none;opacity:.9}@media (max-width: 650px){.rule-choice-grid[data-v-eb6ed88a]{grid-template-columns:1fr;gap:8px}.rule-board-row[data-v-eb6ed88a]{gap:6px;padding:5px;grid-template-columns:22px repeat(2,minmax(0,1fr))}.rule-board-row label.rule-tile-card[data-v-eb6ed88a]{padding:7px 8px;gap:7px}.rule-board-row b[data-v-eb6ed88a]{font-size:12px}.rule-save-bar[data-v-eb6ed88a]{bottom:-14px;margin:14px -16px -14px;padding:10px 16px}}@media (pointer: coarse) and (orientation: landscape) and (max-height: 600px){.rule-current[data-v-eb6ed88a]{padding:8px 12px;margin-bottom:10px}.rule-current strong[data-v-eb6ed88a]{font-size:14px}.rule-choice-grid[data-v-eb6ed88a]{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.rule-choice[data-v-eb6ed88a]{padding:8px 10px;gap:8px}.rule-boards[data-v-eb6ed88a]{padding-top:10px;margin-top:10px}.rule-board-row[data-v-eb6ed88a]{gap:5px;padding:4px;grid-template-columns:20px repeat(2,minmax(0,1fr))}.rule-board-row label.rule-tile-card[data-v-eb6ed88a]{padding:6px 7px;gap:6px}.rule-save-bar[data-v-eb6ed88a]{bottom:-10px;margin:10px -12px -10px;padding:8px 12px}}@media (pointer: coarse){.rule-info-button[data-v-eb6ed88a]{min-height:44px}}html[data-tabletop-portrait-lite="1"]{bottom:-12px;margin:12px -14px -12px;padding:10px 14px}.tabletop-member-name[data-v-875bf4dd]{display:inline-flex;align-items:center;justify-content:center;gap:4px;max-width:100%;min-height:23px;padding:1px 2px;border:0;border-radius:4px;background:transparent;box-shadow:none;color:inherit;font:inherit;line-height:1.25;text-align:inherit;cursor:pointer}.tabletop-member-name[data-v-875bf4dd]:hover:not(:disabled){background:#d8b66c24;border-color:transparent}.tabletop-member-name[data-v-875bf4dd]:disabled{cursor:default;opacity:1}.tabletop-member-name__arrow[data-v-875bf4dd]{flex:none;color:#d8b66c;font-size:10px}.tabletop-member-menu[data-v-875bf4dd]{box-sizing:border-box;width:min(260px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:8px;border:1px solid #7c693d;border-radius:12px;background:#10231f;box-shadow:0 12px 36px #0009;color:#f5ead6;font:13px/1.5 Microsoft YaHei,sans-serif;overscroll-behavior:contain;color-scheme:dark}.tabletop-member-menu header[data-v-875bf4dd]{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:4px 4px 9px;margin-bottom:4px;border-bottom:1px solid #d8b66c33}.tabletop-member-menu header div[data-v-875bf4dd]{min-width:0}.tabletop-member-menu header strong[data-v-875bf4dd]{display:block;overflow-wrap:anywhere;font-size:14px}.tabletop-member-menu header small[data-v-875bf4dd]{display:block;color:#b9c8bd;font-size:11px}.tabletop-member-menu button[data-v-875bf4dd]{box-sizing:border-box;min-height:36px;padding:7px 9px;border:1px solid #d8b66c3d;border-radius:7px;background:#19392e;color:#f5ead6;font:inherit;cursor:pointer}.tabletop-member-menu button[data-v-875bf4dd]:hover:not(:disabled){background:#2b513c;border-color:#d8b66c}.tabletop-member-menu button[data-v-875bf4dd]:disabled{opacity:.48;cursor:default}.tabletop-member-menu button[data-v-875bf4dd]:focus-visible,.tabletop-member-name[data-v-875bf4dd]:focus-visible{outline:2px solid #f2cf82;outline-offset:2px}.tabletop-member-menu .tabletop-member-menu__close[data-v-875bf4dd]{flex:none;min-width:32px;min-height:32px;padding:2px 8px;border:0;background:transparent;font-size:20px;line-height:1}.tabletop-member-menu .tabletop-member-menu__action[data-v-875bf4dd]{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:4px;text-align:left;border-color:transparent;background:transparent}.tabletop-member-menu__action small[data-v-875bf4dd]{color:#b9c8bd;font-size:11px}.tabletop-member-menu .tabletop-member-menu__danger[data-v-875bf4dd]{color:#ffb6ac}.tabletop-member-menu__label[data-v-875bf4dd]{margin:10px 4px;color:#f1d293;overflow-wrap:anywhere}.tabletop-member-menu__note[data-v-875bf4dd]{margin:9px 4px;color:#b9c8bd;font-size:11px;overflow-wrap:anywhere}.tabletop-member-menu__seats[data-v-875bf4dd]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.tabletop-member-menu__seats button[data-v-875bf4dd]{display:flex;min-height:50px;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:5px 2px}.tabletop-member-menu__seats b[data-v-875bf4dd]{font-size:15px;color:#f1d293}.tabletop-member-menu__seats small[data-v-875bf4dd]{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.tabletop-member-menu__seats [aria-current=true][data-v-875bf4dd]{border-color:#d8b66c}.tabletop-member-menu .tabletop-member-menu__back[data-v-875bf4dd]{width:100%;margin-top:3px}.tabletop-member-menu__confirm[data-v-875bf4dd]{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:12px}@media (pointer: coarse){.tabletop-member-menu button[data-v-875bf4dd]{min-height:40px}}.tabletop-orientation-hint[data-v-d0b0990c]{position:fixed;inset:0;z-index:10000;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px max(20px,env(safe-area-inset-right)) 24px max(20px,env(safe-area-inset-left));background:radial-gradient(ellipse at 50% 32%,rgba(242,195,107,.14),transparent 62%),radial-gradient(ellipse at 50% 45%,#19302a,#091215 78%);color:#efe6d0;font-family:system-ui,Microsoft YaHei,sans-serif;text-align:center;outline:none;touch-action:manipulation;overscroll-behavior:none;backdrop-filter:blur(18px)}.tabletop-orientation-hint__card[data-v-d0b0990c]{width:min(100%,348px);padding:28px 22px 22px;border-radius:20px;background:linear-gradient(165deg,#121c24e0,#090f14f0);border:1px solid rgba(242,195,107,.34);box-shadow:0 24px 60px #000000a6,inset 0 1px #fff8e42e;display:flex;flex-direction:column;align-items:center}.tabletop-orientation-hint__icon[data-v-d0b0990c]{width:76px;height:64px;margin-bottom:14px;color:#dfc082;filter:drop-shadow(0 6px 16px rgba(223,192,130,.25))}.tabletop-orientation-hint__icon svg[data-v-d0b0990c]{width:100%;height:100%}.tabletop-orientation-hint__badge[data-v-d0b0990c]{font:700 10px Consolas,Courier New,monospace;letter-spacing:2px;color:#dfc082;background:#dfc0821f;border:1px solid rgba(223,192,130,.32);padding:3px 10px;border-radius:999px;margin-bottom:12px}h1[data-v-d0b0990c]{margin:0;font-size:21px;font-weight:600;color:#fff;letter-spacing:.5px}p[data-v-d0b0990c]{margin:10px 0 18px;font-size:13px;line-height:1.65;color:#efe6d0d1}.tabletop-orientation-hint__actions[data-v-d0b0990c]{width:100%;margin-bottom:14px}.tabletop-orientation-hint__lite-btn[data-v-d0b0990c]{width:100%;min-height:44px;padding:10px 16px;border-radius:11px;border:1px solid rgba(255,240,200,.48);background:linear-gradient(180deg,#e5c178,#c49645);color:#162220;font:700 14px/1.2 system-ui,Microsoft YaHei,sans-serif;letter-spacing:.5px;box-shadow:0 8px 22px #0000006b,0 0 18px #e5c1783d;cursor:pointer;transition:transform .16s ease,filter .16s ease}.tabletop-orientation-hint__lite-btn[data-v-d0b0990c]:hover,.tabletop-orientation-hint__lite-btn[data-v-d0b0990c]:focus-visible{filter:brightness(1.06);transform:translateY(-1px);outline:2px solid #fff3d1;outline-offset:2px}.tabletop-orientation-hint__lite-btn[data-v-d0b0990c]:active{transform:translateY(0) scale(.985)}small[data-v-d0b0990c]{max-width:270px;color:#afc0b4b8;font-size:11px;line-height:1.6}.tabletop-phone-sheet[data-v-f605072d]{position:fixed;z-index:40;top:calc(max(4px,env(safe-area-inset-top)) + 44px);right:max(8px,env(safe-area-inset-right));width:min(330px,calc(100vw - max(8px,env(safe-area-inset-left)) - max(8px,env(safe-area-inset-right))));max-height:calc(100dvh - max(4px,env(safe-area-inset-top)) - max(8px,env(safe-area-inset-bottom)) - 48px);display:flex;flex-direction:column;overflow:hidden;border:1px solid color-mix(in srgb,var(--gold, #d9bd7c) 36%,transparent);border-radius:14px;background-color:var(--tt-chrome-bg, #13232cf5);background-image:url(/assets/tabletop/ui/panel-dock.webp);background-size:100% 100%;background-position:center;background-repeat:no-repeat;color:var(--tt-chrome-ink-strong, #f4ebda);box-shadow:0 12px 40px #0008;font:13px/1.5 system-ui,Microsoft YaHei,sans-serif}.tabletop-phone-sheet__head[data-v-f605072d]{display:flex;align-items:center;justify-content:space-between;flex:none;gap:12px;min-height:42px;padding:2px 6px 2px 14px;border-bottom:1px solid #d9bd7c26}.tabletop-phone-sheet__close[data-v-f605072d]{width:40px;min-height:40px;border:0;border-radius:8px;background:transparent;color:inherit;font:24px/1 system-ui,sans-serif;cursor:pointer}.tabletop-phone-sheet__body[data-v-f605072d]{min-height:0;overflow:auto;overscroll-behavior:contain;padding:12px}.tabletop-phone-sheet__close[data-v-f605072d]:focus-visible{outline:2px solid var(--gold, #d9bd7c)}html[data-tabletop-portrait-lite="1"]{left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));width:auto;max-height:calc(100dvh - max(4px,env(safe-area-inset-top)) - max(12px,env(safe-area-inset-bottom)) - 52px)}@keyframes ttTurnBannerSweep-7173f451{0%{transform:translate3d(-110%,0,0) skew(-24deg);opacity:0}25%{opacity:.9}to{transform:translate3d(210%,0,0) skew(-24deg);opacity:0}}@keyframes ttBeaconPulse-7173f451{0%,to{transform:scale(1);opacity:.95}50%{transform:scale(1.35);opacity:.55}}.tt-turn-banner[data-v-7173f451]{position:absolute;z-index:8;top:auto;bottom:146px;left:26px;transform:none;width:239px;max-width:calc(100vw - 52px);min-height:0;padding:12px;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:10px;pointer-events:none;user-select:none;border-radius:11px;background:linear-gradient(155deg,#102622eb,#091614f0);border:1px solid rgba(218,186,120,.44);box-shadow:0 12px 32px #00000075,inset 0 1px #fff4d624;backdrop-filter:blur(10px);overflow:hidden;transition:border-color .24s ease,box-shadow .24s ease}.tabletop-play-status--vegas .tt-turn-banner[data-v-7173f451]{position:relative;inset:auto;transform:none;width:100%;max-width:none;box-sizing:border-box}.tabletop--camel .tt-turn-banner[data-v-7173f451]{width:222px;bottom:144px;border-radius:12px;background:linear-gradient(160deg,#14262eeb,#0c181ef2)}.tabletop--party .tt-turn-banner[data-v-7173f451],.tabletop--free-table .tt-turn-banner[data-v-7173f451]{bottom:12px;padding:9px 11px;gap:7px}.tt-turn-banner[data-v-7173f451]:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 42% 90% at 50% 50%,color-mix(in srgb,var(--gold, #dfbc79) 12%,transparent) 0%,transparent 75%)}.tt-turn-banner[data-v-7173f451]:after{content:"";position:absolute;top:0;bottom:0;left:0;width:38%;pointer-events:none;background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--gold, #dfbc79) 28%,rgba(255,250,235,.18)) 50%,transparent 100%);opacity:0}.tt-turn-banner--wave[data-v-7173f451]:after{animation:ttTurnBannerSweep-7173f451 .64s cubic-bezier(.22,1,.36,1)}.tt-turn-banner--mine[data-v-7173f451]{border-top-color:color-mix(in srgb,var(--gold, #dfbc79) 78%,#fff);border-bottom-color:color-mix(in srgb,var(--gold, #dfbc79) 62%,transparent);box-shadow:0 14px 36px #0000008a,0 0 22px color-mix(in srgb,var(--gold, #dfbc79) 22%,transparent),inset 0 1px #fff8e238}.tt-turn-banner__slot[data-v-7173f451]{position:relative;z-index:1;display:grid;grid-template-columns:60px minmax(0,1fr);align-items:start;gap:8px;min-width:0;width:100%}.tt-turn-banner__slot--prev[data-v-7173f451]{max-width:none;color:#e4dbc8}.tt-turn-banner__slot--curr[data-v-7173f451]{max-width:none;padding:3px 7px 3px 5px;margin:0 -4px;width:calc(100% + 8px);border-radius:7px;background:#122327d1;border:1px solid color-mix(in srgb,var(--gold, #dfbc79) 36%,transparent);box-shadow:inset 0 1px #fff6da1a;color:#fff8e8}.tt-turn-banner__slot--curr.is-mine[data-v-7173f451]{background:linear-gradient(90deg,color-mix(in srgb,var(--gold, #dfbc79) 20%,rgba(16,28,34,.85)),#142228b8);border-color:color-mix(in srgb,var(--gold, #dfbc79) 64%,transparent)}.tt-turn-banner__slot--curr.is-payout[data-v-7173f451]{background:linear-gradient(90deg,#eec06238,#261c0ec7);border-color:#f4cc76ad}.tt-turn-banner__slot--next[data-v-7173f451]{max-width:none;color:#cfdad7}.tt-turn-banner__tag[data-v-7173f451]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:44px;justify-self:start;margin-top:1px;padding:1px 5px;border-radius:5px;font-size:9.5px;font-weight:700;letter-spacing:.3px;line-height:1.35;white-space:nowrap;color:#d8c394;background:#fff4d614;border:1px solid rgba(223,188,121,.24)}.tt-turn-banner__slot--curr .tt-turn-banner__tag[data-v-7173f451]{color:#f8dfa1;background:#f2c36b29;border-color:#f2c36b6b}.tt-turn-banner__slot--curr.is-mine .tt-turn-banner__tag[data-v-7173f451],.tt-turn-banner__slot--curr.is-payout .tt-turn-banner__tag[data-v-7173f451]{color:#1b282e;background:linear-gradient(180deg,#f8de97,#dfa94e);border-color:#ffe9ad;box-shadow:0 2px 8px #00000047}.tt-turn-banner__beacon[data-v-7173f451]{width:6px;height:6px;border-radius:50%;background:var(--gold, #dfbc79);box-shadow:0 0 6px var(--gold, #dfbc79);animation:ttBeaconPulse-7173f451 2s ease-in-out infinite}.tt-turn-banner__slot--curr.is-mine .tt-turn-banner__beacon[data-v-7173f451],.tt-turn-banner__slot--curr.is-payout .tt-turn-banner__beacon[data-v-7173f451]{background:#1a2930;box-shadow:none}.tt-turn-banner__divider[data-v-7173f451]{display:none}.tt-turn-banner__viewport[data-v-7173f451]{flex:1;display:grid;grid-template-areas:"ticker";align-items:center;min-width:0;min-height:20px;overflow:hidden;perspective:320px}.tt-turn-banner__line[data-v-7173f451]{grid-area:ticker;display:grid;align-content:start;gap:3px;min-width:0;line-height:1.5;white-space:normal;overflow-wrap:anywhere;will-change:transform,opacity}.tt-turn-banner__slot--curr .tt-turn-banner__viewport .tt-turn-banner__line[data-v-7173f451]{transition-delay:45ms}.tt-turn-banner__slot--next .tt-turn-banner__viewport .tt-turn-banner__line[data-v-7173f451]{transition-delay:90ms}.tt-ticker-roll-enter-active[data-v-7173f451],.tt-ticker-roll-leave-active[data-v-7173f451]{transition:transform .42s cubic-bezier(.22,1,.36,1),opacity .34s cubic-bezier(.22,1,.36,1),filter .34s ease}.tt-ticker-roll-enter-from[data-v-7173f451]{opacity:0;transform:translate3d(0,110%,0) rotateX(-24deg);filter:blur(2px)}.tt-ticker-roll-leave-to[data-v-7173f451]{opacity:0;transform:translate3d(0,-110%,0) rotateX(24deg);filter:blur(2px)}.tt-turn-banner__actor[data-v-7173f451]{display:inline-flex;align-items:baseline;gap:5px;min-width:0}.tt-turn-banner__dot[data-v-7173f451]{width:7px;height:7px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 1px #ffffff52}.tt-turn-banner__actor b[data-v-7173f451]{min-width:0;font-size:11.5px;font-weight:700;color:#f9efd8}.tt-turn-banner__slot--curr .tt-turn-banner__actor b[data-v-7173f451]{color:#ffe7a8}.tt-turn-banner__text[data-v-7173f451]{min-width:0;font-size:11.5px;font-weight:500;white-space:normal;overflow-wrap:anywhere}.tt-turn-banner__slot--curr strong.tt-turn-banner__text[data-v-7173f451]{font-size:11.5px;font-weight:600;color:#fffaf0}@media (max-width: 1260px){.tabletop--party .tt-turn-banner[data-v-7173f451]{display:none}}@media (max-width: 650px){.tt-turn-banner[data-v-7173f451]{top:164px;bottom:auto;left:50%;transform:translate(-50%);width:calc(100% - 28px);max-width:calc(100% - 24px);min-height:30px;padding:10px 12px;gap:8px;border-radius:11px}.tt-turn-banner__tag[data-v-7173f451]{min-width:0;font-size:9px;padding:1px 5px;border-radius:5px}.tt-turn-banner__actor b[data-v-7173f451],.tt-turn-banner__text[data-v-7173f451],.tt-turn-banner__slot--curr strong.tt-turn-banner__text[data-v-7173f451]{font-size:10.5px}.tt-turn-banner__slot--curr[data-v-7173f451]{padding:4px 7px 4px 5px}}@media (pointer: coarse) and (orientation: landscape) and (max-height: 600px){.tt-turn-banner[data-v-7173f451],.tabletop-play-status--vegas .tt-turn-banner[data-v-7173f451]{position:absolute;top:calc(var(--tt-stage-top, 48px) + 4px);bottom:auto;left:50%;transform:translate(-50%);width:calc(100% - 28px);max-width:calc(100% - 28px);min-height:28px;padding:6px 10px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,.9fr);align-items:start;gap:8px;border-radius:10px}.tt-turn-banner__slot[data-v-7173f451]{width:auto;grid-template-columns:minmax(0,1fr);gap:3px;padding:4px 0}.tt-turn-banner__viewport[data-v-7173f451]{min-height:0}.tt-turn-banner__tag[data-v-7173f451]{min-width:0;font-size:9px;padding:1px 5px;border-radius:5px}.tt-turn-banner__actor b[data-v-7173f451],.tt-turn-banner__text[data-v-7173f451],.tt-turn-banner__slot--curr strong.tt-turn-banner__text[data-v-7173f451]{font-size:10.5px}.tt-turn-banner__slot--prev[data-v-7173f451]{max-width:none}.tt-turn-banner__slot--curr[data-v-7173f451]{width:auto;margin:0;max-width:none;padding:4px 7px}.tt-turn-banner__slot--next[data-v-7173f451]{max-width:none}}html[data-tabletop-portrait-lite="1"] .tt-turn-banner[data-v-7173f451],html[data-tabletop-portrait-lite="1"] .tabletop-play-status--vegas .tt-turn-banner[data-v-7173f451]{position:absolute;top:calc(var(--tt-stage-top, 88px) + 4px);bottom:auto;left:50%;transform:translate(-50%);width:calc(100% - 20px);max-width:calc(100% - 20px);min-height:28px;padding:6px 10px;display:block;gap:6px;border-radius:10px}html[data-tabletop-portrait-lite="1"] .tt-turn-banner__slot--prev[data-v-7173f451],html[data-tabletop-portrait-lite="1"] .tt-turn-banner__slot--next[data-v-7173f451],html[data-tabletop-portrait-lite="1"] .tt-turn-banner__divider[data-v-7173f451]{display:none}html[data-tabletop-portrait-lite="1"] .tt-turn-banner__viewport[data-v-7173f451]{min-height:0}html[data-tabletop-portrait-lite="1"] .tt-turn-banner__tag[data-v-7173f451]{font-size:9px;padding:1px 5px}html[data-tabletop-portrait-lite="1"] .tt-turn-banner__actor b[data-v-7173f451],html[data-tabletop-portrait-lite="1"] .tt-turn-banner__text[data-v-7173f451],html[data-tabletop-portrait-lite="1"] .tt-turn-banner__slot--curr strong.tt-turn-banner__text[data-v-7173f451]{font-size:10.5px}html[data-tabletop-portrait-lite="1"] .tt-turn-banner__slot--curr[data-v-7173f451]{display:grid;grid-template-columns:60px minmax(0,1fr);gap:8px;width:100%;max-width:none;margin:0;padding:4px 7px;box-sizing:border-box}@media (prefers-reduced-motion: reduce){.tt-turn-banner[data-v-7173f451],.tt-turn-banner[data-v-7173f451]:after,.tt-turn-banner__beacon[data-v-7173f451],.tt-ticker-roll-enter-active[data-v-7173f451],.tt-ticker-roll-leave-active[data-v-7173f451]{animation:none!important;transition:none!important}}.tabletop-voice[data-v-ed5a16bd]{position:relative;display:inline-flex;align-items:center;gap:5px;flex:none;padding:4px;border:1px solid var(--tt-chrome-line);border-radius:10px;background:color-mix(in srgb,var(--tt-chrome-surface) 93%,transparent);color:var(--tt-chrome-ink);font:12px/1.3 system-ui,sans-serif}.tabletop-voice button[data-v-ed5a16bd]{display:inline-flex;justify-content:center;align-items:center;gap:6px;min-height:32px;padding:5px 9px;border:1px solid transparent;border-radius:7px;color:inherit;font:inherit;background:transparent;cursor:pointer}.tabletop-voice button[data-v-ed5a16bd]:hover:not(:disabled),.tabletop-voice button[aria-expanded=true][data-v-ed5a16bd]{background:var(--tt-chrome-accent);border-color:color-mix(in srgb,var(--gold) 45%,transparent)}.tabletop-voice button[data-v-ed5a16bd]:disabled{opacity:.45;cursor:default}.tabletop-voice button[data-v-ed5a16bd]:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.tabletop-voice__status[data-v-ed5a16bd]{display:inline-flex;gap:6px;align-items:center;padding:0 7px;font-size:11px;color:var(--tt-chrome-muted);white-space:nowrap}.tabletop-voice__status i[data-v-ed5a16bd]{width:6px;height:6px;border-radius:50%;background:#82756b}.is-live .tabletop-voice__status i[data-v-ed5a16bd]{background:#96bfaa}.is-speaking .tabletop-voice__status i[data-v-ed5a16bd]{background:#76d7ff;box-shadow:0 0 8px #76d7ff70}.tabletop-voice .tabletop-voice__join[data-v-ed5a16bd]{background:var(--tt-chrome-accent);border-color:color-mix(in srgb,var(--gold) 45%,transparent);color:var(--tt-chrome-ink-strong)}.tabletop-voice .tabletop-voice__icon[data-v-ed5a16bd]{width:32px;padding:6px}.tabletop-voice .is-active[data-v-ed5a16bd]{background:#76d7ff1f;border-color:#76d7ff60;color:#bcecff}.tabletop-voice svg[data-v-ed5a16bd]{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.tabletop-voice__settings[data-v-ed5a16bd],.tabletop-voice__notice[data-v-ed5a16bd]{position:absolute;z-index:60;top:calc(100% + 8px);right:0;width:280px;max-width:calc(100vw - 24px);box-sizing:border-box;padding:14px;border:1px solid var(--tt-chrome-line);border-radius:12px;background:var(--tt-chrome-surface);box-shadow:0 12px 40px #0007}.tabletop-voice__settings[data-v-ed5a16bd]{max-height:min(440px,calc(100dvh - 150px));overflow:auto;overscroll-behavior:contain}.tabletop-voice__settings header[data-v-ed5a16bd]{display:flex;align-items:center;justify-content:space-between}.tabletop-voice__settings header button[data-v-ed5a16bd]{width:32px;padding:0;font-size:20px}.tabletop-voice__settings p[data-v-ed5a16bd]{font-size:12px;line-height:1.6;color:var(--tt-chrome-muted)}.tabletop-voice__settings label[data-v-ed5a16bd]{display:flex;flex-wrap:wrap;justify-content:space-between;gap:7px;margin-top:14px;font-size:12px}.tabletop-voice__settings select[data-v-ed5a16bd]{width:100%;min-height:36px;border:1px solid var(--tt-chrome-line);border-radius:6px;padding:5px 8px;color:var(--tt-chrome-ink);background:var(--tt-chrome-bg);font:inherit}.tabletop-voice__settings input[data-v-ed5a16bd]{width:100%;accent-color:var(--gold)}.tabletop-voice .tabletop-voice__leave[data-v-ed5a16bd]{width:100%;margin-top:18px;border-color:var(--tt-chrome-line);color:#e5b5ab}.tabletop-voice__notice[data-v-ed5a16bd]{width:300px;display:flex;align-items:center;gap:8px;font-size:12px;color:#edbfb3}.tabletop-voice__notice span[data-v-ed5a16bd]{flex:1;overflow-wrap:anywhere}.tabletop-voice.is-inline[data-v-ed5a16bd]{width:100%;box-sizing:border-box;border-width:1px 0 0;border-radius:0;padding:7px 8px}.tabletop-voice.is-inline .tabletop-voice__status[data-v-ed5a16bd]{display:inline-flex;margin-right:auto}.tabletop-voice.is-inline .tabletop-voice__settings[data-v-ed5a16bd],.tabletop-voice.is-inline .tabletop-voice__notice[data-v-ed5a16bd]{top:auto;bottom:calc(100% + 8px);right:8px}@media (max-width: 900px){.tabletop-voice__status[data-v-ed5a16bd]{display:none}.tabletop-voice button[data-v-ed5a16bd]{min-height:36px}.tabletop-voice[data-v-ed5a16bd]{gap:2px;padding:2px}.tabletop-voice .tabletop-voice__icon[data-v-ed5a16bd]{width:36px}}@media (max-width: 480px){.tabletop-voice__join span[data-v-ed5a16bd]{display:none}.tabletop-voice__settings[data-v-ed5a16bd],.tabletop-voice__notice[data-v-ed5a16bd]{position:fixed;top:102px;right:12px}}.tabletop-voice.is-inline .tabletop-voice__settings[data-v-ed5a16bd],.tabletop-voice.is-inline .tabletop-voice__notice[data-v-ed5a16bd]{position:absolute}.tabletop-voice.is-inline .tabletop-voice__join span[data-v-ed5a16bd]{display:inline}.tabletop-voice__overlay[data-v-ed5a16bd]{display:contents}.tabletop-voice.tabletop-voice--overlay[data-v-ed5a16bd]{position:fixed;inset:0;z-index:80;display:block;border:0;border-radius:0;padding:0;background:transparent;pointer-events:none}.tabletop-voice--overlay .tabletop-voice__settings[data-v-ed5a16bd],.tabletop-voice--overlay .tabletop-voice__notice[data-v-ed5a16bd]{top:calc(max(6px,env(safe-area-inset-top)) + 48px);right:max(10px,env(safe-area-inset-right));max-height:calc(100dvh - max(6px,env(safe-area-inset-top)) - max(8px,env(safe-area-inset-bottom)) - 56px);pointer-events:auto}.tabletop-menu-links{display:contents}@media (pointer: coarse) and (orientation: landscape) and (max-height: 600px){.vegas-app{--tt-left: max(10px, env(safe-area-inset-left));--tt-right: max(10px, env(safe-area-inset-right));--tt-top: max(6px, env(safe-area-inset-top));--tt-bottom: max(8px, env(safe-area-inset-bottom));--tt-action-width: clamp(218px, 30vw, 280px);--tt-hand-height: clamp(124px, 38dvh, 152px)}.vegas-app .vegas-header{display:flex;flex-wrap:nowrap;align-items:center;gap:12px;height:44px;min-height:44px;padding:0}.vegas-app .vegas-header .vegas-brand{flex:none;font-size:13px;gap:6px}.vegas-app .vegas-brand small{display:none}.vegas-app .brand-seal{width:30px;height:30px;font-size:15px}.vegas-app .vegas-header nav{display:flex;flex:1;flex-wrap:nowrap;min-width:0;margin:0;gap:10px;overflow-x:auto;scrollbar-width:none;white-space:nowrap}.vegas-app .vegas-header nav>*{flex:none}.vegas-app .vegas-header nav>a{display:inline-flex;align-items:center;min-height:40px;padding:2px 10px;font-size:11px}.vegas-app .tabletop-account{gap:4px}.vegas-app:not(.vegas-app--playing) .tabletop-account{padding:2px 3px 2px 8px}.vegas-app .tabletop-account .connection-indicator{max-width:64px;font-size:10px}.vegas-app .table-social-toggle{min-height:40px;padding:6px 9px}.vegas-app:not(.vegas-app--playing)>.vegas-header{display:flex;height:44px;min-height:44px;padding:0;gap:8px}.vegas-app:not(.vegas-app--playing) .vegas-header nav{grid-column:auto;grid-row:auto;flex-wrap:nowrap;gap:6px}.vegas-app:not(.vegas-app--playing) .vegas-header nav>*{min-height:36px}.vegas-app:not(.vegas-app--playing) .vegas-header .connection-indicator{grid-column:auto;grid-row:auto}.vegas-app:not(.vegas-app--playing){padding:var(--tt-top) var(--tt-right) var(--tt-bottom) var(--tt-left)}.vegas-app:not(.vegas-app--playing) .vegas-welcome{display:grid;grid-template-columns:clamp(112px,18vw,180px) minmax(0,1fr) clamp(220px,30vw,300px);grid-template-rows:minmax(0,1fr);flex:none;box-sizing:border-box;height:calc(100dvh - var(--tt-top) - var(--tt-bottom) - 44px);max-height:calc(100dvh - var(--tt-top) - var(--tt-bottom) - 44px);min-height:0;align-items:center;gap:12px;padding:8px 0;min-width:0}.vegas-app .tabletop-roster-dock{grid-column:1;grid-row:1;box-sizing:border-box;width:100%;max-height:100%;overflow-y:auto;min-height:0;padding-left:12px}.vegas-app .tabletop-game-cards{grid-template-columns:1fr;gap:4px}.vegas-app .tabletop-game-cards button{min-height:44px;padding:6px 8px;gap:6px}.vegas-app .tabletop-game-cards strong,.vegas-app .tabletop-game-cards button[aria-pressed=true] strong{font-size:12px;overflow:hidden;text-overflow:ellipsis}.vegas-app .tabletop-game-cards small{font-size:9px}.vegas-app .game-card-seal,.vegas-app .tabletop-game-cards button[aria-pressed=true] .game-card-seal{width:26px;height:26px}.vegas-app .tabletop-shelf{padding:9px 7px}.vegas-app .tabletop-shelf__hint{display:none}.vegas-app .welcome-art{grid-column:2;grid-row:1;align-self:center;min-width:0;max-height:100%;overflow-y:auto;padding:6px}.vegas-app .welcome-art h1{font-size:clamp(24px,4.2vw,42px);letter-spacing:-1px;margin:8px 0}.vegas-app .welcome-subtitle{font-size:12px;letter-spacing:1px}.vegas-app .welcome-facts{gap:10px;flex-wrap:wrap}.vegas-app .entry-ticket{grid-column:3;grid-row:1;align-self:center;box-sizing:border-box;width:100%;max-width:none;max-height:100%;overflow-y:auto;margin:0;padding:12px 14px}.vegas-app .entry-ticket .ticket-top{padding-bottom:6px;margin-bottom:6px}.vegas-app .entry-ticket .ticket-top__icon{width:28px;height:28px}.vegas-app .entry-ticket h2{font-size:16px;margin-bottom:2px}.vegas-app .entry-ticket .ticket-switch-head>p{font-size:11px;margin-bottom:8px}.vegas-app .entry-ticket .ticket-divider{margin:7px 0 6px}.vegas-app .entry-ticket p.ticket-note{display:none}.vegas-app .entry-ticket input{min-width:0;font-size:14px}.vegas-app .entry-ticket button{min-height:36px}.vegas-app:not(.vegas-app--playing)>.vegas-room{flex:none;box-sizing:border-box;height:calc(100dvh - var(--tt-top) - var(--tt-bottom) - 44px);min-height:0;padding:4px 0 0;overflow:hidden}.vegas-app:not(.vegas-app--playing)>.room-footer{display:none}.vegas-app:not(.vegas-app--playing) .room-layout--waiting{flex:1 1 0;min-height:0;align-items:stretch}.vegas-app:not(.vegas-app--playing) .room-layout--waiting>.tabletop-room-shell__stage{height:auto;min-height:0;align-items:stretch;overflow:hidden}.vegas-app:not(.vegas-app--playing) .room-layout--waiting .table-area--waiting{flex:1 1 0;min-width:0}.vegas-app:not(.vegas-app--playing) .room-heading{flex:none;flex-direction:row;align-items:center;gap:10px;padding:0 2px 6px;margin:0 0 6px}.vegas-app:not(.vegas-app--playing) .room-heading__main{flex:none;min-width:0}.vegas-app:not(.vegas-app--playing) .room-heading__main .eyebrow,.vegas-app:not(.vegas-app--playing) .room-heading__game-pill{display:none}.vegas-app:not(.vegas-app--playing) .room-heading h1{font-size:13px;white-space:nowrap}.vegas-app:not(.vegas-app--playing) .room-heading h1 span{font-size:16px;letter-spacing:2px;padding:1px 8px;margin-left:4px}.vegas-app:not(.vegas-app--playing) .room-heading-actions{flex:0 1 auto;flex-direction:row;flex-wrap:nowrap;gap:6px;min-width:0;overflow-x:auto;scrollbar-width:none}.vegas-app:not(.vegas-app--playing) .room-heading-actions>*{flex:none}.vegas-app:not(.vegas-app--playing) .room-heading-actions button{min-height:36px;padding:5px 10px;font-size:11px;white-space:nowrap}.vegas-app:not(.vegas-app--playing) .debug-spawn-input{width:96px}.vegas-app:not(.vegas-app--playing) .table-area--waiting{display:grid;grid-template-columns:clamp(118px,19vw,170px) minmax(0,1fr) clamp(200px,31vw,270px);grid-template-rows:minmax(0,1fr);gap:10px;height:100%;min-height:0;align-items:center}.vegas-app:not(.vegas-app--playing) .table-area--waiting>.tabletop-game-selector{grid-column:1;box-sizing:border-box;width:100%;max-width:none;max-height:100%;overflow-y:auto;overscroll-behavior:contain;padding:2px 0 2px 10px;gap:6px}.vegas-app:not(.vegas-app--playing) .tabletop-game-selector__head>small{font-size:9.5px;letter-spacing:1.6px}.vegas-app:not(.vegas-app--playing) .tabletop-game-selector strong{font-size:13px}.vegas-app:not(.vegas-app--playing) .tabletop-game-selector__list{gap:2px}.vegas-app:not(.vegas-app--playing) .tabletop-game-selector button{min-height:40px;padding:4px 6px;gap:6px}.vegas-app:not(.vegas-app--playing) .tabletop-game-selector .selector-seal{width:26px;height:26px;border-radius:7px}.vegas-app:not(.vegas-app--playing) .tabletop-game-selector .selector-btn-body{min-width:0}.vegas-app:not(.vegas-app--playing) .tabletop-game-selector .selector-btn-body b{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.vegas-app:not(.vegas-app--playing) .tabletop-game-selector button small{font-size:9px}.vegas-app:not(.vegas-app--playing) .player-rail--waiting{grid-column:2;position:static;box-sizing:border-box;display:grid;grid-template-columns:repeat(auto-fill,minmax(66px,1fr));align-content:center;width:100%;height:auto;min-height:0;max-height:100%;margin:0;padding:4px 2px;gap:8px 4px;overflow-y:auto;overscroll-behavior:contain;pointer-events:auto}.vegas-app:not(.vegas-app--playing) .player-rail--waiting .player-seat,.vegas-app:not(.vegas-app--playing) .player-rail--waiting .seat-open-slot{position:relative;inset:auto!important;transform:none!important;width:auto;min-width:0;min-height:0;padding:0;gap:3px}.vegas-app:not(.vegas-app--playing) .player-rail--waiting .player-avatar-frame{padding:2px}.vegas-app:not(.vegas-app--playing) .player-rail--waiting .player-avatar{width:34px;height:34px;font-size:13px}.vegas-app:not(.vegas-app--playing) .player-rail--waiting .seat-open-slot__icon{width:38px;height:38px;font-size:15px}.vegas-app:not(.vegas-app--playing) .player-rail--waiting .seat-medallion-num{min-width:15px;height:15px;padding:0 3px;font-size:8.5px;line-height:13px}.vegas-app:not(.vegas-app--playing) .player-rail--waiting .player-avatar-host{width:18px;height:auto}.vegas-app:not(.vegas-app--playing) .player-rail--waiting .player-seat__meta{box-sizing:border-box;max-width:100%;padding:2px 6px 3px}.vegas-app:not(.vegas-app--playing) .player-rail--waiting .player-seat strong,.vegas-app:not(.vegas-app--playing) .player-rail--waiting .seat-open-slot strong{max-width:62px;overflow:hidden;font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}.vegas-app:not(.vegas-app--playing) .player-rail--waiting .player-seat__meta>span{max-width:62px;overflow:hidden;font-size:8.5px;text-overflow:ellipsis;white-space:nowrap}.vegas-app:not(.vegas-app--playing) .lobby-table{grid-column:3;box-sizing:border-box;width:100%;min-width:0;min-height:0;max-height:100%;padding:12px 12px 10px;border-radius:20px;overflow-y:auto;overscroll-behavior:contain}.vegas-app:not(.vegas-app--playing) .lobby-table .table-watermark{display:none}.vegas-app:not(.vegas-app--playing) .lobby-card-fan{height:58px;margin:0 auto 4px}.vegas-app:not(.vegas-app--playing) .lobby-card-fan__item{width:40px;height:52px;border-radius:6px}.vegas-app:not(.vegas-app--playing) .lobby-card-fan__item--1{width:44px;height:56px}.vegas-app:not(.vegas-app--playing) .lobby-table h2{font-size:16px;margin-bottom:4px}.vegas-app:not(.vegas-app--playing) .lobby-rule-summary{max-width:100%;padding:4px 8px;margin:0 0 4px;font-size:10.5px;line-height:1.45}.vegas-app:not(.vegas-app--playing) .lobby-actions{flex-direction:column;width:100%;margin:4px 0;gap:6px}.vegas-app:not(.vegas-app--playing) .lobby-actions .botc-button{width:100%;min-height:44px}.vegas-app:not(.vegas-app--playing) .lobby-table p.muted{margin:0;font-size:10px;line-height:1.4}.vegas-app.vegas-app--playing[data-game]{--tt-hand-height: clamp(96px, 27dvh, 110px);--tt-phone-context: clamp(128px, 21vw, 164px);--tt-stage-top: calc(var(--tt-top) + 42px)}.vegas-app.vegas-app--playing[data-game] .vegas-header{top:var(--tt-top);left:var(--tt-left);right:var(--tt-right);height:38px;min-height:38px;gap:6px;border:0;background:linear-gradient(180deg,#0a1419dd,#0a141977)}.vegas-app.vegas-app--playing[data-game] .vegas-brand{min-width:0;max-width:145px;gap:5px;font-size:12px}.vegas-app.vegas-app--playing[data-game] .vegas-brand>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vegas-app.vegas-app--playing[data-game] .brand-seal{width:25px;height:25px;flex:none}.vegas-app.vegas-app--playing[data-game] .vegas-header nav{justify-content:flex-end;gap:4px;overflow:visible}.vegas-app.vegas-app--playing[data-game] .tabletop-phone-status,.vegas-app.vegas-app--playing[data-game] .tabletop-phone-toggle{min-height:38px;padding:5px 8px;flex:none;border:0;border-radius:8px;background:#d6c2970d;color:#eee6d3;font:12px/1.3 system-ui,sans-serif;cursor:pointer}.vegas-app.vegas-app--playing[data-game] .tabletop-phone-status{color:var(--gold);white-space:nowrap}.vegas-app.vegas-app--playing[data-game] .tabletop-phone-status span{margin-left:3px}.vegas-app.vegas-app--playing[data-game] .tabletop-phone-toggle{min-width:40px}.vegas-app.vegas-app--playing[data-game] .tabletop-phone-toggle[aria-expanded=true]{background:#d6c29726}.vegas-app.vegas-app--playing[data-game] .table-social-toggle{position:relative;min-height:38px;padding:5px 8px;font-size:12px;border:0;background:#d6c2970d}.vegas-app.vegas-app--playing[data-game] .table-social-toggle>span{display:none}.vegas-app.vegas-app--playing[data-game] .vegas-header .tabletop-voice{display:inline-flex;flex:none;gap:1px;padding:0;border:0;background:transparent}.vegas-app.vegas-app--playing[data-game] .vegas-header .tabletop-voice__status,.vegas-app.vegas-app--playing[data-game] .vegas-header .tabletop-voice__join>span{display:none}.vegas-app.vegas-app--playing[data-game] .vegas-header .tabletop-voice>button{width:34px;min-width:34px;min-height:38px;padding:6px;border:0;background:transparent}.vegas-app.vegas-app--playing[data-game] .offline-banner,.vegas-app.vegas-app--playing[data-game]>.vegas-alert,.vegas-app.vegas-app--playing[data-game]>.vegas-notice{top:var(--tt-stage-top);max-width:calc(100% - var(--tt-left) - var(--tt-right));font-size:11px;padding:6px 10px}.vegas-app.vegas-app--playing[data-game] .tabletop-phone-sheet .tabletop-menu-links{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:10px}.vegas-app.vegas-app--playing[data-game] .tabletop-menu-links>a,.vegas-app.vegas-app--playing[data-game] .tabletop-menu-links>button{display:flex;align-items:center;justify-content:center;min-height:40px;padding:6px;margin:0;border:1px solid #d6c29726;border-radius:8px;background:#d6c2970a;color:inherit;font-size:12px;text-decoration:none}.vegas-app.vegas-app--playing[data-game] .tabletop-phone-sheet .tabletop-account{justify-content:space-between;padding:6px;margin:10px 0;border:0;background:none}.vegas-app.vegas-app--playing[data-game] .tabletop-phone-sheet .connection-indicator{max-width:none;font-size:12px}.vegas-app.vegas-app--playing[data-game] .tabletop-phone-sheet .room-heading{position:static;display:block;max-width:none;padding:10px 0;margin:0;border:0}.vegas-app.vegas-app--playing[data-game] .tabletop-phone-sheet .room-heading__title-row{display:block}.vegas-app.vegas-app--playing[data-game] .tabletop-phone-sheet .room-heading__game-pill{display:none}.vegas-app.vegas-app--playing[data-game] .tabletop-phone-sheet .room-heading h1{margin:0 0 12px;font-size:12px}.vegas-app.vegas-app--playing[data-game] .tabletop-phone-sheet .room-heading h1 span{font-size:16px;letter-spacing:2px}.vegas-app.vegas-app--playing[data-game] .tabletop-phone-sheet .room-heading-actions{display:flex;flex-direction:row;flex-wrap:wrap;gap:6px}.vegas-app.vegas-app--playing[data-game] .tabletop-phone-sheet .room-heading-actions button{min-height:40px;padding:6px 10px;font-size:12px}.vegas-app.vegas-app--playing[data-game] .tabletop-phone-sheet .room-heading-actions button:first-child:after{content:none}.vegas-app.vegas-app--playing[data-game] .tabletop-phone-sheet .player-rail{position:static;transform:none;display:grid;grid-template-columns:1fr;width:100%;max-width:none;height:auto;margin:8px 0 0;gap:5px}.vegas-app.vegas-app--playing[data-game] .tabletop-phone-sheet .player-seat{min-width:0;max-width:none;padding:8px}.vegas-app.vegas-app--playing[data-game] .tabletop-phone-sheet :is(.party-camera-tools,.camel-toolbar,.table-tools,.ft-tools){position:static;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));transform:none;width:100%;max-width:none;margin:0;padding:0;gap:6px;border:0;background:none;overflow:visible}.vegas-app.vegas-app--playing[data-game] .tabletop-phone-sheet :is(.party-camera-tools,.camel-toolbar,.table-tools,.ft-tools) button{width:100%;min-width:0;min-height:42px;padding:7px;border:1px solid #d6c29726;border-radius:8px;background:#d6c2970d;color:inherit;font-size:12px}.vegas-app.vegas-app--playing[data-game] .tabletop-phone-sheet .ft-tools__sep{grid-column:1 / -1;width:100%;height:1px;margin:3px 0}.vegas-app.vegas-app--playing[data-game] .tabletop-phone-sheet :is(.party-score-note,.camel-race-info,.camel-wallet,.pocket-slip,.round-heading,.royal-card-rail,.table-neutral-note){position:static;display:block;transform:none;width:100%;max-width:none;max-height:none;margin:0 0 12px;padding:10px;box-sizing:border-box}.vegas-app.vegas-app--playing[data-game] .tabletop-phone-sheet .party-score-note{background:none;padding:0}.vegas-app.vegas-app--playing[data-game] .tabletop-phone-sheet .party-score-note>.party-glyph,.vegas-app.vegas-app--playing[data-game] .tabletop-phone-sheet .party-kicker,.vegas-app.vegas-app--playing[data-game] .tabletop-phone-sheet .camel-kicker{display:none}.vegas-app.vegas-app--playing[data-game] .tabletop-phone-sheet .party-score-note h1{display:inline;font-size:14px}.vegas-app.vegas-app--playing[data-game] .tabletop-phone-sheet .party-score-note h1 b{font-size:24px}.vegas-app.vegas-app--playing[data-game] .tabletop-phone-sheet .party-my-score{display:inline;margin-left:16px;font-size:16px}.vegas-app.vegas-app--playing[data-game] .tabletop-phone-sheet .party-score-note nav{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:12px}.vegas-app.vegas-app--playing[data-game] .tabletop-phone-sheet .party-score-note nav button,.vegas-app.vegas-app--playing[data-game] .tabletop-phone-sheet .camel-info-actions button{min-height:42px;padding:7px;font-size:12px}.vegas-app.vegas-app--playing[data-game] .tabletop-phone-sheet .camel-ranks{width:auto}.vegas-app.vegas-app--playing[data-game] .tabletop-phone-sheet .camel-wallet{text-align:left}.vegas-app.vegas-app--playing[data-game] .tabletop-phone-sheet .pocket-slip__values{display:flex;justify-content:space-around}.vegas-app.vegas-app--playing[data-game] .tabletop-phone-sheet .royal-card-rail>div{display:grid;grid-template-columns:1fr;gap:6px}.vegas-app.vegas-app--playing[data-game] .tabletop-phone-sheet .royal-card-rail button{min-height:42px}.vegas-app.vegas-app--playing[data-game] .tabletop-phone-sheet :is(.party-action-panel,.camel-action-panel){position:static;transform:none;display:flex;flex-direction:column;width:100%;max-width:none;max-height:none;min-height:0;padding:0;margin:0;gap:10px;border:0;box-shadow:none;border-radius:0;background:none;overflow:visible}.vegas-app.vegas-app--playing[data-game] .tabletop-phone-sheet .party-turn-heading{padding-bottom:8px}.vegas-app.vegas-app--playing[data-game] .tabletop-phone-sheet .party-turn-heading h2{font-size:13px}.vegas-app.vegas-app--playing[data-game] .tabletop-phone-sheet .party-option-list{grid-template-columns:1fr;max-height:none;overflow:visible;gap:6px}.vegas-app.vegas-app--playing[data-game] .tabletop-phone-sheet :is(.party-option-list button,.party-action-groups button,.camel-action-tabs button){min-height:42px;padding:8px;font-size:12px}.vegas-app.vegas-app--playing[data-game] .tabletop-phone-sheet .party-action-groups{flex-wrap:wrap}.vegas-app.vegas-app--playing[data-game] .tabletop-phone-sheet :is(select,input){min-height:40px;min-width:0;font-size:16px}.vegas-app.vegas-app--playing[data-game] .party-scene{top:var(--tt-stage-top);bottom:calc(var(--tt-bottom) + var(--tt-hand-height) + 4px)}.vegas-app.vegas-app--playing[data-game] .party-hand-dock{left:var(--tt-left);right:var(--tt-right);bottom:var(--tt-bottom);transform:none;width:auto;height:var(--tt-hand-height);min-height:0;padding:5px 8px;border-radius:12px;background:#0d1720 url(/assets/tabletop/ui/panel-dock.webp) center / 100% 100% no-repeat}.vegas-app.vegas-app--playing[data-game] .party-hand-heading{width:calc(100% - var(--tt-phone-context) - 10px);height:17px;margin:0;font-size:11px;white-space:nowrap}.vegas-app.vegas-app--playing[data-game] .party-hand-heading>button{display:none}.vegas-app.vegas-app--playing[data-game] .party-hand-cards{width:calc(100% - var(--tt-phone-context) - 10px);height:calc(var(--tt-hand-height) - 26px);max-height:none;padding:5px 1px 0;gap:4px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.vegas-app.vegas-app--playing[data-game] .party-hand-item{flex:0 0 clamp(44px,6.5vw,60px)}.vegas-app.vegas-app--playing[data-game] .party-hand-item .party-card-face{height:calc(var(--tt-hand-height) - 34px);min-height:0;padding:11px 2px 2px;border-top-width:3px}.vegas-app.vegas-app--playing[data-game] .party-hand-item .party-card-face strong{font-size:12px}.vegas-app.vegas-app--playing[data-game] .party-hand-item .party-card-face--number strong{font-size:26px}.vegas-app.vegas-app--playing[data-game] .party-hand-item .party-card-face>small{display:none}.vegas-app.vegas-app--playing[data-game] .party-hand-item .party-card-corner{font-size:11px;top:2px;left:3px}.vegas-app.vegas-app--playing[data-game] .party-hand-item .party-read-card,.vegas-app.vegas-app--playing[data-game] .party-camera-hint{display:none}.vegas-app.vegas-app--playing[data-game] .party-phone-context{position:absolute;top:4px;right:8px;bottom:4px;width:var(--tt-phone-context);display:flex;flex-direction:column;justify-content:center;gap:2px}.vegas-app.vegas-app--playing[data-game] .party-phone-prompt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#d8d4c7;font-size:11px;line-height:14px}.vegas-app.vegas-app--playing[data-game] .party-phone-confirm{min-height:40px;padding:6px 8px;border:1px solid #f4d99166;border-radius:8px;background:#e8c778 url(/assets/tabletop/ui/btn-primary.webp) center / 100% 100% no-repeat;color:#273a40;font:600 12px/1.3 system-ui,sans-serif;cursor:pointer}.vegas-app.vegas-app--playing[data-game] .party-phone-confirm:disabled{opacity:.55}.vegas-app.vegas-app--playing[data-game] .party-phone-read{min-height:28px;padding:2px 6px;border:0;background:transparent;color:#ddd5c1;font-size:11px;cursor:pointer}.vegas-app.vegas-app--playing[data-game] .party-phone-simple-options{display:flex;gap:6px}.vegas-app.vegas-app--playing[data-game] .party-phone-simple-options>button{flex:1}.vegas-app.vegas-app--playing[data-game] .party-tabletop--empty-hand{--tt-hand-height: 72px}.vegas-app.vegas-app--playing[data-game] .party-tabletop--empty-hand .party-hand-heading,.vegas-app.vegas-app--playing[data-game] .party-tabletop--empty-hand .party-hand-cards{display:none}.vegas-app.vegas-app--playing[data-game] .party-tabletop--empty-hand .party-phone-context{left:10px;right:10px;width:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.vegas-app.vegas-app--playing[data-game] .party-tabletop--empty-hand .party-phone-confirm{min-width:112px}.vegas-app.vegas-app--playing[data-game] .party-live-banner{top:calc(var(--tt-stage-top) + 6px);left:50%;right:auto;transform:translate(-50%);width:max-content;max-width:calc(100% - 32px);padding:5px 10px;font-size:11px}.vegas-app.vegas-app--playing[data-game] .party-live-banner__tag{display:none}.vegas-app.vegas-app--playing[data-game] .party-live-banner strong{font-size:11px}.vegas-app.vegas-app--playing[data-game] .camel-scene,.vegas-app.vegas-app--playing[data-game] .camel-track-picks{top:var(--tt-stage-top);bottom:calc(var(--tt-bottom) + 72px)}.vegas-app.vegas-app--playing[data-game] .camel-phone-bar{position:absolute;z-index:10;left:var(--tt-left);right:var(--tt-right);bottom:var(--tt-bottom);display:flex;align-items:center;gap:8px;min-height:62px;padding:6px 10px;border:1px solid #ddc68d33;border-radius:12px;background:#152a30 url(/assets/tabletop/ui/panel-dock.webp) center / 100% 100% no-repeat;box-sizing:border-box}.vegas-app.vegas-app--playing[data-game] .camel-phone-bar>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f1dbab;font-size:12px}.vegas-app.vegas-app--playing[data-game] .camel-phone-bar small{display:block;color:#b7c5c5;font-size:10px;margin-top:3px}.vegas-app.vegas-app--playing[data-game] .camel-phone-bar>button{min-height:42px;padding:7px 14px;border:1px solid #ddc68d40;border-radius:8px;font:600 12px/1.3 system-ui,sans-serif}.vegas-app.vegas-app--playing[data-game] .camel-phone-primary{background:#e8c778 url(/assets/tabletop/ui/btn-primary.webp) center / 100% 100% no-repeat;color:#293c43}.vegas-app.vegas-app--playing[data-game] .camel-phone-more{background:#12191c url(/assets/tabletop/ui/btn-option.webp) center / 100% 100% no-repeat;color:#e6dabe}.vegas-app.vegas-app--playing[data-game] .camel-live-banner{top:calc(var(--tt-stage-top) + 6px);padding:5px 10px;font-size:11px}.vegas-app.vegas-app--playing[data-game] .table-viewport{top:var(--tt-stage-top);bottom:calc(var(--tt-bottom) + var(--table-action-height, 64px) + 8px);width:auto;height:auto}.vegas-app.vegas-app--playing[data-game] .table-action-bar.decision-panel{top:auto;left:var(--tt-left);right:var(--tt-right);bottom:var(--tt-bottom);transform:none;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;width:auto;max-width:none;max-height:45dvh;padding:7px 10px;gap:6px 10px;overflow:auto}.vegas-app.vegas-app--playing[data-game] .table-action-title{min-width:0;gap:6px}.vegas-app.vegas-app--playing[data-game] .table-action-title h2{font-size:12px}.vegas-app.vegas-app--playing[data-game] .table-action-title small{font-size:10px}.vegas-app.vegas-app--playing[data-game] .roll-button{min-height:40px;padding:6px 16px}.vegas-app.vegas-app--playing[data-game] .roll-button>span{font-size:25px}.vegas-app.vegas-app--playing[data-game] .placement-actions{grid-column:1 / -1;display:flex;align-items:center;gap:8px}.vegas-app.vegas-app--playing[data-game] .face-groups{flex:1;min-width:0;gap:4px;flex-wrap:nowrap;overflow-x:auto;padding:8px;margin:-8px}.vegas-app.vegas-app--playing[data-game] .face-group{padding:3px 6px;gap:3px;flex:none}.vegas-app.vegas-app--playing[data-game] .face-group .dice-face{width:30px;height:30px}.vegas-app.vegas-app--playing[data-game] .face-group-info{font-size:10px}.vegas-app.vegas-app--playing[data-game] .throw-actions{flex:none;gap:4px}.vegas-app.vegas-app--playing[data-game] .throw-actions button{min-height:36px;padding:5px 8px;font-size:11px}.vegas-app.vegas-app--playing[data-game] .power-choice{grid-column:1 / -1}.vegas-app.vegas-app--playing[data-game] .table-prize-tag{width:74px;height:30px;padding:3px 5px;gap:5px;border-radius:6px}.vegas-app.vegas-app--playing[data-game] .table-prize-tag.table-prize-tag--many-notes{width:94px;height:auto;min-height:30px}.vegas-app.vegas-app--playing[data-game] .table-prize-tag>b{width:20px;height:24px;font-size:15px}.vegas-app.vegas-app--playing[data-game] .table-prize-tag strong{display:none}.vegas-app.vegas-app--playing[data-game] .table-prize-values{font-size:12px;gap:2px}.vegas-app.vegas-app--playing[data-game] .table-prize-values small,.vegas-app.vegas-app--playing[data-game] .table-gesture,.vegas-app.vegas-app--playing[data-game] .table-legend{display:none}.vegas-app.vegas-app--playing[data-game] .table-inspector{inset:8px 8px auto auto;width:220px;max-height:calc(100% - 16px);padding:10px}.vegas-app.vegas-app--playing[data-game] .ft-hand{bottom:var(--tt-bottom);width:calc(100% - var(--tt-left) - var(--tt-right));height:96px;padding:4px 8px}.vegas-app.vegas-app--playing[data-game] .ft-hand.ft-hand--empty{height:60px}.vegas-app.vegas-app--playing[data-game] .ft-hand--empty .ft-hand-cards{min-height:20px;padding:0}.vegas-app.vegas-app--playing[data-game] .ft-hand--empty .ft-hand-cards>p{padding:0;margin:0;font-size:11px}.vegas-app.vegas-app--playing[data-game] .ft-hand header{margin-bottom:2px}.vegas-app.vegas-app--playing[data-game] .ft-hand header small{display:none}.vegas-app.vegas-app--playing[data-game] .ft-hand header button{min-height:30px;padding:3px 8px;margin-left:auto}.vegas-app.vegas-app--playing[data-game] .ft-hand-cards{min-height:52px;padding-top:3px}.vegas-app.vegas-app--playing[data-game] .ft-hand-card .ft-card,.vegas-app.vegas-app--playing[data-game] .ft-hand-ghost .ft-card{width:44px;height:62px}.vegas-app.vegas-app--playing[data-game] .ft-hand-card .ft-card b{font-size:12px}.vegas-app.vegas-app--playing[data-game] .ft-hand-card .ft-card em{font-size:22px}.vegas-app.vegas-app--playing[data-game] .ft-actions{bottom:calc(var(--tt-bottom) + 102px);width:max-content;max-width:calc(100% - var(--tt-left) - var(--tt-right));max-height:48px;display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:4px;padding:4px;scrollbar-width:thin}.vegas-app.vegas-app--playing[data-game] .ft-actions>*{flex:none}.vegas-app.vegas-app--playing[data-game] .ft-actions button{min-height:36px;padding:5px 8px}.vegas-app.vegas-app--playing[data-game] .ft-actions kbd{display:none}}
