:root{--bg: #0f1319;--panel: #171c24;--text: #e8eef6;--muted: #99a5b3;--accent: #7cc4ff;--danger: #ff6b6b;--ok: #39d98a;--card: #1e2530;--border: #283041}body{background:var(--bg);color:var(--text)}.container{max-width:900px;margin:24px auto;padding:0 16px;font-family:ui-sans-serif,system-ui}h1{font-size:40px;font-weight:800;margin:0 0 12px;letter-spacing:.3px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:14px}.row{display:flex;gap:8px;align-items:center}.grid{display:grid;gap:8px}.grid.cards{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.badge{font-size:12px;color:var(--muted)}.turn{display:inline-flex;align-items:center;gap:8px;font-weight:600;animation:pulse 1.2s infinite}@keyframes pulse{0%{text-shadow:0 0 0 rgba(124,196,255,0)}50%{text-shadow:0 0 12px rgba(124,196,255,.55)}to{text-shadow:0 0 0 rgba(124,196,255,0)}}.btn{padding:9px 14px;border:1px solid var(--border);background:#11161d;color:var(--text);border-radius:10px;cursor:pointer;transition:transform .12s ease,background .12s ease,opacity .12s ease}.btn:hover{transform:translateY(-1px);background:#0d1218}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn.primary{border-color:#2a5d85;background:#11314b}.btn.danger{border-color:#7a2b2b;background:#321316}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:10px 8px;text-align:center;-webkit-user-select:none;user-select:none;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,background .12s ease,opacity .12s ease}.card .rank{font-weight:800;font-size:20px;line-height:1}.card .suit{font-size:16px;opacity:.85}.card:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 6px 30px #0000002e}.card.selected{outline:2px solid var(--accent);border-color:var(--accent);background:#162233}.card.blocked{opacity:.45;pointer-events:none}.pile{min-height:94px;display:grid;place-items:center;border:2px dashed var(--border);border-radius:14px;padding:10px;background:#0c1117}.flash{animation:flash .45s ease}@keyframes flash{0%{box-shadow:0 0 #7cc4ff00}50%{box-shadow:0 0 24px #7cc4ff59}to{box-shadow:0 0 #7cc4ff00}}:root{--bg: #0b1118;--fg: #e7eefc;--muted: #9fb3cc;--panel: #0f1622;--panel-2: #0b131e;--border: #1c2a3b;--accent: #69a8ff;--accent-2: #4fd1c5;--danger: #ff6868;--warning: #ffa94d;--card: #0c121a;--shadow: 0 8px 24px rgba(0,0,0,.35);--chip-bg: #0f1722;--chip-border: #223349;--chip-hi: #5aa7ff;--red: #ff5b6e;--black: #e7eefc}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;background:radial-gradient(1000px 800px at 20% -10%,#142030,#0b1118 50%) fixed;color:var(--fg);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,Helvetica Neue,Arial,"Apple Color Emoji","Segoe UI Emoji";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.container{max-width:1100px;margin:0 auto;padding:24px}h1{margin:0 0 8px;font-weight:800;letter-spacing:.2px}h3{margin:12px 0 6px;font-weight:700}.panel{background:linear-gradient(180deg,var(--panel) 0%,var(--panel-2) 100%);border:1px solid var(--border);border-radius:16px;padding:14px;box-shadow:var(--shadow)}.row{display:flex;gap:10px;align-items:center}input{background:#0d141f;color:var(--fg);border:1px solid var(--border);border-radius:10px;padding:10px 12px;outline:none;width:100%}input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #69a8ff1f}.btn{appearance:none;border:1px solid var(--border);background:#101a28;color:var(--fg);border-radius:12px;padding:10px 14px;cursor:pointer;font-weight:700;transition:transform .06s ease,box-shadow .12s ease,border-color .12s ease,background .12s ease;min-height:44px;touch-action:manipulation}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn.primary{background:linear-gradient(180deg,#1e3150,#142339);border-color:#284064;box-shadow:0 8px 22px #69a8ff2e}.btn.primary:hover{box-shadow:0 10px 26px #69a8ff47}.btn.danger{background:linear-gradient(180deg,#3a1720,#2a1219);border-color:#6d2b39;color:#ffdfe1;box-shadow:0 8px 22px #ff68682e}.btn.warning{background:linear-gradient(180deg,#3a2a12,#2f220f);border-color:#6e4b1b;color:#ffe3b0;box-shadow:0 8px 22px #ffa94d2e}.badge{font-size:12px;font-weight:800;padding:4px 8px;background:#0f1a28;border:1px solid var(--border);border-radius:10px;color:var(--muted)}.pill{background:#101620;border:1px solid var(--border);border-radius:999px;padding:4px 10px;font-size:12px}.playersGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin-top:6px}.playerCard{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:10px;transition:box-shadow .15s ease,transform .15s ease,border-color .15s ease}.playerCard.mine{border-color:#365b8d}.playerCard.turnGlow{box-shadow:0 0 22px #7cc4ff40;transform:translateY(-1px)}.playerHeader{display:flex;justify-content:space-between;align-items:center}.playerName{font-weight:700;display:flex;align-items:center;gap:8px}.playerBody{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap}.faceUpRow{display:flex;gap:6px}.playerCard.turnGlow{box-shadow:0 0 0 2px #2ecc7159,0 8px 24px #00000059;border-radius:16px}.turnDot{width:10px;height:10px;border-radius:50%;background:transparent;outline:2px solid transparent}.turnDot.on{background:#2ecc71;outline:2px solid rgba(46,204,113,.35);box-shadow:0 0 0 6px #2ecc711f}.badgeGreen{background:#2ecc7126;border:1px solid rgba(46,204,113,.35)}.grid.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:10px}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:10px 8px;height:96px;display:grid;grid-template-rows:auto 1fr;align-items:start;justify-items:start;cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform .08s ease,box-shadow .12s ease,border-color .12s ease,background .12s ease;box-shadow:0 4px 16px #00000040;position:relative}.card:hover{transform:translateY(-2px)}.card.selected{border-color:var(--accent);box-shadow:0 0 0 1px #69a8ff73,0 0 18px #69a8ff33}.card.blocked{opacity:1;cursor:not-allowed}.card .rank{font-weight:900;font-size:22px;letter-spacing:.2px}.card .suit{margin-top:4px;opacity:.9}.card .suit.red,.miniCard.red{color:var(--red)}.card .suit.black,.miniCard.black{color:var(--black)}.card.blocked:after,.card.blank:after{content:"";position:absolute;inset:0;border-radius:inherit;background:#0c10186b;pointer-events:none}.card.selected.blocked:after{display:none}.card.magic{box-shadow:0 0 0 1px #ffd70059,0 0 16px #ffd70026;animation:magicPulse 2.2s ease-in-out infinite}.miniCard.magic{outline:1px solid rgba(255,215,0,.45);box-shadow:0 0 8px #ffd70040;animation:magicPulse 2.2s ease-in-out infinite}@keyframes magicPulse{0%,to{box-shadow:0 0 0 1px #ffd70059,0 0 10px #ffd7001a}50%{box-shadow:0 0 0 1px #ffd7008c,0 0 18px #ffd70047}}.card.blank{background:#b7c1cf;cursor:default}.card.blank .rank,.card.blank .suit{visibility:visible!important}.card.blank.invalid{filter:grayscale(1) brightness(.7);opacity:.85}.card.punish{background:#3b0b10;color:#ffdfe1;border-color:#7a1e28}.card.punish .rank{font-weight:800}.card.punish .suit{display:none}.card.back{width:72px;height:96px;border-radius:10px;background:#2a2f36;box-shadow:var(--shadow);opacity:.9}.handGlow{border-radius:14px;box-shadow:0 0 0 2px #2ecc7140 inset,0 0 24px #2ecc7124 inset;transition:box-shadow .16s ease;padding:6px}.pile{background:#0d1218;border:1px solid var(--border);border-radius:12px;height:180px;display:grid;place-items:center}.pile.flash{animation:pileFlash .38s ease}@keyframes pileFlash{0%{box-shadow:0 0 #69a8ff00}30%{box-shadow:0 0 0 6px #69a8ff2e}to{box-shadow:0 0 #69a8ff00}}.pile .card{aspect-ratio:5 / 7;height:min(90%,168px);width:auto;padding:12px 10px;border-radius:14px;pointer-events:none;transform:translateZ(0)}.pile .card .rank{font-size:clamp(22px,4.2vw,28px)}.pile .card .suit{font-size:clamp(18px,3.4vw,22px);opacity:1}.pileList{display:flex;flex-wrap:wrap;gap:8px;max-height:160px;overflow:auto;padding-right:6px}.miniCard{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:32px;padding:0 8px;background:var(--chip-bg);border:1px solid var(--chip-border);border-radius:8px;font-weight:800;font-size:13px;letter-spacing:.2px;font-variant-numeric:tabular-nums lining-nums;color:var(--fg)}.miniCard.hi{outline:2px solid var(--chip-hi);border-color:var(--chip-hi);box-shadow:0 0 14px #5aa7ff2e}.miniCard.punish{background:#3b0b10;color:#ffdfe1;border-color:#7a1e28}.miniCard.red{color:var(--red)}.miniCard.black{color:var(--black)}.deckSummary{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:6px}.deckCell{background:#0d1218;border:1px solid var(--border);border-radius:10px;padding:6px;display:grid;grid-template-columns:1fr auto;align-items:center}.deckCell .rankBadge{font-weight:800}.deckCell .count{opacity:.9}.deckCell.hi{border-color:#5aa7ff;box-shadow:0 0 16px #5aa7ff26}.pileList::-webkit-scrollbar{height:8px;width:8px}.pileList::-webkit-scrollbar-thumb{background:#1b2a3e;border-radius:8px}.pileList::-webkit-scrollbar-track{background:transparent}.fxHost{position:fixed;inset:0;display:grid;place-items:center;pointer-events:none;z-index:999}.toast{min-width:280px;max-width:80vw;text-align:center;padding:14px 18px;border-radius:12px;font-weight:700;letter-spacing:.2px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:toastPop .16s ease-out,toastFade 1.6s ease-in forwards}.toastGreen{background:#2ecc7133;border:1px solid rgba(46,204,113,.5);color:#dffbe9}.toastRed{background:#e74c3c33;border:1px solid rgba(231,76,60,.5);color:#ffe5e3}.toastPickup,.toastYellow{background:linear-gradient(180deg,#ffc44d2e,#ffaa4024);border:1px solid rgba(255,196,77,.6);color:#fff4d1;box-shadow:0 10px 26px #ffc44d38;display:inline-flex;align-items:center;gap:10px}.toastPickup:before,.toastYellow:before{content:"🫳🃏";font-size:18px;line-height:1;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35))}.toastPickup .by,.toastYellow .by{font-weight:900}.badgeRed{background:#e74c3c2e;border:1px solid rgba(231,76,60,.45);color:#ffe5e3}.toastPickup .count,.toastYellow .count{background:#ffc44d2e;border:1px solid rgba(255,196,77,.55);padding:2px 8px;border-radius:999px;font-weight:800;letter-spacing:.2px}@keyframes toastPop{0%{transform:translateY(6px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes toastFade{0%{opacity:1}85%{opacity:1}to{opacity:0}}@keyframes shakeStrong{0%{transform:translateZ(0)}15%{transform:translate3d(-6px,3px,0) rotate(-.6deg)}30%{transform:translate3d(7px,-5px,0) rotate(.5deg)}45%{transform:translate3d(-4px,4px,0) rotate(-.3deg)}60%{transform:translate3d(5px,0,0) rotate(.3deg)}75%{transform:translate3d(-3px,2px,0) rotate(-.2deg)}to{transform:translateZ(0)}}@keyframes shakeLight{0%{transform:translateZ(0)}25%{transform:translate3d(3px,-2px,0)}50%{transform:translate3d(-2px,2px,0)}75%{transform:translate3d(2px,-1px,0)}to{transform:translateZ(0)}}.container.shake-strong{animation:shakeStrong .9s cubic-bezier(.36,.07,.19,.97)}.container.shake-light{animation:shakeLight .5s ease}.boom10-overlay,.burn4-overlay{position:fixed;inset:0;pointer-events:none;display:grid;place-items:center;z-index:9999}.boom10-overlay{background:radial-gradient(1200px 800px at 50% 50%,#ff3c3c14,#000000d9);-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);animation:boom10-fade 1.2s ease forwards}@keyframes boom10-fade{0%{opacity:0}10%{opacity:1}80%{opacity:1}to{opacity:0}}.boom10-word{font-size:clamp(48px,12vw,160px);font-weight:900;letter-spacing:.06em;color:#fff;text-shadow:0 0 12px rgba(255,90,90,.9),0 0 38px rgba(255,0,0,.9),0 0 80px rgba(255,150,0,.8);transform:scale(.9);animation:boom10-pop .85s cubic-bezier(.16,.84,.44,1.02) both,boom10-wobble 1.1s ease-out both}@keyframes boom10-pop{0%{transform:scale(.4);filter:blur(6px);opacity:.2}40%{transform:scale(1.2);filter:blur(0);opacity:1}to{transform:scale(1)}}@keyframes boom10-wobble{0%{transform:translateZ(0)}30%{transform:translateY(-6px)}60%{transform:translateY(2px)}to{transform:translateY(0)}}.boom10-shockwave{position:absolute;width:24vmin;height:24vmin;border-radius:50%;border:3px solid rgba(255,200,160,.8);box-shadow:0 0 24px #ff7850cc,inset 0 0 18px #ff785099;animation:shock-out 1s ease-out forwards}@keyframes shock-out{0%{transform:scale(.2);opacity:1}to{transform:scale(5.2);opacity:0}}.boom10-glow{position:absolute;inset:-20%;background:radial-gradient(50% 35% at 50% 50%,#ff783c1f,#f000);filter:blur(18px);animation:glow-pulse 1.2s ease-out forwards}@keyframes glow-pulse{0%{opacity:0}30%{opacity:.9}to{opacity:0}}.burn4-overlay{background:radial-gradient(900px 600px at 50% 55%,#ff963c0f,#0009);animation:burn4-fade .8s ease forwards}@keyframes burn4-fade{0%{opacity:0}20%{opacity:1}to{opacity:0}}.burn4-word{position:absolute;top:46%;font-size:clamp(28px,7.2vw,96px);font-weight:800;text-transform:lowercase;color:#ffd8c2;opacity:.9;text-shadow:0 0 16px rgba(255,120,60,.35);animation:burn4-rise .6s ease-out both}@keyframes burn4-rise{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:.9}}.burn4-ring{position:absolute;width:16vmin;height:16vmin;border-radius:50%;border:2px dashed rgba(255,160,80,.8);animation:ring-lite .65s ease-out forwards}@keyframes ring-lite{0%{transform:scale(.6);opacity:1;filter:blur(0)}to{transform:scale(3.2);opacity:0;filter:blur(2px)}}.flames{position:absolute;inset:0;overflow:hidden;pointer-events:none}.flames.big .flame{--size: 16px;--spread: 42vw;--rise: 36vh}.flames.small .flame{--size: 10px;--spread: 30vw;--rise: 24vh}.flame{position:absolute;left:50%;bottom:12%;width:var(--size);height:var(--size);border-radius:50%;background:radial-gradient(closest-side,#ffd89c,#ff7b00 60%,#ff0000b3);box-shadow:0 0 12px #ff8228cc,0 0 24px #ff5a0080;filter:blur(.2px);opacity:.95;animation:flame-rise calc(.6s + (var(--i) * 40ms)) ease-out forwards;transform:translate(calc((var(--i) - 6) * (var(--spread) / 12))) translateY(0) scale(1) rotate(0)}@keyframes flame-rise{0%{transform:translate(calc((var(--i) - 6) * (var(--spread) / 12))) translateY(0) scale(.7) rotate(0);opacity:0;filter:blur(2px)}20%{opacity:.95;filter:blur(.6px)}to{transform:translate(calc((var(--i) - 6) * (var(--spread) / 12) + (var(--i) - 6) * 4px)) translateY(calc(-1 * var(--rise))) scale(.9) rotate(calc((var(--i) - 6) * 3deg));opacity:0;filter:blur(3px)}}.skullFx{position:fixed;inset:0;display:grid;place-items:center;font-size:clamp(56px,12vw,160px);line-height:1;color:#fff;text-shadow:0 10px 30px rgba(0,0,0,.6);animation:skullPop 1.2s ease-out forwards;pointer-events:none;z-index:1000}.skullFx.red{background:radial-gradient(500px 350px at 50% 45%,#e74c3c38,#e74c3c00 70%),#e74c3c14}@keyframes skullPop{0%{transform:scale(.6);opacity:0;filter:drop-shadow(0 0 0 rgba(255,255,255,0))}20%{transform:scale(1.1);opacity:1;filter:drop-shadow(0 0 12px rgba(255,255,255,.4))}60%{transform:scale(1);opacity:1}to{transform:scale(1);opacity:0}}.pickupFx{position:fixed;inset:0;pointer-events:none;display:grid;place-items:center;z-index:10000;animation:pickupFade 1.2s ease forwards}@keyframes pickupFade{0%{opacity:0}10%{opacity:1}85%{opacity:1}to{opacity:0}}.pickupBadge{display:inline-flex;align-items:center;gap:10px;font-weight:900;padding:12px 16px;border-radius:14px;background:#0f1a28cc;border:1px solid rgba(105,168,255,.5);color:#eef6ff;text-shadow:0 2px 6px rgba(0,0,0,.35);box-shadow:0 8px 26px #00000059;transform:translateY(-40px);animation:pickupDrop .42s cubic-bezier(.2,.8,.25,1.1) both}.pickupBadge .emoji{font-size:22px}@keyframes pickupDrop{0%{transform:translateY(-70px) scale(.96);opacity:0}to{transform:translateY(-40px) scale(1);opacity:1}}.pickupCards{position:absolute;bottom:14%;display:grid;place-items:center;perspective:800px}.pickupCard{width:52px;height:72px;background:#162234;border:1px solid #2a3a54;border-radius:8px;box-shadow:0 6px 16px #00000073;position:absolute;transform-origin:bottom center;animation:pickupArc .7s ease-out forwards;opacity:.95}.pickupCard:nth-child(2){animation-delay:60ms}.pickupCard:nth-child(3){animation-delay:.12s}@keyframes pickupArc{0%{transform:translateY(80px) translate(-60px) rotate(-12deg);opacity:0}50%{transform:translateY(-8px) translate(-10px) rotate(-4deg);opacity:1}to{transform:translateY(0) translate(40px) rotate(8deg) scale(.92);opacity:0}}.pickupHand{position:absolute;bottom:10%;right:50%;font-size:42px;filter:drop-shadow(0 4px 12px rgba(0,0,0,.5));transform:translate(60px) rotate(-10deg)}@media (prefers-reduced-motion: reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.container.shake-strong,.container.shake-light{animation:none!important}.boom10-overlay,.burn4-overlay,.boom10-word,.burn4-word,.boom10-shockwave,.burn4-ring,.boom10-glow,.flame,.pickupFx,.pickupBadge,.pickupCard{animation:none!important;opacity:.95}}@media (hover: none){.btn:hover,.card:hover{transform:none}}@media (max-width: 900px){.container{max-width:100%;padding:18px}h1{font-size:clamp(20px,5vw,28px)}h3{font-size:clamp(15px,3.6vw,18px)}.row{gap:8px;flex-wrap:wrap}.playersGrid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.grid.cards{grid-template-columns:repeat(auto-fill,minmax(68px,1fr));gap:8px}.card{height:88px;padding:8px 6px}.card .rank{font-size:20px}.card .suit{margin-top:2px}.card.back{width:66px;height:88px}.pile{height:170px}.pile .card{height:min(90%,160px)}.pileList{max-height:140px}.badge{font-size:11px;padding:3px 7px}.pill{font-size:11px;padding:3px 8px}.btn{padding:10px 12px;font-size:14px}input{padding:10px 12px}.playerBody{gap:6px}.faceUpRow{gap:5px}.miniCard{min-width:32px;height:30px;font-size:12.5px}}@media (max-width: 600px){.container{padding:14px;padding-bottom:calc(16px + env(safe-area-inset-bottom))}.panel>.row{align-items:stretch}.panel>.row .btn{width:auto}.playersGrid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}.playerCard{padding:9px}.playerHeader{gap:8px;align-items:flex-start}.playerName{font-size:14px}.grid.cards{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px}.card{height:84px;padding:7px 6px}.card .rank{font-size:18px}.card.back{width:62px;height:84px}.handGlow{padding:4px}.row>.btn{flex:1 1 auto}.row[style*="gap: 8px"]>.btn{flex-basis:calc(50% - 4px)}.btn.primary,.btn.warning,.btn.danger{font-size:14px;padding:10px 12px}.pile{height:160px}.pile .card{height:min(90%,148px)}.pileList{max-height:130px}.toast{min-width:220px;padding:12px 14px;font-size:14px}}@media (max-width: 380px){.container{padding:12px}.playersGrid{grid-template-columns:1fr}.grid.cards{grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:6px}.card{height:78px;padding:6px}.card .rank{font-size:17px}.card.back{width:56px;height:78px}.miniCard{min-width:28px;height:28px;font-size:11.5px}.btn{padding:10px;font-size:13px}.badge{font-size:10px;padding:3px 6px}.pill{font-size:10px;padding:3px 7px}}.chatFab{position:fixed;right:clamp(12px,3vw,20px);bottom:clamp(12px,3vh,20px);width:54px;height:54px;border-radius:999px;border:1px solid var(--border);background:linear-gradient(180deg,#1b283d,#131d2d);color:var(--fg);font-size:22px;display:grid;place-items:center;box-shadow:var(--shadow);cursor:pointer;z-index:1001}.chatBadge{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#e74c3c;color:#fff;font-size:12px;font-weight:800;display:grid;place-items:center;border:2px solid #0b1118}.chatDrawer{position:fixed;top:clamp(60px,10vh,90px);right:clamp(12px,3vw,20px);width:min(360px,90vw);max-height:calc(100vh - clamp(80px,12vh,120px));background:linear-gradient(180deg,var(--panel) 0%,var(--panel-2) 100%);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;z-index:1000}.chatHeader{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--border)}.chatTitle{font-weight:800}.chatClose{appearance:none;border:0;background:transparent;color:var(--muted);font-size:18px;cursor:pointer}.chatList{padding:10px;overflow:auto;display:flex;flex-direction:column;gap:8px}.chatEmpty{text-align:center;color:var(--muted);padding:10px 0;font-size:14px}.chatMsg{display:flex;justify-content:flex-start}.chatMsg.mine{justify-content:flex-end}.chatBubble{max-width:80%;background:#101a28;border:1px solid var(--border);border-radius:14px;padding:8px 10px;box-shadow:0 6px 16px #00000040}.chatMsg.mine .chatBubble{background:#2ecc7126;border-color:#2ecc7159}.chatMeta{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--muted)}.chatTs{opacity:.8}.chatText{margin-top:4px;white-space:pre-wrap;word-break:break-word}.chatInputRow{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px;border-top:1px solid var(--border)}.chatInput{background:#0d141f;color:var(--fg);border:1px solid var(--border);border-radius:10px;padding:10px 12px;outline:none}.chatInput:focus{border-color:var(--accent);box-shadow:0 0 0 3px #69a8ff1f}.chatSend{height:42px}.titleGradient{background:linear-gradient(92deg,#7cc2ff,#b598ff 40%,#6ef0d1 80%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none}.turnClock{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--border);border-radius:999px;background:#102033;color:#eaf2ff;font-weight:900;letter-spacing:.2px;box-shadow:0 6px 18px #00000040}.turnClock.mine{border-color:#2ecc7173;box-shadow:0 0 0 2px #2ecc7140,0 6px 18px #00000040}.turnClock.danger{background:#e74c3c2e;border-color:#e74c3c80;color:#ffe9e7;animation:clockPulse .8s ease-in-out infinite}.clockIcon{opacity:.9}.clockNum{font-variant-numeric:tabular-nums;font-size:14px}@keyframes clockPulse{0%,to{transform:translateZ(0);box-shadow:0 0 #e74c3c47}50%{transform:translateZ(0) scale(1.02);box-shadow:0 0 0 6px #e74c3c24}}.modal{position:fixed;inset:0;background:#00000080;display:grid;place-items:center;z-index:1000}@media (max-width: 640px){.chatDrawer{top:8px;right:8px;width:calc(100vw - 16px);max-height:calc(100vh - 16px);border-radius:12px}}
