:root{--bg-void: #0D0B14;--bg-deep: #12101C;--bg-surface: #1A1726;--bg-card: #1E1A2E;--bg-elevated: #252137;--bg-hover: #2D2842;--border-dim: #2A2540;--border-mid: #3D3660;--border-glow: #5A4E80;--gold: #C9A84C;--gold-bright: #E8C85A;--gold-dim: #D4AE52;--gold-faint: rgba(201, 168, 76, .12);--ember: #E8713A;--ember-bright: #F4924E;--ember-dim: #B85A2E;--teal: #3ABEAB;--teal-bright: #5DD9C7;--teal-dim: #2A8E7E;--teal-faint: rgba(58, 190, 171, .12);--parchment: #FFFFFF;--parchment-mid: #F0E8D8;--parchment-dim: #DDD3BC;--parchment-ghost: #C4B89E;--rarity-common: #8A7E6A;--rarity-uncommon: #3ABEAB;--rarity-rare: #C9A84C;--rarity-legendary: #D67AFF;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .4);--shadow-md: 0 4px 20px rgba(0, 0, 0, .5);--shadow-lg: 0 8px 40px rgba(0, 0, 0, .6);--shadow-glow-gold: 0 0 20px rgba(201, 168, 76, .2);--shadow-glow-teal: 0 0 20px rgba(58, 190, 171, .2);--shadow-glow-ember: 0 0 20px rgba(232, 113, 58, .2);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 20px;--font-display: "Cinzel Decorative", "Cinzel", serif;--font-heading: "Cinzel", serif;--font-body: "Crimson Text", Georgia, serif;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--bg-void);color:var(--parchment);line-height:1.7;min-height:100vh;-webkit-font-smoothing:antialiased;overflow-x:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9999;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");background-size:200px 200px}#app{display:flex;flex-direction:column;min-height:100vh;position:relative}a{color:var(--gold);text-decoration:none;transition:color .2s var(--ease-out)}a:hover{color:var(--gold-bright)}::selection{background:#c9a84c4d;color:var(--parchment)}.navbar{position:sticky;top:0;z-index:100;background:#0d0b14d9;backdrop-filter:blur(16px) saturate(120%);-webkit-backdrop-filter:blur(16px) saturate(120%);border-bottom:1px solid var(--border-dim);padding:0}.nav-container{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:.875rem 2rem}.nav-brand{font-family:var(--font-display);font-size:1.3rem;font-weight:700;color:var(--gold)!important;letter-spacing:.08em;text-transform:uppercase;position:relative}.nav-brand:after{content:"";position:absolute;bottom:-4px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold-dim),transparent)}.nav-links{display:flex;align-items:center;gap:.25rem}.nav-links a,.nav-links .btn-link{font-family:var(--font-heading);font-size:.8rem;font-weight:500;color:var(--parchment-dim);letter-spacing:.06em;text-transform:uppercase;padding:.5rem .875rem;border-radius:var(--radius-sm);transition:all .2s var(--ease-out)}.nav-links a:hover,.nav-links .btn-link:hover{color:var(--gold);background:var(--gold-faint)}.nav-links a.router-link-active{color:var(--gold)}.nav-links .nav-register{margin-left:.5rem;border:1px solid var(--gold-dim);color:var(--gold)}.nav-links .nav-register:hover{background:var(--gold);color:var(--bg-void)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.5rem;border-radius:var(--radius-md);border:none;cursor:pointer;font-family:var(--font-heading);font-size:.825rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;transition:all .25s var(--ease-out);text-align:center;line-height:1.2;position:relative;overflow:hidden}.btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(255,255,255,.06) 0%,transparent 50%);pointer-events:none}.btn-primary{background:linear-gradient(180deg,var(--ember-bright) 0%,var(--ember) 100%);color:#fff;box-shadow:var(--shadow-sm),var(--shadow-glow-ember)}.btn-primary:hover{transform:translateY(-1px);box-shadow:var(--shadow-md),0 0 30px #e8713a59}.btn-secondary{background:var(--bg-elevated);color:var(--parchment-mid);border:1px solid var(--border-mid)}.btn-secondary:hover{background:var(--bg-hover);color:var(--parchment);border-color:var(--border-glow)}.btn-sm{padding:.375rem .875rem;font-size:.7rem}.btn-full{width:100%}.btn-link{background:none;border:none;color:var(--parchment-dim);cursor:pointer;font-family:var(--font-heading);font-size:.8rem;padding:.5rem .875rem;letter-spacing:.06em;text-transform:uppercase}.btn-link:hover{color:var(--gold)}.btn-collect{background:var(--bg-elevated);color:var(--parchment-mid);border:1px dashed var(--border-mid);width:100%;padding:.7rem 1rem;font-size:.8rem;letter-spacing:.06em;transition:all .3s var(--ease-out)}.btn-collect:hover{border-color:var(--teal);border-style:solid;color:var(--teal);background:#3abeab14;transform:none}.btn-collected{background:linear-gradient(180deg,var(--teal-bright) 0%,var(--teal) 100%);color:var(--bg-void);box-shadow:var(--shadow-glow-teal);width:100%;padding:.7rem 1rem;font-size:.8rem;letter-spacing:.06em;font-weight:700;animation:collectPop .4s var(--ease-bounce) both}.btn-collected:hover{box-shadow:0 0 30px #3abeab59;transform:none}@keyframes collectPop{0%{transform:scale(.95)}50%{transform:scale(1.03)}to{transform:scale(1)}}.container{max-width:1280px;margin:0 auto;padding:2.5rem 2rem;flex:1}.page-title{font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--gold);letter-spacing:.04em;margin-bottom:.25rem}.page-subtitle{font-family:var(--font-body);font-size:1.05rem;color:var(--parchment-dim);font-style:italic;margin-bottom:2rem}.divider{height:1px;background:linear-gradient(90deg,transparent,var(--border-mid),transparent);margin:2rem 0}.hero{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;padding:5rem 2rem;position:relative;overflow:hidden;background-position:center;background-size:cover;background-repeat:no-repeat}.hero:before{content:"";position:absolute;width:800px;height:800px;border-radius:50%;background:radial-gradient(circle,rgba(201,168,76,.06) 0%,transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.hero-content{position:relative;z-index:1;max-width:720px}.hero-content h1{font-family:var(--font-display);font-size:4rem;font-weight:900;letter-spacing:.06em;color:var(--gold);text-shadow:0 0 60px rgba(201,168,76,.3),0 2px 4px rgba(0,0,0,.5);line-height:1.1;animation:heroReveal .8s var(--ease-out) both}.hero-tagline{font-family:var(--font-heading);font-size:1.1rem;font-weight:400;color:var(--parchment-mid);letter-spacing:.12em;text-transform:uppercase;margin-top:.75rem;animation:heroReveal .8s var(--ease-out) .15s both}.hero-description{font-size:1.15rem;color:var(--parchment-dim);font-style:italic;margin-top:1.5rem;max-width:540px;margin-left:auto;margin-right:auto;animation:heroReveal .8s var(--ease-out) .3s both}.hero-divider{width:120px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-dim),transparent);margin:2rem auto;animation:heroReveal .8s var(--ease-out) .4s both}.hero-stat{font-family:var(--font-heading);font-size:.95rem;color:var(--parchment-dim);letter-spacing:.06em;animation:heroReveal .8s var(--ease-out) .5s both}.hero-stat .accent{color:var(--gold-bright);font-weight:700;font-size:1.2rem}.hero-actions{display:flex;gap:1rem;justify-content:center;margin-top:2.5rem;animation:heroReveal .8s var(--ease-out) .6s both}.hero-cards{display:flex;justify-content:center;gap:0;margin-top:3rem;animation:heroReveal 1s var(--ease-out) .7s both}.hero-card{width:80px;height:112px;background:var(--bg-card);border:1px solid var(--border-mid);border-radius:var(--radius-md);transition:transform .4s var(--ease-out);box-shadow:var(--shadow-md);position:relative;overflow:hidden}.hero-card:before{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border:1px solid var(--border-dim);border-radius:calc(var(--radius-md) - 2px);pointer-events:none}.hero-card:nth-child(1){transform:rotate(-18deg) translateY(8px);z-index:1}.hero-card:nth-child(2){transform:rotate(-9deg) translateY(2px);z-index:2;margin-left:-20px}.hero-card:nth-child(3){transform:rotate(0);z-index:3;margin-left:-20px}.hero-card:nth-child(4){transform:rotate(9deg) translateY(2px);z-index:2;margin-left:-20px}.hero-card:nth-child(5){transform:rotate(18deg) translateY(8px);z-index:1;margin-left:-20px}.hero-card .card-glyph{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1.4rem;color:var(--gold-dim);opacity:.6}.hero-cards:hover .hero-card:nth-child(1){transform:rotate(-24deg) translateY(12px) translate(-8px)}.hero-cards:hover .hero-card:nth-child(2){transform:rotate(-12deg) translateY(4px) translate(-4px)}.hero-cards:hover .hero-card:nth-child(3){transform:rotate(0) translateY(-4px)}.hero-cards:hover .hero-card:nth-child(4){transform:rotate(12deg) translateY(4px) translate(4px)}.hero-cards:hover .hero-card:nth-child(5){transform:rotate(24deg) translateY(12px) translate(8px)}@keyframes heroReveal{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.card-tile{background:var(--bg-card);border:1px solid var(--border-dim);border-radius:var(--radius-lg);overflow:hidden;transition:all .35s var(--ease-out);position:relative;animation:cardEnter .5s var(--ease-out) both;display:flex;flex-direction:column}.card-tile:before{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border:1px solid var(--border-dim);border-radius:calc(var(--radius-lg) - 3px);pointer-events:none;z-index:1;transition:border-color .3s}.card-tile:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg),var(--shadow-glow-gold);border-color:var(--gold-dim)}.card-tile:hover:before{border-color:var(--gold-dim)}.card-tile.collected{border-color:var(--teal-dim)}.card-tile.collected:before{border-color:#3abeab4d}.card-tile.collected:hover{box-shadow:var(--shadow-lg),var(--shadow-glow-teal)}.card-tile.missing{opacity:.5}.card-tile.missing:hover{opacity:.8}.card-tile:nth-child(1){animation-delay:0s}.card-tile:nth-child(2){animation-delay:.04s}.card-tile:nth-child(3){animation-delay:.08s}.card-tile:nth-child(4){animation-delay:.12s}.card-tile:nth-child(5){animation-delay:.16s}.card-tile:nth-child(6){animation-delay:.2s}.card-tile:nth-child(7){animation-delay:.24s}.card-tile:nth-child(8){animation-delay:.28s}.card-tile:nth-child(9){animation-delay:.32s}.card-tile:nth-child(10){animation-delay:.36s}.card-tile:nth-child(n+11){animation-delay:.4s}@keyframes cardEnter{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.card-image-wrap{position:relative;overflow:hidden;background:linear-gradient(160deg,#1a1530,#241e3a,#1a1530);cursor:pointer}.card-image-wrap .card-image{width:100%;height:220px;object-fit:cover;object-position:top center;display:block;transition:transform .5s var(--ease-out)}.card-tile:hover .card-image-wrap .card-image{transform:scale(1.04)}.card-image-wrap.large .card-image{height:auto;max-height:600px;object-fit:contain;object-position:center}.card-image-overlay{position:absolute;top:0;left:0;right:0;display:flex;align-items:flex-start;justify-content:space-between;padding:.625rem;z-index:2;pointer-events:none}.card-image-wrap:after{content:"";position:absolute;bottom:0;left:0;right:0;height:50px;background:linear-gradient(to top,var(--bg-card),transparent);pointer-events:none;z-index:1}.card-type-badge,.card-rarity-badge{font-family:var(--font-heading);font-size:.6rem;font-weight:600;padding:.2rem .6rem;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.08em;z-index:2}.card-type-badge{background:#c9a84c26;color:var(--gold);border:1px solid rgba(201,168,76,.2)}.card-rarity-badge{background:#ffffff0f;color:var(--parchment-dim);border:1px solid rgba(255,255,255,.08)}.card-rarity-badge.common{color:var(--rarity-common)}.card-rarity-badge.uncommon{color:var(--rarity-uncommon);background:#3abeab1a;border-color:#3abeab26}.card-rarity-badge.rare{color:var(--rarity-rare);background:#c9a84c1f;border-color:#c9a84c33}.card-rarity-badge.legendary{color:var(--rarity-legendary);background:#d67aff1f;border-color:#d67aff33;animation:legendaryPulse 3s ease-in-out infinite}@keyframes legendaryPulse{0%,to{box-shadow:none}50%{box-shadow:0 0 8px #d67aff4d}}.collected-badge{position:absolute;bottom:.625rem;right:.625rem;background:var(--teal);color:var(--bg-void);width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;z-index:2;box-shadow:var(--shadow-glow-teal)}.card-info{padding:.875rem 1rem .5rem;position:relative;z-index:1;flex:1}.card-info h3{font-family:var(--font-heading);font-size:.95rem;font-weight:600;margin-bottom:.1rem;letter-spacing:.02em}.card-info h3 a{color:var(--parchment)}.card-info h3 a:hover{color:var(--gold)}.card-title{font-family:var(--font-body);font-style:italic;color:var(--parchment-mid);font-size:.85rem}.card-stats{margin-top:.5rem;font-family:var(--font-heading);font-size:.75rem;color:var(--parchment-dim);display:flex;gap:1rem;letter-spacing:.04em;text-transform:uppercase}.card-stats strong{color:var(--gold)}.card-abilities{margin-top:.5rem;display:flex;flex-wrap:wrap;gap:.3rem}.ability-tag{font-family:var(--font-heading);font-size:.625rem;font-weight:600;background:#c9a84c26;color:var(--parchment-mid);padding:.175rem .5rem;border-radius:var(--radius-sm);border:1px solid rgba(201,168,76,.1);letter-spacing:.04em;text-transform:uppercase}.card-actions{padding:.625rem .875rem .875rem;position:relative;z-index:1}.lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e0;display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.lightbox-content{position:relative;max-width:500px;max-height:90vh;width:100%}.lightbox-image{width:100%;height:auto;max-height:88vh;object-fit:contain;border-radius:12px;box-shadow:0 0 60px #c9a84c40}.lightbox-close{position:absolute;top:-12px;right:-12px;width:36px;height:36px;border-radius:50%;background:var(--bg-card);border:1px solid var(--border-mid);color:var(--parchment);font-size:1.4rem;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:all .2s;line-height:1}.lightbox-close:hover{background:var(--accent-gold);color:var(--bg-void)}.lightbox-enter-active,.lightbox-leave-active{transition:opacity .25s ease}.lightbox-enter-active .lightbox-content,.lightbox-leave-active .lightbox-content{transition:transform .25s ease}.lightbox-enter-from,.lightbox-leave-to{opacity:0}.lightbox-enter-from .lightbox-content,.lightbox-leave-to .lightbox-content{transform:scale(.92)}.back-link{font-family:var(--font-heading);color:var(--parchment-dim);font-size:.8rem;display:inline-flex;align-items:center;gap:.5rem;margin-bottom:2rem;letter-spacing:.06em;text-transform:uppercase;transition:color .2s}.back-link:hover{color:var(--gold)}.card-detail{display:flex;gap:3rem;animation:heroReveal .6s var(--ease-out) both}.card-detail-image{flex:0 0 380px;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border-dim)}.card-detail-image .card-image-wrap.large{border-radius:0}.card-detail-info{flex:1}.card-detail-info h1{font-family:var(--font-display);font-size:2.25rem;font-weight:700;color:var(--gold);letter-spacing:.03em}.card-title-large{font-family:var(--font-body);font-size:1.2rem;font-style:italic;color:var(--parchment-mid);font-weight:400;margin-bottom:1.25rem}.card-stats-large{display:flex;gap:1rem;margin-bottom:1.75rem}.stat-block{background:var(--bg-card);border:1px solid var(--border-mid);border-radius:var(--radius-md);padding:.75rem 1.5rem;text-align:center;min-width:90px;position:relative}.stat-block:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:40px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-dim),transparent)}.stat-label{display:block;font-family:var(--font-heading);font-size:.65rem;font-weight:600;color:var(--parchment-ghost);text-transform:uppercase;letter-spacing:.1em}.stat-value{font-family:var(--font-display);font-size:1.75rem;font-weight:700;color:var(--gold);line-height:1.2}.abilities-list{display:flex;flex-direction:column;gap:.875rem;margin-bottom:1.75rem}.ability-block{background:var(--bg-card);border:1px solid var(--border-dim);border-left:3px solid var(--gold-dim);border-radius:0 var(--radius-md) var(--radius-md) 0;padding:1rem 1.25rem;transition:border-color .2s,background .2s}.ability-block:hover{border-left-color:var(--gold);background:var(--bg-elevated)}.ability-block h3{font-family:var(--font-heading);font-size:.9rem;font-weight:600;color:var(--gold);letter-spacing:.03em;margin-bottom:.25rem}.ability-block p{font-size:.925rem;color:var(--parchment-mid);line-height:1.6}.flavor-text{font-style:italic;color:var(--parchment-dim);font-size:1rem;margin-bottom:1.25rem;padding-left:1rem;border-left:2px solid var(--border-mid)}.card-meta{font-family:var(--font-heading);font-size:.775rem;color:var(--parchment-ghost);display:flex;gap:1.5rem;letter-spacing:.04em;text-transform:uppercase}.card-meta strong{color:var(--parchment-dim)}.progress-section{margin-bottom:2.5rem;background:var(--bg-card);border:1px solid var(--border-dim);border-radius:var(--radius-lg);padding:1.75rem 2rem;position:relative;overflow:hidden}.progress-section:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 0% 50%,rgba(201,168,76,.04) 0%,transparent 60%);pointer-events:none}.progress-text{font-family:var(--font-heading);font-size:1rem;margin-bottom:.75rem;letter-spacing:.03em;position:relative}.progress-text .progress-count{color:var(--gold);font-size:1.5rem;font-weight:700}.progress-bar{height:10px;background:var(--bg-void);border:1px solid var(--border-dim);border-radius:5px;overflow:hidden;position:relative}.progress-fill{height:100%;background:linear-gradient(90deg,var(--teal-dim),var(--teal),var(--gold));border-radius:5px;transition:width .6s var(--ease-out);position:relative}.progress-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(255,255,255,.15) 0%,transparent 60%);border-radius:5px}.chat-container{max-width:860px}.chat-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.chat-orb{width:48px;height:48px;border-radius:50%;background:radial-gradient(circle at 35% 35%,var(--gold-bright),var(--ember-dim));box-shadow:0 0 24px #c9a84c4d;animation:orbPulse 4s ease-in-out infinite;flex-shrink:0}@keyframes orbPulse{0%,to{box-shadow:0 0 24px #c9a84c4d}50%{box-shadow:0 0 36px #c9a84c80}}.chat-messages{background:var(--bg-card);border:1px solid var(--border-dim);border-radius:var(--radius-lg);padding:1.25rem;height:480px;overflow-y:auto;margin-bottom:1rem;display:flex;flex-direction:column;gap:.75rem;scroll-behavior:smooth}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb{background:var(--border-mid);border-radius:3px}.chat-msg{padding:.875rem 1.125rem;border-radius:var(--radius-md);font-size:.925rem;max-width:82%;line-height:1.65;animation:msgAppear .3s var(--ease-out) both}@keyframes msgAppear{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chat-msg.user{background:linear-gradient(135deg,var(--ember),var(--ember-dim));color:#fff;align-self:flex-end;border-bottom-right-radius:2px}.chat-msg.bot{background:var(--bg-elevated);color:var(--parchment);align-self:flex-start;border-bottom-left-radius:2px;border:1px solid var(--border-dim)}.chat-msg.bot strong{color:var(--gold)}.chat-msg.error{color:var(--ember)}.chat-welcome{text-align:center;padding:2rem 1rem}.chat-welcome .welcome-icon{font-size:2.5rem;margin-bottom:.75rem;display:block}.chat-welcome p{color:var(--parchment-dim);font-style:italic;font-size:.95rem;max-width:400px;margin:0 auto}.chat-input-form{display:flex;gap:.625rem}.chat-input-form input{flex:1;padding:.75rem 1rem;background:var(--bg-card);border:1px solid var(--border-mid);border-radius:var(--radius-md);color:var(--parchment);font-family:var(--font-body);font-size:.95rem;transition:border-color .2s}.chat-input-form input:focus{outline:none;border-color:var(--gold-dim);box-shadow:0 0 0 3px #c9a84c14}.chat-input-form input::placeholder{color:var(--parchment-ghost);font-style:italic}.typing-indicator span{display:inline-block;width:6px;height:6px;background:var(--gold-dim);border-radius:50%;margin:0 2px;animation:typing 1.2s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.auth-page{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 120px);position:relative;isolation:isolate;overflow:hidden;padding:2rem;background-color:var(--bg-void);background-position:center;background-size:cover;background-repeat:no-repeat}.auth-container{display:flex;justify-content:center;align-items:center;min-height:65vh}.auth-card{background:#1e1a2eeb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-dim);border-radius:var(--radius-xl);padding:3rem;width:100%;max-width:440px;position:relative;z-index:1;overflow:hidden;animation:heroReveal .5s var(--ease-out) both}.auth-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold-dim),transparent)}.auth-card h1{font-family:var(--font-display);font-size:1.5rem;color:var(--gold);letter-spacing:.04em;margin-bottom:1.75rem;text-align:center}.form-group{margin-bottom:1.125rem}.form-group label{display:block;font-family:var(--font-heading);font-size:.725rem;font-weight:500;color:var(--parchment-dim);margin-bottom:.4rem;letter-spacing:.06em;text-transform:uppercase}.form-group input{width:100%;padding:.7rem .875rem;background:var(--bg-deep);border:1px solid var(--border-dim);border-radius:var(--radius-md);color:var(--parchment);font-family:var(--font-body);font-size:.95rem;transition:all .2s var(--ease-out)}.form-group input:focus{outline:none;border-color:var(--gold-dim);box-shadow:0 0 0 3px #c9a84c14}.form-group input::placeholder{color:var(--parchment-ghost)}.password-rules{list-style:none;padding:0;margin:.5rem 0 0;font-size:.8rem;color:var(--parchment-ghost, #888)}.password-rules li{padding:.15rem 0}.password-rules li:before{content:"✗";color:#b55}.password-rules li.met:before{content:"✓";color:#3abeab}.password-rules li.met{color:var(--parchment, #ccc)}.auth-footer{text-align:center;margin-top:1.5rem;font-size:.9rem;color:var(--parchment-dim)}.alert{padding:.75rem 1rem;border-radius:var(--radius-md);margin-bottom:1rem;font-size:.875rem;font-family:var(--font-body)}.alert-error{background:#e8713a1a;color:var(--ember);border:1px solid rgba(232,113,58,.2)}.alert-success{background:#3abeab1a;color:var(--teal);border:1px solid rgba(58,190,171,.2)}.nav-links .nav-admin{color:var(--rarity-legendary)}.nav-links .nav-admin:hover{color:var(--rarity-legendary);background:#d67aff1a}.admin-container{max-width:1280px}.admin-loading{text-align:center;padding:3rem 1rem;color:var(--parchment-dim);font-style:italic}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:2rem}.kpi-card{background:var(--bg-card);border:1px solid var(--border-dim);border-radius:var(--radius-lg);padding:1.5rem;text-align:center;position:relative;overflow:hidden;transition:all .3s var(--ease-out)}.kpi-card:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:60px;height:2px;background:linear-gradient(90deg,transparent,var(--gold-dim),transparent)}.kpi-card:hover{border-color:var(--gold-dim);box-shadow:var(--shadow-glow-gold)}.kpi-value{display:block;font-family:var(--font-display);font-size:2.2rem;font-weight:700;color:var(--gold);line-height:1.1}.kpi-label{display:block;font-family:var(--font-heading);font-size:.7rem;color:var(--parchment-dim);text-transform:uppercase;letter-spacing:.08em;margin-top:.5rem}.charts-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.25rem;margin-bottom:2rem}.chart-card{background:var(--bg-card);border:1px solid var(--border-dim);border-radius:var(--radius-lg);padding:1.5rem;position:relative;overflow:hidden}.chart-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 0% 0%,rgba(201,168,76,.03) 0%,transparent 60%);pointer-events:none}.chart-card-wide{grid-column:span 1}.chart-card-full{margin-bottom:2rem}.chart-title{font-family:var(--font-heading);font-size:.85rem;font-weight:600;color:var(--gold);letter-spacing:.06em;text-transform:uppercase;margin-bottom:1.25rem}.chart-empty{color:var(--parchment-ghost);font-style:italic;text-align:center;padding:2rem 1rem}.bar-chart{display:flex;flex-direction:column;gap:.625rem}.bar-row{display:grid;grid-template-columns:28px 100px 1fr 36px;align-items:center;gap:.625rem}.bar-rank{font-family:var(--font-heading);font-size:.7rem;color:var(--gold-dim);text-align:right}.bar-label{font-family:var(--font-heading);font-size:.75rem;color:var(--parchment-mid);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{height:20px;background:var(--bg-deep);border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border-dim)}.bar-fill{height:100%;background:linear-gradient(90deg,var(--teal-dim),var(--teal),var(--gold));border-radius:var(--radius-sm);transition:width .8s var(--ease-out);min-width:4px}.bar-value{font-family:var(--font-heading);font-size:.75rem;color:var(--gold);font-weight:700;text-align:right}.donut-chart{display:flex;align-items:center;gap:1rem}.donut-svg{width:100px;height:100px;flex-shrink:0;transform:rotate(-90deg)}.donut-legend{display:flex;flex-direction:column;gap:.375rem}.legend-item{display:flex;align-items:center;gap:.5rem}.legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.legend-text{font-family:var(--font-heading);font-size:.7rem;color:var(--parchment-mid);text-transform:uppercase;letter-spacing:.04em}.legend-value{font-family:var(--font-heading);font-size:.7rem;color:var(--gold);font-weight:700;margin-left:auto}.table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-family:var(--font-body);font-size:.875rem}.admin-table thead th{font-family:var(--font-heading);font-size:.7rem;font-weight:600;color:var(--parchment-mid);text-transform:uppercase;letter-spacing:.08em;padding:.75rem 1rem;border-bottom:1px solid var(--border-mid);text-align:left}.admin-table tbody td{padding:.75rem 1rem;border-bottom:1px solid var(--border-dim);color:var(--parchment-mid)}.admin-table tbody tr:hover td{background:var(--bg-elevated);color:var(--parchment)}.td-username{font-family:var(--font-heading);font-weight:600;color:var(--parchment)!important}.td-count{font-weight:700;color:var(--gold)!important}.admin-section{background:var(--bg-card);border:1px solid var(--border-dim);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:2rem}.admin-section-desc{color:var(--parchment-mid);font-style:italic;font-size:.9rem;margin-bottom:1.25rem}.admin-select{width:100%;padding:.7rem .875rem;background:var(--bg-deep);border:1px solid var(--border-dim);border-radius:var(--radius-md);color:var(--parchment);font-family:var(--font-body);font-size:.95rem;-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%238A7E6A' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .875rem center}.admin-select:focus{outline:none;border-color:var(--gold-dim);box-shadow:0 0 0 3px #c9a84c14}.admin-select option{background:var(--bg-deep);color:var(--parchment)}.password-reset-form{max-width:480px}.purge-zone{margin-top:2rem;padding:1.25rem;border:1px solid rgba(232,60,60,.3);border-radius:var(--radius-md);background:#e83c3c0a}.purge-title{font-family:var(--font-heading);font-size:.85rem;font-weight:700;color:#f06060;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.5rem}.purge-desc{color:var(--parchment-mid);font-size:.85rem;margin-bottom:1rem;line-height:1.5}.btn-danger{background:linear-gradient(135deg,#c03030,#e04040);color:#fff;font-family:var(--font-heading);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:.6rem 1.5rem;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .2s}.btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#d04040,#f05050);box-shadow:0 0 12px #e83c3c4d}.btn-danger:disabled{opacity:.4;cursor:not-allowed}.purge-modal{background:var(--bg-card);border:1px solid rgba(232,60,60,.4);border-radius:var(--radius-lg);padding:2rem;max-width:480px;width:100%;box-shadow:0 0 40px #e83c3c26}.purge-modal-title{font-family:var(--font-heading);font-size:1.25rem;color:#f06060;margin-bottom:1rem}.purge-modal-text{color:var(--parchment-mid);font-size:.9rem;line-height:1.6;margin-bottom:1rem}.purge-modal-text strong{color:var(--parchment)}.purge-modal-confirm-label{color:var(--parchment);font-size:.85rem;margin-bottom:.5rem}.purge-modal-confirm-label strong{color:#f06060;font-family:var(--font-heading);letter-spacing:.1em}.purge-modal-input{width:100%;padding:.6rem .75rem;background:var(--bg-elevated);border:1px solid var(--border-mid);border-radius:var(--radius-sm);color:var(--parchment);font-family:var(--font-heading);font-size:.9rem;letter-spacing:.1em;margin-bottom:1.25rem;box-sizing:border-box}.purge-modal-input:focus{outline:none;border-color:#f06060}.purge-modal-actions{display:flex;gap:.75rem;justify-content:flex-end}.footer{text-align:center;padding:2rem;color:var(--parchment-ghost);font-size:.8rem;border-top:1px solid var(--border-dim);margin-top:auto;font-family:var(--font-heading);letter-spacing:.04em}.footer-brand{color:var(--gold-dim);font-family:var(--font-display);font-size:.85rem}.event-selector{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.event-label{font-family:var(--font-heading);font-size:.9rem;color:var(--parchment-mid);letter-spacing:.05em;text-transform:uppercase}.event-select{background:var(--bg-card);color:var(--parchment);border:1px solid var(--border-mid);border-radius:8px;padding:.5rem 2rem .5rem .75rem;font-family:var(--font-body);font-size:.9rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23C4B89E' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;min-width:200px;transition:border-color .2s}.event-select:hover,.event-select:focus{border-color:var(--accent-gold);outline:none}.filter-bar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}.filter-chip{font-family:var(--font-heading);font-size:.7rem;font-weight:600;padding:.4rem 1rem;border-radius:100px;border:1px solid var(--border-mid);background:var(--bg-elevated);color:var(--parchment);cursor:pointer;letter-spacing:.06em;text-transform:uppercase;transition:all .2s var(--ease-out)}.filter-chip:hover{border-color:var(--gold-dim);color:var(--gold)}.filter-chip.active{background:var(--gold);color:var(--bg-void);border-color:var(--gold)}.filter-divider{width:1px;height:24px;background:var(--border-mid);flex-shrink:0;align-self:center}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-void)}::-webkit-scrollbar-thumb{background:var(--border-mid);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-glow)}.nav-hamburger{display:none;background:none;border:none;cursor:pointer;width:44px;height:44px;align-items:center;justify-content:center;padding:0;-webkit-tap-highlight-color:transparent}.nav-hamburger span{display:block;width:22px;height:2px;background:var(--parchment-mid);position:relative;transition:all .3s var(--ease-out)}.nav-hamburger span:before,.nav-hamburger span:after{content:"";position:absolute;left:0;width:22px;height:2px;background:var(--parchment-mid);transition:all .3s var(--ease-out)}.nav-hamburger span:before{top:-7px}.nav-hamburger span:after{top:7px}.nav-hamburger span.open{background:transparent}.nav-hamburger span.open:before{top:0;transform:rotate(45deg);background:var(--gold)}.nav-hamburger span.open:after{top:0;transform:rotate(-45deg);background:var(--gold)}.nav-mobile{display:none;flex-direction:column;padding:.5rem 1rem 1rem;border-top:1px solid var(--border-dim);background:#0d0b14f2;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.nav-mobile a,.nav-mobile .nav-mobile-link{font-family:var(--font-heading);font-size:.9rem;font-weight:500;color:var(--parchment-mid);letter-spacing:.06em;text-transform:uppercase;padding:.875rem .5rem;border-bottom:1px solid var(--border-dim);display:block;transition:color .2s;-webkit-tap-highlight-color:transparent}.nav-mobile a:last-child,.nav-mobile .nav-mobile-link:last-child{border-bottom:none}.nav-mobile a:hover,.nav-mobile .nav-mobile-link:hover,.nav-mobile a.router-link-active{color:var(--gold)}.nav-mobile .nav-mobile-link{background:none;border-left:none;border-right:none;border-top:none;cursor:pointer;width:100%;text-align:left}.slide-enter-active{transition:all .25s var(--ease-out)}.slide-leave-active{transition:all .2s ease-in}.slide-enter-from,.slide-leave-to{opacity:0;transform:translateY(-8px)}@media(max-width:768px){.nav-desktop{display:none!important}.nav-hamburger,.nav-mobile{display:flex}.nav-container{padding:.75rem 1rem}.container{padding:1.5rem 1rem}.hero{padding:3rem 1.25rem}.hero-content h1{font-size:2.75rem}.hero-tagline{font-size:.9rem;letter-spacing:.08em}.hero-description{font-size:1rem;margin-top:1rem}.hero-divider{margin:1.5rem auto}.hero-actions{flex-direction:column;gap:.75rem;margin-top:2rem}.hero-actions .btn{width:100%;padding:.875rem 1.5rem}.hero-cards{margin-top:2rem}.hero-card{width:56px;height:78px}.page-title{font-size:1.5rem}.page-subtitle{font-size:.95rem;margin-bottom:1.25rem}.filter-bar{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:.375rem;margin-bottom:1.25rem;padding-bottom:.25rem}.filter-bar::-webkit-scrollbar{display:none}.filter-chip{flex-shrink:0;padding:.5rem 1rem;font-size:.7rem}.card-grid{grid-template-columns:1fr 1fr;gap:.75rem}.card-tile{border-radius:var(--radius-md)}.card-tile:before{top:2px;right:2px;bottom:2px;left:2px;border-radius:calc(var(--radius-md) - 1px)}.card-image-wrap .card-image{height:180px}.card-info{padding:.625rem .625rem .375rem}.card-info h3{font-size:.825rem}.card-title{font-size:.75rem}.card-stats{font-size:.65rem;gap:.5rem;margin-top:.3rem}.card-abilities{gap:.2rem;margin-top:.3rem}.ability-tag{font-size:.55rem;padding:.125rem .375rem}.card-actions{padding:.375rem .625rem .625rem}.btn-collect,.btn-collected{padding:.6rem .75rem;font-size:.7rem}.collected-badge{width:24px;height:24px;font-size:.7rem}.card-detail{flex-direction:column;gap:1.5rem}.card-detail-image{flex:none;border-radius:var(--radius-md)}.card-detail-info h1{font-size:1.75rem}.card-title-large{font-size:1rem;margin-bottom:1rem}.card-stats-large{gap:.625rem;margin-bottom:1.25rem}.stat-block{padding:.625rem 1rem;min-width:70px}.stat-value{font-size:1.5rem}.ability-block{padding:.875rem}.ability-block h3{font-size:.825rem}.ability-block p{font-size:.875rem}.card-meta{flex-wrap:wrap;gap:.75rem}.progress-section{padding:1.25rem;margin-bottom:1.5rem}.progress-text{font-size:.9rem}.progress-text .progress-count{font-size:1.3rem}.chat-container{padding-left:.75rem;padding-right:.75rem}.chat-messages{height:400px;padding:.875rem;border-radius:var(--radius-md)}.chat-msg{padding:.75rem .875rem;font-size:.875rem;max-width:90%}.chat-input-form{gap:.5rem}.chat-input-form input{padding:.875rem;font-size:1rem}.chat-input-form .btn{padding:.875rem 1rem;font-size:.75rem}.chat-orb{width:40px;height:40px}.auth-page{min-height:calc(100vh - 100px);padding:1.5rem 1rem}.auth-container{min-height:55vh;padding:1rem}.auth-card{padding:2rem 1.25rem;border-radius:var(--radius-lg);max-width:100%}.auth-card h1{font-size:1.3rem;margin-bottom:1.5rem}.form-group input,.admin-select{padding:.875rem;font-size:1rem}.btn-full{padding:.875rem;font-size:.85rem}.kpi-row{grid-template-columns:repeat(2,1fr)}.charts-row{grid-template-columns:1fr}.bar-row{grid-template-columns:24px 80px 1fr 32px;gap:.375rem}.bar-label{font-size:.675rem}.donut-chart{flex-direction:column;align-items:flex-start}.donut-svg{width:80px;height:80px}.admin-table{font-size:.8rem}.admin-table thead th{padding:.5rem .625rem;font-size:.625rem}.admin-table tbody td{padding:.5rem .625rem}.footer{padding:1.5rem 1rem;font-size:.7rem}.footer-text{display:block;margin-top:.25rem}}@media(max-width:480px){.container{padding:1.25rem .75rem}.hero{padding:2.5rem 1rem}.hero-content h1{font-size:2.1rem;letter-spacing:.03em}.hero-tagline{font-size:.8rem}.hero-description{font-size:.9rem}.hero-card{width:48px;height:67px}.hero-card:nth-child(2),.hero-card:nth-child(3),.hero-card:nth-child(4),.hero-card:nth-child(5){margin-left:-14px}.nav-brand{font-size:1.05rem}.card-grid{gap:.5rem}.card-image-wrap .card-image{height:150px}.card-info{padding:.5rem .5rem .25rem}.card-info h3{font-size:.75rem}.card-title{font-size:.675rem}.card-stats,.card-abilities{display:none}.card-actions{padding:.25rem .5rem .5rem}.btn-collect,.btn-collected{padding:.5rem;font-size:.625rem}.card-type-badge,.card-rarity-badge{font-size:.5rem;padding:.125rem .375rem}.card-detail-info h1{font-size:1.5rem}.card-stats-large{flex-wrap:wrap}.stat-block{flex:1;min-width:0}.chat-messages{height:350px}.auth-card{padding:1.5rem 1rem}.kpi-row{grid-template-columns:1fr 1fr;gap:.625rem}.kpi-card{padding:1rem}.kpi-value{font-size:1.6rem}.kpi-label{font-size:.6rem}.back-link{margin-bottom:1rem}}@supports (padding: env(safe-area-inset-bottom)){.footer{padding-bottom:calc(1.5rem + env(safe-area-inset-bottom))}.navbar{padding-top:env(safe-area-inset-top)}.chat-input-form{padding-bottom:env(safe-area-inset-bottom)}}@media(hover:none){.card-tile:hover{transform:none;box-shadow:none}.card-tile:hover .card-image-wrap .card-image{transform:none}.card-tile:hover:before{border-color:var(--border-dim)}.card-tile.collected:hover{box-shadow:none}.btn-primary:hover{transform:none}.card-tile:active{transform:scale(.98);transition-duration:.1s}.btn:active{transform:scale(.96);transition-duration:.1s}.filter-chip:active{transform:scale(.95);transition-duration:.1s}}
