:root{font-family:PingFang SC,Microsoft YaHei,sans-serif;font-size:16px;color:#f4f4f4;background-color:#1b1e2e}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top,#2b2f48,#141625 65%)}#app{min-height:100vh;display:flex;align-items:center;justify-content:center}.game-root{width:min(1200px,95vw);min-height:90vh;padding:24px;display:flex;flex-direction:column;gap:16px;background:#101220d9;border-radius:24px;box-shadow:0 12px 40px #00000073}.hud{display:flex;align-items:center;justify-content:space-between;gap:12px}.status-message{font-size:1.2rem;font-weight:600}.turn-info{margin-top:6px;color:#b0b8d1}.table{flex:1;display:grid;grid-template-columns:240px 1fr 240px;gap:16px;align-items:center}.player-slot{padding:16px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:#2d325073;display:flex;flex-direction:column;gap:8px;transition:border-color .2s ease,box-shadow .2s ease}.player-slot.active{border-color:#ffda79;box-shadow:0 0 12px #ffe38299}.player-slot.human{flex-direction:column}.player-header{display:flex;align-items:center;gap:8px;font-weight:600}.role-tag{padding:2px 8px;border-radius:999px;background:#ffda7926;color:#ffd56d;font-size:.85rem}.card-count,.hand-count{color:#9aa3c4;font-size:.9rem}.play-area{padding:16px;border-radius:24px;background:#23263ccc;min-height:150px;display:flex;flex-direction:column;justify-content:center;gap:16px}.bottom-card-panel{display:flex;align-items:center;gap:12px}.bottom-card-panel .label{font-size:.9rem;color:#9aa3c4}.bottom-cards,.card-list,.human-hand{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}.human-hand{touch-action:none}.bot-hand{position:relative;min-height:60px}.bot-hand .card{position:absolute;top:0;left:calc(var(--index) * 12px)}.bot-hand .extra-count{position:absolute;bottom:-6px;right:0;font-size:.8rem;color:#cfd4ef}.card{width:48px;height:70px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:600;box-shadow:0 4px 8px #0006;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.card.face{background:linear-gradient(135deg,#fff,#ffe3b8);color:#2b2b2b;border:2px solid rgba(255,153,0,.35)}.card.face.small{width:40px;height:60px;font-size:.9rem}.card.face.selected{transform:translateY(-12px) scale(1.05);border-color:#ff8b5f;box-shadow:0 10px 15px #ff8b5f73}.card.back{background:linear-gradient(160deg,#5260ff,#8f94ff);border:2px solid rgba(255,255,255,.1)}.actions{margin-top:16px;display:flex;gap:12px}.action{padding:10px 16px;border-radius:999px;border:none;cursor:pointer;font-weight:600;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;background:#ffffff1a;color:#f1f1f1}.action.primary{background:linear-gradient(135deg,#f857a6,#ff5858);color:#fff;box-shadow:0 8px 20px #f857a673}.action.ghost{background:#ffffff26}.action:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.action:not(:disabled):active{transform:translateY(1px)}.recent-play{min-height:120px;padding:10px;border-radius:14px;background:#121526b3;display:flex;flex-direction:column;gap:6px}.recent-title{font-size:.85rem;color:#ffc973;text-align:center}.recent-play .card-list{justify-content:center}.empty-hint{color:#8a93b5;text-align:center}.toast{position:fixed;left:50%;top:20px;transform:translate(-50%);padding:10px 18px;background:#121526e6;border-radius:999px;color:#ffdcdc;font-weight:600;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;z-index:10}.toast.visible{opacity:1;transform:translate(-50%)}@media(max-width:900px){.table{grid-template-columns:1fr}.player-slot.bot{flex-direction:row;align-items:center}.bot-hand{min-height:40px}.recent-play{min-height:unset}}
