@charset "UTF-8";
:root{--cream:#f7f4ec;--paper:#fffdf7;--green:#173f35;--muted:#7c8275;--line:#e5e4d8;--gold:#d8af6c;--coral:#b86751;font-family:'Segoe UI',Arial,sans-serif;color:var(--green);background:var(--cream);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,.auth-content h1,.art-caption h2{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:42px;letter-spacing:-1.3px}h2{letter-spacing:-.6px}p{line-height:1.6}button{transition:background .15s,transform .15s}button:focus-visible,a:focus-visible{outline:3px solid #b9904a;outline-offset:4px}input:focus,select:focus{outline:2px solid #729e82;outline-offset:1px}input,select{width:100%;padding:13px 14px;border:1px solid #d7dbce;border-radius:7px;background:#fffef9;color:var(--green);font-size:14px}label{display:block;font-size:12px;font-weight:600;margin:17px 0 8px}small{font-size:11px}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;min-height:44px;padding:12px 22px;border:1px solid transparent;border-radius:6px;font-size:12px;font-weight:600;text-decoration:none;letter-spacing:.1px}.button:hover:not(:disabled){transform:translateY(-1px)}.primary{background:var(--green);color:white}.primary:hover{background:#26574a}.cream{background:#f2e9d2;color:#224739}.outline{background:transparent;border-color:#ccd3c5;color:var(--green)}.wide{width:100%;justify-content:space-between}.disabled{background:#e9ede3;color:#85907b}.fine{font-size:11px;color:var(--muted);line-height:1.8}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:650;color:#7a856d}.brand{display:inline-flex;gap:10px;align-items:center;text-decoration:none;font-family:Georgia,serif;font-size:27px;letter-spacing:-.8px;white-space:nowrap}.brand-mark{font-family:Georgia,serif;font-size:28px;line-height:1.2}.brand-club{font-family:'Segoe UI',sans-serif;letter-spacing:2.5px;text-transform:uppercase;font-size:9px;display:block;margin-top:0}.auth-layout{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.auth-copy{padding:38px 12%;display:flex;flex-direction:column;justify-content:space-between;gap:45px}.auth-content{max-width:410px;margin:10px 0}.auth-content h1{font-size:55px;line-height:1.07;margin:19px 0 22px;letter-spacing:-2px}.lead{font-size:14px;color:#798172;line-height:1.85;max-width:370px}.auth-switch{display:flex;gap:28px;border-bottom:1px solid #dedfd1;margin-top:30px;margin-bottom:21px}.auth-switch button{border:0;background:none;padding:0 0 12px;font-size:12px;color:#919781}.auth-switch .active{border-bottom:2px solid var(--green);font-weight:600;color:var(--green)}.auth-content .fine{text-align:center;margin-top:16px}.form-error{font-size:12px;color:#a4402d;margin:12px 0}.auth-footer{font-size:10px;color:#8e947f;display:flex;justify-content:space-between;gap:20px}.auth-art,.felt,.lobby-hero{background-color:#1c4a3e;background-image:radial-gradient(ellipse at 55% 30%,#3e756344,transparent 70%),repeating-linear-gradient(0deg,#ffffff02 0px,#ffffff02 1px,transparent 1px,transparent 3px);color:#eee9d9}.auth-art{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:800px}.auth-art:before{content:'';position:absolute;inset:20px;border:1px solid #b2ba9025;border-radius:3px}.art-label{position:absolute;top:54px;font-size:9px;letter-spacing:3px;color:#c8c5a0;display:flex;align-items:center;gap:13px}.little-star{font-size:24px}.art-cards{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:265px;padding-bottom:30px;margin-top:40px}.card{width:90px;height:126px;border:0;background:transparent;border-radius:7px;padding:0;display:inline-block;flex-shrink:0;box-shadow:0 4px 9px #071d2529;vertical-align:middle}.card svg{width:100%;height:100%;display:block;border-radius:7px}.card.small{width:53px;height:74px;border-radius:4px}.art-cards .card{width:141px;height:197px;position:absolute;box-shadow:4px 16px 24px #06282044}.art-cards .card:nth-child(1){transform:translate(-105px,10px) rotate(-20deg)}.art-cards .card:nth-child(2){transform:translate(0,-20px) rotate(0deg);z-index:1}.art-cards .card:nth-child(3){transform:translate(105px,10px) rotate(20deg);z-index:2}.art-board{width:85%;max-width:590px;transform:rotate(-8deg);margin:10px 0 40px;filter:drop-shadow(4px 16px 10px #061e2144)}.board{width:100%;display:block}.board text{font:7px 'Segoe UI',sans-serif;fill:#7e5937}.board .board-brand{font-size:6px}.art-caption{text-align:center;position:relative}.art-caption>span{font-size:8px;letter-spacing:3px;color:#c6bc98}.art-caption h2{font-size:34px;line-height:1.25;color:#e6e3ca;margin:17px 0}.art-number{position:absolute;right:45px;bottom:40px;font-size:10px;letter-spacing:2px;color:#afba99}.site-header{height:90px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5.5%;gap:25px;background:var(--paper)}.site-header nav{display:flex;align-items:center;gap:28px;margin-right:auto;margin-left:60px}.nav-link{border:0;background:none;font-size:12px;color:#8a907f;padding:12px 0}.nav-link.active{color:#284a36}.profile{display:flex;align-items:center;gap:24px}.live{font-size:10px;color:#7c8c72;white-space:nowrap}.live i,.green-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#7c9a65;margin-right:5px}.profile-button{border:0;background:none;display:flex;align-items:center;gap:9px;font-size:12px;color:var(--green)}.avatar{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;background:#e3e9d9;border-radius:50%;color:#4c6841;font-size:10px;font-weight:600;flex-shrink:0}.avatar.coral{background:#edd4c8;color:#9b5744}.gear{color:#929b84;margin-left:8px}.club-main,.table-main{max-width:1400px;margin:auto;padding:42px 5.5% 0}.welcome-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.welcome-row h1{margin:12px 0 12px;font-size:39px}.welcome-row p{font-size:13px;color:#8a8d7d;margin-bottom:0}.date-badge{display:flex;align-items:center;gap:12px;font-size:35px;color:#8c9477}.date-badge span{font-size:10px;line-height:1.8}.lobby-hero{border-radius:12px;position:relative;overflow:hidden;display:flex;min-height:300px;padding:34px 44px;margin-bottom:22px}.hero-copy{z-index:1}.pill{display:inline-flex;border-radius:4px;background:#e9eee0;color:#6e865b;padding:5px 8px;font-size:9px;letter-spacing:.4px;white-space:nowrap;font-family:'Segoe UI',sans-serif;font-weight:400}.pill.pale{background:#b4c9a815;color:#c8d0b3;border:1px solid #9ab28f25;font-size:8px;letter-spacing:1.3px;padding:6px 9px}.pill.muted{background:#efeee7;color:#949585}.hero-copy h2{font-size:42px;line-height:1.1;color:#f3edd9;margin:15px 0}.hero-copy p{font-size:12px;line-height:1.8;color:#b8c6af;margin-bottom:21px}.hero-art{position:absolute;width:50%;height:100%;right:0;top:0}.hero-ring{position:absolute;border:1px solid #aabc8120;width:335px;height:335px;border-radius:50%;right:50px;top:25px;box-shadow:0 0 0 25px #aabc8107,0 0 0 55px #aabc8105}.hero-cards{position:absolute;left:38%;top:35%;display:flex}.hero-cards .card{position:absolute;width:107px;height:150px}.hero-cards .card:nth-child(1){transform:translate(-78px,-6px) rotate(-21deg)}.hero-cards .card:nth-child(2){transform:translate(2px,-31px) rotate(3deg)}.hero-cards .card:nth-child(3){transform:translate(85px,-2px) rotate(23deg)}.hero-stamp{position:absolute;right:50px;bottom:29px;border:1px solid #cfb96a8a;border-radius:50%;width:89px;height:89px;text-align:center;padding-top:14px;font-size:7px;letter-spacing:1px;line-height:1.5;color:#d8c085;transform:rotate(-16deg)}.hero-stamp span{font-size:21px}.hero-note{position:absolute;right:38px;top:27px;font-size:7px;letter-spacing:2px;color:#9eaf94}.rooms-section{background:#edf1e6;border:1px solid #1c4a3e;border-radius:16px;padding:28px;box-shadow:0 8px 24px #2544360d}.rooms-section .section-top h2{color:#173f35}.rooms-section .section-top p{color:#6f7c68}.rooms-section .room-tools input{background:#fffdf7;border-color:#cdd6c3}.rooms-section .room-card,.rooms-section .empty-room{background:#fffdf7}.section-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.section-top h2{font-size:28px;margin:0 0 9px}.count-badge{display:inline-flex;align-items:center;justify-content:center;font:11px 'Segoe UI',sans-serif;background:#e7eadf;width:24px;height:24px;border-radius:50%;margin-left:8px;vertical-align:middle}.section-top p{font-size:10px;color:#8e9680;margin:0}.room-tools{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:12px;gap:20px}.tabs{display:flex;gap:8px}.tabs button{border:0;background:transparent;color:#8a937e;font-size:11px;padding:9px 13px;border-radius:5px}.tabs .active{background:#e5eadb;color:#48603c}.room-tools input{max-width:230px;font-size:11px;padding:10px 12px;background:transparent}.rooms-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}.room-card{border:1px solid #dde1d3;border-radius:10px;background:var(--paper);padding:22px;min-width:0}.room-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px}.room-icon{font-size:23px;color:#829571;background:#f0f2e9;border-radius:8px;line-height:36px;text-align:center;width:36px;height:36px}.room-card h3{font-size:16px;font-weight:550;margin:0 0 9px;overflow-wrap:anywhere}.room-rule{font-size:10px;color:#969b87}.room-rule span{margin:0 7px}.host-row{display:flex;align-items:center;gap:10px;margin:25px 0}.host-row strong{font-size:11px;font-weight:600;display:block}.host-row small{font-size:9px;display:block;color:#939c86;margin-top:4px}.room-card .button{font-size:10px;min-height:38px;padding:10px 13px}.empty-room{grid-column:1/-1;border:1px dashed #cdd5c0;padding:28px;text-align:center;border-radius:10px}.empty-suit{font-size:38px;color:#8a9f74;display:block}.empty-room h3{font:23px Georgia,serif;margin:9px 0}.empty-room p{font-size:12px;color:#919780}.empty-room .button{min-height:38px;font-size:11px}.club-notes{margin:43px 0 35px;display:grid;grid-template-columns:repeat(3,1fr);gap:42px;border-top:1px solid var(--line);padding-top:29px}.club-notes>div{position:relative;padding-left:30px}.club-notes>div>span{position:absolute;left:0;top:2px;font-size:10px;color:#a9ad97}.club-notes h3{font-size:11px;font-weight:600;margin-bottom:10px}.club-notes p{font-size:10px;color:#949985;line-height:1.9;margin:0}.text-button{background:transparent;border:0;color:#758768;font-size:11px}.table-main{padding-top:25px;padding-bottom:30px}.table-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;gap:20px}.back-link{background:none;border:0;color:#86907a;font-size:10px;padding:0;margin-bottom:15px}.table-heading h1{font-size:31px;margin-bottom:8px;overflow-wrap:anywhere}.table-heading h1 .pill{vertical-align:middle;margin-left:8px}.table-heading p{font-size:10px;color:#859077;margin:0}.table-heading-actions{display:flex;align-items:center;gap:10px}.table-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:22px;align-items:start}.play-area{min-width:0}.felt{border:7px solid #694f35;box-shadow:inset 0 0 0 2px #ad8b532b,0 5px 10px #403c2910;border-radius:18px}.waiting-table{text-align:center;padding:43px 25px;min-height:440px}.waiting-title .eyebrow,.match-result .eyebrow{color:#b0bea0;font-size:8px}.waiting-title h2,.match-result h2{font-size:29px;margin:12px 0}.waiting-title p,.match-result p{color:#b2c0a8;font-size:12px}.match-result>span:last-child{font-size:11px;color:#bbcab0}.seats{display:flex;justify-content:center;gap:60px;margin:31px 0}.seat{max-width:220px;flex:1}.seat .avatar,.vacant-circle{width:58px;height:58px;font-size:18px;background:#d9dfbc;color:#4c6644;border:3px solid #5b7a57;display:inline-flex;align-items:center;justify-content:center;border-radius:50%}.seat h3{font-size:13px;font-weight:500;margin:13px 0 4px}.seat h3 small{color:#9cb493;font-size:10px}.seat p{font-size:10px;color:#d5d4ad;margin:0 0 7px}.seat>span:last-child{font-size:9px;color:#8daa88}.vacant{opacity:.6}.vacant-circle{background:transparent;border:1px dashed #adb887;font-size:24px;color:#bdc6a0}.table-note{font-size:9px;color:#9fb391;margin:12px 0 0}.room-tip{display:flex;align-items:center;gap:18px;padding:24px 9px}.room-tip>span{font-size:26px;color:#849770}.room-tip strong{font-size:11px;font-weight:600}.room-tip p{font-size:10px;color:#89957b;margin:7px 0}.chat-panel{background:var(--paper);border:1px solid #dde3d1;border-radius:12px;overflow:hidden;position:sticky;top:20px}.chat-heading{padding:19px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e6e9de}.chat-heading h2{font:14px 'Segoe UI',sans-serif;margin:0}.chat-content{height:340px;overflow:auto;padding:18px;scrollbar-width:thin}.chat-empty{text-align:center;padding:58px 3px;color:#8f9b80}.chat-empty>span{font-size:30px;color:#9bac8b}.chat-empty h3{font:20px Georgia,serif;color:#647956;margin:15px 0 10px}.chat-empty p{font-size:11px;line-height:1.85}.message{margin-bottom:16px}.message strong{font-size:9px;color:#94a181;font-weight:500}.message p{background:#eff2e7;padding:10px 12px;border-radius:0 8px 8px 8px;font-size:11px;color:#566c48;margin:5px 0;overflow-wrap:anywhere;white-space:pre-wrap}.message.mine p{background:#e3ebd7;border-radius:8px 0 8px 8px}.message.mine{text-align:right}#chat-form{display:flex;gap:6px;padding:12px;border-top:1px solid #e6e9df}#chat-form input{font-size:10px;min-width:0;border:0;background:#f3f5ee;padding:11px}#chat-form button{border:0;background:#28533e;color:#f4f0df;width:32px;border-radius:5px;flex-shrink:0}.chat-foot{font-size:9px;text-align:center;color:#a5ad96;margin:0 0 13px}.score-strip{display:flex;justify-content:space-between;background:var(--paper);border:1px solid #dbe0cf;border-radius:11px;padding:16px 20px;margin-bottom:13px;gap:20px}.score-player{display:flex;align-items:center;gap:9px;flex:1;min-width:0}.score-player strong{display:block;font-size:11px;font-weight:600;overflow-wrap:anywhere}.score-player strong small{color:#94a084;font-size:9px}.score-player div>span{display:block;font-size:9px;color:#98a086;margin-top:5px}.score-player>b{font:27px Georgia,serif;margin-left:auto}.score-player>b small{font:10px 'Segoe UI',sans-serif;color:#9aa48d}.score-player+.score-player{border-left:1px solid #e5e8dd;padding-left:20px}.game-table{padding:18px 25px 23px}.game-meta{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.2px;color:#a8bb98}.game-meta>span:nth-child(2){color:#e4e4c7}.opponent-hand{display:flex;justify-content:center;padding:22px 0 27px;position:relative;min-height:120px}.opponent-hand .card{margin-left:-8px}.opponent-hand>span{position:absolute;bottom:5px;font-size:9px;color:#b1c49e}.center-table{display:flex;align-items:center;gap:20px;padding:13px 0 20px;min-height:133px}.starter{display:flex;flex-direction:column;gap:8px;align-items:center}.starter small{font-size:7px;letter-spacing:1.3px;color:#a8bc92}.play-pile{flex:1;display:flex;justify-content:center;align-items:center;min-width:0}.play-pile .card{margin-left:-13px;transform:rotate(-3deg)}.play-pile .card:nth-child(even){transform:rotate(4deg)}.table-watermark{font-size:90px;color:#c2c9a112;font-family:Georgia,serif}.count-dial{border:1px solid #93ae7344;border-radius:50%;width:72px;height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}.count-dial b{font:28px Georgia,serif}.count-dial small{font-size:6px;letter-spacing:1.4px;color:#bbcaab}.count-dial span{font-size:7px;color:#9db98b}.hand-label{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1px;color:#b0c39c;border-top:1px solid #8da87533;padding-top:16px;margin-bottom:13px}.hand-label span{font-size:8px;letter-spacing:0;color:#86a875}.hand-label-title{display:inline-flex;align-items:center;gap:10px}.hand-label .sort-hand{border:0;background:transparent;color:#f4d58a;font-size:8px;padding:0;text-decoration:underline;text-underline-offset:3px;letter-spacing:0}.hand-label .sort-hand:hover{color:#fff3cc}.your-hand{display:flex;justify-content:center;gap:10px;min-height:128px;padding-top:6px;flex-wrap:wrap}.your-hand .card{width:75px;height:105px;transition:transform .15s,opacity .15s}.your-hand .card:hover:enabled{transform:translateY(-6px)}.your-hand .card.selected{transform:translateY(-12px);outline:3px solid #e5c579;outline-offset:3px}.your-hand .card:disabled{opacity:.5}.game-instruction{text-align:center;min-height:44px;margin-top:8px}.game-instruction p{font-size:11px;color:#d1d8ba;margin:5px 0 12px}.game-instruction .button{font-size:10px;min-height:37px;padding:9px 16px}.board-wrap{padding:17px 8px 6px}.game-log{font-size:10px;color:#7f9270;padding:12px}.game-log summary{cursor:pointer}.game-log p{margin:7px 0;font:10px Consolas,monospace}.count-summary{margin:20px 0}.count-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #82997033;padding:14px 0}.count-row strong{font-size:11px;font-weight:500}.count-row p{font-size:9px;color:#aec399;margin:10px 0 0}.count-row>b{font:30px Georgia,serif;color:#e5d6a7}.mini-hand{display:flex;gap:5px;margin-top:12px}.mini-hand .card{width:40px;height:56px}dialog{border:1px solid #d4dac6;border-radius:14px;background:var(--paper);color:var(--green);padding:30px;max-width:500px;width:calc(100% - 32px);box-shadow:0 20px 100px #0d281f44;max-height:90vh}dialog::backdrop{background:#112c2477;backdrop-filter:blur(3px)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px}.modal-head h2{font-size:28px;margin:0}.close-button{border:0;background:transparent;font-size:26px;color:#8f9c7e}.modal-intro{font-size:12px;color:#839274;margin-bottom:22px}.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-columns select{font-size:11px;padding:12px 9px}.check-label{display:flex;gap:12px;align-items:flex-start;margin:23px 0;cursor:pointer;font-size:12px;font-weight:400}.check-label input{width:16px;height:16px;margin:0;accent-color:#325b42;flex-shrink:0}.check-label small{display:block;margin-top:6px;font-size:10px;line-height:1.6;color:#8a997a}.rule-note{background:#f0f2e7;border-radius:7px;padding:13px;font-size:10px;color:#8a9679;line-height:1.9}.logout{margin-top:25px;color:#a56049}.help-content{font-size:12px;color:#718164;line-height:1.7}.help-content ol{padding-left:20px}.help-content li{padding:6px 0}.help-content b{color:#3e5b31}.help-content h3{font-size:13px;margin-top:20px}.help-content a{font-size:11px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:50px;color:#729064}.loading p{font-size:12px;margin-top:18px}.network-banner{display:none;background:#f1dab6;padding:12px;text-align:center;font-size:12px}.offline .network-banner{display:block}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#294b39;color:#fffbed;border:1px solid #738568;border-radius:8px;padding:14px 22px;font-size:12px;z-index:50;max-width:90vw;box-shadow:0 6px 22px #18311f33}[hidden]{display:none!important}@media(min-width:1500px){.auth-copy{padding-left:17%;padding-right:17%}.auth-content{max-width:450px}.auth-content h1{font-size:63px}}@media(max-width:1100px){.site-header nav{margin-left:15px;gap:20px}.site-header{padding:0 4%}.club-main,.table-main{padding-left:4%;padding-right:4%}.rooms-grid{grid-template-columns:repeat(2,1fr)}.table-layout{grid-template-columns:minmax(0,1fr) 240px}.your-hand{gap:7px}.your-hand .card{width:58px;height:81px}.your-hand{min-height:100px}.game-table{padding-left:18px;padding-right:18px}.auth-copy{padding:30px 10%}.auth-content h1{font-size:46px}.date-badge{display:none}}@media(max-width:800px){.auth-layout{grid-template-columns:1fr}.auth-art{display:none}.auth-copy{min-height:100vh;padding:28px 8%;gap:28px}.auth-content{margin:0 auto;width:100%;max-width:480px}.auth-content h1{font-size:48px}.auth-copy .brand{margin-bottom:8px}.site-header{height:74px}.site-header nav{display:none}.brand{font-size:24px}.profile{gap:7px}.live{display:none}.welcome-row h1{font-size:32px}.club-main{padding-top:27px}.lobby-hero{padding:29px;min-height:310px}.hero-copy h2{font-size:35px}.hero-art{opacity:.8;right:-60px}.hero-cards .card{width:85px;height:119px}.hero-cards .card:nth-child(1){transform:translate(-55px,0) rotate(-21deg)}.hero-cards .card:nth-child(3){transform:translate(55px,0) rotate(21deg)}.hero-stamp{display:none}.hero-note{display:none}.hero-ring{right:-100px}.table-layout{grid-template-columns:1fr}.chat-panel{position:static}.chat-content{height:220px}.table-heading-actions{display:none}.your-hand .card{width:70px;height:98px}.your-hand{min-height:120px}.club-notes{gap:20px}.club-notes>div{padding-left:0}.club-notes>div>span{display:none}.table-heading h1{font-size:27px}.score-player strong{font-size:10px}}@media(max-width:500px){.rooms-grid{grid-template-columns:1fr}.lobby-hero{min-height:290px}.hero-art{right:-80px;opacity:.35}.hero-copy h2{font-size:36px}.hero-copy p{font-size:11px}.hero-copy{position:relative}.room-tools input{width:150px}.club-notes{grid-template-columns:1fr;gap:17px}.club-notes>div{padding-left:28px}.club-notes>div>span{display:block}.section-top h2{font-size:25px}.section-top .button{padding:9px 11px;font-size:10px}.section-top p{font-size:9px}.welcome-row h1{font-size:29px}.welcome-row .eyebrow{font-size:8px;letter-spacing:1.6px}.your-hand .card{width:44px;height:62px;border-radius:4px}.your-hand{min-height:87px;gap:5px}.game-table{padding:14px 10px;border-width:5px}.play-pile .card{width:40px;height:56px;margin-left:-19px}.starter .card{width:43px;height:60px}.center-table{gap:12px}.count-dial{width:53px;height:53px}.count-dial b{font-size:21px}.score-strip{padding:12px 10px;gap:10px}.score-player{gap:6px}.score-player .avatar{width:24px;height:24px;font-size:8px}.score-player>b{font-size:22px}.score-player>b small{display:none}.score-player+.score-player{padding-left:10px}.score-player div>span{font-size:8px}.game-instruction p{font-size:10px}.table-heading h1 .pill{display:none}.seats{gap:15px}.waiting-table{padding:30px 16px}.waiting-title h2,.match-result h2{font-size:25px}.seat h3{font-size:12px}.seat>span:last-child{font-size:8px}.profile-button>span:nth-child(2){max-width:80px;overflow:hidden;text-overflow:ellipsis}.auth-content h1{font-size:44px}.form-columns{grid-template-columns:1fr}dialog{padding:23px}.board-wrap{padding-left:0;padding-right:0}}

.ai-body{padding:24px 20px}.ai-body>.avatar{width:50px;height:50px;font-size:15px}.ai-body h3{font:23px Georgia,serif;margin:19px 0 12px}.ai-body>p{font-size:11px;color:#839274;line-height:1.8}.ai-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;border-top:1px solid #e2e6d9;margin-top:23px;padding-top:19px;margin-bottom:18px}.ai-metrics small{display:block;font-size:9px;color:#8c987f;line-height:1.5;margin-bottom:7px}.ai-metrics strong{font:18px Georgia,serif}.ai-error{font-size:11px;line-height:1.7;color:#9a4e38;background:#f6e8de;padding:13px;border-radius:6px;margin-bottom:14px}

.reliability-badge{display:block!important;font:9px/1.7 "Segoe UI",sans-serif;color:#718163;margin-top:5px}.reliability-badge small{font-size:8px;opacity:.85;margin-left:4px}.seat .reliability-badge{color:#c9d6b7}.reliability-details{padding:15px;background:#eef2e6;border:1px solid #d9e1cd;border-radius:8px;margin-bottom:20px}.reliability-details h3{font-size:13px;margin:0 0 8px}.reliability-details p{font-size:10px;line-height:1.8;color:#7d8c6d;margin:9px 0 0}.reliability-details .reliability-badge{font-size:13px}.reliability-details .reliability-notice{color:#986041}.match-tools{display:flex;align-items:center;gap:14px;margin:0 0 18px}.match-tools:empty{display:none}.match-tools>span{font-size:10px;color:#879379}.concede-button{font-size:11px;padding:8px 14px;min-height:35px}.reconnect-banner{padding:18px 21px;background:#f0e4c5;border:1px solid #dcc897;border-radius:9px;margin-bottom:18px;color:#755d31}.reconnect-banner strong{font-size:13px}.reconnect-banner p{font-size:12px;margin:8px 0}.reconnect-banner small{font-size:10px;line-height:1.7;display:block}.score-player .reliability-badge{font-size:8px}.score-player .reliability-badge small{display:block;margin:0}@media(max-width:500px){.match-tools{align-items:flex-start}.match-tools>span{max-width:180px;line-height:1.7}.score-player .reliability-badge small{display:none}.score-player{flex-wrap:wrap}}

.confirmation-actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}

.turn-timer{padding:16px 20px;margin:0 0 18px;border:1px solid #c9ae7d;border-radius:12px;background:#fff8e9}.turn-timer>div{display:flex;flex-wrap:wrap;gap:12px;margin:10px 0}.turn-clock{padding:8px 12px;border-radius:8px;background:#e8eedf}.turn-clock small{display:block}.turn-clock.urgent{background:#ffd4c7;color:#8b231b;outline:2px solid #b83f2a}

.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 24px}.stat-card{padding:16px;border:1px solid #d9d6c9;border-radius:10px;background:#f5f3e9}.stat-card strong{display:block;color:#214e3b;font-size:26px}.stat-card span{display:block;font-size:13px;margin-top:5px}.stats-modes{margin-top:12px;flex-wrap:wrap}.stats-dashboard h3{margin-top:24px}.stats-dashboard .tabs{flex-wrap:wrap}
dialog:has(.stats-dashboard){width:min(1000px,calc(100vw - 32px));max-width:1000px}.stats-dashboard .stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:650px){.stats-dashboard .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.review-banner{padding:24px;border:1px solid #cab58b;background:#faf5e7;border-radius:14px;margin-bottom:18px}.review-banner h2{margin:10px 0}.review-countdown{display:inline-block;margin:12px}.review-starter{display:flex;align-items:center;gap:18px;margin:16px 0}.review-cards .count-row small{display:block}.review-cards .count-row> b small{font-size:11px}.review-plays{display:flex;gap:12px;flex-wrap:wrap;padding-top:12px}.review-plays small{display:block}.review-play{margin-top:18px}.review-cards .mini-hand{flex-wrap:wrap}

#hand-summary-dialog{width:min(960px,calc(100vw - 24px));max-width:960px;padding:24px}#hand-summary-dialog .modal-head{margin-bottom:18px}#hand-summary-dialog .review-banner{padding:18px}#hand-summary-dialog .count-row{gap:12px}@media(max-width:600px){#hand-summary-dialog{padding:14px}#hand-summary-dialog .review-countdown{display:block;margin:12px 0}}
#hand-summary-dialog .board-wrap{display:none}

.review-scoreboard{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0}.review-player-score{display:flex;flex-direction:column;gap:5px;padding:16px;border:1px solid #ffffff40;border-radius:12px;background:#ffffff0d}.review-player-score strong{font-size:30px;color:#fff4d4}.review-player-score strong small{font-size:14px;font-weight:400}.review-player-score>small{opacity:.75}.review-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 0 18px;border-bottom:1px solid #ffffff30}.review-actions>div{flex:1 1 100%}.review-actions p{font-size:13px;margin:6px 0;opacity:.8}.review-actions .review-countdown{margin:0;font-size:13px}.game-table>.score-strip{background:transparent;border:0;border-bottom:1px solid #ffffff35;border-radius:0;color:inherit;margin:0 0 20px;padding:0 0 18px}.game-table>.score-strip .score-player{color:inherit}.game-table>.score-strip .score-player b{color:#fff4d4}.game-table>.score-strip .score-player span,.game-table>.score-strip .score-player small{color:inherit}@media(max-width:520px){.review-player-score{padding:12px}.review-player-score strong{font-size:26px}}

.review-player-score{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:16px;row-gap:4px;align-items:center}.review-player-score>span{grid-column:1;grid-row:1;min-width:0;overflow-wrap:anywhere}.review-player-score>small{grid-column:1;grid-row:2}.review-player-score>strong{grid-column:2;grid-row:1 / 3;justify-self:end;white-space:nowrap;text-align:right}

.review-actions{justify-content:center}

.review-actions .button[data-do="next"]{display:inline-block;white-space:normal;text-align:center}

.table-layout{align-items:stretch}.table-layout>.play-area{min-height:580px}.table-sidebar{position:relative;min-width:0}.sidebar-shell{position:absolute;inset:0;display:flex;flex-direction:column;background:var(--paper);border:1px solid #dde3d1;border-radius:12px;overflow:hidden}.sidebar-tabs{display:flex;border-bottom:1px solid #dde3d1;padding:7px;gap:4px;flex-shrink:0}.sidebar-tabs button{flex:1;border:0;background:transparent;padding:10px 4px;border-radius:7px;color:#48604f;font-weight:600}.sidebar-tabs button[aria-selected="true"]{background:#214f48;color:#fff7e5}.sidebar-tabs button:focus-visible{outline:2px solid #b98b42;outline-offset:1px}.sidebar-panel{min-height:0;flex:1;overflow:auto}.sidebar-panel[hidden]{display:none}.board-panel{display:flex;flex-direction:column;overflow:hidden;padding:12px}.board-legend{display:flex;flex-direction:column;gap:7px;font-size:12px;flex-shrink:0;padding-bottom:10px}.board-legend span{display:flex;align-items:center;gap:7px}.board-legend b{margin-left:auto}.peg-dot{width:9px;height:9px;border-radius:50%;background:#214f48;flex-shrink:0}.peg-dot.coral{background:#ba573f}.vertical-board-wrap{flex:1;min-height:0;text-align:center}.vertical-board{height:100%;width:100%;display:block}.sidebar-panel .chat-panel{position:static;border:0;border-radius:0;min-height:100%;display:flex;flex-direction:column}.sidebar-panel .chat-content{flex:1;min-height:80px;max-height:none}.sidebar-panel .chat-foot{flex-shrink:0}.opponent-info{padding:24px;text-align:center}.opponent-info h2{font-size:22px}.opponent-info p{font-size:13px;line-height:1.6}@media(max-width:850px){.table-layout{grid-template-columns:1fr}.table-sidebar{height:620px}.sidebar-shell{position:absolute}.table-layout>.play-area{min-height:0}}

.table-heading-actions:has(.concede-button){display:flex}

.room-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.room-title-row h1{margin:0}.room-rule-badges{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.room-rule-badges .pill{white-space:nowrap}

.match-finale{position:relative;overflow:hidden}.match-celebration{text-align:center;padding:12px 10px 24px;border-bottom:1px solid #ffffff35;margin-bottom:22px}.celebration-symbol{font-size:48px;color:#f4d58a;line-height:1.2}.match-celebration h2{font-size:clamp(30px,5vw,48px);color:#fff3cc;margin:8px 0}.match-celebration>p{font-size:14px;line-height:1.6}.final-scores{display:flex;justify-content:center;gap:16px;margin:22px 0}.final-score{flex:1;max-width:230px;padding:16px;border:1px solid #ffffff40;border-radius:12px;display:flex;flex-direction:column;gap:5px}.final-score.winner{border-color:#f4d58a;background:#f4d58a18}.final-score strong{font-size:36px;color:#fff3cc}.final-score small{color:#f4d58a}.final-return,.final-reason{opacity:.8}.match-confetti{pointer-events:none;position:fixed;inset:0;overflow:hidden;z-index:9999;animation:match-confetti-fade 10s linear both}.confetti-piece{position:absolute;top:-24px;opacity:0;animation:match-confetti-fall 5s linear both}.confetti-piece:nth-child(3n){animation-name:match-confetti-fall-left}.confetti-piece:nth-child(3n+1){animation-name:match-confetti-fall-right}.confetti-x-0{left:2%}.confetti-x-1{left:7%}.confetti-x-2{left:12%}.confetti-x-3{left:17%}.confetti-x-4{left:22%}.confetti-x-5{left:27%}.confetti-x-6{left:32%}.confetti-x-7{left:37%}.confetti-x-8{left:42%}.confetti-x-9{left:47%}.confetti-x-10{left:52%}.confetti-x-11{left:57%}.confetti-x-12{left:62%}.confetti-x-13{left:67%}.confetti-x-14{left:72%}.confetti-x-15{left:77%}.confetti-x-16{left:82%}.confetti-x-17{left:87%}.confetti-x-18{left:92%}.confetti-x-19{left:97%}.confetti-delay-0{animation-delay:0s}.confetti-delay-1{animation-delay:.45s}.confetti-delay-2{animation-delay:.9s}.confetti-delay-3{animation-delay:1.35s}.confetti-delay-4{animation-delay:1.8s}.confetti-delay-5{animation-delay:2.25s}.confetti-delay-6{animation-delay:2.7s}.confetti-delay-7{animation-delay:3.15s}.confetti-delay-8{animation-delay:3.6s}.confetti-delay-9{animation-delay:4.05s}.confetti-speed-0{animation-duration:4.5s}.confetti-speed-1{animation-duration:5s}.confetti-speed-2{animation-duration:5.5s}.confetti-speed-3{animation-duration:4.8s}.confetti-size-0{width:7px;height:12px}.confetti-size-1{width:9px;height:15px}.confetti-size-2{width:11px;height:11px;border-radius:50%}.confetti-size-3{width:8px;height:17px}.confetti-color-0{background:#f4d58a}.confetti-color-1{background:#df8468}.confetti-color-2{background:#fff4d4}.confetti-color-3{background:#9fcdb0}.confetti-color-4{background:#62a88a}.confetti-color-5{background:#e9b872}@keyframes match-confetti-fall{0%{transform:translate3d(0,-24px,0) rotate(0);opacity:0}5%{opacity:1}82%{opacity:.95}100%{transform:translate3d(0,110vh,0) rotate(900deg);opacity:.25}}@keyframes match-confetti-fall-left{0%{transform:translate3d(0,-24px,0) rotate(0);opacity:0}5%{opacity:1}82%{opacity:.95}100%{transform:translate3d(-90px,110vh,0) rotate(-840deg);opacity:.25}}@keyframes match-confetti-fall-right{0%{transform:translate3d(0,-24px,0) rotate(0);opacity:0}5%{opacity:1}82%{opacity:.95}100%{transform:translate3d(90px,110vh,0) rotate(960deg);opacity:.25}}@keyframes match-confetti-fade{0%,78%{opacity:1}100%{opacity:0}}@media(prefers-reduced-motion:reduce){.match-confetti{display:none}}

.room-play-actions{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.room-play-actions .outline{color:#fff3cc;border-color:#fff3cc80}
@media(max-width:1100px){}@media(max-width:800px){}@media(max-width:800px){.rooms-section{padding:20px 16px;border-radius:12px}}.auth-notice{background:#e7efe0;border:1px solid #cbd8c0;border-radius:7px;padding:11px 13px;color:#48633e;font-size:12px}.verification-card{max-width:410px}.verification-icon{width:58px;height:58px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#e7ecdd;color:#53704a;font-size:25px;margin-bottom:20px}.verification-card h2{font-size:38px;margin:12px 0}.verification-card>p{color:#77826f;font-size:13px}.verification-card .button{margin-top:14px}.verification-actions{display:flex;justify-content:space-between;gap:18px;margin-top:22px}.verification-actions .text-button{padding:6px 0;text-decoration:underline;text-underline-offset:3px}
@media(min-width:801px){.play-area>.waiting-table{min-height:580px;display:flex;flex-direction:column;justify-content:center}}

.room-autostart-button{gap:.3em}

.room-card .room-rule{display:flex;align-items:center;justify-content:space-between;gap:12px}
.room-rule-summary{min-width:0}
.room-details-toggle{margin-left:auto;padding:2px 0;border:0;background:transparent;color:#607b55;font-size:10px;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.room-details-toggle:hover{color:#173f35}
.room-card>.button{margin-top:22px}
.room-card>.host-row+.button{margin-top:0}

.room-card-top h3{margin:0;min-width:0}

.room-join-action{text-align:center;margin-top:22px}
.host-row+.room-join-action{margin-top:0}
.room-join-action .join-room-button{display:inline-block;width:auto;min-width:160px}
.room-join-action .join-room-button:not(:disabled){background:#e1ead9;border-color:#c3d1b9;color:#294d39}
.room-join-action .join-room-button:not(:disabled):hover{background:#d5e2cc}

/* Consolidated lobby room cards */
.rooms-grid{align-items:stretch}
.rooms-section .room-card{display:flex;flex-direction:column;min-height:190px;padding:20px 22px;border-color:#cfd8c7;border-radius:12px;box-shadow:0 5px 16px #2544360a}
.rooms-section .room-card-top{gap:16px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid #e3e8dc}
.rooms-section .room-card-top h3{font:20px/1.25 Georgia,'Times New Roman',serif;color:#173f35}
.rooms-section .room-card-top .pill{flex-shrink:0}
.rooms-section .room-rule{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 13px;border-radius:8px;background:#f1f4eb;color:#6f7969;font-size:10px;line-height:1.5}
.rooms-section .room-rule span{margin:0}
.rooms-section .room-rule .room-rule-summary{flex:1;min-width:0}
.rooms-section .room-rule .room-rule-summary>span{margin:0 5px;color:#9ca494}
.rooms-section .room-details-toggle{flex-shrink:0;margin:0;padding:2px 0;border:0;background:transparent;color:#496a4d;font-size:10px;font-weight:600;text-decoration:none;white-space:nowrap}
.rooms-section .room-details-toggle:after{content:' ›';font-size:13px}
.rooms-section .room-details-toggle[aria-expanded=true]:after{content:' ⌃';font-size:10px}
.rooms-section .room-details-toggle:hover{text-decoration:underline;text-underline-offset:3px}
.rooms-section .host-row{margin:14px 0 0;padding:14px 13px;border:1px solid #e2e7da;border-radius:8px;background:#fafbf6}
.rooms-section .host-row .avatar{width:38px;height:38px}
.rooms-section .room-join-action{margin-top:auto;padding-top:18px;text-align:left}
.rooms-section .host-row+.room-join-action{margin-top:auto;padding-top:16px}
.rooms-section .room-join-action .join-room-button{display:inline-block;width:auto;min-width:180px;padding:10px 22px;border-radius:7px;font-size:11px}
.rooms-section .room-join-action .join-room-button:not(:disabled){background:#dfe9d8;border-color:#b9cab0;color:#234b38;box-shadow:0 2px 5px #2544360b}
.rooms-section .room-join-action .join-room-button:not(:disabled):hover{background:#d1dfc8;border-color:#a9bea0}
@media(max-width:650px){.rooms-section .room-rule{align-items:flex-start;flex-direction:column;gap:7px}.rooms-section .room-details-toggle{align-self:flex-end}.rooms-section .room-join-action .join-room-button{min-width:160px}}

/* Shared site profile menu */
.profile{position:relative}
.profile-menu-wrap{position:relative}
.profile-button{padding:5px 7px;border-radius:8px}
.profile-button:hover,.profile-button[aria-expanded=true]{background:#eef2e8}
.profile-chevron{display:inline-block;width:7px;height:7px;margin:0 3px 0 4px;border-right:1.5px solid #71836d;border-bottom:1.5px solid #71836d;transform:rotate(45deg);transform-origin:center;transition:transform .15s;flex-shrink:0}
.profile-button[aria-expanded=true] .profile-chevron{transform:rotate(225deg)}
.site-profile-menu{position:absolute;right:0;top:calc(100% + 12px);z-index:100;width:270px;padding:8px;border:1px solid #d6dece;border-radius:12px;background:#fffdf7;box-shadow:0 16px 45px #173f3526}
.site-profile-menu:before{content:'';position:absolute;right:23px;top:-6px;width:10px;height:10px;border-left:1px solid #d6dece;border-top:1px solid #d6dece;background:#fffdf7;transform:rotate(45deg)}
.profile-menu-summary{display:flex;align-items:center;gap:11px;padding:10px 10px 13px;border-bottom:1px solid #e5e9df}
.profile-menu-summary strong{display:block;font-size:12px}
.profile-menu-summary small{display:block;margin-top:4px;color:#87917f;font-size:9px}
.profile-menu-section{padding:9px 0 0}
.profile-menu-section>span{display:block;padding:3px 10px 6px;color:#9a9f91;font-size:8px;font-weight:700;letter-spacing:1.4px}
.profile-menu-section button{display:block;width:100%;padding:10px;border:0;border-radius:7px;background:transparent;color:#284a3b;text-align:left}
.profile-menu-section button:hover,.profile-menu-section button:focus-visible{background:#eef2e8}
.profile-menu-section button b{display:block;font-size:11px;font-weight:600}
.profile-menu-section button small{display:block;margin-top:3px;color:#8b9584;font-size:9px}
.profile-menu-session{margin-top:5px;padding-top:6px;border-top:1px solid #e5e9df}
.profile-menu-session button{color:#9a5848}
@media(max-width:500px){.site-profile-menu{position:fixed;top:68px;right:12px;left:12px;width:auto}.site-profile-menu:before{display:none}}

/* Subtle unread chat reminder */
.chat-tab-label{display:inline-block;transform-origin:50% 15%}
#tab-chat.chat-unread .chat-tab-label{color:#a95f4d;font-weight:700}
#tab-chat.chat-ringing .chat-tab-label{animation:chat-tab-ring .9s ease-in-out}
@keyframes chat-tab-ring{0%,100%{transform:rotate(0) scale(1)}14%{transform:rotate(-7deg) scale(1.06)}28%{transform:rotate(7deg) scale(1.08)}43%{transform:rotate(-5deg) scale(1.07)}58%{transform:rotate(5deg) scale(1.06)}73%{transform:rotate(-2.5deg) scale(1.03)}88%{transform:rotate(1.5deg) scale(1.01)}}
@media(prefers-reduced-motion:reduce){#tab-chat.chat-ringing .chat-tab-label{animation:none;text-decoration:underline;text-decoration-color:#78957d;text-underline-offset:3px}}

.score-event{display:flex;align-items:center;justify-content:center;gap:12px;margin:10px auto 0;padding:9px 14px;width:max-content;max-width:calc(100% - 24px);border:1px solid #d4bb78;border-radius:999px;background:#f5e9c8;color:#284a36;font-size:11px}.score-event strong{font-family:Georgia,serif;font-size:13px}.score-event span{color:#65705e}.review-starter>small{display:block;margin-top:8px;color:#75572f;font-weight:600}


.spectator-table .spectator-hands{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:26px 0 18px}.spectator-hands>div{min-width:0;padding:16px;border:1px solid #b5c2a044;border-radius:9px;background:#143c33}.spectator-hands>div>span{display:block;margin-bottom:12px;font-size:10px;letter-spacing:.7px;color:#d4ddc2}.spectator-hands>div>div{display:flex;gap:5px;min-height:74px}.spectator-result{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:22px 0;padding:18px 20px;border:1px solid #d9c48b55;border-radius:8px;background:#f2e9d211}.spectator-result strong{font:26px Georgia,serif;color:#f0e6ca}.spectator-result span{font-size:10px;color:#bfcbae}.spectator-player-info{padding:24px 18px}.spectator-player-info>.eyebrow{display:block;margin-bottom:18px}.spectator-player{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #dfe3d5}.spectator-player h2{font:18px Georgia,serif;margin:0 0 4px}.spectator-player p{margin:0;font-size:10px;color:#839177}.spectator-player-info .rule-note{margin-top:20px}@media(max-width:600px){.spectator-table .spectator-hands{grid-template-columns:1fr}.spectator-hands>div>div{flex-wrap:wrap}.spectator-result{align-items:flex-start;flex-direction:column}}
