:root{--bg: #0b2a3b;--felt: #103a52;--felt2: #0c2c40;--line: #1d5a78;--ink: #eef6fb;--dim: #a9c8da;--accent: #57e0c6;--slot: rgba(0,0,0,.24);--red: #e0524a;--black: #1c2230;--north: #5aa8ff;--south: #ff7a5a;--attract: #5cf08a}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:radial-gradient(900px 560px at 50% -10%,#103a52,#07202e);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,sans-serif;display:flex;justify-content:center;-webkit-user-select:none;user-select:none}#app{width:100%;max-width:760px;padding:12px 10px 26px}header{text-align:center;margin-bottom:6px}h1{margin:0;font-size:25px;letter-spacing:3px;font-weight:800;color:var(--accent)}.sub{margin:2px 0 0;color:#bfe0d0;font-size:13px}.bar{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;align-items:center;margin:8px 0}.seg{display:inline-flex;background:#0003;border:1px solid var(--line);border-radius:999px;overflow:hidden}.seg button{background:none;border:none;color:#cfeadd;padding:6px 13px;font:600 13px system-ui;cursor:pointer}.seg button.active{background:var(--accent);color:#06291f}.btn{background:#00000038;border:1px solid var(--line);color:var(--ink);padding:7px 14px;border-radius:999px;font:700 13px system-ui;cursor:pointer}.btn:hover{border-color:var(--accent)}.status{text-align:center;min-height:20px;margin:4px 0;color:#cfeadd;font-size:13px;font-weight:600}.stage{position:relative}.top{display:flex;justify-content:space-between;gap:6px;margin-bottom:12px}.group{display:flex;gap:6px}.slot{width:var(--cw);height:var(--ch);border-radius:7px;background:var(--slot);border:1px dashed rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;color:#ffffff40;font-size:20px}.cols{display:grid;grid-template-columns:repeat(8,1fr);gap:6px}.col{position:relative;min-height:calc(var(--ch) + 12px);border-radius:7px}.col.empty-target{background:var(--slot)}.col.target{box-shadow:0 0 0 2px var(--attract),0 0 14px 2px #5cf08a8c}.col.target.empty-target{background:#5cf08a29}.card{width:100%;height:var(--ch);border-radius:7px;background:#fbfcf8;color:var(--black);position:absolute;left:0;box-shadow:0 1px 2px #00000059;cursor:pointer;border:1px solid #c7ccd4;padding:3px 5px;font-weight:800;line-height:1}.slot .card{position:static}.card.red{color:var(--red)}.card .corner{font-size:clamp(12px,3.4vw,17px)}.card .pip{position:absolute;right:5px;bottom:3px;font-size:clamp(13px,3.8vw,19px)}.card .pole{position:absolute;top:4px;right:5px;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:900;color:#fff;letter-spacing:0}.card.north .pole{background:var(--north);box-shadow:0 0 5px #5aa8ffb3}.card.south .pole{background:var(--south);box-shadow:0 0 5px #ff7a5ab3}.card.north{border-top:3px solid var(--north)}.card.south{border-top:3px solid var(--south)}.card.sel{outline:3px solid var(--accent);outline-offset:-1px;z-index:50}:root{--cw: 56px;--ch: 78px}@media(max-width:560px){:root{--cw: 38px;--ch: 56px}.card .pole{width:13px;height:13px;font-size:8px}}.overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#041018bd;backdrop-filter:blur(3px)}.overlay.hidden{display:none}.card-modal{background:#0e3346;border:1px solid var(--line);border-radius:16px;padding:22px 26px;text-align:center;max-width:340px}.card-modal h2{margin:0 0 6px;font-size:24px;color:var(--accent)}.card-modal p{margin:6px 0;color:#cfeadd;font-size:14px}.card-modal .row{display:flex;gap:8px;justify-content:center;margin-top:14px}.hint{text-align:center;color:#9fc4d4;font-size:12px;margin-top:10px;line-height:1.5}
