:root{--card-w: 58px;--card-h: 88px;--card-gap: 8px}.app{height:100vh;display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;gap:2.5rem;padding:1.5rem 1rem 2rem;color:var(--ink)}.app.is-playing{gap:1rem;padding:.8rem;--card-w: clamp(40px, 3.4vw, 60px);--card-h: calc(var(--card-w) * 1.45);--card-gap: clamp(4px, .5vw, 8px);height:100svh;width:100%;margin:0;overflow:hidden}.app:not(.is-playing){gap:1rem;padding:.8rem .8rem 1rem}.hero{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2rem;align-items:center}.app:not(.is-playing) .hero{gap:1.2rem}.app.is-playing .hero-text{display:none}.app.is-playing .hero{gap:1rem}.app.is-playing .room-card{padding:.8rem;min-width:min(360px,100%)}.overline{text-transform:uppercase;letter-spacing:.3em;font-size:.75rem;color:var(--muted);margin-bottom:.5rem}h1{font-family:Palatino Linotype,Book Antiqua,Palatino,serif;font-size:clamp(2.6rem,3vw + 1.5rem,4rem);margin:0 0 .5rem;text-transform:uppercase}.app:not(.is-playing) h1{font-size:clamp(2rem,2vw + 1.2rem,3.1rem);margin-bottom:.3rem}.subtitle{max-width:520px;font-size:1.05rem;color:var(--muted)}.app:not(.is-playing) .subtitle{font-size:.9rem;margin-top:.3rem}.room-card{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;background:var(--paper);border-radius:18px;padding:1.5rem;box-shadow:var(--shadow-soft);min-width:min(420px,100%)}.app:not(.is-playing) .room-card{padding:1rem;gap:.6rem;min-width:min(360px,100%)}.label{text-transform:uppercase;letter-spacing:.15em;font-size:.65rem;color:var(--muted);margin-bottom:.4rem}.room-code{font-family:Courier New,Courier,monospace;font-size:1.2rem;font-weight:600}.status-pill{display:inline-flex;align-items:center;justify-content:center;padding:.3rem .8rem;border-radius:999px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.status-lobby{background:var(--accent-soft);color:var(--accent)}.status-playing{background:#fdf4d1;color:#927100}.status-finished{background:#e4f5f0;color:#1e695c}.main{display:flex;flex-direction:column;gap:1.5rem;min-height:0}.app:not(.is-playing) .main{gap:.8rem}.main.is-playing{gap:0;min-height:100vh}.main.is-playing .game-panel{min-height:0;flex:1}.panel{background:var(--paper);border-radius:22px;padding:1.1rem;box-shadow:var(--shadow-soft)}.app:not(.is-playing) .panel{padding:.8rem}.panel-header{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:1.2rem}.app.is-playing .panel-header{display:none}.top-scorebar{display:flex;flex-wrap:wrap;gap:.4rem;padding:.1rem .4rem}.top-score-pill{padding:.12rem .45rem;border-radius:999px;background:#f4e0c9;font-size:.85rem;color:#6e4f32}.app:not(.is-playing) .panel-header{margin-bottom:.6rem}.panel-header h2{margin:0;font-size:1.3rem}.app.is-playing .panel-header h2{display:none}.panel-subtitle{color:var(--muted);margin:.25rem 0 0;font-size:.95rem}.app.is-playing .panel-subtitle{display:none}.panel-actions{display:flex;gap:.6rem;flex-wrap:wrap}.app:not(.is-playing) .panel-actions{gap:.4rem}.scoreboard{display:flex;flex-direction:column;gap:1rem}.app:not(.is-playing) .scoreboard{gap:.6rem}.scoreboard.compact{padding:.8rem}.app:not(.is-playing) .scoreboard.compact{padding:.6rem}.scoreboard.compact .player-row{padding:.5rem .7rem}.app:not(.is-playing) .scoreboard.compact .player-row{padding:.35rem .5rem}.scoreboard.compact .player-score{font-size:1.1rem}.app:not(.is-playing) .scoreboard.compact .player-score{font-size:1rem}.scoreboard.top-bar .player-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.6rem}.app:not(.is-playing) .scoreboard.top-bar .player-list{gap:.4rem}.scoreboard.top-bar .player-row{grid-template-columns:auto 1fr auto}.scoreboard.top-bar{width:100%}.player-list{display:flex;flex-direction:column;gap:.75rem}.app:not(.is-playing) .player-list{gap:.4rem}.player-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:.8rem;align-items:center;padding:.75rem 1rem;border-radius:14px;background:#fffaf0;border:1px solid transparent}.app:not(.is-playing) .player-row{padding:.5rem .6rem;gap:.6rem}.player-row.is-active{border-color:var(--accent);box-shadow:0 0 0 2px #d37a4e33}.player-color{width:14px;height:14px;border-radius:50%}.player-name{font-weight:600}.player-score{font-family:Courier New,Courier,monospace;font-size:1.4rem;font-weight:600}.ready-pill{justify-self:end;padding:.25rem .6rem;border-radius:999px;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;background:#f1e6d6;color:#9a7b5f}.player-total{font-size:.75rem;color:#9a7b5f}.player-penalty{font-size:.75rem;color:#b04b4b}.winner-pill{padding:.25rem .6rem;border-radius:999px;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;background:#ffd7a6;color:#7a3f16}.lobby-controls{display:grid;gap:.75rem}.app:not(.is-playing) .lobby-controls{gap:.5rem}.control{display:grid;gap:.4rem;font-size:.85rem;color:var(--muted)}.control input{border-radius:8px;border:1px solid rgba(0,0,0,.1);padding:.4rem .6rem;background:#fffdf7}.app:not(.is-playing) .control input{padding:.3rem .5rem}.form-error{color:#b23a2b;font-size:.85rem;margin:0}.form-status{color:#2f6f60;font-size:.85rem;margin:0}.muted{color:var(--muted);font-size:.8rem}.room-list{margin-top:.5rem;padding-top:.5rem;border-top:1px dashed rgba(0,0,0,.08);display:grid;gap:.6rem}.app:not(.is-playing) .room-list{margin-top:.3rem;padding-top:.3rem;gap:.4rem}.room-list-header{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.room-list-header h3{margin:0;font-size:.75rem}.room-list-grid{display:grid;gap:.5rem}.room-list-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .6rem;background:#fffaf0;border-radius:10px;border:1px solid rgba(0,0,0,.05)}.app:not(.is-playing) .room-list-item{padding:.4rem .5rem}.game-panel{display:flex;flex-direction:column;gap:1.5rem;min-height:540px;padding:.4rem;flex:1}.app.is-playing .game-panel{padding:0;background:transparent;box-shadow:none}.game-panel{flex:1}.pablo-banner{position:absolute;top:8px;left:50%;transform:translate(-50%);z-index:3;pointer-events:none;font-family:Playfair Display,serif;font-size:clamp(2.5rem,6vw,5rem);letter-spacing:.3rem;text-align:center;color:#8b4c2f;background:#fff3e7;border:2px solid rgba(139,76,47,.25);border-radius:18px;padding:1rem 1.5rem;text-transform:uppercase}.table.has-pablo .table-layout{background:radial-gradient(circle at 30% 20%,rgba(255,230,230,.9),transparent 55%),radial-gradient(circle at 70% 70%,rgba(248,202,198,.8),transparent 60%),repeating-linear-gradient(45deg,#dd92922e 0,#dd92922e 10px,#c87b7b2e 10px,#c87b7b2e 20px),radial-gradient(circle at center,#fbe9e6,#f6d6d2 70%)}.pablo-footer{position:absolute;left:50%;bottom:8px;transform:translate(-50%);z-index:3;pointer-events:none;margin:0;padding:.5rem 1.2rem;border-radius:999px;background:#d75b5b;color:#fff;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.lobby-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.lobby-card{padding:1rem;border-radius:16px;background:#fff3e7;border:1px dashed rgba(0,0,0,.08)}.lobby-card h3{margin-top:0}.lobby-card ul{margin:0;padding-left:1.1rem}.table{display:flex;flex-direction:column;gap:1.5rem}.table.board{display:grid;grid-template-rows:1fr auto auto;min-height:0;position:relative;row-gap:.25rem}.board{min-height:0;overflow:hidden}.table.board .action-feedback{position:absolute;top:44px;left:50%;transform:translate(-50%);z-index:3;pointer-events:none}.bottomBar{min-height:72px;padding:10px 12px;box-sizing:border-box;display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:auto}.app.is-playing .bottomBar{min-height:84px;font-size:.9rem}.preview-banner{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.2rem;border-radius:16px;background:#fff3e7;border:1px dashed rgba(0,0,0,.08)}.table-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.2rem}.table-row.actions{grid-template-columns:1fr auto;align-items:center}.app.is-playing .table-row.actions{gap:.2rem}.start-order{padding:.8rem 1rem;border-radius:14px;background:#fff3e7;border:1px dashed rgba(0,0,0,.08)}.app.is-playing .start-order{padding:.15rem .3rem;font-size:.7rem;margin-top:0}.order-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.6rem}.app.is-playing .order-row{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:.25rem}.order-card{display:grid;grid-template-columns:1fr auto auto;gap:.4rem;align-items:center;padding:.4rem .6rem;border-radius:10px;background:#fffdf7;font-size:.85rem;color:var(--muted)}.app.is-playing .order-card{padding:.15rem .25rem;font-size:.65rem}.order-rank,.order-suit{font-weight:700;color:var(--ink)}.pile{display:flex;flex-direction:column;gap:.75rem;background:#fffdf7;border-radius:16px;padding:1rem;border:1px solid rgba(0,0,0,.05)}.card-stack,.card-slot{min-height:108px;display:grid;place-items:center;background:#f7efe0;border-radius:12px;border:1px dashed rgba(0,0,0,.08)}.card-slot.is-drop-target{border-color:#d37a4e99;box-shadow:0 0 0 3px #d37a4e2e}.card-slot.is-discard-animated .card-face.is-open{animation:discard-entry .42s ease-out}@keyframes discard-entry{0%{transform:translateY(-22px) scale(1.08);opacity:.2}45%{transform:translateY(4px) scale(1.02);opacity:1}to{transform:translateY(0) scale(1);opacity:1}}.card-face{width:var(--card-w);height:var(--card-h);border-radius:8px;background:linear-gradient(160deg,#fff,#fff7ee);border:1px solid rgba(0,0,0,.1);display:flex;flex-direction:column;gap:.2rem;align-items:center;justify-content:center;font-weight:700}.card-face .rank,.card-face .suit{width:1.6em;text-align:center;line-height:1}.card-face .rank{font-variant-numeric:tabular-nums;font-size:.9rem}.card-face .suit{font-size:.85rem}.card-face.is-empty{color:var(--muted);font-weight:500}.card-face.is-hidden{background-color:#f6efe2;background-image:linear-gradient(135deg,rgba(191,132,92,.2) 25%,transparent 25%),linear-gradient(225deg,rgba(191,132,92,.2) 25%,transparent 25%),linear-gradient(45deg,rgba(191,132,92,.2) 25%,transparent 25%),linear-gradient(315deg,#bf845c33 25%,#f6efe2 25%);background-position:10px 0,10px 0,0 0,0 0;background-size:20px 20px;border-color:#8c604259}.card-face.is-hidden .hidden{opacity:0}.deck-count{font-size:1.8rem}.pile-actions{display:grid;gap:.5rem}.status-line{display:flex;align-items:center;gap:.8rem}.app.is-playing .status-line{gap:.35rem;font-size:1rem}.status-chip{padding:.3rem .7rem;border-radius:999px;background:#f4e0c9;font-size:.9rem;color:#6e4f32}.app.is-playing .status-chip{padding:.18rem .5rem;font-size:.95rem}.score-chip{max-width:60vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action-buttons{display:flex;gap:.6rem;flex-wrap:wrap}.app.is-playing .action-buttons{gap:.2rem}.instruction{margin:0;padding:.6rem .8rem;border-radius:12px;background:#fff3e7;color:#6e4f32;font-size:.9rem}.app.is-playing .instruction{padding:.3rem .5rem;font-size:.75rem;display:none}.app.is-playing .swap-panel{display:none}.round-hands{display:grid;gap:.6rem;padding:.8rem;border-radius:16px;background:#fff7ee;border:1px solid rgba(0,0,0,.06)}.round-hand{display:grid;gap:.35rem}.round-hand-name{font-weight:600;color:#6e4f32}.round-hand-penalty{font-size:.8rem;color:#b04b4b}.round-hand-cards{display:flex;flex-wrap:wrap;gap:.4rem}.card-pill{padding:.25rem .5rem;border-radius:999px;background:#f3e3cf;font-size:.75rem;font-weight:600}.hand-area{display:flex;flex-direction:column;gap:.6rem}.table-layout{position:relative;min-height:100vh;border-radius:28px;background:radial-gradient(circle at 30% 20%,rgba(255,244,226,.9),transparent 55%),radial-gradient(circle at 70% 70%,rgba(232,214,187,.8),transparent 60%),repeating-linear-gradient(45deg,#d6bd9d26 0,#d6bd9d26 10px,#c9ad8b26 10px,#c9ad8b26 20px),radial-gradient(circle at center,#f7efe0,#f2e4d0 70%);border:1px solid rgba(0,0,0,.06);padding:0;margin-bottom:0;width:100%}.app.is-playing .table-layout{min-height:0;width:100%;margin-left:0;border-radius:0;padding:.1rem clamp(12px,2.5vw,28px);flex:1}.game-table{display:grid;grid-template-rows:auto auto auto;gap:.7rem;padding:1rem 1.2rem 1.2rem;min-height:calc(100vh - 220px)}.app.is-playing .game-table{gap:.25rem;padding:0;min-height:0;align-content:stretch;grid-template-rows:max-content 1fr max-content}.app.is-playing,.app.is-playing .main,.app.is-playing .game-panel{width:100%;min-height:100vh;overflow:hidden}.app.is-playing .game-panel{height:100vh;display:flex;flex-direction:column}.app.is-playing .table{display:flex;flex-direction:column;flex:1;min-height:0}.app.is-playing .table{gap:.3rem;justify-content:stretch}.app.is-playing .table-layout{flex:1}.table-zone{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:nowrap}.app.is-playing .table-zone{gap:.5rem}.top-zone,.bottom-zone{justify-content:space-between;padding-inline:clamp(24px,6vw,72px)}.app.is-playing .top-zone{align-self:start}.app.is-playing .bottom-zone{align-self:end;margin-bottom:0;transform:translateY(-24px)}.middle-zone{align-self:center}.app.is-playing .table.board.is-two-player .middle-zone{align-self:center;padding-bottom:0;transform:translateY(-10px)}.app.is-playing .table.board.is-two-player .game-table{align-content:stretch;grid-template-rows:1fr auto 1fr;gap:.25rem}.app.is-playing .table.board.is-two-player .top-zone{align-self:end}.app.is-playing .table.board.is-two-player .bottom-zone{margin-top:auto;margin-bottom:4px;transform:translateY(-8px)}.app.is-playing .table.board.is-two-player .table-layout{padding-bottom:0}.player-area.position-bottomLeft{order:1}.player-area.position-bottomMiddle{order:2}.player-area.position-bottomRight{order:3}.middle-zone{display:grid;grid-template-columns:minmax(200px,1fr) minmax(300px,1.2fr) minmax(200px,1fr);align-items:center;gap:.6rem}.app.is-playing .middle-zone{grid-template-columns:minmax(160px,1fr) minmax(260px,1fr) minmax(160px,1fr);gap:.5rem}.left-zone,.right-zone{justify-content:center;overflow:visible}.center-zone{display:flex;justify-content:center;flex-direction:column;align-items:center;gap:.6rem}.center-cluster{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr));gap:.8rem;align-items:start}.app.is-playing .center-cluster{grid-template-columns:repeat(3,minmax(140px,1fr));gap:.5rem;align-items:center}.pile.compact{display:grid;gap:.4rem;justify-items:center;padding:.6rem;border-radius:16px;background:#fffdf7e6;border:1px solid rgba(0,0,0,.06);width:150px;height:calc(var(--card-h) + 140px);grid-template-rows:auto var(--card-h) auto}.app.is-playing .pile.compact{padding:.4rem;gap:.3rem;width:150px;height:calc(var(--card-h) + 140px);grid-template-rows:auto var(--card-h) auto}.pile.compact.pile-drawn .pile-actions{min-height:96px}.pile.compact .label{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase}.pile.compact .card-slot{width:var(--card-w);height:var(--card-h);min-height:0;padding:0;border:none;background:transparent}.pile.compact .card-face{width:100%;height:100%}.pile.compact .deck-count{font-size:1.1rem}.pile-drawn .card-face{transition:transform .12s ease-out,opacity .12s ease-out}.deck-pile .pile-actions{display:flex;flex-direction:column;gap:.25rem;width:100%;min-height:90px}.deck-pile .label{display:flex;align-items:center;gap:.35rem}.deck-pile .label:after{content:"• " attr(data-count);font-weight:700}.deck-power{margin-top:-.25rem}.pile.compact .ghost,.pile.compact .primary{font-size:.7rem;padding:0 .6rem;min-width:72px;height:36px;border-radius:10px}.app.is-playing .pile.compact .ghost,.app.is-playing .pile.compact .primary{font-size:.66rem;padding:0 .55rem;min-width:70px;height:35px;border-radius:10px}.action-log{width:min(420px,90vw);padding:.5rem .7rem;border-radius:12px;background:#fffdf7eb;border:1px solid rgba(0,0,0,.06);font-size:.75rem;color:#6e4f32}.action-log .label{margin:0 0 .35rem;font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:#9a7b5f}.action-log-line{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.power-action{min-width:140px;height:36px;border-radius:10px;font-size:.7rem}.player-area{display:grid;gap:.6rem;padding:.6rem .8rem;border-radius:18px;background:#fffdf7f5;border:1px solid rgba(0,0,0,.06);box-shadow:0 12px 24px #523b2a1f;position:relative;justify-items:center;flex:0 0 var(--player-w);width:var(--player-w);min-width:var(--player-w);max-width:var(--player-w);overflow:visible;--grid-w: calc( (var(--card-w) * var(--cards-per-row, 5)) + (var(--card-gap) * (var(--cards-per-row, 5) - 1)) );--grid-h: calc((var(--card-h) * 2) + var(--card-gap));--player-w: calc(var(--grid-w) + 1.6rem)}.app.is-playing .player-area{min-width:0;padding:.35rem .45rem;gap:.3rem}.player-area.is-empty{opacity:.25;border-style:dashed}.player-area.is-active{box-shadow:0 16px 32px #78563a38;border-color:#46a0628c;background:#e6f8ebeb}.player-area.is-inactive{opacity:.75}.card-grid-viewport{width:var(--grid-w);height:var(--grid-h);display:grid;place-items:center;position:relative}.card-grid-viewport.viewport-normal{overflow:visible}.card-grid-rotate{display:grid;place-items:center;width:var(--grid-w);height:var(--grid-h)}.card-grid{display:grid;grid-template-columns:repeat(var(--cards-per-row, 5),var(--card-w));grid-template-rows:repeat(2,var(--card-h));gap:var(--card-gap);width:var(--grid-w);height:var(--grid-h)}.player-name-outside{display:flex;flex-direction:column;align-items:center;gap:0;padding:.25rem .6rem;border-radius:999px;background:#f4e6d3eb;color:#5b3f2a;text-align:center;max-width:calc(var(--grid-w) + .6rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-name-text{font-weight:700}.face-avatar{width:32px;height:32px;border-radius:50%;background:#d7b792;color:#5b3f2a;display:grid;place-items:center;font-weight:700}.face-avatar.is-local{background:#d37a4e;color:#fff}.face-meta{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem}.face-name{font-weight:700}.face-status{font-size:.75rem;opacity:.7}.table-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:.6rem;width:min(640px,78%);z-index:2}.table-hand{position:absolute;width:min(320px,58vw);padding:.35rem .4rem;border-radius:16px;background:#fffdf7f5;border:1px solid rgba(0,0,0,.06);box-shadow:0 14px 30px #523b2a1f;transform-origin:center;z-index:1}.table-hand.is-active{box-shadow:0 16px 30px #78563a33;border-color:#d37a4e80}.seat-bottom-left{bottom:.5rem;left:.5rem}.seat-bottom-right{bottom:.5rem;right:.5rem}.seat-left{top:50%;left:.5rem;transform:translateY(-50%) rotate(90deg)}.seat-right{top:50%;right:.5rem;transform:translateY(-50%) rotate(-90deg)}.seat-top-left{top:.5rem;left:.5rem;transform:rotate(180deg)}.seat-top-right{top:.5rem;right:.5rem;transform:rotate(180deg)}.table-hand-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem;font-size:.85rem;font-weight:600}.hand-rows{display:grid;gap:.5rem}.hand-row{display:grid;gap:.25rem}.hand-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--card-w),1fr));gap:.25rem;justify-content:start}.hand-grid.compact{grid-template-columns:repeat(auto-fit,minmax(var(--card-w),1fr))}.hand-grid.compact .card-face{height:var(--card-h)}.hand-card{border:none;padding:0;background:transparent;cursor:default;width:var(--card-w)}.hand-card.is-interactive{cursor:pointer}.hand-card .card-face{width:var(--card-w);height:var(--card-h);position:relative}.hand-card.is-selected .card-face{box-shadow:0 0 0 3px #d37a4e4d}.hand-card.is-blocked .card-face{border-color:#d37a4e}.hand-card.is-drop-target .card-face{box-shadow:0 0 0 3px #77a65e40}.hand-card.is-just-placed .card-face,.hand-card.is-just-revealed .card-face,.hand-card.is-just-swapped .card-face{animation:placed-pop .9s ease}.hand-card.is-just-swapped .card-face{animation-duration:1.6s}@keyframes placed-pop{0%{transform:translateY(0) scale(1);box-shadow:0 0 #d37a4e33}35%{transform:translateY(-8px) scale(1.12);box-shadow:0 14px 28px #d37a4e59}70%{transform:translateY(0) scale(1.04);box-shadow:0 8px 18px #d37a4e33}to{transform:translateY(0) scale(1);box-shadow:0 0 #d37a4e00}}.hidden{font-size:.8rem;color:var(--muted)}.stack-count{position:absolute;bottom:.4rem;right:.4rem;font-size:.65rem;padding:.2rem .4rem;background:#f7efe0;border-radius:999px}.tag{position:absolute;top:.4rem;left:.4rem;font-size:.65rem;padding:.2rem .4rem;background:#f9d6b8;border-radius:999px}.swap-panel{display:flex;flex-direction:column;gap:.8rem;padding:1rem;border-radius:16px;background:#fff3e7;border:1px dashed rgba(0,0,0,.08)}.swap-targets{display:flex;gap:.6rem;flex-wrap:wrap}.target-hand{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:.5rem}.target-card .card-face{height:120px}.finale{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.summary-grid{display:grid;gap:.4rem;margin-top:.8rem}.summary-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.6rem;font-size:.9rem;color:var(--muted)}button.primary,button.ghost{font-family:Trebuchet MS,Lucida Grande,Lucida Sans Unicode,sans-serif;border-radius:999px;padding:.6rem 1.4rem;font-size:.9rem;border:1px solid transparent;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.app.is-playing button.primary,.app.is-playing button.ghost{padding:.55rem 1.2rem;font-size:1rem}button.primary{background:var(--accent);color:#fff;box-shadow:0 10px 24px #d37a4e40}button.primary:hover{transform:translateY(-1px)}button.ghost{background:transparent;border-color:#00000026;color:var(--ink)}button.ghost.is-selected{border-color:var(--accent);box-shadow:0 0 0 2px #d37a4e33}button.ghost:disabled,button.primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}@media (max-width: 960px){.room-card{min-width:100%}.table-layout{min-height:auto}.game-table{min-height:auto;gap:1rem;padding:1rem .8rem 1.2rem}.middle-zone{grid-template-columns:1fr;gap:1rem}.center-cluster{grid-template-columns:1fr}.player-area{min-width:100%}}@media (max-width: 720px){.hero{flex-direction:column;align-items:flex-start}.table-row.actions{grid-template-columns:1fr}}:root{font-family:Trebuchet MS,Lucida Grande,Lucida Sans Unicode,sans-serif;line-height:1.5;font-weight:400;color:#2a1f17;background-color:#f6efe3;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #2a1f17;--muted: #6f5b4b;--paper: #fff8ed;--accent: #d37a4e;--accent-soft: #f6e5d8;--shadow-soft: 0 24px 60px rgba(72, 51, 36, .12)}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}body{min-height:100vh;overflow:hidden;background-image:radial-gradient(circle at top,#ffffffe6,#fff0 60%),linear-gradient(140deg,#f2e6d4,#efe2cf 40%,#f7efe0);color:var(--ink)}#root{max-width:none;margin:0}button{font-family:inherit}ul{padding-left:1.1rem}p{margin:.4rem 0}
