:root{--ink:#183f35;--muted:#748078;--cream:#f6f4ed;--gold:#cfaa64;--line:#dfe4da}*{box-sizing:border-box}body{background:var(--cream);color:var(--ink);margin:0;font-family:DM Sans,Arial,sans-serif;font-size:15px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default}button,a,input,select{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-offset:4px;outline:3px solid #c69b50}button{border:0}main{max-width:1600px;margin:auto;padding:0 6%}header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:102px;display:flex}.brand{color:var(--ink);letter-spacing:2px;align-items:center;gap:8px;font-size:19px;font-weight:700;text-decoration:none;display:flex}.brand em{font-style:normal;font-weight:400}.brand-icon{margin-right:8px;font-size:34px}.header-right{letter-spacing:1.5px;align-items:center;gap:10px;font-size:10px;display:flex}.live-dot{background:#608a68;border-radius:100%;width:6px;height:6px}.text-button{color:var(--ink);background:0 0;padding:8px;font-size:12px}.header-right .text-button{letter-spacing:0;margin-left:28px}.text-button span{margin-left:14px}.hero{grid-template-columns:1.25fr 1fr;align-items:center;gap:70px;max-width:1160px;margin:auto;padding:70px 0 60px;display:grid}.eyebrow{letter-spacing:2px;color:#7b886d;font-size:10px;font-weight:600}.intro h1{letter-spacing:-2px;margin:22px 0;font:500 clamp(42px,4.4vw,68px)/1.13 Playfair Display,Georgia,serif}.intro h1 em{color:#68836c;font-weight:500}.intro p{color:#7d867c;font-size:15px;line-height:1.9}.hero-cards{align-items:center;height:180px;margin:30px 0 28px 20px;display:flex}.hero-cards>div{margin-right:-27px}.card{color:#203f36;text-align:left;background:#fffdf8;border:1px solid #deded1;border-radius:9px;flex-shrink:0;width:104px;height:148px;padding:9px;transition:transform .2s,opacity .2s;display:block;position:relative;box-shadow:0 6px 14px #09271c1c}.card>span{flex-direction:column;align-items:center;width:22px;font:600 25px Georgia,serif;display:flex}.card b{font-size:21px;font-weight:400}.card i{font-size:63px;font-style:normal;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.card .corner{position:absolute;bottom:9px;right:8px;transform:rotate(180deg)}.red{color:#bd5748!important}.hero-note{color:#7a8478;align-items:center;gap:13px;font-size:11px;display:flex}.hero-note>span{font-size:22px}.hero-note i{color:#b8beae;font-style:normal}.entry{background:#fffef9;border:1px solid #e0e4d9;border-radius:15px;padding:34px;box-shadow:0 16px 60px #193e3006}.entry-top{letter-spacing:1.4px;color:#8c947f;justify-content:space-between;font-size:9px;display:flex}.entry h2,.panel h2,.modal h2{margin:22px 0 8px;font:500 32px Playfair Display,Georgia,serif}.entry>p,.panel p{color:#81897d;font-size:13px;line-height:1.7}.tabs{background:#f1f2e9;border-radius:7px;margin:25px 0;padding:4px;display:flex}.tabs button{color:#808a7b;background:0 0;border-radius:5px;flex:1;padding:11px 8px;font-size:12px}.tabs button.active{color:var(--ink);background:#fff;font-weight:600;box-shadow:0 2px 5px #12332010}label{margin:19px 0;font-size:11px;font-weight:600;display:block}input,select{width:100%;color:var(--ink);background:#fffefa;border:1px solid #dfe3d7;border-radius:6px;min-height:44px;margin-top:9px;padding:14px 12px;font-size:12px;display:block}input::placeholder{color:#9ba190}.code-input{text-transform:uppercase;letter-spacing:3px}.primary{color:#fffef2;background:#194c3e;border-radius:6px;padding:16px 18px;font-size:12px;font-weight:600;box-shadow:0 3px 4px #12332010}.primary:hover:not(:disabled){background:#28634e}.primary:disabled{opacity:.45}.wide{justify-content:space-between;align-items:center;width:100%;display:flex}.entry-bottom{color:#8a927e;justify-content:center;gap:8px;margin-top:20px;font-size:10px;display:flex}.entry-bottom span{font-size:16px}.steps{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:35px;padding:34px 0 45px;display:grid}.steps>div{align-items:center;gap:18px;display:flex}.steps b{color:#a8b29c;font:italic 27px Playfair Display,Georgia,serif}.steps span{color:#8a927f;font-size:11px;line-height:1.8}.steps strong{color:#425642;font-size:12px;font-weight:500;display:block}footer{border-top:1px solid var(--line);color:#8e9686;justify-content:space-between;align-items:center;padding:22px 0;font-size:10px;display:flex}footer>span:first-child{letter-spacing:1px;color:#55684f}footer small{letter-spacing:0;margin-left:10px;font-size:9px}.game{padding:28px 0 45px}.game-bar{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.room-code{color:var(--ink);letter-spacing:3px;background:0 0;padding:8px 0;font-size:22px;display:block}.room-code small{letter-spacing:0;color:#839078;margin-left:12px;font-size:10px}.score{align-items:center;gap:24px;display:flex}.score span{letter-spacing:1px;align-items:center;gap:10px;font-size:10px;display:flex}.score b{font-size:25px;font-weight:500}.score i{color:#8b9787;font-size:11px;font-style:normal}.table-layout{grid-template-columns:1fr 300px;gap:25px;display:grid}.felt{color:#f5efda;background:radial-gradient(#28624e,#123e33);border:7px solid #dde0d1;border-radius:22px;height:490px;position:relative;overflow:hidden;box-shadow:inset 0 0 70px #081d2430}.felt-ring{pointer-events:none;border:1px solid #b9c59a25;border-radius:45%;position:absolute;inset:39px 60px}.player{text-align:center;z-index:1;flex-direction:column;align-items:center;gap:4px;max-width:135px;display:flex;position:absolute}.avatar{background:#ffffff17;border:1px solid #ffffff25;border-radius:50%;place-items:center;width:38px;height:38px;font-family:Georgia,serif;font-size:19px;display:grid}.player strong{overflow-wrap:anywhere;max-width:130px;font-size:11px}.player small{color:#a0b4a1;font-size:9px}.player .card-count{color:#b3c4ae;font-size:9px}.pos-0{bottom:23px;left:50%;transform:translate(-50%)}.pos-1{top:50%;left:22px;transform:translateY(-50%)}.pos-2{top:18px;left:50%;transform:translate(-50%)}.pos-3{top:50%;right:22px;transform:translateY(-50%)}.turn .avatar{border:2px solid #e6c382;box-shadow:0 0 0 5px #e6c3821a}.turn strong{color:#edd49e}.table-center{text-align:center;width:60%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.table-mark{color:#c7d0aa40;font-size:52px}.table-center h2{margin:6px;font:500 25px Georgia,serif}.table-center p{color:#b6c8b5;font-size:12px}.invite-hint{color:#9cb599;font-size:10px}.felt-foot{letter-spacing:2px;color:#8cae914d;font-size:8px;position:absolute;bottom:10px;left:15px}.contract{color:#eddbb6;margin-bottom:12px;font-family:Georgia,serif;font-size:22px}.trick-cards{justify-content:center;align-items:center;gap:8px;min-height:100px;display:flex}.trick-cards:empty{display:none}.card.small{border-radius:5px;width:62px;height:90px;padding:5px}.card.small>span{width:14px;font-size:16px}.card.small b{font-size:12px}.card.small i{font-size:35px}.card.small .corner{bottom:5px;right:5px}.trick-cards small{color:#b8c6af;max-width:62px;margin-top:8px;font-size:9px;display:block;overflow:hidden}.panel{border:1px solid var(--line);background:#fffdf7;border-radius:12px;flex-direction:column;padding:25px;display:flex}.panel h2{margin-top:14px;font-size:25px}.team-box{background:#f3f4eb;border-radius:7px;gap:7px;margin:10px 0;padding:13px;font-size:12px;display:grid}.team-box b{color:#859177;font-size:10px;font-weight:500}.panel .primary{margin-top:12px}.connection{color:#7b9470;margin-top:auto;padding-top:22px;font-size:9px}.connection.offline{color:#bc704e}.mini-rule{color:#95a08b;margin-top:25px;font-size:10px;line-height:1.8}.suit-choices{gap:8px;display:flex}.suit-choices button{width:25%;color:var(--ink);background:#f2f2e8;border:1px solid #0000;border-radius:6px;padding:5px;font-size:29px}.suit-choices button.chosen{background:#fff8e8;border-color:#b99c5f}.actions{gap:10px;margin-top:10px;display:flex}.actions button{color:var(--ink);background:#fffefa;border:1px solid #dae1d2;border-radius:5px;flex:1;padding:12px;font-size:11px}.hand-area{margin-top:25px}.hand-title{color:#76866c;letter-spacing:1px;justify-content:space-between;margin-bottom:20px;font-size:10px;display:flex}.hand-title b{letter-spacing:0;background:#e5e9dc;margin-left:8px;padding:4px 7px;font-size:9px;font-weight:400}.hand-title small{letter-spacing:0}.hand{justify-content:center;gap:12px;min-height:180px;padding:15px 6px 20px;display:flex;overflow-x:auto}.hand .card.selected{outline:3px solid #c4a15a;transform:translateY(-13px)}.checkbox{align-items:center;gap:9px;line-height:1.5;display:flex}.checkbox input{width:18px;height:18px;min-height:18px;margin:0;padding:0}.result{justify-content:space-between;padding:20px 0;font-size:12px;display:flex}.result b{margin-top:8px;font-size:25px;display:block}.panel h3{font:500 23px Georgia,serif}details{color:#6f7f63;margin-top:20px;font-size:11px;line-height:1.7}summary{cursor:pointer}.error{color:#fff;z-index:20;background:#9c4737;border-radius:8px;max-width:90vw;padding:15px 20px;font-size:13px;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 25px #0002}.error button{color:#fff;background:0 0;margin-left:20px}.modal-backdrop{z-index:30;background:#071e19a8;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:#fffef6;border-radius:16px;max-width:600px;max-height:85vh;padding:35px;position:relative;overflow:auto}.modal p{color:#6e7f65;font-size:13px;line-height:1.8}.modal h3{margin-top:25px;font-size:15px}.close{color:var(--ink);background:0 0;font-size:25px;position:absolute;top:13px;right:18px}@media (width>=1400px){.hero{padding-top:90px;padding-bottom:85px}.hero-cards{margin-top:40px}}@media (width<=1000px){main{padding:0 4%}.hero{gap:35px}.entry{padding:25px}.table-layout{grid-template-columns:1fr 260px;gap:15px}.felt{height:460px}.player{max-width:90px}.pos-1{left:12px}.pos-3{right:12px}.hand{gap:8px}.hand .card{width:86px;height:125px}.trick-cards{gap:4px}.card.small{width:48px;height:74px}.card.small .corner{display:none}.panel{padding:18px}}@media (width<=720px){header{height:75px}.brand{letter-spacing:1px;font-size:14px}.brand-icon{margin-right:1px;font-size:27px}.header-right{gap:0;font-size:0}.header-right .text-button{margin:0;font-size:11px}.hero{flex-direction:column;align-items:stretch;gap:30px;padding:38px 0 30px;display:flex}.intro{text-align:center}.intro h1{letter-spacing:-1.5px;margin:18px 0;font-size:45px}.intro p{font-size:13px}.hero-cards{justify-content:center;height:140px;margin:20px 25px 18px 0}.hero-cards .card{width:80px;height:116px}.hero-cards .card i{font-size:45px}.hero-cards .card>span{width:15px;font-size:20px}.hero-cards .card b{font-size:15px}.hero-note{justify-content:center;font-size:10px}.entry{align-self:center;width:100%;max-width:450px}.steps{grid-template-columns:1fr;gap:18px;padding:25px 0}.steps>div{justify-content:flex-start;padding-left:10px}.steps b{font-size:23px}.steps strong{font-size:12px}.steps span{font-size:11px}footer>span:nth-child(2){display:none}.game-bar{flex-wrap:wrap;gap:10px}.score{gap:12px}.score b{font-size:19px}.score span{gap:5px;font-size:9px}.room-code{font-size:17px}.room-code small{display:none}.table-layout{flex-direction:column;display:flex}.felt{border-width:4px;border-radius:15px;height:400px}.table-center{width:60%}.table-center h2{font-size:20px}.table-center p{font-size:10px}.player strong{font-size:9px}.player small{font-size:8px}.avatar{width:30px;height:30px;font-size:15px}.pos-1{max-width:70px;left:8px}.pos-3{max-width:70px;right:8px}.contract{font-size:19px}.felt-ring{inset:40px 25px}.trick-cards{gap:3px}.card.small{width:44px;height:68px}.card.small>span{font-size:14px}.card.small i{font-size:26px}.panel h2{margin:8px 0;font-size:24px}.panel{padding:20px}.panel p{margin:8px 0}.panel .connection{padding-top:12px}.panel .mini-rule{margin-top:12px}.team-box{gap:15px;margin:6px 0;display:flex}.hand-title{letter-spacing:.5px;font-size:9px}.hand-title small{display:none}.hand{justify-content:flex-start;gap:6px;min-height:130px}.hand .card{width:65px;height:96px}.hand .card>span{width:14px;font-size:18px}.hand .card b{font-size:14px}.hand .card i{font-size:39px}.hand .card .corner{bottom:6px;right:5px}.hand-area{margin-top:18px}.modal{padding:25px}.modal h2{font-size:27px}}.card{appearance:none;vertical-align:top;color:#203f36;padding:0;line-height:normal;display:block}.card>span{flex-direction:column;align-items:center;width:23px;margin:0;line-height:1;display:flex;position:absolute;top:8px;left:8px}.card .corner{inset:auto 8px 8px auto}.card i{margin:0;line-height:1;display:block;top:50%;left:50%}.card.small>span{width:14px;top:5px;left:5px}.card.small .corner{inset:auto 5px 5px auto}.hand .card:disabled{opacity:1;filter:none}.hero-cards .card:disabled{opacity:1}.hand{justify-content:center;align-items:flex-start;gap:10px;min-height:185px;padding-top:16px;overflow-x:auto}.hand-card{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;flex-shrink:0;position:relative}.hand-card:active{cursor:grabbing}.hand-card .card{touch-action:none}.dim-illegal .illegal .card{opacity:.4;filter:saturate(.3)}.hand .card:not(:disabled):hover{transform:none}.hand .card.selected{transform:translateY(-10px)}.reorder-buttons{opacity:.5;justify-content:space-between;margin-top:5px;display:flex}.reorder-buttons button{color:#637a60;background:0 0;min-height:24px;padding:0 12px;font-size:18px}.reorder-buttons button:disabled{opacity:.2}.hand-title{align-items:center;margin-bottom:0}.dim-option{letter-spacing:0;align-items:center;gap:7px;margin:0;font-size:11px;font-weight:400;display:flex}.dim-option input{width:16px;height:16px;min-height:16px;margin:0;padding:0}.hand-help{color:#7a8972;margin:10px 0 0;font-size:11px}.pos-1{left:auto;right:22px}.pos-3{left:22px;right:auto}.avatar{color:inherit;min-height:38px;padding:0}.avatar:disabled{opacity:1}.avatar:not(:disabled){color:#183f35;cursor:pointer;background:#e6c382;box-shadow:0 0 0 5px #e6c38222}.last-announcement{color:#f4d89f;min-height:16px;font-size:11px;font-weight:600;display:block}.table-center{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;width:58%;height:62%;display:flex}.table-center .contract{width:100%;margin:0;font-size:18px;position:absolute;top:0}.table-center>p:last-child{max-width:100%;font-size:11px;position:absolute;bottom:-8px}.trick-cards{min-height:0;display:block;position:absolute;inset:30px 0}.played-card{flex-direction:column;align-items:center;gap:2px;display:flex;position:absolute}.played-0{bottom:0;left:50%;transform:translate(-50%)}.played-1{top:50%;right:0;transform:translateY(-50%)}.played-2{top:0;left:50%;transform:translate(-50%)}.played-3{top:50%;left:0;transform:translateY(-50%)}.trick-cards small{display:none}.direction{color:#b6c8a5;font-size:10px;position:absolute;bottom:12px;right:15px}.pause-banner{color:#3e4d31;z-index:3;text-align:center;background:#f2d6a7;border-radius:6px;width:max-content;max-width:95%;padding:6px 12px;font-size:10px;position:absolute;top:7px;left:50%;transform:translate(-50%)}@media (width<=1000px){.pos-1{left:auto;right:12px}.pos-3{left:12px;right:auto}.hand{gap:7px}}@media (width<=720px){.pos-1{left:auto;right:8px}.pos-3{left:8px;right:auto}.avatar{min-height:30px}.table-center{width:55%;height:64%}.table-center .contract{font-size:15px}.card.small>span{top:4px;left:4px}.hand{justify-content:safe center;gap:6px;min-height:150px}.hand .card>span{width:14px;top:6px;left:5px}.hand .card .corner{inset:auto 5px 6px auto}.dim-option{max-width:170px;font-size:10px}.hand-title{gap:8px}.last-announcement,.table-center>p:last-child{font-size:9px}.direction{font-size:8px}.felt-foot{font-size:7px}.hand-area{margin-top:15px}.table-layout{display:contents}.felt{margin-bottom:18px}.panel{margin-bottom:12px}}.felt .table-center{pointer-events:none;width:auto;height:auto;inset:115px 130px;transform:none}.felt .table-center .trick-cards{min-height:0;inset:0}.felt .table-center>p:last-child{max-width:100%;font-size:12px;position:static}.contract-summary{background:#f0f2e7;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin:10px 0;padding:12px;display:flex}.contract-summary small{letter-spacing:1px;color:#7b876c;font-size:9px}.contract-summary strong{font-family:Georgia,serif;font-size:22px}.turn-message{padding:8px 0;font-weight:600;color:#345742!important}.hand{min-height:190px;padding:18px 12px 24px;overflow-y:hidden}.hand-card{height:auto}.hand-card .card{margin:0}.hand-help{line-height:1.6}.hand-title{flex-wrap:wrap;gap:10px}.drag-ghost,.flying-card{z-index:80;pointer-events:none;filter:drop-shadow(0 12px 14px #0005);position:fixed}.drag-ghost{transform:translate(-50%,-65%)rotate(-5deg)}.drag-ghost .card{opacity:1!important}.flying-card{animation:.35s cubic-bezier(.15,.7,.25,1) both card-throw;top:0;left:0}@keyframes card-throw{0%{transform:translate(calc(var(--from-x) - 52px),calc(var(--from-y) - 74px)) rotate(-8deg)}to{transform:translate(calc(var(--to-x) - 52px),calc(var(--to-y) - 74px)) scale(.65) rotate(var(--landing-angle,0deg))}}.avatar{overflow:hidden}.avatar svg{width:100%;height:100%;display:block}.emoji-avatar{place-items:center;width:100%;height:100%;font:26px/1 sans-serif;display:grid}.profile-trigger{color:#345542;background:#f1f2e9;border-radius:9px;align-items:center;gap:12px;padding:8px 12px;font-size:12px;display:flex}.profile-trigger>svg,.profile-trigger>.emoji-avatar{border-radius:50%;width:32px;height:32px}.avatar-options{grid-template-columns:repeat(5,1fr);gap:12px;margin-top:20px;display:grid}.avatar-options button{background:#e9eddf;border-radius:50%;width:54px;height:54px;padding:0;overflow:hidden}.avatar-options svg{width:100%;height:100%}.avatar-options .emoji-avatar{font-size:32px}.avatar-popover{z-index:90;background:#fffdf6;border-radius:12px;padding:22px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.avatar-popover>button{color:#244532;background:#e5eadc;padding:8px}.game.table-full{z-index:50;color:#f4efdc;background:#123e33;grid-template-rows:auto minmax(260px,1fr) auto;grid-template-columns:minmax(0,1fr) 260px;gap:10px;max-width:none;height:100dvh;min-height:100dvh;margin:0;padding:10px 18px;display:grid;position:fixed;inset:0;overflow:auto}.table-full .game-bar{grid-column:1/-1;min-height:45px;margin:0}.table-full .room-code,.table-full .game-bar .text-button{color:#eee3c4}.table-full .game-bar .eyebrow{display:none}.table-full .score i{color:#adc3ad}.table-full .table-layout{display:contents}.table-full .felt{border:1px solid #789b7355;grid-area:2/1;height:100%;min-height:290px;margin:0}.table-full .panel{color:#183f35;grid-area:2/2/4;margin:0;padding:18px;overflow:auto}.table-full .hand-area{grid-area:3/1;margin:0;padding:0 10px}.table-full .hand-title,.table-full .hand-help{color:#c3d0b7}.table-full .hand-title b{color:#34563e}.table-full .hand{min-height:170px;padding:12px 12px 10px}.table-full .hand-help{margin:4px 0 0;font-size:10px}.table-full .hand .card{width:90px;height:128px}.table-full .hand .card i{font-size:48px}@media (width<=1000px){.felt .table-center{inset:110px 105px}.hand{min-height:160px}.game.table-full{grid-template-columns:minmax(0,1fr) 225px}.table-full .hand .card{width:70px;height:100px}.table-full .hand{min-height:135px}}@media (width<=720px){.felt .table-center{inset:105px 78px}.hand{min-height:135px;padding:15px 8px 20px}.avatar-options{gap:8px}.avatar-options button{width:43px;height:43px}.emoji-avatar{font-size:23px}.game.table-full{flex-direction:column;gap:8px;height:100dvh;min-height:0;padding:8px;display:flex}.table-full .game-bar{flex:none;gap:3px;min-height:0;margin:0}.table-full .game-bar .text-button{padding:6px;font-size:10px}.table-full .room-code{padding:3px;font-size:12px}.table-full .score{gap:9px}.table-full .score b{font-size:16px}.table-full .table-layout{display:contents}.table-full .felt{flex:1 0 300px;order:1;min-height:300px}.table-full .felt .table-center{inset:85px 75px}.table-full .panel{flex:none;order:3;max-height:220px;padding:12px}.table-full .panel h2{font-size:18px}.table-full .panel .mini-rule,.table-full .panel .connection{display:none}.table-full .hand-area{flex:none;order:2;padding:0}.table-full .hand .card{width:58px;height:83px}.table-full .hand .card i{font-size:32px}.table-full .hand{gap:5px;min-height:104px;padding:10px 5px}.table-full .hand-title{font-size:8px}.table-full .hand-help{display:none}.table-full .dim-option{font-size:9px}.table-full .contract-summary{margin:3px 0;padding:6px 10px}.table-full .contract-summary strong{font-size:17px}.table-full .turn-message{margin:3px 0;padding:0}.table-full .panel p{font-size:11px}.table-full .panel .primary{margin:4px 0;padding:10px}.table-full .panel .actions{margin-top:5px}.table-full .panel label{margin:8px 0}.table-full .panel select{min-height:36px;padding:8px}.table-full .panel .suit-choices button{padding:2px;font-size:24px}}.being-dragged>.card{opacity:.28!important}.card{-webkit-user-select:none;user-select:none}.hand-card:focus-within>.card{outline-offset:2px;outline:2px solid #d3b371}@media (prefers-reduced-motion:reduce){.flying-card{animation-duration:1ms!important}.card{transition:none}}.card.suit-H,.suit-choices .suit-H{color:#c62828!important}.card.suit-S,.suit-choices .suit-S{color:#171717!important}.card.suit-D,.suit-choices .suit-D{color:#b45309!important}.card.suit-C,.suit-choices .suit-C{color:#1a6c3b!important}.exclude-player{color:#d7c9ac;background:#ffffff0a;border:1px solid #ead9b540;border-radius:5px;padding:2px 7px;font-size:9px;line-height:1.3}.exclude-player:hover{background:#fff2}.player{gap:3px}.last-announcement{line-height:1.25}.bid-composer{color:#283e35;background:#f5edda;border:2px solid #c7a56a;border-radius:16px;margin:14px 0;padding:14px}.bid-composer .eyebrow{margin-bottom:10px;font-size:10px}.bid-toggle{text-align:left;background:#fff;border:1px solid #ad9469;border-radius:10px;justify-content:space-between;align-items:center;width:100%;padding:12px;display:flex}.bid-toggle small{color:#6b695c;font-size:11px;display:block}.bid-toggle strong{color:#213c32;font-size:25px;display:block}.bid-options{grid-template-columns:repeat(5,1fr);gap:5px;margin:8px 0;display:grid}.bid-options button{background:#fff;border:1px solid #c6b999;border-radius:6px;padding:9px 2px}.bid-options button.chosen{color:#fff;background:#244d3c;border-color:#244d3c}.bid-composer label{margin-top:12px}.bid-composer .suit-choices button{flex-direction:column;align-items:center;padding:7px 2px;display:flex}.bid-composer .suit-choices small{font-family:inherit;font-size:10px}.bid-hint{line-height:1.4;font-size:12px!important}.undo-button{width:100%;color:inherit;background:0 0;border:1px solid #b9ab90;border-radius:8px;margin-top:18px;padding:10px}.undo-button:disabled{opacity:.4;cursor:not-allowed}.flow-arrow{color:#d9ceaa;opacity:.45;font-family:Arial,sans-serif;font-size:25px;line-height:1;position:absolute}.flow-top{top:-13px;left:35%}.flow-bottom{bottom:-12px;right:35%}.flow-left{top:35%;left:-9px}.flow-right{bottom:35%;right:-9px}.felt-ring{pointer-events:none}.table-flow{pointer-events:none;color:#e3d8ae;width:calc(100% - 80px);height:calc(100% - 60px);position:absolute;inset:30px 40px;overflow:visible}.table-flow ellipse{fill:none;stroke:currentColor;stroke-width:.2px;opacity:.23}.table-flow>path{fill:none;stroke:currentColor;stroke-width:.6px;opacity:.75}.player .exclude-player{color:#e7d6b2;background:#143a31;border:1px solid #c9ad7566;border-radius:20px;order:-1;margin:0 auto 5px;padding:3px 8px;font-size:10px;line-height:1.2;display:block;position:static}.player{flex-direction:column;align-items:center;display:flex}.contract-summary.our-contract{border:3px solid;border-radius:12px;padding:13px}.contract-summary small{line-height:1.5}.bid-prompt{margin:4px 0 10px!important;font-size:13px!important}.bid-options button{min-height:42px;font-size:16px;font-weight:700}.trick-count{border-bottom:1px solid #b9aa8d44;justify-content:space-between;gap:12px;padding:14px 0;display:flex}.trick-count b{color:#275b43;font-size:23px}.last-trick{margin:18px 0}.last-trick-table{background:#174a3d;border:1px solid #b7a473;border-radius:45%;max-width:210px;height:150px;margin:8px auto;position:relative}.mini-played{position:absolute}.mini-played .card.small{border-radius:4px;min-width:0;box-shadow:0 2px 5px #0004;width:38px!important;height:52px!important;padding:3px!important}.mini-played .card>span{line-height:1;font-size:12px!important}.mini-played .card>span b{font-size:12px!important}.mini-played .card i{font-size:20px!important}.mini-played .card .corner{display:none}.mini-pos-0{bottom:7px;left:calc(50% - 19px)}.mini-pos-1{top:49px;left:20px;transform:rotate(-12deg)}.mini-pos-2{top:7px;left:calc(50% - 19px)}.mini-pos-3{top:49px;right:20px;transform:rotate(12deg)}.speech-history{margin:18px 0}.speech-scroll{max-height:200px;padding:4px 2px;overflow:auto}.speech-scroll p{justify-content:space-between;gap:8px;display:flex;margin:7px 0!important;font-size:13px!important}.speech-scroll small{font-size:10px}.speech-scroll b{white-space:nowrap}.mini-visio{border-top:1px solid #b9aa8d66;margin-top:18px;padding-top:14px}.visio-heading{justify-content:space-between;align-items:center;margin-bottom:9px;font-size:13px;display:flex}.visio-heading span{opacity:.65;font-size:10px}.visio-grid{grid-template-columns:1fr 1fr;gap:7px;display:grid}.visio-tile{aspect-ratio:4/3;color:#f9f1db;background:#17362d;border:1px solid #bda97855;border-radius:10px;position:relative;overflow:hidden}.visio-tile video{object-fit:cover;width:100%;height:100%}.local-video video{transform:scaleX(-1)}.video-placeholder{background:linear-gradient(130deg,#2e5948,#122d26);place-items:center;font:26px Georgia,serif;display:grid;position:absolute;inset:0}.video-name{pointer-events:none;text-overflow:ellipsis;white-space:nowrap;background:#0009;padding:5px;font-size:10px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.camera-overlay{cursor:pointer;border-radius:10px;width:100%;height:100%;background:0 0!important;border:0!important;padding:0!important;position:absolute!important;inset:0!important}.camera-overlay:focus-visible{outline-offset:-4px;outline:3px solid #dfc48b}.visio-controls{flex-wrap:wrap;gap:6px;margin-top:9px;display:flex}.visio-controls button{color:#294336;background:#fff8e8;border:1px solid #a5987a;border-radius:7px;padding:7px 8px!important;font-size:11px!important}.mini-visio>small{margin-top:7px;font-size:10px;line-height:1.4;display:block}.visio-error{color:#a33126;overflow-wrap:anywhere;font-size:11px!important}.enable-play{z-index:2;font-size:10px;position:absolute;top:4px;left:4px;padding:4px!important}.table-full .mini-visio{margin-bottom:12px}@media (width<=600px){.table-flow{width:calc(100% - 40px);inset:30px 20px}.player .exclude-player{padding:2px 6px;font-size:9px}}.mini-pos-1{left:auto;right:20px;transform:rotate(12deg)}.mini-pos-3{left:20px;right:auto;transform:rotate(-12deg)}.panel>.mini-visio{border-top:0;border-bottom:1px solid #b9aa8d66;margin:0 0 22px;padding:0 0 16px}.last-trick{position:relative}.peek-trick{color:#294336;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#fff8e8;border:1px solid #a5987a;border-radius:8px;width:100%;padding:11px}.peek-trick[aria-expanded=true]{color:#fff;background:#214c3c}.last-trick-table{z-index:10;pointer-events:none;width:210px;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0005}.open-rooms{border:1px solid #d9d5ca;border-radius:16px;max-width:1100px;margin:0 auto 48px;padding:28px}.open-rooms h2{margin:8px 0}.open-rooms p{color:#686b64}.room-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.room-list button{text-align:left;background:#fffdf7;border:1px solid #d9d5ca;border-radius:12px;align-items:center;gap:18px;padding:18px;display:flex}.room-list button strong{letter-spacing:3px;color:#244d3c;font-size:28px}.room-list button span{flex:1}.room-list small{margin-top:5px;font-size:11px;display:block}.room-list button:disabled{opacity:.55}.draw-board{z-index:3;width:54%;height:48%;position:absolute;top:24%;left:23%}.draw-card{color:#ead8a8;background:repeating-linear-gradient(45deg,#284a69 0 3px,#365d7d 3px 5px);border:2px solid #eee3bd;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;width:12%;height:27%;padding:2px;display:flex;position:absolute;box-shadow:0 3px 7px #0005}.draw-card:not(:disabled):hover{z-index:5;outline:3px solid #e8bf71}.draw-card:disabled{opacity:1}.draw-card.revealed{z-index:4;background:#fffdf4}.draw-card.revealed span{font-size:clamp(10px,1.5vw,18px);font-weight:700}.draw-card.revealed b{font-size:22px}.draw-results p{background:#f4f1e9;border-radius:8px;justify-content:space-between;padding:12px;display:flex}.draw-results span{font-size:24px;font-weight:700}.starter-options{gap:8px;display:grid}.starter-options button{text-align:left;background:#f5f7ef;border:1px solid #c9d3c6;border-radius:8px;padding:12px}@media (width<=600px){.open-rooms{margin:0 16px 28px;padding:18px}.draw-board{width:62%;height:40%;top:29%;left:19%}.draw-card{border-width:1px}.draw-card.revealed b{font-size:16px}}.lobby-start{border-bottom:1px solid #dedace;margin-bottom:20px;padding-bottom:20px}.lobby-start h2{margin-top:0}.seat-options{grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;display:grid}.seat-options button{text-align:left;background:#f7f5eb;border:1px solid #d3d6c9;border-radius:8px;padding:10px}.seat-options span{margin-top:5px;font-size:12px;display:block}.seat-options button:disabled{opacity:.75}.player{z-index:5}.draw-card{aspect-ratio:5/7;appearance:none;width:12%;min-width:0;height:auto;min-height:0;overflow:hidden}.draw-card.revealed.suit-H{color:#c62828}.draw-card.revealed.suit-S{color:#171717}.draw-card.revealed.suit-D{color:#b45309}.draw-card.revealed.suit-C{color:#1a6c3b}.draw-card.revealed span{font-size:clamp(9px,1vw,14px);line-height:1;position:absolute;top:3px;left:3px}.draw-card.revealed b{margin-top:10px;font-size:clamp(16px,2vw,26px);line-height:1}.panel,.bid-composer{min-width:0}.bid-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.bid-options button{width:100%;min-width:0;padding:8px 3px;font-size:14px}.suit-choices{gap:5px}.suit-choices button{flex:1;min-width:0;padding:5px 2px}.suit-choices small{font-size:9px}.player-history{color:#f4d89f;scrollbar-width:thin;width:100%;min-width:64px;max-height:54px;font-size:10px;line-height:1.4;overflow-y:auto}.player-history>div{flex-direction:column;gap:1px;display:flex}.player-history span{white-space:nowrap;display:block}.player-history span:first-child{font-weight:700}.hand-title{justify-content:flex-end}.app-version{letter-spacing:0;color:#425642;white-space:nowrap;background:#e8ecdf;border-radius:5px;padding:5px 7px;font:500 11px Arial,sans-serif}.open-rooms{margin:24px auto 0}.room-list{max-height:240px;overflow:auto}.hero{padding-top:40px}@media (width<=720px){.app-version{padding:4px;font-size:9px}.brand{gap:4px}.open-rooms{margin:18px 0 0}.player-history{max-height:43px;font-size:9px}.draw-card.revealed span{top:2px;left:2px}.draw-card.revealed b{margin-top:8px}}.hero{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start}.hero>.open-rooms{width:100%;margin:0;padding:24px}.hero .room-list{flex-direction:column;max-height:540px;display:flex}.hero .room-list button{flex-shrink:0;width:100%}.table-layout{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) 300px;align-items:start}.game:not(.table-full) .table-layout>.felt{grid-area:1/1}.game:not(.table-full) .table-layout>.panel{grid-area:1/2/3}.game:not(.table-full) .table-layout>.hand-area{grid-area:2/1;min-width:0;margin-top:12px}.avatar{padding:0;overflow:hidden}.avatar video{object-fit:cover;width:100%;height:100%}.avatar .enable-play{display:none}.add-robot{color:#fff2ce;background:#204b3e;border:1px solid #d8be80;border-radius:5px;padding:5px;font-size:10px}.robot-settings{width:460px}.robot-settings input[type=range]{padding:0}.robot-settings p{font-size:13px}@media (width<=1000px){.table-layout{grid-template-columns:minmax(0,1fr) 260px}}@media (width<=720px){.hero{display:flex}.table-layout{flex-direction:column;display:flex}.game:not(.table-full) .table-layout>.felt{order:0;width:100%}.game:not(.table-full) .table-layout>.hand-area{order:1;width:100%}.game:not(.table-full) .table-layout>.panel{order:2;width:100%}.table-full .table-layout{display:contents}.hand-area,.table-full .hand-area{min-width:0;max-width:100%}.hand,.table-full .hand{justify-content:center;gap:3px;width:100%;min-height:0;padding:8px 1px 12px;display:flex;overflow:visible}.hand .hand-card,.table-full .hand .hand-card{border-radius:6px;flex:0 calc(12.5% - 2.625px);width:calc(12.5% - 2.625px);min-width:0;max-width:44px;overflow:hidden;box-shadow:0 2px 5px #0002}.hand .hand-card .card,.table-full .hand .hand-card .card{aspect-ratio:5/7;width:200%;min-width:0;height:auto;box-shadow:none;border-radius:6px;transform:none}.hand .hand-card .card>span,.table-full .hand .hand-card .card>span{width:20px;font-size:clamp(17px,5vw,24px);top:5px;left:4px}.hand .hand-card .card b{font-size:clamp(15px,4.5vw,21px)}.hand .hand-card .card.selected{outline-offset:-3px;background:#fff1ce;outline:3px solid #c4a15a}.hand .hand-card:focus-within>.card{outline-offset:-3px}}@media (width>=721px){.game:not(.table-full) .table-layout{grid-template-rows:490px auto}.game:not(.table-full) .table-layout>.hand-area{align-self:start}}@media (width>=721px) and (width<=1000px){.game:not(.table-full) .table-layout{grid-template-rows:460px auto}}.inactivity-alert{color:#6a4711;background:#fff0cc;border:1px solid #dba848;border-radius:10px;justify-content:space-between;align-items:center;gap:15px;margin:0 0 18px;padding:16px 20px;display:flex}.inactivity-alert p{margin:6px 0 0;font-size:12px}.closing-room{color:#96540b;font-weight:700}.table-full .inactivity-alert{z-index:25;grid-area:auto/1/auto/-1;margin:0;position:fixed;top:8px;left:5%;right:5%;box-shadow:0 4px 24px #0005}@media (width<=720px){.inactivity-alert{flex-direction:column;align-items:stretch;padding:12px}.inactivity-alert .primary{padding:10px}}.admin-inspection{width:95vw;max-width:980px}.inspection-cards{flex-wrap:wrap;justify-content:center;gap:10px;padding:14px 0;display:flex}.inspection-cards .card{width:80px;height:112px}.inspection-cards .card i{font-size:40px}.inspection-cards .card>span{width:18px;font-size:19px}.inspection-cards .card b{font-size:16px}.game.table-full>.game-bar{order:0;grid-area:1/1/auto/-1}@media (width>=721px){.game.table-full{grid-template-rows:auto minmax(300px,1fr) auto;grid-template-columns:minmax(0,1fr) clamp(260px,22vw,340px);align-content:stretch;align-items:stretch}.game.table-full .table-layout>.felt{grid-area:2/1;align-self:stretch;height:100%;min-height:0;margin:0}.game.table-full .table-layout>.hand-area{grid-area:3/1;align-self:start;min-width:0;margin:0}.game.table-full .table-layout>.panel{grid-area:2/2/4;align-self:stretch;height:100%;min-height:0;max-height:100%;overflow-y:auto}}@media (width<=720px){.game.table-full .table-layout>.felt{order:1}.game.table-full .table-layout>.hand-area{order:2}.game.table-full .table-layout>.panel{order:3}}.camera-avatar-choice{max-width:360px;margin:18px 0 8px}.camera-avatar-choice p{color:#64735d;font-size:12px;line-height:1.5}.avatar-popover .camera-avatar-choice .primary{color:#fff;background:#194c3e}.table-cameras-toggle[aria-pressed=true]{background:#d1b67533;border-radius:6px}.game-bar>div:last-child{flex-wrap:wrap;justify-content:flex-end;gap:3px;max-width:55%;display:flex}@media (width<=720px){.game-bar>div:last-child{max-width:100%}}.player .avatar.camera-large{border-radius:16px;flex-shrink:0;width:85px;height:85px;min-height:85px}.player-history{text-align:center;overscroll-behavior:contain;flex-shrink:0;width:100px;max-width:100%;height:48px;max-height:48px;overflow:auto}.player-history>div{gap:2px;width:100%}.player-history span{white-space:normal;overflow-wrap:anywhere;line-height:14px}.player-history span small{opacity:.7;color:inherit;font-size:8px}.player.pos-0{bottom:22px}.player.pos-2{top:8px}.player.pos-1{left:auto;right:12px}.player.pos-3{left:12px;right:auto}.hand .hand-card .card:not(.selected):hover,.hand .hand-card .card:not(.selected){transform:none}.game .felt .table-center{width:min(230px,46%);height:190px;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.game .felt .table-center .trick-cards{inset:0}.played-card>.card{transform:rotate(var(--card-angle,0deg))}.audit-backdrop{z-index:110}.audit-modal{color:#183f35;width:min(850px,95vw);max-width:850px}.audit-events pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px}.audit-events details{border-bottom:1px solid #d7dfd3;padding-bottom:8px}.round-review{z-index:100;color:#fff8df;isolation:isolate;background:radial-gradient(#28624e,#0b2c24);position:fixed;inset:0;overflow:hidden}.review-camera{background:#193f34;border:1px solid #c6b47e55;border-radius:12px;place-items:center;width:30vw;height:30dvh;display:grid;position:absolute;overflow:hidden}.review-camera-0{bottom:0;left:0}.review-camera-1{top:0;left:0}.review-camera-2{top:0;right:0}.review-camera-3{bottom:0;right:0}.review-camera video{object-fit:cover;width:100%;height:100%}.review-camera>svg{max-width:70%;height:70%}.review-camera>.emoji-avatar{font-size:50px}.review-camera>b{text-align:center;background:#0008;padding:6px;font-size:12px;position:absolute;bottom:0;left:0;right:0}.review-camera .enable-play{z-index:2}.review-heading{text-align:center;position:absolute;top:3dvh;left:31%;right:31%}.review-heading h2{margin:8px 0;font:500 clamp(17px,2.5vw,32px) Georgia,serif}.review-heading p{font-size:13px;line-height:1.5}.review-heading small{letter-spacing:2px;font-size:10px}.review-teams{grid-template-rows:1fr 1fr;gap:10px;display:grid;position:absolute;inset:31dvh 3%;overflow:auto}.review-team{background:#102f2780;border:1px solid #c6b47e55;border-radius:10px;align-items:center;gap:16px;min-height:95px;padding:8px 14px;display:flex}.review-team-score{flex-direction:column;gap:5px;min-width:170px;font-size:12px;display:flex}.review-team-score>strong{font-size:18px}.review-tricks{flex:1;align-items:center;gap:14px;min-width:0;display:flex}.review-trick{text-align:center;flex:1;min-width:0;max-width:105px}.review-trick>div{padding-right:15px;display:flex}.review-trick .card.small{aspect-ratio:5/7;border-radius:3px;flex-shrink:0;width:36px;height:auto;margin-right:-15px;box-shadow:0 1px 4px #0003}.review-trick .card.small>span{width:12px;font-size:12px;top:3px;left:2px}.review-trick .card.small b{font-size:10px}.review-trick .card.small i{font-size:20px}.review-trick .card.small .corner{display:none}.review-trick small{margin-top:4px;font-size:10px;display:block}.review-footer{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;bottom:3dvh;left:31%;right:31%}.review-footer p{margin:0;font-size:12px}.review-footer .primary{color:#123e33;background:#e0be7d;min-width:100px}.review-footer .text-button{color:#f5e5bf}@media (width<=1000px){.review-team{gap:8px;padding:6px}.review-team-score{min-width:130px;font-size:10px}.review-tricks{gap:9px}.review-trick .card.small{width:29px;margin-right:-19px}.review-trick>div{padding-right:19px}.review-trick .card.small>span{width:9px;font-size:10px}.review-trick .card.small b{font-size:8px}}@media (width<=720px){.game .felt .table-center{width:min(160px,46%);height:155px}.player-history{width:65px;height:42px;max-height:42px;font-size:9px}.player.pos-1{right:6px}.player.pos-3{left:6px}.review-team{min-height:105px;display:block}.review-team-score{flex-direction:row;justify-content:space-between;align-items:center;gap:5px;min-width:0;margin-bottom:6px}.review-team-score>strong{font-size:12px}.review-tricks{justify-content:center;gap:6px}.review-trick{max-width:70px}.review-trick .card.small{width:25px;margin-right:-17px}.review-trick>div{padding-right:17px}.review-heading p,.review-footer p{font-size:10px}.review-heading h2{font-size:17px}.review-trick small{font-size:8px}.review-camera>b{font-size:10px}.review-footer .primary{padding:10px 18px}.review-teams{gap:6px;left:2%;right:2%}}.robot-config-trigger{color:#efddb5;background:0 0;padding:2px;font-size:9px;text-decoration:underline}.error{z-index:120}@media (width<=720px){.review-tricks{justify-content:flex-start;padding-bottom:3px;overflow-x:auto}.review-trick{flex:0 0 64px}.review-trick .card.small{width:28px;margin-right:-16px}.review-trick>div{padding-right:16px}.review-team-score span{max-width:55%}.review-team-score{flex-wrap:wrap}.review-team{min-height:120px}}@media (width>=721px){:is(.player.pos-0:has(.camera-large),.player.pos-2:has(.camera-large)){grid-template-columns:85px 100px;grid-template-areas:"kick kick""picture title""picture history";align-items:center;column-gap:8px;max-width:200px;display:grid}:is(.player.pos-0:has(.camera-large)>.avatar,.player.pos-2:has(.camera-large)>.avatar){grid-area:picture}:is(.player.pos-0:has(.camera-large)>strong,.player.pos-2:has(.camera-large)>strong){grid-area:title}:is(.player.pos-0:has(.camera-large)>.player-history,.player.pos-2:has(.camera-large)>.player-history){grid-area:history}:is(.player.pos-0:has(.camera-large)>.exclude-player,.player.pos-2:has(.camera-large)>.exclude-player){grid-area:kick;justify-self:center}}.door-requests,.door-pending{color:#244936;background:#fff7df;border:1px solid #bfa15e;border-radius:9px;margin:12px 0;padding:14px}.door-requests h3{margin:0 0 8px;font:600 18px Georgia,serif}.door-requests p,.door-pending p{font-size:12px;line-height:1.5}.door-request{border-top:1px solid #d8c59b;margin-top:12px;padding:12px 0 0}.door-request strong{overflow-wrap:anywhere;font-size:13px}.door-request label{margin:8px 0}.door-request select{margin-top:5px;padding:9px}.door-request .primary{justify-content:center}.door-pending h2{font-size:22px}.partance-tag{color:#193e32;vertical-align:middle;background:#f6dd94;border:1px solid #fff2bf;border-radius:3px;margin-left:5px;padding:1px 4px;font:700 10px sans-serif;display:inline-block}.player.turn .avatar{border:3px solid #ffe39a;animation:1.5s ease-in-out infinite turn-beat}.player.turn>strong{color:#fff3be;text-shadow:0 1px 5px #0008}@keyframes turn-beat{0%,to{box-shadow:0 0 0 4px #f9d87940,0 0 14px #f9d87955}50%{box-shadow:0 0 0 9px #f9d87980,0 0 24px #ffe39a99}}@media (prefers-reduced-motion:reduce){.player.turn .avatar{animation:none;box-shadow:0 0 0 6px #f9d87980}}.strategy-page{z-index:150;color:#183f35;background:#f6f4ed;padding:32px 20px;position:fixed;inset:0;overflow:auto}.strategy-shell{background:#fffdf7;border:1px solid #d9dfd1;border-radius:12px;max-width:950px;margin:auto;padding:20px 35px 45px;position:relative}.strategy-shell h1{margin-right:30px;font:500 36px Georgia,serif}.strategy-shell h2{font:500 28px Georgia,serif}.strategy-shell h3{margin-top:27px;font-size:18px}.strategy-shell p{max-width:850px;font-size:15px;line-height:1.8}.strategy-shell nav{border-bottom:1px solid #d9dfd1;flex-wrap:wrap;gap:8px;padding:14px 0;display:flex}.strategy-shell nav button{color:#224b3b;background:#edf0e4;border-radius:5px;padding:10px 14px}.strategy-shell nav button[aria-pressed=true]{color:#fff;background:#214e3e}.insights-backdrop{z-index:121}.profile-backdrop{z-index:122}.decision-backdrop{z-index:123}.insights-modal{color:#183f35;width:min(900px,95vw);max-width:900px}.insights-modal pre,.decision-details pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px}.insights-modal li{margin:10px 0;font-size:14px;line-height:1.7}.profile-row{color:#244936;background:#f3f5ea;border-bottom:1px solid #d8ddcf;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:14px;display:flex}.profile-row span{font-size:12px}.decision-table{overflow:auto}.decision-table table{border-collapse:collapse;width:100%;font-size:12px}.decision-table td,.decision-table th{text-align:left;border-bottom:1px solid #d1d9c7;padding:9px}.chosen-decision{background:#e0edd5;font-weight:700}.decision-details small{font-size:10px}.decision-details details{padding:7px 0}.decision-details p{line-height:1.6}.robot-settings select{width:100%}.game>.error{z-index:160}@media (width<=720px){.strategy-page{padding:10px}.strategy-shell{padding:16px}.strategy-shell h1{font-size:28px}.strategy-shell p{font-size:14px}.profile-row{flex-direction:column;align-items:flex-start}.insights-modal{padding:25px 16px}.player.turn .avatar{animation-duration:2s}}.player-history{position:relative}.player-history .speech-suit{vertical-align:-.06em;text-shadow:-.5px -.5px #fff6dd,.5px -.5px #fff6dd,-.5px .5px #fff6dd,.5px .5px #fff6dd;font-size:1.5em;font-weight:900;line-height:1;display:inline}.robot-action-flash{pointer-events:none;z-index:1;border:2px solid #ffdb76;border-radius:9px;animation:1.5s ease-out forwards robot-announcement-beat;position:absolute;inset:0}@keyframes robot-announcement-beat{0%,to{opacity:0;box-shadow:inset 0 0 #ffdc79}20%,65%{opacity:1;box-shadow:inset 0 0 10px #ffdc7970}45%,85%{opacity:.3}}.player strong .partance-tag{vertical-align:middle;perspective:100px;background:0 0;border:0;justify-content:center;align-items:center;width:24px;height:24px;margin-left:6px;padding:0;display:inline-flex}.partance-coin{color:#8c580d;background:radial-gradient(circle at 30% 25%,#fff4b0,#eab83d 48%,#99620c 90%);border:2px solid #f6d66b;border-radius:50%;justify-content:center;align-items:center;width:21px;height:21px;font-size:12px;animation:8s linear infinite partance-spin;display:inline-flex;box-shadow:0 0 0 1px #9e6b18,inset 0 0 0 1px #fff0a0,0 1px 4px #0008}@keyframes partance-spin{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}@media (prefers-reduced-motion:reduce){.partance-coin{animation:none}.robot-action-flash{animation:1.5s linear forwards robot-announcement-still}@keyframes robot-announcement-still{0%,95%{opacity:1}to{opacity:0}}}.collection-flight{z-index:6;pointer-events:none;width:min(230px,60%);height:210px;animation:.75s cubic-bezier(.4,0,.7,1) forwards collect-trick;position:absolute;top:50%;left:50%}.collection-flight .trick-cards{width:100%;height:100%;margin:0;position:relative}@keyframes collect-trick{0%,12%{opacity:1;transform:translate(-50%,-50%)}75%{opacity:1}to{transform:translate(calc(-50% + var(--collect-x)),calc(-50% + var(--collect-y))) scale(.2);opacity:0}}.hand-photo-backdrop{z-index:135}.hand-photo-modal{color:#183f35;width:min(850px,95vw);max-width:850px}.game .hand-photo-modal h2{color:#183f35}.photo-cards{gap:6px;padding:12px 3px;display:flex;overflow-x:auto}.photo-cards .card{flex-shrink:0}.hand-photo-modal .photo-cards{justify-content:safe center}.hand-photo-modal p{font-size:13px}.shared-hand-photos{border:1px solid #d6bc7c88;border-radius:10px;grid-column:1/-1;padding:10px}.shared-hand-photos h3{margin:0 0 8px;font-size:15px}.shared-hand-photos article{margin:8px 0}.shared-hand-photos strong{font-size:12px}.shared-hand-photos .photo-cards .card.small{width:42px;height:60px}.shared-hand-photos .card.small .corner{display:none}.photo-actions{flex-wrap:wrap;justify-content:center;gap:4px;display:flex}.review-footer .photo-actions .primary{min-width:0;padding:8px;font-size:10px}.review-footer .photo-actions .text-button{font-size:10px}@media (width<=720px),(pointer:coarse) and (height<=600px){.hand,.table-full .hand{justify-content:center;gap:3px;min-height:0;padding:8px 1px 12px}.hand .hand-card,.table-full .hand .hand-card{aspect-ratio:20/21;border-radius:6px;flex:0 calc(12.5% - 2.625px);width:calc(12.5% - 2.625px);min-width:0;max-width:64px;overflow:hidden}.hand .hand-card .card,.table-full .hand .hand-card .card{aspect-ratio:5/7;border-radius:6px;width:100%;min-width:0;height:auto;transform:none}.hand .hand-card .card>span,.table-full .hand .hand-card .card>span{width:17px;font-size:clamp(15px,4vw,22px);top:4px;left:3px}.hand .hand-card .card b{font-size:16px}.hand .hand-card .card i{font-size:28px}.hand .hand-card .card .corner{display:none}.hand-title .text-button{padding:5px;font-size:10px}.collection-flight{width:min(160px,46%);height:155px}}@media (orientation:landscape) and (pointer:coarse) and (height<=600px){.game .felt .table-center .played-2,.collection-flight .played-2{top:-24px}.player .role,.player .relationship{display:none}}@media (prefers-reduced-motion:reduce){.collection-flight{animation:.15s linear forwards collect-trick-reduced}@keyframes collect-trick-reduced{to{opacity:0}}}.table-next{z-index:8;border:1px solid #dfc48b;min-height:42px;padding:9px 12px;font-size:13px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 3px 12px #0005}.player-history{height:58px;max-height:58px;font-size:12px}.player-history span{line-height:16.8px}.player-history span small{font-size:9.6px}@media (width<=720px){.player-history{height:50px;max-height:50px;font-size:10.8px}.table-next{min-height:36px;padding:7px 9px;font-size:11px}}.table-center .contract-summary{z-index:3;text-shadow:0 0 9px #ffffffe6;animation:2.7s ease-in-out infinite alternate contract-glow;position:relative;transform:scale(1.08);box-shadow:0 0 0 2px #fff7cf52,0 0 23px 7px #ffd562a1,inset 0 1px 8px #fffffff2;background:linear-gradient(130deg,#fff5ce,#f6d988 55%,#fff9e4)!important;border:2px solid #ffe4a2!important}.table-center .contract-summary strong{filter:drop-shadow(0 0 4px #ffffffe6);font-size:clamp(23px,3.1vw,37px);font-weight:900}.table-center .contract-summary small{color:#58400c;font-size:11px;font-weight:900}.table-center .turn-message{text-shadow:0 0 8px #000c,0 0 14px #f5c14cc7;letter-spacing:.03em;color:#fff4c5!important;font-size:clamp(14px,2.1vw,23px)!important;font-weight:900!important}@keyframes contract-glow{to{box-shadow:0 0 0 3px #fff9d78c,0 0 30px 12px #ffdc74d6,inset 0 1px 9px #fff}}@media (prefers-reduced-motion:reduce){.table-center .contract-summary{animation:none}}@media (width<=720px){.table-center .contract-summary{padding:7px 5px;transform:scale(1.02)}.table-center .contract-summary strong{font-size:22px}}.special-table-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.55rem;margin:8px 0;display:flex}.special-table-actions button{color:#fff;cursor:pointer;background:#143a35;border:1px solid #d2b983;border-radius:10px;padding:8px 12px}.special-table-actions button:disabled{opacity:.45;cursor:not-allowed}.rematch-vote{color:#fff;background:#183d36;border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;padding:12px;display:flex}.rematch-vote span{font-size:.8rem}.settings-backdrop{z-index:1300}.settings-modal{max-width:580px}.settings-links{grid-template-columns:1fr 1fr;gap:8px;margin:18px 0;display:grid}.settings-links button{color:#183c31;background:#f6f3eb;border:1px solid #b9b6a7;border-radius:8px;justify-content:space-between;padding:14px;display:flex}.settings-check{align-items:center;gap:10px;flex-direction:row!important;margin:12px 0!important;display:flex!important}.settings-check input{height:18px;width:18px!important;margin:0!important}.settings-modal fieldset{border:1px solid #d2ccbc;border-radius:10px;margin:16px 0;padding:14px}.settings-modal legend{padding:0 6px;font-weight:700}.probability-row{align-items:center;gap:8px;flex-direction:row!important;margin:8px 0!important;display:flex!important}.probability-row>span:first-child{flex:1}.probability-row input{width:78px!important;margin:0!important;padding:8px!important}.method-dot{vertical-align:middle;border:2px solid #fff;border-radius:50%;flex-shrink:0;width:13px;height:13px;display:inline-block;box-shadow:0 0 0 1px #303d36}.method-la-question{background:#9951d5}.method-petit-jeu{background:#e58222}.method-aux-as{background:#2686de}.player>.method-dot{z-index:3;position:absolute;top:26px;left:calc(50% + 23px)}.method-legend{flex-wrap:wrap;gap:14px;font-size:12px;display:flex}.method-legend>span{align-items:center;gap:6px;display:flex}.visio-collapse{text-align:left;cursor:pointer;width:100%;color:inherit;background:0 0;border:0}.mini-visio [hidden]{display:none!important}.player-history>div>span:first-child{color:#fff5cf;background:#00000047;border:1px solid #e9d693;border-radius:6px;padding:3px 8px;font-size:1.18em;font-weight:800}.settings-trigger{white-space:nowrap}.game .settings-modal h2,.game .settings-modal h3{color:#183c31}.settings-modal fieldset:disabled{opacity:.6}main .settings-modal,main .game .settings-modal{color:#183c31;background:#fffaf0}main .settings-modal :is(p,label,span,small,legend,h2,h3,output,.eyebrow),main .game .settings-modal :is(p,label,span,small,legend,h2,h3,output,.eyebrow){color:#183c31}main .settings-modal .close{color:#183c31;background:#eee5d4}main .settings-modal .primary{color:#fffaf0;background:#173f33}main .settings-modal .probability-row input[type=range]{accent-color:#21644f;flex:1;min-width:80px;width:auto!important;padding:0!important}.settings-modal .probability-row>span:first-child{flex:0 0 100px}.settings-modal .probability-row output{text-align:right;font-variant-numeric:tabular-nums;min-width:45px}.game .actions .auction-response{color:#ffed4a;background:#1551a5;border:2px solid #f68b24;border-radius:9px;font-weight:800}.game .actions .auction-response:hover{background:#103e83}.game .actions .auction-response:focus-visible{outline-offset:3px;outline:3px solid #ffed4a}.speech-history>summary{cursor:pointer;padding:9px 0;list-style:disclosure-closed}.speech-history[open]>summary{list-style:disclosure-open}.play-prompt{z-index:8;pointer-events:none;color:#fff4bd;letter-spacing:.12em;text-shadow:0 2px 8px #001e14;font-size:clamp(18px,3vw,32px);font-weight:900;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)}.belote-bubble{z-index:30;color:#17392a;white-space:nowrap;pointer-events:none;background:#fff;border-radius:18px;padding:9px 16px;font-weight:800;position:absolute;bottom:100%;left:50%;transform:translate(-50%);box-shadow:0 4px 18px #0004}.belote-bubble:after{content:"";border:7px solid #0000;border-top-color:#fff;position:absolute;top:100%;left:45%}.review-close{z-index:50;color:#17392a;background:#fff;border:2px solid #b58c42;border-radius:20px;padding:10px 18px;position:absolute;top:12px;right:12px}.draw-priority{text-align:center;color:#17392a;pointer-events:none;z-index:10;background:#fff8df;border-radius:12px;padding:6px;font-weight:700;position:absolute;bottom:calc(100% + 6px);left:0;right:0}:root{--diamond-orange:#ed7900}.suit-D,.draw-card.revealed.suit-D{color:var(--diamond-orange)!important}main{width:100%;max-width:none;padding-inline:clamp(8px,2vw,28px)}.hero{grid-template-columns:minmax(0,1fr) minmax(300px,.85fr) minmax(310px,.95fr);gap:clamp(12px,3vw,48px);max-width:none;padding:clamp(12px,3vh,38px) 0}.free-chat{background:#fffef9;border:1px solid #e0e4d9;border-radius:15px;flex-direction:column;min-width:0;max-height:650px;padding:18px;display:flex}.free-chat h2{font:500 25px Georgia,serif}.free-chat h2 small{color:#657d6d;font:12px Arial,sans-serif;display:block}.free-chat-messages{background:#f7f6f0;border-radius:8px;flex-direction:column;gap:0;min-height:300px;max-height:420px;padding:8px;display:flex;overflow-y:auto}.free-chat-messages p{overflow-wrap:anywhere;border-bottom:1px solid #e5e5dd;margin:0;padding:5px;font-size:13px;line-height:1.35}.free-chat-messages b{color:#23714e}.free-chat form{gap:6px;margin-top:10px;display:flex}.free-chat input{flex:1;width:100%;min-width:0}.free-chat button{color:#fff;background:#18553c;border-radius:7px;padding:8px 10px}.score{cursor:pointer;color:inherit;background:0 0;border:0}.score-scroll{z-index:80;color:#243b33;background:#fffefa;border:1px solid #ded4bd;border-radius:3px 3px 12px 12px;width:min(380px,94vw);max-height:65vh;padding:18px 24px 26px;position:absolute;top:65px;left:50%;overflow:auto;transform:translate(-50%);box-shadow:0 14px 40px #0005}.game{position:relative}.score-scroll>button{float:right;background:0 0;font-size:22px}.score-scroll h3{text-align:center;letter-spacing:2px}.score-scroll-head,.score-scroll-line{text-align:center;border-bottom:1px solid #ddd;grid-template-columns:1fr 1fr;padding:6px;display:grid}.score-scroll-line small{color:#777;grid-column:1/-1}.pacifier-options{background:#fff5df;border:1px solid #dabd89;border-radius:9px;margin:12px 0;padding:12px}.pacifier-options summary{cursor:pointer;font-weight:700}.pacifier-options label{margin-top:12px;display:flex}.game.table-full{width:100%;min-width:0;min-height:calc(100dvh - 110px)}.game.table-full .table-layout{min-width:0}.game.table-full .felt{min-height:min(54dvh,620px)}@media (width<=1200px){.hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.free-chat{grid-column:1/-1;max-height:340px}.free-chat-messages{min-height:130px;max-height:190px}}@media (width<=720px){main{padding:0 6px}header{flex-wrap:wrap;gap:6px;height:auto;min-height:58px}.hero{flex-direction:column;gap:12px;padding:8px 0;display:flex}.hero>*{width:100%;min-width:0}.entry{padding:15px}.free-chat{max-height:290px}.free-chat-messages{min-height:110px;max-height:155px}.game.table-full{min-height:100dvh;display:block}.game.table-full .table-layout{flex-direction:column;gap:6px;display:flex}.game.table-full .table-layout>.felt{width:100%;min-height:280px;height:min(55dvh,420px)!important}.game.table-full .table-layout>.hand-area{order:2;width:100%;margin:0}.game.table-full .table-layout>.panel{order:3;width:100%;min-height:0;max-height:none;overflow:visible}.game-bar{flex-wrap:wrap;gap:4px;display:flex}.game-bar>div:last-child{justify-content:center;width:100%;max-width:100%}.game .player{max-width:32%}.game .felt .table-center{max-width:45%}.game .panel>*{max-width:100%}.bid-options{grid-template-columns:repeat(5,minmax(0,1fr))}.bid-options button{padding:8px 0;font-size:12px}.score-scroll{top:95px}}.pacifier-badge{vertical-align:middle;margin-left:3px;font-size:13px;display:inline-block}.game.table-full .table-layout>.panel{overflow-wrap:anywhere}.zoom-video-backdrop{z-index:190;background:#071e19c9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.zoom-video{border:4px solid #d7b56b;border-radius:14px;width:50vw;min-width:min(90vw,300px);height:50vh;position:relative;overflow:hidden;box-shadow:0 10px 70px #000b}.zoom-video>video{object-fit:contain;background:#0d1815;width:100%;height:100%}.zoom-video>button{color:#143f35;background:#fffde9;border-radius:5px;padding:7px;position:absolute;top:8px;right:8px}@media (width<=720px){.zoom-video{width:90vw;height:50dvh}}.game.table-full .felt .table-center:has(.bid-composer){z-index:20;pointer-events:auto;background:#123023ed;border-radius:14px;width:clamp(245px,40%,420px);height:auto;max-height:calc(100% - 76px);padding:6px;overflow:hidden auto;box-shadow:0 14px 36px #001b1488}.game.table-full .felt .table-center .bid-composer{border-radius:10px;max-width:100%;margin:0;padding:clamp(6px,1vw,14px)}.game.table-full .felt .table-center .bid-composer .eyebrow{font-size:10px}.game.table-full .felt .table-center .bid-composer .bid-options{grid-template-columns:repeat(5,minmax(0,1fr));gap:3px}.game.table-full .felt .table-center .bid-composer .bid-options button{padding:5px 1px;font-size:12px}.game.table-full .felt .table-center .bid-composer .suit-choices button{padding:4px 2px}.game.table-full .felt .table-center:has(.bid-composer)>.actions{justify-content:center;gap:4px;margin:5px 0 0;display:flex}.game.table-full .felt .table-center:has(.bid-composer)>.actions button{flex:1;min-width:0;padding:8px 3px}.bid-stepper{justify-content:center;align-items:center;gap:10px;margin:3px 0 7px;display:flex}.bid-stepper>button{color:#1d4436;background:#fff;border:1px solid #b9a47e;border-radius:9px;min-width:40px;min-height:35px;font-size:20px;font-weight:700}.bid-stepper>button:disabled{opacity:.35}.bid-stepper strong{text-align:center;min-width:70px;font-size:23px}@media (width<=720px){.game.table-full .felt .table-center:has(.bid-composer){width:min(75%,320px);max-height:calc(100% - 35px)}.game.table-full .felt .table-center .bid-composer .bid-hint{display:none}.game.table-full .felt .table-center .bid-composer .eyebrow{margin-bottom:2px}.game.table-full .felt .table-center .bid-composer .bid-options button{padding:4px 1px;font-size:11px}}.visio-tile:has(video[src]){cursor:zoom-in}.visio-zoom-backdrop{z-index:2000;background:#000000c4;justify-content:center;align-items:center;padding:12px;display:flex;position:fixed;inset:0}.visio-zoom-window{cursor:zoom-out;background:#101918;border:3px solid #dec07c;border-radius:12px;width:50vw;max-width:calc(100vw - 24px);height:50vh;max-height:calc(100dvh - 24px);position:relative;overflow:hidden;box-shadow:0 12px 60px #000c}.visio-zoom-window video{object-fit:contain;width:100%;height:100%}.visio-zoom-close{color:#182f24;cursor:pointer;z-index:2;background:#fff;border:0;border-radius:6px;padding:5px 12px;position:absolute;top:8px;right:8px}@media (width<=720px){.visio-zoom-window{width:94vw;height:50dvh}}
