.layout{min-height:100vh;display:flex;flex-direction:column}.topnav{background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;box-shadow:var(--shadow)}.nav-inner{max-width:1100px;margin:0 auto;padding:0 1.5rem;height:56px;display:flex;align-items:center;gap:.5rem}.nav-logo{display:flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-size:18px;font-weight:800;color:var(--blue);text-decoration:none;letter-spacing:-.02em;margin-right:1rem;flex-shrink:0}.nav-logo:hover{color:var(--blue-dark)}.nav-links{display:flex;gap:.1rem;flex:1}.nav-link{font-size:13px;font-weight:500;color:var(--text2);text-decoration:none;padding:.4rem .8rem;border-radius:8px;transition:all .15s}.nav-link:hover{background:var(--bg2);color:var(--text)}.nav-link.active{background:var(--blue-bg);color:var(--blue);font-weight:600}.nav-link.admin-link{color:var(--purple)}.nav-link.admin-link.active{background:#f5f3ff;color:var(--purple)}.nav-right{display:flex;align-items:center;gap:.5rem;margin-left:auto}.nav-coins{display:flex;align-items:center;gap:.4rem;background:var(--blue-bg);border:1px solid var(--blue-dim);border-radius:20px;padding:.25rem .75rem;font-size:13px;font-weight:700;color:var(--blue)}.coin-dot{width:7px;height:7px;background:var(--blue);border-radius:50%}.nav-event-coins{background:#fef3c7;border:1px solid #fde68a;border-radius:20px;padding:.25rem .75rem;font-size:13px;font-weight:700;color:var(--gold)}.nav-avatar{width:34px;height:34px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:14px;font-weight:800;text-decoration:none;transition:all .15s;border:2px solid transparent}.nav-avatar:hover,.nav-avatar.active{border-color:var(--blue-dark);box-shadow:0 0 0 3px #2563eb26}.main-content{flex:1}.footer{border-top:1px solid var(--border);padding:1rem 1.5rem;text-align:center;font-size:12px;color:var(--text3);background:var(--surface)}.footer-rail{height:2px;background:repeating-linear-gradient(90deg,var(--border) 0,var(--border) 16px,transparent 16px,transparent 24px);margin-bottom:.75rem;max-width:300px;margin-left:auto;margin-right:auto}.placeholder-page{max-width:500px;margin:5rem auto;padding:2rem;text-align:center}.placeholder-icon{font-size:56px;margin-bottom:1rem}.placeholder-title{font-family:var(--font-display);font-size:24px;font-weight:800;color:var(--text);margin-bottom:.5rem}.placeholder-sub{font-size:14px;color:var(--text3);margin-bottom:2rem}.placeholder-track{height:3px;background:repeating-linear-gradient(90deg,var(--border) 0,var(--border) 20px,transparent 20px,transparent 30px);border-radius:2px;margin:0 auto;max-width:200px}@media (max-width: 700px){.nav-links{display:none}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:linear-gradient(135deg,#eff6ff,#f0f4f8,#e0f2fe)}.auth-bg-track{position:fixed;bottom:0;left:0;right:0;height:3px;background:repeating-linear-gradient(90deg,var(--blue-dim) 0,var(--blue-dim) 20px,transparent 20px,transparent 30px);pointer-events:none}.auth-container{width:100%;max-width:420px}.auth-logo{text-align:center;margin-bottom:2rem}.auth-logo-icon{display:block;font-size:48px;margin-bottom:.5rem}.auth-logo-name{font-family:var(--font-display);font-size:32px;font-weight:800;color:var(--blue);letter-spacing:-.03em}.auth-card{animation:fadeIn .35s ease;box-shadow:var(--shadow-md)}.auth-title{font-family:var(--font-display);font-size:20px;font-weight:800;color:var(--text);margin-bottom:.2rem}.auth-subtitle{font-size:13px;color:var(--text3)}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-submit-btn{width:100%;justify-content:center;padding:.75rem;font-size:1rem;margin-top:.25rem}.auth-switch{text-align:center;font-size:13px;color:var(--text3);margin-top:1.25rem}.dashboard{max-width:900px;margin:0 auto;padding:2rem 1.5rem}.dash-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.5rem}.dash-greeting{font-family:var(--font-display);font-size:26px;font-weight:800;color:var(--text);margin-bottom:.2rem}.dash-sub{font-size:14px;color:var(--text3)}.dash-app-name{font-family:var(--font-display);font-size:12px;font-weight:700;color:var(--blue-dim);letter-spacing:.08em;text-transform:uppercase}.dash-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:1.5rem}@media (max-width: 600px){.dash-stats{grid-template-columns:repeat(2,1fr)}}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.1rem 1.25rem;box-shadow:var(--shadow)}.stat-label{font-size:11px;color:var(--text3);text-transform:uppercase;letter-spacing:.07em;margin-bottom:.4rem;font-weight:600}.stat-val{font-family:var(--font-display);font-size:24px;font-weight:800;color:var(--text)}.stat-val.gold{color:var(--gold)}.stat-val.green{color:var(--green)}.stat-val.purple{color:var(--purple)}.stat-val.blue{color:var(--blue)}.daily-banner{background:linear-gradient(135deg,var(--blue) 0%,var(--blue-dark) 100%);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;box-shadow:0 4px 14px #2563eb40;cursor:pointer;transition:transform .15s,box-shadow .15s}.daily-banner:hover{transform:translateY(-1px);box-shadow:0 6px 18px #2563eb4d}.daily-banner-info h3{font-size:15px;font-weight:700;color:#fff;margin-bottom:.15rem}.daily-banner-info p{font-size:12px;color:#ffffffb3}.daily-banner .btn-primary{background:#fff;color:var(--blue);flex-shrink:0}.daily-banner .btn-primary:hover{background:#f0f9ff}.daily-banner .btn-secondary{background:#ffffff26;color:#fff;border-color:#ffffff4d;flex-shrink:0}.section-title{font-size:12px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.75rem}.quest-placeholder{background:var(--surface);border:1.5px dashed var(--border);border-radius:var(--radius-lg);padding:1.5rem;text-align:center;color:var(--text3);font-size:14px}.news-card{position:relative}.news-badge{display:inline-block;background:var(--blue-bg);color:var(--blue);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;padding:2px 8px;border-radius:4px;margin-bottom:.6rem;border:1px solid var(--blue-dim)}.news-text{font-size:14px;color:var(--text2);line-height:1.6}.profile-page{max-width:700px;margin:0 auto;padding:2rem 1.5rem;display:flex;flex-direction:column;gap:1.25rem}.profile-header{display:flex;align-items:center;gap:1.25rem}.profile-avatar{width:64px;height:64px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:26px;font-weight:800;flex-shrink:0;box-shadow:0 4px 12px #2563eb4d}.profile-username{font-family:var(--font-display);font-size:22px;font-weight:800;color:var(--text);margin-bottom:.15rem}.profile-email{font-size:13px;color:var(--text3);margin-bottom:.4rem}.admin-badge{display:inline-block;background:#f5f3ff;border:1px solid #ddd6fe;color:var(--purple);font-size:11px;font-weight:700;padding:2px 8px;border-radius:4px}.profile-section-title{font-size:11px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:1rem}.profile-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}@media (max-width: 500px){.profile-stats-grid{grid-template-columns:repeat(2,1fr)}}.profile-stat{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem;display:flex;flex-direction:column;gap:.3rem}.profile-stat-label{font-size:11px;color:var(--text3);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.profile-stat-val{font-family:var(--font-display);font-size:20px;font-weight:800;color:var(--text)}.profile-stat-val.gold{color:var(--gold)}.profile-stat-val.green{color:var(--green)}.profile-stat-val.purple{color:var(--purple)}.profile-stat-val.small{font-size:14px}.profile-app-info{font-size:14px;color:var(--text2);margin-bottom:1rem}.profile-actions{display:flex;gap:.75rem;flex-wrap:wrap}.admin-page{max-width:900px;margin:0 auto;padding:2rem 1.5rem}.admin-header{margin-bottom:1.5rem}.admin-title{font-family:var(--font-display);font-size:26px;font-weight:800;color:var(--text);margin-bottom:.2rem}.admin-sub{font-size:13px;color:var(--text3)}.admin-tabs{display:flex;gap:6px;background:var(--bg2);border-radius:10px;padding:4px;width:fit-content;margin-bottom:1.5rem;border:1px solid var(--border)}.admin-tab{background:none;border:none;color:var(--text3);font-size:13px;font-weight:600;font-family:inherit;padding:.4rem 1rem;border-radius:7px;cursor:pointer;transition:all .15s}.admin-tab.active{background:var(--surface);color:var(--blue);box-shadow:var(--shadow)}.admin-success{background:#ecfdf5;border:1px solid #a7f3d0;color:var(--green);padding:.75rem 1rem;border-radius:var(--radius);font-size:14px;font-weight:600;margin-bottom:1rem}.admin-content{display:flex;flex-direction:column;gap:1.25rem}.admin-form-card{padding:1.5rem}.admin-form-title{font-family:var(--font-display);font-size:16px;font-weight:700;margin-bottom:1rem}.admin-form{display:flex;flex-direction:column;gap:.75rem}.admin-form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media (max-width: 500px){.admin-form-row{grid-template-columns:1fr}}.admin-list{padding:1.5rem}.admin-cards-list{display:flex;flex-direction:column;gap:6px;max-height:300px;overflow-y:auto}.admin-card-row{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;background:var(--bg2);border-radius:var(--radius);border:1px solid var(--border)}.admin-card-emoji{font-size:18px;flex-shrink:0}.admin-card-info{display:flex;flex-direction:column;gap:.1rem;min-width:0}.admin-card-name{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-card-meta{font-size:11px;color:var(--text3)}.admin-info{border-left:3px solid var(--blue);border-radius:0 var(--radius) var(--radius) 0;padding:1rem 1.25rem}.admin-info h3{font-size:14px;font-weight:700;color:var(--text);margin-bottom:.5rem}.admin-info p{font-size:13px;color:var(--text2);line-height:1.6}.admin-info code{background:var(--bg2);border:1px solid var(--border);border-radius:4px;padding:1px 5px;font-size:12px;color:var(--blue)}.shop-page{max-width:900px;margin:0 auto;padding:2rem 1.5rem}.shop-title{font-family:var(--font-display);font-size:26px;font-weight:800;margin-bottom:.25rem}.shop-sub{font-size:14px;color:var(--text3);margin-bottom:1.5rem}.shop-section-title{font-size:12px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:1rem}.daily-pack-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:linear-gradient(135deg,var(--blue) 0%,var(--blue-dark) 100%);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;margin-bottom:1.5rem;box-shadow:0 4px 14px #2563eb40;transition:transform .15s}.daily-pack-card:hover{transform:translateY(-1px)}.daily-pack-card.used{opacity:.6}.daily-pack-left{display:flex;align-items:center;gap:1rem}.daily-pack-emoji{font-size:28px}.daily-pack-left h3{font-size:15px;font-weight:700;color:#fff;margin-bottom:.15rem}.daily-pack-left p{font-size:12px;color:#ffffffbf}.daily-pack-card .btn-primary{background:#fff;color:var(--blue);flex-shrink:0}.daily-pack-card .btn-primary:hover{background:#f0f9ff}.daily-pack-card .btn-primary:disabled{background:#ffffff4d;color:#fff}.packs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}@media (max-width: 700px){.packs-grid{grid-template-columns:repeat(2,1fr)}}.pack-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem 1rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;transition:all .2s;box-shadow:var(--shadow)}.pack-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.pack-emoji{font-size:36px}.pack-name{font-family:var(--font-display);font-size:14px;font-weight:800;color:var(--text);text-align:center}.pack-price{font-size:13px;font-weight:700;background:var(--bg2);border:1px solid var(--border);padding:.2rem .7rem;border-radius:20px;color:var(--text2)}.pack-odds{font-size:10px;color:var(--text3);text-align:center;line-height:1.6}.pack-buy-btn{width:100%;justify-content:center;margin-top:.25rem}.shop-opening{min-height:60vh;display:flex;align-items:center;justify-content:center}.opening-anim{text-align:center}.opening-pack{font-size:80px;animation:packBounce .6s ease infinite alternate;display:block;margin-bottom:1rem}.opening-anim p{font-size:18px;font-weight:700;color:var(--blue);font-family:var(--font-display)}@keyframes packBounce{0%{transform:scale(1) rotate(-5deg)}to{transform:scale(1.15) rotate(5deg)}}.shop-result{max-width:900px;margin:0 auto;padding:2rem 1.5rem;text-align:center}.result-title{font-family:var(--font-display);font-size:28px;font-weight:800;color:var(--blue);margin-bottom:1.5rem}.result-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:1rem}@media (max-width: 700px){.result-grid{grid-template-columns:repeat(3,1fr)}}.result-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;animation:fadeIn .4s ease backwards;box-shadow:var(--shadow)}.result-card-img{width:100%;aspect-ratio:3/2;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--border);background:var(--bg2)}.result-card-img img{width:100%;height:100%;object-fit:cover}.result-card-emoji{font-size:28px}.result-card-body{padding:.5rem .6rem;text-align:left}.result-card-name{font-size:11px;font-weight:700;color:var(--text);margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-card-meta{display:flex;justify-content:space-between;align-items:center}.result-card-type{font-size:10px;color:var(--text3)}.album-page{max-width:1000px;margin:0 auto;padding:2rem 1.5rem}.album-header{margin-bottom:1.25rem}.album-title{font-family:var(--font-display);font-size:26px;font-weight:800;margin-bottom:.2rem}.album-sub{font-size:13px;color:var(--text3)}.album-filters{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.5rem}.filter-group{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.filter-label{font-size:11px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.07em;min-width:55px}.filter-pills{display:flex;gap:6px;flex-wrap:wrap}.filter-pill{background:var(--surface);border:1.5px solid var(--border);border-radius:20px;color:var(--text2);font-size:12px;font-family:inherit;font-weight:500;padding:.25rem .75rem;cursor:pointer;transition:all .15s}.filter-pill:hover{border-color:var(--blue);color:var(--blue)}.filter-pill.active{background:var(--blue-bg);border-color:var(--blue);color:var(--blue);font-weight:600}.album-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}@media (max-width: 800px){.album-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 500px){.album-grid{grid-template-columns:repeat(2,1fr)}}.album-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);overflow:hidden;cursor:pointer;transition:all .2s;box-shadow:var(--shadow)}.album-card:hover{transform:translateY(-3px);border-color:var(--blue);box-shadow:var(--shadow-md)}.album-card-img{width:100%;aspect-ratio:3/2;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--border);position:relative;background:var(--bg2);overflow:hidden}.album-card-img img{width:100%;height:100%;object-fit:cover}.album-card-emoji{font-size:28px}.album-rarity-badge{position:absolute;top:5px;right:5px;font-size:9px;font-weight:700;padding:2px 5px;border-radius:4px;border:1px solid;background:#ffffffe6;text-transform:uppercase;letter-spacing:.05em}.album-dup-badge{position:absolute;top:5px;left:5px;font-size:10px;font-weight:700;padding:2px 5px;border-radius:4px;background:var(--blue);color:#fff}.album-card-body{padding:.5rem .6rem}.album-card-name{font-size:11px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.15rem}.album-card-sub{font-size:10px;color:var(--text3)}.album-loading,.album-empty{text-align:center;padding:3rem;color:var(--text3);font-size:14px;background:var(--surface);border:1.5px dashed var(--border);border-radius:var(--radius-lg)}.card-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;display:flex;align-items:center;justify-content:center;z-index:200;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.card-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:380px;max-height:90vh;overflow-y:auto;animation:fadeIn .2s ease;box-shadow:0 20px 60px #00000026}.card-modal-img{width:100%;height:200px;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;background:var(--bg2)}.card-modal-img img{width:100%;height:100%;object-fit:cover;display:block}.card-modal-body{padding:1.25rem}.card-modal-name{font-family:var(--font-display);font-size:20px;font-weight:800;margin-bottom:.4rem}.card-modal-meta{display:flex;gap:.5rem;font-size:13px;color:var(--text2);margin-bottom:.75rem;flex-wrap:wrap;align-items:center}.card-modal-desc{font-size:13px;color:var(--text2);line-height:1.5;margin-bottom:.75rem}.card-modal-stats{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:.5rem}.card-modal-stat{display:flex;flex-direction:column;gap:.2rem}.card-modal-stat-label{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.card-modal-stat-val{font-size:16px;font-weight:700;color:var(--text)}:root{--bg: #f0f4f8;--bg2: #e4edf5;--bg3: #d6e4f0;--surface: #ffffff;--surface2: #f7fafd;--border: #d0dde8;--border2: #b8ccd9;--blue: #2563eb;--blue-light: #3b82f6;--blue-dim: #93c5fd;--blue-dark: #1d4ed8;--blue-bg: #eff6ff;--gold: #f59e0b;--gold-light: #fbbf24;--green: #10b981;--green-light: #34d399;--red: #ef4444;--red-light: #f87171;--purple: #8b5cf6;--text: #0f172a;--text2: #475569;--text3: #94a3b8;--rarity-zakladni: #64748b;--rarity-holo: #7c3aed;--rarity-superholo: #dc2626;--rarity-premium: #d97706;--rarity-limited: #db2777;--font-display: "Syne", sans-serif;--font-body: "DM Sans", sans-serif;--radius: 10px;--radius-lg: 16px;--shadow: 0 1px 3px rgba(0,0,0,.07), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 12px rgba(0,0,0,.08), 0 2px 4px rgba(0,0,0,.04)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font-body);line-height:1.6;min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}a{color:var(--blue);text-decoration:none}a:hover{color:var(--blue-dark)}button{cursor:pointer;font-family:var(--font-body)}input,textarea,select{font-family:var(--font-body)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg2)}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--blue-dim)}.container{max-width:1100px;margin:0 auto;padding:0 1.5rem}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.4rem;border:none;border-radius:var(--radius);font-size:.9rem;font-weight:600;transition:all .15s;cursor:pointer}.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover{background:var(--blue-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:disabled{background:var(--blue-dim);color:#fff;cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{background:var(--surface);color:var(--text2);border:1px solid var(--border)}.btn-secondary:hover{border-color:var(--blue);color:var(--blue)}.btn-danger{background:var(--red);color:#fff}.btn-danger:hover{background:var(--red-light)}.card-surface{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow)}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-label{font-size:.8rem;color:var(--text2);font-weight:600;letter-spacing:.04em}.form-input{background:var(--bg2);border:1.5px solid var(--border);border-radius:var(--radius);padding:.7rem 1rem;color:var(--text);font-size:.95rem;transition:border-color .15s,box-shadow .15s;outline:none}.form-input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2563eb1a;background:#fff}.form-input::placeholder{color:var(--text3)}.error-text{color:var(--red);font-size:.85rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.animate-fadeIn{animation:fadeIn .3s ease forwards}.rail-divider{height:1px;background:var(--border);margin:1.5rem 0}
