:root{--felt: #0b3d2e;--felt-light: #14543f;--card-bg: #fdfdfd;--card-border: #1b1b1b;--red: #c0392b;--black: #1c1c1c;--gold: #d4af37;--shadow: 0 2px 6px rgba(0, 0, 0, .35);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .45);--radius: 6px;--card-w: 70px;--card-h: 100px;--gap: 10px}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#f6f6f6;background:radial-gradient(ellipse at center,var(--felt-light) 0%,var(--felt) 70%);overflow:hidden;-webkit-user-select:none;user-select:none}button{font-family:inherit;font-size:14px;padding:8px 16px;border-radius:var(--radius);border:1px solid rgba(255,255,255,.2);background:#ffffff14;color:#f6f6f6;cursor:pointer;transition:background .15s ease}button:hover{background:#ffffff29}button:disabled{opacity:.4;cursor:not-allowed}button.primary{background:var(--gold);color:#1a1a1a;border-color:var(--gold);font-weight:600}button.primary:hover{background:#e6c34a}input{font-family:inherit;font-size:14px;padding:8px 12px;border-radius:var(--radius);border:1px solid rgba(255,255,255,.2);background:#00000040;color:#f6f6f6;outline:none}input:focus{border-color:var(--gold)}.app{display:flex;flex-direction:column;height:100%}.menu{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:24px}.menu h1{font-size:64px;margin:0;letter-spacing:8px;color:var(--gold);text-shadow:0 4px 12px rgba(0,0,0,.6)}.menu .subtitle{opacity:.7;font-size:14px;letter-spacing:2px;text-transform:uppercase}.menu .mode-grid{display:grid;grid-template-columns:repeat(2,220px);gap:16px;margin-top:20px}.menu .mode-grid button{height:80px;font-size:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.menu .mode-grid button .sub{font-size:11px;opacity:.6;font-weight:400}.topbar{display:flex;justify-content:space-between;align-items:center;padding:10px 20px;background:#00000040;border-bottom:1px solid rgba(255,255,255,.08)}.topbar .title{font-weight:600;letter-spacing:2px;color:var(--gold)}.topbar .actions{display:flex;gap:8px;align-items:center}.table{flex:1;display:flex;flex-direction:column;overflow:auto;padding:20px;gap:20px}.foundations-area{display:flex;justify-content:center;gap:var(--gap);padding:12px;background:#0003;border-radius:12px;flex-wrap:wrap;min-height:calc(var(--card-h) + 24px)}.players-area{display:flex;flex-wrap:wrap;gap:24px;justify-content:center}.player-board{background:#0000002e;border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:12px;border:2px solid transparent;transition:border-color .2s ease}.player-board.active{border-color:var(--gold)}.player-board .name{font-weight:600;display:flex;justify-content:space-between;align-items:center}.player-board .score{font-size:12px;opacity:.7}.tableau-row{display:flex;gap:var(--gap)}.bottom-row{display:flex;gap:var(--gap);align-items:flex-start}.pile{position:relative;width:var(--card-w);height:var(--card-h);border:2px dashed rgba(255,255,255,.18);border-radius:var(--radius)}.pile.drop-ok{border-color:var(--gold);background:#d4af371a}.pile.tableau-pile{height:auto;min-height:var(--card-h)}.card{width:var(--card-w);height:var(--card-h);background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column;padding:4px 6px;cursor:grab;position:relative}.card.facedown{background:repeating-linear-gradient(45deg,#1c4a7c,#1c4a7c 4px,#2a5a92 4px,#2a5a92 8px);color:transparent}.card.facedown:after{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border:1px solid rgba(255,255,255,.3);border-radius:3px}.card .corner{font-weight:700;font-size:14px;line-height:1}.card .corner.bottom{margin-top:auto;align-self:flex-end;transform:rotate(180deg)}.card .center{font-size:28px;text-align:center;margin:auto}.card.red{color:var(--red)}.card.black{color:var(--black)}.card.dragging{opacity:.4}.card.selected{box-shadow:0 0 0 3px var(--gold),var(--shadow)}.pile.tableau-pile .card{position:absolute}.empty-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:10px;text-transform:uppercase;letter-spacing:1px;opacity:.4;pointer-events:none}.lobby{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:16px}.lobby .panel{background:#0000004d;padding:24px;border-radius:12px;min-width:400px;display:flex;flex-direction:column;gap:14px}.lobby h2{margin:0;color:var(--gold)}.lobby .row{display:flex;gap:8px;align-items:center}.lobby .row input{flex:1}.lobby .peers{display:flex;flex-direction:column;gap:6px}.lobby .peer{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#ffffff0d;border-radius:var(--radius)}.lobby .code{font-family:ui-monospace,SF Mono,monospace;font-size:28px;letter-spacing:6px;color:var(--gold);text-align:center;padding:12px;background:#0006;border-radius:var(--radius)}.banner{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--gold);color:#1a1a1a;font-size:48px;font-weight:700;padding:24px 48px;border-radius:12px;box-shadow:var(--shadow-lg);letter-spacing:4px;text-transform:uppercase;z-index:100;animation:bannerPop .4s ease}@keyframes bannerPop{0%{transform:translate(-50%,-50%) scale(.5);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:#000000d9;padding:10px 18px;border-radius:var(--radius);font-size:13px;z-index:50}.hint{font-size:12px;opacity:.6;text-align:center}
