:root{--bg: #f6f6f9;--surface: #ffffff;--surface-2: #eeeef4;--text: #17171f;--text-dim: #6b6b7b;--border: #dcdce6;--accent: #7c5cff;--accent-text: #ffffff;--success: #2fb26b;--warning: #ff9f2e;--danger: #e35d6a;--progress-ongoing: #ff9f2e;--progress-done: #9a5cff;--progress-caught-up: #2fb26b;--shadow: 0 2px 12px rgba(20, 20, 40, .08);--radius: 14px;--nav-h: 70px;color-scheme:light}html[data-theme=dark]{--bg: #12121a;--surface: #1c1c27;--surface-2: #262633;--text: #f1f1f7;--text-dim: #9b9bae;--border: #333342;--accent: #8d70ff;--accent-text: #ffffff;--shadow: 0 2px 14px rgba(0, 0, 0, .45);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:Segoe UI,system-ui,-apple-system,Roboto,sans-serif;font-size:15px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}input,select,textarea{font:inherit;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:9px 12px;min-height:44px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}.layout{display:flex;min-height:100%}.sidenav{width:220px;flex-shrink:0;position:sticky;top:0;height:100vh;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:14px 10px;gap:2px}.sidenav .brand{font-size:20px;font-weight:700;padding:8px 12px 16px;letter-spacing:.5px}.brand em{color:var(--accent);font-style:normal}.navlink{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:10px;color:var(--text-dim);font-weight:500;min-height:44px}.navlink.active{background:var(--accent);color:var(--accent-text)}.navlink:not(.active):hover{background:var(--surface-2);color:var(--text)}.content{flex:1;min-width:0;padding:20px 24px 90px;max-width:1400px}.bottomnav{display:none;position:fixed;bottom:0;left:0;right:0;z-index:40;background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom)}.bottomnav .navlink{flex-direction:column;gap:3px;font-size:12px;font-weight:600;flex:1 0 auto;min-width:72px;padding:8px 6px;border-radius:0;min-height:var(--nav-h);justify-content:center}.bottomnav .navlink>span:first-child{font-size:24px;line-height:1}.bottomnav .navlink.active{background:none;color:var(--accent)}.bottomnav-inner{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.bottomnav-inner::-webkit-scrollbar{display:none}@media (max-width: 860px){.sidenav{display:none}.bottomnav{display:block}.content{padding:12px 12px calc(var(--nav-h) + 24px)}}h1{font-size:24px;margin:8px 0 16px}h2{font-size:17px;margin:22px 0 10px}.dim{color:var(--text-dim)}.small{font-size:12.5px}.row-scroll{display:flex;gap:12px;overflow-x:auto;padding:4px 2px 10px;scrollbar-width:thin}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}@media (max-width: 860px){.grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;display:block;position:relative}.card .poster{width:100%;aspect-ratio:2/3;object-fit:cover;display:block;background:var(--surface-2)}.card .meta{padding:8px 10px 10px}.card .title{font-weight:600;font-size:13.5px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.4em}.card-w{width:150px;flex-shrink:0}@media (max-width: 860px){.card-w{width:118px}}.badge{display:inline-flex;align-items:center;gap:4px;border-radius:999px;background:var(--surface-2);color:var(--text-dim);font-size:12px;padding:3px 10px}.badge.accent{background:var(--accent);color:var(--accent-text)}.progress{height:6px;border-radius:3px;background:var(--surface-2);overflow:hidden}.progress>div{height:100%;border-radius:3px;transition:width .3s}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;padding:10px 16px;cursor:pointer;font-weight:600;min-height:44px}.btn:hover{background:var(--surface-2)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn.danger{color:var(--danger);border-color:var(--danger)}.btn.icon{padding:10px;min-width:44px;font-size:18px}.btn.active{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn:disabled{opacity:.5;cursor:default}.chips{display:flex;gap:8px;flex-wrap:wrap}.chips-scroll{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-bottom:10px;padding-bottom:4px}.chips-scroll::-webkit-scrollbar{display:none}.chips-scroll .chip{flex-shrink:0;white-space:nowrap}.chip{border:1px solid var(--border);background:var(--surface);color:var(--text-dim);border-radius:999px;padding:8px 14px;cursor:pointer;font-size:13px;min-height:38px}.chip.active{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.hero{border-radius:var(--radius);overflow:hidden;position:relative;margin-bottom:16px;background:var(--surface-2);min-height:220px;display:flex;align-items:flex-end}.hero .backdrop{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.hero .scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,#0a0a12eb,#0a0a1240 65%,#0a0a120d)}.hero .hero-body{position:relative;padding:18px;color:#fff;width:100%;display:flex;gap:16px;align-items:flex-end}.hero .hero-poster{width:110px;border-radius:10px;box-shadow:var(--shadow);aspect-ratio:2/3;object-fit:cover}.hero h1{margin:0 0 6px;color:#fff}.hero .dim{color:#ffffffbf}.stars{display:inline-flex;gap:2px}.stars button{background:none;border:0;font-size:26px;cursor:pointer;color:var(--border);padding:4px;line-height:1;min-width:40px;min-height:44px}.stars button.on{color:var(--warning)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.stat{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px}.stat .value{font-size:22px;font-weight:700}.stat .label{font-size:12.5px;color:var(--text-dim);margin-top:2px}.list-row{display:flex;gap:12px;align-items:center;background:var(--surface);border-radius:12px;box-shadow:var(--shadow);padding:10px 12px;margin-bottom:10px}.list-row img{width:52px;height:74px;object-fit:cover;border-radius:8px;background:var(--surface-2);flex-shrink:0}.list-row .grow{flex:1;min-width:0}.episode-row{display:flex;gap:12px;align-items:center;padding:10px 6px;border-bottom:1px solid var(--border)}.episode-row img{width:100px;aspect-ratio:16/9;object-fit:cover;border-radius:8px;background:var(--surface-2);flex-shrink:0}.episode-row .grow{flex:1;min-width:0}.check{width:44px;height:44px;border-radius:50%;border:2px solid var(--border);background:var(--surface);cursor:pointer;font-size:18px;color:var(--text-dim);flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.check.on{background:var(--success);border-color:var(--success);color:#fff}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:13px;font-weight:600;color:var(--text-dim)}.loading-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:60px 16px;color:var(--text-dim)}.spinner{width:42px;height:42px;border-radius:50%;border:4px solid var(--surface-2);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0808108c;z-index:60;display:flex;align-items:center;justify-content:center;padding:16px}.modal{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);width:100%;max-width:560px;max-height:88vh;overflow-y:auto;padding:20px}.toast{position:fixed;bottom:calc(var(--nav-h) + 18px);left:50%;transform:translate(-50%);background:var(--text);color:var(--bg);border-radius:999px;padding:11px 20px;z-index:80;box-shadow:var(--shadow);display:flex;gap:14px;align-items:center;font-weight:600}.toast button{background:none;border:0;color:var(--accent);font-weight:700;cursor:pointer}@media (min-width: 861px){.toast{bottom:24px}}.tabbar{display:flex;gap:4px;border-bottom:2px solid var(--border);margin:14px 0}.tabbar button{background:none;border:0;padding:11px 16px;cursor:pointer;color:var(--text-dim);font-weight:600;border-bottom:2px solid transparent;margin-bottom:-2px;min-height:44px}.tabbar button.active{color:var(--accent);border-bottom-color:var(--accent)}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.person{width:90px;flex-shrink:0;text-align:center}.person img{width:72px;height:72px;border-radius:50%;object-fit:cover;background:var(--surface-2)}.person .small{display:block;margin-top:4px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px}.toolbar input[type=search]{flex:1;min-width:160px}.pagerange{display:flex;align-items:center;gap:12px}.pagerange input[type=range]{flex:1;min-height:44px}.pagerange input[type=number]{width:90px}.qrbox{text-align:center;padding:10px}.qrbox img{width:260px;max-width:100%;border-radius:12px;background:#fff;padding:8px}.kv{display:grid;grid-template-columns:minmax(120px,max-content) 1fr;gap:6px 16px;font-size:14px}.kv dt{color:var(--text-dim)}.kv dd{margin:0}.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:var(--bg)}.auth-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px 24px}.auth-card h1{margin:0 0 4px;font-size:26px}.auth-card .tagline{margin:0 0 22px;color:var(--text-dim);font-size:14px}.auth-card .field input{width:100%;box-sizing:border-box}.auth-card .btn.wide{width:100%;justify-content:center}.auth-divider{display:flex;align-items:center;gap:10px;margin:18px 0;color:var(--text-dim);font-size:13px}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-top:1px solid var(--border)}.auth-links{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:18px;font-size:14px}.auth-links button{background:none;border:none;color:var(--accent);cursor:pointer;font:inherit;padding:4px}.auth-error{color:var(--danger);font-size:14px;margin:0 0 12px}.auth-info{color:var(--success);font-size:14px;margin:0 0 12px}.captcha-box{display:flex;justify-content:center;margin:4px 0 14px;min-height:78px}.google-box{display:flex;justify-content:center;min-height:44px}.google-box,.captcha-box{color-scheme:light}.comment{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid var(--border)}.comment .grow{min-width:0}.comment-content{position:relative;margin-top:4px}.comment-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.45}.comment-image{display:block;max-width:min(100%,420px);height:auto;max-height:420px;object-fit:contain;border-radius:10px;margin-top:6px;background:var(--surface-2)}.comment-content.spoiler-hidden>*:not(.spoiler-cover){filter:blur(14px);-webkit-user-select:none;user-select:none;pointer-events:none}.spoiler-cover{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:8px;background:color-mix(in srgb,var(--surface) 55%,transparent);border:1px dashed var(--border);border-radius:10px;color:var(--text);font:inherit;font-size:13px;cursor:pointer;min-height:44px}.comment-actions{display:flex;gap:14px;margin-top:4px}.comment-actions button{background:none;border:0;padding:4px 0;color:var(--text-dim);font:inherit;font-size:12px;cursor:pointer}.comment-actions button:hover{color:var(--accent)}.comment-composer{margin-top:14px}.comment-composer textarea{width:100%;box-sizing:border-box;resize:vertical;font:inherit;padding:10px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.comment-preview{position:relative;display:inline-block;margin-top:8px}.comment-preview img{max-width:220px;max-height:220px;border-radius:10px;display:block}.comment-preview .btn{position:absolute;top:4px;right:4px;min-height:30px;min-width:30px;padding:2px}.community-rating{display:inline-flex;align-items:center;gap:6px}.community-rating .star{color:#f5b301}.vip-badge{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:6px;vertical-align:1px;font-size:10px;font-weight:800;letter-spacing:.06em;color:#3a2a00;background:linear-gradient(135deg,#ffe58a,#f5b82e);box-shadow:0 0 0 1px #b5840059}.vip-status{padding:14px 16px;border-radius:var(--radius);margin:8px 0 14px;background:var(--surface);border:1px solid var(--border)}.vip-status.on{border-color:#f5b82e;background:linear-gradient(135deg,#ffe58a38,#f5b82e1a)}.vip-perks{margin:8px 0;padding-left:20px;line-height:1.8}.vip-perks li::marker{content:"⭐ "}.vip-editor{margin-top:26px}.vip-editor.locked .chips,.vip-editor.locked .toolbar{opacity:.55}.color-chip{width:34px;height:34px;padding:0;border-radius:50%}.color-chip.active{box-shadow:0 0 0 3px var(--surface),0 0 0 5px var(--text)}input[type=color]{width:40px;height:34px;padding:2px;border-radius:8px}.vip-notice{text-align:center;max-width:420px}.vip-notice h2{margin:6px 0 8px}.vip-notice .vip-perks{text-align:left;display:inline-block}.vip-notice-icon{font-size:54px;line-height:1;margin-top:4px}.vip-codes{display:flex;gap:10px;align-items:flex-start;margin:8px 0 12px}.vip-codes textarea{flex:1;font-family:ui-monospace,Consolas,monospace;font-size:15px}.home-head-actions{display:flex;align-items:center;gap:10px}.vip-button{display:inline-flex;align-items:center;gap:4px;height:34px;padding:0 12px;border-radius:999px;font-size:13px;font-weight:800;letter-spacing:.05em;text-decoration:none;color:var(--text-dim);background:var(--surface);border:1px solid var(--border)}.vip-button.on{color:#3a2a00;border-color:#e0a419;background:linear-gradient(135deg,#ffe58a,#f5b82e);box-shadow:0 2px 10px #f5b82e59}.top-row{width:100%;border:0;text-align:left;cursor:pointer;font:inherit;color:inherit}.top-row.me{background:color-mix(in srgb,var(--accent) 12%,transparent);border-radius:10px}.top-rank{width:30px;text-align:center;font-weight:800;font-size:18px;color:var(--text-dim);flex-shrink:0}.person-head{display:flex;align-items:center;gap:16px;margin:6px 0 18px}.avatar-zoom{padding:0;border:0;background:none;cursor:zoom-in;border-radius:22%;line-height:0}.photo-lightbox{flex-direction:column;gap:14px;cursor:zoom-out;background:#04040ae0}.photo-lightbox img{width:min(86vw,512px);height:min(86vw,512px);object-fit:cover;border-radius:18px;box-shadow:0 10px 40px #00000080}.photo-lightbox-name{color:#fff;font-size:20px}.badge-icon{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0;line-height:1;box-shadow:inset 0 0 0 2px #ffffff59,0 1px 3px #0000004d;vertical-align:middle}.badge-icon.locked{filter:grayscale(1);opacity:.35}.badge-row{display:inline-flex;gap:3px;margin-left:6px;vertical-align:middle}.badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px}.badge-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;border-radius:12px;background:var(--surface);border:1px solid var(--border);color:inherit;font:inherit;cursor:pointer;text-align:center}.badge-card.locked{cursor:default}.badge-card.locked .badge-name{color:var(--text-dim)}.badge-card.pinned{border-color:#f5b82e;box-shadow:0 0 0 2px #f5b82e73}.badge-name{font-size:12px;font-weight:700;line-height:1.2}.badge-progress{font-size:11px;color:var(--text-dim)}.badge-card{position:relative}.badge-card.rarity-rare{border-color:color-mix(in srgb,#0090ff 55%,var(--border))}.badge-card.rarity-epic{border-color:color-mix(in srgb,#9b6bff 60%,var(--border))}.badge-card.rarity-legendary{border-color:#f5a524;box-shadow:0 0 12px #f5a52440}.badge-card.rarity-mythic{border-color:#e5484d;box-shadow:0 0 14px #e5484d59}.badge-card.rarity-mythic:not(.locked) .badge-icon{animation:mythic-glow 2.4s ease-in-out infinite}@keyframes mythic-glow{0%,to{box-shadow:0 0 6px 1px #e5484d99}50%{box-shadow:0 0 16px 4px #ff8c3cd9}}.badge-card.locked.rarity-legendary,.badge-card.locked.rarity-mythic{box-shadow:none}.badge-rarity{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.badge-text{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0}.badge-card.open{grid-column:1 / -1;flex-direction:row;align-items:flex-start;gap:14px;padding:14px;text-align:left;cursor:pointer}.badge-card.open .badge-text{align-items:flex-start;flex:1}.badge-card.open .badge-name{font-size:15px}.badge-detail{width:100%}.badge-detail p{margin:4px 0 8px;font-size:13px}.level-card{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border)}.level-num{font-size:13px;color:var(--text-dim);white-space:nowrap}.level-num strong{display:block;font-size:30px;line-height:1;color:var(--accent)}.xp-bar{height:10px;border-radius:5px;background:var(--border);overflow:hidden;margin-bottom:4px}.xp-bar>div{height:100%;background:linear-gradient(90deg,var(--accent),#f5b82e);border-radius:5px;transition:width .4s}.xp-bar.small-bar{height:6px}.level-chip{display:inline-block;margin-left:6px;padding:0 6px;border-radius:6px;font-size:10px;font-weight:800;vertical-align:1px;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 50%,transparent)}.streak-button{color:#ff7a2e;font-weight:800}.avatar-with-level{position:relative;display:inline-flex}.avatar-level{position:absolute;left:50%;bottom:-7px;transform:translate(-50%);white-space:nowrap;padding:0 5px;border-radius:6px;font-size:10px;font-weight:800;line-height:15px;color:#fff;background:var(--accent);box-shadow:0 0 0 2px var(--bg)}.friend-code-card{text-align:center;padding:16px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);margin:12px 0 6px}.friend-code{font-family:ui-monospace,Consolas,monospace;font-size:30px;font-weight:800;letter-spacing:.12em;margin:4px 0 12px;color:var(--accent)}.friend-row.me{background:color-mix(in srgb,var(--accent) 12%,var(--surface))}.friend-stats{margin-top:2px}.picker-big-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:420px;margin:34px auto 0}.picker-big-buttons .btn{justify-content:center;padding:14px 10px;font-size:15px}.share-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;text-align:left}.share-btn{justify-content:flex-start;text-decoration:none}.friends-scroll{max-height:300px;overflow-y:auto;padding-right:4px;margin-bottom:18px;overscroll-behavior:contain}.streak-flame{animation:flame 1.6s ease-in-out infinite;display:inline-block}@keyframes flame{0%,to{transform:scale(1) rotate(-3deg)}50%{transform:scale(1.12) rotate(3deg)}}span.streak-button{cursor:default}.cover-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:10px;margin-top:8px}.cover-pick{padding:0;border:2px solid transparent;border-radius:8px;background:var(--surface);cursor:pointer;overflow:hidden;aspect-ratio:2 / 3}.cover-pick img{width:100%;height:100%;object-fit:cover;display:block}.cover-pick.active,.cover-pick:hover{border-color:var(--accent)}.cover-option{display:flex;flex-direction:column;gap:4px}.cover-option.active .cover-pick{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.cover-option-bar{display:flex;align-items:center;gap:4px;min-height:22px}.cover-option-bar .small{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.link-btn{background:none;border:0;padding:2px 4px;cursor:pointer;font-size:14px}.catalog-hit{align-items:flex-start}.small-pick{width:56px;height:84px;flex-shrink:0;aspect-ratio:auto}.small-pick.placeholder{display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--surface);color:var(--text-dim)}.small-btn{padding:4px 10px;min-height:30px;font-size:13px}.reward-card{padding:14px 16px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);margin:12px 0}.reward-card h3{margin-top:0}.invite-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0}.invite-step{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;border-radius:10px;border:1px dashed var(--border);text-align:center}.invite-step.done{border:1px solid #f5b82e;background:linear-gradient(135deg,#ffe58a2e,#f5b82e14)}.coins-head{display:flex;align-items:center;gap:12px}.coin-big{font-size:40px;line-height:1}.coin-balance{font-size:26px;color:#e0a419}.coin-shop{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 6px}.public{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.public-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg);z-index:5}.public-head .brand{font-size:22px;font-weight:800;color:var(--text);text-decoration:none}.public-head .brand em{color:var(--accent);font-style:normal}.public-main{flex:1;width:100%;max-width:1040px;margin:0 auto;padding:0 16px 40px}.public-hero{text-align:center;padding:56px 8px 36px}.public-hero h1{font-size:clamp(28px,5vw,46px);line-height:1.12;margin:0 0 14px}.public-hero .lead{font-size:18px;color:var(--text-dim);max-width:640px;margin:0 auto 22px;line-height:1.5}.btn.big{padding:14px 22px;font-size:16px}.public-section{margin:34px 0}.feature-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.feature{padding:18px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border)}.feature h3{margin:8px 0 6px;font-size:16px}.feature-icon{font-size:30px}.price-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin:18px 0 10px}.price-tile{text-align:center;padding:22px 16px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);display:flex;flex-direction:column;align-items:center;gap:6px}.price-tile.tier-1{border-color:#c07a45}.price-tile.tier-2{border-color:#9aa4b1;box-shadow:0 0 0 1px #9aa4b1}.price-tile.tier-3{border-color:#e0b12f;box-shadow:0 0 18px #e0b12f4d}.price-tile.current{border-width:2px;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.price-current{font-weight:700;color:var(--accent)}.price-tile>p{flex:1}.price-name{font-weight:800;font-size:17px}.price-amount{font-size:34px;font-weight:800;color:var(--accent)}.public-foot{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;padding:20px 16px 28px;border-top:1px solid var(--border)}.public-foot a{color:var(--text-dim)}.legal{max-width:760px;margin:30px auto;line-height:1.6}.legal h1{margin-bottom:4px}.legal h2{font-size:18px;margin:26px 0 8px}.legal p{margin:0 0 10px}.legal-links{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px}.settings-tabs{margin:4px 0 18px}.settings-tabs .chip{padding:8px 18px;font-size:15px}.admin-panel{margin:14px 0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.admin-panel-head{display:flex;align-items:center;gap:8px;padding:6px 10px 6px 4px}.admin-panel-toggle{flex:1;display:flex;align-items:center;gap:10px;background:none;border:0;color:inherit;cursor:pointer;padding:10px 12px;text-align:left;font:inherit}.admin-panel-toggle h3{margin:0;font-size:17px}.admin-panel-caret{width:14px;color:var(--text-dim)}.admin-panel-pop{padding:4px 12px;font-size:16px}.admin-panel-body{padding:4px 18px 18px;max-height:65vh;overflow-y:auto;overscroll-behavior:contain;border-top:1px solid var(--border)}.admin-panel-body .list-row,.admin-modal-body .list-row{padding:12px 0}.admin-panel-body .toolbar,.admin-modal-body .toolbar{gap:10px}.admin-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:24px}.admin-modal{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);width:min(1100px,100%);max-height:calc(100vh - 48px);display:flex;flex-direction:column;box-shadow:0 20px 60px #0006}.admin-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border)}.admin-modal-head h3{margin:0}.admin-modal-body{padding:16px 22px 24px;overflow-y:auto;overscroll-behavior:contain}@media (max-width: 700px){.admin-modal-backdrop{padding:0}.admin-modal{width:100%;height:100%;max-height:none;border-radius:0;border:0;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.admin-modal-body{padding:12px 16px 24px}.admin-panel-body{padding:4px 12px 14px;max-height:70vh}}.public{overflow-x:clip}.landing-stage{position:relative;width:100vw;margin-left:calc(50% - 50vw);padding:18px 0 8px;background:radial-gradient(1200px 420px at 50% 40%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 70%)}.marquee{position:relative;overflow:hidden;padding:6px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}.marquee-track{display:flex;gap:12px;width:max-content;animation:marquee-slide linear infinite}.marquee.reverse .marquee-track{animation-direction:reverse}.marquee:hover .marquee-track{animation-play-state:paused}.marquee img{display:block;object-fit:cover;border-radius:10px;background:var(--surface-2);box-shadow:0 6px 18px #00000040}.marquee.big img{width:150px;height:222px}.marquee.small img{width:84px;height:124px;border-radius:8px;opacity:.9}.marquee.small{margin:4px 0}.marquee-label{position:absolute;left:7%;top:10px;z-index:2;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 10px;border-radius:999px;background:color-mix(in srgb,var(--bg) 82%,transparent);color:var(--text);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@keyframes marquee-slide{0%{transform:translate(0)}to{transform:translate(calc(-50% - 6px))}}@media (prefers-reduced-motion: reduce){.marquee-track{animation:none}}.landing-hero{position:relative;z-index:3;max-width:760px;margin:-22px auto 10px;padding:34px 26px 28px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:22px;box-shadow:0 24px 60px #00000047}.landing-kicker{display:inline-block;font-size:13px;font-weight:700;color:var(--accent);letter-spacing:.05em;text-transform:uppercase;margin-bottom:10px}.landing-cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:6px 0 12px}.landing-cta .btn.big{min-width:190px}.landing-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:10px}.landing-chips span{font-size:13px;padding:5px 12px;border-radius:999px;background:var(--surface);border:1px solid var(--border)}.landing-strips{margin-top:10px}.landing-vip{margin-top:56px;padding:40px 26px;border-radius:26px;text-align:center;background:linear-gradient(160deg,color-mix(in srgb,#e0b12f 16%,var(--surface)),var(--surface) 55%,color-mix(in srgb,var(--accent) 14%,var(--surface)));border:1px solid color-mix(in srgb,#e0b12f 45%,var(--border))}.landing-vip h2{font-size:clamp(24px,4vw,36px);margin:0 0 12px}.landing-vip .lead{font-size:18px;color:var(--text-dim);max-width:700px;margin:0 auto 10px;line-height:1.5}.landing-vip-promise{display:inline-block;margin:6px auto 22px;padding:10px 16px;border-radius:12px;font-weight:600;background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px dashed color-mix(in srgb,var(--accent) 50%,transparent)}.landing-vip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:8px 0 22px;text-align:left}.landing-vip-card{padding:16px;border-radius:var(--radius);background:var(--bg);border:1px solid var(--border)}.landing-vip-card h3{margin:6px 0 4px;font-size:16px}.landing-vip .vip-perks{display:inline-block;text-align:left}@media (max-width: 640px){.marquee.big img{width:104px;height:154px}.marquee.small img{width:64px;height:94px}.landing-hero{margin:-26px 12px 8px;padding:26px 16px 22px}.landing-cta .btn.big{min-width:0;flex:1 1 140px}.landing-vip{padding:28px 16px}}.episode-steps{display:flex;justify-content:space-between;gap:10px;margin:14px 0}.episode-step{display:flex;align-items:center;gap:10px;max-width:38%;min-width:0;padding:10px 14px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);color:var(--text);text-decoration:none}.episode-step:hover{border-color:var(--accent)}.episode-step.next{margin-left:auto;text-align:right}.episode-step.series{flex:none;font-weight:600;white-space:nowrap}.episode-step-arrow{font-size:26px;line-height:1;color:var(--accent)}.episode-step-text{display:flex;flex-direction:column;min-width:0}.episode-step-title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.community-parts{margin-left:6px}@media (max-width: 640px){.community-parts{display:block;margin-left:0}.episode-steps{flex-wrap:wrap}.episode-step.series{order:-1;flex:1 1 100%;max-width:none;justify-content:center}.episode-step{max-width:49%}}.toplist-row{text-decoration:none}.toplist-row img{width:40px;height:58px}.toplist-score{white-space:nowrap;font-weight:700}.toplist-score .star{color:#f5b82e}.vitrine{margin:18px 0;padding:16px;border-radius:var(--radius);border:1px solid color-mix(in srgb,#e0b12f 40%,var(--border));background:linear-gradient(160deg,color-mix(in srgb,#e0b12f 10%,var(--surface)),var(--surface))}.vitrine-motto{margin:0 0 14px;font-size:17px;font-style:italic;color:var(--text)}.vitrine-shelf+.vitrine-shelf{margin-top:12px}.vitrine-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);margin-bottom:6px}.vitrine-row{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px}.vitrine-item{flex:0 0 96px;text-decoration:none;color:var(--text)}.vitrine-item img{width:96px;height:142px;object-fit:cover;border-radius:10px;display:block;box-shadow:0 6px 16px #00000040}.vitrine-title{display:block;font-size:12px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vitrine-pick{width:100%;border:0;font:inherit;color:inherit;cursor:pointer}.vitrine-pick img{width:34px;height:50px}.vitrine-library{max-height:320px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius);padding:4px 8px}.avatar-frame{display:inline-flex;flex-shrink:0;position:relative;background-size:300% 300%;background-position:0% 50%}.frame-gold{background-image:linear-gradient(135deg,#fff1b8,#e0b12f 40%,#a8780f 60%,#ffe27a)}.frame-silver{background-image:linear-gradient(135deg,#fff,#b8c0cc 45%,#7d8794 60%,#e9edf2)}.frame-sakura{background-image:linear-gradient(135deg,#ffd6e7,#f78fb3 50%,#ffc2d9)}.frame-ice{background-image:linear-gradient(135deg,#e6fbff,#7fd6f5 45%,#2f9fd6 65%,#c9f2ff)}.frame-neon{background:#0ff;box-shadow:0 0 8px #0ff,0 0 16px #f0f;animation:frame-neon 2.4s ease-in-out infinite alternate}.frame-fire{background-image:linear-gradient(135deg,#ff3d00,#ff9100,#ffd600,#ff9100,#ff3d00);animation:frame-flow 3s linear infinite;box-shadow:0 0 10px #ff780099}.frame-rainbow{background-image:linear-gradient(90deg,#ff004c,#ff9a00,#ffe600,#2ee59d,#00b3ff,#8a4dff,#ff004c);animation:frame-flow 4s linear infinite}.frame-galaxy{background-image:linear-gradient(135deg,#1a0b3d,#6a2cff,#00c2ff,#ff4fd8,#1a0b3d);animation:frame-flow 6s ease-in-out infinite;box-shadow:0 0 10px #6a2cff8c}@keyframes frame-flow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes frame-neon{0%{background:#0ff;box-shadow:0 0 6px #0ff,0 0 12px #0ff}to{background:#f0f;box-shadow:0 0 8px #f0f,0 0 18px #f0f}}@media (prefers-reduced-motion: reduce){.avatar-frame{animation:none!important}}.frame-chip{display:inline-flex;align-items:center;gap:8px;padding:4px 12px 4px 4px}.profile-theme{color:#fff}.person-head.profile-theme{padding:18px;border-radius:var(--radius);margin-bottom:8px}.person-head.profile-theme a,.person-head.profile-theme .chip{color:#fff}.person-head.profile-theme .chip{background:#00000040;border-color:#ffffff4d}.theme-aurora{background:linear-gradient(135deg,#0f2027,#2c5364 40%,#00c9a7 75%,#845ec2)}.theme-sunset{background:linear-gradient(135deg,#ff5f6d,#ffc371)}.theme-ocean{background:linear-gradient(135deg,#1e3c72,#2a5298 50%,#00b4db)}.theme-forest{background:linear-gradient(135deg,#134e5e,#2f7d4f 55%,#71b280)}.theme-cherry{background:linear-gradient(135deg,#eb3349,#f45c43 50%,#f78fb3)}.theme-gold{background:linear-gradient(135deg,#8a6100,#e0b12f 50%,#fff1b8);color:#2b1d00}.person-head.theme-gold a,.person-head.theme-gold .chip{color:#2b1d00}.theme-midnight{background:linear-gradient(135deg,#0b0c1b,#232a5c 60%,#4a3f8c)}.theme-galaxy{background:radial-gradient(circle at 20% 30%,#ff4fd8 0,transparent 35%),radial-gradient(circle at 80% 70%,#00c2ff 0,transparent 40%),linear-gradient(135deg,#12002e,#3a0ca3)}.theme-chip{border:2px solid transparent}.theme-chip.active{border-color:var(--text)}.season-card{margin:22px 0;padding:16px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border)}.season-tasks{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;margin-top:10px}.season-task{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:12px;background:var(--bg);border:1px solid var(--border)}.season-task.done{border-color:var(--success)}.season-task.locked{opacity:.75}.season-task-name{font-weight:700}.season-trophy{display:flex;align-items:center;gap:10px;margin-top:12px;padding:10px 12px;border-radius:12px;border:1px dashed var(--border)}.season-trophy.done{border-style:solid;border-color:#e0b12f;background:color-mix(in srgb,#e0b12f 10%,transparent)}.badge-icon.season-badge{box-shadow:0 0 0 2px #e0b12f inset}.season-collected{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.season-collected-item{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:999px;background:var(--surface);border:1px solid var(--border);color:var(--text);font:inherit;cursor:pointer}.season-collected-item.pinned{border-color:var(--accent)}.club-row{text-decoration:none}.club-icon{width:44px;height:44px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:24px;border-radius:12px;background:var(--surface-2)}.club-icon.big{width:64px;height:64px;font-size:36px;border-radius:16px}.club-desc{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:460px}.club-head{display:flex;gap:14px;align-items:center;margin:8px 0 14px}.club-goal{padding:12px 14px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border)}.club-goal .xp-bar{margin:8px 0 4px}.club-create{padding:14px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);margin-bottom:16px}.club-create input,.club-create textarea{width:100%}.club-compose{display:flex;gap:10px;align-items:flex-end;margin-bottom:14px}.club-compose textarea{flex:1}.comment.pending{opacity:.75}.wrapped-wrap{max-width:520px;margin:0 auto}.wrapped-dots{display:flex;gap:4px;margin:8px 0 10px}.wrapped-dots span{flex:1;height:4px;border-radius:4px;background:var(--surface-2)}.wrapped-dots span.on{background:var(--accent)}.wrapped-slide{min-height:62vh;border-radius:24px;padding:34px 26px;color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none;margin-bottom:12px;animation:wrapped-in .35s ease}@keyframes wrapped-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.wrapped-slide{animation:none}}.wrapped-slide.w1{background:linear-gradient(160deg,#2b1055,#7c5cff 60%,#ff6fb5)}.wrapped-slide.w2{background:linear-gradient(160deg,#0f2027,#2c5364 50%,#00c9a7)}.wrapped-slide.w3{background:linear-gradient(160deg,#3a0ca3,#e5484d 70%,#ffb000)}.wrapped-slide.w4{background:linear-gradient(160deg,#134e5e,#2f7d4f 55%,#c2a26e)}.wrapped-slide.w5{background:linear-gradient(160deg,#1e3c72,#8e4ec6 55%,#ff6fb5)}.wrapped-slide.w6{background:linear-gradient(160deg,#0b0c1b,#232a5c 60%,#4a3f8c)}.wrapped-slide.w7{background:linear-gradient(160deg,#8a6100,#e0b12f 50%,#ff6f3c)}.wrapped-kicker{font-size:14px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.9}.wrapped-huge{font-size:clamp(54px,15vw,96px);font-weight:900;line-height:1}.wrapped-lead{font-size:19px;line-height:1.45;max-width:420px;margin:4px 0}.wrapped-small{font-size:14px;opacity:.9;margin:0}.wrapped-posters{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:10px}.wrapped-posters img{width:64px;height:94px;object-fit:cover;border-radius:8px;box-shadow:0 6px 18px #00000059}.wrapped-cats{display:flex;flex-direction:column;gap:6px;font-size:20px;font-weight:700}.wrapped-facts,.wrapped-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;width:100%;margin-top:12px}.wrapped-facts div,.wrapped-summary div{padding:12px;border-radius:14px;background:#00000038;display:flex;flex-direction:column}.wrapped-facts strong,.wrapped-summary strong{font-size:28px}.wrapped-facts span,.wrapped-summary span{font-size:13px;opacity:.9}.wrapped-chart{display:flex;align-items:flex-end;gap:6px;height:220px;width:100%;margin:14px 0}.wrapped-bar{flex:1;height:100%;display:flex;flex-direction:column-reverse;align-items:stretch;position:relative;padding-bottom:18px}.wrapped-bar span{position:absolute;bottom:0;left:0;right:0;font-size:11px}.wb-watch{background:#00e0b8;border-radius:4px 4px 0 0}.wb-read{background:#ffc53d}.wrapped-banner{display:flex;align-items:center;gap:14px;padding:14px 16px;margin:4px 0 18px;border-radius:var(--radius);color:#fff;text-decoration:none;background:linear-gradient(120deg,#2b1055,#7c5cff 55%,#ff6fb5)}.wrapped-banner-year{font-size:28px;font-weight:900}.wrapped-banner-go{margin-left:auto;font-size:28px}.theme-image{background-size:cover;background-position:center}.person-head.theme-image{min-height:150px;align-items:flex-end}.header-preview{height:110px;min-height:0!important;margin-bottom:8px;padding:0!important}.friend-code-details{margin:10px 0 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.friend-code-details>summary{cursor:pointer;padding:12px 14px}.friend-code-details .friend-code-card{margin:0;border:0;border-top:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius)}
