@import "https://fonts.googleapis.com/css2?family=Caveat:wght@400;500;600;700&family=Inter:wght@300;400;500;600;700;800;900&family=Playfair+Display:wght@700;800;900&display=swap";:root,[data-theme=royal-night]{--bg-primary:#070b1e;--bg-secondary:#0e1433;--bg-surface:#141b3d;--bg-surface-hover:#1a2350;--bg-card:#0a0a0a;--bg-overlay:#070b1ed9;--accent:#c9a84c;--accent-light:#e8d48b;--accent-dark:#9a7a2e;--accent-glow:#c9a84c66;--red-suit:#e84545;--text-primary:#eaeaea;--text-secondary:#8892b0;--text-muted:#4a5274;--border:#c9a84c26;--border-active:#c9a84c80;--table-bg:radial-gradient(ellipse at center, #111838 0%, #0a0e27 100%);--table-felt:#0d1530;--shadow-card:0 4px 20px #00000080;--shadow-glow:0 0 20px var(--accent-glow);--particle-color:#c9a84c4d}[data-theme=emerald-classic]{--bg-primary:#071a0b;--bg-secondary:#0c2e12;--bg-surface:#11401a;--bg-surface-hover:#165222;--bg-card:#080808;--bg-overlay:#071a0bd9;--accent:#c9a84c;--accent-light:#e8d48b;--accent-dark:#9a7a2e;--accent-glow:#c9a84c66;--red-suit:#e84545;--text-primary:#e8ece8;--text-secondary:#7a9d80;--text-muted:#3d6844;--border:#c9a84c26;--border-active:#c9a84c80;--table-bg:radial-gradient(ellipse at center, #174d22 0%, #0a2e10 100%);--table-felt:#0e4a1a;--shadow-card:0 4px 20px #00000080;--shadow-glow:0 0 20px var(--accent-glow);--particle-color:#22b43c4d}[data-theme=crimson-velvet]{--bg-primary:#120808;--bg-secondary:#1e0d0d;--bg-surface:#2d1414;--bg-surface-hover:#3d1a1a;--bg-card:#0a0606;--bg-overlay:#120808d9;--accent:#c9a84c;--accent-light:#e8d48b;--accent-dark:#9a7a2e;--accent-glow:#c9a84c66;--red-suit:#ff4d4d;--text-primary:#ece8e8;--text-secondary:#9d7a7a;--text-muted:#6b4444;--border:#c9a84c26;--border-active:#c9a84c80;--table-bg:radial-gradient(ellipse at center, #2a1010 0%, #150808 100%);--table-felt:#1e0a0a;--shadow-card:0 4px 20px #00000080;--shadow-glow:0 0 20px var(--accent-glow);--particle-color:#c832324d}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;overflow:hidden}body{background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;font-family:Inter,-apple-system,sans-serif}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--accent-dark);border-radius:4px}.title-display{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-light) 50%, var(--accent) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-family:Playfair Display,serif;font-weight:800}.btn{cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px 28px;font-family:Inter,sans-serif;font-size:.95rem;font-weight:600;transition:all .2s;display:inline-flex;position:relative;overflow:hidden}.btn:after{content:"";opacity:0;background:linear-gradient(135deg,#ffffff1a 0%,#0000 50%);transition:opacity .2s;position:absolute;inset:0}.btn:hover:after{opacity:1}.btn:active{transform:scale(.97)}.btn-primary{background:linear-gradient(135deg, var(--accent-dark), var(--accent), var(--accent-light));color:#0a0a0a;box-shadow:0 4px 15px var(--accent-glow)}.btn-primary:hover{box-shadow:0 6px 25px var(--accent-glow);transform:translateY(-1px)}.btn-secondary{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{border-color:var(--border-active);background:var(--bg-surface-hover)}.btn-danger{color:var(--red-suit);background:#e8454526;border:1px solid #e845454d}.btn-danger:hover{background:#e8454540}.btn-sm{border-radius:8px;padding:8px 16px;font-size:.85rem}.btn-lg{border-radius:14px;padding:16px 36px;font-size:1.1rem}.input{background:var(--bg-primary);border:1px solid var(--border);width:100%;color:var(--text-primary);border-radius:10px;outline:none;padding:12px 16px;font-family:Inter,sans-serif;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.input::placeholder{color:var(--text-muted)}.glass{background:var(--bg-overlay);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:16px}.panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:16px;padding:24px}.playing-card{cursor:pointer;width:120px;height:174px;transform-style:preserve-3d;border-radius:12px;flex-shrink:0;transition:transform .2s,box-shadow .2s;position:relative}.playing-card.playable:hover{box-shadow:var(--shadow-glow);z-index:10;transform:translateY(-20px)}.playing-card.playable{animation:2s ease-in-out infinite cardPulse}.card-face{backface-visibility:hidden;background:var(--bg-card);border:2px solid var(--accent-dark);box-shadow:var(--shadow-card);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;padding:8px;display:flex;position:absolute;inset:0}.card-face .card-rank{background:linear-gradient(180deg, var(--accent-light), var(--accent));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-family:Playfair Display,serif;font-size:1.5rem;font-weight:800;line-height:1}.card-face .card-suit{margin:6px 0;font-size:3rem;line-height:1}.card-face .card-corner{flex-direction:column;align-items:center;gap:0;line-height:1;display:flex;position:absolute}.card-face .card-corner-tl{top:8px;left:9px}.card-face .card-corner-br{bottom:8px;right:9px;transform:rotate(180deg)}.card-face .card-corner .corner-rank{background:linear-gradient(180deg, var(--accent-light), var(--accent));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-family:Playfair Display,serif;font-size:1rem;font-weight:800}.card-face .card-corner .corner-suit{font-size:.9rem}.suit-red{color:var(--red-suit)}.suit-black{color:var(--accent)}.card-back{backface-visibility:hidden;background:var(--bg-card);border:2px solid var(--accent-dark);box-shadow:var(--shadow-card);border-radius:12px;position:absolute;inset:0;overflow:hidden;transform:rotateY(180deg)}.card-back:before{content:"";border:1px solid var(--accent-dark);background:repeating-linear-gradient(45deg,#0000,#0000 6px,#c9a84c0f 6px 7px),repeating-linear-gradient(-45deg,#0000,#0000 6px,#c9a84c0f 6px 7px);border-radius:8px;position:absolute;inset:6px}.card-back:after{content:"♠";color:var(--accent-dark);opacity:.5;font-size:2.4rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.card-flipped .card-face{transform:rotateY(0)}.card-flipped .card-back,.card-hidden .card-face{transform:rotateY(180deg)}.card-hidden .card-back{transform:rotateY(0)}@keyframes cardPulse{0%,to{box-shadow:0 0 #0000}50%{box-shadow:0 0 12px var(--accent-glow)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes pishtiGlow{0%{text-shadow:0 0 10px var(--accent-glow);opacity:0;transform:scale(.5)}50%{text-shadow:0 0 40px var(--accent), 0 0 80px var(--accent-glow);opacity:1;transform:scale(1.2)}to{text-shadow:0 0 20px var(--accent-glow);opacity:1;transform:scale(1)}}@keyframes confetti{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(-200px)rotate(720deg)}}@keyframes spinSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes cardDeal{0%{opacity:0;transform:translateY(-40px)scale(.7)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes cardPlay{0%{transform:scale(1)}50%{transform:scale(1.1)translateY(-20px)}to{opacity:.5;transform:scale(.8)translateY(0)}}@keyframes timerPulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bgParticle{0%{opacity:0;transform:translateY(100vh)scale(0)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(-10vh)scale(1)}}.animate-fade-in{animation:.4s fadeIn}.animate-slide-up{animation:.5s slideUp}.animate-slide-down{animation:.5s slideDown}.game-table{background:var(--table-bg);width:100%;height:100%;position:relative;overflow:hidden}.game-table:before{content:"";pointer-events:none;background:radial-gradient(circle,#0000 30%,#0006 100%);position:absolute;inset:0}.score-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:6px 0;display:flex}.score-row:last-child{border-bottom:none}.score-value{color:var(--accent-light);font-size:1.1rem;font-weight:700}.pishti-overlay{z-index:1000;pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.pishti-text{background:linear-gradient(135deg, var(--accent), var(--accent-light), #fff, var(--accent-light), var(--accent));-webkit-text-fill-color:transparent;text-shadow:0 0 40px var(--accent);letter-spacing:8px;background-size:400%;-webkit-background-clip:text;background-clip:text;font-family:Playfair Display,serif;font-size:5rem;font-weight:900;animation:1s ease-out pishtiGlow,1.5s infinite shimmer}.connection-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.connection-dot.connected{background:#4ade80;box-shadow:0 0 6px #4ade8080}.connection-dot.disconnected{background:var(--red-suit);box-shadow:0 0 6px #e8454580}.connection-dot.connecting{background:var(--accent);animation:1s infinite timerPulse}.notebook{color:#1a3a5c;background:#fdf6e3 repeating-linear-gradient(#0000,#0000 31px,#d8cdb8 31.5px,#0000 32px) 0 55px/100% 32px;border-radius:4px 12px 12px 4px;width:300px;max-height:70vh;padding:22px 20px 16px 44px;font-family:Caveat,cursive;position:relative;overflow:hidden auto;box-shadow:4px 4px 18px #0006,inset 0 0 30px #00000008}.notebook-spiral{flex-direction:column;justify-content:space-around;align-items:center;width:28px;display:flex;position:absolute;top:10px;bottom:10px;left:0}.spiral-hole{background:#e8e0d0;border:2px solid #888;border-radius:50%;width:14px;height:14px;box-shadow:inset 1px 1px 2px #0003}.notebook-margin{opacity:.5;background:#d45555;width:1.5px;position:absolute;top:0;bottom:0;left:34px}.notebook-title{text-align:center;color:#2a4a6a;letter-spacing:1px;border-bottom:2px solid #b8a888;margin-bottom:10px;padding-bottom:8px;font-size:1.5rem;font-weight:700}.notebook-table{width:100%}.notebook-row{grid-template-columns:repeat(auto-fit,minmax(0,1fr));align-items:center;min-height:32px;display:grid}.notebook-header{margin-bottom:4px}.notebook-cell{text-align:center;padding:3px 6px;font-size:1.2rem}.notebook-name{color:#1a3a5c;white-space:nowrap;text-overflow:ellipsis;justify-content:center;align-items:center;gap:4px;font-size:1.25rem;font-weight:700;display:flex;overflow:hidden}.notebook-avatar{font-size:1rem}.notebook-score{color:#2a5a2a;font-size:1.4rem;font-weight:500}.notebook-total-score{color:#1a1a6a;font-size:1.7rem;font-weight:700}.notebook-divider-thick{opacity:.4;background:#1a3a5c;height:2.5px;margin:5px 0}.notebook-footer{text-align:center;color:#8a7a6a;margin-top:10px;font-size:1rem;font-weight:500}@keyframes handwrite{0%{clip-path:inset(0 100% 0 0);opacity:0}to{clip-path:inset(0);opacity:1}}.notebook-animate{animation:.8s ease-out forwards handwrite}.notebook-animate .notebook-score{color:#c44a00}.notebook::-webkit-scrollbar{width:3px}.notebook::-webkit-scrollbar-track{background:0 0}.notebook::-webkit-scrollbar-thumb{background:#b8a888;border-radius:3px}.animate-scale-in{animation:.3s cubic-bezier(.175,.885,.32,1.275) forwards scaleIn}@media (width<=768px){.playing-card{width:80px;height:116px}.card-face .card-suit{font-size:2rem}.card-face .card-rank{font-size:1.1rem}.card-face .card-corner .corner-rank{font-size:.75rem}.card-face .card-corner .corner-suit{font-size:.65rem}.pishti-text{font-size:3rem}.btn{padding:10px 20px;font-size:.85rem}.panel{padding:16px}.notebook{width:220px;padding:16px 14px 12px 36px}.notebook-title{font-size:1.2rem}.notebook-cell,.notebook-name{font-size:1rem}.notebook-score{font-size:1.15rem}.notebook-total-score{font-size:1.3rem}}@media (width<=480px){.playing-card{width:64px;height:92px}.pishti-text{font-size:2.2rem}}.author-footer{color:var(--text-muted);z-index:100;opacity:.6;pointer-events:auto;font-family:Inter,sans-serif;font-size:.8rem;transition:opacity .2s,color .2s;position:fixed;bottom:16px;left:16px}.author-footer:hover{opacity:1;color:var(--text-primary)}.author-footer a{color:var(--accent);font-weight:600;text-decoration:none;transition:color .2s,text-shadow .2s}.author-footer a:hover{color:var(--accent-light);text-shadow:0 0 8px var(--accent-glow)}
