*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,system-ui,sans-serif;color:#1c2733;background:#f4f6f8}h2{margin:.2rem 0 .8rem}button{font:inherit;border:1px solid #c3ccd5;background:#fff;border-radius:6px;padding:.35rem .8rem;cursor:pointer}button:hover{background:#eef2f6}button.primary{background:#3b82f6;border-color:#3b82f6;color:#fff}button.primary:hover{background:#2f6fd6}.empty{color:#6b7684;font-style:italic}code{background:#e8edf2;padding:0 .25rem;border-radius:4px}select,textarea,input{font:inherit;border:1px solid #c3ccd5;border-radius:6px;padding:.3rem .5rem;background:#fff}label{display:inline-flex;flex-direction:column;gap:.2rem;font-size:.85rem;color:#4a5563}.library{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:1.25rem;height:100%}@media(max-width:720px){.library{grid-template-columns:1fr}}.chips{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.7rem}.chip{border-radius:999px;font-size:.8rem;padding:.2rem .7rem}.chip.on{background:#1c2733;color:#fff;border-color:#1c2733}.game-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.game-list li{background:#fff;border:1px solid #dbe2e9;border-radius:8px;padding:.5rem .7rem;cursor:pointer;display:flex;flex-direction:column}.game-list li:hover{border-color:#3b82f6}.game-list li.active{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f640}.game-list small{color:#6b7684}.badge.bad{background:#fde3e3;color:#b91c1c;border-radius:4px;padding:0 .3rem;font-size:.75rem;width:fit-content}.detail-head{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.detail-head .facts{display:flex;gap:.8rem;color:#6b7684;font-size:.9rem}.desc{color:#4a5563;max-width:60ch}.tabs-row{display:flex;gap:.3rem;margin:.6rem 0 1rem}.tabs-row button.on{background:#1c2733;color:#fff;border-color:#1c2733}.rules{background:#fff;border:1px solid #dbe2e9;border-radius:8px;padding:1rem 1.4rem;max-width:72ch}.deck-gallery{display:flex;flex-wrap:wrap;gap:.5rem;--card-w: 64px}.deck-card{display:flex;flex-direction:column;align-items:center}.deck-card small{color:#6b7684}.stats{background:#fff;border:1px solid #dbe2e9;border-radius:8px;padding:1rem;overflow:auto;max-height:60vh}.editor{display:grid;grid-template-columns:minmax(300px,640px) minmax(220px,1fr);gap:1rem}.editor textarea{width:100%;font-family:Consolas,monospace;font-size:.82rem}.editor .ok{color:#1f8a4c;font-weight:600}.errors{color:#b91c1c;font-size:.85rem;padding-left:1.1rem}.setup{display:flex;flex-direction:column;gap:.8rem;max-width:480px}.seats{display:flex;flex-wrap:wrap;gap:.6rem}.table{display:grid;grid-template-columns:1fr 280px;grid-template-areas:"head head" "opp ticker" "shared ticker" "hand ticker" "bar ticker";gap:.8rem;position:relative}@media(max-width:860px){.table{grid-template-columns:1fr;grid-template-areas:"head" "opp" "shared" "hand" "bar" "ticker"}}.table-head{grid-area:head;display:flex;gap:1rem;align-items:center}.turn-note{color:#3b82f6;font-weight:600}.opponents{grid-area:opp;display:flex;flex-wrap:wrap;gap:.8rem}.player-box{background:#fff;border:1px solid #dbe2e9;border-radius:8px;padding:.5rem .7rem;min-width:160px;--card-w: 34px}.player-box.acting{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f640}.mini-zone small{color:#6b7684}.fan{display:flex;flex-wrap:wrap;gap:2px}.fan.small .more{align-self:center;color:#6b7684;font-size:.8rem}.shared-zones{grid-area:shared;display:flex;flex-wrap:wrap;gap:1rem;background:#e3ecf3;border-radius:10px;padding:.8rem;--card-w: 62px}.shared-zone{display:flex;flex-direction:column;align-items:center;gap:.2rem}.shared-zone small{color:#4a5563}.empty-slot{width:62px;height:86px;border:2px dashed #b6c2cd;border-radius:7px}.hand-area{grid-area:hand;background:#fff;border:1px solid #dbe2e9;border-radius:10px;padding:.6rem;--card-w: 58px}.hand-area.acting{border-color:#3b82f6}.hand-zone small{color:#6b7684}.action-bar{grid-area:bar;display:flex;flex-wrap:wrap;gap:.4rem}.action-bar .action{font-size:.85rem}.ticker{grid-area:ticker;background:#fff;border:1px solid #dbe2e9;border-radius:8px;padding:.5rem .7rem;max-height:60vh;overflow:auto;font-size:.85rem}.tick{padding:.15rem 0;border-bottom:1px dotted #e4e9ee}.tick small{color:#9aa5b1;margin-right:.3rem}.chooser{position:fixed;bottom:90px;left:50%;transform:translate(-50%);background:#1c2733;color:#fff;padding:.6rem 1rem;border-radius:10px;display:flex;gap:.5rem;align-items:center;z-index:20}.end-screen{position:fixed;inset:0;background:#1c2733d0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;color:#fff;z-index:30}.end-screen .winners{font-size:1.3rem}.rating .star{font-size:1.6rem;background:none;border:none;color:#ffd25e}
