@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;500;700;800&family=Plus+Jakarta+Sans:wght@400;600;700&display=swap";:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}:root{--bg-base:#030712;--glow-blue:#3b82f626;--glow-purple:#8b5cf626;--glass-bg:#11182799;--glass-border:#ffffff14;--text-primary:#f8fafc;--text-muted:#94a3b8;--accent-primary:#6366f1;--accent-secondary:#8b5cf6;--danger:#f43f5e}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-base);color:var(--text-primary);background-image:radial-gradient(circle at 15% 50%, var(--glow-blue), transparent 25%), radial-gradient(circle at 85% 30%, var(--glow-purple), transparent 25%);height:100dvh;font-family:Plus Jakarta Sans,sans-serif;position:relative;overflow:hidden}body:before{content:"";opacity:.03;pointer-events:none;z-index:0;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");position:fixed;inset:0}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:24px;box-shadow:0 8px 32px #0006}.game-container{z-index:1;grid-template:".top."1fr"left center right"1.5fr".bottom."1.5fr/1fr 1.5fr 1fr;width:100%;height:100dvh;padding:2vw;display:grid;position:relative}.player-area{flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;display:flex;position:relative}.top-player{grid-area:top}.bottom-player{grid-area:bottom;justify-content:flex-end}.left-player{grid-area:left}.right-player{grid-area:right}.player-info{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff08;border:1px solid #ffffff0d;border-radius:100px;align-items:center;gap:12px;padding:8px 20px 8px 8px;display:flex;box-shadow:0 4px 15px #0003}.player-info .avatar{background:linear-gradient(135deg,#374151,#1f2937);border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:24px;display:flex}.player-info .name{letter-spacing:.5px;align-items:center;gap:10px;font-size:14px;font-weight:600;display:flex}.lose-count{background:linear-gradient(135deg, var(--danger), #be123c);color:#fff;letter-spacing:1px;border-radius:20px;padding:4px 10px;font-size:11px;font-weight:800;box-shadow:0 2px 8px #f43f5e66}.center-area{flex-direction:column;grid-area:center;justify-content:center;align-items:center;gap:2rem;display:flex;position:relative}.center-area:after{content:"";z-index:-1;background:radial-gradient(circle,#6366f114 0%,#0000 70%);border-radius:50%;width:400px;height:400px;position:absolute}.round-badge{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));color:#fff;letter-spacing:2px;text-transform:uppercase;border:1px solid #fff3;border-radius:100px;padding:8px 24px;font-size:14px;font-weight:800;box-shadow:0 4px 20px #6366f166}.action-logs{color:#e2e8f0;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0006;border:1px solid #ffffff0d;border-radius:100px;min-width:280px;padding:12px 24px;font-family:Plus Jakarta Sans,sans-serif;font-size:14px;font-weight:500}.hand-cards,.community-cards,.played-cards{perspective:1200px;transform-style:preserve-3d;display:flex}.hand-cards{gap:-55px}.bottom-player .hand-cards{gap:-30px}.community-cards{gap:1rem}.played-cards{opacity:.9;gap:-40px;transform:scale(.75)}.card{width:90px;height:126px;transform-style:preserve-3d;cursor:default;border-radius:12px;transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:relative;box-shadow:-5px 5px 15px #0000004d}.community-cards .card{width:100px;height:140px;box-shadow:0 10px 25px #0006}.bottom-player .hand-cards .card{cursor:pointer;width:110px;height:154px}.bottom-player .hand-cards .card:hover:not(.disabled){z-index:10;transform:translateY(-25px)scale(1.05)rotate(-2deg);box-shadow:-10px 15px 30px #00000080}.bottom-player .hand-cards .card.selected{z-index:20;transform:translateY(-35px)scale(1.05)}.bottom-player .hand-cards .card.selected .card-face{box-shadow:inset 0 0 0 3px var(--accent-primary), 0 10px 30px #6366f166}.card.hidden-card{transform:rotateY(180deg)}.card-face,.card-back-face{backface-visibility:hidden;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute}.card-face{color:#0f172a;background:linear-gradient(135deg,#fff 0%,#f1f5f9 100%);border:1px solid #0000001a;font-family:Outfit,sans-serif}.card-face:after{content:"";pointer-events:none;border:1px solid #0000000d;border-radius:8px;position:absolute;inset:4px}.card-face.red{color:#e11d48}.card-face.black{color:#0f172a}.card-rank{font-size:22px;font-weight:800;line-height:1;position:absolute;top:8px;left:10px}.card-suit-small{font-size:16px;line-height:1;position:absolute;top:32px;left:10px}.card-suit{opacity:.9;font-size:42px}.card-back-face{background:linear-gradient(135deg,#1e293b 0%,#0f172a 100%);border:1px solid #ffffff1a;justify-content:center;align-items:center;display:flex;transform:rotateY(180deg)}.card-back-face:after{content:"✦";color:#ffffff1a;border:1px solid #ffffff1a;border-radius:8px;justify-content:center;align-items:center;width:calc(100% - 16px);height:calc(100% - 16px);font-size:24px;display:flex}.card.disabled{filter:grayscale(.6)brightness(.7);cursor:not-allowed}.action-bar{justify-content:space-between;align-items:center;gap:30px;width:100%;max-width:600px;margin-top:1rem;padding:0 20px;display:flex}.btn{cursor:pointer;letter-spacing:.5px;border:none;border-radius:100px;padding:14px 32px;font-family:Plus Jakarta Sans,sans-serif;font-size:16px;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn.primary{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));color:#fff;box-shadow:0 4px 15px #6366f14d,inset 0 1px #fff3}.btn.primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #6366f180,inset 0 1px #ffffff4d}.btn.primary:active:not(:disabled){transform:translateY(1px)}.btn:disabled{color:#475569;cursor:not-allowed;box-shadow:none;background:#1e293b;border:1px solid #ffffff0d}.modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:1000;opacity:1;background:#000c;justify-content:center;align-items:center;transition:opacity .4s;display:flex;position:fixed;inset:0}.modal-overlay.hidden{opacity:0;pointer-events:none}.modal-content{text-align:center;color:#fff;width:90%;max-width:540px;padding:40px;transition:transform .4s cubic-bezier(.175,.885,.32,1.275);transform:scale(1)}.modal-overlay.hidden .modal-content{transform:scale(.9)}.modal-content h2{background:linear-gradient(90deg,#fff,#94a3b8);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:30px;font-size:28px;font-weight:800}.modal-body{text-align:left;flex-direction:column;gap:16px;margin-bottom:30px;display:flex}.result-row{background:#ffffff08;border:1px solid #ffffff0d;border-radius:16px;justify-content:space-between;align-items:center;padding:16px 20px;transition:transform .2s;display:flex}.result-row:hover{background:#ffffff0d;transform:translate(5px)}.result-row.loser{box-shadow:inset 4px 0 0 var(--danger);background:linear-gradient(90deg,#f43f5e1a,#f43f5e0d);border:1px solid #f43f5e4d}.result-hand{gap:5px;display:flex}.mt-4{width:100%;margin-top:2rem}@media (height<=800px) and (width>=769px){.card{width:70px;height:98px}.community-cards .card{width:80px;height:112px}.bottom-player .hand-cards .card{width:90px;height:126px}.center-area{gap:1rem}.action-bar{margin-top:.5rem}.game-container{padding:1vw}}@media (width<=768px){.game-container{flex-direction:column;justify-content:space-evenly;gap:0;height:100dvh;min-height:auto;padding:5px;display:flex}.opponents-area{gap:5px;margin-top:0}.opponent{margin-bottom:-50px;transform:scale(.65)}.bottom-player .hand-cards .card{width:65px;height:91px}.community-cards .card{width:70px;height:98px}.hand-cards{gap:-35px}.bottom-player .hand-cards{gap:-15px}.action-bar{justify-content:center;gap:10px;max-width:100%;margin-top:0;padding:0 10px}.btn{padding:10px 20px;font-size:14px}.center-area{gap:1rem}.action-logs{min-width:200px;padding:8px 16px;font-size:12px}.round-badge{padding:6px 16px;font-size:12px}}.lobby-container{flex-direction:column;justify-content:center;align-items:center;height:100vh;display:flex}.lobby-card{text-align:center;flex-direction:column;gap:15px;width:100%;max-width:400px;padding:40px;display:flex}.lobby-card input{color:#fff;background:#ffffff1a;border:none;border-radius:8px;outline:none;padding:12px;font-size:16px}.room-lobby{flex-direction:column;justify-content:center;align-items:center;gap:20px;height:100vh;display:flex}.room-lobby ul{padding:0;list-style:none}.room-lobby li{background:#ffffff1a;border-radius:8px;margin:5px 0;padding:10px 20px}.opponents-area{flex-wrap:wrap;grid-area:top;justify-content:space-around;align-items:flex-start;gap:20px;width:100%;display:flex}.opponent{transform-origin:top;flex-direction:column;align-items:center;transition:all .3s;display:flex}.opponent-cards{transform-origin:top;gap:-30px;margin:10px 0;display:flex;transform:scale(.6)}.opponent-cards .card{margin-left:-30px}.opponent-cards .card:first-child{margin-left:0}.played-badge{color:#4ade80;font-weight:600}.opponent-played{justify-content:center;align-items:center;min-height:30px;display:flex}.countdown{color:#fbbf24;margin-left:15px;transition:color .3s}.countdown.urgent{color:#ef4444;animation:1s infinite pulse-urgent}@keyframes pulse-urgent{0%,to{opacity:1}50%{opacity:.5}}.community-card-wrapper{transition:opacity .3s}.community-card-wrapper.past{opacity:.5}.community-card-wrapper.final-round{opacity:.3}.self-played-cards{justify-content:center;min-height:100px;margin-bottom:10px;display:flex}.round-result-losers{text-align:center;color:#f43f5e;margin-bottom:15px;font-size:18px;font-weight:700}.round-result-reveal{text-align:center;color:#fbbf24;margin-bottom:15px;font-weight:700}.result-player-name{font-weight:700}.result-hand-type{color:#94a3b8;margin-top:2px;font-size:12px}.result-card-badge{background:#fff;border-radius:4px;padding:2px 5px;font-weight:600}.result-card-badge.red{color:#ef4444}.result-card-badge.black{color:#1e293b}.game-over-player-row{background:#ffffff1a;border-radius:8px;justify-content:space-between;margin-bottom:10px;padding:10px;display:flex}.game-over-lose-count{color:#fff;font-weight:700}.game-over-lose-count.has-losses{color:#ef4444}.text-center{text-align:center}.loading{height:100vh;color:var(--text-muted);justify-content:center;align-items:center;font-size:18px;display:flex}.divider{color:var(--text-muted);margin:10px 0;font-size:14px}.btn.secondary{color:#fff;background:#ffffff1a;border:1px solid #fff3}.btn.secondary:hover:not(:disabled){background:#ffffff26;transform:translateY(-2px)}.players-list{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:16px;min-width:300px;padding:20px}
