.brand-logo{display:inline-flex;align-items:center;justify-content:center;gap:.45em;margin:0;line-height:1;width:auto;max-width:100%}.brand-logo-mark{display:block;flex-shrink:0;width:1.55em;height:1.55em;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 4px 16px rgba(244,114,182,.45))}.brand-logo-word{display:inline-flex;align-items:baseline;font-family:var(--font-display);font-weight:800;font-size:1em;letter-spacing:-.02em;line-height:1;color:#c4b5fd}.brand-logo-letter{display:inline-block;background:linear-gradient(105deg,#c4b5fd,#f472b6 32%,#a78bfa 55%,#67e8f9 88%,#c4b5fd);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;will-change:transform,opacity,background-position}.brand-logo--sm{font-size:clamp(1.05rem,4.2vw,1.25rem)}.brand-logo--md{font-size:clamp(1.35rem,5.5vw,1.7rem)}.brand-logo--lg{font-size:clamp(1.55rem,6.2vw,2rem)}.brand-logo--hero{font-size:clamp(1.75rem,7vw,2.35rem);margin-inline:auto}.brand-logo--animated .brand-logo-mark{animation:brand-orb-in .7s var(--ease-out) both,brand-orb-glow 2.8s ease-in-out .7s infinite}.brand-logo--animated .brand-logo-letter{animation:brand-letter-in .55s var(--ease-snap) both,brand-letter-shimmer 3.6s linear infinite;animation-delay:calc(.05s + var(--i) * 45ms),calc(.9s + var(--i) * .08s)}@keyframes brand-letter-in{0%{opacity:0;transform:translateY(.45em) scale(.88);filter:blur(4px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes brand-letter-shimmer{0%{background-position:0% 50%}to{background-position:220% 50%}}@keyframes brand-orb-in{0%{opacity:0;transform:scale(.7) rotate(-12deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes brand-orb-glow{0%,to{filter:drop-shadow(0 4px 14px rgba(244,114,182,.35));transform:scale(1)}50%{filter:drop-shadow(0 6px 22px rgba(103,232,249,.55));transform:scale(1.04)}}@media(prefers-reduced-motion:reduce){.brand-logo--animated .brand-logo-mark,.brand-logo--animated .brand-logo-letter{animation:none;opacity:1;transform:none;filter:none;background-position:40% 50%}.brand-logo--animated .brand-logo-mark{filter:drop-shadow(0 4px 16px rgba(244,114,182,.45))}}.legal{flex:1;display:flex;flex-direction:column;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:16px 20px calc(28px + env(safe-area-inset-bottom));max-width:520px;width:100%;margin:0 auto;gap:16px}.legal-header{display:flex;align-items:flex-start;gap:12px}.legal-back{width:42px;height:42px;flex-shrink:0;border-radius:14px;border:1px solid var(--line);background:var(--bg-panel);color:var(--text);font-size:1.1rem;cursor:pointer}.legal-heading h1{font-family:var(--font-display);font-size:1.45rem;font-weight:800;letter-spacing:-.03em;color:#fff;line-height:1.15}.legal-heading p{margin-top:4px;font-size:.85rem;color:var(--text-muted)}.legal-body{display:flex;flex-direction:column;gap:18px}.legal-section h2{font-family:var(--font-display);font-size:1rem;font-weight:700;color:#c4b5fd;margin-bottom:8px}.legal-section p{font-size:.92rem;line-height:1.55;color:#c5cae0;margin-bottom:10px}.legal-footer-nav{display:flex;flex-direction:column;gap:10px;padding-top:8px;border-top:1px solid var(--line)}.legal-footer-nav a{color:var(--accent-2);font-weight:700;text-decoration:none;min-height:44px;display:flex;align-items:center}.legal-gate{justify-content:center;gap:20px}.legal-gate-brand{display:flex;justify-content:center}.legal-gate-card{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:14px;padding:28px 20px 22px;border-radius:24px;border:1px solid rgba(248,113,113,.45);background:radial-gradient(ellipse 90% 70% at 50% 0%,rgba(248,113,113,.18),transparent 55%),#151a2e;box-shadow:0 0 40px #f871711f,0 16px 40px #00000059;text-align:center}.legal-gate-card:before{content:"";position:absolute;top:0;left:12%;right:12%;height:1px;background:linear-gradient(90deg,transparent,#fca5a5,transparent)}.legal-age-badge{align-self:center;display:inline-flex;align-items:center;justify-content:center;min-width:64px;height:36px;padding:0 14px;border-radius:999px;font-family:var(--font-display);font-weight:800;font-size:1rem;letter-spacing:.04em;color:#450a0a;background:linear-gradient(135deg,#fca5a5,#f87171);box-shadow:0 6px 18px #f8717159}.legal-gate-card h1{font-family:var(--font-display);font-size:1.35rem;font-weight:800;letter-spacing:-.02em;color:#fff;line-height:1.2}.legal-gate-card p{font-size:.95rem;line-height:1.5;color:#c5cae0}.legal-gate-muted{color:#8b93b5!important;font-size:.88rem!important}.legal-gate-accept{margin-top:6px;min-height:56px;border:none;border-radius:var(--radius-md);font-family:var(--font-display);font-size:1rem;font-weight:700;color:#080b16;background:var(--grad-cta);cursor:pointer}.legal-gate-leave{min-height:48px;border:1px solid var(--line);border-radius:var(--radius-md);background:transparent;color:var(--text-muted);font:inherit;font-weight:600;cursor:pointer}.legal-gate-links{font-size:.8rem!important;color:#8b93b5!important;line-height:1.45!important}.legal-gate-links a{color:var(--accent-2);font-weight:700;text-decoration:none}.auth-legal-check{display:flex;align-items:flex-start;gap:12px;text-align:left;font-size:.86rem;line-height:1.45;color:var(--text-muted)}.auth-legal-check input{width:20px;height:20px;margin-top:2px;flex-shrink:0;accent-color:var(--accent)}.auth-legal-check a{color:var(--accent-2);font-weight:700;text-decoration:none}.auth-age-note{text-align:center;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#fca5a5}.auth-legal-links{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;font-size:.82rem}.auth-legal-links a{color:var(--text-dim);text-decoration:none;font-weight:600}.home-age-note{margin-top:4px;text-align:center;font-size:.8rem;font-weight:700;letter-spacing:.04em;color:#fca5a5}.home-legal-links{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:8px}.home-legal-links a{font-size:.78rem;color:#6b7394;text-decoration:none;font-weight:600}.profile-legal-links{display:flex;flex-direction:column;gap:4px;padding:4px 4px 8px}.profile-legal-links a{color:#6b7394;font-size:.84rem;font-weight:600;text-decoration:none;min-height:40px;display:flex;align-items:center}.auth{flex:1;display:flex;flex-direction:column;justify-content:center;padding:32px 24px calc(32px + env(safe-area-inset-bottom));gap:24px;max-width:420px;width:100%;margin:0 auto}.auth-brand{text-align:center;display:flex;justify-content:center}.auth-brand .brand-logo{margin-inline:auto}.auth h1{font-family:var(--font-display);font-size:1.5rem;font-weight:700;letter-spacing:-.02em;text-align:center}.auth-lead{text-align:center;color:var(--text-muted);font-size:.95rem;margin-top:-8px}.auth{animation:rise-in var(--t-med) var(--ease-out) both}.auth-form{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:14px;padding:22px 18px;border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--bg-card);box-shadow:var(--shadow-card);animation:rise-in var(--t-med) var(--ease-out) .08s both}.auth-form:before{content:"";position:absolute;top:0;left:12%;right:12%;height:1px;background:linear-gradient(90deg,transparent,rgba(167,139,250,.7),rgba(45,212,191,.7),transparent)}.auth-field{display:flex;flex-direction:column;gap:6px;text-align:left}.auth-field label{font-size:.85rem;font-weight:600;color:var(--text-muted)}.auth-field input{min-height:var(--touch);padding:0 16px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-void);color:var(--text);font-size:1.05rem;font-family:var(--font-body);outline:none;user-select:text;-webkit-user-select:text;transition:border-color var(--t-fast) ease,box-shadow var(--t-fast) ease}.auth-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #8b5cf640}.auth-submit{margin-top:6px;min-height:56px;border:none;border-radius:var(--radius-md);font-family:var(--font-display);font-size:1.05rem;font-weight:700;letter-spacing:.04em;color:#080b16;background:var(--grad-cta);cursor:pointer;transition:transform var(--t-fast) var(--ease-out),filter var(--t-fast) ease}.auth-submit:not(:disabled):active{transform:scale(.97);filter:brightness(1.08)}.auth-submit:disabled{opacity:.45;cursor:default}.auth-error,.auth-info{font-size:.9rem;text-align:center;line-height:1.4}.auth-error{color:var(--danger)}.auth-info{color:var(--ok)}.auth-switch{text-align:center;font-size:.95rem;color:var(--text-muted)}.auth-switch a{color:var(--accent-2);text-decoration:none;font-weight:700}.auth-back{display:block;text-align:center;font-size:.9rem;font-weight:600;color:var(--text-dim);text-decoration:none;min-height:44px;line-height:44px}.levels{flex:1;display:flex;flex-direction:column;min-height:0;padding:14px 18px 20px;max-width:430px;width:100%;margin:0 auto;gap:14px}.levels-header{display:flex;align-items:flex-start;gap:12px;flex-shrink:0}.levels-hearts-chip{flex-shrink:0;margin-top:4px;display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:6px 10px;border-radius:999px;border:1px solid rgba(248,113,113,.4);background:#f871711f;color:#f87171;cursor:default}.levels-hearts-chip:not(:disabled){cursor:pointer}.levels-hearts-chip:disabled{opacity:1}.levels-hearts-chip.is-empty{border-color:#fbbf2473;background:#fbbf241f;color:#fbbf24}.levels-hearts-chip.is-pass{border-color:#2dd4bf66;background:#2dd4bf1f;color:#5eead4}.levels-hearts-chip-icons{font-size:.95rem;letter-spacing:1px;line-height:1;font-variant-emoji:text}.levels-back{width:42px;height:42px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;border:1px solid #2f3658;border-radius:14px;background:#14182c;color:#c5cae0;cursor:pointer}.levels-heading{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.levels-title{font-family:var(--font-display);font-size:1.85rem;font-weight:800;letter-spacing:-.03em;color:#fff;line-height:1.1}.levels-sub{color:#8b93b5;font-size:.9rem;line-height:1.35}.levels-count-chip{flex-shrink:0;margin-top:6px;min-height:30px;padding:4px 12px;border-radius:999px;border:1px solid rgba(45,212,191,.35);background:#2dd4bf1a;color:#2dd4bf;font-family:var(--font-display);font-size:.82rem;font-weight:700;font-variant-numeric:tabular-nums}.levels-energy-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;border:1px solid rgba(248,113,113,.35);background:linear-gradient(135deg,#f871711f,#0f1220e6)}.levels-energy-bar.is-empty{border-color:#fbbf2473;background:linear-gradient(135deg,#fbbf2424,#0f1220f2)}.levels-energy-hearts{flex-shrink:0;font-size:1.05rem;letter-spacing:2px;color:#f87171;line-height:1}.levels-energy-bar.is-empty .levels-energy-hearts{color:#6b7394}.levels-energy-meta{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 140px}.levels-energy-meta strong{font-family:var(--font-display);font-size:.92rem;font-weight:700;color:#eef0ff}.levels-energy-meta span{font-size:.78rem;color:#8b93b5;line-height:1.3}.levels-energy-pack{flex:0 0 auto;margin-left:auto;padding:8px 12px;border-radius:999px;border:1px solid rgba(251,191,36,.45);background:#fbbf2424;color:#fde68a;font-size:.78rem;font-weight:700;cursor:pointer}.levels-energy-pack:disabled{opacity:.6;cursor:wait}.levels-energy-pack-error{margin:-4px 0 0;font-size:.78rem;color:#fca5a5;text-align:right}.levels-energy-chip,.levels-energy-hint{display:none}.levels-season-tabs{display:flex;flex-wrap:wrap;gap:10px;flex-shrink:0;padding:2px 0}.levels-season-tab{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:44px;min-height:44px;padding:0 18px;border-radius:999px;border:1.5px solid #3a4268;background:#161b32;color:#d4d9f0;font-size:.9rem;font-weight:700;letter-spacing:.01em;white-space:nowrap;line-height:1;box-sizing:border-box;box-shadow:0 4px 14px #00000040;transition:border-color .2s var(--ease-out),background .2s var(--ease-out),color .2s var(--ease-out),opacity .2s var(--ease-out),box-shadow .2s var(--ease-out)}.levels-season-tab.is-active{border-color:#22d3ee;background:linear-gradient(135deg,#8b5cf659,#22d3ee38);color:#eef0ff;box-shadow:0 0 0 1px #22d3ee59,0 6px 18px #22d3ee33}.levels-season-tab.is-locked{opacity:.7;color:#9aa3c7;border-color:#2a3150;background:#101428;box-shadow:none;cursor:not-allowed}.levels-season-tab-lock{display:inline-flex;align-items:center;color:#a8b0d0}.levels-stars-card{display:flex;flex-direction:column;gap:10px;flex-shrink:0;padding:14px 14px 12px;border-radius:18px;border:1px solid rgba(251,191,36,.28);background:linear-gradient(145deg,rgba(251,191,36,.1) 0%,rgba(139,92,246,.08) 55%,transparent 100%),#12162a;box-shadow:0 10px 28px #00000038;animation:rise-in var(--t-med) var(--ease-out) both}.levels-stars-card.is-ready{border-color:#2dd4bf73;background:linear-gradient(145deg,rgba(45,212,191,.12) 0%,rgba(139,92,246,.08) 60%,transparent),#12162a}.levels-stars-head{display:flex;align-items:center;gap:12px}.levels-stars-icon{flex-shrink:0;width:40px;height:40px;display:grid;place-items:center;border-radius:14px;font-size:1.25rem;color:#fbbf24;background:#fbbf2424;border:1px solid rgba(251,191,36,.35);box-shadow:0 0 18px #fbbf2440}.levels-stars-card.is-ready .levels-stars-icon{color:#5eead4;background:#2dd4bf24;border-color:#2dd4bf66;box-shadow:0 0 18px #2dd4bf40}.levels-stars-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.levels-stars-copy strong{font-family:var(--font-display);font-size:1.05rem;font-weight:800;color:#eef0ff;letter-spacing:-.02em}.levels-stars-copy span{font-size:.82rem;color:#9aa3c7;line-height:1.35}.levels-stars-badge{flex-shrink:0;font-size:.75rem;font-weight:800;letter-spacing:.04em;padding:6px 10px;border-radius:999px;color:#fbbf24;background:#fbbf241f;border:1px solid rgba(251,191,36,.3)}.levels-stars-card.is-ready .levels-stars-badge{color:#5eead4;background:#2dd4bf1f;border-color:#2dd4bf59}.levels-stars-track{height:10px;border-radius:999px;background:#1a2038;border:1px solid #2a3150;overflow:hidden}.levels-stars-bar{height:100%;border-radius:inherit;background:linear-gradient(90deg,#fbbf24,#f472b6 55%,#a78bfa);box-shadow:0 0 14px #fbbf2466;transition:width .7s var(--ease-out)}.levels-stars-card.is-ready .levels-stars-bar{background:linear-gradient(90deg,#34d399,#22d3ee);box-shadow:0 0 14px #2dd4bf73}.levels-pass-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0;width:100%;min-height:52px;padding:12px 16px;border-radius:14px;border:1.5px solid rgba(168,85,247,.65);background:#0a0c1c8c;color:#eef0ff;font-size:.9rem;font-weight:600;text-align:left;cursor:pointer}.levels-pass-banner:active{background:#8b5cf61f}.levels-pass-left{display:inline-flex;align-items:center;gap:10px;min-width:0}.levels-pass-left svg{color:#e879f9;flex-shrink:0}.levels-pass-list{color:#6b7394;font-weight:500}.levels-pass-chevron{font-size:1.4rem;color:#8b93b5;line-height:1}.levels-grid{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;overflow-y:auto;padding-bottom:8px}.levels-grid li{animation:pop-in var(--t-med) var(--ease-out) both;animation-delay:calc(var(--i, 0) * 26ms)}.level-tile{position:relative;display:block;aspect-ratio:1;width:100%;padding:0;border-radius:20px;border:1.5px solid #2a3150;background:#12162a;color:#eef0ff;cursor:pointer;text-align:center;overflow:hidden;box-shadow:0 8px 20px #00000038}.level-tile-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.12);filter:blur(7px) brightness(.72) saturate(1.15);pointer-events:none}.level-tile-scrim{position:absolute;inset:0;background:linear-gradient(180deg,#080b1640,#080b168c 45%,#080b16c7);pointer-events:none}.level-tile-body{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;height:100%;padding:12px 8px}.level-tile:not(:disabled):active{transform:scale(.94)}.level-tile:not(:disabled):active .level-tile-bg{transform:scale(1.18);filter:blur(5px) brightness(.8) saturate(1.2)}.level-tile.unlocked{border-color:#a855f7bf;box-shadow:0 0 0 1px #8b5cf640,0 0 24px #8b5cf652,0 8px 20px #00000040;animation:tile-beacon 2.8s ease-in-out infinite}.level-tile.unlocked .level-tile-bg{filter:blur(16px) brightness(.5) saturate(.8)}.level-tile.unlocked .level-tile-scrim{background:linear-gradient(180deg,#4c1d9533,#080b1673 40%,#080b16bf)}@keyframes tile-beacon{0%,to{box-shadow:0 0 0 1px #8b5cf633,0 0 18px #8b5cf633,0 8px 20px #00000040}50%{box-shadow:0 0 0 1px #8b5cf680,0 0 28px #8b5cf666,0 8px 20px #00000040}}.level-tile.completed{border-color:#2dd4bf8c}.level-tile.completed .level-tile-bg{filter:blur(4px) brightness(.82) saturate(1.15)}.level-tile.completed .level-tile-scrim{background:linear-gradient(180deg,#0d948826,#080b1666 40%,#080b16b8)}.level-tile.locked{cursor:default;border-color:#2a3150}.level-tile.locked .level-tile-bg{filter:blur(12px) brightness(.45) saturate(.9)}.level-tile.locked .level-tile-scrim{background:#080b168c}.level-tile.gated{border-color:#fbbf248c;cursor:pointer}.level-tile.gated .level-tile-bg{filter:blur(9px) brightness(.55) saturate(1.05)}.level-tile.gated .level-tile-scrim{background:linear-gradient(180deg,#b4530933,#080b1680 45%,#080b16c7)}.level-tile.upcoming{border-color:#7dd3fc66;cursor:default}.level-tile.upcoming:disabled{opacity:1}.level-tile.upcoming .level-tile-bg{filter:blur(8px) brightness(.5) saturate(.75)}.level-tile.upcoming .level-tile-scrim{background:linear-gradient(180deg,#0e749038,#080b168c 45%,#080b16d1)}.level-soon-badge{display:inline-flex;align-items:center;gap:4px;margin-top:4px;padding:3px 8px;border-radius:999px;font-size:.68rem;font-weight:700;color:#bae6fd;background:#0ea5e92e;border:1px solid rgba(125,211,252,.35)}.levels-rhythm,.levels-teaser{padding:12px 14px;border-radius:14px;font-size:.86rem;line-height:1.35;color:#c5cce6}.levels-rhythm{border:1px solid rgba(125,211,252,.28);background:#0ea5e914}.levels-rhythm p{margin:0}.levels-rhythm strong{color:#e0f2fe}.levels-teaser{display:flex;flex-direction:column;gap:2px;border:1px solid rgba(167,139,250,.35);background:#8b5cf61a}.levels-teaser strong{color:#ede9fe;font-size:.92rem}.levels-teaser span{color:#a78bfa;font-size:.78rem}.level-tile:disabled{cursor:default}.level-num{font-family:var(--font-display);font-size:1.65rem;font-weight:800;line-height:1;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.65)}.level-tile.unlocked .level-num{background:linear-gradient(120deg,#e9d5ff,#a5f3fc);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 6px rgba(0,0,0,.5))}.level-tile.completed .level-num{color:#5eead4}.level-tile.locked .level-num{color:#c5cae0}.level-tile-name{font-size:.72rem;font-weight:700;color:#fff;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 6px rgba(0,0,0,.7)}.level-tile-meta{font-size:.65rem;color:#d4d8f0;text-shadow:0 1px 4px rgba(0,0,0,.7)}.level-stars{font-size:.72rem;letter-spacing:1px;color:#fbbf24}.level-media-dot{position:absolute;top:8px;right:8px;z-index:2;padding:3px 7px;border-radius:999px;background:#080b16bf;border:1px solid #3d4570;color:#2dd4bf;font-size:.56rem;font-weight:800;letter-spacing:.05em;line-height:1.2}.level-media-dot.video{color:#f472b6}.level-play-badge{font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#080b16;background:linear-gradient(90deg,#8b5cf6,#22d3ee);padding:5px 12px;border-radius:999px;box-shadow:0 4px 14px #8b5cf659}.level-lock-badge{display:inline-flex;align-items:center;gap:5px;font-size:.68rem;font-weight:700;color:#8b93b5;padding:4px 10px;border-radius:999px;border:1px solid #2a3150;background:#12162acc}.level-pass-badge{display:inline-flex;align-items:center;gap:5px;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#fbbf24;padding:4px 10px;border-radius:999px;border:1px solid rgba(251,191,36,.4);background:#fbbf241f}.level-pass-badge svg{width:12px;height:12px}.levels-msg{text-align:center;color:#8b93b5;padding:40px 12px;display:flex;flex-direction:column;align-items:center;gap:12px}.levels-error{color:var(--danger)}@media(max-width:360px){.levels-grid{grid-template-columns:repeat(2,1fr)}}@media(prefers-reduced-motion:reduce){.level-tile.unlocked,.levels-grid li{animation:none}}.friend-sites{display:flex;flex-direction:column;gap:12px;padding-top:4px;border-top:1px solid #2a3150;margin-top:4px}.friend-sites-head{display:flex;flex-direction:column;gap:2px}.friend-sites-title{font-family:var(--font-display);font-size:1rem;font-weight:700;color:#fff}.friend-sites-sub{font-size:.82rem;color:#8b93b5}.friend-sites-list{list-style:none;display:flex;flex-direction:column;gap:10px}.friend-site-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;border-radius:16px;border:1px solid rgba(139,92,246,.4);background:radial-gradient(ellipse 80% 120% at 0% 0%,rgba(139,92,246,.18),transparent 55%),#161b32;text-decoration:none;color:inherit;box-shadow:0 8px 20px #00000038;transition:transform .18s ease,border-color .18s ease}.friend-site-card:active{transform:scale(.98);border-color:#a78bfab3}.friend-site-tag{font-size:.66rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:999px}.friend-site-tag.is-amigo{color:#c4b5fd;background:#8b5cf62e;border:1px solid rgba(139,92,246,.4)}.friend-site-tag.is-recomendado{color:#5eead4;background:#2dd4bf1f;border:1px solid rgba(45,212,191,.35)}.friend-site-name{font-family:var(--font-display);font-size:1.05rem;font-weight:700;color:#fff}.friend-site-blurb{font-size:.84rem;color:#8b93b5;line-height:1.35}.friend-site-go{margin-top:6px;font-size:.8rem;font-weight:700;color:#2dd4bf}.friend-sites.is-compact{margin-top:8px}.friend-sites.is-compact .friend-sites-title{font-size:.95rem}.friend-sites.is-compact .friend-site-card{padding:12px 14px}.reviews{width:100%;display:flex;flex-direction:column;gap:12px;text-align:left;padding:14px;border-radius:18px;border:1px solid #2a3150;background:radial-gradient(ellipse 90% 80% at 100% 0%,rgba(45,212,191,.06),transparent 50%),#161b32}.reviews-title{font-family:var(--font-display);font-size:1rem;font-weight:700;color:#fff}.reviews-msg{font-size:.88rem;color:#8b93b5;line-height:1.4}.reviews-error{font-size:.85rem;color:var(--danger)}.reviews-list{list-style:none;display:flex;flex-direction:column;gap:8px}.review-item{padding:12px 14px;border-radius:14px;border:1px solid #2a3150;background:#12162a}.review-item.is-mine{border-color:#8b5cf680;background:radial-gradient(ellipse 80% 100% at 0% 0%,rgba(139,92,246,.12),transparent 55%),#12162a}.review-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:6px}.review-user{font-weight:700;font-size:.84rem;color:#2dd4bf}.review-date{font-size:.75rem;color:#6b7394}.review-body{font-size:.9rem;line-height:1.45;color:#eef0ff;overflow-wrap:anywhere}.review-actions{display:flex;gap:14px;margin-top:8px}.review-action{min-height:32px;padding:0;border:none;background:none;color:#8b93b5;font-size:.78rem;font-weight:600;cursor:pointer;text-decoration:underline}.review-action.danger{color:#f87171}.review-form{display:flex;flex-direction:column;gap:10px}.review-form textarea{width:100%;padding:12px 14px;border-radius:14px;border:1px solid #3d4570;background:#0e1224;color:#eef0ff;font-family:var(--font-body);font-size:.92rem;line-height:1.4;resize:vertical;user-select:text;-webkit-user-select:text;outline:none}.review-form textarea:focus{border-color:#8b5cf6b3;box-shadow:0 0 0 3px #8b5cf633}.review-form-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}.review-counter{font-size:.75rem;color:#6b7394}.review-form-actions{display:flex;align-items:center;gap:12px}.review-form .review-save{min-height:44px;font-size:.92rem;padding:0 20px;border-radius:12px;background:linear-gradient(90deg,#8b5cf6,#22d3ee);box-shadow:0 6px 18px #8b5cf659}.gallery{flex:1;display:flex;flex-direction:column;min-height:0;padding:14px 18px 20px;max-width:430px;width:100%;margin:0 auto;gap:14px}.gallery-header{display:flex;align-items:flex-start;gap:12px}.gallery-back{width:42px;height:42px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;border:1px solid #2f3658;border-radius:14px;background:#14182c;color:#c5cae0;cursor:pointer}.gallery-heading{min-width:0;display:flex;flex-direction:column;gap:4px}.gallery-title{font-family:var(--font-display);font-size:1.85rem;font-weight:800;letter-spacing:-.03em;color:#fff;line-height:1.1}.gallery-sub{color:#8b93b5;font-size:.9rem;line-height:1.35}.gallery-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;border-radius:16px;background:#12162a;border:1px solid #2a3150}.gallery-tab{min-height:44px;border:none;border-radius:12px;background:transparent;color:#9aa3c7;font-family:var(--font-body);font-weight:700;font-size:.88rem;cursor:pointer}.gallery-tab.is-active{background:linear-gradient(90deg,#8b5cf6,#22d3ee);color:#080b16;box-shadow:0 6px 18px #8b5cf659}.gallery-progress{display:flex;align-items:center;gap:12px}.gallery-progress-track{position:relative;flex:1;height:8px;border-radius:999px;background:#1a2038;border:1px solid #2a3150;overflow:visible}.gallery-progress-bar{height:100%;border-radius:inherit;background:linear-gradient(90deg,#8b5cf6,#22d3ee);box-shadow:0 0 12px #22d3ee73;transition:width .7s var(--ease-out)}.gallery-progress-spark{position:absolute;right:-2px;top:50%;width:10px;height:10px;margin-top:-5px;border-radius:50%;background:#67e8f9;box-shadow:0 0 10px #22d3ee,0 0 18px #22d3eeb3}.gallery-progress-label{flex-shrink:0;font-size:.82rem;font-weight:700;color:#c5cae0;white-space:nowrap}.gallery-grid{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px;overflow-y:auto;padding-bottom:8px}.gallery-grid li{animation:pop-in var(--t-med) var(--ease-out) both;animation-delay:calc(var(--i, 0) * 30ms)}.gallery-tile{position:relative;display:block;width:100%;aspect-ratio:3 / 4;padding:0;border:1.5px solid #2a3150;border-radius:20px;overflow:hidden;background:#12162a;cursor:pointer}.gallery-tile.locked{border-color:#a855f7a6;box-shadow:0 0 0 1px #8b5cf626,0 0 24px #8b5cf62e}.gallery-tile.revealed{border-color:#2dd4bf66}.gallery-tile img{width:100%;height:100%;object-fit:cover;display:block}.gallery-tile.locked img{filter:blur(16px) brightness(.45) saturate(1.1);transform:scale(1.12)}.gallery-veil{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:16px 10px 14px;background:#080b1c47}.gallery-lock-wrap{position:relative;width:72px;height:72px;display:flex;align-items:center;justify-content:center}.gallery-lock-ring{position:absolute;border-radius:50%;border:1.5px solid rgba(192,132,252,.55);box-shadow:0 0 16px #a855f759}.gallery-lock-ring--outer{inset:0;background:#581c8740}.gallery-lock-ring--inner{inset:12px;border-color:#d8b4feb3;background:#4c1d9559}.gallery-lock-glyph{position:relative;z-index:1;color:#e9d5ff;display:flex;filter:drop-shadow(0 0 8px rgba(192,132,252,.8))}.gallery-lock-spark{position:absolute;width:4px;height:4px;border-radius:50%;background:#d8b4fe;box-shadow:0 0 6px #c084fc}.gallery-lock-spark.s1{top:6px;right:10px}.gallery-lock-spark.s2{bottom:14px;left:4px;width:3px;height:3px}.gallery-lock-spark.s3{top:22px;left:2px;width:3px;height:3px;opacity:.7}.gallery-tile-name{font-family:var(--font-display);font-size:.95rem;font-weight:700;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.55)}.gallery-locked-pill{display:inline-flex;align-items:center;gap:6px;margin-top:2px;padding:6px 12px;border-radius:999px;border:1px solid rgba(168,85,247,.45);background:#4c1d9573;color:#e9d5ff;font-size:.72rem;font-weight:700;letter-spacing:.02em}.gallery-caption{position:absolute;left:0;right:0;bottom:0;padding:12px 8px 10px;background:linear-gradient(transparent,#080b16eb);text-align:center;font-size:.8rem;font-weight:600;color:#fff}.gallery-check{position:absolute;top:8px;right:8px;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#34d399;color:#080b16;font-weight:800;font-size:.85rem}.gallery-msg{grid-column:1 / -1;text-align:center;color:#8b93b5;padding:36px 12px;display:flex;flex-direction:column;align-items:center;gap:12px}.gallery-error{color:var(--danger)}.gallery-viewer{position:fixed;inset:0;z-index:50;display:flex;align-items:flex-end;justify-content:center;background:#080b16c7;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:fade-in .2s ease both}.gallery-sheet{display:flex;flex-direction:column;width:100%;max-width:480px;max-height:92dvh;background:radial-gradient(ellipse 100% 40% at 50% 0%,rgba(139,92,246,.16),transparent 55%),#12162a;border:1px solid rgba(139,92,246,.35);border-bottom:none;border-radius:24px 24px 0 0;overflow:hidden;box-shadow:0 -12px 48px #00000073;animation:sheet-up .34s var(--ease-snap) both}@keyframes sheet-up{0%{opacity:0;transform:translateY(48px)}to{opacity:1;transform:translateY(0)}}.gallery-sheet-media{position:relative;flex-shrink:0;background:#000}.gallery-sheet-media:after{content:"";position:absolute;left:0;right:0;bottom:0;height:48px;background:linear-gradient(transparent,#12162a);pointer-events:none}.gallery-sheet-media img,.gallery-sheet-media video{display:block;width:100%;max-height:46dvh;object-fit:contain}.gallery-sheet-media img.is-blurred{filter:blur(18px) brightness(.5);transform:scale(1.06)}.gallery-sheet-close{position:absolute;top:12px;right:12px;z-index:2;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid rgba(61,69,112,.9);background:#080b16b8;color:#fff;font-size:.95rem;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.gallery-sheet-body{display:flex;flex-direction:column;gap:16px;padding:8px 18px calc(22px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}.gallery-sheet-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.gallery-sheet-title h2{font-family:var(--font-display);font-size:1.25rem;font-weight:800;letter-spacing:-.02em;color:#fff}.gallery-sheet-status{flex-shrink:0;padding:5px 12px;border-radius:999px;font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.gallery-sheet-status.revealed{color:#5eead4;background:#2dd4bf24;border:1px solid rgba(45,212,191,.4)}.gallery-sheet-status.locked{color:#8b93b5;background:#1a2038;border:1px solid #2a3150}.gallery-sheet-hint{color:#8b93b5;font-size:.9rem}.gallery-source-cta{display:flex;align-items:center;gap:12px;width:100%;min-height:64px;padding:12px 14px;border-radius:16px;border:1.5px solid rgba(168,85,247,.55);background:radial-gradient(ellipse 80% 120% at 0% 50%,rgba(139,92,246,.2),transparent 55%),#0a0c1ca6;text-decoration:none;color:#eef0ff;box-shadow:0 8px 22px #00000040}.gallery-source-cta:active{transform:scale(.985);border-color:#a78bfacc}.gallery-source-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:12px;flex-shrink:0;font-size:1.1rem;font-weight:700;color:#e9d5ff;background:linear-gradient(145deg,#8b5cf68c,#4c1d9573)}.gallery-source-text{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.gallery-source-text strong{font-family:var(--font-display);font-size:1rem;font-weight:700}.gallery-source-text small{font-size:.8rem;color:#8b93b5}.gallery-source-chevron{font-size:1.4rem;color:#8b93b5;line-height:1}.gallery-type-filters{display:flex;gap:8px}.gallery-type-chip{min-height:34px;padding:0 12px;border:1px solid #2a3150;border-radius:999px;background:#12162a;color:#9aa3c7;font-weight:600;font-size:.78rem;cursor:pointer}.gallery-type-chip.is-active{border-color:#2dd4bf8c;color:#2dd4bf;background:#2dd4bf1a}.gallery-type-badge{position:absolute;top:8px;left:8px;z-index:2;min-width:26px;padding:3px 8px;border-radius:999px;background:#080b16bf;border:1px solid #3d4570;color:#2dd4bf;font-size:.66rem;font-weight:800;letter-spacing:.05em;text-align:center}.gallery-type-badge.video{color:#f472b6}@media(prefers-reduced-motion:reduce){.gallery-grid li{animation:none}}.tutorial{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:20px 18px calc(20px + env(safe-area-inset-bottom));background:#080b16d1;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:fade-in .25s ease both}.tutorial-card{position:relative;width:100%;max-width:400px;padding:22px 20px 20px;border-radius:24px;border:1px solid rgba(139,92,246,.5);background:radial-gradient(ellipse 100% 70% at 50% -10%,rgba(139,92,246,.32),transparent 55%),radial-gradient(ellipse 70% 40% at 90% 100%,rgba(45,212,191,.1),transparent 50%),#151a2e;box-shadow:0 0 40px #8b5cf633,0 20px 48px #00000073;text-align:center;animation:rise-in .34s var(--ease-out) both}.tutorial-card:before{content:"";position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,#c4b5fd,#5eead4,transparent)}.tutorial-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.tutorial-eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#2dd4bf}.tutorial-skip{border:none;background:transparent;color:#8b93b5;font-size:.88rem;font-weight:600;cursor:pointer;padding:6px 4px}.tutorial-mark{width:72px;height:72px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:1.8rem;color:#e9d5ff;background:linear-gradient(145deg,#8b5cf673,#2dd4bf33);border:1px solid rgba(167,139,250,.45);box-shadow:0 8px 24px #8b5cf64d}.tutorial-title{font-family:var(--font-display);font-size:1.45rem;font-weight:800;letter-spacing:-.02em;color:#fff;margin-bottom:10px}.tutorial-body{color:#b6bdd8;font-size:.98rem;line-height:1.5;margin:0 auto 22px;max-width:32ch}.tutorial-dots{display:flex;justify-content:center;gap:8px;margin-bottom:20px}.tutorial-dot{width:8px;height:8px;border-radius:50%;background:#2a3150}.tutorial-dot.is-active{width:22px;border-radius:999px;background:linear-gradient(90deg,#8b5cf6,#22d3ee)}.tutorial-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.tutorial-btn{min-height:48px;padding:0 20px;border-radius:14px;font-family:var(--font-display);font-weight:700;font-size:.95rem;cursor:pointer}.tutorial-btn.ghost{border:1px solid #3d4570;background:transparent;color:#c5cae0}.tutorial-btn.primary{border:none;margin-left:auto;min-width:140px;color:#080b16;background:linear-gradient(90deg,#8b5cf6,#22d3ee);box-shadow:0 8px 22px #8b5cf659}.tutorial-step{margin-top:14px;font-size:.75rem;font-weight:600;color:#6b7394}.profile{flex:1;display:flex;flex-direction:column;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:14px 18px 28px;max-width:430px;width:100%;margin:0 auto;gap:18px}.profile-header{display:flex;align-items:flex-start;gap:12px}.profile-back{width:42px;height:42px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;border:1px solid #2f3658;border-radius:14px;background:#14182c;color:#c5cae0;cursor:pointer}.profile-heading{min-width:0;display:flex;flex-direction:column;gap:4px}.profile-title{font-family:var(--font-display);font-size:1.85rem;font-weight:800;letter-spacing:-.03em;color:#fff;line-height:1.1}.profile-sub{color:#8b93b5;font-size:.9rem;line-height:1.35}.profile-card{position:relative;overflow:hidden;display:flex;align-items:center;gap:14px;min-height:112px;padding:20px 16px 20px 18px;border-radius:24px;border:1px solid rgba(167,139,250,.55);background:linear-gradient(135deg,rgba(124,58,237,.22),transparent 42%),linear-gradient(320deg,rgba(45,212,191,.12),transparent 40%),#12162a;box-shadow:0 0 0 1px #ffffff08 inset,0 0 48px #8b5cf633,0 18px 36px #0006}.profile-card:before{content:"";position:absolute;top:0;left:8%;right:8%;height:1px;background:linear-gradient(90deg,transparent,#c4b5fd,#5eead4,transparent);z-index:1}.profile-card-glow{position:absolute;width:140px;height:140px;left:-28px;top:50%;translate:0 -50%;border-radius:50%;background:radial-gradient(circle,rgba(167,139,250,.35),transparent 68%);pointer-events:none}.profile-avatar{position:relative;z-index:1;overflow:hidden;width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:2px solid rgba(255,255,255,.55);background:linear-gradient(145deg,#7dd3fc,#a78bfa 48%,#c084fc);box-shadow:0 0 0 4px #8b5cf638,0 10px 24px #8b5cf666}.profile-avatar span{position:relative;z-index:1;font-family:var(--font-display);font-weight:800;font-size:1.65rem;line-height:1;color:#0a0c18}.profile-avatar:after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(255,255,255,.45),transparent 46%)}.profile-meta{position:relative;z-index:1;flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.profile-eyebrow{font-family:var(--font-display);font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#5eead4}.profile-name{margin:0;font-family:var(--font-display);font-weight:800;font-size:1.45rem;letter-spacing:-.03em;line-height:1.15;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-email{margin:2px 0 0;font-size:.82rem;color:#9aa3c7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-badge-tally{position:relative;z-index:1;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:64px;padding:10px 8px;border-radius:16px;border:1px solid rgba(251,191,36,.4);background:radial-gradient(circle at 50% 0%,rgba(251,191,36,.22),transparent 70%),#14100aa6;box-shadow:0 0 18px #fbbf241f}.profile-badge-tally strong{font-family:var(--font-display);font-size:1.15rem;font-weight:800;line-height:1;color:#fde68a}.profile-badge-tally strong span{font-size:.78rem;font-weight:700;color:#fde68ab3}.profile-badge-tally small{margin-top:4px;font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#a8924a}.profile-badges{display:flex;flex-direction:column;gap:12px}.profile-section-head h2{font-family:var(--font-display);font-size:1.15rem;font-weight:800;letter-spacing:-.02em;color:#fff}.profile-section-head p{margin-top:2px;font-size:.84rem;color:#8b93b5}.profile-badge-grid{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.profile-badge-chip{position:relative;width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:18px;border:1px solid #2a3150;background:linear-gradient(180deg,#161a2ef2,#0e1120f2);color:#6b7394;cursor:pointer;opacity:.55;animation:rise-in var(--t-med) var(--ease-out) both;animation-delay:calc(var(--i, 0) * 40ms);transition:border-color .18s ease,opacity .18s ease,transform .18s ease,box-shadow .18s ease}.profile-badge-chip:active{transform:scale(.94)}.profile-badge-chip.is-earned{opacity:1;color:#fde68a;border-color:#fbbf2473;background:radial-gradient(circle at 30% 20%,rgba(251,191,36,.22),transparent 55%),linear-gradient(180deg,#241c12f2,#12162af2);box-shadow:0 0 18px #fbbf2424}.profile-badge-chip.is-active{opacity:1;border-color:#2dd4bfa6;box-shadow:0 0 0 1px #2dd4bf59,0 8px 22px #00000047}.profile-badge-glyph{position:relative;overflow:hidden;width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid currentColor;font-family:var(--font-display);font-weight:800;font-size:.95rem;background:#00000040}.profile-badge-chip.is-earned .profile-badge-glyph:after{content:"";position:absolute;top:0;bottom:0;left:0;width:55%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);animation:conquest-sweep 4.2s var(--ease-out) infinite}.profile-badge-detail{display:flex;align-items:center;gap:14px;min-height:78px;padding:14px 16px;border-radius:18px;border:1px solid #2a3150;background:linear-gradient(180deg,#1a1f38f2,#12162af2)}.profile-badge-detail.is-earned{border-color:#fbbf2466;background:radial-gradient(circle at 0% 50%,rgba(251,191,36,.14),transparent 60%),linear-gradient(180deg,#201c16f2,#12162af2)}.profile-badge-detail-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;border:1px solid #3d4570;background:#12162a;font-family:var(--font-display);font-weight:800;font-size:1.05rem;color:#8b93b5}.profile-badge-detail.is-earned .profile-badge-detail-icon{color:#fde68a;border-color:#fbbf248c;background:#fbbf241f;box-shadow:0 0 14px #fbbf242e}.profile-badge-detail-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.profile-badge-detail-text strong{font-family:var(--font-display);font-size:1.02rem;font-weight:700;color:#fff}.profile-badge-detail-text small{color:#8b93b5;font-size:.84rem;line-height:1.35}.profile-badge-detail-state{flex-shrink:0;font-size:.75rem;font-weight:600;color:#6b7394}.profile-badge-detail.is-earned .profile-badge-detail-state{color:#fde68a}.profile-badges-msg{text-align:center;color:#8b93b5;padding:20px 12px;display:flex;flex-direction:column;align-items:center;gap:10px}.profile-badges-error{color:#f87171}.profile-actions{display:flex;flex-direction:column;gap:10px}.profile-row{display:flex;align-items:center;gap:14px;width:100%;min-height:74px;padding:14px 16px;border:1px solid #2a3150;border-radius:18px;background:linear-gradient(180deg,#1a1f38f2,#12162af2);color:#eef0ff;cursor:pointer;text-align:left;box-shadow:0 8px 24px #00000038}.profile-row:active{transform:scale(.985);border-color:#3d4570}.profile-row:active .profile-row-chevron{transform:translate(3px);color:#2dd4bf}.profile-row-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:14px;flex-shrink:0}.profile-row-icon.tutorial{color:#a5f3fc;background:linear-gradient(145deg,#22d3ee66,#8b5cf659);box-shadow:0 6px 16px #22d3ee33}.profile-row-icon.sub{color:#e9d5ff;background:linear-gradient(145deg,#8b5cf68c,#4c1d9573);box-shadow:0 6px 16px #8b5cf640}.profile-row-icon.levels{color:#e9d5ff;background:linear-gradient(145deg,#7c3aed,#5b21b6);box-shadow:0 6px 16px #7c3aed59}.profile-row-icon.admin{color:#fde68a;background:linear-gradient(145deg,#fbbf2459,#b4530959)}.profile-row-icon.logout{color:#c5cae0;background:linear-gradient(145deg,#6b729459,#2a31508c);box-shadow:none}.profile-row-icon.delete{color:#fecaca;background:linear-gradient(145deg,#dc262666,#7f1d1d73);box-shadow:0 6px 16px #dc262633}.profile-row-text{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.profile-row-text strong{font-family:var(--font-display);font-size:1.05rem;font-weight:700;color:#fff}.profile-row-text small{color:#8b93b5;font-size:.84rem}.profile-row-chevron{font-size:1.5rem;color:#6b7394;line-height:1;transition:transform .18s ease,color .18s ease}.profile-danger-zone{margin-top:8px;padding:16px 8px 4px;border-top:1px solid rgba(42,49,80,.85);text-align:center}.profile-delete-link{display:inline;padding:0;border:none;background:none;color:#94a3b8;font-family:var(--font-body);font-size:.88rem;font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#94a3b873;cursor:pointer}.profile-delete-link:hover,.profile-delete-link:focus-visible{color:#f87171;text-decoration-color:#f871718c}.profile-danger-hint{margin:8px 0 0;font-size:.75rem;line-height:1.35;color:#6b7394}.profile-delete-overlay{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:20px;background:#060810d1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.profile-delete-card{width:100%;max-width:400px;display:flex;flex-direction:column;gap:12px;padding:22px 18px;border-radius:22px;border:1px solid rgba(248,113,113,.45);background:#151a2e;box-shadow:0 20px 50px #00000080}.profile-delete-card h2{font-family:var(--font-display);font-size:1.25rem;font-weight:800;color:#fff}.profile-delete-card p{font-size:.9rem;line-height:1.45;color:#c5cae0}.profile-delete-card a{color:#5eead4;font-weight:700}.profile-delete-field{display:flex;flex-direction:column;gap:8px;text-align:left;font-size:.85rem;color:#8b93b5}.profile-delete-field input{min-height:48px;padding:0 14px;border-radius:12px;border:1px solid #2a3150;background:#0c101f;color:#fff;font:inherit;font-size:1rem}.profile-delete-error{color:#f87171!important;font-size:.88rem!important}.profile-delete-actions{display:flex;gap:10px;margin-top:4px}.profile-delete-cancel,.profile-delete-confirm{flex:1;min-height:48px;border-radius:14px;font:inherit;font-weight:700;cursor:pointer}.profile-delete-cancel{border:1px solid #2a3150;background:transparent;color:#c5cae0}.profile-delete-confirm{border:none;background:linear-gradient(135deg,#ef4444,#b91c1c);color:#fff}.profile-delete-confirm:disabled{opacity:.4;cursor:default}@media(prefers-reduced-motion:reduce){.profile-badge-chip,.profile-badge-chip.is-earned .profile-badge-glyph:after{animation:none}}.badges{flex:1;display:flex;flex-direction:column;min-height:0;overflow-y:auto;padding:16px 20px 24px;max-width:480px;width:100%;margin:0 auto;gap:14px}.badges-count{font-family:var(--font-display);font-weight:700;font-size:.95rem;color:var(--accent-2)}.badges-list{list-style:none;display:flex;flex-direction:column;gap:10px}.badge-row{display:flex;align-items:center;gap:14px;min-height:72px;padding:12px 16px;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--bg-panel);opacity:.55;animation:rise-in var(--t-med) var(--ease-out) both;animation-delay:calc(var(--i, 0) * 45ms)}.badge-row.is-earned{opacity:1;border-color:#fbbf2466;background:radial-gradient(circle at 0% 50%,rgba(251,191,36,.12),transparent 60%),var(--bg-card)}.badge-icon{width:46px;height:46px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;border:1px solid var(--line-strong);background:var(--bg-elevated);font-family:var(--font-display);font-weight:800;font-size:1rem;color:var(--text-muted)}.badge-row.is-earned .badge-icon{position:relative;overflow:hidden;border-color:#fbbf248c;color:var(--gold);background:#fbbf241f;box-shadow:0 0 14px #fbbf242e}.badge-row.is-earned .badge-icon:after{content:"";position:absolute;top:0;bottom:0;left:0;width:55%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);animation:conquest-sweep 4.2s var(--ease-out) infinite;animation-delay:calc(var(--i, 0) * .32s)}.badge-text{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.badge-text strong{font-family:var(--font-display);font-size:1rem;font-weight:700}.badge-text small{color:var(--text-muted);font-size:.83rem;line-height:1.35}.badge-state{flex-shrink:0;font-size:.75rem;font-weight:600;color:var(--text-dim)}.badge-row.is-earned .badge-state{color:var(--gold)}.badges-msg{text-align:center;color:var(--text-muted);padding:40px 12px;display:flex;flex-direction:column;align-items:center;gap:12px}.badges-error{color:var(--danger)}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:repeat(4,1fr);height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding:8px 6px calc(8px + env(safe-area-inset-bottom));background:#0c0f1ceb;border-top:1px solid var(--line);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.bottom-nav-item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:56px;border-radius:var(--radius-sm);color:var(--text-dim);text-decoration:none;font-size:.72rem;font-weight:600;letter-spacing:.02em;transition:color var(--t-fast) ease,background var(--t-fast) ease,transform var(--t-fast) var(--ease-out)}.bottom-nav-item:active{transform:scale(.92)}.bottom-nav-item svg{transition:transform var(--t-fast) var(--ease-snap)}.bottom-nav-item.is-active{color:var(--accent-2);background:#2dd4bf14}.bottom-nav-item.is-active svg{transform:translateY(-1px) scale(1.1)}.bottom-nav-item:after{content:"";position:absolute;bottom:5px;width:4px;height:4px;border-radius:50%;background:var(--accent-2);opacity:0;transform:scale(.4);transition:opacity var(--t-fast) ease,transform var(--t-fast) var(--ease-snap)}.bottom-nav-item.is-active:after{opacity:1;transform:scale(1)}.bottom-nav-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.install-banner{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"icon text" "actions actions";align-items:center;gap:12px 14px;padding:14px 16px;border-radius:20px;border:1px solid rgba(139,92,246,.45);background:#161b32;box-shadow:0 8px 24px #0000004d;margin:0}.install-banner-icon{grid-area:icon;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:14px;color:#c4b5fd;background:linear-gradient(145deg,#8b5cf673,#2dd4bf33)}.install-banner p{grid-area:text;margin:0;font-size:.9rem;line-height:1.35;color:#eef0ff;text-align:left;font-weight:600}.install-banner-actions{grid-area:actions;display:flex;gap:10px}.install-banner-actions button{flex:1;min-height:46px;border-radius:12px;font-weight:700;font-size:.92rem;cursor:pointer;font-family:var(--font-body)}.install-banner-dismiss{border:1px solid #3d4570;background:transparent;color:#9aa3c7}.install-banner-accept{border:none;background:linear-gradient(90deg,#8b5cf6,#22d3ee);color:#080b16}.home{flex:1;display:flex;flex-direction:column;min-height:0;overflow-y:auto;padding:16px 18px 24px;max-width:430px;width:100%;margin:0 auto;gap:16px}.home-guest{justify-content:center;gap:clamp(40px,9vh,90px);padding-bottom:6vh}.home-hero{text-align:center}.home-eyebrow{font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-2);margin-bottom:10px}.home-tagline{color:#a8b0d4;font-size:.98rem;line-height:1.45}.home-cta-stack{display:flex;flex-direction:column;gap:12px;width:100%;align-items:stretch}.home-cta{width:100%}.home-hint{margin-top:4px;text-align:center;font-size:.88rem;color:var(--text-dim);line-height:1.4}.home-muted{text-align:center;color:var(--text-muted);margin:auto}.home-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0}.home-identity{display:flex;align-items:center;gap:12px;min-width:0}.home-avatar{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:800;font-size:1.15rem;color:#0a0c18;background:linear-gradient(135deg,#7dd3fc,#a78bfa 55%,#c084fc);flex-shrink:0;box-shadow:0 4px 16px #a78bfa59}.home-hello{font-size:1.05rem;color:#c5cae0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-hello strong{font-family:var(--font-display);font-weight:700;color:#fff}.home-icon-btn{width:46px;height:46px;display:flex;align-items:center;justify-content:center;border:1px solid #2f3658;border-radius:14px;background:#14182c;color:#9aa3c7;cursor:pointer;flex-shrink:0}.home-hero-card{position:relative;flex-shrink:0;overflow:hidden;text-align:center;padding:28px 20px 24px;border-radius:28px;border:1px solid rgba(139,92,246,.55);background:radial-gradient(ellipse 120% 70% at 50% -20%,rgba(168,85,247,.38),transparent 55%),radial-gradient(ellipse 90% 40% at 50% 45%,rgba(255,255,255,.06),transparent 50%),linear-gradient(180deg,#1a1040,#12162e 45%,#0e1224);box-shadow:0 0 40px #8b5cf638,0 16px 40px #00000073}.home-hero-card:before,.home-hero-card:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.home-hero-card:before{top:18%;left:12%;width:4px;height:4px;background:#fff;box-shadow:40px 30px #ffffff8c,180px 8px 0 1px #ffffff59,220px 55px #ffffff73,70px 90px #ffffff4d,260px 100px #fff6}.home-hero-card:after{top:0;left:8%;right:8%;height:1px;border-radius:0;background:linear-gradient(90deg,transparent,#c4b5fd,#5eead4,transparent)}.home-hero-card .brand-logo{position:relative;z-index:1;margin:0 auto 10px}.home-hero-card .home-tagline{position:relative;z-index:1;margin:0 auto 18px;max-width:30ch;font-size:.95rem;color:#b6bdd8}.home-meta{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px;margin-bottom:20px}.home-meta-item{display:inline-flex;align-items:center;gap:6px;color:#9aa3c7;font-size:.82rem;font-weight:600}.home-meta-item svg{color:#7dd3fc}.home-meta-count{color:#e8ecff;font-variant-numeric:tabular-nums}.home-meta-free{color:#2dd4bf}.home-play{position:relative;z-index:1;width:100%;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;border-radius:16px;font-size:1.1rem;letter-spacing:.02em;background:linear-gradient(90deg,#8b5cf6,#22d3ee);box-shadow:0 10px 28px #8b5cf666}.home-pass-cta{position:relative;z-index:1;width:100%;margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:56px;padding:10px 16px;border-radius:14px;border:1.5px solid rgba(168,85,247,.65);background:#0a0c1c8c;color:#eef0ff;font-family:var(--font-body);font-size:.95rem;font-weight:600;cursor:pointer;box-sizing:border-box}.home-pass-copy{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;text-align:left}.home-pass-sub{display:block;font-size:.75rem;font-weight:500;color:var(--text-muted);line-height:1.2}.home-pass-left{display:inline-flex;align-items:center;gap:10px;min-width:0}.home-pass-left svg{color:#e879f9}.home-pass-chevron{font-size:1.4rem;color:#8b93b5;line-height:1}.home-teaser{position:relative;z-index:1;margin:12px 0 0;padding:10px 12px;border-radius:12px;border:1px solid rgba(167,139,250,.35);background:#8b5cf61f;font-size:.86rem;color:#c4b5fd;text-align:center}.home-teaser strong{color:#ede9fe}.home-menu{display:flex;flex-direction:column;gap:10px;flex-shrink:0}.home-menu-item{display:flex;align-items:center;gap:14px;width:100%;min-height:76px;padding:14px 16px;text-align:left;border:1px solid #2a3150;border-radius:20px;background:#161b32;color:var(--text);cursor:pointer}.home-menu-item:active{background:#1a203a}.home-menu-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:14px;flex-shrink:0}.home-menu-icon.levels{color:#ede9fe;background:linear-gradient(145deg,#7c3aed,#5b21b6);box-shadow:0 6px 18px #7c3aed59}.home-menu-icon.gallery{color:#ecfeff;background:linear-gradient(145deg,#14b8a6,#0f766e);box-shadow:0 6px 18px #14b8a64d}.home-menu-icon.admin{color:#fef3c7;background:linear-gradient(145deg,#f59e0b,#b45309)}.home-menu-text{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.home-menu-text strong{font-family:var(--font-display);font-size:1.08rem;font-weight:700;color:#fff}.home-menu-text small{color:#8b93b5;font-size:.84rem}.home-menu-chevron{font-size:1.55rem;color:#6b7394;line-height:1}.admin{box-sizing:border-box;flex:1;min-height:0;width:100%;max-width:520px;margin:0 auto;padding:12px 16px 28px;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:var(--bg-void)}.admin *,.admin *:before,.admin *:after{box-sizing:border-box}.admin-header{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:8px;margin:-12px -16px 16px;padding:12px 16px;background:#080b16eb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.admin-header h1{font-family:var(--font-display);font-size:clamp(1.05rem,4.2vw,1.25rem);letter-spacing:-.02em;text-align:center;flex:1;min-width:0;margin:0;line-height:1.2}.admin-back,.admin-add,.admin-spacer{width:44px;height:44px;flex-shrink:0}.admin-back,.admin-add{display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:12px;color:var(--text-muted);text-decoration:none;background:var(--bg-panel);font-size:1.25rem;cursor:pointer}.admin-add{color:var(--accent);font-weight:700}.admin-list{list-style:none;display:flex;flex-direction:column;gap:10px}.admin-row{display:flex;gap:8px;align-items:stretch}.admin-row-main{flex:1;min-width:0;display:flex;align-items:center;gap:12px;text-align:left;padding:14px 16px;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--bg-panel);color:var(--text);cursor:pointer}.admin-order{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:12px;font-family:var(--font-display);font-weight:700;background:#8b5cf633;color:var(--accent);flex-shrink:0}.admin-row-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.admin-row-meta span{font-size:.8rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-row-del{width:48px;flex-shrink:0;border:1px solid rgba(248,113,113,.35);border-radius:12px;background:transparent;color:var(--danger);cursor:pointer}.admin-form{display:flex;flex-direction:column;gap:14px;width:100%;max-width:100%;min-width:0;padding-bottom:12px}.admin-field{display:flex;flex-direction:column;gap:6px;text-align:left;min-width:0;max-width:100%}.admin-field span{font-size:.85rem;color:var(--text-muted);font-weight:600}.admin-field input[type=text],.admin-field input[type=number],.admin-field input[type=url],.admin-field input:not([type]){width:100%;min-height:48px;padding:0 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-panel);color:var(--text);font-size:16px;outline:none;user-select:text;-webkit-user-select:text}.admin-field input[type=file]{font-size:.85rem;color:var(--text-muted)}.admin-row-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:stretch;width:100%}.admin-check{display:flex;align-items:center;gap:10px;min-height:48px;font-size:.95rem;color:var(--text)}.admin-check input{width:20px;height:20px}.admin-fieldset{border:1px solid var(--line);border-radius:var(--radius-md);padding:14px;display:flex;flex-direction:column;gap:12px;background:var(--bg-card);min-width:0;max-width:100%;width:100%}.admin-fieldset legend{padding:0 6px;font-size:.85rem;font-weight:700;color:var(--accent)}.admin-hint{font-size:.8rem;color:var(--text-dim)}.admin-save{min-height:56px;border:none;border-radius:var(--radius-md);font-family:var(--font-display);font-size:1.05rem;font-weight:700;color:#080b16;background:var(--grad-cta);cursor:pointer}.admin-save:disabled{opacity:.45;cursor:default}.admin-msg{text-align:center;color:var(--text-muted);padding:32px 12px}.admin-error{color:var(--danger);font-size:.9rem;text-align:center}.admin-ok{color:var(--ok);font-size:.9rem;text-align:center}.admin-toolbar{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.admin-link{align-self:flex-start;text-decoration:none;padding:8px 14px}.admin-season-select{margin:0}.admin-form-title{font-family:var(--font-display);font-size:1rem;margin-bottom:4px}.admin-grant{margin-top:28px;padding-top:20px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:12px}.admin-field select{width:100%;min-height:48px;padding:0 12px;border-radius:10px;border:1px solid var(--line);background:var(--bg-elevated);color:var(--text);font-size:16px}.admin-form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:4px}.admin-pill{margin-left:8px;padding:2px 8px;border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#8b93b5;background:#1a2038;border:1px solid #2a3150;vertical-align:middle}.admin-row-actions{display:flex;gap:8px;flex-shrink:0}.admin-dash{gap:8px}.admin-window-toggle{display:flex;gap:8px;margin-bottom:16px}.admin-window-toggle button{flex:1;min-height:40px;border-radius:12px;border:1px solid var(--line);background:var(--bg-panel);color:var(--text-muted);font:inherit;font-weight:600;cursor:pointer}.admin-window-toggle button.is-active{color:var(--text);border-color:#8b5cf68c;background:linear-gradient(135deg,#8b5cf638,#22d3ee1f);box-shadow:0 0 18px #8b5cf62e}.admin-dash-section{margin-bottom:20px}.admin-dash-section h2{font-family:var(--font-display);font-size:.95rem;letter-spacing:-.02em;margin:0 0 10px;color:var(--text)}.admin-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.admin-stat-card{display:flex;flex-direction:column;gap:4px;padding:14px 14px 12px;border-radius:var(--radius-md);border:1px solid var(--line);background:linear-gradient(160deg,#8b5cf61f,#0f1220e6 55%,#22d3ee14);box-shadow:0 0 24px #8b5cf614}.admin-stat-label{font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.admin-stat-value{font-family:var(--font-display);font-size:1.35rem;font-weight:700;color:var(--text);line-height:1.1}.admin-stat-hint{font-size:.72rem;color:var(--text-dim)}.admin-quick-links{display:grid;grid-template-columns:1fr 1fr;gap:10px}.admin-quick-link{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--bg-panel);color:var(--accent);text-decoration:none;font-weight:700;font-size:.9rem}.admin-sub-row{padding:14px 16px;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--bg-panel)}.admin-sub-status{font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted)}.admin-sub-status--authorized{color:var(--ok)}.admin-sub-status--pending{color:var(--accent)}.admin-sub-status--paused{color:#fbbf24}.admin-sub-status--cancelled{color:var(--danger)}.admin-level-form{padding-bottom:32px}.admin-level-form .admin-form{overflow:visible}.admin-level-form .admin-fieldset,.admin-level-form .admin-advanced,.admin-level-form .admin-save{width:100%}.admin-level-form .admin-save{display:block;min-height:56px;margin-top:4px}.admin-check--card{min-height:48px;padding:0 12px;border-radius:12px;border:1px solid var(--line);background:var(--bg-panel);width:100%}.admin-check-sub{display:block;margin-top:2px;font-size:.75rem;font-weight:500;color:var(--text-muted, #8b93b5)}.admin-power-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}.admin-power-chip{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:76px;width:100%;padding:12px;border-radius:14px;border:1px solid #2a3150;background:#12162a;color:#8b93b5;text-align:left;cursor:pointer}.admin-power-chip span:first-child{font-size:1.25rem;line-height:1}.admin-power-chip strong{font-family:var(--font-display);font-size:.92rem;font-weight:700;color:inherit}.admin-power-chip small{font-size:.72rem;color:#6b7394}.admin-power-chip.is-on{color:#eef0ff;border-color:#a78bfa8c;background:#8b5cf629}.admin-power-chip.is-on small{color:#b7a6f0}.admin-advanced{width:100%;border-radius:14px;border:1px solid #2a3150;background:#12162a;padding:0 14px 12px}.admin-advanced summary{cursor:pointer;list-style:none;min-height:48px;display:flex;align-items:center;font-size:.88rem;font-weight:700;color:#8b93b5}.admin-advanced summary::-webkit-details-marker{display:none}.admin-advanced[open] summary{color:#c5cae0;margin-bottom:8px;border-bottom:1px solid #2a3150}.admin-level-form .admin-field input[type=file]{width:100%;max-width:100%;font-size:.85rem}.admin-save{width:100%}.admin-media-type{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%}.admin-media-chip{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:64px;width:100%;padding:10px 12px;border-radius:14px;border:1px solid #2a3150;background:#12162a;color:#8b93b5;text-align:left;cursor:pointer}.admin-media-chip strong{font-family:var(--font-display);font-size:.95rem;font-weight:700;color:inherit}.admin-media-chip small{font-size:.72rem;color:#6b7394}.admin-media-chip.is-on{color:#eef0ff;border-color:#a78bfa8c;background:#8b5cf629}.admin-media-chip.is-on small{color:#b7a6f0}.admin-media-preview{display:flex;flex-direction:column;gap:.55rem;margin:0 0 1rem;padding:.75rem;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#00000047}.admin-media-preview-main{position:relative;width:100%;aspect-ratio:3 / 4;max-height:320px;margin-inline:auto;overflow:hidden;border-radius:10px;background:linear-gradient(45deg,rgba(255,255,255,.06) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.06) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(255,255,255,.06) 75%),linear-gradient(-45deg,transparent 75%,rgba(255,255,255,.06) 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0;display:grid;place-items:center}.admin-media-preview-asset{width:100%;height:100%;object-fit:contain;display:block;background:#0b0f18}.admin-media-preview-empty{margin:0;padding:1rem;text-align:center;color:var(--text-muted);font-size:.85rem;line-height:1.35}.admin-media-preview-thumb{display:flex;align-items:center;gap:.65rem}.admin-media-preview-thumb span{font-size:.75rem;color:var(--text-muted);flex-shrink:0}.admin-media-preview-thumb img{width:56px;height:56px;object-fit:cover;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#0b0f18}.admin-media-preview-caption{margin:0;font-size:.75rem;color:var(--text-muted)}.admin-curve-btn{align-self:flex-start;padding:8px 14px}.admin-bulk-list{list-style:none;display:flex;flex-direction:column;gap:8px;max-height:340px;overflow-y:auto;-webkit-overflow-scrolling:touch}.admin-bulk-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:#14182c99}.admin-bulk-row .admin-row-meta{flex:1}.admin-bulk-row.is-working{border-color:#8b5cf699}.admin-bulk-row.is-done{border-color:#2dd4bf80}.admin-bulk-row.is-error{border-color:#f8717199}.admin-bulk-row.is-duplicate{border-color:#fbbf248c;opacity:.85}.admin-bulk-state{width:24px;text-align:center;font-weight:700;color:var(--text-muted)}.admin-bulk-row.is-done .admin-bulk-state{color:#2dd4bf}.admin-bulk-row.is-error .admin-bulk-state,.admin-bulk-row.is-duplicate .admin-bulk-state{color:#f87171}@media(max-width:480px){.admin-row-fields,.admin-power-grid,.admin-stat-grid,.admin-quick-links,.admin-media-type{grid-template-columns:1fr}}.pass{flex:1;display:flex;flex-direction:column;min-height:0;overflow-y:auto;padding:16px 20px 32px;max-width:480px;width:100%;margin:0 auto;gap:14px}.pass-ok{justify-content:center;text-align:center}.pass-back{align-self:flex-start;width:44px;height:44px;border:1px solid var(--line);border-radius:12px;background:var(--bg-panel);color:var(--text);font-size:1.2rem;cursor:pointer}.pass-eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-2)}.pass-title{font-family:var(--font-display);font-size:1.75rem;font-weight:800;line-height:1.15}.pass-lead{color:var(--text-muted);font-size:1rem;line-height:1.45}.pass-banner{padding:12px 14px;border-radius:var(--radius-sm);border:1px solid rgba(251,191,36,.35);background:#fbbf241a;color:var(--gold);font-size:.9rem}.pass-perks{list-style:none;display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--bg-card)}.pass-perks li{position:relative;padding-left:22px;color:var(--text);font-size:.95rem;line-height:1.35}.pass-perks a{color:var(--accent-2);font-weight:600}.pass-price-block{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 12px;margin-top:4px}.pass-price-list{font-size:1.1rem;color:var(--text-dim);text-decoration:line-through}.pass-price-now{font-family:var(--font-display);font-size:2rem;font-weight:800;background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent}.pass-offer-tag{font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:#fbbf2433;color:var(--gold)}.pass-cta{width:100%;margin-top:8px}.pass-fine{font-size:.8rem;color:var(--text-dim);line-height:1.4;text-align:center}.pass-link{text-align:center;color:var(--text-muted);font-size:.95rem;font-weight:600;text-decoration:none}.pass-error{color:var(--danger);font-size:.95rem}.pass-muted{color:var(--text-muted);text-align:center;padding:24px 0}.my-seasons-list{list-style:none;display:flex;flex-direction:column;gap:12px}.my-season-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--bg-panel)}.my-season-card.owned{border-color:#2dd4bf66}.my-season-card strong{display:block;font-family:var(--font-display);font-size:1.05rem}.my-season-slug{display:block;margin-top:2px;font-size:.8rem;color:var(--text-dim)}.my-season-meta{display:block;margin-top:6px;font-size:.85rem;color:var(--text-muted)}.my-season-badge{flex-shrink:0;font-size:.8rem;font-weight:700;color:var(--accent-2)}.my-season-buy{flex-shrink:0;padding:8px 12px;text-decoration:none;font-size:.85rem}.membership-card{display:flex;flex-direction:column;gap:12px;padding:18px;border-radius:var(--radius-md);border:1px solid var(--line);background:var(--bg-panel)}.membership-card.is-active{border-color:#2dd4bf73}.membership-card.is-empty{border-color:#f8717159}.membership-card-head strong{display:block;font-family:var(--font-display);font-size:1.15rem}.membership-meta{display:block;margin-top:6px;font-size:.88rem;color:var(--text-muted);line-height:1.4}.membership-perks{list-style:none;display:flex;flex-direction:column;gap:8px;margin:0;padding:0}.membership-perks li{position:relative;padding-left:18px;font-size:.9rem;color:var(--text-muted);line-height:1.35}.membership-perks li:before{content:"·";position:absolute;left:4px;color:var(--accent-2);font-weight:700}.membership-hearts-row{font-size:1.35rem;letter-spacing:.12em;color:var(--accent-hot);line-height:1}.membership-actions{display:flex;flex-direction:column;gap:10px;margin-top:4px}.membership-btn{width:100%;text-align:center;text-decoration:none}.membership-link{margin-top:0}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg-void: #080b16;--bg-panel: #12162a;--bg-elevated: #1a1f38;--bg-card: #151a2e;--line: #2a3152;--line-strong: #3d4570;--text: #eef0ff;--text-muted: #9aa3c7;--text-dim: #6b7394;--accent: #8b5cf6;--accent-2: #2dd4bf;--accent-hot: #f472b6;--gold: #fbbf24;--danger: #f87171;--ok: #34d399;--grad-cta: linear-gradient(135deg, #8b5cf6 0%, #2dd4bf 100%);--grad-brand: linear-gradient(120deg, #a78bfa 0%, #2dd4bf 55%, #67e8f9 100%);--shadow-card: 0 12px 40px rgba(0, 0, 0, .35);--radius-sm: 12px;--radius-md: 16px;--radius-lg: 22px;--touch: 52px;--nav-h: 72px;--font-display: "Sora", system-ui, sans-serif;--font-body: "DM Sans", system-ui, sans-serif;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-snap: cubic-bezier(.34, 1.4, .64, 1);--t-fast: .18s;--t-med: .34s}@keyframes rise-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pop-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes conquest-sweep{0%{transform:translate(-160%) skew(-18deg)}55%,to{transform:translate(220%) skew(-18deg)}}@keyframes glow-breathe{0%,to{box-shadow:0 8px 28px #8b5cf659}50%{box-shadow:0 8px 34px #2dd4bf6b}}html{-webkit-text-size-adjust:100%}html,body{overscroll-behavior:none}body{height:100dvh;min-height:100dvh;background:var(--bg-void);color:var(--text);font-family:var(--font-body);touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}body:before{content:"";position:fixed;inset:0;z-index:-2;background:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(139,92,246,.28),transparent 55%),radial-gradient(ellipse 60% 40% at 100% 80%,rgba(45,212,191,.12),transparent 50%),radial-gradient(ellipse 50% 35% at 0% 60%,rgba(244,114,182,.08),transparent 45%),var(--bg-void);pointer-events:none;animation:void-breathe 16s ease-in-out infinite}@keyframes void-breathe{0%,to{opacity:1}50%{opacity:.82}}body:after{content:"";position:fixed;inset:0;z-index:-1;opacity:.35;background-image:linear-gradient(rgba(42,49,82,.45) 1px,transparent 1px),linear-gradient(90deg,rgba(42,49,82,.45) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,black,transparent);mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,black,transparent);pointer-events:none}#root{height:100%;display:flex;flex-direction:column;padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left)}.app-shell{flex:1;display:flex;flex-direction:column;min-height:0;padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom))}.app-shell--guest{padding-bottom:env(safe-area-inset-bottom)}.app-shell-main{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.app-shell-main>*{animation:rise-in var(--t-med) var(--ease-out) both}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.screen-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--text-muted);text-align:center;padding:24px;font-family:var(--font-body)}.screen-loading .btn-ghost{min-height:var(--touch);padding:0 22px;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--bg-panel);color:var(--text);font-weight:700;font-size:1rem;cursor:pointer}.btn-cta{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 24px;border:none;border-radius:var(--radius-md);font-family:var(--font-display);font-size:1.15rem;font-weight:700;letter-spacing:.06em;color:#080b16;background:var(--grad-cta);box-shadow:0 8px 28px #8b5cf659;cursor:pointer;text-decoration:none;transition:transform var(--t-fast) var(--ease-out),filter var(--t-fast) ease}.btn-cta:active{transform:scale(.97);filter:brightness(1.08)}.btn-cta:disabled{opacity:.45;cursor:default;box-shadow:none}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch);padding:0 20px;border:1px solid var(--line-strong);border-radius:var(--radius-md);background:transparent;color:var(--text);font-family:var(--font-body);font-weight:600;font-size:1rem;cursor:pointer;text-decoration:none;transition:transform var(--t-fast) var(--ease-out),border-color var(--t-fast) ease,background var(--t-fast) ease}.btn-ghost:active{transform:scale(.97);border-color:var(--accent);background:#8b5cf614}.page-title{font-family:var(--font-display);font-size:1.35rem;font-weight:700;letter-spacing:-.02em}.page-sub{color:var(--text-muted);font-size:.95rem;line-height:1.4}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.orientation-gate{display:none;position:fixed;inset:0;z-index:100;align-items:center;justify-content:center;padding:24px;background:var(--bg-void);color:var(--text);text-align:center}.orientation-gate-card{display:flex;flex-direction:column;align-items:center;gap:20px}.orientation-gate-card p{font-size:1.15rem;font-weight:600;color:var(--text-muted);font-family:var(--font-display)}.orientation-phone{width:36px;height:64px;border:3px solid var(--accent);border-radius:8px;animation:orientation-tilt 1.4s ease-in-out infinite}@keyframes orientation-tilt{0%,to{transform:rotate(90deg)}40%,60%{transform:rotate(0)}}@media(orientation:landscape)and (pointer:coarse){.orientation-gate{display:flex}}.desktop-gate{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:28px 24px;padding-top:max(28px,env(safe-area-inset-top));padding-bottom:max(28px,env(safe-area-inset-bottom));background:var(--bg-void);color:var(--text);text-align:center}.desktop-gate-card{max-width:380px;display:flex;flex-direction:column;align-items:center;gap:18px;animation:rise-in var(--t-med) var(--ease-out) both}.desktop-gate-card .brand-logo{margin-bottom:4px}.desktop-gate-card h1{font-family:var(--font-display);font-size:1.35rem;font-weight:700;line-height:1.25;background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent}.desktop-gate-card p{font-size:.98rem;line-height:1.55;color:var(--text-muted)}.desktop-gate-aside{font-size:.88rem!important;color:var(--text-dim)!important}.desktop-gate-admin{margin-top:8px;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border-radius:14px;border:1px solid var(--line);background:var(--bg-panel);color:var(--text-muted);font-size:.9rem;font-weight:600;text-decoration:none;transition:border-color var(--t-fast),color var(--t-fast)}.desktop-gate-admin:hover{border-color:var(--accent);color:var(--text)}.content-shield{position:relative;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.content-shield img,.content-shield video{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.content-shield.is-obscured>:not(.content-shield-cover){filter:brightness(0)}.content-shield-cover{position:absolute;inset:0;z-index:20;background:#0a0c14}
