@import url(https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700&family=Inter:wght@400;500;600;700&display=swap);.auth-container{align-items:center;background:radial-gradient(ellipse at center,var(--felt-light) 0,var(--felt-green) 40%,var(--felt-dark) 100%);display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-card{max-width:420px;text-align:center;width:100%}.auth-header{margin-bottom:32px}.auth-header h1{font-size:2.5rem;margin-bottom:8px}.auth-header p{color:var(--text-muted);font-size:.95rem}.auth-form{display:flex;flex-direction:column;gap:16px}.form-group{text-align:left}.password-group{position:relative}.password-group .input-field{padding-right:60px}.show-password-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.8rem;padding:4px 8px;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.show-password-btn:hover{color:var(--text-light)}.auth-btn{font-size:1.05rem;margin-top:8px;padding:14px;width:100%}.auth-footer{color:var(--text-muted);margin-top:24px}.link-btn{background:none;border:none;color:var(--gold);cursor:pointer;font-size:inherit;font-weight:600;text-decoration:underline}.link-btn:hover{color:var(--gold-light)}.confirm-text{color:var(--text-muted);line-height:1.5;margin-bottom:8px}.confirm-text strong{color:var(--gold)}.code-input{font-size:1.5rem;font-weight:700;letter-spacing:8px;text-align:center}.auth-divider{align-items:center;color:var(--text-muted);display:flex;font-size:.85rem;gap:12px;margin:20px 0}.auth-divider:after,.auth-divider:before{background:#ffffff26;content:"";flex:1 1;height:1px}.btn-google{align-items:center;background:#fff;border:none;border-radius:var(--radius);color:#333;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;justify-content:center;padding:12px 24px;transition:var(--transition);width:100%}.btn-google:hover{background:#f1f1f1;box-shadow:0 2px 12px #0003;transform:translateY(-1px)}.settings-overlay{align-items:center;background:#000000b3;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:100}.settings-panel{display:flex;flex-direction:column;gap:16px;max-width:400px;padding:24px;width:100%}.settings-header{align-items:center;display:flex;justify-content:space-between}.settings-header h2{margin:0}.settings-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1.2rem}.settings-field{display:flex;flex-direction:column;gap:6px}.settings-field label{color:var(--text-muted);font-size:.85rem;font-weight:500}.field-hint{color:var(--text-muted);font-size:.7rem;opacity:.7}.room-key-row{display:flex;gap:8px}.room-key-row .input-field{flex:1 1;font-family:monospace;letter-spacing:1px}.btn-copy{background:#ffffff1a;border:1px solid #ffffff26;border-radius:var(--radius-sm);cursor:pointer;font-size:1rem;padding:8px 12px}.settings-stats{color:var(--text-muted);display:flex;flex-wrap:wrap;font-size:.85rem;gap:16px}.settings-error{color:var(--danger);font-size:.85rem;margin:0}.settings-message{color:var(--success);font-size:.85rem;margin:0}.settings-divider{background:#ffffff1a;height:1px}.btn-cleanup-settings{background:none;border:1px solid #ffffff1a;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-size:.8rem;padding:8px 16px;transition:var(--transition)}.btn-cleanup-settings:hover{border-color:var(--danger);color:var(--danger)}.card{border-radius:var(--radius-card);box-shadow:0 2px 8px var(--card-shadow);cursor:pointer;flex-shrink:0;height:112px;position:relative;transition:box-shadow .2s;-webkit-user-select:none;user-select:none;width:80px}.card-sm{height:78px;width:56px}.card-sm .card-rank{font-size:.7rem}.card-sm .card-suit{font-size:.6rem}.card-sm .card-suit-large{font-size:1.4rem}.card-sm .card-corner{padding:3px 5px}.card-black,.card-red{background:var(--card-white);border:1px solid #0000001a}.card-red{color:var(--red-suit)}.card-black{color:var(--black-suit)}.card-corner{align-items:center;display:flex;flex-direction:column;line-height:1;padding:5px 7px;position:absolute}.card-corner-top{left:0;top:0}.card-corner-bottom{bottom:0;right:0;transform:rotate(180deg)}.card-rank{font-size:.85rem;font-weight:700}.card-suit{font-size:.7rem}.card-center{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.card-suit-large{font-size:2rem}.card-joker{align-items:center;display:flex;flex-direction:column;gap:4px;height:100%;justify-content:center}.joker-symbol{font-size:2rem}.joker-text{color:var(--black-suit);font-size:.55rem;font-weight:700;letter-spacing:2px}.card-back{background:linear-gradient(135deg,#1a3a6b,#2a5298);border:2px solid #3a6ac8}.card-back-pattern{align-items:center;color:#ffffff26;display:flex;flex-direction:column;font-size:1.2rem;gap:2px;height:100%;justify-content:center;letter-spacing:4px}.card-selected{box-shadow:0 0 0 3px var(--gold),0 4px 20px #d4a84380;transform:translateY(-8px)}.card-disabled{cursor:not-allowed;opacity:.5}.card:hover:not(.card-disabled):not(.card-selected){box-shadow:0 4px 16px var(--card-shadow)}.gameboard{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden;position:relative}.my-identity{background:#00000080;border:1px solid #ffffff1a;border-radius:var(--radius);gap:8px;left:12px;padding:8px 14px;position:absolute;top:12px;z-index:20}.identity-avatar,.my-identity{align-items:center;display:flex}.identity-avatar{background:linear-gradient(135deg,var(--gold),var(--gold-dark));border-radius:50%;color:var(--felt-dark);font-size:.85rem;font-weight:700;height:32px;justify-content:center;width:32px}.identity-info{display:flex;flex-direction:column}.identity-name{color:var(--text-light);font-size:.85rem;font-weight:600}.identity-elo{color:var(--gold);font-size:.7rem}.table-area{align-items:center;display:flex;flex:1 1;justify-content:center;min-height:0;overflow:hidden;padding:20px;position:relative}.seat{position:absolute}.seat-top{left:50%;top:10px;transform:translateX(-50%)}.seat-top-left{left:15%;top:15%}.seat-top-right{right:15%;top:15%}.seat-left{left:10px}.seat-left,.seat-right{top:50%;transform:translateY(-50%)}.seat-right{right:10px}.seat-bottom-left{bottom:15%;left:15%}.seat-bottom-right{bottom:15%;right:15%}.seat-far-right{bottom:40%;right:10px}.player-seat{background:#0006;border:2px solid #ffffff1a;border-radius:var(--radius);min-width:120px;padding:10px;text-align:center;transition:var(--transition)}.player-seat.active-turn{border-color:var(--gold);box-shadow:0 0 20px #d4a84366}.player-seat.eliminated{opacity:.4}.player-seat.offline{border-color:var(--danger)}.seat-header{gap:8px;margin-bottom:6px}.seat-avatar,.seat-header{align-items:center;display:flex}.seat-avatar{background:#ffffff26;border-radius:50%;color:var(--text-light);flex-shrink:0;font-size:.85rem;font-weight:700;height:32px;justify-content:center;width:32px}.avatar-active{animation:glow 1.5s ease-in-out infinite alternate;background:linear-gradient(135deg,var(--gold),var(--gold-dark));color:var(--felt-dark)}@keyframes glow{0%{box-shadow:0 0 5px #d4a8434d}to{box-shadow:0 0 15px #d4a84399}}.seat-info{display:flex;flex-direction:column;text-align:left}.seat-name{color:var(--text-light);font-size:.75rem;font-weight:600;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seat-elo{color:var(--gold);font-size:.6rem}.seat-cards{align-items:center;display:flex;flex-direction:column;gap:4px}.seat-face-up{display:flex;gap:2px}.seat-counts{display:flex;gap:6px}.count-badge{background:#ffffff1a;border-radius:4px;color:var(--text-muted);font-size:.65rem;padding:2px 6px}.seat-finished{color:var(--success)}.btn-target,.seat-finished{font-size:.7rem;font-weight:600}.btn-target{background:var(--danger);border:none;border-radius:6px;color:#fff;cursor:pointer;margin-top:6px;padding:4px 10px}.btn-target:hover{background:#c0392b}.table-center{gap:24px;z-index:1}.pile-area,.table-center{align-items:center;display:flex}.pile-area{flex-direction:column;gap:4px}.pile-empty{align-items:center;border:2px dashed #ffffff26;border-radius:var(--radius-card);color:var(--text-muted);display:flex;font-size:.8rem;height:112px;justify-content:center;width:80px}.pile-count{color:var(--text-muted);font-size:.7rem}.effective-card-hint{background:#00000080;border-radius:10px;color:var(--gold-light);font-size:.75rem;padding:3px 10px;white-space:nowrap}.effective-card-hint strong{color:var(--gold)}.deck-area{align-items:center;display:flex;flex-direction:column;gap:4px}.deck-count{color:var(--text-muted);font-size:.75rem;font-weight:600}.deck-empty{align-items:center;border:2px dashed #ffffff1a;border-radius:var(--radius-card);color:var(--text-muted);display:flex;font-size:.7rem;height:112px;justify-content:center;width:80px}.status-badge{border-radius:20px;font-size:.85rem;font-weight:600;left:50%;padding:8px 16px;position:absolute;top:50%;transform:translate(-50%,-80px);white-space:nowrap;z-index:10}.must-play-lower{background:#e74c3ce6;color:#fff}.choose-target{background:#d4a843e6;color:var(--felt-dark)}.action-toast{background:#000000bf;border:1px solid #ffffff1a;border-radius:20px;color:var(--text-light);font-size:.82rem;font-weight:600;left:50%;max-width:90%;overflow:hidden;padding:8px 18px;pointer-events:none;position:absolute;text-align:center;text-overflow:ellipsis;top:50%;transform:translate(-50%,30px);white-space:nowrap;z-index:15}.my-area{background:#0000004d;border-top:1px solid #ffffff1a;gap:8px;padding:12px 20px}.my-area,.my-table-cards{align-items:center;display:flex;flex-direction:column}.my-table-cards{gap:6px}.table-card-stacks{display:flex;gap:16px}.card-stack{height:90px;position:relative;width:56px}.stack-bottom{bottom:0;left:0;position:absolute}.stack-top{bottom:8px;left:4px;position:absolute;z-index:1}.area-label{color:var(--text-muted);font-size:.7rem;letter-spacing:1px;text-transform:uppercase}.card-row{display:flex;gap:6px}.my-hand{overflow-x:auto;padding:4px 0;width:100%}.hand-cards{display:flex;gap:-10px;justify-content:center;padding:0 20px}.hand-card-wrapper{margin-left:-15px}.hand-card-wrapper:first-child{margin-left:0}.action-bar{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:center;min-height:44px}.play-error{background:#e74c3ce6;border-radius:var(--radius-sm);color:#fff;font-weight:600;padding:8px 16px;text-align:center;width:100%}.play-error,.turn-indicator{font-size:.9rem}.your-turn{color:var(--gold);font-weight:700;letter-spacing:1px;text-transform:uppercase}.waiting-turn{color:var(--text-muted)}.play-btn{font-size:.95rem;padding:10px 24px}.btn-interrupt{background:linear-gradient(135deg,#e74c3c,#c0392b);border:none;border-radius:var(--radius);box-shadow:0 0 15px #e74c3c80;color:#fff;cursor:pointer;font-size:.9rem;font-weight:700;letter-spacing:.5px;padding:10px 20px;text-transform:uppercase}.btn-four-kind{background:linear-gradient(135deg,var(--gold),var(--gold-dark));box-shadow:0 0 15px #d4a84380;color:var(--felt-dark)}.btn-take-pile-center{background:#00000080;border:1px solid #ffffff26;border-radius:20px;bottom:20px;color:var(--text-muted);cursor:pointer;font-size:.8rem;font-weight:600;left:50%;padding:8px 20px;position:absolute;transform:translateX(-50%);transition:var(--transition);white-space:nowrap;z-index:5}.btn-take-pile-center:hover{background:#e74c3c4d;border-color:var(--danger);color:var(--danger)}@media (max-width:768px){.seat{transform:scale(.8)}.seat-top{transform:translateX(-50%) scale(.8)}.seat-left{left:2px}.seat-left,.seat-right{transform:translateY(-50%) scale(.8)}.seat-right{right:2px}.table-center{gap:12px}.hand-card-wrapper{margin-left:-20px}.my-identity{padding:6px 10px}.identity-name{font-size:.75rem}.identity-elo{font-size:.6rem}.action-bar{gap:8px}.play-btn{font-size:.85rem;padding:8px 16px}.btn-interrupt{font-size:.8rem;padding:8px 14px}.leave-btn{font-size:.75rem;padding:6px 12px}.elo-preview-mini{font-size:.6rem;padding:2px 6px}.log-toggle{font-size:.7rem;padding:4px 8px}.my-area{padding:8px 10px}.table-area{padding:10px}.deck-area .card,.pile-area .card{height:90px;width:64px}}@media (max-width:480px){.seat{transform:scale(.65)}.seat-top{transform:translateX(-50%) scale(.65)}.seat-left{left:0}.seat-left,.seat-right{transform:translateY(-50%) scale(.65)}.seat-right{right:0}.table-center{flex-wrap:wrap;gap:8px;justify-content:center}.table-center .card{height:73px;width:52px}.hand-card-wrapper{margin-left:-24px}.hand-cards .card{height:79px;width:56px}.my-identity{gap:4px;left:4px;padding:4px 8px;top:4px}.identity-avatar{font-size:.7rem;height:24px;width:24px}.elo-preview-mini{display:none}.log-toggle{font-size:.65rem;padding:3px 6px;right:4px;top:4px}.my-area{gap:4px;padding:6px 8px}.table-area{padding:6px}.action-bar{gap:6px;min-height:36px}.play-btn,.turn-indicator{font-size:.8rem}.play-btn{padding:6px 12px}.btn-interrupt{font-size:.75rem;padding:6px 10px}.leave-btn{font-size:.7rem;padding:4px 10px}.count-badge{font-size:.75rem;padding:3px 8px}.area-label{font-size:.6rem}.area-title{font-size:.55rem}.deck-count,.discarded-count,.pile-count{font-size:.6rem}.consecutive-hint,.effective-card-hint{font-size:.6rem;padding:2px 6px}.status-badge{font-size:.75rem;padding:6px 12px}.card-stack{height:70px;width:44px}.table-card-stacks{gap:10px}.btn-take-pile-center{font-size:.7rem;padding:6px 14px}.game-log-panel{width:180px}.log-entry{font-size:.65rem}}.log-toggle{background:#00000080;border:1px solid #ffffff26;border-radius:var(--radius);color:var(--text-muted);cursor:pointer;font-size:.8rem;padding:6px 12px;position:absolute;right:12px;top:12px;transition:var(--transition);z-index:30}.log-toggle:hover{background:#000000b3;color:var(--text-light)}.game-log-panel{background:#000000d9;border-left:1px solid #ffffff1a;display:flex;flex-direction:column;height:100%;position:absolute;right:0;top:0;width:220px;z-index:25}.game-log-header{align-items:center;border-bottom:1px solid #ffffff1a;color:var(--gold);display:flex;font-size:.85rem;font-weight:600;justify-content:space-between;padding:10px 12px}.log-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1rem;padding:0}.game-log-entries{flex:1 1;overflow-y:auto;padding:8px}.log-entry{border-bottom:1px solid #ffffff0d;color:var(--text-muted);font-size:.72rem;line-height:1.4;padding:4px 6px}.log-entry:first-of-type{color:var(--text-light)}.skip-overlay{align-items:center;background:#e74c3cd9;border-radius:var(--radius);color:#fff;display:flex;font-size:.9rem;font-weight:800;inset:0;justify-content:center;letter-spacing:1.5px;position:absolute;text-transform:uppercase;z-index:10}.player-seat{position:relative}.my-skip-banner{background:#e74c3ce6;border-radius:var(--radius);color:#fff;font-size:1.1rem;font-weight:800;letter-spacing:2px;padding:8px 24px;text-align:center;text-transform:uppercase}.consecutive-hint{background:#0009;border:1px solid #d4a8434d;border-radius:10px;color:var(--gold);font-size:.75rem;font-weight:700;padding:3px 10px;white-space:nowrap}.area-title{color:var(--text-muted);font-size:.65rem;letter-spacing:1px;text-align:center;text-transform:uppercase}.discarded-area{align-items:center;display:flex;flex-direction:column;gap:4px}.discarded-stack{opacity:.5}.discarded-count{color:var(--text-muted);font-size:.75rem;font-weight:600}.game-over-overlay{align-items:center;background:#000000b3;display:flex;inset:0;justify-content:center;position:fixed;z-index:50}.game-over-panel{align-items:center;gap:16px;max-width:380px;padding:24px;text-align:center;width:90%}.finish-order,.game-over-panel{display:flex;flex-direction:column}.finish-order{gap:6px;width:100%}.finish-row{align-items:center;background:#ffffff0d;border-radius:var(--radius-sm);display:flex;gap:10px;padding:8px 12px}.finish-row.shithead-row{background:#e74c3c33;border:1px solid #e74c3c66}.finish-pos{color:var(--gold);font-size:.9rem;font-weight:700;min-width:30px}.shithead-row .finish-pos{color:var(--danger)}.finish-name{color:var(--text-light);flex:1 1;font-size:.9rem;text-align:left}.finish-elo{font-size:.85rem;font-weight:700}.elo-up{color:var(--success)}.elo-down,.shithead-label{color:var(--danger)}.shithead-label{font-size:1.1rem;font-weight:700;margin:0}.elo-preview-mini{align-items:center;background:#0000004d;border-radius:10px;display:flex;font-size:.7rem;font-weight:700;gap:2px;margin-left:8px;padding:3px 8px}.elo-preview-best{color:var(--success)}.elo-preview-worst{color:var(--danger)}.elo-preview-sep{color:var(--text-muted)}.seat-timer{background:#000000b3;border:1px solid #fff3;border-radius:8px;color:var(--text-light);font-size:.7rem;font-weight:700;padding:2px 6px;position:absolute;right:-8px;top:-8px;z-index:5}.seat-timer.timer-urgent{background:#e74c3ce6;border-color:var(--danger);color:#fff}.my-turn-timer{display:inline-block;margin-bottom:4px;position:static}.turn-indicator{align-items:center;display:flex;flex-direction:column;gap:2px}.leave-toggle{background:none;border:1px solid #ffffff26;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-size:.85rem;line-height:1;margin-left:8px;padding:4px 8px;transition:var(--transition)}.leave-toggle:hover{background:#e74c3c4d;border-color:var(--danger);color:var(--danger)}.leave-confirm-overlay{align-items:center;background:#000000b3;display:flex;inset:0;justify-content:center;position:fixed;z-index:60}.leave-confirm-panel{display:flex;flex-direction:column;gap:14px;max-width:360px;padding:24px;text-align:center;width:90%}.leave-warning{color:var(--text-muted);font-size:.9rem;line-height:1.5;margin:0}.leave-elo-info{color:var(--text-light);font-size:.9rem}.leave-elo-info p{margin:0}.leave-confirm-actions{display:flex;gap:10px}.leave-confirm-actions button{flex:1 1;padding:10px}.tutorial-overlay{inset:0;position:fixed;z-index:200}.tutorial-exit{background:#00000080;border:1px solid #ffffff26;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-size:.8rem;left:8px;padding:6px 14px;position:absolute;top:8px;z-index:10}.tutorial-bubble,.tutorial-exit:hover{color:var(--text-light)}.tutorial-bubble{background:#000c;border:1px solid var(--gold);border-radius:var(--radius);font-size:.85rem;left:50%;line-height:1.5;margin-top:32px;max-width:85%;padding:12px 18px;position:absolute;text-align:center;top:8px;transform:translateX(-50%);z-index:15}.tut-picked{filter:drop-shadow(0 0 8px rgba(46,204,113,.8))}.tut-dim{opacity:.35;pointer-events:none}.tut-log-panel{background:#000000d9;border-left:1px solid #ffffff1a;display:flex;flex-direction:column;height:100%;position:absolute;right:0;top:0;width:220px;z-index:25}.tut-log-entries{display:flex;flex:1 1;flex-direction:column;gap:8px;overflow-y:auto;padding:12px}.tut-log-entry{background:#d4a84314;border-left:3px solid var(--gold);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-light);font-size:.8rem;line-height:1.4;padding:8px 10px}.tut-log-entry:last-child{opacity:.5}.tut-log-latest{background:#d4a84326!important;color:var(--gold)!important;font-weight:600!important;opacity:1!important}.tut-progress{color:var(--text-muted);font-size:.7rem}@media (max-width:480px){.tutorial-bubble{font-size:.78rem;max-width:92%;padding:8px 12px}.tut-log-panel{width:160px}.tut-log-entry{font-size:.72rem;padding:6px 8px}}.howto-overlay{align-items:center;background:#000000bf;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:100}.howto-panel{background:var(--felt);border:1px solid #ffffff1f;border-radius:var(--radius);box-shadow:0 20px 60px #0009;display:flex;flex-direction:column;max-height:85vh;max-width:520px;width:100%}.howto-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;flex-shrink:0;justify-content:space-between;padding:18px 22px}.howto-header h2{color:var(--gold);font-size:1.3rem;margin:0}.howto-close{background:none;border:none;border-radius:4px;color:var(--text-muted);cursor:pointer;font-size:1.2rem;padding:4px 8px;transition:var(--transition)}.howto-close:hover{background:#ffffff1a;color:var(--text-light)}.howto-body{flex:1 1;overflow-y:auto;padding:8px 0}.howto-tutorial-btn-wrapper{border-bottom:1px solid #ffffff0f;padding:12px 22px}.howto-tutorial-btn{background:linear-gradient(135deg,var(--gold),var(--gold-dark));border:none;border-radius:var(--radius);color:var(--felt-dark);cursor:pointer;font-size:.95rem;font-weight:700;padding:12px;transition:opacity .2s;width:100%}.howto-tutorial-btn:hover{opacity:.9}.howto-section{border-bottom:1px solid #ffffff0f}.howto-section:last-child{border-bottom:none}.howto-section-btn{align-items:center;background:none;border:none;color:var(--text-light);cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:12px;padding:14px 22px;text-align:left;transition:var(--transition);width:100%}.howto-section-btn:hover{background:#ffffff0a}.howto-section.expanded .howto-section-btn{color:var(--gold)}.section-icon{flex-shrink:0;font-size:1.2rem;text-align:center;width:28px}.section-title{flex:1 1}.section-chevron{color:var(--text-muted);font-size:.85rem}.section-content{color:var(--text-muted);font-size:.88rem;line-height:1.6;overflow:hidden;padding:0 22px 16px 62px}.section-content p{margin:0 0 8px}.section-content p:last-child{margin-bottom:0}.section-content strong{color:var(--text-light)}.shithead-text{color:var(--danger)!important}.setup-visual{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.setup-step{align-items:flex-start;display:flex;gap:10px}.step-num{align-items:center;background:var(--gold);border-radius:50%;color:var(--felt-dark);display:flex;flex-shrink:0;font-size:.75rem;font-weight:700;height:22px;justify-content:center;margin-top:1px;width:22px}.hint-text{color:var(--gold-light)!important;font-size:.82rem!important;font-style:italic}.rule-box{align-items:flex-start;background:#00000040;border-left:3px solid var(--gold);border-radius:var(--radius-sm);display:flex;gap:10px;margin:8px 0;padding:10px 14px}.rule-icon{flex-shrink:0;font-size:1.1rem;margin-top:1px}.phase-list{display:flex;flex-direction:column;gap:10px;margin-top:8px}.phase-item{align-items:flex-start;display:flex;gap:10px}.phase-badge{border-radius:6px;flex-shrink:0;font-size:.72rem;font-weight:700;padding:3px 8px;white-space:nowrap}.phase-hand{background:#3498db40;color:#5dade2}.phase-faceup{background:#2ecc7140;color:#58d68d}.phase-hidden{background:#e74c3c40;color:#ec7063}.special-cards-grid{display:flex;flex-direction:column;gap:10px}.special-card{align-items:flex-start;border-bottom:1px solid #ffffff0d;display:flex;gap:12px;padding:8px 0}.special-card:last-child{border-bottom:none}.card-rank{align-items:center;background:#fff;border-radius:6px;box-shadow:0 2px 6px #0000004d;color:#1a1a2e;display:flex;flex-shrink:0;font-size:1rem;font-weight:800;height:36px;justify-content:center;width:36px}.joker-rank{background:linear-gradient(135deg,#e74c3c,#9b59b6);color:#fff;font-size:1.2rem}.card-desc{font-size:.82rem;line-height:1.5}.card-desc strong{color:var(--gold)!important}.extra-rules{display:flex;flex-direction:column;gap:14px}.extra-item{align-items:flex-start;display:flex;gap:12px}.extra-icon{flex-shrink:0;font-size:1.3rem;margin-top:2px}.extra-item div{flex:1 1}.extra-item strong{color:var(--text-light)!important;display:block;font-size:.88rem;margin-bottom:2px}.extra-item p{font-size:.82rem;margin:0}@media (max-width:480px){.howto-panel{max-height:90vh}.howto-header{padding:14px 16px}.howto-header h2{font-size:1.1rem}.howto-section-btn{font-size:.9rem;gap:10px;padding:12px 16px}.section-content{font-size:.82rem;padding:0 16px 14px 48px}.card-rank{font-size:.85rem;height:30px;width:30px}}.leaderboard-overlay{align-items:center;background:#000000bf;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:100}.leaderboard-panel{background:var(--felt);border:1px solid #ffffff1f;border-radius:var(--radius);box-shadow:0 20px 60px #0009;display:flex;flex-direction:column;max-height:80vh;max-width:440px;width:100%}.lb-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:16px 20px}.lb-header h2{color:var(--gold);font-size:1.2rem;margin:0}.lb-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1.1rem;padding:4px 8px}.lb-close:hover{color:var(--text-light)}.lb-tabs{border-bottom:1px solid #ffffff14;display:flex}.lb-tab{background:none;border:none;border-bottom:2px solid #0000;color:var(--text-muted);cursor:pointer;flex:1 1;font-size:.9rem;font-weight:600;padding:10px;transition:var(--transition)}.lb-tab.active{border-bottom-color:var(--gold);color:var(--gold)}.lb-tab:hover:not(.active){color:var(--text-light)}.lb-list{flex:1 1;overflow-y:auto;padding:8px 0}.lb-row{grid-gap:8px;align-items:center;border-bottom:1px solid #ffffff0a;cursor:pointer;display:grid;font-size:.88rem;gap:8px;grid-template-columns:40px 1fr 50px 50px;padding:10px 20px;transition:background .15s}.lb-row:hover:not(.lb-list-header){background:#ffffff0f}.lb-row:first-child{background:#d4a84314}.lb-list-header{background:none!important;border-bottom:1px solid #ffffff1a!important;font-size:.7rem!important;letter-spacing:.5px;padding:8px 20px;text-transform:uppercase}.lb-list-header .lb-elo,.lb-list-header .lb-games,.lb-list-header .lb-name,.lb-list-header .lb-rank,.lb-list-header .lb-shitcount{color:var(--text-muted)!important;font-weight:600!important}.lb-row:nth-child(2){background:#d4a84314}.lb-row:nth-child(3){background:#c0c0c00d}.lb-row:nth-child(4){background:#cd7f320d}.lb-me{background:#3498db1a!important;border-left:3px solid var(--gold)}.lb-rank{color:var(--gold);font-size:.8rem;font-weight:700}.lb-row:nth-child(2) .lb-rank{color:gold}.lb-row:nth-child(3) .lb-rank{color:silver}.lb-row:nth-child(4) .lb-rank{color:#cd7f32}.lb-name{color:var(--text-light);flex:1 1;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-elo{color:var(--gold)}.lb-elo,.lb-shitcount{font-weight:700;text-align:right}.lb-shitcount{color:var(--danger)}.lb-games{color:var(--text-muted);font-size:.75rem;text-align:right}.lb-empty,.lb-loading{color:var(--text-muted);font-size:.9rem;padding:30px;text-align:center}.lobby-container{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.lobby-content{display:flex;flex-direction:column;gap:24px;max-width:560px;width:100%}.lobby-header{text-align:center}.lobby-header h1{font-size:2.5rem;margin-bottom:20px}.player-info{gap:14px;padding:16px 20px}.player-avatar,.player-info{align-items:center;display:flex}.player-avatar{background:linear-gradient(135deg,var(--gold),var(--gold-dark));border-radius:50%;color:var(--felt-dark);font-size:1.3rem;font-weight:700;height:48px;justify-content:center;width:48px}.player-details{display:flex;flex:1 1;flex-direction:column;text-align:left}.player-name{font-size:1.1rem;font-weight:600}.player-elo{color:var(--gold);font-size:.9rem;font-weight:500}.logout-btn{font-size:.85rem;padding:8px 16px}.cleanup-row{margin-top:-8px;text-align:right}.btn-cleanup{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.75rem;padding:4px 0;text-decoration:underline}.btn-cleanup:hover{color:var(--danger)}.tab-selector{background:#0000004d;border-radius:var(--radius);display:flex;gap:4px;padding:4px}.tab-btn{background:#0000;border-radius:var(--radius-sm);color:var(--text-muted);flex:1 1;font-size:1rem;font-weight:600;padding:12px;transition:var(--transition)}.tab-btn.active{background:#ffffff1a;color:var(--gold)}.tab-btn:hover:not(.active){color:var(--text-light)}.tab-content{display:flex;flex-direction:column;gap:20px}.tab-content h2{font-size:1.5rem;margin-bottom:4px}.player-count-selector{display:flex;flex-direction:column;gap:10px}.player-count-selector label{color:var(--text-muted);font-size:.9rem;font-weight:500;letter-spacing:1px;text-transform:uppercase}.count-buttons{display:flex;gap:6px}.count-btn{background:#0000004d;border:1px solid #ffffff1a;border-radius:var(--radius-sm);color:var(--text-light);font-size:1.1rem;font-weight:700;height:48px;transition:var(--transition);width:48px}.count-btn:hover{border-color:var(--gold);color:var(--gold)}.count-btn.active{background:linear-gradient(135deg,var(--gold),var(--gold-dark));border-color:var(--gold);color:var(--felt-dark);transform:scale(1.05)}.checkbox-label{align-items:center;color:var(--text-muted);cursor:pointer;display:flex;font-size:.9rem;gap:10px}.checkbox-label input[type=checkbox]{accent-color:var(--gold);height:18px;width:18px}.find-btn{font-size:1.1rem;padding:16px;width:100%}.private-section{display:flex;flex-direction:column;gap:14px}.private-section h3{color:var(--text-light);font-family:Inter,sans-serif;font-size:1.1rem;font-weight:600}.divider{align-items:center;color:var(--text-muted);display:flex;gap:16px}.divider:after,.divider:before{background:#ffffff1a;content:"";flex:1 1;height:1px}@media (max-width:480px){.lobby-header h1{font-size:1.8rem}.count-btn{font-size:.9rem;height:38px;width:38px}.player-info{flex-wrap:wrap;gap:10px;padding:12px 14px}.player-avatar{font-size:1.1rem;height:40px;width:40px}.lobby-content{gap:16px}.tab-content{gap:14px}.find-btn{font-size:1rem;padding:12px}.history-row{font-size:.8rem;padding:6px 8px}}.history-panel h2{font-size:1.3rem;margin-bottom:8px}.history-list{display:flex;flex-direction:column;gap:4px}.history-row{align-items:center;background:#ffffff08;border-radius:var(--radius-sm);display:flex;font-size:.85rem;gap:12px;padding:8px 10px;transition:background .15s}.history-row:hover{background:#ffffff14}.history-row.history-shithead{background:#e74c3c1a}.history-pos{color:var(--gold);font-weight:700;min-width:28px}.history-shithead .history-pos{color:var(--danger)}.history-size{color:var(--text-muted);min-width:24px}.history-elo{font-weight:700;min-width:40px}.history-date{color:var(--text-muted);font-size:.75rem;margin-left:auto}.history-more{font-size:.8rem;margin-top:8px;padding:8px;width:100%}.game-replay-overlay{align-items:flex-start;background:#000000bf;display:flex;inset:0;justify-content:center;overflow-y:auto;padding:20px;position:fixed;z-index:100}.game-replay-content{max-width:800px;padding-top:10px;position:relative;width:100%}.replay-close{background:#00000080;border:1px solid #ffffff26;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-size:.9rem;padding:6px 12px;position:absolute;right:0;top:0;z-index:10}.replay-close:hover{background:#000000b3;color:var(--text-light)}.player-stats{color:var(--text-muted);font-size:.75rem}.btn-settings{background:none;border:1px solid #ffffff26;border-radius:var(--radius-sm);cursor:pointer;font-size:1.1rem;padding:6px 10px;transition:var(--transition)}.btn-settings:hover{border-color:var(--gold)}.waiting-container{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.waiting-content{max-width:500px;width:100%}.waiting-card{display:flex;flex-direction:column;gap:24px;text-align:center}.waiting-card h2{font-size:1.8rem}.game-id-label{color:var(--text-muted);font-size:.9rem}.game-id{color:var(--gold);font-family:monospace;font-weight:600}.player-slots{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.player-slot{align-items:center;display:flex;flex-direction:column;gap:6px;width:72px}.slot-avatar,.slot-empty{align-items:center;border-radius:50%;display:flex;font-size:1.4rem;font-weight:700;height:52px;justify-content:center;transition:var(--transition);width:52px}.slot-avatar{background:linear-gradient(135deg,var(--gold),var(--gold-dark));box-shadow:0 2px 12px #d4a84366;color:var(--felt-dark)}.slot-empty{background:#ffffff0d;border:2px dashed #ffffff26;color:var(--text-muted);font-size:1.2rem}.slot-label{font-size:.7rem}.slot-label,.slot-name{color:var(--text-muted);white-space:nowrap}.slot-name{font-size:.75rem;max-width:72px;overflow:hidden;text-align:center;text-overflow:ellipsis}.filled .slot-name{color:var(--text-light);font-weight:500}.slot-elo{color:var(--gold);font-size:.65rem;font-weight:500}.player-counter{align-items:baseline;display:flex;gap:4px;justify-content:center}.counter-current{color:var(--gold);font-family:Playfair Display,serif;font-size:2.5rem;font-weight:700}.counter-max,.counter-sep{color:var(--text-muted);font-size:1.5rem}.counter-max{font-family:Playfair Display,serif}.ready-counter{background:#d4a8431a;border:1px solid #d4a8434d;border-radius:20px;color:var(--gold);font-size:1rem;font-weight:700;padding:6px 16px;text-align:center}.ready-badge{background:#2ecc711a;border:1px solid #2ecc714d;border-radius:var(--radius);color:var(--success);font-size:.9rem;font-weight:700;padding:8px 20px}.countdown-display{color:var(--gold);font-size:2.5rem;font-weight:800;text-align:center}.get-ready-section{padding:16px 0}.get-ready-text{color:var(--gold);font-family:Playfair Display,serif;font-size:1.2rem;font-weight:700;letter-spacing:.5px;text-align:center}.waiting-hint{color:var(--text-muted);font-size:.95rem}.leave-btn{align-self:center;font-size:.9rem;padding:10px 24px}@media (max-width:480px){.player-slot{width:60px}.slot-avatar,.slot-empty{font-size:1.1rem;height:44px;width:44px}.countdown-number{font-size:3rem}}.btn-share{background:#ffffff1a;border:1px solid #fff3;border-radius:var(--radius);color:var(--text-light);cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 20px;transition:var(--transition);width:100%}.btn-share:hover{background:#ffffff26;border-color:var(--gold);color:var(--gold)}.waiting-actions{display:flex;flex-direction:column;gap:10px;width:100%}.start-btn{font-size:1.05rem;padding:14px;width:100%}.counter-label{color:var(--text-muted);font-size:.85rem}.elo-preview-table{align-items:center;display:flex;flex-direction:column;gap:6px}.elo-preview-title{color:var(--text-muted);font-size:.75rem;letter-spacing:1px;text-transform:uppercase}.elo-preview-rows{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.elo-preview-row{align-items:center;background:#0003;border-radius:6px;display:flex;font-size:.8rem;gap:4px;padding:3px 8px}.elo-pos{color:var(--text-muted);font-weight:600;min-width:20px}.elo-delta{font-weight:700}.faceup-container{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.faceup-content{max-width:600px;width:100%}.faceup-card{display:flex;flex-direction:column;gap:20px;text-align:center}.faceup-card h2{font-size:1.6rem}.faceup-hint{color:var(--text-muted);font-size:.9rem;line-height:1.5}.faceup-hint strong{color:var(--gold)}.faceup-timer{align-items:center;display:flex;flex-direction:column;gap:8px}.timer-number{color:var(--gold);font-family:Playfair Display,serif;font-size:1.8rem;font-weight:700}.timer-urgent{animation:pulse .5s infinite alternate;color:var(--danger)}@keyframes pulse{0%{transform:scale(1)}to{transform:scale(1.1)}}.timer-bar{background:#ffffff1a;border-radius:2px;height:4px;overflow:hidden;width:100%}.timer-fill{background:linear-gradient(90deg,var(--gold),var(--gold-light));border-radius:2px;height:100%;transition:width 1s linear}.faceup-hand{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;padding:8px 0}.faceup-selection-info{color:var(--text-muted);font-size:.85rem;font-weight:500}.faceup-preview{align-items:center;display:flex;gap:12px;justify-content:center}.preview-label{color:var(--text-muted);font-size:.85rem;font-weight:500;letter-spacing:1px;text-transform:uppercase}.preview-cards{display:flex;gap:6px}.confirm-btn{font-size:1.05rem;padding:14px;width:100%}.btn-disabled{cursor:not-allowed;opacity:.4}@media (max-width:480px){.faceup-hand{gap:4px}.faceup-hand .card{height:90px;width:64px}}.admin-container{display:flex;justify-content:center;min-height:100vh;padding:20px}.admin-content{display:flex;flex-direction:column;gap:20px;max-width:800px;padding-bottom:40px;padding-top:10px;width:100%}.admin-header{align-items:center;display:flex;gap:16px}.admin-header h1{font-size:1.6rem;margin:0}.admin-back{font-size:.85rem;padding:6px 14px}.admin-integrity-panel h2,.admin-stats-panel h2{color:var(--gold);font-size:1.15rem;margin:0 0 14px}.stats-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr)}.stat-card{background:#00000040;border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:4px;padding:16px;text-align:center}.stat-value{color:var(--gold);font-size:1.8rem;font-weight:800}.stat-label{color:var(--text-muted);font-size:.72rem;letter-spacing:.5px;text-transform:uppercase}.integrity-list{display:flex;flex-direction:column;gap:8px}.integrity-row{border-left:3px solid;border-radius:var(--radius-sm);padding:10px 12px}.integrity-pass{background:#2ecc710d;border-left-color:var(--success)}.integrity-fail{background:#e74c3c14;border-left-color:var(--danger)}.integrity-header{align-items:center;display:flex;font-size:.85rem;gap:10px}.integrity-badge{border-radius:4px;font-size:.7rem;font-weight:700;padding:2px 8px}.badge-pass{background:#2ecc7133;color:#58d68d}.badge-fail{background:#e74c3c33;color:#ec7063}.integrity-game-id{color:var(--text-light);font-family:Courier New,monospace;font-size:.8rem}.integrity-players,.integrity-time{color:var(--text-muted);font-size:.75rem}.integrity-time{margin-left:auto}.integrity-details{border-top:1px solid #ffffff0f;margin-top:6px;padding-top:6px}.integrity-check-fail{color:var(--danger);font-size:.78rem;padding:2px 0}.check-name{font-weight:600;margin-right:6px}.admin-search h2{font-size:1.2rem;margin:0 0 12px}.search-row{display:flex;gap:10px}.search-row .input-field{flex:1 1;font-family:Courier New,monospace;font-size:.85rem}.search-row .btn-primary{padding:10px 20px;white-space:nowrap}.game-viewer{display:flex;flex-direction:column;gap:16px}.viewer-section h2{color:var(--gold);font-size:1.15rem;margin:0 0 14px}.summary-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr}.summary-item{display:flex;flex-direction:column;gap:2px}.summary-label{color:var(--text-muted);font-size:.7rem;letter-spacing:.5px;text-transform:uppercase}.summary-value{color:var(--text-light);font-size:.95rem;font-weight:600}.mono{font-family:Courier New,monospace;font-size:.82rem;word-break:break-all}.status-pill{border-radius:10px;color:#fff;display:inline-block;font-size:.75rem;font-weight:700;padding:2px 10px;width:fit-content}.players-table{overflow-x:auto}.pt-header,.pt-row{grid-gap:6px;align-items:center;display:grid;font-size:.8rem;gap:6px;grid-template-columns:1.2fr .6fr .7fr .5fr .6fr .6fr 1.1fr .7fr;padding:8px 6px}.pt-header{border-bottom:1px solid #ffffff1a;color:var(--text-muted);font-size:.65rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.pt-row{border-bottom:1px solid #ffffff0a;color:var(--text-light)}.pt-dead{opacity:.5}.pt-name{overflow:hidden;text-overflow:ellipsis}.pt-name,.tag{font-weight:600;white-space:nowrap}.tag{border-radius:4px;display:inline-block;font-size:.68rem;padding:1px 6px}.tag-green{background:#2ecc7133;color:#58d68d}.tag-red{background:#e74c3c33;color:#ec7063}.tag-yellow{background:#f39c1233;color:#f5b041}.tag-gray{background:#95a5a633;color:#aab7b8}.tag-gold{background:#d4a84333;color:var(--gold)}.card-detail-block{border-bottom:1px solid #ffffff0f;padding:8px 0}.card-detail-block:last-child{border-bottom:none}.cd-name{color:var(--text-light);display:block;font-size:.85rem;font-weight:700;margin-bottom:4px}.cd-row{display:flex;font-size:.8rem;gap:8px;padding:1px 0}.cd-label{color:var(--text-muted);font-size:.72rem;min-width:60px;text-transform:uppercase}.cd-cards{color:var(--text-light);font-family:Courier New,monospace;font-size:.82rem}.cd-empty{color:var(--text-muted);font-size:.8rem;font-style:italic}.timeline{display:flex;flex-direction:column;gap:2px}.tl-entry{align-items:flex-start;border-left:3px solid #ffffff1a;border-radius:var(--radius-sm);display:flex;gap:12px;padding:8px 10px;transition:background .15s}.tl-entry:hover{background:#ffffff08}.tl-num{color:var(--text-muted);font-size:.7rem;font-weight:700;min-width:28px;padding-top:1px;text-align:right}.tl-text{color:var(--text-light);font-size:.85rem;line-height:1.4}.tl-timeout{background:#f39c120d;border-left-color:#f39c12}.tl-timeout .tl-text{color:#f5b041}.tl-eliminated{background:#e74c3c14;border-left-color:#e74c3c}.tl-eliminated .tl-text{color:#ec7063;font-weight:600}.tl-discard{background:#2ecc710d;border-left-color:#2ecc71}.tl-discard .tl-text{color:#58d68d}.tl-slap{background:#d4a8430d;border-left-color:var(--gold)}.tl-slap .tl-text{color:var(--gold)}.tl-pickup{background:#3498db0d;border-left-color:#3498db}.tl-pickup .tl-text{color:#5dade2}@media (max-width:600px){.admin-content{gap:14px}.admin-header h1{font-size:1.3rem}.summary-grid{grid-template-columns:1fr 1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.pt-header{display:none}.players-table{display:flex;flex-direction:column;gap:8px}.pt-row{background:#0003;border-radius:var(--radius-sm);display:flex;flex-wrap:wrap;font-size:.8rem;gap:6px 12px;padding:10px}.pt-name{font-size:.9rem;font-weight:700;margin-bottom:2px;width:100%}.pt-row span:not(.pt-name):not(.tag){display:inline}.pt-row span:not(.pt-name):not(.tag):before{color:var(--text-muted);font-size:.65rem}.pt-row span:nth-child(2):before{content:"ELO: "}.pt-row span:nth-child(3):before{content:"Phase: "}.pt-row span:nth-child(4):before{content:"Hand: "}.pt-row span:nth-child(5):before{content:"FaceUp: "}.pt-row span:nth-child(6):before{content:"Hidden: "}.tl-text{font-size:.8rem}}.spinner-container{align-items:center;background:var(--felt-dark);display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:100vh}.spinner-card{color:var(--gold);font-size:3rem}.spinner-text{color:var(--text-muted);font-size:.9rem}:root{--felt-green:#1a5c2a;--felt-dark:#0d3318;--felt-light:#2a7a3e;--gold:#d4a843;--gold-light:#f0d078;--gold-dark:#a07820;--card-white:#f5f0e8;--card-shadow:#0006;--red-suit:#c0392b;--black-suit:#2c3e50;--text-light:#e8e0d0;--text-muted:#a09880;--danger:#e74c3c;--success:#27ae60;--info:#3498db;--bg-overlay:#00000080;--radius:12px;--radius-sm:8px;--radius-card:10px;--transition:0.3s cubic-bezier(0.4,0,0.2,1)}*{box-sizing:border-box;margin:0;padding:0}body{background:#0d3318;background:var(--felt-dark);color:#e8e0d0;color:var(--text-light);font-family:Inter,sans-serif;min-height:100vh;overflow-x:hidden}h1,h2,h3{color:#d4a843;color:var(--gold);font-family:Playfair Display,serif}button{border:none;cursor:pointer}button,input{font-family:Inter,sans-serif;outline:none;transition:.3s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.btn-primary{background:linear-gradient(135deg,#d4a843,#a07820);background:linear-gradient(135deg,var(--gold),var(--gold-dark));border-radius:12px;border-radius:var(--radius);color:#0d3318;color:var(--felt-dark);font-size:1rem;font-weight:700;letter-spacing:.5px;padding:12px 32px;text-transform:uppercase}.btn-primary:hover{background:linear-gradient(135deg,#f0d078,#d4a843);background:linear-gradient(135deg,var(--gold-light),var(--gold));box-shadow:0 4px 20px #d4a84366;transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{cursor:not-allowed;opacity:.5;transform:none}.btn-secondary{background:#ffffff1a;border:1px solid #fff3;border-radius:12px;border-radius:var(--radius);color:#e8e0d0;color:var(--text-light);font-size:1rem;font-weight:600;padding:12px 32px}.btn-secondary:hover{background:#fff3;border-color:#d4a843;border-color:var(--gold);color:#d4a843;color:var(--gold)}.btn-danger{background:#e74c3c;background:var(--danger);border-radius:12px;border-radius:var(--radius);color:#fff;font-size:1rem;font-weight:600;padding:12px 32px}.btn-danger:hover{background:#c0392b;transform:translateY(-2px)}.input-field{background:#0000004d;border:1px solid #ffffff26;border-radius:8px;border-radius:var(--radius-sm);color:#e8e0d0;color:var(--text-light);font-size:1rem;padding:14px 18px;width:100%}.input-field:focus{border-color:#d4a843;border-color:var(--gold);box-shadow:0 0 0 3px #d4a84333}.input-field::placeholder{color:#a09880;color:var(--text-muted)}.glass-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;border-radius:var(--radius);padding:32px}.felt-bg{background:radial-gradient(ellipse at center,#2a7a3e 0,#1a5c2a 40%,#0d3318 100%);background:radial-gradient(ellipse at center,var(--felt-light) 0,var(--felt-green) 40%,var(--felt-dark) 100%)}.error-text{color:#e74c3c;color:var(--danger);font-size:.875rem;margin-top:8px}.fade-in{animation:fadeIn .5s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.shimmer{-webkit-text-fill-color:#0000;animation:shimmer 2s infinite;background:linear-gradient(90deg,#a07820 25%,#f0d078 50%,#a07820 75%);background:linear-gradient(90deg,var(--gold-dark) 25%,var(--gold-light) 50%,var(--gold-dark) 75%);-webkit-background-clip:text;background-size:200% 100%}@media (max-width:768px){.glass-panel{padding:20px}.btn-danger,.btn-primary,.btn-secondary{font-size:.9rem;min-height:44px;padding:10px 24px}.input-field{font-size:.95rem;min-height:44px;padding:12px 14px}body{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}}@media (max-width:480px){.glass-panel{border-radius:8px;border-radius:var(--radius-sm);padding:16px}h1{font-size:1.8rem}h2{font-size:1.3rem}}
/*# sourceMappingURL=main.cfcbdaf2.css.map*/