:root{--felt: #15663f;--gold: #e8c55b;--gold-deep: #b8902f;--card-bg: #fdfdf7;--card-red: #c62828;--card-black: #1c1c1c;--red-bright: #ff6b6b;--shadow: rgba(0, 0, 0, .4);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}:root{--felt-1: #1a7a4a;--felt-2: #126039;--felt-3: #0b3f26}body{color:#f5f5f0;overflow:hidden;background:radial-gradient(ellipse at 50% 28%,rgba(255,255,255,.08),transparent 55%),radial-gradient(circle at 50% 48%,var(--felt-1) 0%,var(--felt-2) 45%,var(--felt-3) 100%);background-attachment:fixed}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.05;background-image:radial-gradient(rgba(255,255,255,.7) 1px,transparent 1px);background-size:4px 4px}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;box-shadow:inset 0 0 240px #0009}button{font-family:inherit;cursor:pointer}.menu{position:relative;height:100%;overflow-y:auto;text-align:center}.menu-inner{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:26px 16px}.btn-play{font-size:21px;padding:16px 46px}.settings-modal{min-width:340px}.menu-suits{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.menu-suits span{position:absolute;font-size:260px;opacity:.05;line-height:1}.menu-suits .s1{top:-40px;left:4%}.menu-suits .s2{bottom:-70px;left:22%}.menu-suits .s3{top:-30px;right:6%}.menu-suits .s4{bottom:-60px;right:20%}.menu>*:not(.menu-suits):not(.overlay){position:relative;z-index:1}.logo{text-align:center;margin-bottom:4px}.logo-word{font-family:Georgia,Times New Roman,serif;font-size:88px;font-weight:800;letter-spacing:8px;margin:0;padding-left:8px;background:linear-gradient(180deg,#fff0b8,#f0cf6c 42%,#b8902f 72%,#ffe79a);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 0 rgba(0,0,0,.35)) drop-shadow(0 8px 18px rgba(0,0,0,.55))}.logo-suits{display:flex;gap:16px;justify-content:center;margin-top:6px;font-size:26px}.logo-suits .red{color:var(--red-bright);text-shadow:0 1px 3px rgba(0,0,0,.5)}.logo-suits .black{color:#f3eee0;text-shadow:0 1px 3px rgba(0,0,0,.5)}.subtitle{opacity:.85;margin-top:10px;letter-spacing:2px;font-size:15px}.hero{display:flex;justify-content:center;align-items:flex-end;height:150px;margin:4px 0 6px}.hero-card{margin-left:-36px;transform-origin:bottom center;filter:drop-shadow(0 10px 14px rgba(0,0,0,.45));animation:heroFloat 5s ease-in-out infinite}.hero-card:first-child{margin-left:0}@keyframes heroFloat{0%,to{translate:0 0}50%{translate:0 -8px}}.menu-card{background:#00000047;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(232,197,91,.35);border-radius:16px;padding:24px 32px;display:flex;flex-direction:column;gap:16px;min-width:340px;box-shadow:0 12px 30px #0006}.option-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.seg{display:flex;gap:6px;flex-wrap:wrap}.seg button{border:1px solid rgba(255,255,255,.2);background:#ffffff0f;color:#f5f5f0;padding:7px 14px;border-radius:8px;font-size:14px;transition:all .15s}.seg button:hover{background:#ffffff24}.seg button.active{background:linear-gradient(180deg,var(--gold),var(--gold-deep));color:#241c05;border-color:var(--gold);font-weight:700}.flag{font-size:14px}.back-thumb{padding:2px;width:36px;height:50px;border:1px solid rgba(255,255,255,.2);background:#ffffff0f;border-radius:7px}.back-thumb img{width:100%;height:100%;display:block;border-radius:4px}.back-thumb.active{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}.btn-primary{background:linear-gradient(180deg,#f3d36e,var(--gold-deep));color:#241c05;border:none;border-radius:11px;padding:14px 30px;font-size:18px;font-weight:700;box-shadow:0 6px 18px #00000073;transition:transform .1s,filter .15s}.btn-primary:hover{filter:brightness(1.06);transform:translateY(-1px)}.btn-secondary{background:#ffffff1a;color:#f5f5f0;border:1px solid rgba(255,255,255,.28);border-radius:11px;padding:11px 22px;font-size:15px;transition:background .15s}.btn-secondary:hover{background:#ffffff2e}.table{height:100%;display:grid;grid-template-rows:auto 1fr auto;position:relative}.opponents{display:flex;justify-content:center;gap:44px;padding:18px}.opponent{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 16px;border-radius:14px;transition:background .2s,box-shadow .2s}.opponent.active{background:#e8c55b29;animation:turnPulse 1.6s ease-in-out infinite}@keyframes turnPulse{0%,to{box-shadow:0 0 0 2px var(--gold) inset,0 0 14px #e8c55b40}50%{box-shadow:0 0 0 2px var(--gold) inset,0 0 28px #e8c55b8c}}.hand-area.my-turn{background:radial-gradient(ellipse at 50% 120%,rgba(232,197,91,.16),transparent 60%)}.opp-head{display:flex;flex-direction:column;align-items:center;gap:5px;background:none;border:none;color:inherit;cursor:pointer;padding:0}.opp-head:hover .avatar{box-shadow:0 3px 8px #00000073,inset 0 0 0 2.5px var(--gold)}.catch-btn{display:block;margin-top:4px;background:linear-gradient(180deg,#ff6b6b,#c62828);color:#fff;border:none;border-radius:8px;padding:4px 10px;font-size:12px;font-weight:800;letter-spacing:.5px;box-shadow:0 2px 8px #c6282880;animation:makaoPulse .9s ease-in-out infinite}.oppcard-modal{min-width:440px;max-width:480px}.oppcard-body{display:flex;gap:18px;align-items:stretch;text-align:left}.oppcard-photo{flex:0 0 150px;border-radius:14px;overflow:hidden;box-shadow:0 6px 16px #00000073,inset 0 0 0 2px var(--gold);align-self:stretch}.oppcard-photo img{width:150px;height:100%;min-height:200px;object-fit:cover;object-position:center 18%;display:block}.oppcard-info{flex:1;display:flex;flex-direction:column;gap:8px}.oppcard-info h2{margin:0}.oppcard-rank{color:var(--gold);font-weight:700;font-size:18px}.oppcard-xp{margin:2px 0}.oppcard-style{opacity:.85}.oppcard-badges{grid-template-columns:repeat(3,1fr);margin-top:auto}@media (max-width: 720px){.oppcard-modal{min-width:0}.oppcard-photo,.oppcard-photo img{flex-basis:110px;width:110px}}.avatar{width:84px;height:84px;border-radius:50%;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 4px 10px #00000080,inset 0 0 0 3px var(--gold)}.avatar img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 22%}.opponent .name{font-weight:600;font-size:15px}.opponent .makao-tag{color:var(--gold);font-weight:800;font-size:13px;min-height:16px;letter-spacing:1px}.mini-fan{display:flex}.mini-fan .card-back{width:34px;height:48px;border-width:2px;border-radius:6px;margin-left:-19px}.mini-fan .card-back:first-child{margin-left:0}.center{display:flex;align-items:center;justify-content:center;gap:40px;position:relative}.piles{display:flex;align-items:center;gap:30px}.pile-label{text-align:center;font-size:12px;opacity:.7;margin-bottom:6px;letter-spacing:.5px}.badges{position:absolute;top:8px;display:flex;gap:12px}.badge{background:#00000080;border:1px solid var(--gold);border-radius:20px;padding:6px 14px;font-size:14px;font-weight:600;box-shadow:0 3px 10px #0006}.badge.danger{border-color:var(--card-red);color:#ff9b9b}.card{width:84px;height:120px;position:relative;-webkit-user-select:none;user-select:none;border-radius:4.1%/2.9%;box-shadow:0 3px 6px #0000006b}.card-svg{width:100%;height:100%;display:block;object-fit:fill;pointer-events:none;border-radius:inherit}.card.playable{cursor:pointer;box-shadow:0 0 0 2.5px var(--gold),0 5px 11px #00000080}.card.disabled{filter:brightness(.94) saturate(.92)}.card-back{width:84px;height:120px;position:relative;border-radius:4.1%/2.9%;box-shadow:0 3px 6px #0000006b}.card-back .card-svg{border-radius:inherit}.hand-area{display:flex;flex-direction:column;align-items:center;gap:10px;padding-bottom:20px}.you-bar{display:flex;align-items:center;gap:14px}.you-bar .turn-tag{color:var(--gold);font-weight:700;text-shadow:0 0 10px rgba(232,197,91,.5)}.hand{display:flex;justify-content:center;align-items:flex-end;padding:0 40px;min-height:172px}.hand-card{margin-left:-30px;position:relative}.hand-card:first-child{margin-left:0}.discard-slot{position:relative;width:84px;height:120px}.discard-slot>div{position:absolute;top:0;left:0}.actions{display:flex;gap:12px;align-items:center}.log{position:absolute;right:16px;top:16px;width:230px;max-height:42%;overflow-y:auto;background:#00000052;border-radius:12px;padding:10px 12px;font-size:13px;line-height:1.5;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.log .entry{opacity:.9}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:20;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{background:linear-gradient(180deg,#1f3f2d,#15301f);border:1px solid var(--gold);border-radius:18px;overflow:hidden;padding:28px 34px;text-align:center;display:flex;flex-direction:column;gap:18px;min-width:300px;box-shadow:0 20px 50px #0000008c}@keyframes makaoPulse{0%,to{transform:scale(1);box-shadow:0 6px 18px #00000073}50%{transform:scale(1.07);box-shadow:0 0 0 4px #e8c55b73,0 6px 18px #00000080}}.makao-pulse{animation:makaoPulse .9s ease-in-out infinite}.modal h2{margin:0;color:var(--gold)}.choice-grid{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.choice{width:62px;height:62px;border-radius:12px;border:1px solid rgba(255,255,255,.25);background:linear-gradient(160deg,#fff,#f2eee2);font-size:28px;font-weight:700;display:flex;align-items:center;justify-content:center;transition:transform .1s,box-shadow .15s}.choice:hover{transform:translateY(-3px);box-shadow:0 6px 14px #0006}.choice.red{color:var(--card-red)}.choice.black{color:var(--card-black)}.choice.rank{color:#1c1c1c;font-size:22px}.tutorial-modal{max-width:500px;text-align:left;gap:14px}.tutorial-cards{display:flex;gap:10px;justify-content:center;align-items:center;min-height:96px;margin-bottom:6px}.tutorial-cards .card,.tutorial-cards .card-back{width:60px;height:86px}.tutorial-head{display:flex;align-items:baseline;justify-content:space-between}.tutorial-step{opacity:.6;font-size:14px}.tutorial-content{min-height:124px}.tutorial-content h3{margin:0 0 8px;color:var(--gold)}.tutorial-body{margin:0;line-height:1.65;opacity:.95}.tutorial-dots{display:flex;gap:8px;justify-content:center}.tutorial-dots .dot{width:9px;height:9px;border-radius:50%;background:#ffffff40;cursor:pointer;transition:background .2s}.tutorial-dots .dot.on{background:var(--gold)}.tutorial-nav{display:flex;align-items:center;justify-content:space-between}.profile-bar{display:flex;align-items:center;gap:14px;background:#0000004d;border:1px solid rgba(232,197,91,.4);color:#f5f5f0;border-radius:12px;padding:8px 16px;font-size:14px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.profile-bar:hover{background:#0000006b}.pb-rank{display:flex;align-items:center;gap:6px;font-weight:700;color:var(--gold)}.pb-icon{font-size:18px}.pb-xp{display:flex;align-items:center;gap:8px}.pb-xp-track{width:110px;height:8px;border-radius:4px;background:#ffffff26;overflow:hidden}.pb-xp-fill{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-deep));transition:width .4s ease}.pb-xp-text{opacity:.75;font-size:12px}.pb-streak,.pb-coins{font-weight:700}.rewards{display:flex;flex-direction:column;gap:12px;margin:4px 0}.reward-row{display:flex;justify-content:center;align-items:center;gap:18px}.reward-xp{font-size:30px;font-weight:800;color:var(--gold)}.reward-coins{font-size:18px;font-weight:700}.reward-rankup{color:var(--gold);font-weight:700;font-size:16px}.reward-badges-title{opacity:.8;font-size:13px;margin-bottom:6px}.reward-badge-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.reward-badge{display:flex;flex-direction:column;align-items:center;gap:4px;width:76px}.profile-modal{max-width:460px;text-align:center}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stat{background:#00000038;border-radius:10px;padding:10px 6px}.stat-value{font-size:20px;font-weight:800;color:var(--gold)}.stat-label{font-size:12px;opacity:.75}.profile-section{margin:6px 0 0;color:var(--gold)}.badge-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.badge-grid .badge,.reward-badge{background:#00000040;border:1px solid rgba(232,197,91,.35);border-radius:10px;padding:8px 4px;display:flex;flex-direction:column;align-items:center;gap:4px}.badge-grid .badge.locked{opacity:.45;border-color:#ffffff1f}.badge-icon{font-size:24px}.badge-name{font-size:10.5px;line-height:1.2;opacity:.9}.menu-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.daily-panel{background:#00000042;border:1px solid rgba(232,197,91,.3);border-radius:12px;padding:12px 16px;min-width:340px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.daily-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.daily-title{font-weight:700;color:var(--gold)}.daily-claim{border:1px solid rgba(255,255,255,.25);background:#ffffff14;color:#f5f5f0;border-radius:8px;padding:5px 12px;font-size:13px;font-weight:600}.daily-claim.ready{background:linear-gradient(180deg,var(--gold),var(--gold-deep));color:#241c05;border-color:var(--gold);animation:makaoPulse 1.4s ease-in-out infinite}.challenge-list{display:flex;flex-direction:column;gap:6px}.challenge{display:flex;justify-content:space-between;align-items:center;font-size:13px;padding:4px 0;border-top:1px solid rgba(255,255,255,.08)}.challenge.done .challenge-text{opacity:.6;text-decoration:line-through}.challenge-right{display:flex;gap:10px;align-items:center}.challenge-prog{opacity:.7;font-variant-numeric:tabular-nums}.challenge-coins{color:var(--gold);font-weight:700}.reward-challenge{color:var(--gold);font-weight:600;font-size:14px}.shop-modal{max-width:500px;text-align:center}.shop-head{display:flex;align-items:center;justify-content:space-between}.shop-coins{font-weight:800;color:var(--gold)}.shop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.shop-item{display:flex;flex-direction:column;align-items:center;gap:6px;background:#00000038;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:8px 6px}.shop-item.selected{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}.shop-preview{width:52px;height:74px;border-radius:5px;display:block;box-shadow:0 2px 5px #0006}.shop-preview.theme{border:1px solid rgba(255,255,255,.2)}.shop-name{font-size:11px;opacity:.9}.shop-btn{border:1px solid rgba(255,255,255,.25);background:#ffffff14;color:#f5f5f0;border-radius:7px;padding:4px 10px;font-size:12px;font-weight:600}.shop-btn.buy{background:linear-gradient(180deg,var(--gold),var(--gold-deep));color:#241c05;border-color:var(--gold)}.shop-btn:disabled{opacity:.5}.lb-modal{max-width:420px;text-align:center}.lb-nick{display:flex;gap:8px}.lb-input{flex:1;background:#00000040;border:1px solid rgba(255,255,255,.25);color:#f5f5f0;border-radius:8px;padding:8px 12px;font-size:14px}.lb-list{display:flex;flex-direction:column;gap:4px;max-height:320px;overflow-y:auto}.lb-row{display:grid;grid-template-columns:28px 1fr auto auto;gap:10px;align-items:center;padding:7px 10px;border-radius:8px;background:#0003;font-size:14px}.lb-row.me{border:1px solid var(--gold);background:#e8c55b1f}.lb-pos{font-weight:800;color:var(--gold)}.lb-name{text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-xp{font-variant-numeric:tabular-nums;opacity:.85}.lb-wins{opacity:.7;font-size:12px}.lb-empty{opacity:.7;padding:16px}.code-box{background:#00000040;border:1px solid rgba(232,197,91,.3);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.code-row{display:flex;align-items:center;gap:10px}.code-label{font-size:13px;opacity:.8}.code-val{flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:16px;font-weight:700;letter-spacing:2px;color:var(--gold);background:#0000004d;border-radius:6px;padding:4px 8px;text-align:center;-webkit-user-select:all;user-select:all}.restore-row{display:flex;gap:8px}.restore-msg{font-size:13px;text-align:center;color:var(--gold)}@media (max-width: 720px){.card,.card-back,.discard-slot{width:62px;height:88px}.hand-card{margin-left:-24px}.hand{min-height:124px;padding:0 14px}.mini-fan .card-back{width:24px;height:34px;margin-left:-14px;border-width:2px}.opponents{gap:14px;padding:10px}.opponent{padding:6px 8px}.avatar{width:60px;height:60px}.center{gap:18px}.piles{gap:16px}.log{width:140px;font-size:11px;top:8px;right:8px;max-height:28%}.actions{flex-wrap:wrap;justify-content:center}.logo-word{font-size:52px;letter-spacing:4px}.hero{height:104px}.hero-card{margin-left:-40px}.menu-card,.daily-panel{min-width:0;width:92vw;max-width:360px}.btn-play{font-size:18px;padding:14px 32px}.modal{min-width:0;width:92vw}.shop-grid{grid-template-columns:repeat(3,1fr)}}
