*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#151c17;color:#f3eedb;font-family:Arial,sans-serif}body{background:radial-gradient(ellipse at 25% 35%,#3c4230,#151c17 70%)}[hidden]{display:none!important}button,input{font:inherit}button{border:1px solid #a6956877;border-radius:12px;background:#ffffff08;color:#f2ebd6;padding:13px 17px;cursor:pointer;transition:background .15s}button:hover:not(:disabled){background:#ffffff17}button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid #e5ca8a;outline-offset:3px}button:disabled{opacity:.45;cursor:default}.primary{background:#d6b976;color:#19251e;font-weight:700;border-color:#e5ca8a}.primary:hover:not(:disabled){background:#edd598}.secondary{background:#264638}.danger{color:#edb7a7}a{color:#e3c990}p{line-height:1.6;color:#c4c9ba}h1{font-size:clamp(28px,6vw,40px);line-height:1.13;letter-spacing:-1px;font-weight:500;margin:12px 0 20px}h2{font-size:20px;font-weight:500;margin:20px 0 12px}.eyebrow{font-size:11px;letter-spacing:2px;color:#c9b580}.muted,small{font-size:13px;line-height:1.6;color:#b6c1b1}.panel{max-width:620px;margin:40px auto 24px;padding:30px;background:#17261fe8;border:1px solid #c9b58040;border-radius:24px;box-shadow:0 20px 70px #0004}.home-intro{max-width:46ch}.form-grid{display:grid;gap:12px}label{display:grid;gap:8px;color:#eee4ce;font-size:14px}input{width:100%;background:#0c1a14;border:1px solid #71816a;border-radius:10px;color:#fff5d9;padding:14px}input[name=code]{letter-spacing:4px;font-size:21px}.actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.actions>*{flex:1;min-width:140px}.code-box{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 18px;background:#0d1d16;border:1px solid #b4a37355;border-radius:14px}.room-code{font-size:30px;letter-spacing:6px;color:#efd492}.code-box button{font-size:12px;padding:10px}.players-list{list-style:none;padding:0;display:grid;gap:8px}.players-list li{display:flex;justify-content:space-between;padding:11px 13px;background:#ffffff05;border-radius:9px}.status-dot{font-size:12px;color:#b7d4ae}.status-dot.off{color:#e3b27a}.step{display:inline-block;border:1px solid #d6b97666;border-radius:99px;padding:5px 10px;color:#e8cc93;font-size:12px;margin-top:20px}.partner-options{display:flex;gap:8px;flex-wrap:wrap}.partner-options button{flex:1;min-width:100px}.partner-options button.selected{background:#355a46;border-color:#ddc68b;color:#fff9e9}.seat-map{position:relative;display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:80px 105px 80px;align-items:center;gap:8px;margin:20px 0}.seat-map:before{content:"";position:absolute;inset:45px 22%;background:linear-gradient(160deg,#ab916e,#d4bb96);border:7px solid #654226;border-radius:24px;opacity:.8;z-index:0}.seat{position:relative;z-index:1;background:#26362d;border:1px solid #a99b72;border-radius:12px;padding:11px 8px;text-align:center;font-size:14px}.seat span{display:block;font-size:11px;color:#bbc8b8;margin-top:5px}.seat.team{border-color:#dfc27f;background:#1e4936}.seat.top{grid-area:1/2}.seat.left{grid-area:2/1}.seat.right{grid-area:2/3}.seat.bottom{grid-area:3/2}.seat.map-center{grid-area:2/2;background:none;border:0;font-weight:bold;color:#243b2c;font-size:12px}.team-lines{display:grid;gap:7px;margin:12px 0;padding:14px;background:#ffffff06;border-radius:12px;font-size:14px}.ready-line{padding:12px 15px;border-left:3px solid #d6b976;background:#ffffff07;border-radius:4px}.resume-list{display:grid;gap:8px}.resume-list button{text-align:left}.rules{border-top:1px solid #a6956833;padding-top:14px}.error{color:#ffd3bd}.success{color:#c5e3ba}#notice{position:fixed;top:12px;left:50%;transform:translateX(-50%);z-index:50;background:#382d1d;border:1px solid #d5b369;padding:12px 20px;border-radius:12px;max-width:94vw;box-shadow:0 4px 20px #0009;font-size:14px}main{min-height:100dvh;display:flex;align-items:center;justify-content:center;gap:64px;padding:24px}.screen{position:relative;height:min(910px,calc(100dvh - 48px));aspect-ratio:400/852;overflow:hidden;border-radius:24px;box-shadow:0 24px 90px #0008;background:#443322}canvas{display:block;width:100%;height:100%}#loading{position:absolute;inset:45% 0 auto;text-align:center;background:#152d25;padding:20px}aside{width:290px}aside .actions{display:grid}aside .actions>*{min-width:0}#hand-controls{position:absolute;inset:0;pointer-events:none}.hand-card{position:absolute;top:74.849%;width:25%;height:20.959%;border:0;border-radius:6px;background:transparent!important;padding:0;pointer-events:auto;touch-action:manipulation}.hand-card:disabled{opacity:1}.hand-card:not(:disabled):hover{box-shadow:inset 0 0 0 3px #edcd7b}.hand-card:focus-visible{outline:3px solid #e5ca8a;outline-offset:-3px}.hand-card.pending{box-shadow:inset 0 0 0 3px #edcd7b}#network-banner{position:absolute;inset:0 0 auto;padding:12px;background:#342716ef;color:#ffe6ab;text-align:center;font-size:13px;z-index:4}.score-summary{font-size:25px;color:#eed49b}.result{border:1px solid #d5b369;border-radius:16px;padding:18px;background:#1d392a}.room-link{overflow-wrap:anywhere}#credits{max-width:620px;margin:10px auto 25px;padding:0 20px;font-size:11px;color:#a3ad9f}#credits p{font-size:11px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:700px){.panel{margin:16px 12px;padding:22px 18px;border-radius:20px}main{padding:0;display:block}.screen{height:100dvh;max-height:none;max-width:100vw;margin:auto;border-radius:0;box-shadow:none}aside{width:auto;padding:24px}h1{font-size:29px}.seat-map{grid-template-rows:75px 95px 75px;gap:4px}.seat{font-size:12px;padding:10px 4px}.code-box{padding:12px}.room-code{font-size:24px;letter-spacing:4px}}
