:root{--bg-felt: #0c1813;--bg-felt-pattern: radial-gradient(circle at 50% 35%, #163628 0%, #0d2118 60%, #050d09 100%);--panel-bg: rgba(18, 32, 25, .88);--panel-border: rgba(212, 175, 55, .35);--panel-border-bright: rgba(255, 215, 0, .8);--gold-primary: #f5c542;--gold-glow: rgba(245, 197, 66, .5);--chip-blue: #38bdf8;--chip-blue-glow: rgba(56, 189, 248, .6);--mult-red: #f87171;--mult-red-glow: rgba(248, 113, 113, .6);--xmult-fire: #ff6b00;--text-main: #f8fafc;--text-muted: #94a3b8;--card-width: clamp(52px, 8vw, 84px);--card-height: calc(var(--card-width) * 1.46);--card-radius: 8px;--card-overlap: clamp(-24px, -3.2vw, -16px)}*{box-sizing:border-box;margin:0;padding:0;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}html,body{width:100%;height:100%;overflow:hidden;position:fixed}body{font-family:PingFang SC,Microsoft YaHei,Segoe UI,system-ui,-apple-system,sans-serif;background:var(--bg-felt-pattern);color:var(--text-main);display:flex;flex-direction:column}.crt-overlay{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle at center,transparent 70%,rgba(0,0,0,.65) 100%),linear-gradient(#12101000 50%,#0000001a 50%);background-size:100% 100%,100% 4px;z-index:1000}#app{display:flex;flex-direction:column;height:100vh;height:100dvh;position:relative;z-index:10;overflow:hidden}.top-shelf-bar{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;background:#0a140fcc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--panel-border);gap:12px;flex-shrink:0;overflow-x:auto}.shelf-section{display:flex;align-items:center;gap:8px}.shelf-title{font-size:12px;color:var(--gold-primary);letter-spacing:.5px;font-weight:700;white-space:nowrap}.shelf-slots{display:flex;gap:6px}.joker-slot,.consumable-slot{width:clamp(66px,7.5vw,84px);height:clamp(82px,9.5vw,104px);border-radius:7px;background:#0f191499;border:1.5px dashed rgba(212,175,55,.3);display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;transition:all .2s ease;cursor:pointer;flex-shrink:0}.joker-card,.consumable-card{width:100%;height:100%;border-radius:6px;padding:4px;display:flex;flex-direction:column;justify-content:space-between;text-align:center;border:1.5px solid var(--panel-border);background:linear-gradient(145deg,#1e2e25,#121c17);box-shadow:0 3px 8px #00000080;position:relative;overflow:hidden}.joker-card:hover,.consumable-card:hover{transform:translateY(-2px);border-color:var(--panel-border-bright)}.joker-icon,.consumable-icon{font-size:clamp(20px,2.5vw,26px);margin:1px 0}.joker-name,.consumable-name{font-size:10px;font-weight:700;color:#fff;line-height:1.2}.rarity-Common{border-color:#94a3b8}.rarity-Uncommon{border-color:#22c55e;box-shadow:0 0 6px #22c55e4d}.rarity-Rare{border-color:#3b82f6;box-shadow:0 0 8px #3b82f666}.rarity-Legendary{border-color:#eab308;box-shadow:0 0 12px #eab30899;animation:pulse-legend 2s infinite alternate}@keyframes pulse-legend{0%{box-shadow:0 0 6px #eab30866}to{box-shadow:0 0 16px #eab308cc}}.btn-sound-toggle{background:#1e293bcc;border:1px solid var(--panel-border);border-radius:6px;color:var(--gold-primary);padding:4px 8px;font-size:12px;cursor:pointer;white-space:nowrap}.main-game-arena{display:flex;flex:1;padding:12px 20px;gap:16px;overflow:hidden;position:relative}.left-dashboard{width:clamp(240px,22vw,290px);display:flex;flex-direction:column;gap:10px;flex-shrink:0}.dash-box{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:9px;padding:10px 12px;box-shadow:0 4px 12px #0006}.blind-info-box{background:linear-gradient(135deg,#1c3026eb,#0f1a14eb);border-left:4px solid var(--gold-primary)}.blind-badge{display:inline-block;font-size:10px;font-weight:800;padding:2px 6px;border-radius:4px;background:var(--gold-primary);color:#0c1813;margin-bottom:4px}.blind-name{font-size:17px;font-weight:900;color:#fff}.blind-subtitle{font-size:11px;color:var(--text-muted)}.blind-target{margin-top:8px;display:flex;justify-content:space-between;align-items:flex-end}.target-val{font-size:22px;font-weight:900;color:var(--chip-blue);text-shadow:0 0 8px var(--chip-blue-glow)}.score-progress-container{margin-top:6px;height:6px;background:#00000080;border-radius:3px;overflow:hidden}.score-progress-bar{height:100%;background:linear-gradient(90deg,#38bdf8,#818cf8);width:0%;transition:width .35s ease}.calculator-box{display:flex;align-items:center;justify-content:space-around;padding:10px;background:#08100beb}.score-meter{display:flex;flex-direction:column;align-items:center}.score-meter-label{font-size:10px;letter-spacing:.5px;font-weight:700}.chips-label{color:var(--chip-blue)}.mult-label{color:var(--mult-red)}.score-meter-num{font-size:24px;font-weight:900;letter-spacing:.5px}.chips-num{color:#7dd3fc;text-shadow:0 0 8px var(--chip-blue-glow)}.mult-num{color:#fca5a5;text-shadow:0 0 8px var(--mult-red-glow)}.score-cross{font-size:20px;font-weight:900;color:var(--gold-primary)}.resource-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.res-tile{background:#121c16b3;border:1px solid rgba(212,175,55,.2);border-radius:7px;padding:6px 8px;display:flex;flex-direction:column;align-items:center}.res-label{font-size:10px;color:var(--text-muted)}.res-val{font-size:18px;font-weight:800;margin-top:2px}.hands-val{color:#38bdf8}.discards-val{color:#fb7185}.money-val{color:#facc15}.table-play-area{flex:1;display:flex;flex-direction:column;justify-content:space-between;align-items:center;position:relative;overflow:hidden}.scoring-stage-banner{height:clamp(65px,12vh,90px);display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%}.pattern-eval-badge{font-size:clamp(15px,2.2vw,20px);font-weight:900;color:var(--gold-primary);background:#101c14e0;border:1.5px solid var(--panel-border-bright);padding:4px 14px;border-radius:18px;box-shadow:0 0 14px var(--gold-glow);transition:all .2s ease;white-space:nowrap}.pattern-sub-detail{font-size:12px;color:#cbd5e1;margin-top:4px;white-space:nowrap}.resolution-trace-log{font-size:13px;color:#fde047;font-weight:800;margin-top:2px;min-height:18px;text-shadow:0 0 8px rgba(253,224,71,.8)}.hand-container{display:flex;justify-content:center;align-items:flex-end;width:100%;height:clamp(130px,28vh,180px);padding-bottom:8px;position:relative;touch-action:none}.card-item{width:var(--card-width);height:var(--card-height);background:#fdfefe;border-radius:var(--card-radius);border:1.5px solid #cbd5e1;box-shadow:0 3px 8px #00000073;display:flex;flex-direction:column;justify-content:space-between;padding:4px 5px;cursor:pointer;transition:transform .18s cubic-bezier(.18,.89,.32,1.28),box-shadow .18s ease;margin-left:var(--card-overlap);position:relative;flex-shrink:0}.card-item:first-child{margin-left:0}.card-item:hover{transform:translateY(-20px) scale(1.06)!important;z-index:100!important;box-shadow:0 10px 20px #0009,0 0 10px var(--gold-glow)}.card-item.selected{transform:translateY(-28px) scale(1.08)!important;border-color:#eab308;box-shadow:0 12px 24px #000000b3,0 0 16px #eab308d9;z-index:90!important}.card-item.debuffed{filter:grayscale(.9) brightness(.6);opacity:.7}.card-corner{display:flex;flex-direction:column;align-items:center;line-height:1;z-index:2}.card-rank{font-size:clamp(14px,2vw,17px);font-weight:900;font-family:Segoe UI,system-ui,sans-serif;letter-spacing:-.5px}.card-suit{font-size:clamp(12px,1.6vw,14px);margin-top:1px}.card-center-art{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;align-items:center;font-size:clamp(22px,3.5vw,32px);opacity:.85;pointer-events:none}.card-corner.bottom{transform:rotate(180deg)}.suit-Heart,.suit-Diamond{color:#dc2626}.suit-Spade,.suit-Club{color:#0f172a}.card-item.rank-RedJoker{background:linear-gradient(145deg,#fff1f2,#fee2e2);border:2px solid #dc2626;color:#b91c1c}.card-item.rank-RedJoker .card-rank{font-size:11px;color:#dc2626;font-weight:900}.card-item.rank-RedJoker .card-center-art{font-size:26px;filter:drop-shadow(0 0 6px rgba(220,38,38,.6))}.card-item.rank-BlackJoker{background:linear-gradient(145deg,#f8fafc,#e2e8f0);border:2px solid #334155;color:#0f172a}.card-item.rank-BlackJoker .card-rank{font-size:11px;color:#1e293b;font-weight:900}.card-item.rank-BlackJoker .card-center-art{font-size:26px;filter:drop-shadow(0 0 6px rgba(15,23,42,.5))}.card-item.rank-Two{border-color:#ca8a04}.card-item.rank-Two:before{content:"👑";position:absolute;top:1px;left:50%;transform:translate(-50%);font-size:9px}.card-item.rank-Jack .card-center-art:after{content:"⚔️";font-size:14px;position:absolute}.card-item.rank-Queen .card-center-art:after{content:"👑";font-size:14px;position:absolute}.card-item.rank-King .card-center-art:after{content:"🏰";font-size:14px;position:absolute}.card-item.enhancement-Steel{background:linear-gradient(135deg,#64748b,#334155)!important;color:#f8fafc!important;border-color:#94a3b8}.card-item.enhancement-GoldLeaf{background:linear-gradient(135deg,#fef08a,#eab308)!important;border-color:#ca8a04;box-shadow:0 0 8px #eab30880}.card-item.enhancement-Glass{background:linear-gradient(135deg,#ffffffd9,#bae6fda6)!important;border-color:#38bdf8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.card-badge{position:absolute;top:2px;right:3px;font-size:10px;z-index:4}.action-controls-bar{display:flex;gap:10px;align-items:center;justify-content:center;width:100%;margin-bottom:6px;flex-wrap:wrap}.btn-game{padding:8px 16px;border-radius:8px;font-size:clamp(13px,1.8vw,15px);font-weight:800;letter-spacing:.5px;cursor:pointer;border:none;transition:all .15s ease;display:flex;align-items:center;justify-content:center;gap:6px;box-shadow:0 3px 8px #0000004d;min-height:40px}.btn-game:active{transform:translateY(2px)}.btn-play{background:linear-gradient(135deg,#22c55e,#15803d);color:#fff;border:1px solid #4ade80;min-width:120px}.btn-play:hover{box-shadow:0 0 14px #22c55e99}.btn-play:disabled{background:#334155;color:#64748b;border-color:transparent;cursor:not-allowed;box-shadow:none}.btn-discard{background:linear-gradient(135deg,#ef4444,#b91c1c);color:#fff;border:1px solid #f87171}.btn-discard:hover{box-shadow:0 0 14px #ef444499}.btn-discard:disabled{background:#334155;color:#64748b;border-color:transparent;cursor:not-allowed;box-shadow:none}.btn-sub{background:#1e293bd9;color:#cbd5e1;border:1px solid rgba(212,175,55,.35);font-size:12px;padding:6px 10px}.btn-sub:hover{color:#fff;border-color:var(--gold-primary)}@media(max-width:860px){.top-shelf-bar{padding:4px 8px;gap:6px;min-height:48px}.shelf-title{display:none}.joker-slot,.consumable-slot{width:58px;height:72px}.joker-icon,.consumable-icon{font-size:18px}.joker-name,.consumable-name{font-size:9px}.main-game-arena{flex-direction:column;padding:4px 8px;gap:4px;flex:1;overflow:hidden}.left-dashboard{width:100%;display:grid;grid-template-columns:1.3fr 1fr;gap:4px;flex-shrink:0}.dash-box{padding:4px 6px;border-radius:6px}.blind-info-box{padding:4px 6px}.blind-name{font-size:13px;line-height:1.2}.blind-subtitle{display:none}.blind-target{margin-top:2px}.target-val{font-size:16px}.calculator-box{padding:4px 6px}.score-meter-num{font-size:17px}.score-cross{font-size:14px}.resource-grid{grid-column:span 2;display:flex;justify-content:space-around;gap:4px}.res-tile{padding:2px 4px;flex:1;border-radius:5px}.res-label{font-size:9px}.res-val{font-size:13px;margin-top:0}.table-play-area{flex:1;justify-content:space-between;overflow:hidden}.scoring-stage-banner{height:38px;flex-shrink:0}.pattern-eval-badge{font-size:13px;padding:2px 10px}.pattern-sub-detail{font-size:10px;margin-top:2px}.hand-container{height:clamp(105px,23vh,135px);padding-bottom:2px;margin-bottom:2px;flex-shrink:0}.action-controls-bar{gap:4px;margin-bottom:4px;flex-shrink:0;flex-wrap:nowrap;width:100%}.btn-game{padding:6px 8px;font-size:12px;min-height:36px;flex:1}.btn-play{min-width:90px;flex:1.4}.btn-sub{padding:6px;font-size:11px;flex:.8}}@media(max-width:480px){:root{--card-width: clamp(42px, 10.5vw, 54px);--card-overlap: -18px}.card-rank{font-size:12px}.card-suit{font-size:10px}.card-center-art{font-size:16px}.btn-game{font-size:11px;padding:4px}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;justify-content:center;align-items:center;z-index:500;padding:12px}.modal-content{background:linear-gradient(145deg,#182820,#0d1712);border:2px solid var(--panel-border-bright);border-radius:14px;padding:18px;max-width:820px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 12px 32px #000c,0 0 24px var(--gold-glow)}.modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--panel-border);padding-bottom:10px;margin-bottom:14px}.modal-title{font-size:clamp(18px,2.5vw,22px);font-weight:900;color:var(--gold-primary)}.blinds-selection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.blind-select-card{background:#14231ae6;border:2px solid var(--panel-border);border-radius:10px;padding:12px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;cursor:pointer;transition:all .2s ease}.blind-select-card:hover{transform:translateY(-4px);border-color:var(--panel-border-bright)}.shop-items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin-bottom:16px}.shop-item-card{background:#121e16cc;border:1px solid var(--panel-border);border-radius:8px;padding:8px;display:flex;flex-direction:column;justify-content:space-between;align-items:center;text-align:center;min-height:140px}.shop-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--panel-border);padding-top:12px;flex-wrap:wrap;gap:8px}
