*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}body{background:#0a0a0a;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,3%) 1px,transparent 0);background-size:40px 40px;font-family:segoe ui,system-ui,-apple-system,sans-serif;min-height:100vh;color:#e0e0e0}.game-wrapper{max-width:700px;margin:0 auto;padding:12px 10px 40px}#player-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.player-slot{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;background:rgba(255,255,255,4%);flex:1;position:relative;overflow:hidden;transition:box-shadow .3s}.player-slot.active{box-shadow:0 0 12px rgba(76,175,80,.5);background:rgba(76,175,80,8%)}.player-slot .player-avatar{width:34px;height:34px;border-radius:50%;object-fit:cover}.player-slot .player-name{color:#fff;font-weight:600;font-size:.95em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.score-label{color:#aaa;font-size:.8em}.score-value{color:#ff9800;font-weight:700}.indicator{width:8px;height:8px;border-radius:50%;position:absolute;top:8px;right:8px}.skeleton-avatar{width:34px;height:34px;border-radius:50%;background:#333}.skeleton-name{width:80px;height:14px;border-radius:4px;background:#333}.shimmer{background:linear-gradient(90deg,#333 25%,#444 50%,#333 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}#timer-container{height:4px;background:rgba(255,255,255,6%);border-radius:2px;overflow:hidden;margin-bottom:6px}#timer-bar{height:100%;width:0%;background:#4caf50;border-radius:2px;transition:width .25s linear,background .3s}#round-info{text-align:center;color:#aaa;font-size:.85em;margin-bottom:10px}#game-area{display:flex;flex-direction:column;align-items:center;gap:14px}.card-row{display:flex;justify-content:center;gap:2px;flex-wrap:nowrap;min-height:84px}.card{width:58px;height:82px;border-radius:6px;background:#fff;color:#333;font-size:.75em;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:default;position:relative;transition:transform .15s,box-shadow .15s;border:1px solid #ddd;user-select:none;flex-shrink:0}.card.red{color:#d32f2f}.card.black{color:#222}.card.card-back{background:linear-gradient(135deg,#1565c0,#0d47a1);color:transparent;border:1px solid #0d47a1;cursor:default}.card.card-back .deck-count{color:rgba(255,255,255,.6);font-size:1.2em;font-weight:700}.card.selectable{cursor:pointer}.card.selectable:hover{transform:translateY(-6px);box-shadow:0 6px 16px rgba(0,0,0,.3)}.card.selected{transform:translateY(-10px);box-shadow:0 8px 20px rgba(76,175,80,.4);border-color:#4caf50}.card.highlight{animation:cardGlow .8s ease-in-out infinite alternate}@keyframes cardGlow{0%{box-shadow:0 0 6px rgba(255,152,0,.3)}100%{box-shadow:0 0 14px rgba(255,152,0,.6)}}#table-area{display:flex;gap:20px;align-items:center;justify-content:center;margin:6px 0}#stock-pile{cursor:pointer;background:linear-gradient(135deg,#1565c0,#0d47a1)}#stock-pile:hover{transform:scale(1.04)}#discard-pile{min-width:58px;min-height:82px;border:2px dashed rgba(255,255,255,.15);background:rgba(255,255,255,3%)}#discard-pile.clickable{cursor:pointer;border-color:#ff9800}#discard-pile.clickable:hover{transform:scale(1.04)}#action-bar{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:6px}.action-btn{padding:10px 22px;border:none;border-radius:8px;font-size:.95em;font-weight:700;cursor:pointer;transition:all .15s}.action-btn:disabled{opacity:.4;cursor:default}.knock-btn{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff;box-shadow:0 3px #e65100}.knock-btn:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 5px #e65100}.knock-btn:not(:disabled):active{transform:translateY(1px);box-shadow:0 0 #e65100}#deadwood-display{color:#aaa;font-size:.9em}#deadwood-value{color:#ff9800;font-weight:700}#game-status{text-align:center;padding:10px;color:#fff;font-size:1em;min-height:40px;margin-top:10px;border-radius:8px}#round-result{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,.92);border:2px solid #ff9800;border-radius:16px;padding:28px 40px;text-align:center;z-index:100;color:#fff;font-size:1.15em;font-weight:600;min-width:280px;backdrop-filter:blur(10px);animation:slideIn .3s ease-out}@keyframes slideIn{from{opacity:0;transform:translate(-50%,-60%)}to{opacity:1;transform:translate(-50%,-50%)}}.results-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.7);z-index:200;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.results-modal{background:#1a1a2e;border-radius:16px;padding:28px;max-width:420px;width:90%;text-align:center;animation:slideUp .4s ease-out;box-shadow:0 20px 60px rgba(0,0,0,.5);border:1px solid rgba(255,255,255,8%)}@keyframes slideUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.results-header{font-size:1.6em;font-weight:800;margin-bottom:6px;color:#fff}.results-outcome{color:#bbb;font-size:1em;margin-bottom:14px}.results-scores{display:flex;justify-content:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.score-badge{padding:8px 16px;border-radius:10px;background:rgba(255,255,255,5%);color:#fff;font-size:.95em}.score-badge.winner{background:rgba(76,175,80,.15);border:1px solid rgba(76,175,80,.3)}.challenge-message{color:#ff9800;font-weight:600;font-size:1em;margin-bottom:10px;animation:pulse-text 1.5s ease-in-out infinite}@keyframes pulse-text{0%,100%{opacity:1}50%{opacity:.7}}.xp-gain-container{margin:14px 0}.xp-gain-label{display:flex;justify-content:space-between;font-size:.85em;color:#aaa;margin-bottom:4px}.xp-progress-bg{height:8px;background:rgba(255,255,255,8%);border-radius:4px;overflow:hidden}.xp-progress-fill{height:100%;background:linear-gradient(90deg,#42a5f5,#1e88e5);border-radius:4px;width:0%;transition:width 1.2s ease-out}.rank-text{font-size:.82em;color:#888;margin-top:4px}.results-actions{display:flex;gap:10px;justify-content:center;margin-top:16px;flex-wrap:wrap}.btn-primary{padding:11px 26px;background:linear-gradient(135deg,#4caf50,#388e3c);color:#fff;border:none;border-radius:10px;font-size:1em;font-weight:700;cursor:pointer;transition:all .15s}.btn-primary:hover{filter:brightness(1.1)}.btn-primary:disabled{opacity:.5;cursor:default}.btn-secondary{padding:11px 26px;background:rgba(255,255,255,8%);color:#fff;border:1px solid rgba(255,255,255,.15);border-radius:10px;font-size:1em;cursor:pointer;transition:all .15s}.btn-secondary:hover{background:rgba(255,255,255,.12)}.flash-effect{animation:flash .4s}@keyframes flash{0%{box-shadow:0 0 rgba(255,255,255,0)}50%{box-shadow:0 0 30px rgba(255,255,255,.2)}100%{box-shadow:0 0 rgba(255,255,255,0)}}.back-link{display:block;text-align:center;color:#888;text-decoration:none;margin-top:20px;font-size:.9em}.back-link:hover{color:#fff}@media(max-width:600px){.card{width:48px;height:68px;font-size:.65em}.player-slot{padding:6px 8px}.player-slot .player-name{max-width:80px;font-size:.85em}#round-result{padding:20px 24px;min-width:240px;font-size:1em}.results-modal{padding:20px}.action-btn{padding:8px 16px;font-size:.88em}}@media(max-width:400px){.card{width:40px;height:58px;font-size:.58em;border-radius:4px}.card-row{gap:1px}#table-area{gap:12px}.game-wrapper{padding:8px 6px 30px}}