@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Libre+Caslon+Display&display=swap";:root{color:#2c253b;font-synthesis:none;--ink:#2c253b;--muted:#81758e;--plum:#76569b;--plum-dark:#60427f;--coral:#c56873;--lilac:#f5f3fa;--line:#e9e3ef;--soft:#f0ebf6;--radius:12px;background:#fff;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #a68bc7}input,select{min-width:0;min-height:44px;color:var(--ink);background:#fff;border:1px solid #dcd4e7;border-radius:7px;padding:10px 12px;font-size:14px}h1,h2,h3,p{margin:0}h1,h2{font-family:Libre Caslon Display,Georgia,Times New Roman,serif;font-weight:400;line-height:1.15}h1{letter-spacing:-.6px;font-size:42px}h2{letter-spacing:-.3px;font-size:29px}a{color:var(--plum);text-underline-offset:3px}label{flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}button{touch-action:manipulation}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.muted{color:var(--muted)}.small{font-size:12px;line-height:1.5}.positive-score{color:#4e806b}.negative-score{color:#956175}.page-width{max-width:1500px;margin-inline:auto;padding-inline:30px}.surface{border:1px solid var(--line);border-radius:var(--radius);background:#fff}.button{border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:10px;min-height:43px;padding:11px 18px;font-size:14px;font-weight:600;line-height:1.35;text-decoration:none;transition:background .15s,box-shadow .15s,transform .15s;display:inline-flex}.button.primary{background:var(--plum);color:#fff}.button.secondary{background:var(--soft);color:#443155;border-color:#e9e2f1}.button:disabled{opacity:.45}.text-button{color:var(--plum);text-underline-offset:3px;background:0 0;border:0;padding:4px 0;font-size:12px;font-weight:600;text-decoration:underline}.text-button:hover{color:var(--plum-dark)}.text-button:disabled{opacity:.4}.notice{color:#67517b;background:#f4eff9;border:1px solid #e4d9ef;border-radius:8px;justify-content:space-between;align-items:center;gap:20px;margin-block:14px;padding:12px 17px;font-size:13px;display:flex}.notice.error{color:#934754;background:#fff2f3;border-color:#f1d9dc}.error-text{color:#a24655;font-size:13px}.loading-state{color:var(--muted);text-align:center;padding-block:80px}.connection-screen{min-height:60vh;padding-top:80px}.connection-screen p{color:var(--muted);margin-block:20px}.site-header{z-index:5;background:#fff;border-bottom:1px solid #eeebf3;justify-content:space-between;align-items:center;height:73px;padding:0 38px;display:flex;position:relative}.brand{color:#271c3e;letter-spacing:-.6px;background:0 0;border:0;align-items:center;gap:11px;padding:0;font-family:Libre Caslon Display,Georgia,serif;font-size:36px;line-height:1;display:flex}.site-header nav{align-items:center;gap:24px;display:flex}.nav-link{color:#48355e;background:0 0;border:0;padding:10px 0;font-size:14px}.profile{border-left:1px solid #dcd5e6;padding-left:25px;position:relative}.profile-button{color:#47335e;background:0 0;border:0;align-items:center;gap:12px;padding:0;font-size:14px;display:flex}.profile-name{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.avatar{color:#fff;background:#76569b;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:15px;font-weight:600;display:flex}.avatar-0{color:#a8556b;background:#eddae3}.avatar-1{color:#67845a;background:#e2ebdb}.avatar-2{color:#596f9c;background:#dfe6f5}.avatar-3{color:#77579a;background:#e9e0f3}.avatar-4{color:#af785f;background:#f2ded7}.profile-menu{gap:12px;width:270px;padding:18px;display:grid;position:absolute;top:52px;right:0;box-shadow:0 12px 40px #32204512}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin:20px 0 17px;display:flex}.page-heading p{color:#78668a;margin-top:5px;font-size:16px}.site-footer{color:#9b90a6;justify-content:space-between;gap:20px;max-width:1500px;margin:28px auto 0;padding:20px 30px 25px;font-size:11px;display:flex}.site-footer a{color:#88779a;text-decoration:none}.room-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:22px;display:grid}.game-column{min-width:0}.room-sidebar{gap:18px;min-width:0;display:grid}.score-panel{background:#fcfbfe;padding:17px}.panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;margin-bottom:7px;padding-bottom:12px;display:flex}.panel-heading h2{font-size:29px}.panel-heading .small{font-size:10px}.score-list{margin:0;padding:0;list-style:none}.score-list li{align-items:center;gap:10px;min-height:40px;font-size:14px;display:flex}.score-list li>strong{font-variant-numeric:tabular-nums;margin-left:auto;font-weight:550}.seat-dot{background:var(--plum);border-radius:50%;flex-shrink:0;width:12px;height:12px}.seat-dot-1{background:#78a086}.seat-dot-2{background:#7894b2}.seat-dot-3{background:#c18990}.seat-dot-4{background:#c5aa74}.score-name{flex-direction:column;line-height:1.4;display:flex;overflow:hidden}.score-name>span{overflow-wrap:anywhere}.score-name small{color:#9a8aaa;min-height:0;font-size:10px}.score-name small:empty{display:none}.room-controls{gap:8px;display:grid}.room-controls:not(:empty){border-top:1px solid var(--line);margin-top:9px;padding-top:10px}.room-controls>.button{width:100%;min-height:44px}.room-controls>.button>span{font-size:19px}.manage-seats{gap:10px;padding-top:8px;display:grid}.manage-seats>div{border-bottom:1px solid var(--line);padding-bottom:8px;font-size:12px}.manage-seats>div:last-child{border:0}.manage-seats>div>div{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.spectator-note{text-align:center;padding-block:4px}.mobile-chat-toggle{display:none}.game-table{isolation:isolate;background:#f4f0fa;border-radius:15px;height:480px;position:relative;overflow:hidden}.table-felt{z-index:-1;background:#eee8f6;border-radius:50%;width:60%;height:65%;position:absolute;top:17%;left:20%}.table-seat{left:var(--seat-x);top:var(--seat-y);text-align:center;z-index:2;width:150px;position:absolute;transform:translate(-50%,-50%)}.table-seat.bottom-seat{top:auto;bottom:10px;transform:translate(-50%)}.seat-label{justify-content:center;align-items:center;gap:8px;font-size:14px;display:flex}.seat-label strong{text-overflow:ellipsis;white-space:nowrap;max-width:125px;font-weight:650;overflow:hidden}.presence{background:#baa8cd;border-radius:50%;flex-shrink:0;width:8px;height:8px}.presence.online{background:#739b80}.presence.offline{background:#b4afba}.presence.bot-presence{background:#a499b3;border:2px solid #ded4e9}.active-seat .seat-label strong{color:#624281}.active-seat .presence{box-shadow:0 0 0 4px #dacbe9}.seat-role{color:#8a789b;height:16px;font-size:10px}.seat-card-count{color:#8f7b9f;margin-top:5px;font-size:9px;display:block}.card-fan{width:114px;height:56px;margin:5px auto 0;position:relative}.card-fan>div{width:39px;height:58px;left:calc((var(--fan-index) - (var(--fan-total) - 1)/2)*11px + 38px);top:calc(abs(var(--fan-index) - (var(--fan-total) - 1)/2)*1px);transform:rotate(calc((var(--fan-index) - (var(--fan-total) - 1)/2)*4deg));transform-origin:50% 130%;position:absolute}.playing-card{width:100%;height:auto;display:block;overflow:visible}.table-center{text-align:center;z-index:1;flex-direction:column;align-items:center;gap:7px;font-size:15px;display:flex;position:absolute;top:37%;left:25%;right:25%}.table-center strong{font-weight:600}.table-center>span{color:#836996;font-size:11px}.table-center.with-trick{gap:3px;font-size:12px;top:47%;left:39%;right:39%}.table-center.with-trick>span{font-size:9px}.table-center.with-trick .called-card{display:none}.called-card{max-width:220px}.bid-history{color:#8a739b;flex-direction:column;gap:4px;margin-top:8px;font-size:12px;display:flex}.dog-cards{justify-content:center;gap:5px;margin-top:9px;display:flex}.dog-cards .playing-card{width:44px}.trick-card{z-index:1;width:64px;animation:.24s ease-out play-card-in;position:absolute;transform:translate(-50%,-50%)}.previous-trick-card{opacity:.75}.table-bottom-meta{color:#a08ab2;font-size:10px;position:absolute;bottom:12px;left:16px}.table-paused .table-felt{background:#eae5f0}.table-paused .table-center{color:#8a739b}.table-paused .trick-card{opacity:.5}@keyframes play-card-in{0%{opacity:0;translate:0 9px}to{opacity:1;translate:0}}.hand-panel{margin-top:12px;padding:14px 17px 12px}.hand-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.hand-heading h2{letter-spacing:0;white-space:nowrap;font-family:inherit;font-size:16px;font-weight:650}.hand-heading h2 span{font-weight:450}.hand-instruction{color:#887396;text-align:right;font-size:11px}.hand-cards{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:8px;display:grid}.card-button{background:0 0;border:0;border-radius:6px;min-width:0;padding:0;transition:transform .15s,box-shadow .15s;display:block;position:relative}.card-button .playing-card{border-radius:5px}.card-button:hover:not(:disabled){transform:translateY(-4px);box-shadow:0 4px 8px #49305517}.card-button.selected{box-shadow:0 0 0 2px var(--plum),0 0 0 5px #e5dbf0;transform:translateY(-4px)}.card-button.selected:after{content:"";pointer-events:none;background:#a282c512;border-radius:4px;position:absolute;inset:1px}.hand-active .card-button:disabled{opacity:.82;filter:saturate(.95)}.hand-active .card-button:not(:disabled):not(.selected){box-shadow:0 0 0 1px #b19acb}.hand-actions{justify-content:space-between;align-items:flex-end;gap:18px;min-height:43px;margin-top:14px;display:flex}.hand-help{color:#94819f;flex-direction:column;align-items:flex-start;gap:6px;font-size:11px;display:flex}.hand-help label{flex-direction:row;align-items:center;gap:10px;font-size:12px;display:flex}.hand-help select{min-height:35px;padding:6px 9px;font-size:12px}.decision-buttons{flex-wrap:wrap;justify-content:flex-end;gap:9px;margin-top:17px;display:flex}.call-choices{justify-content:center;gap:12px;margin-top:20px;display:flex}.call-choices .card-button{width:61px}.public-announcements{color:#786589;border-top:1px solid var(--line);margin-top:14px;padding:12px 0;font-size:12px}.public-announcements summary{cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:550}.public-announcements p{margin-top:12px}.mini-card-row{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.mini-card-row>.playing-card,.mini-card-row>div{width:42px}.mini-card-row>div>span{text-align:center;overflow-wrap:anywhere;margin-top:3px;font-size:9px;display:block}.deal-result{margin-top:12px;padding:22px}.deal-result h2{font-size:30px}.deal-result>p{color:#897494;margin-top:9px;font-size:13px}.score-breakdown{flex-wrap:wrap;gap:24px;margin-block:20px;display:flex}.score-breakdown>div{flex-direction:column;gap:3px;display:flex}.score-breakdown dt{color:#94839f;font-size:11px}.score-breakdown dd{margin:0;font-size:17px;font-weight:550}.deal-deltas{border-top:1px solid var(--line);flex-wrap:wrap;gap:24px;padding-top:15px;display:flex}.deal-deltas>div{gap:8px;font-size:13px;display:flex}.chat-panel{flex-direction:column;min-height:420px;padding:17px;display:flex}.chat-messages{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ded4e9 transparent;flex:1;height:300px;min-height:200px;padding:2px 1px 8px;overflow:auto}.chat-empty{color:#a08eab;text-align:center;max-width:190px;margin:50px auto;font-size:13px;line-height:1.7}.chat-message{gap:10px;padding-top:10px;padding-bottom:9px;display:flex}.chat-message>.chat-avatar{flex-shrink:0;width:33px;height:33px;margin:1px 0 0}.chat-avatar-fallback{background:var(--soft);color:var(--muted);border:1px solid var(--line);border-radius:50%;justify-content:center;align-items:center;display:flex}.chat-message>div{flex:1;min-width:0}.chat-message-own{padding-left:28px}.chat-message-own .chat-entry{justify-content:flex-end}.chat-message-own .chat-entry p{border-radius:8px 8px 2px}.chat-message:not(.chat-message-own) .chat-entry p{border-radius:2px 8px 8px}.chat-author{flex-wrap:wrap;align-items:baseline;gap:8px;line-height:1.3;display:flex}.chat-author strong{overflow-wrap:anywhere;font-size:12px;font-weight:650}.chat-entry{align-items:baseline;gap:8px;margin-top:4px;display:flex}.chat-entry time{color:#a291b2;white-space:nowrap;flex-shrink:0;font-size:9px}.chat-message p{overflow-wrap:anywhere;white-space:pre-wrap;background:#f6f3f9;border-radius:8px;max-width:100%;margin-top:4px;padding:6px 9px;font-size:12px;line-height:1.5;display:inline-block}.chat-entry p{min-width:0;margin-top:0}.spectator-label{color:#a591b2;margin-top:2px;font-size:9px;display:block}.chat-compose{gap:7px;margin-top:13px;display:flex}.chat-compose input{flex:1;width:0;min-height:42px;padding-inline:10px;font-size:12px}.chat-compose .button{min-height:42px;padding-inline:12px;font-size:12px}.lobby-panel{background:var(--lilac);text-align:center;border-radius:15px;min-height:590px;padding:40px 30px 22px}.lobby-welcome h2{font-size:40px}.lobby-welcome p{color:#887295;margin-top:12px;font-size:14px;line-height:1.75}.lobby-welcome .button{margin-top:20px}.lobby-seats{flex-wrap:wrap;justify-content:center;gap:12px;margin:40px 0;display:flex}.lobby-seat{flex-direction:column;flex:1;align-items:center;gap:7px;min-width:105px;max-width:150px;padding:18px 8px;display:flex}.lobby-seat .avatar{width:49px;height:49px;margin-bottom:4px;font-size:19px}.lobby-seat>strong{overflow-wrap:anywhere;font-size:14px;font-weight:550}.lobby-seat .small{font-size:10px}.my-lobby-seat .avatar{box-shadow:0 0 0 4px #e9def3}.lobby-seat .text-button{font-size:11px}.lobby-settings{border-top:1px solid #e5ddef;padding-top:23px}.lobby-settings form{text-align:left;justify-content:center;align-items:end;gap:15px;display:flex}.lobby-settings label{font-size:11px}.lobby-settings input{width:130px}.lobby-settings select{width:160px}.lobby-settings .button{font-size:12px}.start-button{min-width:230px;margin-top:24px}.lobby-rule{margin-top:30px;font-size:10px}.lobby-waiting{color:#897594;margin-top:20px;font-size:13px}.tournaments-page{max-width:1200px;min-height:70vh;padding-top:22px}.tournaments-page .page-heading{margin-bottom:32px}.tournaments-page .page-heading p{margin-top:10px;font-size:15px}.tournament-list{border-top:1px solid var(--line)}.tournament-row{border-bottom:1px solid var(--line);align-items:center;gap:27px;padding:24px 10px;display:flex}.tournament-description{flex:1;min-width:0}.tournament-description h2{overflow-wrap:anywhere;font-size:29px}.tournament-description p{color:#91809e;margin-top:7px;font-size:12px}.room-status{color:#8b749d;margin-top:8px;font-size:11px;display:inline-block}.status-lobby{color:#64816e}.table-emblem{flex-shrink:0;width:75px;height:90px;position:relative}.table-emblem>.playing-card{width:49px;position:absolute;top:8px;left:3px;transform:rotate(-12deg)}.table-emblem>.playing-card+svg{top:5px;left:22px;transform:rotate(10deg)}.tournament-join{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.tournament-join>.small{font-size:10px}.tournament-footnote{text-align:center;color:#a18caf;margin-top:30px;font-size:12px}.create-tournament{background:#fcfbfe;margin-bottom:28px;padding:25px}.create-tournament h2{margin-bottom:18px;font-size:28px}.create-form{grid-template-columns:minmax(160px,1fr) 130px 140px auto;align-items:end;gap:16px;display:grid}.create-form label{font-size:11px}.create-tournament>p{margin-top:12px;font-size:11px}.empty-tournaments{text-align:center;padding:55px 20px 40px}.empty-tournaments h2{font-size:36px}.empty-tournaments>p{color:#927c9f;margin-top:12px;font-size:14px;line-height:1.8}.empty-tournaments .button{margin-top:23px}.empty-cards{width:160px;height:160px;margin:0 auto 30px;position:relative}.empty-cards>.playing-card{width:90px;position:absolute;top:5px;left:15px;transform:rotate(-13deg)}.empty-cards>.playing-card+svg{top:13px;left:66px;transform:rotate(12deg)}.welcome{justify-content:center;align-items:center;gap:100px;max-width:1150px;min-height:70vh;padding-block:80px;display:flex}.welcome-copy{max-width:520px}.welcome h1{font-size:55px}.welcome-copy>p{color:#8c759b;margin-top:21px;font-size:16px;line-height:1.85}.welcome-art{flex-shrink:0;width:255px;height:310px;position:relative}.welcome-art>.playing-card{width:145px;position:absolute;top:45px;left:0;transform:rotate(-17deg)}.welcome-art>.playing-card:nth-child(2){top:24px;left:54px;transform:rotate(0)}.welcome-art>.playing-card:nth-child(3){top:49px;left:119px;transform:rotate(16deg)}.welcome-form{gap:10px;margin-top:35px;display:grid}.welcome-form>label{font-size:13px}.inline-form{gap:10px;display:flex}.inline-form input{flex:1;width:250px}.welcome-form .small{margin-top:1px;font-size:11px}@media (width>=1500px){.game-table{height:510px}.trick-card{width:73px}.card-fan{height:67px}.card-fan>div{width:45px;height:67px}.chat-messages{height:350px}.hand-cards{gap:10px}}@media (width<=1150px){.page-width{padding-inline:22px}.site-header{padding-inline:26px}.room-layout{grid-template-columns:minmax(0,1fr) 275px;gap:16px}.game-table{height:440px}.trick-card{width:58px}.hand-cards{grid-template-columns:repeat(10,minmax(0,1fr));gap:7px}.table-seat{width:115px}.seat-label{font-size:12px}.seat-label strong{max-width:95px}.card-fan{height:47px;margin-top:-1px;transform:scale(.85)}.table-center{font-size:13px}.table-center.with-trick{font-size:10px}.hand-heading{align-items:flex-start}.hand-instruction{max-width:230px;font-size:10px}.score-panel,.chat-panel{padding:14px}.score-list li{font-size:12px}.panel-heading h2{font-size:27px}.chat-message{gap:8px}.lobby-panel{padding-inline:18px}.lobby-seats{gap:4px}.lobby-seat{min-width:85px}.lobby-settings form{gap:9px}.lobby-settings select{width:125px}.lobby-settings input{width:110px}.welcome{gap:60px}.welcome h1{font-size:47px}.welcome-art{scale:.88}.create-form{grid-template-columns:minmax(160px,1fr) 115px 130px}.create-form>.button{grid-column:1/-1;justify-self:end}}@media (width<=850px){.room-layout{grid-template-columns:minmax(0,1fr)}.room-sidebar{grid-template-columns:1fr 1.3fr;align-items:start;display:grid}.game-table{height:440px}.hand-cards{grid-template-columns:repeat(12,minmax(0,1fr))}.room-sidebar .chat-panel{min-height:340px}.chat-messages{height:210px;min-height:150px}.room-sidebar .score-panel{padding:18px}.score-list li{font-size:14px}.table-seat{width:145px}.seat-label{font-size:14px}.trick-card{width:62px}.lobby-panel{min-height:500px}.lobby-seat{max-width:none}.welcome{gap:35px}.welcome-art{transform-origin:0;width:210px;margin-right:-25px;scale:.75}.welcome h1{font-size:41px}.welcome-copy>p{font-size:14px}.tournament-row{gap:17px}.tournament-description h2{font-size:26px}}@media (width<=600px){:root{font-size:14px}.site-header{height:66px;padding-inline:17px}.brand{gap:6px;font-size:28px}.brand svg{width:22px;height:22px}.site-header nav{gap:12px}.nav-link{font-size:11px}.profile{padding-left:12px}.profile-button{gap:0}.profile-button>.profile-name,.profile-button>svg{display:none}.avatar{width:32px;height:32px;font-size:13px}.profile-menu{width:255px}.page-width{padding-inline:14px}.page-heading{align-items:center;gap:12px;margin-top:19px;margin-bottom:13px}h1{letter-spacing:-.4px;font-size:30px}.page-heading p{margin-top:6px;font-size:11px}.page-heading h1{overflow-wrap:anywhere}.room-page>.page-heading h1{font-size:29px}.mobile-chat-toggle{flex-shrink:0;min-height:36px;padding:9px 10px;font-size:11px;display:inline-flex}.room-layout{gap:13px}.room-sidebar{grid-template-columns:1fr}.room-sidebar .chat-panel,.show-mobile-chat .game-column{display:none}.show-mobile-chat .chat-panel{min-height:65vh;display:flex}.show-mobile-chat .score-panel{display:none}.show-mobile-chat .chat-messages{height:50vh}.room-sidebar .score-panel{padding:15px}.room-sidebar .score-list{grid-template-columns:1fr 1fr;gap:0 20px;display:grid}.score-list li{gap:7px;min-height:37px;font-size:12px!important}.score-name small{font-size:9px}.seat-dot{width:9px;height:9px}.room-controls{flex-wrap:wrap;display:flex}.room-controls>.button{flex:1;width:auto;min-width:135px;min-height:38px;font-size:12px}.manage-seats{width:100%}.panel-heading h2{font-size:27px}.game-table{border-radius:12px;height:350px}.table-felt{width:80%;height:58%;top:22%;left:10%}.table-seat{width:84px}.seat-label{gap:4px;font-size:10px}.seat-label strong{max-width:65px}.presence{width:6px;height:6px}.seat-role{height:13px;font-size:8px}.card-fan{transform-origin:0 0;width:90px;height:40px;margin-top:3px;margin-bottom:-9px;margin-left:3px;transform:scale(.68)}.seat-card-count{font-size:8px}.table-seat.bottom-seat{bottom:8px}.trick-card{width:46px}.table-center{gap:5px;font-size:12px;top:35%;left:23%;right:23%}.table-center.with-trick{font-size:8px;top:47%;left:41%;right:41%}.table-center.with-trick>span{display:none}.table-center>span{font-size:9px}.bid-history{gap:2px;font-size:10px}.dog-cards{flex-wrap:wrap;gap:3px;max-width:160px}.dog-cards .playing-card{width:35px}.table-bottom-meta{font-size:8px;bottom:9px;left:10px}.hand-panel{border-radius:10px;margin-top:10px;padding:12px 10px 10px}.hand-heading{margin-bottom:12px;display:block}.hand-heading h2{font-size:14px}.hand-instruction{text-align:left;max-width:none;min-height:16px;margin-top:5px;font-size:11px}.hand-cards{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px 7px}.hand-actions{align-items:center;gap:10px}.hand-actions>.button{flex-shrink:0;min-height:40px;padding:10px 12px;font-size:12px}.hand-help{font-size:10px}.hand-help .text-button{font-size:11px}.hand-help label{flex-direction:column;align-items:start;gap:4px}.decision-buttons{justify-content:flex-start;gap:6px}.decision-buttons .button{min-height:39px;padding:9px 12px;font-size:12px}.call-choices{gap:10px}.call-choices .card-button{width:51px}.notice{gap:10px;padding:10px 12px;font-size:11px}.pause-notice{line-height:1.6}.lobby-panel{padding:28px 14px 20px}.lobby-welcome h2{font-size:35px}.lobby-welcome p,.lobby-welcome .button{font-size:12px}.lobby-seats{gap:8px;margin:25px 0}.lobby-seat{flex:0 calc(33% - 8px);gap:5px;min-width:80px;padding:12px 3px}.lobby-seat .avatar{width:42px;height:42px;font-size:17px}.lobby-seat>strong{font-size:12px}.lobby-seat .text-button{font-size:10px}.lobby-settings form{flex-wrap:wrap;gap:12px}.lobby-settings label{flex:1;min-width:120px}.lobby-settings input,.lobby-settings select,.lobby-settings form>.button{width:100%}.lobby-settings .start-button{width:100%;font-size:13px}.lobby-rule{margin-top:20px;font-size:10px}.deal-result{padding:17px}.deal-result h2{font-size:27px}.score-breakdown{gap:16px}.score-breakdown dt{font-size:10px}.deal-deltas{gap:14px}.deal-deltas>div{font-size:11px}.tournaments-page{padding-top:8px}.tournaments-page .page-heading{margin-bottom:22px;display:block}.tournaments-page .page-heading p{font-size:12px}.tournaments-page .page-heading>.button{margin-top:20px;font-size:12px}.tournament-row{flex-wrap:wrap;gap:12px;padding:21px 0}.table-emblem{width:55px;height:71px}.table-emblem>.playing-card{width:36px;top:8px;left:0}.table-emblem>.playing-card+svg{top:6px;left:16px}.tournament-description h2{font-size:24px}.tournament-description p,.room-status{font-size:10px}.tournament-join{flex-direction:row;justify-content:flex-end;align-items:center;width:100%}.tournament-join .button{min-height:36px;padding:9px 13px;font-size:12px}.create-tournament{padding:18px}.create-form{grid-template-columns:1fr 1fr;gap:12px}.create-form>label:first-child{grid-column:1/-1}.create-form>.button{width:100%}.empty-tournaments{padding-top:36px}.empty-tournaments h2{font-size:29px}.empty-tournaments>p{font-size:12px}.empty-cards{margin-bottom:5px;scale:.8}.tournament-footnote{font-size:10px;line-height:1.7}.welcome{flex-direction:column;align-items:center;gap:10px;min-height:70vh;padding-top:25px}.welcome-art{transform-origin:50%;width:240px;height:235px;margin:0 0 -25px -20px;scale:.73}.welcome-copy{text-align:center;max-width:430px}.welcome h1{font-size:40px}.welcome-copy>p{margin-top:15px;font-size:13px}.welcome-form{text-align:left;margin-top:25px;padding-inline:5px}.inline-form input{width:0;font-size:13px}.welcome-form>label{font-size:12px}.welcome-form .small{font-size:10px}.site-footer{margin-top:20px;padding:18px 15px;font-size:9px}.connection-screen{padding-top:55px}.connection-screen h1{font-size:32px}.connection-screen p{font-size:13px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.site-footer>.text-button{font-size:inherit;color:inherit;padding:0;text-decoration:none}.rules-dialog{border:1px solid var(--line);width:calc(100% - 28px);max-width:690px;max-height:85vh;color:var(--ink);background:#fff;border-radius:15px;padding:0;box-shadow:0 20px 80px #291b4530}.rules-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#21163260}.rules-content{padding:26px}.rules-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px;display:flex}.rules-heading h2{font-size:34px}.rules-content section{margin-top:22px}.rules-content h3{font-size:14px;font-weight:650}.rules-content p{color:#80708c;margin-top:8px;font-size:13px;line-height:1.8}@media (width<=600px){.rules-content{padding:20px}.rules-heading h2{font-size:29px}.rules-heading .button,.rules-content p{font-size:12px}}.seat-role:empty{display:none}.table-seat.top-seat{top:10px;transform:translate(-50%)}.top-seat .card-fan{transform-origin:top;height:50px;margin-top:3px;margin-bottom:-8px;transform:scale(.75)}.trick-card{top:var(--trick-y)}@media (width<=600px){.table-seat{left:clamp(49px,var(--seat-x),calc(100% - 49px))}.table-seat.top-seat{top:8px}.top-seat .card-fan{height:36px;margin-bottom:-4px;transform:scale(.56)}.top-trick-card{top:34%}}@media (width<=850px),(pointer:coarse){input,select,textarea,.inline-form input,.chat-compose input{font-size:16px}}.next-deal-action{margin-block:20px 24px}.next-deal-action .next-deal-button{min-width:min(260px,100%);min-height:52px;padding:14px 24px;font-size:17px}.next-deal-action>p,.next-deal-action .small{color:var(--muted);line-height:1.5}.next-deal-action .small{margin-top:10px}.next-deal-waiting{font-size:15px}@media (width<=600px){.next-deal-action .next-deal-button{width:100%}}:root{--ink:#461c49;--muted:#7d6380;--plum:#793d6b;--plum-dark:#5e2555;--coral:#ed785e;--lilac:#eee5f4;--line:#dfd1dc;--soft:#f4eaf2;--felt:#d4c2e2;color:var(--ink);background:#faf4ea}body{background:var(--page-bg,#faf4ea) center/cover fixed;min-height:100dvh}.button{border-radius:24px;min-height:42px;box-shadow:0 3px 7px #59345112}.button.primary{background:linear-gradient(#874876,#73345f);border-color:#793660;box-shadow:inset 0 1px #ffffff26,0 3px 8px #67335325}.button.secondary{color:#541d54;background:#fff9ed;border-color:#d7bcc8}.button.danger{color:#fff;background:#9b3f53;border-color:#853547}.site-header{background:#fffaf2ed;border-color:#e6d9de;height:54px;padding:0 28px}.brand{color:#481148;font-size:34px}.brand svg{color:#ed795f;width:25px;height:25px}.site-header nav{gap:22px}.nav-link{color:var(--ink);font-family:Georgia,serif;font-size:16px}.profile{padding-left:18px}.profile-button .avatar{background:#7a426e;width:29px;height:29px}.site-footer{color:#745777;font-size:11px}.site-footer a{color:inherit}.player-portrait{filter:drop-shadow(0 3px 4px #5e32592b);isolation:isolate;background:#fff2dc;border-radius:50%;flex-shrink:0;width:80px;height:80px;margin-inline:auto;display:block;position:relative;overflow:hidden}.player-portrait>span{background-image:none;background-size:300% 200%;background-position:var(--portrait-x) var(--portrait-y);position:absolute;inset:-10%}.surface{background:#fffaf6eb;border-color:#e4d5dc;box-shadow:0 3px 15px #67375208}.page-width{max-width:1680px}.room-page{padding-inline:22px}.room-page>.page-heading{gap:12px;min-height:45px;margin:4px 0 8px}.room-page .room-title{min-width:0}.room-page .room-title h1{white-space:nowrap;text-overflow:ellipsis;font-size:25px;overflow:hidden}.room-page .page-heading p{color:#7e5c7a;margin-top:2px;font-size:10px}.room-toolbar{flex-shrink:0;justify-content:flex-end;align-items:center;gap:9px;display:flex}.room-toolbar .button{min-height:37px;padding:7px 12px;font-size:12px}.table-menu>summary{border-radius:50%;width:38px;height:38px;padding:8px!important}.table-menu h2{font-size:27px}.close-table-button{color:#9b3f53;margin-top:18px}.table-tools{position:relative}.table-tools>summary{cursor:pointer;list-style:none}.table-tools>summary::-webkit-details-marker{display:none}.table-tools>.score-panel{z-index:40;background:#fffaf4;width:300px;max-height:70dvh;position:absolute;top:calc(100% + 8px);right:0;overflow:auto;box-shadow:0 12px 40px #45244830}.table-room .room-layout,.room-layout{grid-template-columns:minmax(0,1fr) 280px;gap:20px}.room-sidebar{flex-direction:column;align-items:stretch;height:100%;min-height:0;display:flex}.room-sidebar .chat-panel{background:#fffaf6ef;flex:1;min-height:330px;padding:20px}.room-sidebar .chat-messages{height:0;min-height:120px}.chat-panel .panel-heading{border:0;margin-bottom:12px}.chat-panel h2{font-size:28px}.chat-message p{background:#f0e5f070}.chat-empty{color:#8a6885}.chat-compose{gap:6px}.chat-compose .button{padding:8px 12px;font-size:11px}.chat-compose input{background:#fffcf8;border-color:#e0cdda}.chat-back{display:none!important}.playing-room{flex-direction:column;height:100dvh;min-height:630px;padding-bottom:7px;display:flex}.playing-room>.room-layout{flex:1;min-height:0}.playing-room .game-column{grid-template-rows:minmax(240px,1fr) auto auto;gap:0;height:100%;min-height:0;display:grid;position:relative}.playing-room>.notice{flex-shrink:0;margin:0 0 6px}.playing-room+.site-footer{display:none}.table-room .game-table{isolation:isolate;background:0 0;border:0;border-radius:0;height:420px;min-height:260px;overflow:visible}.playing-room .game-table{height:100%;min-height:0}.table-room .table-felt{z-index:-1;background:radial-gradient(at 50% 35%,#e2d6ec 0,#d4c2e2 68%,#c8b2d5 100%);border:9px solid #cbb6ce;border-radius:48%;width:auto;height:auto;inset:0 1%;overflow:hidden;box-shadow:inset 0 0 0 3px #f0e0ee80,inset 0 4px 15px #72578428,0 0 0 2px #f0e6ed,0 4px 10px #68395024}.table-felt:after{content:"";opacity:.19;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.36' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.table-room .table-seat{top:var(--seat-y);left:var(--seat-x);z-index:4;border:0;width:145px;padding:0;bottom:auto;transform:translate(-50%,-50%)}.table-room .table-seat.top-seat{top:var(--seat-y);transform:translate(-50%,-50%)}.table-room .table-seat.bottom-seat{top:var(--seat-y);bottom:auto;transform:translate(-50%,-50%)}.table-room .table-seat .player-portrait{width:clamp(50px,8.7dvh,83px);height:clamp(50px,8.7dvh,83px)}.table-room .bottom-seat .player-portrait{width:clamp(45px,7.5dvh,75px);height:clamp(45px,7.5dvh,75px)}.table-room .active-seat .player-portrait{outline-offset:4px;outline:2px solid #d69c43;box-shadow:0 0 0 3px #fff1cc,0 0 24px 12px #f9d292a0}.table-room .active-seat .seat-label strong{color:#481148}.seat-label{gap:4px;margin-top:2px;font-family:Georgia,serif;font-size:15px}.seat-label strong{max-width:140px;font-weight:500}.presence{width:6px;height:6px}.table-room .seat-role{color:#6f5177;height:auto;min-height:12px;font-size:9px;line-height:1.3}.table-room .seat-role:empty{display:none}.role-badge{white-space:nowrap;clip-path:polygon(0 0,8% 10%,92% 10%,100% 0,95% 50%,100% 100%,90% 90%,10% 90%,0 100%,5% 50%);padding:3px 15px;font-family:Georgia,serif;font-size:13px;line-height:1.25;display:inline-block;position:relative}.taker-badge{color:#54264d;background:#fff1d8}.partner-badge{color:#fff;background:#258d91}.table-room .card-fan{transform-origin:top;width:114px;height:43px;margin-top:2px;margin-bottom:-9px;display:block;transform:scale(.77)}.table-room .top-seat .card-fan{height:43px;margin-bottom:-9px;transform:scale(.77)}.seat-card-count{color:#6f527c;margin:0;font-size:8px;line-height:1.2}.bottom-seat .seat-role{font-size:9px}.table-room .table-center{text-align:center;pointer-events:auto;z-index:6;gap:8px;font-size:14px;display:flex;position:absolute;top:46%;left:20%;right:20%;transform:translateY(-50%)}.table-center .table-turn{color:#54134f;text-wrap:balance;font-family:Libre Caslon Display,Georgia,serif;font-size:clamp(23px,2.9vw,39px);font-weight:400;line-height:1.15}.table-center .heart-divider{color:#e87962;align-items:center;gap:12px;font-size:24px;line-height:1;display:flex}.heart-divider:before,.heart-divider:after{content:"";background:#96668c;width:36px;height:1px}.table-room .bid-history{color:#58345e;flex-flow:wrap;justify-content:center;gap:4px 12px;margin:1px 0 5px;font-family:Georgia,serif;font-size:14px;display:flex}.bid-history b{font-weight:400}.bid-history span+span:before{content:"·";margin-right:12px}.table-center .decision-buttons{justify-content:center;gap:8px;margin-top:5px}.table-center .decision-buttons .button{white-space:nowrap;min-height:45px;padding:11px 20px;font-family:Georgia,serif;font-size:16px}.table-center.auction-panel{left:15%;right:15%}.table-center .review-hint{color:#6d4e73;margin:0;font-size:12px}.table-center.with-trick{pointer-events:none;display:flex;top:77%;left:26%;right:26%;transform:translateY(-50%)}.table-center.with-trick .table-turn{font-size:clamp(18px,2vw,28px)}.table-center.trick-review-message{background:#fbf4e3ed;border-radius:15px;padding:8px 10px;top:51%;left:30%;right:30%;box-shadow:0 3px 15px #5d365123}.table-center.trick-review-message .table-turn{font-size:22px}.table-center.interrupted-turn{background:#fff6eadb;border-radius:16px;padding:12px}.table-pause-reason{color:#7a5d7f;font-size:11px;line-height:1.4}.table-room .dog-cards{flex-wrap:nowrap;gap:6px;max-width:none;margin-top:4px}.table-room .dog-cards .playing-card{width:clamp(35px,4vw,55px)}.called-reference{z-index:5;text-align:center;color:#356b69;flex-direction:column;align-items:center;gap:2px;width:90px;font-size:10px;line-height:1.2;display:flex;position:absolute;top:29%;right:3%}.called-reference>.playing-card{filter:drop-shadow(0 3px 4px #542b5530);width:45px;rotate:5deg}.called-reference>strong{margin-top:3px;font-family:Georgia,serif;font-size:12px;font-weight:400}.called-reference .partner-summary{color:#5e4869;max-width:105px;font-size:9px}.table-room .table-bottom-meta{color:#75517d;font-size:10px;bottom:10px;left:6%}.table-room .trick-card{width:clamp(48px,8.4dvh,84px);top:var(--trick-y);pointer-events:none;z-index:3;filter:drop-shadow(0 3px 4px #51345221)}.table-room .previous-trick-card{opacity:1;animation:2s ease-in both gather-trick}.table-room .table-paused .trick-card{opacity:.55}@keyframes gather-trick{0%,85%{opacity:1;translate:0;scale:1}to{opacity:.25;translate:0 13px;scale:.9}}.trick-drop-zone{z-index:7;pointer-events:none;border:2px dashed #0000;border-radius:40%;justify-content:center;align-items:center;display:flex;position:absolute;inset:25% 24% 23%}.trick-drop-zone>span{color:#246d62;background:#fff8e9;border-radius:20px;padding:8px 14px;font-size:13px;font-weight:600;display:none}.trick-drop-zone.drop-active{pointer-events:auto;background:#def3e64d;border-color:#5a9b94}.trick-drop-zone.drop-active>span{display:block}.trick-drop-zone.drop-over{background:#c8ebd985;border-color:#297c67;box-shadow:0 0 0 5px #78bca72a}.table-room .hand-panel.hand-fan-panel{z-index:10;--hand-card-width:clamp(74px,7.4vw,108px);padding-top:4px;position:relative}.table-room .hand-fan-panel .hand-heading{z-index:0;align-items:center;margin:0 0 -7px;padding:0 10px;font-size:10px;position:relative}.table-room .hand-fan-panel .hand-heading h2{color:#72527b;font-size:11px}.table-room .hand-fan-panel .hand-instruction{color:#72527b;font-size:10px}.table-room .hand-fan-panel .hand-actions{justify-content:center;min-height:0;margin-top:6px}.table-room .hand-fan-panel .hand-help{color:#67456e;align-items:center;max-width:none;font-size:11px;line-height:1.3}.hand-fan .card-button{filter:drop-shadow(0 2px 2px #4125401f)}.card-button.card-draggable{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;cursor:grab}.card-drag-preview{z-index:100;pointer-events:none;filter:drop-shadow(0 10px 15px #41254048);width:80px;position:fixed}.card-button.card-called{outline-offset:1px;outline:2px solid #258e85}.card-button.card-illegal.card-called{outline-style:dashed}.card-button.card-illegal .playing-card{opacity:.8}.game-utilities{z-index:15;justify-content:center;align-items:center;gap:26px;min-height:41px;padding:4px 0 0;display:flex;position:relative}.utility-button{color:#552354;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:8px;min-height:36px;padding:5px 6px;font-family:Georgia,serif;font-size:14px;line-height:1.25;text-decoration:none;display:inline-flex}.utility-button:hover{color:#8c4c79}.utility-button>svg{flex-shrink:0}.game-utilities .table-tools>.score-panel{inset:auto auto calc(100% + 9px) 0}.game-utilities .public-announcements{border:0;margin:0;padding:0;font-size:12px;position:static}.public-announcements>summary{list-style:none}.public-announcements>summary::-webkit-details-marker{display:none}.public-announcements[open]{border:1px solid var(--line);background:#fffaf4;border-radius:14px;max-height:65dvh;bottom:0;left:0;right:0;overflow:auto;box-shadow:0 -8px 35px #40214930;padding:12px!important;position:absolute!important}.public-announcements[open]>summary{z-index:1;background:#fffaf4;justify-content:flex-start;position:sticky;top:-12px}.public-announcements .mini-card-row>div{width:50px}.public-announcements .mini-card-row>div>span{font-size:10px}.game-utilities .mobile-chat-toggle{display:none}.close-table-dialog{background:#fffaf4;max-width:520px}.close-table-dialog p{color:#775774;margin-top:15px;font-size:14px;line-height:1.65}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:26px;display:flex}.archive-layout{grid-template-columns:1fr 300px;gap:24px;max-width:1100px;margin:20px auto;display:grid}.archive-summary{text-align:center;background:#fff9f0e8;border-radius:24px;padding:32px}.archive-heart{color:#df957c;font-size:48px}.archive-summary h2{font-size:42px}.archive-summary>p{max-width:560px;margin:12px auto}.archive-summary .score-list{text-align:left;max-width:520px;margin:20px auto}.archive-summary .panel-heading{display:none}.archive-summary .deal-result{text-align:left}.result-stage{background:#f7eef6db;border-radius:30px;min-height:400px;padding:24px}.result-stage .deal-result{background:#fffaf6;margin:0 0 20px}.result-stage>.score-list{max-width:600px;margin:auto}.lobby-panel{background:radial-gradient(at top,#e9def0,#d7c5e5);border:8px solid #d3bdd4;border-radius:70px;min-height:570px;box-shadow:inset 0 0 0 2px #f9eefa,0 4px 12px #52264d21}.lobby-welcome h2{color:#4c174c}.lobby-welcome p{color:#74587e}.lobby-seat .player-portrait{width:76px;height:76px}.lobby-seat>strong{font-family:Georgia,serif;font-size:17px}.tournaments-page{max-width:1200px;padding-top:32px}.tournament-list{background:#fffaf1dd;border:0;border-radius:26px;padding:0 22px}.tournament-row:last-child{border:0}.create-tournament{background:#fffaf2f2;border-radius:24px}.welcome-art{filter:drop-shadow(0 8px 12px #5e325928)}.welcome h1{color:#4e174c}@media (width>=1200px) and (height>=900px){.table-room .table-seat .player-portrait{width:85px;height:85px}.table-room .bottom-seat .player-portrait{width:78px;height:78px}.table-room .card-fan,.table-room .top-seat .card-fan{height:48px;transform:scale(.9)}.table-room .hand-panel.hand-fan-panel{--hand-card-width:118px}}@media (width<=1199px){.room-layout,.table-room .room-layout{grid-template-columns:minmax(0,1fr)}.room-sidebar{display:none!important}.game-utilities .mobile-chat-toggle{display:inline-flex}.room-layout.show-mobile-chat .game-column{display:none}.room-layout.show-mobile-chat .room-sidebar{min-height:400px;display:flex!important}.show-mobile-chat .chat-panel{height:100%;min-height:0;display:flex!important}.show-mobile-chat .chat-back{align-self:flex-start;display:inline-flex!important}.table-room .table-seat{width:125px}.room-page:not(.table-room) .game-column{position:relative}.archive-layout{grid-template-columns:1fr}.archive-layout>.chat-panel{min-height:260px}}@media (width<=600px){body{background-position:top;background-size:auto 110%;background-attachment:scroll}.site-header{height:48px;padding:0 12px}.brand{gap:4px;font-size:26px}.brand svg{width:20px;height:20px}.site-header nav{gap:10px}.nav-link{font-size:12px}.profile{padding-left:9px}.profile-button .avatar{width:26px;height:26px;font-size:11px}.room-page{padding-inline:7px}.room-page>.page-heading{flex-wrap:nowrap;gap:7px;min-height:40px;margin:3px 2px 6px}.room-page .room-title h1{font-size:19px}.room-page .page-heading p{margin-top:1px;font-size:9px}.room-toolbar{gap:5px}.room-toolbar .button{min-height:34px;padding:7px 9px;font-size:10px}.pause-button>svg{width:16px;height:16px}.room-toolbar .pause-button span{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}.table-menu>summary{width:34px;height:34px}.table-tools{position:static}.table-menu>.score-panel{width:auto;max-height:70dvh;top:96px;left:8px;right:8px}.room-toolbar>.button.primary{max-width:106px;padding-inline:7px;font-size:9px}.playing-room{height:100dvh;min-height:630px;padding-bottom:6px}.playing-room .game-column{grid-template-rows:minmax(280px,1fr) auto auto}.playing-room:has(.hand-fan-double) .game-column{grid-template-rows:minmax(250px,1fr) auto auto}.table-room .game-table{min-height:280px}.playing-room .game-table{min-height:0}.table-room .table-felt{border-width:6px;border-radius:48%;inset:0}.table-room .table-seat{width:89px;left:clamp(43px,var(--seat-x),calc(100% - 43px))}.table-room .table-seat .player-portrait{width:48px;height:48px}.table-room .bottom-seat .player-portrait{width:47px;height:47px}.seat-label{gap:3px;font-size:12px;line-height:1.2}.seat-label strong{max-width:86px}.presence{width:5px;height:5px}.table-room .seat-role{min-height:10px;font-size:8px}.role-badge{max-width:120px;padding:3px 10px;font-size:10px}.table-room .card-fan,.table-room .top-seat .card-fan{height:30px;margin-top:2px;margin-bottom:-4px;margin-left:-13px;display:block;transform:scale(.53)}.table-room .seat-card-count{font-size:7px}.table-room .bottom-seat .seat-role{font-size:8px}.table-room .active-seat .player-portrait{outline-offset:3px;outline-width:1.5px;box-shadow:0 0 0 2px #fff1cc,0 0 16px 7px #f9d29299}.table-room .table-center{gap:5px;top:46%;left:20%;right:20%}.table-center .table-turn{font-size:23px;line-height:1.12}.table-room .table-center.auction-panel{gap:5px;top:48%;left:17%;right:17%}.table-center .heart-divider{font-size:18px}.table-room .bid-history{gap:3px 7px;font-size:10px;line-height:1.35}.bid-history span+span:before{margin-right:6px}.table-center .decision-buttons{gap:5px;margin-top:2px}.table-center .decision-buttons .button{min-height:38px;padding:8px 10px;font-size:12px}.table-center .review-hint{font-size:10px}.table-room .table-center.with-trick{top:76%;left:23%;right:23%}.table-center.with-trick .table-turn{font-size:19px}.table-room .table-center.trick-review-message{padding:6px 8px;top:51%;left:27%;right:27%}.table-center.trick-review-message .table-turn{font-size:18px}.table-pause-reason{font-size:9px}.table-room .dog-cards .playing-card{width:31px}.table-room .dog-cards{gap:3px}.called-reference{gap:1px;width:72px;font-size:8px;top:30%;right:2%}.called-reference>.playing-card{width:29px}.called-reference>strong{font-size:10px}.called-reference .partner-summary{max-width:76px;font-size:8px}.table-room .trick-card{width:47px;top:var(--trick-y)}.table-room .table-bottom-meta{font-size:8px;bottom:12px;left:9%}.trick-drop-zone{inset:28% 24% 23%}.trick-drop-zone>span{padding:6px 8px;font-size:11px}.table-room .hand-panel.hand-fan-panel{--hand-card-width:66px;margin-top:0;padding:0 3px 2px}.table-room .hand-fan-panel .hand-heading{min-height:17px;margin:2px 4px -4px;padding:0;display:block}.table-room .hand-fan-panel .hand-heading h2{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}.table-room .hand-fan-panel .hand-instruction{text-align:center;max-width:none;margin:0;font-size:9px;line-height:1.25}.table-room .hand-fan-panel .hand-help{text-align:center;max-width:100%;font-size:9px}.table-room .hand-fan-panel .hand-actions{flex-wrap:wrap;gap:8px;margin:4px 0 0}.hand-actions>.button{min-height:40px;padding:8px 14px;font-size:12px}.table-room .call-choices{gap:13px;margin-top:5px}.table-room .call-choices .card-button{width:39px}.table-room .hand-fan-panel .decision-buttons{justify-content:center;margin-top:5px}.table-room .hand-fan-panel .decision-buttons .button{min-height:38px;padding:8px 12px;font-size:12px}.game-utilities{justify-content:space-around;gap:13px;min-height:43px;padding-top:3px}.utility-button{flex-direction:column;gap:2px;min-height:39px;padding:3px;font-size:10px}.utility-button svg{width:20px;height:20px}.game-utilities .public-announcements>summary>span{max-width:120px;font-size:9px}.game-utilities .table-tools>.score-panel{width:auto;bottom:calc(100% + 7px);left:0;right:0}.public-announcements[open]>.utility-button{flex-direction:row}.public-announcements[open]{padding:10px!important}.public-announcements .mini-card-row>div{width:40px}.chat-back{flex-direction:row;font-size:14px}.room-sidebar .chat-panel{padding:14px}.show-mobile-chat .chat-messages{min-height:0}.room-sidebar .chat-compose input{font-size:16px}.site-footer{margin-top:12px;padding:15px}.table-room+.site-footer{display:none}.lobby-panel{border-width:5px;border-radius:38px;min-height:530px;padding:25px 12px 20px}.lobby-seat .player-portrait{width:58px;height:58px}.lobby-seat{flex-basis:28%;gap:4px;min-width:78px;padding:7px 2px}.lobby-seat>strong{font-size:14px}.lobby-seats{gap:6px;margin:22px 0 15px}.lobby-settings{padding-top:18px}.lobby-welcome h2{font-size:35px}.tournaments-page{padding-top:20px}.tournament-list{padding:0 14px}.tournament-description h2{font-size:25px}.archive-summary{padding:22px 15px}.archive-summary h2{font-size:35px}.close-table-dialog .dialog-actions{display:grid}.result-stage{min-height:300px;padding:16px}}@media (width<=600px) and (height<=760px){.playing-room{min-height:595px}.table-room .hand-panel.hand-fan-panel{--hand-card-width:55px}.table-room .table-seat .player-portrait{width:43px;height:43px}.table-room .card-fan,.table-room .top-seat .card-fan{height:26px;transform:scale(.45)}.table-room .trick-card{width:40px}.table-center .table-turn{font-size:21px}.table-center .decision-buttons .button{min-height:35px;padding:7px 9px}}@media (height<=600px){.playing-room{height:auto;min-height:0}.playing-room .game-column{grid-template-rows:340px auto auto}.table-room .game-table{height:340px}.table-room .room-sidebar{height:550px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.table-room .previous-trick-card{animation:none}}@media (width<=600px){.table-center .auction-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:190px;max-width:100%;display:grid}.table-center .auction-choices .button{min-height:40px;padding:8px 5px;font-size:12px}.table-center .auction-choices:has(>button:nth-child(5))>button:first-child{grid-column:1/-1}}.hand-fan.hand-active .card-button.card-illegal,.card-button.card-illegal .playing-card{opacity:1}:is(.hand-multi-select .hand-card-slot:has(.selected),.hand-multi-select .hand-card-slot:has(.card-button:hover)){z-index:calc(var(--card-index) + 1)}.hand-multi-select .hand-card-slot .card-button.selected{transform:translateY(-12px)scale(1)}.call-choices{flex-wrap:wrap}.call-choices .card-button{flex:0 0 51px}.called-reference{top:23%}@media (width<=600px){.table-room .top-trick-card{top:max(var(--trick-y),calc(19% + 95px))}.table-room .game-table[data-player-count="4"] .top-trick-card{top:max(var(--trick-y),calc(16% + 92px))}.table-room .call-choices .card-button{flex-basis:39px}.table-room .call-choices{gap:9px;max-width:330px;margin-inline:auto}.playing-room:has(.call-choices){height:auto;min-height:100dvh}.playing-room:has(.call-choices) .game-column{grid-template-rows:300px auto auto}.playing-room:has(.call-choices) .game-table{height:300px}.hand-multi-select .hand-card-slot .card-button.selected{transform:translateY(-12px)}}.trick-drop-zone.can-drop{border-color:#0000}.trick-drop-zone.can-drop:before{content:"";border:2px dashed #97739b70;border-radius:50%;width:64px;height:44px}.trick-drop-zone.drop-active:before{display:none}.trick-drop-zone.drop-active{border-color:#5a9b94}.trick-drop-zone.drop-over{border-color:#297c67}.table-room .table-center.trick-review-message{box-shadow:none;background:0 0;gap:4px;padding:0;top:15%;left:34%;right:34%}@media (width>=601px){.table-room .bottom-trick-card{top:min(var(--trick-y),calc(88% - 125px))}}@media (width<=600px){.table-room .table-center.trick-review-message{top:15%;left:34%;right:34%}.table-center.trick-review-message .table-turn{font-size:17px}.table-center.trick-review-message .review-hint{font-size:9px}}.table-room .trick-card{left:var(--trick-x)}@media (width>=601px){.table-room .game-table[data-player-count="4"] .top-trick-card{left:45%;top:max(var(--trick-y),calc(16% + clamp(130px,16dvh,170px) + 16px))}.table-room .game-table[data-player-count="4"] .bottom-trick-card{left:55%}.table-room .game-table[data-player-count="5"] .left-trick-card:not(.top-trick-card){left:31%}.table-room .game-table[data-player-count="5"] .right-trick-card:not(.top-trick-card){left:69%}}.table-room .game-table[data-player-count="4"] .table-center.trick-review-message{left:65%;right:5%}.hand-feedback{min-width:0;display:grid}.hand-feedback>.hand-actions{grid-area:1/1;align-self:start;min-width:0}.hand-feedback-sizer{visibility:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}:root,[data-theme-id]{--page-bg:#faf4ea;--surface:#fffaf6;--soft:#f4eaf2;--ink:#461c49;--muted:#7d6380;--accent:#793d6b;--on-accent:#fff;--line:#dfd1dc;--felt:#d4c2e2;--felt-light:#e2d6ec;--felt-deep:#c8b2d5;--felt-border:#cbb6ce;--coral:#ed785e;--plum:var(--accent);--plum-dark:color-mix(in srgb,var(--accent) 84%,var(--ink));--lilac:var(--soft);--surface-translucent:color-mix(in srgb,var(--surface) 96%,transparent);--shadow:#160d2233;--active-ring:#d69c43;--active-glow:#f9d292a0;--danger:#9b3f53;--success:#3e7765;--theme-desk:none;--theme-mobile:none;--theme-portraits:none;--theme-back:none;--card-back-base:#76569b;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme-id=cartoon]{--page-bg:#fff7e6;--surface:#fffaf0;--soft:#e6eef9;--ink:#182c46;--muted:#465b74;--accent:#2557a7;--on-accent:#fffaf0;--line:#788ba2;--felt:#dce9f7;--felt-light:#e8f0fa;--felt-deep:#bfd3ec;--felt-border:#2557a7;--coral:#d95345;--card-back-base:#2557a7;--shadow:#182c4629;--active-ring:#d95345;--active-glow:#d9534533;--danger:#a92e36;--success:#236b54;--theme-desk:url(/assets/tarot/themes/cartoon/desk.webp);--theme-mobile:url(/assets/tarot/themes/cartoon/mobile.webp);--theme-portraits:url(/assets/tarot/themes/cartoon/portraits.webp);--theme-back:url(/assets/tarot/themes/cartoon/back.webp)}[data-theme-id=cyberpunk]{--page-bg:#0b1025;--surface:#11152d;--soft:#27213f;--ink:#f3eeff;--muted:#c4b8db;--accent:#f26fb3;--on-accent:#190f28;--line:#555178;--felt:#221d40;--felt-light:#322957;--felt-deep:#121a33;--felt-border:#56d5e9;--coral:#f591ce;--active-ring:#f591ce;--active-glow:#f591ce73;--theme-desk:url(/assets/tarot/themes/cyberpunk/desk.webp);--theme-mobile:url(/assets/tarot/themes/cyberpunk/mobile.webp);--theme-portraits:url(/assets/tarot/themes/cyberpunk/portraits.webp);--theme-back:url(/assets/tarot/themes/cyberpunk/back.webp);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--danger:#ffa5ab;--success:#ade2ba}[data-theme-id=montagne]{--page-bg:#f1f2ee;--surface:#fffdf7;--soft:#e0e9ec;--ink:#203b4b;--muted:#526c7b;--accent:#2d667d;--on-accent:#fff;--line:#b8c8cb;--felt:#c3d6dc;--felt-light:#dbe6e9;--felt-deep:#a8c1cc;--felt-border:#829fa9;--coral:#bf644e;--active-ring:#bf644e;--active-glow:#bf644e73;--theme-desk:url(/assets/tarot/themes/montagne/desk.webp);--theme-mobile:url(/assets/tarot/themes/montagne/mobile.webp);--theme-portraits:url(/assets/tarot/themes/montagne/portraits.webp);--theme-back:url(/assets/tarot/themes/montagne/back.webp);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme-id=plage]{--page-bg:#fff3db;--surface:#fffaf0;--soft:#e1f0e8;--ink:#194948;--muted:#346c6d;--accent:#1d7b7a;--on-accent:#fff;--line:#b8d3c3;--felt:#b6ddd1;--felt-light:#d6eee0;--felt-deep:#96cbbb;--felt-border:#6dafa5;--coral:#c96c4b;--active-ring:#c96c4b;--active-glow:#c96c4b73;--theme-desk:url(/assets/tarot/themes/plage/desk.webp);--theme-mobile:url(/assets/tarot/themes/plage/mobile.webp);--theme-portraits:url(/assets/tarot/themes/plage/portraits.webp);--theme-back:url(/assets/tarot/themes/plage/back.webp);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme-id=casino]{--page-bg:#071d19;--surface:#102e26;--soft:#1c4534;--ink:#f8efd1;--muted:#cccea9;--accent:#d6b56c;--on-accent:#1f2515;--line:#667549;--felt:#133f31;--felt-light:#235541;--felt-deep:#082e23;--felt-border:#b39a58;--coral:#e6bd72;--active-ring:#e6bd72;--active-glow:#e6bd7273;--theme-desk:url(/assets/tarot/themes/casino/desk.webp);--theme-mobile:url(/assets/tarot/themes/casino/mobile.webp);--theme-portraits:url(/assets/tarot/themes/casino/portraits.webp);--theme-back:url(/assets/tarot/themes/casino/back.webp);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--danger:#ffa5ab;--success:#ade2ba}[data-theme-id=foret-enchantee]{--page-bg:#0a231c;--surface:#183629;--soft:#294a35;--ink:#f0f2db;--muted:#bccfb9;--accent:#b7ce81;--on-accent:#203016;--line:#64795e;--felt:#254a38;--felt-light:#365c45;--felt-deep:#183929;--felt-border:#7b9f76;--coral:#e5c38c;--active-ring:#e5c38c;--active-glow:#e5c38c73;--theme-desk:url(/assets/tarot/themes/foret-enchantee/desk.webp);--theme-mobile:url(/assets/tarot/themes/foret-enchantee/mobile.webp);--theme-portraits:url(/assets/tarot/themes/foret-enchantee/portraits.webp);--theme-back:url(/assets/tarot/themes/foret-enchantee/back.webp);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--danger:#ffa5ab;--success:#ade2ba}[data-theme-id=japon-zen]{--page-bg:#f2eee5;--surface:#fffaf0;--soft:#e5e7dc;--ink:#343c36;--muted:#677365;--accent:#984f4c;--on-accent:#fff;--line:#c3cbbc;--felt:#cbd2bd;--felt-light:#dee4d3;--felt-deep:#b3beaa;--felt-border:#899783;--coral:#b16458;--active-ring:#b16458;--active-glow:#b1645873;--theme-desk:url(/assets/tarot/themes/japon-zen/desk.webp);--theme-mobile:url(/assets/tarot/themes/japon-zen/mobile.webp);--theme-portraits:url(/assets/tarot/themes/japon-zen/portraits.webp);--theme-back:url(/assets/tarot/themes/japon-zen/back.webp);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme-id=art-deco]{--page-bg:#16191a;--surface:#202728;--soft:#303936;--ink:#f1e1b8;--muted:#c5b78f;--accent:#d7b971;--on-accent:#191e1b;--line:#736a4a;--felt:#173b3d;--felt-light:#285052;--felt-deep:#102b2d;--felt-border:#b79b62;--coral:#e4bf78;--active-ring:#e4bf78;--active-glow:#e4bf7873;--theme-desk:url(/assets/tarot/themes/art-deco/desk.webp);--theme-mobile:url(/assets/tarot/themes/art-deco/mobile.webp);--theme-portraits:url(/assets/tarot/themes/art-deco/portraits.webp);--theme-back:url(/assets/tarot/themes/art-deco/back.webp);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--danger:#ffa5ab;--success:#ade2ba}[data-theme-id=espace]{--page-bg:#080e27;--surface:#101c3d;--soft:#203153;--ink:#ecf4ff;--muted:#acc5e4;--accent:#89beef;--on-accent:#102644;--line:#415a85;--felt:#1a2c50;--felt-light:#293e68;--felt-deep:#101f3b;--felt-border:#8099ca;--coral:#b1a5f7;--active-ring:#b1a5f7;--active-glow:#b1a5f773;--theme-desk:url(/assets/tarot/themes/espace/desk.webp);--theme-mobile:url(/assets/tarot/themes/espace/mobile.webp);--theme-portraits:url(/assets/tarot/themes/espace/portraits.webp);--theme-back:url(/assets/tarot/themes/espace/back.webp);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--danger:#ffa5ab;--success:#ade2ba}[data-theme-id=steampunk]{--page-bg:#2c1e16;--surface:#38291e;--soft:#503b2a;--ink:#fae3b8;--muted:#d8c39e;--accent:#dba366;--on-accent:#382216;--line:#8e694b;--felt:#664a33;--felt-light:#7a5e44;--felt-deep:#493523;--felt-border:#c18f57;--coral:#ecb47b;--active-ring:#ecb47b;--active-glow:#ecb47b73;--theme-desk:url(/assets/tarot/themes/steampunk/desk.webp);--theme-mobile:url(/assets/tarot/themes/steampunk/mobile.webp);--theme-portraits:url(/assets/tarot/themes/steampunk/portraits.webp);--theme-back:url(/assets/tarot/themes/steampunk/back.webp);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--danger:#ffa5ab;--success:#ade2ba}[data-theme-id=mediterranee]{--page-bg:#f5efe3;--surface:#fffaf2;--soft:#e0ebee;--ink:#243f57;--muted:#536f83;--accent:#2e739d;--on-accent:#fff;--line:#becdd3;--felt:#d5e3e3;--felt-light:#e6eded;--felt-deep:#bccfd3;--felt-border:#89aab5;--coral:#bd7251;--active-ring:#bd7251;--active-glow:#bd725173;--theme-desk:url(/assets/tarot/themes/mediterranee/desk.webp);--theme-mobile:url(/assets/tarot/themes/mediterranee/mobile.webp);--theme-portraits:url(/assets/tarot/themes/mediterranee/portraits.webp);--theme-back:url(/assets/tarot/themes/mediterranee/back.webp);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme-id=chalet-hiver]{--page-bg:#f7f1e8;--surface:#fffcf3;--soft:#e8ebdf;--ink:#3c4135;--muted:#6a725f;--accent:#853f43;--on-accent:#fff;--line:#cecaba;--felt:#c7d1bd;--felt-light:#dce2d4;--felt-deep:#acbea0;--felt-border:#8f9f80;--coral:#b45c53;--active-ring:#b45c53;--active-glow:#b45c5373;--theme-desk:url(/assets/tarot/themes/chalet-hiver/desk.webp);--theme-mobile:url(/assets/tarot/themes/chalet-hiver/mobile.webp);--theme-portraits:url(/assets/tarot/themes/chalet-hiver/portraits.webp);--theme-back:url(/assets/tarot/themes/chalet-hiver/back.webp);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme-id=neutral]{--page-bg:#f5f3ed;--surface:#fffdf8;--soft:#eaece5;--ink:#253e37;--muted:#626d65;--accent:#315c4c;--on-accent:#fffdf8;--line:#d7dbcf;--coral:#984c50;--felt:#f1f1e8;--felt-light:#fffdf8;--felt-deep:#e8ebdf;--felt-border:#cbd3c4;--theme-desk:none;--theme-mobile:none;--theme-portraits:none;--theme-back:none;--card-back-base:#315c4c;--active-ring:#984c50;--active-glow:#984c5020;--shadow:#243a3214;--danger:#973f4b;--success:#315c4c;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html{background-color:var(--page-bg);color:var(--ink)}body{color:var(--ink);background-color:var(--page-bg);background-image:var(--theme-background,var(--theme-desk))}.site-header{background:var(--surface-translucent);border-color:var(--line)}.brand,.nav-link,.welcome h1,.lobby-welcome h2,.table-center .table-turn,.table-room .active-seat .seat-label strong{color:var(--ink)}.brand svg,.table-center .heart-divider,.archive-heart{color:var(--coral)}.heart-divider:before,.heart-divider:after{background:var(--accent)}.surface,.rules-dialog,.close-table-dialog,.create-tournament,.tournament-list,.profile-menu,.table-tools>.score-panel,.game-utilities .public-announcements[open],.public-announcements[open]>summary,.archive-summary,.result-stage .deal-result{background:var(--surface-translucent);border-color:var(--line);color:var(--ink)}.room-sidebar .chat-panel{background:var(--surface-translucent)}.site-footer,.site-footer a,.room-page .page-heading p,.table-room .seat-role,.seat-card-count,.table-room .table-bottom-meta,.table-room .bid-history,.table-center .review-hint,.table-pause-reason,.table-room .hand-fan-panel .hand-heading h2,.table-room .hand-fan-panel .hand-instruction,.table-room .hand-fan-panel .hand-help,.chat-empty,.chat-entry time,.spectator-label,.rules-content p,.close-table-dialog p,.lobby-welcome p,.lobby-waiting,.tournament-description p,.tournament-footnote,.empty-tournaments>p,.welcome-copy>p,.hand-instruction,.hand-help,.public-announcements,.deal-result>p,.score-breakdown dt,.room-status,.score-name small{color:var(--muted)}.profile-button .avatar{background:var(--accent);color:var(--on-accent)}.profile-button{color:var(--ink)}.profile{border-color:var(--line)}input,select,.chat-compose input{background:var(--surface);border-color:var(--line);color:var(--ink)}input::placeholder{color:var(--muted)}input:disabled,select:disabled{background:var(--soft)}.button.primary{background:linear-gradient(color-mix(in srgb,var(--accent) 88%,var(--surface)),var(--accent));border-color:var(--accent);color:var(--on-accent)}.button.primary:hover:not(:disabled){background:var(--plum-dark)}.button.secondary{background:var(--surface);border-color:var(--line);color:var(--ink)}.button.secondary:hover:not(:disabled){background:var(--soft)}.auction-choices .auction-pass{background:var(--surface);color:var(--ink);border-color:var(--accent);box-shadow:0 3px 0 var(--shadow)}.button.danger{background:var(--danger);color:var(--page-bg);border-color:var(--danger)}.text-button,.utility-button{color:var(--ink)}.text-button:hover,.utility-button:hover{color:var(--accent)}.close-table-button,.error-text,.negative-score{color:var(--danger)}.positive-score,.status-lobby{color:var(--success)}.notice{background:var(--soft);border-color:var(--line);color:var(--ink)}.notice.error{background:color-mix(in srgb,var(--danger) 12%,var(--surface));border-color:var(--danger);color:var(--ink)}.chat-message p{background:var(--chat-bubble,var(--soft));color:var(--ink)}.chat-message-own{--chat-bubble:color-mix(in srgb,var(--accent) 18%,var(--soft))}.chat-messages{scrollbar-color:var(--line) transparent}.rules-dialog::backdrop{background:#100b1d9e}.player-portrait{background:var(--surface);filter:drop-shadow(0 3px 4px var(--shadow))}.player-portrait>span{background-image:var(--theme-portraits)}.card-back-art{background-image:var(--theme-back);background-size:100% 100%;border-radius:3px;width:100%;height:100%}.table-room .table-felt,.theme-preview-felt{background:radial-gradient(ellipse at 50% 35%,var(--felt-light),var(--felt) 68%,var(--felt-deep));border-color:var(--felt-border);box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--surface) 35%,transparent),inset 0 4px 15px var(--shadow),0 0 0 2px color-mix(in srgb,var(--felt-border) 35%,transparent),0 4px 10px var(--shadow)}.table-room .active-seat .player-portrait{box-shadow:0 0 0 3px var(--surface),0 0 24px 12px var(--active-glow);outline-color:var(--active-ring)}.table-center.interrupted-turn{background:var(--surface-translucent)}.taker-badge{background:var(--surface);color:var(--ink)}.lobby-panel{background:radial-gradient(ellipse at top,var(--felt-light),var(--felt));border-color:var(--felt-border);box-shadow:inset 0 0 0 2px var(--surface),0 4px 12px var(--shadow)}.lobby-settings{border-color:var(--felt-border)}.table-room .seat-role,.table-room .seat-card-count,.table-room .table-bottom-meta,.table-room .bid-history,.table-center .review-hint,.table-pause-reason,.lobby-panel .muted,.lobby-welcome p,.lobby-waiting{color:var(--ink)}.result-stage{background:var(--soft)}.called-reference,.called-reference .partner-summary{color:var(--ink)}.card-button.selected{box-shadow:0 0 0 2px var(--accent),0 0 0 5px color-mix(in srgb,var(--accent) 22%,transparent)}.hand-fan.hand-active .card-button:not(:disabled){box-shadow:0 0 0 1.5px var(--accent),0 3px 8px var(--shadow)}.hand-fan .hand-card-slot .card-button.selected{box-shadow:0 0 0 2px var(--accent),0 5px 14px var(--shadow)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-color:var(--accent)}[data-theme-id]:not([data-theme-id=cartoon]) .room-title,[data-theme-id]:not([data-theme-id=cartoon]) .hand-fan-panel .hand-heading,[data-theme-id]:not([data-theme-id=cartoon]) .hand-help{background:var(--surface-translucent);box-shadow:0 1px 8px var(--shadow);border-radius:8px}[data-theme-id]:not([data-theme-id=cartoon]) .room-title,[data-theme-id]:not([data-theme-id=cartoon]) .hand-help{padding:3px 8px}[data-theme-id]:not([data-theme-id=cartoon]) .game-utilities{background:var(--surface-translucent);border-radius:14px}[data-theme-id=cyberpunk] .table-felt{box-shadow:inset 0 0 0 2px var(--felt-border),0 0 15px #56d5e957}html[data-theme-id=cartoon] .site-header{box-shadow:0 2px 0 var(--ink);border-color:var(--ink)}html[data-theme-id=cartoon] :is(.surface,.rules-dialog,.close-table-dialog,.profile-menu,.table-tools>.score-panel,.archive-summary,.result-stage,.theme-gallery,.share-error){border-color:var(--ink);box-shadow:0 0 0 1px var(--ink),4px 5px 0 var(--ink)}html[data-theme-id=cartoon] .room-sidebar .chat-panel{background:var(--surface)}html[data-theme-id=cartoon] :is(.room-title,.hand-fan-panel .hand-heading,.hand-help,.game-utilities){background:var(--surface-translucent);box-shadow:0 0 0 1px var(--ink),2px 3px 0 var(--shadow);border-radius:8px}html[data-theme-id=cartoon] .button{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink),2px 3px 0 var(--ink);border-radius:8px}html[data-theme-id=cartoon] .button.primary{background:var(--accent)}html[data-theme-id=cartoon] .button.primary:hover:not(:disabled){background:var(--plum-dark)}html[data-theme-id=cartoon] .button:active:not(:disabled){box-shadow:0 0 0 1px var(--ink),1px 1px 0 var(--ink)}html[data-theme-id=cartoon] :is(input,select,.chat-compose input){border-color:var(--ink)}html[data-theme-id=cartoon] .chat-message p{box-shadow:inset 0 0 0 1px var(--ink);background:var(--chat-bubble,var(--soft))}html[data-theme-id=cartoon] .table-room .table-felt,.theme-preview[data-theme-id=cartoon] .theme-preview-felt{background:radial-gradient(ellipse,var(--felt) 0 76%,var(--felt-deep) 77% 100%);border-color:var(--felt-border);box-shadow:inset 0 0 0 2px var(--surface),inset 0 0 0 4px var(--ink),0 0 0 2px var(--ink),3px 5px 0 var(--ink)}html[data-theme-id=cartoon] .table-felt:after,.theme-preview[data-theme-id=cartoon] .theme-preview-felt:after{content:"";border-radius:inherit;pointer-events:none;opacity:.2;background:radial-gradient(var(--accent) .7px,transparent .9px) 0 0/7px 7px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#0000 0 65%,#000 85%);mask-image:radial-gradient(#0000 0 65%,#000 85%)}html[data-theme-id=cartoon] .player-portrait:not(.theme-preview .player-portrait,.avatar-preview .player-portrait),.theme-preview[data-theme-id=cartoon] .player-portrait,.avatar-preview[data-theme-id=cartoon] .player-portrait{filter:none;box-shadow:0 0 0 2px var(--ink),3px 4px 0 var(--ink)}html[data-theme-id=cartoon] .table-room .active-seat .player-portrait{outline-color:var(--coral);box-shadow:0 0 0 2px var(--ink),0 0 0 5px var(--surface),0 0 0 7px var(--coral),4px 6px 0 7px var(--shadow)}html[data-theme-id=cartoon] .taker-badge:not(.theme-preview .taker-badge),.theme-preview[data-theme-id=cartoon] .taker-badge{background:var(--accent);color:var(--on-accent)}html[data-theme-id=cartoon] .partner-badge{background:var(--coral);color:var(--surface)}.theme-preview[data-theme-id=cartoon]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.theme-preview[data-theme-id=cartoon] :is(.theme-preview-header,.theme-preview-footer){background:var(--surface);box-shadow:0 0 0 1px var(--ink),2px 2px 0 var(--ink)}.theme-menu-button{display:flex}.lobby-theme-button{margin:0 0 18px}.lobby-tarot-mark{justify-content:center;align-items:center;height:62px;margin-bottom:12px;display:flex}.lobby-tarot-mark .playing-card{filter:drop-shadow(0 2px 2px #243a321c);width:39px;transform:rotate(-12deg)}.lobby-tarot-mark .playing-card+.playing-card{margin-left:-13px;transform:rotate(12deg)}.lobby-avatar{border:1px solid var(--line);background:var(--soft);width:56px;height:56px;color:var(--ink);border-radius:50%;place-items:center;margin-bottom:3px;font:25px Georgia,serif;display:grid}.my-lobby-seat .lobby-avatar{background:var(--accent);color:var(--on-accent)}.lobby-theme-choice{margin-bottom:20px}.lobby-theme-choice p{color:var(--muted);font-size:12px;line-height:1.6}.lobby-theme-choice p strong{color:var(--ink)}.lobby-theme-choice p span{font-size:11px;display:block}.lobby-theme-choice .lobby-theme-button{margin:10px 0 0}html[data-theme-id=neutral] .lobby-panel{background:var(--surface);border:1px solid var(--line);box-shadow:none;border-radius:16px;min-height:0;padding:24px 28px}html[data-theme-id=neutral] .lobby-seats{margin:18px 0}html[data-theme-id=neutral] .lobby-seat{padding:10px 8px}html[data-theme-id=neutral] .lobby-rule{margin-top:18px}html[data-theme-id=neutral] .room-title{box-shadow:none;background:0 0}html[data-theme-id=neutral] .page-heading p{color:var(--muted)}.theme-gallery{background:var(--surface);width:min(1060px,100% - 28px);max-width:none;max-height:90dvh;color:var(--ink);overflow:auto}.theme-gallery-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:20px;padding:24px;display:flex}.theme-gallery-heading h2{font-size:32px}.theme-gallery-heading p{color:var(--muted);max-width:520px;margin-top:8px;font-size:12px}.theme-gallery-heading .button{flex-shrink:0}.theme-gallery-body{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px;padding:24px;display:grid}.theme-options{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:max-content;align-content:start;gap:12px;max-height:65dvh;padding:4px;display:grid;overflow:auto}.theme-option{text-align:left;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;flex-direction:column;gap:4px;min-width:0;padding:5px;display:flex;overflow:hidden}.theme-option.selected{outline:2px solid var(--accent);outline-offset:1px;background:var(--soft)}.theme-option img{aspect-ratio:1.6;object-fit:cover;background:var(--soft);border-radius:8px;width:100%;height:auto;display:block}.theme-option>span{overflow-wrap:anywhere;padding:2px 3px;font-size:12px;font-weight:600}.theme-option small{color:var(--muted);padding:0 3px;font-size:10px}.theme-preview-panel{min-width:0}.theme-preview-panel h3{margin-bottom:12px;font-family:Georgia,serif;font-size:23px;font-weight:400}.theme-preview{border:1px solid var(--line);color:var(--ink);background:var(--page-bg) var(--theme-background,var(--theme-desk)) center/cover;border-radius:16px;padding:12px;position:relative;overflow:hidden}.theme-preview-header{background:var(--surface-translucent);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:5px 8px;font-family:Georgia,serif;font-size:18px;line-height:1.3;display:flex}.theme-preview-header>span{color:var(--coral);flex-shrink:0}.theme-preview-felt{border:5px solid var(--felt-border);border-radius:48%;height:235px;margin-top:12px;position:relative}.theme-preview-player{flex-direction:column;align-items:center;font-size:11px;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%)}.theme-preview-player .player-portrait{width:48px;height:48px}.theme-preview-player .role-badge{font-size:10px}.theme-preview-backs{display:flex;position:absolute;top:40%;left:14%}.theme-preview-backs .playing-card{width:32px;margin-left:-15px}.theme-preview-cards{justify-content:center;gap:12px;display:flex;position:absolute;bottom:15px;left:15%;right:15%}.theme-preview-cards .playing-card{width:47px}.theme-preview-footer{background:var(--surface-translucent);border-radius:8px;justify-content:space-between;gap:8px;margin-top:12px;padding:6px 8px;font-size:10px;display:flex}.theme-load-feedback{min-height:50px;color:var(--muted);padding:10px 0;font-size:12px}.theme-load-feedback [role=alert]{color:var(--danger)}.theme-load-feedback .text-button{margin-top:3px}.theme-apply{width:100%}.theme-preview-panel>.small{margin-top:10px}@media (width<=600px){.theme-gallery{max-height:92dvh}.theme-gallery-heading{gap:12px;padding:16px}.theme-gallery-heading h2{font-size:25px}.theme-gallery-heading p{font-size:11px}.theme-gallery-heading .button{min-height:36px;padding:8px 11px;font-size:11px}.theme-gallery-body{flex-direction:column;gap:14px;padding:14px;display:flex}.theme-preview-panel{order:-1}.theme-preview-panel h3{margin-bottom:7px;font-size:19px}.theme-preview{padding:7px}.theme-preview-header{font-size:13px}.theme-preview-felt{border-width:4px;height:145px;margin-top:5px}.theme-preview-player{top:5px}.theme-preview-player .player-portrait{width:32px;height:32px}.theme-preview-player .role-badge{font-size:8px}.theme-preview-player>strong{font-size:9px}.theme-preview-cards{gap:10px;bottom:7px}.theme-preview-cards .playing-card{width:29px}.theme-preview-backs .playing-card{width:22px}.theme-preview-footer{margin-top:5px;padding:4px 6px;font-size:9px}.theme-load-feedback{min-height:35px;padding:7px 0;font-size:11px}.theme-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;max-height:29dvh}.theme-option>span{font-size:10px}.theme-option small{font-size:9px}.table-room .active-seat .player-portrait{box-shadow:0 0 0 2px var(--surface),0 0 16px 7px var(--active-glow)}}.playing-room.spectator-room .game-column{grid-template-rows:minmax(280px,1fr) auto}.announcements-placeholder,.reserved-share{visibility:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}.waiting-hand .hand-fan{pointer-events:none;-webkit-user-select:none;user-select:none}.waiting-center{flex-direction:column;align-items:center;gap:14px;display:flex}.waiting-center p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.waiting-center .start-button{min-width:0;max-width:100%;min-height:48px;margin-top:0;padding:13px 24px;font-size:17px}.waiting-room .table-center{top:49%;left:25%;right:25%}.table-seat .claim-seat{white-space:normal;min-height:38px;margin-top:7px;padding:7px 9px;font-size:11px}.waiting-settings{margin:8px 0}.waiting-settings form{flex-direction:column;gap:12px;padding:12px 0;display:flex}.waiting-settings label{flex-direction:column;gap:5px;font-size:13px;display:flex}.waiting-settings input,.waiting-settings select{width:100%;min-width:0}.share-table{position:relative}.share-error{background:var(--surface);border:1px solid var(--line);z-index:41;width:240px;color:var(--ink);border-radius:8px;padding:10px;font-size:12px;position:absolute;top:calc(100% + 8px);right:0}@media (width<=600px){.waiting-room .table-center{top:49%;left:22%;right:22%}.waiting-room .table-turn{font-size:23px}.waiting-center{gap:10px}.waiting-center p{font-size:11px}.waiting-center .start-button{white-space:normal;min-height:44px;padding:10px 13px;font-size:14px}.table-seat .claim-seat{min-height:44px;margin-top:4px;padding:5px 7px;font-size:10px}.table-room .share-table .button{white-space:normal;max-width:145px;padding:8px 9px;font-size:10px}}@media (height<=600px){.playing-room.spectator-room .game-column{grid-template-rows:340px auto}}@media (width<=600px){.announcements-placeholder>span{max-width:120px;font-size:9px}}.table-room .seat-role{justify-content:center;align-items:center;min-height:22.25px;display:flex}@media (width<=600px){.table-room .seat-role{min-height:18.5px}}#root:has(>.title-screen,>.tables-menu,>.connection-screen,>main.loading-state){flex-direction:column;min-height:100svh;display:flex}#root:has(>.title-screen,>.tables-menu,>.connection-screen,>main.loading-state)>.site-footer{border:1px solid var(--line);background:var(--surface-translucent);color:color-mix(in srgb,var(--muted) 90%,var(--ink));border-radius:18px;flex-wrap:wrap;flex-shrink:0;gap:24px;margin-top:auto;margin-bottom:12px;padding:16px 28px;font-size:12px}#root:has(>.title-screen,>.tables-menu,>.connection-screen,>main.loading-state)>.site-footer .text-button{font-size:12px}html[data-theme-id] :is(.title-screen,.tables-menu,.entry-dialog) .button{border:2px solid var(--ink);box-shadow:0 5px 0 var(--ink);border-radius:13px;min-height:54px;padding:13px 26px;font-size:15px;font-weight:700;transition:transform .15s,box-shadow .15s,background .15s}html[data-theme-id] :is(.title-screen,.tables-menu,.entry-dialog) .button.primary{background:var(--accent);color:var(--on-accent)}html[data-theme-id] :is(.title-screen,.tables-menu,.entry-dialog) .button.secondary{background:var(--surface);color:var(--ink)}html[data-theme-id] :is(.title-screen,.tables-menu,.entry-dialog) .button:hover:not(:disabled){box-shadow:0 7px 0 var(--ink);transform:translateY(-2px)}html[data-theme-id] :is(.title-screen,.tables-menu,.entry-dialog) .button:active:not(:disabled){box-shadow:0 1px 0 var(--ink);transform:translateY(4px)}.title-screen{text-align:center;isolation:isolate;flex-direction:column;justify-content:center;align-items:center;min-height:calc(100svh - 76px);padding:28px 20px 50px;display:flex;position:relative}.title-screen:before{content:"";z-index:-1;pointer-events:none;background:var(--surface-translucent);border:1px solid var(--line);box-shadow:0 12px 40px var(--shadow);border-radius:28px;position:absolute;inset:20px max(12px,50% - 440px)}.title-screen h1{letter-spacing:-.035em;text-wrap:balance;max-width:min(100%,800px);color:var(--ink);text-shadow:0 3px 0 var(--soft);margin:10px 0 18px;font-family:Georgia,Times New Roman,serif;font-size:clamp(42px,6vw,76px);font-weight:900;line-height:1.06}.title-screen h1 span{color:var(--accent);display:inline-block}.title-invitation{color:var(--ink);margin:0 0 30px;font-size:18px;font-weight:500}.title-invitation span{display:inline-block}.title-actions{justify-content:center;gap:18px;display:flex}.title-actions .button{min-width:230px}.title-detail{color:color-mix(in srgb,var(--muted) 90%,var(--ink));margin-top:26px;font-size:12px}.title-art{flex-shrink:0;width:min(480px,100%);height:246px;margin-bottom:56px;position:relative}.title-halo{background:var(--soft);border:1px solid var(--line);border-radius:50%;position:absolute;inset:20px 26px 0;transform:rotate(-8deg)}.title-fan{filter:drop-shadow(0 8px 0 var(--shadow));justify-content:center;align-items:flex-end;animation:.5s ease-out both reception-arrive;display:flex;position:absolute;inset:0 0 12px}.title-fan>.playing-card{transform-origin:50% 100%;width:112px;box-shadow:0 0 0 1px var(--line);background:#fffdf8;border-radius:6px;position:absolute}.title-fan>.playing-card:first-child{transform:translate(-78px,10px)rotate(-29deg)}.title-fan>.playing-card:nth-child(2){z-index:1;transform:translate(-40px,-8px)rotate(-14deg)}.title-fan>.playing-card:nth-child(3){z-index:3;transform:translateY(-15px)}.title-fan>.playing-card:nth-child(4){z-index:2;transform:translate(40px,-8px)rotate(14deg)}.title-fan>.playing-card:nth-child(5){transform:translate(78px,10px)rotate(29deg)}.title-suit{z-index:4;font:52px/1 Georgia,serif;position:absolute}.suit-left{color:var(--ink);top:80px;left:6px;transform:rotate(-18deg)}.suit-right{color:var(--coral);top:28px;right:7px;transform:rotate(14deg)}.tables-menu{background:var(--surface-translucent);border-inline:1px solid var(--line);flex:1;max-width:1120px;padding:38px 28px 48px}#root>:is(.connection-screen,main.loading-state){background:var(--surface-translucent);border-inline:1px solid var(--line)}.tables-menu-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:48px;display:flex}.tables-menu-heading h1{letter-spacing:-2px;margin:0 0 12px;font:700 clamp(42px,5vw,64px)/1.1 Georgia,serif}.tables-menu-heading p{color:color-mix(in srgb,var(--muted) 90%,var(--ink));margin:0;font-size:15px}.public-tables{grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 36px;display:grid}.public-table{text-align:center;border-bottom:2px solid var(--line);flex-direction:column;align-items:center;min-width:0;padding:10px 0 24px;display:flex}.public-table-miniature{width:224px;max-width:100%;height:150px;margin:0 auto 20px;position:relative}.public-table-felt{border:3px solid var(--ink);background:var(--accent);box-shadow:0 6px 0 var(--ink),inset 0 0 0 5px var(--felt-border);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;inset:19px 17px}.public-table-felt>.playing-card{width:30px;transform:rotate(-15deg);box-shadow:0 2px 3px #0003}.public-table-felt>.playing-card+.playing-card{margin-left:-7px;transform:rotate(16deg)}.public-seat{left:var(--x);top:var(--y);border:2px solid var(--ink);width:29px;height:29px;box-shadow:0 3px 0 var(--ink);border-radius:50%;place-items:center;font-size:15px;line-height:1;display:grid;position:absolute;transform:translate(-50%,-50%)}.public-seat.human-seat{background:var(--accent);color:var(--on-accent)}.public-seat.bot-seat{background:var(--surface);color:var(--ink)}.public-table-description{width:100%}.public-table-status{color:var(--ink);text-transform:uppercase;letter-spacing:1px;font-size:11px;font-weight:700}.public-table-description h2{letter-spacing:-.5px;overflow-wrap:anywhere;margin:8px 0 10px;font:700 25px/1.2 Georgia,serif}.public-table-description>p{color:color-mix(in srgb,var(--muted) 90%,var(--ink));margin:0 0 12px;font-size:12px}.public-table-join{width:100%;margin-top:auto}.public-table-join>p{color:color-mix(in srgb,var(--muted) 90%,var(--ink));margin:0 0 14px;font-size:12px}.returning-table .public-table-join>p{color:color-mix(in srgb,var(--accent) 90%,var(--ink));font-weight:700}.tables-menu .public-table-join .button{min-width:175px;min-height:44px;box-shadow:0 4px 0 var(--ink);padding:9px 18px;font-size:13px}.tables-menu .notice{justify-content:space-between;align-items:center;gap:20px;display:flex}.tables-menu .tournament-footnote{text-align:center;color:color-mix(in srgb,var(--muted) 90%,var(--ink));margin-top:35px}.connection-screen p{color:color-mix(in srgb,var(--muted) 90%,var(--ink))}.tables-empty{text-align:center;padding:40px 0 80px}.tables-empty>div{justify-content:center;height:140px;margin-bottom:24px;display:flex}.tables-empty .playing-card{width:75px;filter:drop-shadow(0 5px 0 var(--shadow));align-self:center;transform:rotate(-16deg)}.tables-empty .playing-card+.playing-card{margin-left:-18px;transform:rotate(12deg)}.tables-empty h2{margin:0 0 14px;font:700 36px Georgia,serif}.tables-empty p{color:color-mix(in srgb,var(--muted) 90%,var(--ink))}.entry-dialog{background:var(--surface);width:min(440px,100% - 32px);max-height:calc(100dvh - 32px);color:var(--ink);border:3px solid var(--ink);box-shadow:0 8px 0 var(--shadow);text-align:center;border-radius:24px;margin:auto;padding:30px;overflow:auto}.entry-dialog::backdrop{background:color-mix(in srgb,var(--page-bg) 70%,transparent);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.entry-mark{color:var(--coral);margin-bottom:10px;font:44px/1 Georgia,serif}.entry-dialog h2{letter-spacing:-1px;margin:0 0 14px;font:700 30px/1.1 Georgia,serif}.entry-dialog>p{color:color-mix(in srgb,var(--muted) 90%,var(--ink));margin-bottom:24px;font-size:14px}.entry-dialog label{text-align:left;font-size:13px;font-weight:600;display:block}.entry-dialog input{border:2px solid var(--ink);background:var(--page-bg);border-radius:10px;width:100%;margin:9px 0 20px;font-size:16px;display:block}.entry-actions{flex-direction:column;gap:15px;margin:20px 0;display:flex}.entry-actions .text-button{min-height:36px}.entry-dialog .error-text{margin:16px 0}@keyframes reception-arrive{0%{opacity:0;translate:0 14px}to{opacity:1;translate:0}}@media (width<=900px){.public-tables{grid-template-columns:repeat(2,minmax(0,1fr))}.tables-menu-heading{align-items:flex-start}.tables-menu-heading>.button{flex-shrink:0}}@media (width<=600px){#root:has(>.title-screen,>.tables-menu,>.connection-screen,>main.loading-state)>.site-footer{gap:16px;padding:20px 16px;font-size:10px}#root:has(>.title-screen,>.tables-menu,>.connection-screen,>main.loading-state)>.site-footer>span{display:none}.title-screen{min-height:calc(100svh - 62px);padding:20px 14px 38px}.title-art{width:310px;max-width:100%;height:195px;margin-bottom:40px}.title-halo{inset:24px 5px 0}.title-fan>.playing-card{width:87px}.title-fan>.playing-card:first-child{transform:translate(-54px,7px)rotate(-29deg)}.title-fan>.playing-card:nth-child(2){transform:translate(-27px,-5px)rotate(-14deg)}.title-fan>.playing-card:nth-child(4){transform:translate(27px,-5px)rotate(14deg)}.title-fan>.playing-card:nth-child(5){transform:translate(54px,7px)rotate(29deg)}.title-suit{font-size:34px}.suit-left{top:55px;left:0}.suit-right{top:23px;right:2px}.title-screen h1{margin:15px 0 16px;font-size:clamp(32px,8.8vw,50px)}.title-invitation{max-width:255px;margin:0 0 26px;font-size:15px}.title-actions{flex-direction:column;gap:16px;width:min(310px,100%)}.title-actions .button{width:100%;min-width:0}.title-detail{max-width:240px;margin-top:25px;line-height:1.7}.tables-menu{padding:24px 18px 34px}.tables-menu-heading{flex-direction:column;gap:22px;margin-bottom:34px}.tables-menu-heading h1{font-size:46px}.tables-menu-heading p{font-size:14px}.public-tables{grid-template-columns:1fr;gap:20px}.public-table{padding-bottom:30px}.public-table-miniature{width:245px;height:156px}.public-table-description h2{font-size:28px}.entry-dialog{padding:25px 20px}}@media (prefers-reduced-motion:reduce){.title-fan{animation:none}html[data-theme-id] :is(.title-screen,.tables-menu,.entry-dialog) .button{transition:none}}#root>:is(.title-screen,.tables-menu,.connection-screen,main.loading-state){width:100%}.individual-portrait>img{object-fit:cover;width:100%;height:100%;display:block}.portrait-button{color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:50%;margin-inline:auto;padding:0;display:block;position:relative}.portrait-button:disabled{cursor:default}.portrait-button:focus-visible{outline:3px solid var(--accent);outline-offset:6px}.portrait-edit-mark{border:1px solid var(--line);background:var(--surface);pointer-events:none;border-radius:50%;place-items:center;width:22px;height:22px;font-size:16px;line-height:1;display:grid;position:absolute;bottom:-3px;right:-3px}.score-list .score-portrait{flex-shrink:0;width:36px;height:36px;margin:0}.score-list .portrait-button{flex-shrink:0;margin:0}.avatar-menu-button{margin:4px 0 10px;display:flex}.avatar-gallery{background:var(--surface);width:min(1060px,100% - 28px);max-width:none;max-height:90dvh;color:var(--ink);overflow:auto}.avatar-gallery-body{grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr);gap:28px;padding:24px;display:grid}.avatar-catalogue,.avatar-preview-panel{min-width:0}.avatar-search,.avatar-preview-panel>label{flex-direction:column;gap:7px;font-size:13px;font-weight:600;display:flex}.avatar-search input,.avatar-preview-panel select{width:100%;min-width:0}.avatar-families{flex-wrap:wrap;gap:7px;margin-top:16px;display:flex}.avatar-families button{border:1px solid var(--line);background:var(--surface);min-height:38px;color:var(--ink);border-radius:18px;padding:7px 12px;font-size:12px}.avatar-families button[aria-pressed=true]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.avatar-count{color:var(--muted);margin:12px 0 8px;font-size:12px}.avatar-options{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:max-content;align-content:start;gap:10px;max-height:49dvh;padding:4px;display:grid;overflow:auto}.avatar-option{border:1px solid var(--line);background:var(--surface);min-width:0;color:var(--ink);text-align:center;border-radius:13px;flex-direction:column;align-items:center;gap:5px;padding:8px 6px;display:flex}.avatar-option.selected{outline:2px solid var(--accent);outline-offset:1px;background:var(--soft)}@media (hover:hover){.avatar-gallery .avatar-option:hover:not(:disabled){border-color:var(--accent);background:var(--soft)}}.avatar-option img{aspect-ratio:1;object-fit:cover;background:var(--soft);border-radius:50%;width:min(100%,80px);height:auto}.avatar-option>span{overflow-wrap:anywhere;font-size:11px;line-height:1.35}.avatar-option>small{color:var(--muted);font-size:10px}.avatar-preview{border:1px solid var(--line);background:var(--page-bg) var(--theme-background) center/cover;min-height:240px;color:var(--ink);border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:14px;margin:16px 0;padding:20px;display:flex}.avatar-preview .player-portrait{width:172px;height:172px;box-shadow:0 0 0 5px var(--surface),0 5px 24px var(--shadow)}.avatar-preview>strong{background:var(--surface);text-align:center;border-radius:20px;padding:5px 12px;font-size:14px;font-weight:600}.avatar-preview-panel h3{font-family:Georgia,serif;font-size:25px;font-weight:400}.avatar-choice-copy{color:var(--muted);margin-top:7px;font-size:12px;line-height:1.5}.avatar-apply{width:100%}.avatar-preference-note{margin-top:12px;line-height:1.5}.avatar-confirmation,.avatar-preview-panel .error-text{margin:0 0 10px;font-size:12px}.avatar-commit-feedback{color:var(--muted);margin-bottom:10px;font-size:12px}.avatar-commit-feedback [role=alert]{color:var(--danger)}.avatar-empty{color:var(--muted);padding:25px 5px;font-size:14px}@media (width<=700px){.avatar-gallery{max-height:92dvh}.avatar-gallery-body{flex-direction:column;gap:22px;padding:16px;display:flex}.avatar-preview-panel{order:-1;grid-template-columns:100px minmax(0,1fr);align-items:start;gap:8px 14px;display:grid}.avatar-preview-panel>label{grid-column:1/-1}.avatar-preview{border-radius:12px;grid-area:2/1/5;min-height:100px;margin:2px 0 0;padding:10px}.avatar-preview .player-portrait{width:78px;height:78px;box-shadow:0 0 0 3px var(--surface),0 3px 12px var(--shadow)}.avatar-preview>strong{display:none}.avatar-preview-panel h3{grid-column:2;margin-top:6px;font-size:20px}.avatar-choice-copy{grid-column:2;margin:0;font-size:11px}.avatar-preview-panel .theme-load-feedback{grid-column:2;min-height:0;padding:0;font-size:11px}.avatar-preview-panel .avatar-apply,.avatar-preview-panel .avatar-confirmation,.avatar-preview-panel .avatar-commit-feedback,.avatar-preview-panel .error-text,.avatar-preference-note{grid-column:1/-1}.avatar-preference-note{margin:0;font-size:11px}.avatar-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-height:42dvh}.avatar-option{padding:6px 3px}.avatar-option>span{font-size:10px}.avatar-families{gap:6px;margin-top:12px}.avatar-families button{min-height:44px;padding:6px 10px;font-size:11px}.portrait-edit-mark{width:17px;height:17px;font-size:12px}}@media (width<=360px){.avatar-options{grid-template-columns:repeat(3,minmax(0,1fr))}}.room-page>.page-heading{position:relative}.settings-menu{z-index:45}.settings-menu>summary.button{place-items:center;width:44px;height:44px;min-height:44px;display:grid;padding:9px!important}.settings-menu>summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.settings-menu-floating{top:max(12px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right));z-index:45;position:absolute}.settings-menu>.settings-panel{width:330px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 76px - env(safe-area-inset-top));overscroll-behavior:contain;background:var(--surface);color:var(--ink);padding:20px;overflow:auto}.settings-panel h2{margin:0 0 12px;font-size:27px}.settings-panel h3{margin:0 0 12px;font-size:16px}.settings-navigation{flex-wrap:wrap;gap:8px;display:flex}.settings-navigation .utility-button{min-height:44px;padding:8px 12px}.settings-table,.settings-profile{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.settings-profile form{gap:10px;display:grid}.settings-profile input{width:100%;min-width:0}.settings-profile label{font-size:13px}.settings-profile .button{min-height:42px}.settings-profile .small{margin:0}.tables-menu-heading{padding-right:48px}.title-screen{padding-top:56px}.connection-screen,.loading-state{padding-top:64px}@media (width<=600px){.settings-menu{position:static}.settings-menu-floating{right:max(12px,env(safe-area-inset-right));position:absolute}.settings-menu>.settings-panel{width:min(330px,100vw - 20px);max-height:calc(100dvh - 70px - env(safe-area-inset-top));top:calc(100% + 6px);left:auto;right:0}.settings-menu-floating>.settings-panel{top:calc(100% + 6px);right:0}.tables-menu-heading{padding-right:0}.tables-menu-heading>div{padding-right:48px}.title-screen{padding-top:56px}.room-page>.page-heading{padding-top:env(safe-area-inset-top)}}.settings-menu-floating~.notice{max-width:calc(100% - 98px);margin-right:76px}.settings-personal-actions{gap:4px;margin:12px 0;display:grid}.settings-personal-actions .utility-button{flex-direction:row;justify-content:flex-start;gap:8px;width:100%;min-height:44px;padding:8px 10px;font-size:14px}.settings-profile>.button{width:100%}
