:root{--accent:#1565c0;--blue-glow:rgba(21, 101, 192, 0.4);--team1-color:#42a5f5;--team2-color:#ef5350}body{background:linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px),linear-gradient(135deg,#0a0e27 0%,#1a1f3a 25%,#0f1629 50%,#1e2a4a 75%,#0a0e27 100%);background-size:60px 60px,60px 60px,100% 100%;background-attachment:fixed;color:#fff;font-family:maven pro,sans-serif;min-height:100vh}#score-bar{display:flex;justify-content:space-between;align-items:center;padding:10px 20px;background:rgba(255,255,255,5%);border-radius:12px;border:1px solid rgba(255,255,255,.1);margin-bottom:16px;max-width:600px;margin-left:auto;margin-right:auto}.team-score{display:flex;flex-direction:column;align-items:center;gap:2px}.team-label{font-size:.8em;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:1px}.team-points{font-size:1.8em;font-weight:800}.team-bags{font-size:.75em;color:rgba(255,255,255,.5)}.team1-score .team-points{color:var(--team1-color)}.team2-score .team-points{color:var(--team2-color)}.round-info{font-size:1em;color:rgba(255,255,255,.7);font-weight:600}#game-table{display:grid;grid-template-areas:".    top    ." "left center right" ".    bottom .";grid-template-columns:1fr 2fr 1fr;grid-template-rows:auto 1fr auto;max-width:600px;min-height:340px;margin:0 auto 16px;gap:8px;align-items:center}.player-top{grid-area:top;text-align:center}.player-left{grid-area:left;text-align:center}.player-right{grid-area:right;text-align:center}.player-bottom{grid-area:bottom;text-align:center}#trick-area{grid-area:center}.player-slot{background:rgba(255,255,255,3%);border-radius:12px;padding:8px 12px;border:1px solid rgba(255,255,255,8%);transition:all .3s}.player-slot.active-turn{border-color:#4caf50;background:rgba(76,175,80,.1);box-shadow:0 0 12px rgba(76,175,80,.3)}.player-name{font-weight:700;font-size:.9em;margin-bottom:2px}.player-info{font-size:.75em;color:rgba(255,255,255,.5)}#trick-area{display:grid;grid-template-areas:".     top    ." "left  .      right" ".     bottom .";grid-template-columns:1fr auto 1fr;grid-template-rows:auto 20px auto;gap:4px;justify-items:center;align-items:center;min-height:180px;min-width:200px;background:rgba(0,80,0,.2);border-radius:16px;border:2px solid rgba(0,120,0,.3);padding:16px}#trick-top{grid-area:top}#trick-left{grid-area:left}#trick-right{grid-area:right}#trick-bottom{grid-area:bottom}.trick-card{min-width:48px;min-height:68px;transition:transform .5s cubic-bezier(.4,0,.2,1),opacity .5s ease}.winning-card{box-shadow:0 0 12px 4px rgba(255,215,0,.7),0 0 24px 8px rgba(255,215,0,.3)!important;border:2px solid gold!important;z-index:2}#trick-area.trick-sweep .trick-card{opacity:0}#trick-area.trick-sweep.sweep-to-bottom .trick-card{transform:translateY(60px)scale(.6)}#trick-area.trick-sweep.sweep-to-top .trick-card{transform:translateY(-60px)scale(.6)}#trick-area.trick-sweep.sweep-to-left .trick-card{transform:translateX(-60px)scale(.6)}#trick-area.trick-sweep.sweep-to-right .trick-card{transform:translateX(60px)scale(.6)}.trick-point-indicator{position:absolute;top:-8px;right:-4px;font-size:1.4em;font-weight:900;pointer-events:none;z-index:100;animation:pointFloat 1.2s cubic-bezier(.4,0,.2,1)forwards;text-shadow:0 2px 8px rgba(0,0,0,.6)}.point-friendly{color:#4caf50}.point-enemy{color:#ef5350}@keyframes pointFloat{0%{opacity:0;transform:translateY(0)scale(.5)}20%{opacity:1;transform:translateY(-8px)scale(1.2)}60%{opacity:1;transform:translateY(-20px)scale(1)}100%{opacity:0;transform:translateY(-36px)scale(.8)}}.trick-won-status{font-size:1.15em;font-weight:700;animation:fadeIn .3s ease-out}.trick-won-status.team-win{color:#4caf50;text-shadow:0 0 10px rgba(76,175,80,.4)}.trick-won-status.team-lose{color:#ef5350;text-shadow:0 0 10px rgba(239,83,80,.4)}.card{width:48px;height:68px;background:#fff;border-radius:6px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;font-weight:700;font-size:.85em;box-shadow:0 2px 6px rgba(0,0,0,.4);transition:transform .15s,box-shadow .15s;position:relative;user-select:none}.card .card-value{font-size:1.1em;line-height:1}.card .card-suit{font-size:.9em;line-height:1}.suit-S,.suit-C{color:#333}.suit-H,.suit-D{color:#e53935}#hand-area{display:flex;justify-content:center;flex-wrap:wrap;gap:4px;padding:12px 8px;margin:0 auto;max-width:700px;min-height:80px}#hand-area .card{cursor:default;margin:0 -2px;opacity:.7;transition:transform .15s,box-shadow .15s,opacity .15s}#hand-area .card.playable{cursor:pointer;opacity:1;border:2px solid #4caf50}#hand-area .card.playable:hover{transform:translateY(-12px);box-shadow:0 8px 20px rgba(76,175,80,.4)}#bid-panel{text-align:center;padding:16px;background:rgba(255,255,255,5%);border-radius:12px;border:1px solid rgba(255,255,255,.1);max-width:500px;margin:12px auto}.bid-title{font-size:1.2em;font-weight:700;margin-bottom:12px;color:#64b5f6}#bid-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.bid-btn{width:44px;height:44px;border-radius:10px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,8%);color:#fff;font-size:1em;font-weight:700;cursor:pointer;transition:all .15s}.bid-btn:hover{background:#1565c0;border-color:#1565c0;transform:scale(1.1)}#game-status{color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.8);font-weight:600;border-radius:12px;transition:all .3s}#timer-bar{box-shadow:0 0 10px rgba(76,175,80,.4)}.results-modal-overlay{position:fixed;inset:0;background:rgba(10,14,39,.9);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .4s ease-out}.results-modal{background:linear-gradient(145deg,rgba(35,38,58,.95),rgba(20,24,40,.98));border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:40px;width:90%;max-width:440px;text-align:center;box-shadow:0 20px 50px rgba(0,0,0,.5),0 0 30px rgba(21,101,192,.15);animation:slideUp .5s cubic-bezier(.18,.89,.32,1.28)}.results-header{font-size:2.5em;font-weight:800;margin-bottom:8px;text-transform:uppercase;letter-spacing:2px;background:linear-gradient(to right,#fff,#64b5f6);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.results-outcome{font-size:1.1em;color:rgba(255,255,255,.6);margin-bottom:20px}.xp-gain-container{background:rgba(255,255,255,3%);border-radius:16px;padding:20px;margin-bottom:30px;border:1px solid rgba(255,255,255,5%)}.xp-gain-label{display:flex;justify-content:space-between;margin-bottom:12px;font-weight:600;font-size:.95em}.xp-progress-bg{width:100%;height:12px;background:rgba(255,255,255,5%);border-radius:6px;overflow:hidden}.xp-progress-fill{height:100%;background:linear-gradient(90deg,#42a5f5,#00d2ff);border-radius:6px;transition:width 1.5s cubic-bezier(.4,0,.2,1);width:0}.rank-text{margin-top:10px;font-size:.85em;color:rgba(255,255,255,.5)}.results-actions{display:flex;flex-direction:column;gap:12px}.btn-primary,.btn-secondary{padding:14px 24px;border-radius:12px;font-size:1.1em;font-weight:700;cursor:pointer;transition:all .2s;border:none}.btn-primary{background:linear-gradient(135deg,#2196f3,#1565c0);color:#fff;box-shadow:0 4px 15px rgba(33,150,243,.3)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px rgba(33,150,243,.4)}.btn-secondary{background:rgba(255,255,255,5%);color:#fff;border:1px solid rgba(255,255,255,.1)}.btn-secondary:hover{background:rgba(255,255,255,.1)}.btn-primary:disabled{background:#333;opacity:.6;cursor:not-allowed;box-shadow:none}.challenge-message{margin-top:-10px;margin-bottom:20px;font-size:.95em;font-weight:600;color:#64b5f6;text-shadow:0 0 10px rgba(100,181,246,.3);animation:fadeIn .3s ease-out}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes slideUp{from{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}.flash-effect{animation:modalFlash .4s ease-out}@keyframes modalFlash{0%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.02);filter:brightness(1.4)}100%{transform:scale(1);filter:brightness(1)}}@media(max-width:600px){#game-table{grid-template-columns:80px 1fr 80px;min-height:280px}.card{width:40px;height:58px;font-size:.75em}#hand-area .card{margin:0 -4px}.player-name{font-size:.8em}.player-info{font-size:.65em}.bid-btn{width:36px;height:36px;font-size:.85em}#score-bar{padding:8px 12px}.team-points{font-size:1.4em}}