:root{--green:#173b2b;--cream:#fffaf0;--red:#b73d2b;--line:#bcc6ac;--muted:#617255;--serif:Georgia,'Times New Roman',serif;--mono:'Courier New',monospace}*{box-sizing:border-box}body{margin:0;color:var(--green);background:var(--cream);font:16px/1.5 'Helvetica Neue',Arial,sans-serif}a{color:inherit;text-underline-offset:4px}button,input,select{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #cf674a;outline-offset:4px}[hidden]{display:none!important}h1,h2,p{margin:0}h1,h2{font-family:var(--serif);line-height:1.1}h1{font-size:clamp(32px,4vw,48px);letter-spacing:-1.3px}h2{font-size:25px;margin-bottom:20px}header,main,footer{max-width:1380px;margin:auto;padding:24px 32px}header{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line)}.wordmark{text-decoration:none;display:flex;gap:10px;align-items:center;font:700 21px var(--serif)}.quiet-link,.small{font-size:12px}.small,.muted{color:var(--muted)}footer{display:flex;justify-content:space-between;font:12px var(--mono);color:var(--muted);padding-bottom:32px}.eyebrow{font:11px var(--mono);letter-spacing:1.5px;text-transform:uppercase;color:var(--red);margin-bottom:10px}#create{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;max-width:980px;margin:45px auto}.intro h1{font-size:clamp(40px,6vw,68px);margin-bottom:24px}.intro>p:last-child{font-size:18px;max-width:370px;color:var(--muted)}.paper{background:#f2eddc;border:1px solid var(--line);border-radius:5px;padding:24px}.form h2{font-size:30px}.form{max-width:470px}label{display:block;font-size:13px;font-weight:600;margin:14px 0}input,select{display:block;width:100%;margin-top:7px;border:1px solid #9cac8d;background:#fffaf0;color:var(--green);padding:11px;border-radius:3px;min-height:44px}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.primary,.secondary,.table-button{padding:11px 17px;min-height:44px;border-radius:3px;font-size:14px;font-weight:600}.primary{color:#fffaf0;background:var(--red);border:1px solid #a33123}.primary:hover:not(:disabled){background:#9e3021}.secondary{color:var(--green);background:#f2eddc;border:1px solid #8c9e7c}.secondary:hover:not(:disabled){background:#e1e7d0}.form>.small{margin-top:16px}.form button[type=submit]{width:100%;margin-top:12px}.error{background:#ffe9df;border:1px solid #bc5b42;border-radius:3px;padding:14px 18px;color:#8b2d1c;margin:10px 0 20px}.room-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:10px 0 26px}.room-tools{display:flex;gap:16px;align-items:center;flex-wrap:wrap}#connection{font:11px var(--mono);color:var(--muted)}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:22px}.table-panel{min-width:0;background:var(--green);border:1px solid #66815b;border-radius:10px;color:var(--cream);padding:22px;box-shadow:inset 0 0 0 5px #254b34}.table-meta{display:flex;justify-content:space-between;font:11px var(--mono);color:#c8d6b8;margin-bottom:24px}.opponents{display:grid;grid-template-columns:repeat(auto-fit,minmax(115px,1fr));gap:16px;align-items:start;justify-content:center}.seat{text-align:center;min-width:0}.nameplate{display:inline-flex;flex-direction:column;align-items:center;gap:2px;padding:7px 12px;border:1px solid #a9ba96;background:#f4efd9;border-radius:3px;color:var(--green);max-width:100%;min-width:100px}.nameplate strong{font-size:13px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nameplate small{font:12px var(--mono);color:#52654a}.status{font:10px var(--mono);color:#bed0aa;margin-top:5px;min-height:15px}.cards{display:flex;justify-content:center;gap:5px;margin-top:10px}.card{display:flex;flex-direction:column;justify-content:center;align-items:center;flex-shrink:0;width:35px;height:48px;border-radius:3px;background:#fffaf0;color:var(--green);border:1px solid #d3cfb7;box-shadow:1px 2px 0 #b8bba0;font:700 18px/1.1 var(--serif)}.card.red{color:var(--red)}.card.back{color:#ffe5bd;background:repeating-linear-gradient(45deg,#a5392a 0 2px,#bd4933 2px 5px);border:2px solid #efe2c5}.card.empty{color:#819572;border:1px dashed #728667;background:#244c34;box-shadow:none}.seat.folded .nameplate,.seat.folded .cards{opacity:.4}.last-move{margin:8px auto 0;display:inline-block;background:#e8ecd9;color:#23442d;font-size:12px;border-radius:3px;padding:4px 7px}.last-move small{display:block;font:9px var(--mono);text-transform:uppercase;color:#52654a;margin-bottom:2px}.center-table{text-align:center;padding:30px 12px 25px;margin:24px 0;border:1px solid #6d855d;border-radius:90px;background:#285239;box-shadow:inset 0 0 0 4px #1f4832}.center-table .eyebrow{color:#d5ddb9}.pot-caption{font:10px var(--mono);letter-spacing:2px;color:#bfcda9}.pot{font:700 50px var(--serif);color:#fff2d2;overflow-wrap:anywhere}.board .card{width:48px;height:65px;font-size:23px}.center-table p{color:#c8d6b8;font-size:13px;margin-top:16px;min-height:20px}.my-seat{text-align:center;margin-bottom:24px}.my-seat .cards{margin:0 0 12px}.my-seat .card{width:54px;height:73px;font-size:27px}.my-seat .card:first-child{transform:rotate(-4deg)}.my-seat .card:last-child{transform:rotate(4deg)}.my-seat .nameplate{min-width:155px}.action-area{border-top:1px solid #58724c;padding-top:22px}.action-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px}.action-heading h2{margin:0;font-size:26px}#clock{font:13px var(--mono);color:#dce6c9}.moves{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.moves button{border:1px solid #9aaa86;border-radius:4px;background:#f5efdc;color:var(--green);padding:15px 8px}.moves button:hover:not(:disabled){background:#e1e8d0;transform:translateY(-1px)}.moves button.selected{background:#b73d2b;color:#fffaf0;border-color:#e7b18b;opacity:1}.moves button span{font-size:32px;display:block}.moves button strong{display:block;font:700 21px var(--serif);margin-top:3px}.moves button small{display:block;font-size:11px;margin-top:6px}.result:not(:empty){background:#e4ead3;color:#264930;font-size:14px;padding:12px;margin-bottom:16px;border-radius:3px}.action-area .small{color:#c1d0b1;margin:14px 0}.player-tools{display:flex;gap:8px;flex-wrap:wrap}.table-button{border:1px solid #6e8961;color:#dfe9d0;background:transparent;padding:8px 12px;font-size:12px}.table-button:hover:not(:disabled){background:#30563a}aside{display:grid;gap:16px;align-content:start}dl{margin:0 0 22px}dl div{display:flex;justify-content:space-between;gap:12px;margin:16px 0;font-size:13px}dt{color:var(--muted)}dd{margin:0;font:700 13px var(--mono)}.host-buttons{display:grid;gap:8px}.host-buttons button{width:100%}details{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}summary{font-size:14px;cursor:pointer;font-weight:600}.text-button{background:transparent;border:0;color:#a53626;text-decoration:underline;text-underline-offset:3px;min-height:44px;font-size:12px}#stack-form .secondary{width:100%}#history{max-height:500px;overflow:auto}#history p{font-size:12px;border-bottom:1px solid var(--line);padding:10px 0;color:#52674a;overflow-wrap:anywhere}#history time{display:block;font:10px var(--mono);color:#7b886e;margin-bottom:4px}#join-panel{margin:20px auto}.disabled-note{color:#edbea1}@media(max-width:1000px){.game-layout{grid-template-columns:1fr}aside{grid-template-columns:1fr 1fr}.history{grid-column:1/-1}.opponents{grid-template-columns:repeat(auto-fit,minmax(115px,1fr))}#create{gap:30px}}@media(max-width:600px){header,main,footer{padding:18px 14px}.wordmark{font-size:17px;max-width:230px}.room-heading{display:block}.room-tools{margin-top:18px;justify-content:space-between}.room-heading h1{font-size:32px}#create{grid-template-columns:1fr;margin:20px 0;gap:25px}.intro h1{font-size:43px}.intro h1 br{display:none}.intro>p:last-child{font-size:16px}.form{max-width:none}.paper{padding:19px}.table-panel{padding:20px 12px}.opponents{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 7px}.nameplate{min-width:0;width:100%;padding:6px}.nameplate strong{font-size:12px}.status{font-size:9px}.last-move{font-size:10px;padding:4px}.seat .card{width:29px;height:40px;font-size:15px}.center-table{margin-top:22px;padding:22px 10px;border-radius:50px}.board .card{width:42px;height:58px}.action-heading h2{font-size:23px}.moves{gap:8px}.moves button strong{font-size:19px}.moves button span{font-size:28px}.player-tools{justify-content:center}aside{grid-template-columns:1fr}.history{grid-column:auto}footer{font-size:10px}#clock{font-size:11px}}
