@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600;800&family=Playfair+Display:wght@700&display=swap";:root{--bg-color: #0b110e;--felt-color: #122b1c;--felt-border: #1d402b;--text-main: #e2e8f0;--text-muted: #94a3b8;--accent: #10b981;--accent-glow: rgba(16, 185, 129, .5);--card-width: 50px;--card-height: 72px;--overlap-x: -25px;--bot-overlap-x: -15px;--bot-overlap-y: -20px;--trick-radius: 40px;--card-font-small: .85rem;--card-font-large: 1.2rem;--glass-bg: rgba(17, 24, 39, .7);--glass-border: rgba(255, 255, 255, .1);--glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, .37)}@media (min-width: 768px){:root{--card-width: 80px;--card-height: 112px;--overlap-x: -55px;--bot-overlap-x: -30px;--bot-overlap-y: -50px;--trick-radius: 60px;--card-font-small: 1.2rem;--card-font-large: 2.5rem}}@media (min-width: 1024px){:root{--card-width: 100px;--card-height: 140px;--overlap-x: -70px;--bot-overlap-x: -40px;--bot-overlap-y: -60px;--trick-radius: 80px;--card-font-small: 1.4rem;--card-font-large: 3rem}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Outfit,sans-serif;background-color:var(--bg-color);background-image:radial-gradient(circle at 50% 50%,var(--felt-color) 0%,var(--bg-color) 100%),url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%231d402b' fill-opacity='0.15'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");color:var(--text-main);min-height:100vh;overflow:hidden;display:flex;justify-content:center;align-items:center}h1,h2,h3,h4{font-family:Playfair Display,serif;letter-spacing:1px}button{font-family:Outfit,sans-serif;cursor:pointer;border:none;outline:none}.glass-panel{background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:16px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes dealCard{0%{opacity:0;transform:translate(-50vw,-50vh) scale(.5) rotate(-180deg)}to{opacity:1;transform:translate(0) scale(1) rotate(0)}}@keyframes pulseGlow{0%{box-shadow:0 0 10px var(--accent-glow)}50%{box-shadow:0 0 25px var(--accent-glow)}to{box-shadow:0 0 10px var(--accent-glow)}}.animate-fade-in{animation:fadeIn .5s ease-out forwards}.animate-deal{animation:dealCard .4s cubic-bezier(.175,.885,.32,1.275) backwards}.app-container{width:100vw;height:100vh;position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:10px;overflow:hidden}.top-section{display:flex;justify-content:center;align-items:flex-start;height:25vh;padding-top:50px}@media (min-width: 768px){.top-section{padding-top:20px}.app-container{padding:20px}}.middle-section{display:flex;justify-content:space-between;align-items:center;height:40vh;padding:0;width:100%}.bottom-section{display:flex;justify-content:center;align-items:flex-end;height:35vh;position:relative;padding-bottom:20px}.table-area{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(80vw,350px);height:min(80vw,350px);border-radius:50%;border:2px dashed var(--felt-border);display:flex;justify-content:center;align-items:center}.played-cards-container{position:relative;width:100%;height:100%}.played-card{position:absolute;top:50%;left:50%;margin-left:calc(var(--card-width) / -2);margin-top:calc(var(--card-height) / -2);transition:all .3s ease;z-index:10}.played-card.p1{transform:translateY(var(--trick-radius));z-index:14}.played-card.b1{transform:translate(calc(var(--trick-radius) * -1)) rotate(90deg);z-index:11}.played-card.b2{transform:translateY(calc(var(--trick-radius) * -1));z-index:12}.played-card.b3{transform:translate(var(--trick-radius)) rotate(-90deg);z-index:13}.hand-container{display:flex;justify-content:center;align-items:center}.hand-container.horizontal{flex-direction:row}.hand-container.vertical{flex-direction:column}.bot-hand .card-back{width:calc(var(--card-width) * .7);height:calc(var(--card-height) * .7);background:linear-gradient(135deg,#1e3a8a,#172554);border:1px solid #fff;border-radius:4px;background-image:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(255,255,255,.1) 10px,rgba(255,255,255,.1) 20px);box-shadow:2px 2px 5px #00000080;margin-left:var(--bot-overlap-x)}.bot-hand.horizontal .card-back:first-child{margin-left:0}.bot-hand.vertical .card-back{margin-left:0;margin-top:var(--bot-overlap-y);transform:rotate(90deg)}.bot-hand.vertical .card-back:first-child{margin-top:0}.player-hand{perspective:1000px;width:100%;max-width:100vw;justify-content:center}.playing-card{width:var(--card-width);height:var(--card-height);background-color:#fff;border-radius:6px;display:flex;flex-direction:column;justify-content:space-between;padding:4px;box-shadow:0 4px 8px #0003;position:relative;-webkit-user-select:none;user-select:none;border:1px solid #ccc;margin-left:var(--overlap-x);transition:transform .2s ease,box-shadow .2s ease,margin .2s ease;flex-shrink:0}.playing-card:first-child{margin-left:0}.playing-card.Spades,.playing-card.Clubs{color:#111827}.playing-card.Hearts,.playing-card.Diamonds{color:#ef4444}.player-hand .playing-card:hover{transform:translateY(-15px) scale(1.05);box-shadow:0 10px 20px #0000004d;z-index:100!important;cursor:pointer}.player-hand .playing-card.playable{animation:pulseGlow 2s infinite;transform:translateY(-15px)}.card-top-left{display:flex;flex-direction:column;align-items:center;align-self:flex-start;font-size:var(--card-font-small);font-weight:700;line-height:1}.card-bottom-right{display:flex;flex-direction:column;align-items:center;align-self:flex-end;font-size:var(--card-font-small);font-weight:700;line-height:1;transform:rotate(180deg)}.card-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:var(--card-font-large)}.overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.bid-overlay{background:#0000004d;-webkit-backdrop-filter:none;backdrop-filter:none;align-items:flex-start;padding-top:20vh}.modal{padding:20px;text-align:center;max-width:400px;width:90%;background:var(--glass-bg);border-radius:16px;border:1px solid var(--glass-border)}.modal h2{font-size:1.5rem;margin-bottom:15px;color:#fff}@media (min-width: 768px){.modal{padding:30px}.modal h2{font-size:2rem;margin-bottom:20px}}.bid-options{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:20px}.bid-btn{width:40px;height:40px;border-radius:50%;background:#ffffff1a;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:1rem;font-weight:600;transition:all .2s ease}@media (min-width: 768px){.bid-btn{width:50px;height:50px;font-size:1.2rem}.bid-options{gap:10px}}.bid-btn:hover{background:var(--accent);transform:scale(1.1);box-shadow:0 0 15px var(--accent-glow)}.primary-btn{background:var(--accent);color:#fff;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;transition:all .2s ease;box-shadow:0 4px 10px var(--accent-glow)}.primary-btn:hover{transform:translateY(-2px);box-shadow:0 6px 15px var(--accent-glow)}.hud{position:absolute;top:5px;left:5px;padding:8px 10px;min-width:140px;z-index:100;background:#0b110ee6;border-radius:8px;border:1px solid rgba(255,255,255,.1)}@media (min-width: 768px){.hud{top:20px;left:20px;padding:15px;min-width:200px}}.hud-row{display:flex;justify-content:space-between;margin-bottom:4px;font-size:.75rem;gap:10px}@media (min-width: 768px){.hud-row{font-size:.95rem;margin-bottom:8px}}.hud-row:last-child{margin-bottom:0}.hud-row .name{font-weight:600}.hud-row .stats{color:#fff}.round-info{position:absolute;top:5px;right:5px;padding:8px 12px;font-size:.9rem;font-weight:700;z-index:100;background:#0b110ee6;border-radius:8px;border:1px solid rgba(255,255,255,.1)}@media (min-width: 768px){.round-info{top:20px;right:20px;padding:15px;font-size:1.2rem}}.turn-indicator{position:absolute;font-size:.7rem;padding:2px 6px;background:var(--accent);color:#fff;border-radius:12px;animation:pulseGlow 1.5s infinite;white-space:nowrap;z-index:50;box-shadow:0 0 10px var(--accent-glow)}@media (min-width: 768px){.turn-indicator{font-size:.8rem;padding:4px 8px}}.turn-p1{top:-25px;left:50%;transform:translate(-50%)}.turn-b1{right:-40px;top:50%;transform:translateY(-50%)}.turn-b2{bottom:-25px;left:50%;transform:translate(-50%)}.turn-b3{left:-40px;top:50%;transform:translateY(-50%)}@media (min-width: 768px){.turn-p1{top:-35px}.turn-b1{right:-60px}.turn-b2{bottom:-35px}.turn-b3{left:-60px}}
