body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}:root,[data-theme=light]{--bg:#e8e8e8;--bg-card:#fff;--text:#333;--text-muted:#555;--border:#e8e8e8;--card-bg:#fff}[data-theme=dark]{--bg:#1a1a1a;--bg-card:#2d2d2d;--text:#e8e8e8;--text-muted:#b0b0b0;--border:#404040;--card-bg:#2d2d2d}body{color:#333;color:var(--text);font-family:Segoe UI,system-ui,-apple-system,sans-serif;margin:0}.auth-page,body{background:#e8e8e8;background:var(--bg);min-height:100vh}.auth-page{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:2rem}.auth-page .auth-wrapper{background:#fff;background:var(--card-bg);border-radius:12px;box-shadow:0 4px 20px #00000014;max-width:420px;overflow:hidden;width:100%}.auth-page .auth-illustration{align-items:center;background:#f9f9f9;display:flex;height:180px;justify-content:center;padding:1rem;width:100%}.auth-page .auth-illustration img{max-height:100%;max-width:100%;object-fit:contain}.auth-page .auth-card{padding:2rem 2rem 2.5rem}.auth-page .auth-google-section{margin-bottom:1rem}.auth-page .btn-google{align-items:center;background:#fff;border:1px solid #ddd;border-radius:8px;color:#333;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:500;gap:.5rem;justify-content:center;padding:.75rem 1rem;text-decoration:none;transition:background .2s,border-color .2s;width:100%}.auth-page .btn-google:hover{background:#f8f8f8;border-color:#ccc}.auth-page .btn-google.disabled{cursor:not-allowed;opacity:.7;pointer-events:none}.auth-page .auth-divider{color:#888;font-size:.9rem;margin:1rem 0;text-align:center}.auth-page h1{color:#333;font-size:1.5rem;font-weight:600;margin:0 0 1.5rem;text-align:center}.auth-page form{display:flex;flex-direction:column;gap:1.25rem}.auth-page .form-group{display:flex;flex-direction:column;gap:.4rem}.auth-page .form-group label{color:#333;font-size:.9rem;font-weight:500}.auth-page .form-group label .required{color:#e74c3c}.auth-page input[type=email],.auth-page input[type=password],.auth-page input[type=text]{background:#fff;border:1px solid #ddd;border-radius:8px;color:#333;font-size:1rem;padding:.75rem 1rem;transition:border-color .2s}.auth-page input::placeholder{color:#999}.auth-page input:focus{border-color:#e74c3c;outline:none}.auth-page .form-check{align-items:center;color:#666;display:flex;font-size:.9rem;gap:.5rem}.auth-page .form-check input{accent-color:#e74c3c;height:18px;width:18px}.auth-page button[type=submit]{background:#e74c3c;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.05rem;font-weight:500;margin-top:.25rem;padding:1rem 2rem;transition:background .2s;width:100%}.auth-page button[type=submit]:hover:not(:disabled){background:#c0392b}.auth-page button[type=submit]:disabled{cursor:not-allowed;opacity:.6}.auth-page .auth-error-top,.auth-page .error{background:#fde8e8;border:1px solid #f5c6cb;border-radius:8px;color:#c0392b;font-size:.9rem;padding:.75rem 1rem}.auth-page .auth-error-top{margin-bottom:1rem}.auth-page .auth-loading{background:#f0f7ff;border:1px solid #b3d7ff;border-radius:8px;color:#1976d2;font-size:.95rem;margin-bottom:1rem;padding:.75rem 1rem;text-align:center}.auth-page .success{background:#e8f5e9;border:1px solid #c8e6c9;border-radius:8px;color:#2e7d32;font-size:.9rem;padding:.75rem 1rem}.auth-page .btn-link{background:none;border:none;color:#e74c3c;cursor:pointer;font:inherit;padding:0;text-decoration:none}.auth-page .btn-link:hover{text-decoration:underline}.auth-page input.readonly{background:#f5f5f5;color:#666}.auth-page .auth-links{align-items:center;display:flex;flex-direction:column;font-size:.9rem;gap:.5rem;margin-top:1.5rem}.auth-page .auth-links a{color:#e74c3c;text-decoration:none;transition:color .2s}.auth-page .auth-links a:hover{color:#c0392b}.auth-page .auth-footer{color:#666;font-size:.95rem;margin-top:1.5rem;text-align:center}.auth-page .auth-footer a{color:#e74c3c;text-decoration:none;transition:color .2s}.auth-page .auth-footer a:hover{color:#c0392b}.auth-page .auth-subtitle{color:#666;font-size:.95rem;margin:0 0 1.5rem;text-align:center}.auth-page .code-input{font-size:1.5rem;letter-spacing:.5em;text-align:center}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:500;justify-content:center;padding:.75rem 1.5rem;text-decoration:none;transition:background .2s,color .2s}.btn-primary{background:#e74c3c;color:#fff}.btn-primary:hover{background:#c0392b}.btn-secondary{background:#fff;border:1px solid #ddd;color:#333}.btn-secondary:hover{background:#f5f5f5;border-color:#ccc}.btn-outline{background:#0000;border:2px solid #e74c3c;color:#e74c3c}.btn-outline:hover{background:#e74c3c;color:#fff}.btn-sm{font-size:.85rem;padding:.4rem .75rem}.home-page{display:flex;flex-direction:column;margin:0;min-height:100vh;overflow:visible;padding:0}.home-page header{flex-shrink:0;width:100%}.home-page main{align-items:center;display:flex;flex:1 1;justify-content:center;margin:0 auto;max-width:720px;padding:1.5rem;width:100%}.decks-page,.play-page{margin:0;max-width:none;overflow:visible;padding:1.5rem 2rem;width:100%}.decks-page h1,.play-page h1{margin-top:0}.decks-page .btn,.play-page .btn{margin-bottom:1rem}.decks-page-actions{display:flex;gap:.75rem;margin-bottom:1rem}.deck-create-page{max-width:none;width:100%}.deck-create-page .deck-create-actions{margin-bottom:1rem}.deck-create-form{display:flex;flex-direction:column;gap:1rem}.deck-create-form .form-group{display:flex;flex-direction:column;gap:.4rem}.deck-create-form .form-group label{font-weight:500}.deck-create-form input{border:1px solid #ddd;border-radius:8px;font-size:1rem;padding:.5rem .75rem}.deck-total{color:#333;font-weight:600}.cards-list{background:#fafafa;border:1px solid #ddd;border-radius:8px;max-height:400px;overflow-y:auto;padding:.5rem;width:100%}.card-row{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:.4rem .5rem}.card-row:last-child{border-bottom:none}.card-name{font-size:.9rem}.card-controls{align-items:center;display:flex;gap:.5rem}.card-count{font-weight:500;min-width:1.5rem;text-align:center}.decks-page .error,.play-page .error{background:#fde8e8;border:1px solid #f5c6cb;border-radius:8px;color:#c0392b;font-size:.9rem;margin-bottom:1rem;padding:.75rem 1rem}.play-page>div{display:flex;flex-direction:column;gap:.75rem}.play-page select{font-size:1rem;padding:.5rem}.play-page .btn{font-size:1.05rem;padding:.85rem 1.75rem}.play-page button:disabled{cursor:not-allowed;opacity:.6}.play-page .mode-selection{margin-bottom:1rem}.play-page .mode-selection>label{display:block;font-weight:500;margin-bottom:.25rem}.play-page .mode-selection-options{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.play-page .mode-option{border:2px solid #e8e8e8;border:2px solid var(--border,#e8e8e8);border-radius:8px;cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:.15rem;min-width:140px;padding:.75rem 1rem;transition:border-color .2s,background .2s}.play-page .mode-option:hover{background:#e74c3c0a;border-color:#e74c3c}.play-page .mode-option:has(input:checked){background:#e74c3c14;border-color:#e74c3c}.play-page .mode-option input{accent-color:#e74c3c;margin-right:.5rem}.play-page .mode-option span{font-weight:600}.play-page .mode-option small{color:#555;color:var(--text-muted);display:block;font-size:.8rem}.home-page a:not(.btn){color:#e74c3c}.welcome .btn-primary,header .btn-primary{color:#fff}header{background:#fff;background:var(--bg-card);border-bottom:1px solid #e8e8e8;border-bottom:1px solid var(--border);justify-content:space-between;padding:1rem max(1.5rem,env(safe-area-inset-right)) 1rem max(1.5rem,env(safe-area-inset-left))}header,header .header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}header .btn{font-size:.95rem}header .btn,header .btn-outline{padding:.6rem 1.25rem}header .header-logo{align-items:center;display:flex;font-size:1.25rem;gap:.5rem;margin:0}header .header-logo img{border-radius:6px;height:36px;width:auto}header .header-user{align-items:center;display:inline-flex;gap:.5rem;margin-right:.5rem}.header-avatar{border-radius:50%;height:32px;object-fit:cover;width:32px}.header-avatar-placeholder{align-items:center;background:#4a90d9;border-radius:50%;color:#fff;display:flex;font-size:.9rem;font-weight:600;height:32px;justify-content:center;width:32px}header .header-username{color:#555;color:var(--text-muted,#666);font-weight:500}.welcome{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;text-align:center}.welcome .btn{margin-top:0}.welcome .btn-primary{font-size:1.1rem;padding:1rem 2rem}.welcome-box{background:#fff;background:var(--card-bg);border-radius:12px;box-shadow:0 4px 24px #0000001a;min-width:320px;padding:2.5rem 3rem}.welcome-logo{align-items:center;display:flex;font-size:1.5rem;gap:.5rem;justify-content:center;margin:0 0 .5rem}.welcome-logo img{border-radius:8px;height:48px;width:auto}.welcome-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.btn-lg{font-size:1.15rem!important;padding:1rem 2.5rem!important}.game-board{margin:0 auto;max-width:900px;padding:1rem;position:relative}.game-effect-overlay{align-items:center;animation:overlay-fade-in .2s ease-out;background:#00000080;cursor:pointer;display:flex;inset:0;justify-content:center;position:fixed;z-index:900}.game-effect-overlay img,.game-effect-overlay video{max-height:90vh;max-width:90vw;object-fit:contain;pointer-events:none}.game-overlay{align-items:center;animation:overlay-fade-in .4s ease-out;background:#000000bf;display:flex;flex-direction:column;inset:0;justify-content:center;position:fixed;z-index:1000}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}.game-overlay-message{border-radius:12px;font-size:3rem;font-weight:700;letter-spacing:.1em;padding:2rem 4rem;text-transform:uppercase}.game-overlay-message.victory{background:linear-gradient(135deg,#27ae60,#2ecc71);box-shadow:0 8px 32px #27ae6080;color:#fff}.game-overlay-message.defeat{background:linear-gradient(135deg,#c0392b,#e74c3c);box-shadow:0 8px 32px #c0392b80;color:#fff}.game-overlay-message.draw{background:linear-gradient(135deg,#7f8c8d,#95a5a6);box-shadow:0 8px 32px #7f8c8d80;color:#fff}.game-overlay-hint{color:#fffc;font-size:1rem;margin-top:1.5rem}.game-overlay .btn{margin-top:.5rem}.replay-page{margin:0 auto;max-width:900px;padding:1rem}.replay-error,.replay-loading{padding:2rem;text-align:center}.replay-error p{color:#c0392b;margin-bottom:1rem}.replay-controls{align-items:center;display:flex;gap:1rem;justify-content:center;margin:1rem 0;padding:.5rem}.replay-step-info{color:#555;color:var(--text-muted,#888);font-size:.95rem}.game-board header{border:none}.game-board-loading .game-load-error,.game-board-loading .game-loading{padding:2rem;text-align:center}.game-load-error p{color:#c0392b;margin-bottom:1rem}.error-detail-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}.error-detail{background:#fff;background:var(--card-bg);border-radius:12px;box-shadow:0 8px 32px #0003;display:flex;flex-direction:column;max-height:85vh;max-width:520px;overflow:hidden;width:100%}.error-detail-header{align-items:center;background:#c0392b14;border-bottom:1px solid #e8e8e8;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:1rem 1.25rem}.error-detail-header h3{color:#c0392b;font-size:1.1rem;margin:0}.error-detail-close{background:none;border:none;color:#555;color:var(--text-muted);cursor:pointer;font-size:1.5rem;line-height:1;padding:0 .25rem}.error-detail-close:hover{color:#333;color:var(--text)}.error-detail-body{overflow-y:auto;padding:1.25rem}.error-detail-message{color:#333;color:var(--text);font-size:1rem;margin:0 0 1rem}.error-detail-meta{grid-gap:.25rem 1rem;display:grid;font-size:.9rem;gap:.25rem 1rem;grid-template-columns:auto 1fr;margin-bottom:1rem}.error-detail-meta dt{color:#555;color:var(--text-muted)}.error-detail-meta dd{margin:0}.error-detail-meta code{font-size:.85em;word-break:break-all}.error-detail-details{margin-bottom:1rem}.error-detail-details h4{font-size:.9rem;margin:0 0 .5rem}.error-detail-details ul{font-size:.9rem;margin:0;padding-left:1.25rem}.error-detail-full{background:#0000000f;border-radius:6px;font-size:.8rem;margin:0;padding:.75rem;white-space:pre-wrap;word-break:break-word}.error-detail-footer{border-top:1px solid #e8e8e8;border-top:1px solid var(--border);padding:1rem 1.25rem}.enemy-area,.my-area{border:1px solid #444;border-radius:8px;margin:1rem 0;padding:1rem}.board{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.5rem;min-height:100px}.minion{align-items:center;border:2px solid #666;border-radius:8px;display:flex;flex-direction:column;font-size:12px}.minion .card-display{border:none;box-shadow:none}.my-minion{border-color:#4a90d9;cursor:default}.my-minion.can-attack{cursor:pointer}.my-minion.can-attack:hover{box-shadow:0 0 0 2px #4a90d9}.my-minion.attacker-selected{border-color:#f39c12;box-shadow:0 0 0 3px #f39c12}.my-minion.battlecry-target{border-color:#27ae60;box-shadow:0 0 0 3px #27ae60;cursor:pointer}.my-minion.battlecry-target:hover{border-color:#2ecc71;box-shadow:0 0 0 4px #2ecc71;transform:scale(1.02)}.enemy-minion.attack-target{box-shadow:0 0 0 2px #e74c3c;cursor:pointer}.enemy-minion.attack-target:hover{box-shadow:0 0 0 4px #e74c3c;transform:scale(1.02)}.minion.attack-hit{animation:attack-hit .35s ease-out}@keyframes attack-hit{0%,to{transform:scale(1)}25%{filter:brightness(1.5);transform:scale(1.08)}50%{transform:scale(.96) translateX(-2px)}75%{transform:scale(1.02) translateX(2px)}}.minion.card-just-played{animation:card-play .4s ease-out}@keyframes card-play{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.enemy-hero{border-radius:8px;display:inline-block;font-weight:600;padding:.5rem 1rem}.enemy-hero.attack-target{background:#e74c3c33;border:2px solid #e74c3c;cursor:pointer}.enemy-hero.attack-target:hover{background:#e74c3c59}.enemy-hero.attack-hit{animation:attack-hit .35s ease-out}.attack-hint{color:#f39c12;font-size:.9rem;margin-top:.5rem}.minion-attack-badge{color:#27ae60;font-size:9px;margin-top:.2rem}.hand{-webkit-overflow-scrolling:touch;align-items:flex-start;display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0;overflow-x:auto;overflow-y:visible}.card-in-hand{align-items:center;display:flex;flex-direction:column;gap:.25rem}.card-in-hand .card-display{border:none;box-shadow:none}.card-display{align-items:center;background:linear-gradient(145deg,#fff,#f0f0f0);border:1px solid #ccc;border-radius:8px;box-shadow:0 2px 6px #0000001a;display:flex;flex-direction:column;justify-content:flex-start;min-width:0;padding:.5rem;position:relative}.card-display--with-image{background-position:50%!important;background-size:cover!important}.card-display--with-image .card-display-name{background:linear-gradient(#0000,#000000bf);color:#fff;text-shadow:0 1px 2px #000c}.card-display--with-image .card-display-mana,.card-display--with-image .card-display-right-stats,.card-display--with-image .card-display-stats,.card-display--with-image .card-display-type{text-shadow:0 1px 2px #000c}.card-display-image-overlay{background:linear-gradient(0deg,#00000080 0,#0000 50%);border-radius:inherit;inset:0;pointer-events:none;position:absolute}.card-display--sm{font-size:11px;min-height:98px;width:72px}.card-display--sm .card-display-name{font-size:10px;line-height:1.1}.card-display--sm .card-display-stats,.card-display--sm .card-display-type{font-size:10px}.card-display--md{font-size:13px;min-height:168px;width:120px}.card-display--md .card-display-mana{font-size:15px}.card-display--md .card-display-name{font-size:12px;line-height:1.2}.card-display--lg{font-size:15px;min-height:198px;width:148px}.card-display--lg .card-display-mana{font-size:18px}.card-display--lg .card-display-name{font-size:13px;line-height:1.2}.card-display-mana{align-items:center;background:#4a90d9;border-radius:50%;color:#fff;display:flex;font-weight:700;height:28px;justify-content:center;margin-bottom:.4rem;width:28px}.card-display--sm .card-display-mana{font-size:11px;height:20px;width:20px}.card-display--md .card-display-mana{height:28px;width:28px}.card-display--lg .card-display-mana{height:34px;width:34px}.card-display-name{align-items:center;color:#333;display:flex;font-weight:600;justify-content:center;margin-top:auto;padding-top:.35rem;text-align:center;word-break:break-word}.card-display-stats{color:#555;font-weight:600}.card-display-type{color:#666;font-size:.85em}.card-display-right-stats{background:#0000000f;border-radius:6px 0 0 6px;display:flex;flex-direction:column;gap:.4rem;padding:.25rem .35rem;position:absolute;right:0;top:50%;transform:translateY(-50%)}.card-display-attack{color:#c0392b}.card-display-attack,.card-display-health{align-items:center;display:flex;font-size:.9em;font-weight:700;justify-content:center;min-width:20px}.card-display-health{color:#27ae60}.card-display--sm .card-display-right-stats{gap:.2rem;padding:.15rem .25rem}.card-display--sm .card-display-attack,.card-display--sm .card-display-health{font-size:.8em;min-width:16px}.card-display-count{align-items:center;background:#e74c3c;border-radius:50%;color:#fff;display:flex;font-size:11px;font-weight:700;height:18px;justify-content:center;position:absolute;right:-4px;top:-4px;width:18px}.card-display--sm .card-display-count{font-size:9px;height:14px;width:14px}.card-display-keywords{display:flex;flex-wrap:wrap;gap:.2rem;margin-top:.2rem}.keyword{border-radius:4px;font-size:.65em;font-weight:600;padding:.1rem .3rem}.keyword-taunt{background:#95a5a6;color:#fff}.keyword-charge{background:#f39c12;color:#fff}.keyword-divine{background:#3498db;color:#fff}.keyword-windfury{background:#9b59b6;color:#fff}.keyword-stealth{background:#2c3e50;color:#fff}.keyword-poisonous{background:#27ae60;color:#fff}.keyword-lifesteal{background:#e74c3c;color:#fff}.keyword-rush{background:#e67e22;color:#fff}.keyword-battlecry{background:#1abc9c;color:#fff}.keyword-deathrattle{background:#34495e;color:#fff}.minion-stealth{filter:brightness(.9);opacity:.85}.cards-grid{background:#f8f8f8;border:1px solid #e8e8e8;border-radius:12px;display:flex;flex-wrap:wrap;gap:.75rem;min-height:280px;padding:1.5rem;width:100%}.deck-card{background:#fff;border:2px solid #ddd;border-radius:12px;cursor:pointer;min-width:200px;padding:1.25rem;transition:border-color .2s,box-shadow .2s}.deck-card:hover{border-color:#e74c3c;box-shadow:0 4px 12px #e74c3c33}.deck-card.selected{background:#fff8f8;border-color:#e74c3c;box-shadow:0 4px 12px #e74c3c40}.deck-card-link{color:inherit;display:block;text-decoration:none}.decks-grid{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem}.decks-list-page{display:flex;flex-direction:column;min-height:100vh;padding:0}.decks-page-header{align-items:center;background:#fff;border-bottom:1px solid #e8e8e8;display:flex;flex-shrink:0;justify-content:space-between;padding:1rem 2rem}.decks-page-header h1{font-size:1.25rem;margin:0}.decks-grid-full{background:#fff;flex:1 1;margin-top:0;min-height:0;overflow:auto;padding:1.5rem 2rem}.deck-detail-page{display:flex;flex-direction:column;margin:0;min-height:100vh;padding:0;width:100%}.deck-detail-header{align-items:center;background:#fff;border-bottom:1px solid #e8e8e8;display:flex;flex-shrink:0;justify-content:space-between;padding:1rem 2rem}.deck-detail-header h1{font-size:1.25rem;margin:0}.deck-detail-cards{background:#fff;flex:1 1;min-height:0;overflow:auto;padding:1.5rem 2rem}.deck-detail-cards .cards-grid{min-height:auto}.deck-edit-cards-section{margin:1.5rem 0}.deck-edit-cards-section h3{font-size:1.1rem;margin:0 0 1rem}.deck-edit-cards-grid{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem}.deck-edit-card-item{align-items:center;background:#f9f9f9;border:1px solid #eee;border-radius:8px;display:flex;flex-direction:column;gap:.5rem;padding:.5rem}.deck-edit-card-item .card-display{cursor:default}.deck-edit-card-controls{align-items:center;display:flex;gap:.5rem}.deck-edit-card-count{font-size:.95rem;font-weight:600;min-width:1.5rem;text-align:center}.deck-card h3{font-size:1rem;margin:0 0 .5rem}.deck-card .deck-cards-preview{background:#fafafa;border-radius:8px;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem;min-height:110px;padding:.5rem}.deck-card-count{color:#666;display:block;font-size:.85rem;margin-top:.5rem}.decks-cards-row{display:flex;flex-wrap:wrap;gap:1rem;margin:.75rem 0;width:100%}.deck-selection label{display:block;font-weight:500;margin-bottom:.25rem}.selected-deck-cards{background:#fff;background:var(--card-bg,#fff);border:1px solid #e8e8e8;border:1px solid var(--border,#e8e8e8);border-radius:12px;margin:1.5rem 0;padding:1.5rem;width:100%}.selected-deck-cards h3{font-size:1rem;margin:0 0 1rem}.admin-cabinet{min-height:100vh;padding:0}.admin-header{align-items:center;background:#fff;border-bottom:1px solid #e8e8e8;display:flex;justify-content:space-between;padding:1rem 2rem}.admin-header h1{font-size:1.25rem;margin:0}.admin-promote-section{background:#fff;border-bottom:1px solid #e8e8e8;padding:1rem 2rem}.admin-promote-section h3{font-size:1rem;margin:0 0 .75rem}.admin-promote-form{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.admin-promote-input{border:1px solid #ddd;border-radius:8px;font-size:1rem;min-width:200px;padding:.5rem .75rem}.admin-game-sounds-section{background:#fff;border-bottom:1px solid #e8e8e8;padding:1rem 2rem}.admin-game-sounds-section h3{font-size:1rem;margin:0 0 .5rem}.admin-game-sounds-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr);margin-top:.75rem}.admin-game-sound-item{background:#fafafa;border:1px solid #e8e8e8;border-radius:8px;padding:1rem}.admin-game-sound-item h4{font-size:.9rem;margin:0 0 .5rem}.admin-content{margin:0 auto;max-width:1400px;padding:1.5rem 2rem}.admin-cards-list h3{font-size:1rem;margin:0 0 1rem}.admin-cards-grid{display:flex;flex-wrap:wrap;gap:.75rem}.admin-card-item{background:#fff;border:2px solid #ddd;border-radius:8px;cursor:pointer;padding:.5rem;text-align:center;transition:border-color .2s}.admin-card-item:hover{border-color:#e74c3c}.admin-card-item.selected{background:#fff8f8;border-color:#e74c3c}.admin-card-preview-img{border-radius:6px;height:98px;object-fit:cover;width:72px}.admin-card-preview-name{display:block;font-size:.8rem;margin-top:.25rem;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-edit-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;overflow-y:auto;padding:1rem;position:fixed;z-index:1000}.admin-edit-panel{background:#fff;border:1px solid #e8e8e8;border-radius:12px;box-shadow:0 8px 32px #0003;max-height:90vh;max-width:420px;overflow-y:auto;padding:1.5rem;width:100%}.admin-edit-panel-header{align-items:center;border-bottom:1px solid #e8e8e8;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem}.admin-edit-panel-header h3{font-size:1rem;margin:0}.admin-edit-close{font-size:1.5rem;line-height:1;min-height:36px;min-width:36px;padding:0}.admin-form .form-group{margin-bottom:1rem}.admin-form .form-group label{display:block;font-weight:500;margin-bottom:.25rem}.admin-form input,.admin-form textarea{border:1px solid #ddd;border-radius:8px;font-size:1rem;padding:.5rem .75rem;width:100%}.admin-form button{margin-top:.5rem}.admin-image-upload,.admin-sound-upload{border-top:1px solid #eee;margin-top:1.5rem;padding-top:1.5rem}.admin-image-upload h4,.admin-sound-upload h4{font-size:.95rem;margin:0 0 .75rem}.current-sound{display:flex;flex-direction:column;gap:.25rem;margin-top:.75rem}.admin-image-upload h4{font-size:.95rem;margin:0 0 .75rem}.admin-file-input-wrap{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;position:relative}.admin-file-input{cursor:pointer;height:100%;left:0;opacity:0;position:absolute;top:0;width:100%}.admin-file-label{align-items:center;cursor:pointer;display:inline-flex;justify-content:center;margin:0;position:relative}.admin-file-label:hover{background:#f5f5f5;border-color:#ccc}.admin-file-name{color:#666;font-size:.9rem;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-hint{color:#666;font-style:italic}.admin-hint-small{color:#888;font-size:.85em;margin:.25rem 0 .5rem}.admin-cabinet .error{margin:1rem 2rem}.profile-page{display:flex;flex-direction:column;min-height:100vh}.profile-main{flex:1 1;margin:0 auto;max-width:560px;padding:2rem;width:100%}.profile-main h2{font-size:1.5rem;margin:0 0 1.5rem}.profile-card{background:#fff;background:var(--card-bg);border-radius:12px;box-shadow:0 4px 20px #00000014;margin-bottom:2rem;padding:2rem}.profile-avatar-wrap{display:flex;justify-content:center;margin-bottom:1.5rem}.profile-avatar{border-radius:50%;height:96px;object-fit:cover;width:96px}.profile-avatar-placeholder{align-items:center;background:#4a90d9;border-radius:50%;color:#fff;display:flex;font-size:2.5rem;font-weight:600;height:96px;justify-content:center;width:96px}.profile-form .form-group{margin-bottom:1rem}.profile-form .form-group label{display:block;font-weight:500;margin-bottom:.25rem}.profile-form input{background:#fff;background:var(--card-bg);border:1px solid #e8e8e8;border:1px solid var(--border,#ddd);border-radius:8px;color:#333;color:var(--text);font-size:1rem;padding:.5rem .75rem;width:100%}.profile-form .error{margin-bottom:1rem}.avatar-upload-form{margin-bottom:.5rem}.avatar-upload-row{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.avatar-file-label{cursor:pointer;margin:0}.avatar-file-input{display:none}.avatar-file-name{color:#555;color:var(--text-muted);font-size:.9rem}.profile-stats{background:#fff;background:var(--card-bg);border-radius:12px;box-shadow:0 4px 20px #00000014;padding:2rem}.profile-stats h3{font-size:1.1rem;margin:0 0 1rem}.stats-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}.stat-item{background:#0000000a;border-radius:8px;padding:1rem;text-align:center}.stat-value{color:#333;color:var(--text);display:block;font-size:1.5rem;font-weight:700}.stat-label{color:#555;color:var(--text-muted);font-size:.85rem}.stat-rating .stat-value{color:#9b59b6}.stat-rank .stat-value{color:#f39c12}.stat-wins .stat-value{color:#27ae60}.stat-losses .stat-value{color:#e74c3c}.stat-draws .stat-value{color:#7f8c8d}@media (max-width:500px){.stats-grid{grid-template-columns:repeat(2,1fr)}}.modal-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}.modal-content{background:#fff;background:var(--card-bg,#fff);border-radius:12px;box-shadow:0 8px 32px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:520px;overflow:hidden;width:100%}.modal-header{align-items:center;border-bottom:1px solid #e8e8e8;border-bottom:1px solid var(--border,#e8e8e8);display:flex;justify-content:space-between;padding:1rem 1.5rem}.modal-header h2{font-size:1.25rem;margin:0}.modal-body{overflow-y:auto;padding:1.5rem}.tutorial-modal section{margin-bottom:1.25rem}.tutorial-modal section:last-child{margin-bottom:0}.tutorial-modal h3{color:#333;color:var(--text,#333);font-size:1rem;margin:0 0 .5rem}.tutorial-modal p{color:#555;color:var(--text-muted,#555);font-size:.95rem;line-height:1.5;margin:0}.leaderboard-page{min-height:100vh;padding:0}.leaderboard-page header{align-items:center;background:#fff;background:var(--card-bg);border-bottom:1px solid #e8e8e8;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:1rem 2rem}.leaderboard-main{margin:0 auto;max-width:600px;padding:2rem}.leaderboard-main h2{margin:0 0 .5rem}.leaderboard-subtitle{color:#555;color:var(--text-muted);font-size:.95rem;margin:0 0 1.5rem}.leaderboard-table{background:#fff;background:var(--card-bg);border-radius:12px;box-shadow:0 2px 12px #00000014;overflow:hidden}.leaderboard-header,.leaderboard-row{grid-gap:1rem;align-items:center;display:grid;gap:1rem;grid-template-columns:50px 1fr 80px 100px;padding:.75rem 1rem}.leaderboard-header{background:#0000000d;font-size:.9rem;font-weight:600}.leaderboard-row{border-top:1px solid #e8e8e8;border-top:1px solid var(--border)}.leaderboard-row:nth-child(2n){background:#00000005}.lb-place{color:#555;color:var(--text-muted)}.lb-user{align-items:center;display:flex;gap:.5rem}.lb-avatar{object-fit:cover}.lb-avatar,.lb-avatar-placeholder{border-radius:50%;height:32px;width:32px}.lb-avatar-placeholder{align-items:center;background:#4a90d9;color:#fff;display:flex;font-size:.9rem;font-weight:600;justify-content:center}.lb-rating{color:#9b59b6;font-weight:600}.lb-rank{color:#f39c12}.leaderboard-empty{color:#555;color:var(--text-muted);padding:2rem;text-align:center}.replays-list-page{background:#e8e8e8;background:var(--bg);display:flex;flex-direction:column;min-height:100vh}.replays-page-header{align-items:center;background:#fff;background:var(--card-bg);border-bottom:1px solid #e8e8e8;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;justify-content:space-between;padding:1rem 2rem}.replays-page-header h1{font-size:1.25rem;margin:0}.replays-content{flex:1 1;overflow:auto;padding:1.5rem 2rem}.replays-empty{color:#555;color:var(--text-muted)}.replays-empty,.replays-loading{padding:2rem;text-align:center}.replays-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.replay-card{background:#fff;background:var(--card-bg);border:2px solid #e8e8e8;border:2px solid var(--border);border-radius:12px;color:inherit;display:flex;flex-direction:column;gap:.5rem;padding:1.25rem;text-decoration:none;transition:border-color .2s,box-shadow .2s}.replay-card:hover{border-color:#e74c3c;box-shadow:0 4px 12px #e74c3c33}.replay-card-header{align-items:center;display:flex;justify-content:space-between}.replay-card-id{font-size:1rem;font-weight:600}.replay-card-result{border-radius:6px;font-size:.9rem;font-weight:600;padding:.25rem .5rem}.replay-result-win{background:#27ae6026;color:#27ae60}.replay-result-loss{background:#e74c3c26;color:#e74c3c}.replay-result-draw{background:#7f8c8d26;color:#7f8c8d}.replay-card-meta{color:#555;color:var(--text-muted);font-size:.85rem}.replay-card-watch{color:#e74c3c;font-size:.9rem;margin-top:.75rem}@media (max-width:768px){.replays-list-page{min-height:100vh}.replays-page-header{align-items:stretch;flex-direction:column;gap:1rem;padding:1rem max(1rem,env(safe-area-inset-right)) 1rem max(1rem,env(safe-area-inset-left))}.replays-page-header h1{font-size:1.15rem;text-align:center}.replays-page-actions{display:flex;justify-content:center}.replays-page-actions .btn{max-width:200px;width:100%}.replays-content{padding:1rem max(1rem,env(safe-area-inset-right)) 1rem max(1rem,env(safe-area-inset-left))}.replays-grid{gap:.75rem;grid-template-columns:1fr}.replay-card{padding:1rem}.replay-card-header{flex-wrap:wrap;gap:.5rem}.replay-card-id{font-size:.95rem}.replay-card-result{font-size:.85rem;padding:.2rem .4rem}.replay-card-meta{font-size:.8rem}.replay-card-watch{font-size:.85rem;margin-top:.5rem}.replays-empty{font-size:.95rem}.replays-empty,.replays-loading{padding:1.5rem 1rem}}@media (max-width:480px){.replays-page-header{padding:.75rem}.replays-page-header h1{font-size:1.1rem}.replays-content{padding:.75rem}.replays-grid{gap:.6rem}.replay-card{padding:.85rem}.replay-card-id{font-size:.9rem}.replay-card-meta{font-size:.75rem}.replay-card-watch{font-size:.8rem}.replays-error,.replays-list-page .error{margin:.75rem 1rem!important}}.replays-list-page .replays-error{margin:1rem 2rem}@media (max-width:768px){.decks-page-header{align-items:stretch;flex-direction:column;gap:1rem;padding:1rem}.decks-page-header h1{font-size:1.1rem;text-align:center}.decks-page-actions{flex-wrap:wrap;gap:.5rem;justify-content:center}.decks-page-actions .btn{flex:1 1;font-size:.9rem;margin-bottom:0;min-width:120px;padding:.65rem 1rem}.decks-grid-full{padding:1rem}.decks-grid{gap:.75rem}.deck-card{min-width:100%;padding:1rem;width:100%}.deck-card h3{font-size:.95rem}.deck-card .deck-cards-preview{gap:.35rem;min-height:85px;padding:.4rem}.deck-card .deck-cards-preview .card-display{min-height:66px!important;width:48px!important}.deck-card .deck-cards-preview .card-display-mana{font-size:9px!important;height:16px!important;width:16px!important}.deck-card .deck-cards-preview .card-display-name{font-size:8px!important;line-height:1.1}.deck-card .deck-cards-preview .card-display-right-stats{font-size:.65em;padding:.1rem .15rem}.deck-card-count{font-size:.8rem}}@media (max-width:480px){.decks-page-header{padding:.75rem}.decks-page-actions{flex-direction:column}.decks-page-actions .btn{min-width:100%;width:100%}.decks-grid-full{padding:.75rem}.decks-page .error{margin:.75rem 1rem!important}}@media (max-width:768px){.deck-detail-header{align-items:stretch;flex-direction:column;gap:.75rem;padding:1rem}.deck-detail-header h1{font-size:1.1rem;text-align:center}.deck-detail-header .btn{width:100%}.deck-detail-cards{padding:1rem}.deck-edit-cards-section{margin:1rem 0}.deck-edit-cards-grid{gap:.75rem}.deck-edit-card-item{padding:.4rem}}@media (max-width:480px){.deck-detail-cards{padding:.75rem}.deck-detail-cards .cards-grid{gap:.5rem}}@media (max-width:768px){body{font-size:15px}header{flex-wrap:wrap;gap:.5rem;padding:.75rem 1rem}header .header-logo{flex-shrink:0;font-size:1.1rem}header .header-logo img{height:28px}header .header-actions{flex-wrap:wrap;gap:.5rem;justify-content:flex-end}header .btn{font-size:.85rem;padding:.5rem .85rem}header .header-user{margin-bottom:.25rem;margin-right:.25rem;order:-1;width:100%}.header-avatar,.header-avatar-placeholder{font-size:.8rem;height:28px;width:28px}header .header-username{font-size:.9rem;max-width:120px;overflow:hidden;text-overflow:ellipsis}}@media (max-width:480px){header{align-items:stretch;flex-direction:column;padding:.6rem .75rem}header .header-logo{font-size:1rem}header .header-actions,header .header-logo,header .header-user{justify-content:center}header .header-user{margin-bottom:.5rem}header .btn{font-size:.8rem;padding:.5rem .65rem}}@media (max-width:768px){.home-page main{padding:1rem}.welcome-box{max-width:100%;min-width:0;padding:1.5rem 1.25rem;width:100%}.welcome h2,.welcome-logo{font-size:1.25rem}.welcome-logo img{height:36px}.welcome-buttons{flex-direction:column;gap:.75rem}.welcome .btn-lg,.welcome-buttons .btn{font-size:1rem!important;padding:.9rem 1.5rem!important;width:100%}}@media (max-width:480px){.auth-page{padding:1rem}.auth-page .auth-card{padding:1.5rem 1.25rem}.auth-page h1{font-size:1.25rem}.auth-page .auth-illustration{height:140px}.auth-page input[type=email],.auth-page input[type=password],.auth-page input[type=text]{font-size:16px;padding:.65rem .9rem}.auth-page button[type=submit]{padding:.9rem 1.5rem}}@media (max-width:768px){.decks-page,.play-page{padding:1rem}.decks-page h1,.play-page h1{font-size:1.2rem}.decks-page-actions{flex-wrap:wrap}.play-page .mode-selection-options{flex-direction:column}.play-page .mode-option{min-width:0;width:100%}.play-page .deck-selection{margin:1rem 0}.play-page .decks-cards-row{flex-direction:column;gap:.75rem}.play-page .deck-card{min-width:0;padding:1rem;width:100%}.play-page .deck-card h3{font-size:1rem}.play-page .deck-cards-preview{gap:.35rem;min-height:80px}.play-page .selected-deck-cards{margin:1rem 0;padding:1rem}.play-page .selected-deck-cards .cards-grid{gap:.5rem;padding:1rem}.play-page .selected-deck-cards .card-display--lg{font-size:12px;min-height:136px;width:100px}.play-page .btn-primary{padding:.9rem 1.5rem;width:100%}.play-page .btn-secondary{width:100%}}@media (max-width:480px){.decks-page,.play-page{padding:.75rem}.play-page select{width:100%}.play-page h1{font-size:1.1rem}.play-page .mode-option{font-size:.95rem;padding:.65rem .9rem}.play-page .mode-option small{font-size:.75rem}.play-page .deck-card{padding:.85rem}.play-page .deck-card .deck-cards-preview .card-display{min-height:60px!important;width:44px!important}.play-page .deck-card .deck-cards-preview .card-display-mana{font-size:8px!important;height:14px!important;width:14px!important}.play-page .deck-card .deck-cards-preview .card-display-name{font-size:7px!important}.play-page .deck-card-count{font-size:.8rem}.play-page .selected-deck-cards{margin:.75rem 0;padding:.75rem}.play-page .selected-deck-cards h3{font-size:.95rem}.play-page .selected-deck-cards .cards-grid{gap:.4rem;padding:.75rem}.play-page .selected-deck-cards .card-display--lg{font-size:11px;min-height:120px;width:88px}.play-page .selected-deck-cards .card-display--lg .card-display-mana{font-size:14px;height:24px;width:24px}}@media (max-width:768px){.game-board{max-width:100%;padding:.5rem max(.5rem,env(safe-area-inset-right)) max(.5rem,env(safe-area-inset-bottom)) max(.5rem,env(safe-area-inset-left))}.game-board header{flex-wrap:wrap;gap:.4rem;padding:.5rem 0}.game-board header h2{flex:1 1;font-size:.95rem;min-width:0}.game-board .header-actions{gap:.4rem}.game-board .header-actions .btn{font-size:.85rem;padding:.4rem .6rem}.game-status{padding:.4rem 0}.game-status p{font-size:.9rem;margin:.2rem 0}.attack-hint{font-size:.8rem;line-height:1.3}.enemy-area,.my-area{border-radius:6px;margin:.4rem 0;padding:.6rem}.enemy-header{margin-bottom:.4rem}.board{gap:.3rem;min-height:70px}.game-board .card-display--sm{font-size:10px;min-height:74px;width:56px}.game-board .card-display--sm .card-display-mana{font-size:9px;height:15px;width:15px}.game-board .card-display--sm .card-display-name{font-size:8px}.game-board .card-display--sm .card-display-right-stats{padding:.1rem .15rem}.game-board .card-display--sm .card-display-attack,.game-board .card-display--sm .card-display-health{font-size:.7em;min-width:12px}.game-board .minion{padding:.2rem}.game-board .hand{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:.3rem;margin:.4rem 0;overflow-x:auto;overflow-y:visible;padding-bottom:.3rem;scrollbar-width:thin;touch-action:pan-x}.card-in-hand{flex-shrink:0;gap:.2rem}.card-in-hand .card-display{min-height:74px!important;width:56px!important}.card-in-hand .btn{font-size:.75rem;min-height:36px;padding:.35rem .5rem}.minion-attack-badge{font-size:7px}.enemy-hero{font-size:.85rem;padding:.35rem .6rem}.my-hero-row{align-items:center;display:flex;flex-wrap:wrap;font-size:.9rem;gap:.5rem}.game-board .btn-primary{font-size:.95rem;padding:.7rem 1.25rem;width:100%}.game-overlay-message{font-size:1.75rem;padding:1.25rem 1.5rem}.game-overlay-hint{font-size:.9rem;margin-top:.75rem;padding:0 1rem;text-align:center}.game-overlay .btn{margin-top:.5rem;padding:.75rem 1.5rem}}@media (max-width:480px){.game-board{padding:.35rem max(.35rem,env(safe-area-inset-right)) .35rem max(.35rem,env(safe-area-inset-left))}.game-board header h2{font-size:.9rem}.game-status p{font-size:.85rem}.attack-hint{font-size:.75rem}.enemy-area,.my-area{margin:.35rem 0;padding:.5rem}.board{gap:.25rem;min-height:60px}.game-board .card-display--sm{min-height:62px;width:46px}.game-board .card-display--sm .card-display-mana{font-size:8px;height:12px;width:12px}.game-board .card-display--sm .card-display-name{font-size:6px;line-height:1.1}.game-board .card-display--sm .card-display-attack,.game-board .card-display--sm .card-display-health{font-size:.65em;min-width:10px}.card-in-hand .card-display{min-height:62px!important;width:46px!important}.card-in-hand .btn{font-size:.7rem;padding:.3rem .4rem}.enemy-hero{font-size:.8rem;padding:.3rem .5rem}.my-hero-row{font-size:.85rem}.my-hero-row .btn-outline{width:100%}.game-overlay-message{font-size:1.5rem;padding:1rem 1.25rem}.game-overlay-hint{font-size:.85rem}.card-display-keywords .keyword{font-size:.5em;padding:.05rem .15rem}}@media (max-width:360px){.game-board .card-display--sm{min-height:56px;width:42px}.game-board .card-display--sm .card-display-name{font-size:5px}.card-in-hand .card-display{min-height:56px!important;width:42px!important}}@media (max-width:768px){.replay-page{padding:.75rem max(.75rem,env(safe-area-inset-right)) .75rem max(.75rem,env(safe-area-inset-left))}.replay-page header{flex-wrap:wrap;gap:.5rem}.replay-page header h2{flex:1 1;font-size:1rem;min-width:0}.replay-controls{flex-wrap:wrap;gap:.5rem;margin:.5rem 0;padding:.5rem 0}.replay-controls .btn{flex:1 1;font-size:.9rem;min-width:80px;padding:.5rem .75rem}.replay-step-info{font-size:.85rem;order:-1;text-align:center;width:100%}.replay-board .enemy-area,.replay-board .my-area{margin:.4rem 0;padding:.5rem}.replay-board .board{gap:.3rem;min-height:70px}.replay-board .enemy-hero{font-size:.85rem;padding:.35rem .6rem}.replay-board .card-display--sm{min-height:74px;width:56px}.replay-board .card-display--sm .card-display-name{font-size:8px}.replay-board .hand{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:.3rem;margin:.4rem 0;overflow-x:auto}.replay-board .card-in-hand .card-display{min-height:74px!important;width:56px!important}.replay-board .my-area>div:last-child{font-size:.9rem}.replay-error,.replay-loading{padding:1.5rem 1rem}.replay-error .btn{max-width:200px;width:100%}}@media (max-width:480px){.replay-page{padding:.5rem}.replay-page header h2{font-size:.95rem}.replay-controls{flex-direction:column;gap:.4rem}.replay-controls .btn{min-width:0;width:100%}.replay-step-info{font-size:.8rem}.replay-board .enemy-area,.replay-board .my-area{padding:.4rem}.replay-board .board{gap:.25rem;min-height:60px}.replay-board .card-display--sm{min-height:62px;width:46px}.replay-board .card-display--sm .card-display-name{font-size:6px}.replay-board .card-in-hand .card-display{min-height:62px!important;width:46px!important}.replay-board .enemy-hero{font-size:.8rem;padding:.3rem .5rem}.replay-board .my-area>div:last-child{font-size:.85rem}}@media (max-width:768px){.leaderboard-page header{padding:1rem max(1rem,env(safe-area-inset-right)) 1rem max(1rem,env(safe-area-inset-left))}.leaderboard-page .header-logo{font-size:1rem}.leaderboard-page .header-logo img{height:28px;width:28px}.leaderboard-main{padding:1rem max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left))}.leaderboard-main h2{font-size:1.2rem}.leaderboard-subtitle{font-size:.9rem;margin-bottom:1rem}.leaderboard-table{border-radius:10px}.leaderboard-header,.leaderboard-row{font-size:.9rem;gap:.5rem;grid-template-columns:36px 1fr 60px 70px;padding:.6rem .75rem}.lb-avatar,.lb-avatar-placeholder{font-size:.8rem;height:26px;width:26px}}@media (max-width:480px){.leaderboard-page header{align-items:stretch;flex-direction:column;gap:.5rem;padding:.75rem}.leaderboard-page .header-logo{font-size:.95rem;justify-content:center}.leaderboard-page .header-logo img{height:24px;width:24px}.leaderboard-page .header-actions .btn{width:100%}.leaderboard-main{padding:.75rem}.leaderboard-main h2{font-size:1.1rem;text-align:center}.leaderboard-subtitle{font-size:.85rem;margin-bottom:.85rem;text-align:center}.leaderboard-header,.leaderboard-row{font-size:.82rem;gap:.35rem;grid-template-columns:28px 1fr 48px 52px;padding:.5rem .6rem}.leaderboard-header{font-size:.8rem}.lb-place{font-size:.9rem}.lb-username{font-size:.85rem;max-width:100%;overflow:hidden;text-overflow:ellipsis}.lb-avatar,.lb-avatar-placeholder{flex-shrink:0;font-size:.7rem;height:22px;width:22px}.lb-user{gap:.35rem;min-width:0}.leaderboard-empty{font-size:.9rem;padding:1.5rem 1rem}}@media (max-width:360px){.leaderboard-header,.leaderboard-row{font-size:.78rem;grid-template-columns:24px 1fr 44px 48px;padding:.4rem .5rem}.lb-avatar,.lb-avatar-placeholder{font-size:.65rem;height:20px;width:20px}}.profile-matches{background:#fff;background:var(--card-bg);border-radius:12px;box-shadow:0 4px 20px #00000014;margin-top:2rem;padding:2rem}.profile-matches h3{font-size:1.1rem;margin:0 0 1rem}.matches-list{list-style:none;margin:0;padding:0}.matches-list li{align-items:center;border-bottom:1px solid #e8e8e8;border-bottom:1px solid var(--border,#eee);display:flex;flex-wrap:wrap;gap:.5rem;padding:.5rem 0}.matches-list li:last-child{border-bottom:none}.match-replay-btn{margin-left:.5rem}@media (max-width:768px){.profile-page header{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}.profile-main{padding:1.5rem max(1rem,env(safe-area-inset-right)) 1.5rem max(1rem,env(safe-area-inset-left))}.profile-main h2{font-size:1.35rem}.profile-card,.profile-matches,.profile-stats{padding:1.5rem}.avatar-upload-row{align-items:stretch;flex-direction:column}.avatar-upload-row .btn{width:100%}.avatar-file-name{text-align:center;word-break:break-all}.stats-grid{gap:.75rem;grid-template-columns:repeat(2,1fr)}.stat-item{padding:.85rem}.stat-value{font-size:1.35rem}.profile-matches{margin-top:1.5rem}}@media (max-width:480px){.profile-main{padding:1rem max(.75rem,env(safe-area-inset-right)) 1rem max(.75rem,env(safe-area-inset-left))}.profile-main h2{font-size:1.2rem}.profile-card,.profile-matches,.profile-stats{padding:1rem}.profile-avatar-wrap{margin-bottom:1rem}.profile-avatar,.profile-avatar-placeholder{font-size:2rem;height:72px;width:72px}.profile-form input{font-size:16px;padding:.6rem .75rem}.profile-form .btn-primary{width:100%}.stats-grid{grid-template-columns:1fr}.stat-item{padding:.75rem}.stat-value{font-size:1.25rem}.profile-matches{margin-top:1rem}.matches-list li{align-items:flex-start;flex-direction:column;padding:.75rem 0}.match-replay-btn,.matches-list li .btn{font-size:.85rem;margin-left:0;padding:.4rem .75rem}}@media (max-width:768px){.admin-cabinet{min-height:100vh}.admin-game-sounds-section,.admin-header,.admin-promote-section{padding:1rem max(1rem,env(safe-area-inset-right)) 1rem max(1rem,env(safe-area-inset-left))}.admin-header h1{font-size:1.15rem}.admin-header .btn{max-width:200px;width:100%}.admin-content{padding:1rem max(1rem,env(safe-area-inset-right)) 1rem max(1rem,env(safe-area-inset-left))}.admin-promote-form{align-items:stretch;flex-direction:column;gap:.5rem}.admin-promote-input{min-width:0;width:100%}.admin-promote-form .btn{width:100%}.admin-game-sounds-grid{gap:1rem;grid-template-columns:1fr}.admin-game-sound-item{padding:.85rem}.admin-game-sound-item .btn{width:100%}.admin-game-sound-item audio{max-width:100%!important}.admin-cards-grid{gap:.5rem}.admin-card-item{min-width:70px;padding:.4rem}.admin-card-preview-img{height:76px;width:56px}.admin-card-preview-name{font-size:.75rem;max-width:70px}.admin-edit-overlay{align-items:center;padding:1rem max(1rem,env(safe-area-inset-right)) 1rem max(1rem,env(safe-area-inset-left))}.admin-edit-panel{-webkit-overflow-scrolling:touch;margin:auto;max-height:85vh}.admin-edit-panel-header{margin-bottom:.85rem;padding-bottom:.6rem}.admin-form input[type=number]{max-width:120px;width:100%}}@media (max-width:480px){.admin-header{align-items:stretch;flex-direction:column;gap:.75rem;padding:.75rem}.admin-header h1{font-size:1.05rem;text-align:center}.admin-header .btn{max-width:none}.admin-game-sounds-section,.admin-promote-section{padding:.75rem}.admin-game-sounds-section h3,.admin-promote-section h3{font-size:.95rem}.admin-content{padding:.75rem}.admin-cards-list h3{font-size:.95rem}.admin-edit-overlay{align-items:flex-end;padding:0 env(safe-area-inset-right) 0 env(safe-area-inset-left)}.admin-edit-panel{-webkit-overflow-scrolling:touch;border-radius:12px 12px 0 0;max-height:90vh;max-height:calc(90vh - env(safe-area-inset-bottom));padding:.85rem .85rem max(.85rem,env(safe-area-inset-bottom));width:100%}.admin-edit-panel-header{margin-bottom:.75rem;padding-bottom:.6rem}.admin-edit-panel-header h3{font-size:.95rem;overflow:hidden;padding-right:.5rem;text-overflow:ellipsis;white-space:nowrap}.admin-edit-close{flex-shrink:0;min-height:44px;min-width:44px}.admin-cards-grid{gap:.4rem}.admin-card-item{min-width:60px;padding:.35rem}.admin-card-preview-img{height:66px;width:48px}.admin-card-preview-name{font-size:.7rem;max-width:55px}.admin-form .form-group{margin-bottom:.75rem}.admin-form input,.admin-form select,.admin-form textarea{font-size:16px;width:100%}.admin-form input[type=number]{max-width:none}.form-checkboxes{flex-direction:column;gap:.35rem}.form-checkboxes .checkbox-label{padding:.4rem 0}.admin-form .form-group input[style*=margin-left],.admin-form .form-group input[style*=marginLeft]{margin-left:0!important;margin-top:.35rem!important;width:100%!important}.admin-form .form-group select[style*=margin-left],.admin-form .form-group select[style*=marginLeft]{margin-left:0!important;margin-top:.35rem!important}.admin-file-input-wrap{align-items:stretch;flex-direction:column}.admin-file-label{justify-content:center;width:100%}.admin-file-name{max-width:none;text-align:center;word-break:break-all}.admin-image-upload .btn,.admin-sound-upload .btn{width:100%}.admin-cabinet .error{margin:.75rem 1rem!important}}@media (max-width:360px){.admin-edit-panel{padding:.7rem .7rem max(.7rem,env(safe-area-inset-bottom))}.admin-edit-panel-header h3{font-size:.88rem}}@media (max-width:480px){.error-detail-overlay{align-items:flex-end;padding:.5rem}.error-detail{border-radius:12px 12px 0 0;max-height:90vh}.error-detail-header h3{font-size:1rem}.error-detail-body{padding:1rem}.error-detail-full{font-size:.75rem;padding:.5rem}}@media (max-width:768px){.modal-overlay{padding:1rem max(1rem,env(safe-area-inset-right)) 1rem max(1rem,env(safe-area-inset-left))}.modal-content{max-width:100%}.modal-body,.modal-header{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}.modal-header h2{font-size:1.15rem}.tutorial-modal section{margin-bottom:1rem}.tutorial-modal h3{font-size:.98rem}.tutorial-modal p{font-size:.92rem}}@media (max-width:480px){.modal-overlay{align-items:flex-end;padding:0 env(safe-area-inset-right) 0 env(safe-area-inset-left)}.modal-content{border-radius:12px 12px 0 0;max-height:90vh;max-height:calc(90vh - env(safe-area-inset-bottom));width:100%}.modal-header{padding:1rem 1rem max(1rem,env(safe-area-inset-top))}.modal-header h2{font-size:1.1rem}.modal-header .btn{font-size:1.5rem;min-height:44px;min-width:44px;padding:0}.modal-body{-webkit-overflow-scrolling:touch;padding:1rem 1rem max(1rem,env(safe-area-inset-bottom))}.tutorial-modal section{margin-bottom:.9rem}.tutorial-modal h3{font-size:.95rem}.tutorial-modal p{font-size:.9rem;line-height:1.55}}@media (max-width:360px){.modal-header h2{font-size:1rem}.tutorial-modal h3{font-size:.9rem}.tutorial-modal p{font-size:.85rem}}@media (max-width:768px){.deck-create-page{padding:1rem}.cards-list{max-height:300px}.cards-grid{gap:.5rem;padding:1rem}.deck-edit-cards-grid{gap:.5rem}}@media (hover:none) and (pointer:coarse){.btn{min-height:44px;padding:.85rem 1.5rem}.btn-sm{min-height:36px;padding:.5rem 1rem}.card-in-hand,.enemy-hero.attack-target,.minion{min-height:44px}header .btn{min-height:40px}}
/*# sourceMappingURL=main.b3927aea.css.map*/