:root{--bg: #0d1018;--panel: #161a26;--panel-2: #1c2233;--felt: #1a1530;--felt-line: #2a2150;--accent: #8b6cff;--accent-2: #b59bff;--accent-dim: #5b45b0;--text: #e9e7f6;--muted: #948fb0;--card-bg: #f6f4ee;--card-back: #3a2a6b;--card-back-2: #271a52;--red: #d23b6b;--black: #221c33;--slot: rgba(255, 255, 255, .06);--slot-line: rgba(255, 255, 255, .14);--shadow: rgba(0, 0, 0, .5);--meld: #8b6cff;--dead: #d23b6b}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}#app{max-width:1060px;margin:0 auto;padding:14px 14px 40px}header.g-header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;margin-bottom:12px}header.g-header h1{margin:0;font-size:clamp(22px,4vw,34px);letter-spacing:.14em;font-weight:800;background:linear-gradient(90deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.g-sub{color:var(--muted);font-size:13px}.g-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:14px}.g-toolbar .spacer{flex:1}button.g-btn{background:var(--panel-2);color:var(--text);border:1px solid var(--slot-line);border-radius:8px;padding:8px 13px;font-size:14px;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s,transform .05s}button.g-btn:hover:not(:disabled){background:#283150;border-color:var(--accent-dim)}button.g-btn:active:not(:disabled){transform:translateY(1px)}button.g-btn:disabled{opacity:.4;cursor:default}button.g-btn.primary{background:var(--accent-dim);border-color:var(--accent)}button.g-btn.primary:hover:not(:disabled){background:var(--accent);color:#100a24}.g-stat{background:var(--panel);border:1px solid var(--slot-line);border-radius:8px;padding:6px 12px;font-size:13px;color:var(--muted)}.g-stat b{color:var(--text);font-variant-numeric:tabular-nums}.g-board{position:relative;background:radial-gradient(circle at 50% 0%,var(--felt-line),var(--felt) 65%);border:1px solid #120d28;border-radius:14px;padding:16px;box-shadow:inset 0 1px #ffffff0d,0 8px 30px var(--shadow);display:grid;grid-template-columns:1fr 1.15fr;gap:18px}@media(max-width:720px){.g-board{grid-template-columns:1fr}}.g-rowlabel{color:var(--muted);font-size:12px;letter-spacing:.12em;font-weight:700;margin-bottom:8px}.g-table{display:flex;flex-direction:column;gap:14px}.g-cpu-hand{display:flex;flex-wrap:wrap;gap:5px;min-height:56px}.g-center{display:flex;align-items:flex-start;gap:18px;padding:14px 0;border-top:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07)}.g-pile{display:flex;flex-direction:column;align-items:center;gap:4px}.g-cap{color:var(--muted);font-size:11px}.g-status{flex:1;color:var(--text);font-size:14px;font-weight:600;min-height:1em;align-self:center}.g-column-wrap{display:flex;flex-direction:column}.g-column{position:relative;display:flex;flex-direction:column;gap:4px;padding:6px;background:#0000002e;border:1px solid var(--slot-line);border-radius:12px;min-height:120px}.g-column.placing{box-shadow:0 0 0 2px var(--accent) inset}@keyframes settle{0%{transform:translateY(-10px);opacity:.4}to{transform:translateY(0);opacity:1}}.g-colrow{animation:settle .18s ease}.g-slotzone{height:14px;margin:-2px 0;border-radius:5px;cursor:pointer;transition:background .1s,height .1s}.g-slotzone:hover{background:var(--accent);height:20px}.g-slotzone.active{background:var(--accent-dim)}.g-colrow{display:flex;align-items:center;gap:8px;padding:3px 7px;border-radius:8px;border:1px solid transparent;background:#ffffff05}.g-colrow.melded{border-color:var(--meld);background:#8b6cff1f}.g-colrow.deadwood{border-color:#d23b6b59}.g-colrow.clickable{cursor:pointer}.g-colrow.clickable:hover{background:#ffffff12}.g-colrow.selected{outline:2px solid var(--accent);background:#8b6cff33}.g-colrow.meldstart{border-top-left-radius:8px;border-top-right-radius:8px}.g-coltag{margin-left:auto;font-size:10px;letter-spacing:.08em;font-weight:700;color:var(--muted);text-transform:uppercase}.g-colrow.melded .g-coltag{color:var(--accent-2)}.g-colrow.deadwood .g-coltag{color:var(--dead)}.g-card{border-radius:8px;position:relative;user-select:none;flex:0 0 auto}.g-card.tall{width:56px;aspect-ratio:5 / 7}.g-card.wide{width:48px;height:34px}.g-card.up{background:var(--card-bg);border:1px solid rgba(0,0,0,.25);box-shadow:0 1px 2px #00000059;overflow:hidden}.g-card.down{background:repeating-linear-gradient(45deg,var(--card-back) 0 7px,var(--card-back-2) 7px 14px);border:1px solid #150d30}.g-card.clickable{cursor:pointer;transition:transform .08s,box-shadow .08s}.g-card.clickable:hover{transform:translateY(-3px);box-shadow:0 6px 14px #00000080}.g-card.red .corner,.g-card.red .pip{color:var(--red)}.g-card.black .corner,.g-card.black .pip{color:var(--black)}.g-card .corner{position:absolute;top:4%;left:7%;font-weight:800;line-height:1;font-size:14px;display:flex;flex-direction:column;align-items:center}.g-card .corner .c-suit{font-size:.82em}.g-card.tall .pip{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:26px;line-height:1}.g-card.wide .corner{font-size:13px;flex-direction:row;gap:2px;left:10%;top:22%}.g-card.wide .pip{display:none}.g-slot{width:56px;aspect-ratio:5 / 7;border-radius:8px;background:var(--slot);border:1.5px dashed var(--slot-line);display:flex;align-items:center;justify-content:center;color:#ffffff38;font-size:22px}.g-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}.g-actionhint{color:var(--muted);font-size:13px}.g-overlay{position:fixed;inset:0;background:#06070dd1;display:none;align-items:center;justify-content:center;padding:16px;z-index:100}.g-overlay.show{display:flex}.g-overlay-card{background:var(--panel);border:1px solid var(--accent);border-radius:14px;padding:20px 22px;max-width:640px;width:100%;max-height:92vh;overflow-y:auto;box-shadow:0 20px 60px #0009}.g-ov-title{margin:0 0 6px;font-size:22px;letter-spacing:.04em;color:var(--accent-2)}.g-ov-sum{color:var(--text);font-size:14px;margin-bottom:14px}.g-ov-hand{background:var(--panel-2);border:1px solid var(--slot-line);border-radius:10px;padding:10px 12px;margin-bottom:10px}.g-ov-handlabel{font-size:12px;letter-spacing:.1em;color:var(--muted);font-weight:700;margin-bottom:6px}.g-ov-melds{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px}.g-ov-meld{display:flex;gap:3px;padding:4px 6px;background:#8b6cff24;border:1px solid var(--accent-dim);border-radius:8px}.g-ov-dw,.g-ov-layoff{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.g-ov-layoff{margin-top:6px}.g-ov-dwlabel{color:var(--muted);font-size:12px;margin-right:4px}.g-ov-none{color:var(--muted);font-size:12px;font-style:italic}.g-mini{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 5px;background:var(--card-bg);border:1px solid rgba(0,0,0,.25);border-radius:5px;font-weight:800;font-size:14px}.g-mini.red{color:var(--red)}.g-mini.black{color:var(--black)}.g-overlay-card .g-btn{margin-top:10px}.g-hint{color:var(--muted);font-size:12.5px;margin-top:12px;line-height:1.6}@media(max-width:560px){#app{padding:8px}.g-board{padding:9px}.g-card.tall,.g-slot{width:46px}.g-card.wide{width:42px;height:30px}.g-stat{padding:5px 9px;font-size:12px}}
