*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;background:var(--bg-deep);color:var(--text-primary);overflow-x:hidden}a{text-decoration:none;color:inherit}input,textarea,select,button{font-family:inherit}.stars-layer{position:fixed;top:0;left:0;right:0;bottom:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 20% 50%,var(--star-color-1) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,var(--star-color-2) 0%,transparent 50%),radial-gradient(ellipse at 50% 80%,var(--star-color-3) 0%,transparent 50%)}.tech-grid{position:fixed;top:0;left:0;right:0;bottom:0;z-index:0;pointer-events:none;opacity:.6;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:50px 50px}.particle-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;overflow:hidden}.particle{position:absolute;display:block;width:4px;height:4px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent-glow-strong);opacity:0;animation:particleFall var(--particle-duration) linear var(--particle-delay) infinite}.particle-dust .particle{width:4px;height:4px}.particle-snow .particle{width:9px;height:9px;border-radius:50%;background:#ffffffe6;box-shadow:0 0 10px #fffc;animation-name:snowFall}.particle-sakura .particle{width:11px;height:7px;border-radius:70% 20%;background:#f7a8c4;box-shadow:0 0 8px #f7a8c48c;animation-name:petalFall}.particle-leaf .particle{width:12px;height:7px;border-radius:90% 10%;background:#e89b42;box-shadow:0 0 8px #e89b4273;animation-name:leafFall}.writing-mode .particle{filter:saturate(1.15)}@keyframes particleFall{0%{opacity:0;transform:translate3d(0,-10px,0) scale(var(--particle-scale))}12%,82%{opacity:.75}to{opacity:0;transform:translate3d(var(--particle-drift),105vh,0) scale(calc(var(--particle-scale) * .8))}}@keyframes snowFall{0%{opacity:0;transform:translate3d(0,-10px,0) scale(var(--particle-scale))}12%,82%{opacity:.8}50%{transform:translate3d(calc(var(--particle-drift) * -.5),50vh,0) rotate(180deg) scale(var(--particle-scale))}to{opacity:0;transform:translate3d(var(--particle-drift),105vh,0) rotate(360deg) scale(var(--particle-scale))}}@keyframes petalFall{0%{opacity:0;transform:translate3d(0,-10px,0) rotate(0) scale(var(--particle-scale))}12%,82%{opacity:.85}50%{transform:translate3d(calc(var(--particle-drift) * -.35),50vh,0) rotate(220deg) scale(var(--particle-scale))}to{opacity:0;transform:translate3d(var(--particle-drift),105vh,0) rotate(480deg) scale(var(--particle-scale))}}@keyframes leafFall{0%{opacity:0;transform:translate3d(0,-10px,0) rotate(0) scale(var(--particle-scale))}12%,82%{opacity:.8}50%{transform:translate3d(calc(var(--particle-drift) * -.7),50vh,0) rotate(-180deg) scale(var(--particle-scale))}to{opacity:0;transform:translate3d(var(--particle-drift),105vh,0) rotate(-420deg) scale(var(--particle-scale))}}.bottom-line{position:fixed;bottom:0;left:0;right:0;height:3px;z-index:200;background:var(--brand-gradient);box-shadow:0 -1px 12px var(--accent-glow-strong);animation:bottomPulse 4s ease-in-out infinite}@keyframes bottomPulse{0%,to{opacity:.55}50%{opacity:1}}.sidebar{position:fixed;top:0;left:0;bottom:0;width:240px;z-index:100;background:var(--bg-nav);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-right:1px solid var(--border);display:flex;flex-direction:column;transition:width .3s cubic-bezier(.4,0,.2,1);box-shadow:4px 0 30px #00000026}.sidebar.collapsed{width:72px}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 16px;min-height:64px}.logo{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:800;background:var(--brand-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.logo-icon{font-size:24px;-webkit-text-fill-color:var(--accent);filter:drop-shadow(0 0 8px var(--accent-glow))}.logo-text{font-size:20px;white-space:nowrap}.sidebar-toggle{background:transparent;border:1px solid var(--border);border-radius:8px;padding:6px;cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;transition:all .3s}.sidebar-toggle:hover{color:var(--accent);border-color:var(--border-hover);background:var(--btn-bg)}.sidebar-nav{flex:1;padding:8px 12px;display:flex;flex-direction:column;gap:4px}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;color:var(--text-secondary);font-size:14px;font-weight:500;transition:all .3s;position:relative}.nav-item:hover{color:var(--accent);background:var(--btn-bg)}.nav-item.router-link-active{color:var(--accent);background:var(--btn-bg);box-shadow:0 0 20px var(--accent-glow)}.nav-icon{font-size:18px;flex-shrink:0;width:24px;text-align:center}.nav-label{white-space:nowrap}.nav-disabled{opacity:.5!important;cursor:not-allowed!important;pointer-events:none;filter:grayscale(.6)}.disabled-badge{display:inline-block;margin-left:auto;padding:2px 8px;font-size:10px;font-weight:600;color:var(--gold);background:var(--warning-bg);border:1px solid var(--border-hover);border-radius:10px}.sidebar-footer{padding:16px 12px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:12px}.user-card{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;transition:all .3s}.user-card:hover{background:var(--btn-bg)}.user-avatar{width:36px;height:36px;border-radius:50%;background:var(--brand-gradient);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff;flex-shrink:0;box-shadow:0 0 12px var(--accent-glow)}.user-detail{display:flex;flex-direction:column;gap:2px}.user-name{font-size:13px;color:var(--text-primary);font-weight:600}.vip-tag{color:var(--gold);font-weight:700;font-size:11px;text-shadow:0 0 6px var(--accent-glow)}.svip-tag{color:var(--gold)}.footer-actions{display:flex;gap:8px}.icon-btn{flex:1;display:flex;align-items:center;justify-content:center;padding:8px;border-radius:8px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .3s}.icon-btn:hover{color:var(--accent);border-color:var(--border-hover);background:var(--btn-bg)}.collapsed-footer{padding:16px 0;border-top:1px solid var(--border);display:flex;justify-content:center}.user-avatar-mini{width:36px;height:36px;border-radius:50%;background:var(--brand-gradient);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff;box-shadow:0 0 12px var(--accent-glow)}.main-area{margin-left:240px;min-height:100vh;transition:margin-left .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}.main-area.expanded{margin-left:72px}.main-area.no-sidebar{margin-left:0}.topbar{display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:56px;min-height:56px;background:var(--bg-nav);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:90}.topbar-left,.topbar-right{display:flex;align-items:center;gap:12px}.mobile-menu-btn{display:none;background:transparent;border:none;cursor:pointer;color:var(--text-secondary);padding:6px}.btn-login,.btn-register,.btn-vip{padding:8px 20px;border-radius:8px;font-size:13px;cursor:pointer;border:none;font-weight:600;transition:all .3s}.btn-vip{background:var(--gold-gradient);color:#fff;box-shadow:0 4px 16px var(--accent-glow);font-size:12px}.btn-vip:hover{transform:translateY(-1px)}.btn-login{background:transparent;color:var(--accent);border:1px solid var(--border-hover)}.btn-login:hover{background:var(--btn-bg);box-shadow:0 0 15px var(--accent-glow)}.btn-register{background:var(--brand-gradient);color:#fff;box-shadow:0 4px 20px var(--accent-glow)}.btn-register:hover{box-shadow:0 4px 30px var(--accent-glow-strong);transform:translateY(-1px)}.app-main{flex:1;padding:24px;max-width:1400px;margin:0 auto;width:100%;position:relative;z-index:1}@media (max-width: 768px){.sidebar{width:72px}.sidebar .nav-label,.sidebar .logo-text,.sidebar .sidebar-footer:not(.collapsed-footer){display:none}.main-area,.main-area.expanded{margin-left:72px}.mobile-menu-btn{display:flex}.app-main{padding:16px}}.home-page[data-v-1f1e6493]{max-width:100%}.search-bar[data-v-1f1e6493]{display:flex;gap:12px;margin-bottom:24px}.search-input-wrap[data-v-1f1e6493]{flex:1;display:flex;align-items:center;gap:10px;padding:0 18px;border-radius:12px;background:var(--bg-card);border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s}.search-input-wrap[data-v-1f1e6493]:focus-within{border-color:var(--border-focus);box-shadow:0 0 30px var(--accent-glow)}.search-input-wrap input[data-v-1f1e6493]{flex:1;padding:14px 0;background:none;border:none;color:var(--text-primary);font-size:15px;outline:none}.search-input-wrap input[data-v-1f1e6493]::placeholder{color:var(--text-muted)}.search-icon[data-v-1f1e6493]{font-size:18px;opacity:.6}.btn-search[data-v-1f1e6493]{padding:0 32px;border-radius:12px;font-size:15px;font-weight:600;border:none;cursor:pointer;color:#fff;background:var(--brand-gradient);box-shadow:0 4px 20px var(--accent-glow);transition:all .3s}.btn-search[data-v-1f1e6493]:hover{box-shadow:0 4px 30px var(--accent-glow-strong);transform:translateY(-1px)}.filters[data-v-1f1e6493]{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:28px;font-size:13px}.filters span[data-v-1f1e6493]{padding:6px 16px;border-radius:20px;cursor:pointer;background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);transition:all .3s;font-weight:500}.filters span[data-v-1f1e6493]:hover{border-color:var(--border-hover);color:var(--accent)}.filters span.active[data-v-1f1e6493]{background:var(--btn-bg);border-color:var(--border-focus);color:var(--accent);box-shadow:0 0 15px var(--accent-glow)}.filters .sep[data-v-1f1e6493]{background:transparent;border:none;cursor:default;color:var(--text-muted)}.novel-grid[data-v-1f1e6493]{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}@media (max-width: 1100px){.novel-grid[data-v-1f1e6493]{grid-template-columns:repeat(3,1fr)}}@media (max-width: 800px){.novel-grid[data-v-1f1e6493]{grid-template-columns:repeat(2,1fr)}}.novel-card[data-v-1f1e6493]{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;overflow:hidden;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;box-shadow:var(--card-shadow)}.novel-card[data-v-1f1e6493]:hover{transform:translateY(-6px);border-color:var(--border-hover);box-shadow:var(--card-shadow-hover)}.card-img[data-v-1f1e6493]{height:200px;position:relative;overflow:hidden;background:var(--bg-deep);display:flex;align-items:center;justify-content:center}.card-glow[data-v-1f1e6493]{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--brand-gradient);opacity:0;transition:opacity .4s}.novel-card:hover .card-glow[data-v-1f1e6493]{opacity:.08}.card-img img[data-v-1f1e6493]{width:100%;height:100%;object-fit:cover;transition:transform .4s}.novel-card:hover .card-img img[data-v-1f1e6493]{transform:scale(1.05)}.placeholder-img[data-v-1f1e6493]{font-size:48px;opacity:.4}.card-overlay[data-v-1f1e6493]{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg-overlay);display:flex;align-items:center;justify-content:center;opacity:0;transition:all .3s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.novel-card:hover .card-overlay[data-v-1f1e6493]{opacity:1}.overlay-btn[data-v-1f1e6493]{padding:8px 24px;border-radius:8px;background:var(--brand-gradient);color:#fff;font-size:14px;font-weight:600;box-shadow:0 4px 20px var(--accent-glow-strong)}.card-info[data-v-1f1e6493]{padding:16px}.card-info h3[data-v-1f1e6493]{font-size:16px;color:var(--text-primary);margin-bottom:6px;font-weight:700}.author[data-v-1f1e6493]{font-size:12px;color:var(--text-muted);margin-bottom:8px}.desc[data-v-1f1e6493]{font-size:13px;color:var(--text-secondary);line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:10px}.card-tags[data-v-1f1e6493]{display:flex;gap:6px}.tag[data-v-1f1e6493]{font-size:11px;padding:3px 10px;border-radius:10px;font-weight:600}.tag-reader[data-v-1f1e6493]{background:var(--btn-bg);color:var(--accent);border:1px solid var(--btn-border)}.tag-genre[data-v-1f1e6493]{background:var(--accent-glow);color:var(--accent);border:1px solid var(--border-hover)}.loading[data-v-1f1e6493]{display:flex;gap:12px;align-items:center;justify-content:center;padding:80px 0;color:var(--text-secondary);font-size:15px}.loading-spinner[data-v-1f1e6493]{width:24px;height:24px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin-1f1e6493 .8s linear infinite}@keyframes spin-1f1e6493{to{transform:rotate(360deg)}}.empty[data-v-1f1e6493]{text-align:center;padding:80px 0;color:var(--text-muted);font-size:15px}.pagination[data-v-1f1e6493]{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:32px}.pagination button[data-v-1f1e6493]{padding:10px 24px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);border-radius:10px;cursor:pointer;font-size:14px;transition:all .3s;font-weight:500}.pagination button[data-v-1f1e6493]:hover:not(:disabled){color:var(--accent);border-color:var(--border-hover)}.pagination button[data-v-1f1e6493]:disabled{opacity:.3;cursor:not-allowed}.page-num[data-v-1f1e6493]{font-size:14px;color:var(--text-secondary);font-weight:600}.login-page[data-v-6ff94ce1]{display:flex;min-height:calc(100vh - 120px);position:relative;overflow:hidden;align-items:center}.hero-panel[data-v-6ff94ce1]{flex:1.2;display:flex;align-items:center;justify-content:center;padding:40px 60px;position:relative;z-index:2}.hero-glow[data-v-6ff94ce1]{position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(6,182,212,.08) 0%,transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.hero-content[data-v-6ff94ce1]{position:relative;z-index:2;max-width:520px}.hero-badge[data-v-6ff94ce1]{display:inline-block;padding:6px 16px;border-radius:20px;background:var(--accent-bg);border:1px solid var(--accent-bg);color:var(--accent-text);font-size:12px;font-weight:600;margin-bottom:20px}.hero-title[data-v-6ff94ce1]{font-size:40px;font-weight:800;color:#e8eaed;line-height:1.2;margin-bottom:16px;letter-spacing:2px}.highlight[data-v-6ff94ce1]{background:linear-gradient(135deg,#06b6d4,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.hero-desc[data-v-6ff94ce1]{font-size:14px;color:#8892b0;line-height:1.8;margin-bottom:32px}.feature-list[data-v-6ff94ce1]{display:flex;flex-direction:column;gap:18px;margin-bottom:32px}.feature-item[data-v-6ff94ce1]{display:flex;gap:14px;align-items:flex-start}.feature-icon[data-v-6ff94ce1]{font-size:28px;width:48px;height:48px;border-radius:14px;background:#0f0f28cc;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0}.feature-item strong[data-v-6ff94ce1]{display:block;font-size:14px;color:#e0e0e0;margin-bottom:3px}.feature-item p[data-v-6ff94ce1]{font-size:12px;color:#5a6080;line-height:1.5;margin:0}.hero-stats[data-v-6ff94ce1]{display:flex;gap:40px}.stat strong[data-v-6ff94ce1]{display:block;font-size:18px;color:#e0e0e0}.stat span[data-v-6ff94ce1]{font-size:12px;color:#5a6080}.login-panel[data-v-6ff94ce1]{flex:.8;display:flex;align-items:center;justify-content:center;padding:40px 20px;position:relative;z-index:2}.login-card[data-v-6ff94ce1]{background:#0f0f28e0;border:1px solid var(--border);border-radius:20px;padding:40px 36px;width:400px;max-width:100%;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:0 20px 60px #0006,0 0 80px #06b6d40a}.card-header[data-v-6ff94ce1]{text-align:center;margin-bottom:28px}.card-icon[data-v-6ff94ce1]{font-size:44px;margin-bottom:8px;background:linear-gradient(135deg,#06b6d4,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 12px rgba(6,182,212,.4))}.card-header h2[data-v-6ff94ce1]{font-size:22px;color:#e0e0e0;margin-bottom:6px}.card-sub[data-v-6ff94ce1]{font-size:13px;color:#5a6080}.input-group[data-v-6ff94ce1]{display:flex;align-items:center;gap:10px;padding:0 14px;margin-bottom:12px;border-radius:10px;background:#0f0f2899;border:1px solid var(--border);transition:all .3s}.input-group[data-v-6ff94ce1]:focus-within{border-color:var(--accent-bg);box-shadow:0 0 16px #06b6d414}.input-icon[data-v-6ff94ce1]{font-size:16px;opacity:.5}.input-group input[data-v-6ff94ce1]{flex:1;padding:11px 0;background:none;border:none;color:#e0e0e0;font-size:14px;outline:none}.input-group input[data-v-6ff94ce1]::placeholder{color:#4a5080}.captcha-section[data-v-6ff94ce1]{margin-bottom:10px}.captcha-label[data-v-6ff94ce1]{font-size:12px;color:#8892b0;margin-bottom:6px}.captcha-track[data-v-6ff94ce1]{position:relative;height:44px;border-radius:22px;background:#0f0f28e6;border:1px solid var(--border);overflow:hidden;-webkit-user-select:none;user-select:none}.track-fill[data-v-6ff94ce1]{position:absolute;left:0;top:0;height:100%;background:linear-gradient(90deg,#06b6d433,#8b5cf640);border-radius:22px 0 0 22px}.track-text[data-v-6ff94ce1]{position:absolute;width:100%;text-align:center;line-height:44px;font-size:13px;color:#5a6080;pointer-events:none}.done-text[data-v-6ff94ce1]{color:var(--success-text);font-weight:600}.captcha-btn[data-v-6ff94ce1]{position:absolute;top:4px;width:36px;height:36px;background:linear-gradient(135deg,#06b6d4,#8b5cf6);border-radius:50%;cursor:grab;z-index:2;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;font-weight:700;box-shadow:0 2px 12px #06b6d480,0 0 20px #06b6d433}.captcha-btn[data-v-6ff94ce1]:active{cursor:grabbing;transform:scale(1.05)}.captcha-btn.done[data-v-6ff94ce1]{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 2px 12px #22c55e80}.captcha-error[data-v-6ff94ce1]{color:var(--error-text);font-size:12px;margin-top:3px}.login-card>form>button[data-v-6ff94ce1]{width:100%;padding:13px;background:linear-gradient(135deg,#06b6d4,#8b5cf6);color:#fff;border:none;border-radius:10px;font-size:15px;cursor:pointer;font-weight:700;transition:all .3s;margin-top:4px;box-shadow:0 4px 20px #06b6d44d;display:flex;align-items:center;justify-content:center;gap:8px}.login-card>form>button[data-v-6ff94ce1]:hover:not(:disabled){box-shadow:0 4px 35px #8b5cf673;transform:translateY(-1px)}.login-card>form>button[data-v-6ff94ce1]:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-spinner[data-v-6ff94ce1]{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-6ff94ce1 .8s linear infinite}@keyframes spin-6ff94ce1{to{transform:rotate(360deg)}}.error[data-v-6ff94ce1]{color:var(--error-text);font-size:13px;margin-bottom:4px;text-align:center}.tip[data-v-6ff94ce1]{text-align:center;margin-top:16px;font-size:13px;color:#5a6080}.tip a[data-v-6ff94ce1]{color:var(--accent-text);font-weight:600}.bg-decor[data-v-6ff94ce1]{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1}.decor-circle[data-v-6ff94ce1]{position:absolute;border-radius:50%;border:1px solid var(--border)}.c1[data-v-6ff94ce1]{width:600px;height:600px;top:-200px;right:-200px}.c2[data-v-6ff94ce1]{width:400px;height:400px;bottom:-150px;left:-100px;border-color:var(--accent-bg)}.c3[data-v-6ff94ce1]{width:300px;height:300px;top:40%;left:30%;border-color:var(--accent-text)}.decor-line[data-v-6ff94ce1]{position:absolute;width:1px;height:200px;background:linear-gradient(to bottom,transparent,rgba(6,182,212,.1),transparent)}.l1[data-v-6ff94ce1]{top:20%;left:25%}@media (max-width: 900px){.login-page[data-v-6ff94ce1]{flex-direction:column}.hero-panel[data-v-6ff94ce1]{flex:none;padding:30px 24px 10px}.hero-title[data-v-6ff94ce1]{font-size:28px}.hero-desc[data-v-6ff94ce1]{font-size:13px;margin-bottom:20px}.feature-list[data-v-6ff94ce1]{gap:12px;margin-bottom:20px}.feature-icon[data-v-6ff94ce1]{width:40px;height:40px;font-size:22px}.hero-stats[data-v-6ff94ce1]{gap:20px}.login-panel[data-v-6ff94ce1]{flex:none;padding:10px 16px 40px}.login-card[data-v-6ff94ce1]{padding:30px 24px}}.login-page[data-v-a3107909]{display:flex;justify-content:center;align-items:center;min-height:80vh}.login-card[data-v-a3107909]{background:var(--bg-card);border:1px solid var(--border);border-radius:18px;padding:40px;width:460px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--card-shadow),0 0 60px var(--accent-glow)}.card-icon[data-v-a3107909]{font-size:48px;text-align:center;margin-bottom:6px;background:linear-gradient(135deg,#06b6d4,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 12px rgba(6,182,212,.4))}.login-card h2[data-v-a3107909]{text-align:center;margin-bottom:4px;font-size:22px;color:var(--text-primary)}.card-sub[data-v-a3107909]{text-align:center;margin-bottom:24px;font-size:13px;color:var(--text-muted)}.input-group[data-v-a3107909]{display:flex;align-items:center;gap:10px;padding:0 14px;margin-bottom:12px;border-radius:10px;background:var(--bg-card-hover);border:1px solid var(--border);transition:border-color .3s}.input-group[data-v-a3107909]:focus-within{border-color:var(--border-focus);box-shadow:0 0 16px var(--accent-glow)}.input-icon[data-v-a3107909]{font-size:16px;opacity:.5;flex-shrink:0}.input-group input[data-v-a3107909]{flex:1;padding:12px 0;background:none;border:none;color:var(--text-primary);font-size:14px;outline:none}.input-group input[data-v-a3107909]::placeholder{color:var(--text-muted)}.code-row[data-v-a3107909]{display:flex;gap:10px;margin-bottom:12px;align-items:stretch}.code-row .input-group[data-v-a3107909]{margin-bottom:0}.flex-1[data-v-a3107909]{flex:1}.btn-send[data-v-a3107909]{flex-shrink:0;padding:0 16px;border-radius:10px;border:1px solid var(--border-hover);cursor:pointer;font-size:13px;font-weight:600;color:var(--accent);background:transparent;white-space:nowrap;transition:all .3s}.btn-send[data-v-a3107909]:hover:not(:disabled){background:var(--btn-bg)}.btn-send[data-v-a3107909]:disabled{opacity:.5;cursor:not-allowed}.login-card button[type=submit][data-v-a3107909]{width:100%;padding:13px;margin-top:6px;background:var(--brand-gradient);color:#fff;border:none;border-radius:10px;font-size:15px;cursor:pointer;font-weight:700;transition:all .3s;box-shadow:0 4px 20px var(--accent-glow)}.login-card button[type=submit][data-v-a3107909]:hover:not(:disabled){box-shadow:0 4px 35px var(--accent-glow-strong);transform:translateY(-1px)}.login-card button[type=submit][data-v-a3107909]:disabled{opacity:.6;cursor:not-allowed;transform:none}.error[data-v-a3107909]{color:var(--error-text);font-size:13px;margin-bottom:6px;text-align:center}.tip-info[data-v-a3107909]{color:var(--success);font-size:13px;margin-bottom:6px;text-align:center}.tip[data-v-a3107909]{text-align:center;margin-top:20px;font-size:13px;color:var(--text-muted)}.tip a[data-v-a3107909]{color:var(--accent);font-weight:600}.fact-check-warnings[data-v-bd0e9c11]{margin:12px 0;padding:12px 16px;border-left:3px solid #b7791f;background:var(--bg-secondary, #fff8eb);color:var(--text-primary, #704b13);border-radius:4px;overflow-wrap:anywhere}.fact-check-warnings p[data-v-bd0e9c11]{margin:8px 0 0;white-space:pre-wrap}.page-title[data-v-bd0e9c11]{font-size:24px;margin-bottom:20px;color:var(--text-primary);font-weight:700}.quota-banner[data-v-bd0e9c11]{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:18px 24px;margin-bottom:20px;display:flex;align-items:center;gap:20px;flex-wrap:wrap;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.quota-banner.level-0[data-v-bd0e9c11],.quota-banner.level-1[data-v-bd0e9c11],.quota-banner.level-2[data-v-bd0e9c11]{border-color:var(--border-hover);background:linear-gradient(135deg,var(--border),var(--bg-card))}.quota-level[data-v-bd0e9c11]{display:flex;align-items:center;gap:10px}.level-badge[data-v-bd0e9c11]{padding:4px 14px;border-radius:20px;font-size:13px;font-weight:700;white-space:nowrap}.level-0 .level-badge[data-v-bd0e9c11]{background:var(--btn-bg);color:var(--success-text);border:1px solid var(--border-hover)}.level-1 .level-badge[data-v-bd0e9c11]{background:var(--btn-bg);color:var(--accent-text);border:1px solid var(--border-hover)}.level-2 .level-badge[data-v-bd0e9c11]{background:linear-gradient(135deg,var(--btn-bg),rgba(239,68,68,.15));color:var(--gold);border:1px solid var(--border-hover)}.level-desc[data-v-bd0e9c11]{font-size:13px;color:var(--text-secondary)}.quota-progress[data-v-bd0e9c11]{flex:1;min-width:200px}.quota-bar-bg[data-v-bd0e9c11]{height:6px;background:var(--bg-card);border-radius:3px;margin-bottom:6px;overflow:hidden}.quota-bar-fill[data-v-bd0e9c11]{height:100%;border-radius:3px;transition:width .5s ease}.level-0 .quota-bar-fill[data-v-bd0e9c11]{background:linear-gradient(90deg,#10b981,#34d399)}.level-1 .quota-bar-fill[data-v-bd0e9c11]{background:linear-gradient(90deg,#06b6d4,#38bdf8)}.level-2 .quota-bar-fill[data-v-bd0e9c11]{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.quota-text[data-v-bd0e9c11]{font-size:13px;color:var(--text-secondary)}.quota-text b[data-v-bd0e9c11]{color:var(--text-primary)}.quota-action[data-v-bd0e9c11]{padding:8px 20px;border-radius:8px;font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap;transition:all .3s;background:linear-gradient(135deg,#06b6d4,#8b5cf6);color:#fff;box-shadow:0 2px 12px var(--border-hover)}.quota-action[data-v-bd0e9c11]:hover{box-shadow:0 4px 20px var(--border-hover);transform:translateY(-1px)}.quota-action.gold[data-v-bd0e9c11]{background:linear-gradient(135deg,#f59e0b,#ef4444);box-shadow:0 2px 12px var(--border-hover)}.quota-action.gold[data-v-bd0e9c11]:hover{box-shadow:0 4px 20px var(--border-hover)}.tabs[data-v-bd0e9c11]{display:flex;gap:4px;margin-bottom:28px}.tabs span[data-v-bd0e9c11]{padding:10px 24px;cursor:pointer;font-size:14px;font-weight:600;color:var(--text-muted);border-radius:10px;transition:all .3s;background:var(--bg-card);border:1px solid var(--border)}.tabs span[data-v-bd0e9c11]:hover{color:var(--accent-text);border-color:var(--border-hover)}.tabs span.active[data-v-bd0e9c11]{color:var(--accent-text);background:linear-gradient(135deg,var(--btn-bg),var(--btn-bg));border-color:var(--border-focus);box-shadow:0 0 20px var(--btn-bg)}.tab-content[data-v-bd0e9c11]{min-height:400px}.no-permission[data-v-bd0e9c11]{text-align:center;padding:80px;background:var(--bg-card);border:1px solid var(--border);border-radius:14px;color:var(--text-muted);font-size:15px}.no-permission p[data-v-bd0e9c11]{margin:0}.link-vip[data-v-bd0e9c11]{color:var(--gold);font-weight:700;text-decoration:underline}.free-banner[data-v-bd0e9c11]{text-align:center;padding:16px 24px;background:linear-gradient(135deg,var(--btn-bg),rgba(5,150,105,.08));border:1px solid var(--border-hover);border-radius:12px;color:var(--success-text);font-size:14px;margin-bottom:20px;display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}.free-banner b[data-v-bd0e9c11]{color:var(--success-text);font-size:18px}.btn-upgrade[data-v-bd0e9c11]{display:inline-block;padding:6px 16px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border-radius:8px;font-size:13px;font-weight:600;text-decoration:none;transition:all .2s}.btn-upgrade[data-v-bd0e9c11]:hover{box-shadow:0 4px 16px var(--border-hover)}.create-form[data-v-bd0e9c11]{max-width:960px;display:flex;flex-direction:column;gap:16px}.creation-canvas[data-v-bd0e9c11]{max-width:1040px;gap:14px}.canvas-intro[data-v-bd0e9c11]{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:10px 4px 18px}.eyebrow[data-v-bd0e9c11]{display:block;color:var(--accent-text);font-size:11px;letter-spacing:.18em;font-weight:800;margin-bottom:10px}.canvas-intro h1[data-v-bd0e9c11]{margin:0;color:var(--text-primary);font-size:clamp(24px,4vw,38px);letter-spacing:-.04em;line-height:1.15}.canvas-intro p[data-v-bd0e9c11]{margin:10px 0 0;color:var(--text-muted);font-size:14px}.canvas-progress[data-v-bd0e9c11]{min-width:150px;display:flex;flex-direction:column;gap:6px;color:var(--text-muted);font-size:12px;text-align:right}.canvas-progress strong[data-v-bd0e9c11]{color:var(--text-primary);font-size:26px;line-height:1}.canvas-progress i[data-v-bd0e9c11]{display:block;width:150px;height:5px;overflow:hidden;background:var(--bg-input);border-radius:10px}.canvas-progress b[data-v-bd0e9c11]{display:block;height:100%;background:var(--brand-gradient);border-radius:inherit;transition:width .35s ease}.canvas-card[data-v-bd0e9c11]{position:relative;overflow:hidden;background:color-mix(in srgb,var(--bg-card) 94%,#fff 6%);border:1px solid var(--border);border-radius:18px;box-shadow:0 16px 36px #00000014;transition:border-color .25s,box-shadow .25s}.canvas-card[data-v-bd0e9c11]:hover{border-color:var(--border-hover);box-shadow:0 18px 42px #0000001f}.canvas-card[data-v-bd0e9c11]:after{content:"";position:absolute;top:0;right:0;width:36%;height:1px;background:var(--brand-gradient);opacity:.7}.card-heading[data-v-bd0e9c11]{width:100%;display:flex;align-items:center;gap:12px;padding:20px 24px;border:0;background:transparent;color:var(--text-primary);text-align:left;cursor:pointer}.card-index[data-v-bd0e9c11]{color:var(--accent-text);font:800 12px/1 Courier New,monospace;letter-spacing:.08em}.card-heading .section-icon[data-v-bd0e9c11]{font-size:20px}.card-title[data-v-bd0e9c11]{display:flex;flex:1;flex-direction:column;gap:4px}.card-title strong[data-v-bd0e9c11]{font-size:16px}.card-title small[data-v-bd0e9c11]{color:var(--text-muted);font-size:12px;font-weight:400}.card-state[data-v-bd0e9c11]{max-width:180px;overflow:hidden;color:var(--accent-text);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.card-toggle[data-v-bd0e9c11]{min-width:34px;color:var(--text-muted);font-size:12px;text-align:right}.card-body[data-v-bd0e9c11]{padding:0 24px 26px;animation:canvasReveal-bd0e9c11 .25s ease}.canvas-card.collapsed .card-heading[data-v-bd0e9c11]{padding-bottom:20px}@keyframes canvasReveal-bd0e9c11{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.identity-layout[data-v-bd0e9c11]{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:28px}.identity-fields[data-v-bd0e9c11]{min-width:0}.field-grid[data-v-bd0e9c11]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.cover-stage[data-v-bd0e9c11]{min-height:270px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:16px;border:1px dashed var(--border-hover);border-radius:14px;background:linear-gradient(145deg,var(--bg-input),var(--bg-card))}.stage-label[data-v-bd0e9c11]{align-self:flex-start;color:var(--text-muted);font:10px/1 Courier New,monospace;letter-spacing:.16em}.upload-placeholder[data-v-bd0e9c11]{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:190px;color:var(--text-muted);text-align:center}.upload-placeholder span[data-v-bd0e9c11]{color:var(--accent-text);font-size:32px}.upload-placeholder b[data-v-bd0e9c11]{color:var(--text-primary);font-size:15px}.upload-placeholder small[data-v-bd0e9c11]{font-size:11px}.upload-placeholder input[data-v-bd0e9c11]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;cursor:pointer;opacity:0}.cover-stage .image-upload .preview img[data-v-bd0e9c11]{max-width:170px;max-height:230px}.canvas-footer[data-v-bd0e9c11]{padding:8px 0 18px}.canvas-footer .btn-create[data-v-bd0e9c11]{max-width:360px}.canvas-footer .btn-create span[data-v-bd0e9c11]{margin-left:12px;font-size:18px}.realm-item[data-v-bd0e9c11]{display:grid;grid-template-columns:34px 1fr auto;align-items:start;gap:12px}.realm-number[data-v-bd0e9c11]{padding-top:10px;color:var(--accent-text);font:700 12px/1 Courier New,monospace}.realm-fields[data-v-bd0e9c11]{display:flex;flex-direction:column;gap:6px;min-width:0}.form-section[data-v-bd0e9c11]{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:22px 24px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.section-title[data-v-bd0e9c11]{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:var(--text-primary);margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--border)}.section-icon[data-v-bd0e9c11]{font-size:18px}.form-row[data-v-bd0e9c11]{margin-bottom:16px}.form-row[data-v-bd0e9c11]:last-child{margin-bottom:0}.form-row>label[data-v-bd0e9c11]{display:block;margin-bottom:6px;font-weight:600;font-size:13px;color:var(--text-secondary)}.form-row input[data-v-bd0e9c11],.form-row select[data-v-bd0e9c11],.form-row textarea[data-v-bd0e9c11]{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:8px;font-size:14px;background:var(--bg-input);color:var(--text-primary);transition:border-color .3s}.form-row input[data-v-bd0e9c11]:focus,.form-row select[data-v-bd0e9c11]:focus,.form-row textarea[data-v-bd0e9c11]:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 12px var(--btn-bg)}.form-row textarea[data-v-bd0e9c11]{resize:vertical}.form-row textarea.over[data-v-bd0e9c11]{border-color:#f87171}.form-row select[data-v-bd0e9c11]{cursor:pointer;color:var(--text-primary)}.form-row select option[data-v-bd0e9c11]{background:var(--bg-deep);color:var(--text-primary)}.form-two-col[data-v-bd0e9c11]{display:grid;grid-template-columns:1fr 1fr;gap:24px}.form-two-col .col-left[data-v-bd0e9c11],.form-two-col .col-right[data-v-bd0e9c11]{display:flex;flex-direction:column;gap:4px}.form-row-meta[data-v-bd0e9c11]{display:flex;justify-content:space-between;align-items:center;margin-top:6px}.char-count[data-v-bd0e9c11]{font-weight:400;font-size:12px;color:var(--text-muted)}.char-count.over[data-v-bd0e9c11]{color:#f87171}.field-error[data-v-bd0e9c11]{color:#f87171;font-size:12px}.form-footer[data-v-bd0e9c11]{margin-top:8px;text-align:center}.form-footer .error[data-v-bd0e9c11]{color:#f87171;margin-bottom:10px}.form-footer .success[data-v-bd0e9c11]{color:#10b981;margin-bottom:10px}.btn-create[data-v-bd0e9c11]{width:100%;max-width:320px;padding:12px 32px;border:none;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer;background:linear-gradient(135deg,#06b6d4,#8b5cf6);color:#fff;box-shadow:0 4px 20px var(--border-hover);transition:all .3s}.btn-create[data-v-bd0e9c11]:hover:not(:disabled){box-shadow:0 6px 28px var(--border-hover);transform:translateY(-2px)}.btn-create[data-v-bd0e9c11]:disabled{opacity:.5;cursor:not-allowed;transform:none}@media (max-width: 720px){.form-two-col[data-v-bd0e9c11]{grid-template-columns:1fr}.create-form[data-v-bd0e9c11]{max-width:100%}.canvas-intro[data-v-bd0e9c11]{align-items:flex-start;flex-direction:column}.canvas-progress[data-v-bd0e9c11]{width:100%;text-align:left}.canvas-progress i[data-v-bd0e9c11]{width:100%}.identity-layout[data-v-bd0e9c11],.field-grid[data-v-bd0e9c11]{grid-template-columns:1fr}.card-heading[data-v-bd0e9c11],.card-body[data-v-bd0e9c11]{padding-left:16px;padding-right:16px}.card-state[data-v-bd0e9c11]{display:none}}.image-upload[data-v-bd0e9c11]{width:100%}.image-upload .preview[data-v-bd0e9c11]{position:relative;display:inline-block}.image-upload .preview img[data-v-bd0e9c11]{max-width:180px;max-height:180px;border-radius:10px;border:1px solid var(--border)}.image-upload .preview .btn-remove[data-v-bd0e9c11]{position:absolute;top:-8px;right:-8px;background:var(--error-text);color:#fff;border:none;border-radius:50%;width:24px;height:24px;cursor:pointer;font-size:12px}.image-upload input[type=file][data-v-bd0e9c11]{width:100%;padding:10px;border:1px dashed var(--border-hover);border-radius:8px;cursor:pointer;color:var(--text-secondary);background:var(--bg-input)}.edit-modal[data-v-bd0e9c11]{max-width:700px;max-height:80vh;overflow-y:auto}.edit-modal form[data-v-bd0e9c11]{padding:20px 0}.edit-modal button[type=submit][data-v-bd0e9c11]{width:100%;padding:12px;background:linear-gradient(135deg,#06b6d4,#8b5cf6);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:15px;font-weight:600;transition:all .3s}.edit-modal button[type=submit][data-v-bd0e9c11]:hover{box-shadow:0 4px 24px var(--border-hover)}.anti-ai-toggle[data-v-bd0e9c11]{display:flex;align-items:center;gap:8px;margin:10px 0;font-size:13px;color:var(--text-muted);cursor:pointer}.anti-ai-toggle input[data-v-bd0e9c11]{width:auto;cursor:pointer}.genre-select[data-v-bd0e9c11]{display:flex;flex-wrap:wrap;gap:8px}.genre-tag[data-v-bd0e9c11]{padding:6px 16px;border:1px solid var(--border);border-radius:20px;cursor:pointer;font-size:13px;color:var(--text-muted);background:var(--bg-input);transition:all .2s}.genre-tag[data-v-bd0e9c11]:hover{border-color:var(--border-focus);color:var(--accent-text)}.genre-tag.active[data-v-bd0e9c11]{background:linear-gradient(135deg,var(--border),var(--border-hover));color:var(--accent-text);border-color:#06b6d499;box-shadow:0 0 12px var(--btn-bg)}.realm-item[data-v-bd0e9c11]{display:flex;flex-direction:column;gap:6px;margin-bottom:8px;padding:12px;background:var(--bg-input);border:1px solid var(--border);border-radius:8px}.card-realm .realm-fields[data-v-bd0e9c11]{width:100%}.card-realm .realm-fields input[data-v-bd0e9c11]{width:680px;max-width:100%;box-sizing:border-box}.card-realm .realm-fields textarea[data-v-bd0e9c11]{width:100%;max-width:100%;height:220px;min-height:220px;max-height:220px;box-sizing:border-box;resize:none}.char-card[data-v-bd0e9c11]{border:1px solid var(--border);border-radius:10px;padding:16px;margin-bottom:12px;background:var(--bg-input)}.char-header[data-v-bd0e9c11]{display:flex;justify-content:space-between;margin-bottom:10px;color:var(--text-primary)}.char-fields[data-v-bd0e9c11]{display:flex;flex-wrap:wrap;gap:10px}.char-fields .half[data-v-bd0e9c11]{width:calc(50% - 5px)}.char-fields .full[data-v-bd0e9c11]{width:100%}.char-fields label[data-v-bd0e9c11]{display:block;font-size:12px;color:var(--text-muted);margin-bottom:3px}.char-fields input[data-v-bd0e9c11],.char-fields select[data-v-bd0e9c11],.char-fields textarea[data-v-bd0e9c11]{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:13px;background:var(--bg-input);color:var(--text-primary)}.char-fields textarea[data-v-bd0e9c11]{resize:vertical}.btn-add[data-v-bd0e9c11]{padding:8px 18px;background:var(--btn-bg);color:var(--accent-text);border:1px solid var(--border-hover);border-radius:8px;cursor:pointer;font-size:13px;margin-top:8px;transition:all .3s}.btn-add[data-v-bd0e9c11]:hover{background:var(--border)}.btn-remove[data-v-bd0e9c11]{padding:4px 12px;color:var(--error-text);border:1px solid rgba(248,113,113,.4);border-radius:6px;cursor:pointer;font-size:12px;background:transparent;transition:all .3s}.btn-remove[data-v-bd0e9c11]:hover{background:var(--error-bg)}.error[data-v-bd0e9c11]{color:var(--error-text);margin:12px 0;font-size:13px}.success[data-v-bd0e9c11]{color:var(--success-text);margin:12px 0;font-size:13px}.create-form>button[data-v-bd0e9c11]{padding:12px 32px;background:linear-gradient(135deg,#06b6d4,#8b5cf6);color:#fff;border:none;border-radius:8px;font-size:15px;cursor:pointer;font-weight:600;transition:all .3s;box-shadow:0 4px 20px var(--border-hover)}.create-form>button[data-v-bd0e9c11]:hover{box-shadow:0 4px 30px var(--border-hover);transform:translateY(-1px)}.create-form>button[data-v-bd0e9c11]:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}.my-novel-card[data-v-bd0e9c11]{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:20px;margin-bottom:12px;display:flex;gap:18px;align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s}.my-novel-card[data-v-bd0e9c11]:hover{border-color:var(--border-hover);box-shadow:0 4px 20px var(--border)}.my-novel-cover[data-v-bd0e9c11]{width:80px;height:110px;flex-shrink:0;border-radius:8px;overflow:hidden;background:linear-gradient(135deg,var(--bg-deep),var(--bg-deep));position:relative}.my-novel-cover img[data-v-bd0e9c11]{width:100%;height:100%;object-fit:cover}.my-novel-cover .placeholder[data-v-bd0e9c11]{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:linear-gradient(135deg,#06b6d4,#8b5cf6);color:#fff;font-size:12px;font-weight:600}.my-novel-info[data-v-bd0e9c11]{flex:1}.my-novel-info h3[data-v-bd0e9c11]{margin:0 0 6px;font-size:16px;color:var(--text-primary);font-weight:600}.my-novel-info p[data-v-bd0e9c11]{margin:0 0 4px;font-size:13px;color:var(--text-muted)}.my-novel-desc[data-v-bd0e9c11]{color:var(--text-muted)!important;font-size:12px!important}.my-novel-actions[data-v-bd0e9c11]{display:flex;gap:8px}.my-novel-actions button[data-v-bd0e9c11]{padding:8px 16px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;transition:all .3s;border:none}.my-novel-actions button[data-v-bd0e9c11]:first-child{background:var(--btn-bg);color:var(--accent-text);border:1px solid var(--border-hover)}.my-novel-actions button[data-v-bd0e9c11]:nth-child(2){background:var(--btn-bg);color:var(--accent-text);border:1px solid var(--border-hover)}.my-novel-actions button[data-v-bd0e9c11]:first-child:hover,.my-novel-actions button[data-v-bd0e9c11]:nth-child(2):hover{opacity:.85}.modal-overlay[data-v-bd0e9c11]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:200}.modal-content[data-v-bd0e9c11]{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:32px;max-width:700px;width:90%;max-height:80vh;overflow-y:auto;position:relative;box-shadow:0 20px 60px #00000080,0 0 40px var(--btn-bg)}.modal-close[data-v-bd0e9c11]{position:absolute;top:14px;right:20px;font-size:24px;background:none;border:none;cursor:pointer;color:var(--text-muted);transition:color .2s}.modal-close[data-v-bd0e9c11]:hover{color:#f87171}.chapter-modal h2[data-v-bd0e9c11]{margin-bottom:20px;color:var(--text-primary)}.chapter-modal[data-v-bd0e9c11]{max-width:860px}.chapter-modal h2[data-v-bd0e9c11]{padding-right:24px;overflow-wrap:anywhere}.chapter-form[data-v-bd0e9c11]{display:flex;flex-direction:column;gap:14px;margin-bottom:20px}.chapter-form .card-heading[data-v-bd0e9c11]{cursor:default}.chapter-form .card-title h3[data-v-bd0e9c11]{margin:0;font-size:16px;color:var(--text-primary)}.chapter-form .field-grid .form-row[data-v-bd0e9c11]{min-width:0;margin-bottom:0}.chapter-form .form-row input[data-v-bd0e9c11]:not([type=checkbox]),.chapter-form .form-row textarea[data-v-bd0e9c11]{box-sizing:border-box}.chapter-form .form-row textarea[data-v-bd0e9c11]{display:block;min-height:128px;max-width:100%;line-height:1.7;font-family:inherit}.chapter-form .anti-ai-toggle[data-v-bd0e9c11]{align-items:flex-start;gap:10px;margin:18px 0 0;padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--bg-input);line-height:1.6}.chapter-form .anti-ai-toggle input[type=checkbox][data-v-bd0e9c11]{flex:0 0 16px;width:16px;height:16px;margin:3px 0 0;padding:0;accent-color:var(--accent-text)}.chapter-form .anti-ai-toggle input[data-v-bd0e9c11]:focus-visible{outline:2px solid var(--border-focus);outline-offset:3px}.chapter-form .anti-ai-toggle span[data-v-bd0e9c11]{min-width:0}.chapter-form .anti-ai-toggle strong[data-v-bd0e9c11]{display:block;color:var(--text-secondary);font-weight:600}.chapter-form .anti-ai-toggle small[data-v-bd0e9c11]{display:block;font-size:12px}.chapter-style-card[data-v-bd0e9c11]{overflow:visible;z-index:1}@media (max-width: 720px){.chapter-modal[data-v-bd0e9c11]{padding:24px 16px;width:calc(100% - 24px);box-sizing:border-box}.chapter-item[data-v-bd0e9c11]{align-items:flex-start;flex-direction:column;gap:8px}.chapter-main[data-v-bd0e9c11]{width:100%}.chapter-actions[data-v-bd0e9c11]{width:100%;justify-content:flex-end}}.author-style-select[data-v-bd0e9c11]{width:100%;padding:10px 14px;margin-bottom:10px;border:1px solid var(--border);border-radius:8px;font-size:14px;background:var(--bg-input);color:var(--text-primary)}.edit-row .author-style-select[data-v-bd0e9c11]{width:580px;margin-bottom:0}.chapter-btns[data-v-bd0e9c11]{display:flex;gap:10px;margin-top:4px}.chapter-btns button[data-v-bd0e9c11]{flex:1;padding:11px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s}.chapter-btns button[data-v-bd0e9c11]:first-child{background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border)}.btn-ai[data-v-bd0e9c11]{background:linear-gradient(135deg,#06b6d4,#8b5cf6)!important;color:#fff!important;border:none!important;box-shadow:0 4px 16px var(--border-hover)}.btn-ai[data-v-bd0e9c11]:hover{box-shadow:0 4px 28px var(--border-hover)}.btn-ai[data-v-bd0e9c11]:disabled{opacity:.6;cursor:not-allowed}.btn-outline[data-v-bd0e9c11]{background:transparent!important;color:var(--accent)!important;border:1px solid rgba(6,182,212,.4)!important}.btn-outline[data-v-bd0e9c11]:hover{background:#06b6d414!important}.btn-outline[data-v-bd0e9c11]:disabled{opacity:.6;cursor:not-allowed}.spinner[data-v-bd0e9c11]{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-bd0e9c11 .8s linear infinite;vertical-align:middle;margin-right:6px}.existing-chapters[data-v-bd0e9c11]{margin-top:20px}.existing-chapters h3[data-v-bd0e9c11]{margin-bottom:12px;font-size:15px;color:var(--text-secondary)}.chapter-item[data-v-bd0e9c11]{padding:10px 14px;background:var(--bg-input);border:1px solid var(--border);border-radius:8px;margin-bottom:6px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:13px;color:var(--text-secondary)}.chapter-main[data-v-bd0e9c11]{min-width:0;display:flex;align-items:center;gap:14px;flex:1}.chapter-main>span[data-v-bd0e9c11]:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chapter-status[data-v-bd0e9c11]{flex:0 0 auto;color:var(--success-text);font-size:12px;font-weight:600}.chapter-actions[data-v-bd0e9c11]{display:flex;align-items:center;gap:8px;flex:0 0 auto}.btn-delete-chapter[data-v-bd0e9c11]{background:#ef44441f;border:1px solid rgba(239,68,68,.25);color:var(--error-text);cursor:pointer;font-size:11px;font-weight:600;padding:4px 12px;border-radius:6px;transition:all .2s;white-space:nowrap}.btn-delete-chapter[data-v-bd0e9c11]:hover{background:#ef444438;border-color:#ef4444;color:var(--error-text);box-shadow:0 2px 12px #ef444433}.btn-edit-chapter[data-v-bd0e9c11]{background:var(--btn-bg);border:1px solid var(--border-hover);color:var(--accent-text);cursor:pointer;font-size:11px;font-weight:600;padding:4px 12px;border-radius:6px;transition:all .2s;white-space:nowrap}.btn-edit-chapter[data-v-bd0e9c11]:hover{background:#06b6d438;border-color:#06b6d4;color:var(--accent-hover);box-shadow:0 2px 12px var(--border)}.btn-save[data-v-bd0e9c11]{background:var(--brand-gradient);color:#fff;border:none;cursor:pointer;font-size:13px;font-weight:700;padding:8px 20px;border-radius:8px;transition:all .2s}.btn-save[data-v-bd0e9c11]:hover{opacity:.9}.btn-save[data-v-bd0e9c11]:disabled{opacity:.5;cursor:not-allowed}.btn-regenerate[data-v-bd0e9c11]{background:#f9731626;border:1px solid rgba(249,115,22,.35);color:var(--warning-text);cursor:pointer;font-size:13px;font-weight:700;padding:8px 20px;border-radius:8px;transition:all .2s}.btn-regenerate[data-v-bd0e9c11]:hover{background:#f9731640;border-color:#f97316;color:#fdba74}.btn-regenerate[data-v-bd0e9c11]:disabled{opacity:.5;cursor:not-allowed}.btn-svip-only[data-v-bd0e9c11]{opacity:.4;cursor:not-allowed;filter:grayscale(.8);pointer-events:none}.btn-cancel[data-v-bd0e9c11]{background:transparent;color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;font-size:13px;font-weight:600;padding:8px 20px;border-radius:8px;transition:all .2s}.btn-cancel[data-v-bd0e9c11]:hover{color:var(--error-text);border-color:#f8717166}.chapter-edit-modal[data-v-bd0e9c11]{max-width:700px}.chapter-edit-modal h2[data-v-bd0e9c11]{margin-bottom:20px;color:var(--text-primary);font-size:18px}.chapter-edit-issue[data-v-bd0e9c11]{margin:-8px 0 16px;padding:10px 12px;border-left:3px solid #ef4444;background:#ef44441a;color:#f87171;font-size:13px;line-height:1.5;white-space:pre-wrap}.edit-row[data-v-bd0e9c11]{margin-bottom:14px}.edit-row label[data-v-bd0e9c11]{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:6px}.edit-row input[data-v-bd0e9c11],.edit-row textarea[data-v-bd0e9c11]{width:100%;padding:10px 14px;background:var(--bg-input);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:14px;font-family:inherit;resize:vertical}.edit-row textarea.wide-textarea[data-v-bd0e9c11]{width:580px;height:71px}.edit-row input[data-v-bd0e9c11]:focus,.edit-row textarea[data-v-bd0e9c11]:focus{outline:none;border-color:var(--border-focus)}.multi-tip[data-v-bd0e9c11]{font-size:11px;color:var(--text-muted);font-weight:400;margin-left:6px}.multi-select[data-v-bd0e9c11]{position:relative}.multi-select-trigger[data-v-bd0e9c11]{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;border:1px solid var(--border);border-radius:8px;background:var(--bg-input);color:var(--text-secondary);font-size:14px;cursor:pointer;transition:border-color .2s}.multi-select-trigger[data-v-bd0e9c11]:hover,.multi-select.open .multi-select-trigger[data-v-bd0e9c11]{border-color:var(--border-focus)}.ms-trigger-label[data-v-bd0e9c11]{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ms-trigger-arrow[data-v-bd0e9c11]{font-size:12px;color:var(--text-muted);transition:transform .2s}.ms-trigger-arrow.up[data-v-bd0e9c11]{transform:rotate(180deg)}.multi-select-panel[data-v-bd0e9c11]{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:50;max-height:260px;overflow-y:auto;padding:6px;background:var(--bg-card);border:1px solid var(--border-hover);border-radius:10px;box-shadow:0 8px 30px #00000059}.ms-group[data-v-bd0e9c11]{font-size:12px;font-weight:600;color:var(--text-secondary);padding:6px 8px 4px;margin-top:4px}.ms-group[data-v-bd0e9c11]:first-child{margin-top:0}.ms-item[data-v-bd0e9c11]{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:7px;cursor:pointer;font-size:13px;color:var(--text-primary);transition:background .15s}.ms-item[data-v-bd0e9c11]:hover:not(.disabled){background:var(--bg-input)}.ms-item.checked[data-v-bd0e9c11]{background:#6b728059;color:var(--text-muted);cursor:default;text-decoration:line-through}.ms-item.checked .ms-check[data-v-bd0e9c11]{color:#22c55e;font-weight:700;margin-left:auto}.ms-item.disabled[data-v-bd0e9c11]{opacity:.45;cursor:not-allowed}.ms-name[data-v-bd0e9c11]{flex:1}.ms-brief[data-v-bd0e9c11]{font-size:11px;color:var(--text-muted);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ms-panel-hint[data-v-bd0e9c11]{font-size:11px;color:var(--text-muted);padding:6px 8px 2px;border-top:1px dashed var(--border);margin-top:4px}.btn-copy-content[data-v-bd0e9c11]{display:inline-block;margin-left:8px;padding:2px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg-input);color:var(--text-secondary);font-size:13px;cursor:pointer;vertical-align:middle;transition:all .2s;line-height:1.6}.btn-copy-content[data-v-bd0e9c11]:hover{border-color:var(--accent-text);color:var(--accent-text)}.edit-actions[data-v-bd0e9c11]{display:flex;gap:10px;margin-top:20px}.draft-card[data-v-bd0e9c11]{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:20px;margin-bottom:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.draft-header[data-v-bd0e9c11]{display:flex;justify-content:space-between;margin-bottom:12px}.draft-header h3[data-v-bd0e9c11]{font-size:16px;color:var(--text-primary);font-weight:600}.draft-header span[data-v-bd0e9c11]{font-size:12px;color:var(--text-muted)}.draft-content textarea[data-v-bd0e9c11]{width:100%;padding:14px;border:1px solid var(--border);border-radius:10px;font-size:14px;resize:vertical;line-height:1.8;background:var(--bg-input);color:var(--text-primary)}.draft-content textarea[data-v-bd0e9c11]:focus{outline:none;border-color:var(--border-hover)}.draft-actions[data-v-bd0e9c11]{display:flex;gap:10px;margin-top:12px}.draft-actions button[data-v-bd0e9c11]{padding:9px 22px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;transition:all .3s}.draft-actions button[data-v-bd0e9c11]:first-child{background:linear-gradient(135deg,#06b6d4,#8b5cf6);color:#fff;border:none}.draft-actions button[data-v-bd0e9c11]:first-child:hover{box-shadow:0 4px 20px var(--border-hover)}.btn-danger[data-v-bd0e9c11]{background:transparent!important;color:var(--error-text)!important;border:1px solid rgba(248,113,113,.4)!important}.btn-download[data-v-bd0e9c11]{background:transparent!important;color:var(--success-text)!important;border:1px solid rgba(16,185,129,.4)!important}.btn-download[data-v-bd0e9c11]:hover{opacity:.85}.btn-danger[data-v-bd0e9c11]:hover{background:#f871711a!important}.empty[data-v-bd0e9c11]{text-align:center;padding:60px 0;color:var(--text-muted);font-size:14px}.publish-overlay[data-v-bd0e9c11]{z-index:300}.publish-modal[data-v-bd0e9c11]{background:var(--bg-card);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-hover);border-radius:20px;padding:40px 48px;text-align:center;min-width:400px;box-shadow:0 20px 60px #00000080,0 0 80px var(--border)}.publish-spinner[data-v-bd0e9c11]{width:56px;height:56px;border:4px solid var(--border);border-top-color:var(--info-text);border-radius:50%;animation:spin-bd0e9c11 1s linear infinite;margin:0 auto 24px}.publish-modal h3[data-v-bd0e9c11]{font-size:18px;color:var(--text-primary);margin:0 0 28px;font-weight:600}.publish-steps[data-v-bd0e9c11]{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.step[data-v-bd0e9c11]{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--text-muted);padding:10px 16px;background:var(--bg-input);border-radius:10px;border:1px solid var(--border);transition:all .4s}.step.done[data-v-bd0e9c11]{color:var(--success-text);border-color:#4ade8040;background:#4ade800f}.step.active[data-v-bd0e9c11]{color:var(--text-primary);border-color:var(--border-hover);background:var(--btn-bg);box-shadow:0 0 20px var(--btn-bg)}.step-icon[data-v-bd0e9c11]{font-size:18px;width:28px;text-align:center}.publish-hint[data-v-bd0e9c11]{font-size:13px;color:var(--text-muted);margin:0;animation:pulse-bd0e9c11 2s ease-in-out infinite}@keyframes pulse-bd0e9c11{0%,to{opacity:.5}50%{opacity:1}}.generation-card .draft-header[data-v-bd0e9c11]{flex-wrap:wrap;gap:8px}.generation-card h3[data-v-bd0e9c11],.generation-card .error[data-v-bd0e9c11]{overflow-wrap:anywhere}.generation-preview.scope-violation[data-v-bd0e9c11]{color:var(--error-text, #b42318);border:1px solid currentColor}.generation-preview[data-v-bd0e9c11]{overflow-wrap:anywhere;max-height:260px;overflow:auto;white-space:pre-wrap;padding:12px;margin:10px 0;border:1px solid var(--border);border-radius:8px;background:var(--bg-input);color:var(--text-primary);font:inherit}.generating-waiting-bar[data-v-bd0e9c11]{display:flex;align-items:center;gap:10px;padding:12px 16px;margin-top:12px;background:linear-gradient(135deg,var(--bg-card),var(--bg-card));border:1px solid var(--error-text);border-radius:8px;color:var(--error-text);font-size:14px;animation:pulse-border-bd0e9c11 1.5s ease-in-out infinite}.generating-waiting-spinner[data-v-bd0e9c11]{width:18px;height:18px;border:2px solid rgba(233,69,96,.3);border-top-color:var(--error-text);border-radius:50%;animation:spin-bd0e9c11 .8s linear infinite;flex-shrink:0}@keyframes spin-bd0e9c11{to{transform:rotate(360deg)}}@keyframes pulse-border-bd0e9c11{0%,to{border-color:#e94560}50%{border-color:#ff6b81}}.screenplay-section[data-v-bd0e9c11]{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:24px}.sp-novel-select[data-v-bd0e9c11]{flex:1;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-input);color:var(--text-primary);font-size:14px;outline:none;max-width:400px}.sp-novel-select[data-v-bd0e9c11]:focus{border-color:var(--accent-text)}.sp-chapter-list[data-v-bd0e9c11]{margin-top:20px}.sp-chapter-header[data-v-bd0e9c11]{display:flex;align-items:center;gap:16px;padding:10px 14px;background:var(--bg-input);border-radius:8px;margin-bottom:12px}.sp-check-all[data-v-bd0e9c11]{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary);cursor:pointer;white-space:nowrap}.sp-check-all input[data-v-bd0e9c11]{cursor:pointer}.sp-selected-count[data-v-bd0e9c11]{font-size:12px;color:var(--text-muted)}.btn-generate[data-v-bd0e9c11]{margin-left:auto;padding:8px 20px;border:none;border-radius:8px;background:linear-gradient(135deg,var(--accent-text),#8b5cf6);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.btn-generate[data-v-bd0e9c11]:hover{opacity:.9;transform:translateY(-1px)}.btn-generate[data-v-bd0e9c11]:disabled{opacity:.5;cursor:not-allowed;transform:none}.sp-chapter-item[data-v-bd0e9c11]{padding:8px 14px;border:1px solid var(--border);border-radius:8px;margin-bottom:4px;transition:all .15s}.sp-chapter-item[data-v-bd0e9c11]:hover{border-color:var(--accent-text);background:var(--accent-bg)}.sp-chk-label[data-v-bd0e9c11]{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:13px}.sp-chk-label input[data-v-bd0e9c11]{cursor:pointer}.sp-ch-name[data-v-bd0e9c11]{flex:1;color:var(--text-primary)}.sp-ch-words[data-v-bd0e9c11]{font-size:11px;color:var(--text-muted);white-space:nowrap}.sp-ch-status[data-v-bd0e9c11]{font-size:10px;padding:2px 8px;border-radius:4px;background:#4ade801f;color:var(--success-text);white-space:nowrap}.sp-ch-status.draft[data-v-bd0e9c11]{background:#fbbf241f;color:#f59e0b}.sp-hint[data-v-bd0e9c11]{padding:60px 0;font-size:14px;color:var(--text-muted)}.outline-hint[data-v-bd0e9c11]{font-size:12px;color:var(--text-muted);margin-left:10px}.outline-result[data-v-bd0e9c11]{margin-top:20px;padding:16px;background:var(--bg-card);border:1px solid var(--border);border-radius:12px}.outline-result-title[data-v-bd0e9c11]{font-size:15px;font-weight:600;margin-bottom:12px;color:#22c55e}.outline-batch-toolbar[data-v-bd0e9c11]{display:flex;align-items:center;gap:14px;margin:0 0 12px;padding:9px 10px;background:var(--bg-input);border:1px solid var(--border);border-radius:8px}.outline-select-all[data-v-bd0e9c11]{display:inline-flex;align-items:center;gap:7px;color:var(--text-secondary);font-size:13px;cursor:pointer}.outline-select-all input[data-v-bd0e9c11],.outline-item-checkbox[data-v-bd0e9c11]{accent-color:#22c55e;cursor:pointer}.outline-select-all input[data-v-bd0e9c11]:disabled,.outline-item-checkbox[data-v-bd0e9c11]:disabled{cursor:not-allowed}.outline-selected-count[data-v-bd0e9c11]{font-size:12px;color:var(--text-muted)}.btn-outline-batch-delete[data-v-bd0e9c11]{margin-left:auto;padding:5px 12px;border:1px solid rgba(248,113,113,.55);border-radius:6px;background:transparent;color:#f87171;font-size:12px;cursor:pointer;transition:all .15s}.btn-outline-batch-delete[data-v-bd0e9c11]:hover:not(:disabled){background:#f871711f}.btn-outline-batch-delete[data-v-bd0e9c11]:disabled{opacity:.45;cursor:not-allowed}.btn-outline-export[data-v-bd0e9c11]{margin-left:8px;padding:5px 12px;border:1px solid rgba(96,165,250,.55);border-radius:6px;background:transparent;color:#60a5fa;font-size:12px;cursor:pointer;transition:all .15s}.btn-outline-export[data-v-bd0e9c11]:hover:not(:disabled){background:#60a5fa1f}.btn-outline-export[data-v-bd0e9c11]:disabled{opacity:.45;cursor:not-allowed}.outline-item-checkbox[data-v-bd0e9c11]{flex:0 0 auto;margin:0 2px 0 0}.outline-char-count[data-v-bd0e9c11]{margin-top:5px;text-align:right;color:var(--text-muted);font-size:12px}.outline-char-count.char-warn[data-v-bd0e9c11]{color:#ef4444;font-weight:600}.outline-loading[data-v-bd0e9c11]{font-size:12px;font-weight:400;color:var(--text-muted);margin-left:10px}.outline-group-title[data-v-bd0e9c11]{font-size:13px;font-weight:600;color:var(--text-secondary);margin:8px 0 4px;padding:6px 10px;background:var(--bg-input);border-radius:6px}.outline-item[data-v-bd0e9c11]{padding:12px 0;border-bottom:1px dashed var(--border)}.outline-item[data-v-bd0e9c11]:last-child{border-bottom:none}.outline-item-head[data-v-bd0e9c11]{display:flex;align-items:baseline;gap:10px;margin-bottom:6px}.outline-item-num[data-v-bd0e9c11]{font-size:13px;font-weight:600;color:var(--text-primary);background:var(--bg-input);padding:2px 8px;border-radius:6px;white-space:nowrap}.outline-item-name[data-v-bd0e9c11]{font-size:15px;font-weight:600;color:var(--text-primary)}.outline-item-summary[data-v-bd0e9c11]{font-size:13px;line-height:1.7;color:var(--text-secondary)}.outline-tag[data-v-bd0e9c11]{font-size:11px;padding:2px 8px;border-radius:4px;white-space:nowrap}.outline-tag.pending[data-v-bd0e9c11]{background:#fbbf241f;color:#f59e0b}.outline-tag.saved[data-v-bd0e9c11]{background:#4ade801f;color:var(--success-text)}.outline-generation-hint[data-v-bd0e9c11]{margin:6px 0 0;font-size:12px;color:var(--text-muted)}.outline-item-actions[data-v-bd0e9c11]{display:flex;gap:8px;margin-top:8px}.btn-outline-save[data-v-bd0e9c11],.btn-outline-edit[data-v-bd0e9c11]{padding:5px 14px;font-size:13px;border:none;border-radius:6px;cursor:pointer;transition:all .15s;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.btn-outline-save[data-v-bd0e9c11]:hover,.btn-outline-edit[data-v-bd0e9c11]:hover{opacity:.9;transform:translateY(-1px)}.btn-outline-save[data-v-bd0e9c11]:disabled,.btn-outline-edit[data-v-bd0e9c11]:disabled,.btn-outline-cancel[data-v-bd0e9c11]:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-outline-save[data-v-bd0e9c11]:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-outline-edit[data-v-bd0e9c11]{background:linear-gradient(135deg,#3b82f6,#2563eb)}.btn-outline-cancel[data-v-bd0e9c11]{padding:5px 14px;font-size:13px;border:1px solid var(--border);border-radius:6px;cursor:pointer;color:var(--text-secondary);background:transparent;transition:all .15s}.btn-outline-cancel[data-v-bd0e9c11]:hover{border-color:var(--accent-text);color:var(--text-primary)}.outline-edit-input[data-v-bd0e9c11]{width:100%;max-width:480px}.outline-edit-textarea[data-v-bd0e9c11]{width:100%;resize:vertical;min-height:80px}.pagination[data-v-bd0e9c11]{display:flex;align-items:center;gap:6px;margin-top:12px;flex-wrap:wrap}.page-btn[data-v-bd0e9c11]{min-width:30px;height:30px;padding:0 8px;font-size:13px;color:var(--text-secondary);background:var(--bg-input);border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:all .15s}.page-btn[data-v-bd0e9c11]:hover:not(:disabled){color:var(--accent-text);border-color:var(--border-hover)}.page-btn[data-v-bd0e9c11]:disabled{opacity:.45;cursor:not-allowed}.page-btn.active[data-v-bd0e9c11]{background:linear-gradient(135deg,#06b6d4,#8b5cf6);color:#fff;border-color:transparent}.page-ellipsis[data-v-bd0e9c11]{color:var(--text-muted);padding:0 2px;font-size:13px}.chapter-count-hint[data-v-bd0e9c11]{font-size:12px;font-weight:400;color:var(--text-muted);margin-left:8px}.sp-modal[data-v-bd0e9c11]{background:var(--bg-card);border-radius:16px;width:90vw;max-width:960px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #0000004d;animation:spModalIn-bd0e9c11 .25s ease-out}@keyframes spModalIn-bd0e9c11{0%{opacity:0;transform:scale(.92) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.sp-modal-header[data-v-bd0e9c11]{display:flex;align-items:center;gap:12px;padding:18px 24px;background:var(--accent-bg);border-bottom:1px solid var(--border);flex-shrink:0}.sp-modal-header h3[data-v-bd0e9c11]{margin:0;font-size:16px;color:var(--text-primary);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sp-modal-actions[data-v-bd0e9c11]{display:flex;align-items:center;gap:12px;flex-shrink:0}.sp-word-count[data-v-bd0e9c11]{font-size:12px;color:var(--text-muted)}.btn-copy[data-v-bd0e9c11]{padding:8px 18px;border:1px solid var(--accent-text);border-radius:8px;background:transparent;color:var(--accent-text);font-size:13px;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-copy[data-v-bd0e9c11]:hover{background:var(--accent-text);color:#fff}.btn-close-result[data-v-bd0e9c11]{width:32px;height:32px;border:none;border-radius:50%;background:var(--bg-input);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .2s}.btn-close-result[data-v-bd0e9c11]:hover{background:#ef444426;color:#ef4444}.sp-modal-body[data-v-bd0e9c11]{padding:24px;flex:1;overflow-y:auto;font-size:14px;line-height:1.8;color:var(--text-secondary);white-space:pre-wrap;font-family:Courier New,Courier,monospace}.sp-modal-body[data-v-bd0e9c11]::-webkit-scrollbar{width:6px}.sp-modal-body[data-v-bd0e9c11]::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.circle-page[data-v-5c8b8fc5]{max-width:800px;margin:0 auto}.circle-header[data-v-5c8b8fc5]{text-align:center;margin-bottom:30px;padding:20px 0}.circle-header h1[data-v-5c8b8fc5]{font-size:24px;color:var(--text-primary)}.circle-header p[data-v-5c8b8fc5]{color:var(--text-secondary);font-size:13px;margin-top:4px}.loading[data-v-5c8b8fc5]{display:flex;align-items:center;justify-content:center;gap:10px;padding:60px 0;color:var(--text-secondary)}.spinner[data-v-5c8b8fc5]{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin-5c8b8fc5 .8s linear infinite;display:inline-block}.spinner-small[data-v-5c8b8fc5]{width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin-5c8b8fc5 .8s linear infinite;display:inline-block}@keyframes spin-5c8b8fc5{to{transform:rotate(360deg)}}.error[data-v-5c8b8fc5]{color:var(--error-text);text-align:center;padding:40px}.empty[data-v-5c8b8fc5]{text-align:center;color:var(--text-muted);padding:40px}.feed-card[data-v-5c8b8fc5]{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:20px 24px;margin-bottom:16px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--card-shadow);transition:all .3s}.feed-card[data-v-5c8b8fc5]:hover{border-color:var(--border-hover)}.feed-top[data-v-5c8b8fc5]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.feed-author[data-v-5c8b8fc5]{display:flex;align-items:center;gap:8px}.avatar[data-v-5c8b8fc5]{width:32px;height:32px;border-radius:50%;background:var(--brand-gradient);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff}.interactor[data-v-5c8b8fc5]{font-weight:600;color:var(--accent);font-size:14px}.action-tag[data-v-5c8b8fc5]{font-size:12px;color:var(--text-secondary)}.time[data-v-5c8b8fc5]{font-size:12px;color:var(--text-muted)}.feed-work[data-v-5c8b8fc5]{display:flex;gap:12px;align-items:center;padding:12px;background:var(--bg-card-hover);border-radius:10px;margin-bottom:10px;cursor:pointer;transition:background .3s}.feed-work[data-v-5c8b8fc5]:hover{background:var(--accent-bg)}.work-cover[data-v-5c8b8fc5]{width:48px;height:64px;border-radius:6px;object-fit:cover;flex-shrink:0}.work-cover.placeholder[data-v-5c8b8fc5]{display:flex;align-items:center;justify-content:center;background:var(--btn-bg);font-size:24px}.work-title[data-v-5c8b8fc5]{color:var(--text-primary);font-size:15px;display:block}.work-author[data-v-5c8b8fc5]{color:var(--text-muted);font-size:12px;margin-top:2px;display:block}.feed-body[data-v-5c8b8fc5]{margin-bottom:8px}.comment-preview[data-v-5c8b8fc5]{color:var(--text-secondary);font-size:13px;line-height:1.6;font-style:italic}.feed-actions[data-v-5c8b8fc5]{display:flex;align-items:center;justify-content:space-between;padding-top:8px;border-top:1px solid var(--border)}.action-btns[data-v-5c8b8fc5]{display:flex;gap:4px}.action-btn[data-v-5c8b8fc5]{background:transparent;border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;font-size:13px;padding:6px 14px;border-radius:8px;transition:all .25s;display:flex;align-items:center;gap:4px}.action-btn[data-v-5c8b8fc5]:hover{background:var(--btn-bg);border-color:var(--border-hover);color:var(--accent)}.action-btn.active[data-v-5c8b8fc5]{background:var(--btn-bg);border-color:var(--accent);color:var(--accent);box-shadow:0 0 10px var(--accent-glow)}.comment-toggle[data-v-5c8b8fc5]{display:flex;align-items:center;gap:6px;cursor:pointer;padding:6px 12px;border-radius:8px;transition:all .25s;-webkit-user-select:none;user-select:none}.comment-toggle[data-v-5c8b8fc5]:hover{background:var(--btn-bg)}.toggle-label[data-v-5c8b8fc5]{font-size:13px;color:var(--text-secondary)}.comment-count[data-v-5c8b8fc5]{color:var(--accent);font-weight:600;font-size:12px}.chevron[data-v-5c8b8fc5]{font-size:11px;color:var(--text-muted);transition:transform .3s}.chevron.open[data-v-5c8b8fc5]{transform:rotate(180deg)}.comments-section[data-v-5c8b8fc5]{margin-top:12px;padding-top:12px;border-top:1px solid var(--border);animation:fadeIn-5c8b8fc5 .3s ease}@keyframes fadeIn-5c8b8fc5{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.comments-loading[data-v-5c8b8fc5]{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;color:var(--text-muted);font-size:13px}.comment-item[data-v-5c8b8fc5]{display:flex;gap:10px;margin-bottom:12px}.commenter-avatar[data-v-5c8b8fc5]{width:28px;height:28px;border-radius:50%;flex-shrink:0;background:var(--brand-gradient);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff}.comment-bubble[data-v-5c8b8fc5]{flex:1;background:var(--bg-card-hover);border-radius:10px;padding:10px 14px;border:1px solid var(--border)}.comment-meta[data-v-5c8b8fc5]{display:flex;gap:8px;align-items:center;margin-bottom:4px}.comment-meta strong[data-v-5c8b8fc5]{font-size:13px;color:var(--accent)}.comment-time[data-v-5c8b8fc5]{font-size:11px;color:var(--text-muted)}.comment-text[data-v-5c8b8fc5]{color:var(--text-primary);font-size:13px;line-height:1.5}.no-comments[data-v-5c8b8fc5]{text-align:center;color:var(--text-muted);padding:12px;font-size:13px}.comment-input-row[data-v-5c8b8fc5]{display:flex;gap:8px;margin-top:12px}.comment-input[data-v-5c8b8fc5]{flex:1;padding:10px 14px;border-radius:10px;background:var(--bg-card-hover);border:1px solid var(--border);color:var(--text-primary);font-size:13px;outline:none;transition:border-color .3s}.comment-input[data-v-5c8b8fc5]:focus{border-color:var(--border-focus)}.btn-submit[data-v-5c8b8fc5]{padding:10px 20px;border-radius:10px;border:none;cursor:pointer;background:var(--brand-gradient);color:#fff;font-size:13px;font-weight:600;transition:all .3s;white-space:nowrap}.btn-submit[data-v-5c8b8fc5]:hover:not(:disabled){box-shadow:0 0 16px var(--accent-glow)}.btn-submit[data-v-5c8b8fc5]:disabled{opacity:.5;cursor:not-allowed}.btn-more[data-v-5c8b8fc5]{display:block;width:100%;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--bg-card);color:var(--accent);cursor:pointer;font-size:14px;font-weight:600;margin-top:16px;transition:all .3s}.btn-more[data-v-5c8b8fc5]:hover{border-color:var(--border-hover);box-shadow:0 0 16px var(--accent-glow)}.vip-toast[data-v-5c8b8fc5]{position:fixed;bottom:30px;left:50%;transform:translate(-50%) translateY(20px);background:#0f0f28f2;border:1px solid var(--gold);padding:12px 24px;border-radius:12px;font-size:13px;color:#fbbf24;z-index:9999;opacity:0;pointer-events:none;transition:all .35s ease;box-shadow:0 8px 30px #00000080,0 0 20px #f59e0b1a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);white-space:nowrap;max-width:90vw}.vip-toast.show[data-v-5c8b8fc5]{opacity:1;transform:translate(-50%) translateY(0);pointer-events:auto}.toast-vip-link[data-v-5c8b8fc5]{color:var(--gold);font-weight:700;text-decoration:underline;margin:0 2px}.page-disabled[data-v-5c8b8fc5]{position:relative;filter:grayscale(.8);pointer-events:none;opacity:.7}.page-disabled .feed-list[data-v-5c8b8fc5],.page-disabled .loading[data-v-5c8b8fc5],.page-disabled .error[data-v-5c8b8fc5]{display:none}.disabled-tip[data-v-5c8b8fc5]{text-align:center;padding:80px 40px;background:var(--bg-card);border:1px solid var(--border);border-radius:16px;margin-bottom:24px;pointer-events:auto}.disabled-tip .tip-icon[data-v-5c8b8fc5]{font-size:64px;margin-bottom:20px;opacity:.6}.disabled-tip h3[data-v-5c8b8fc5]{font-size:20px;color:var(--text-primary);margin-bottom:12px}.disabled-tip p[data-v-5c8b8fc5]{font-size:14px;color:var(--text-secondary)}.reader-page[data-v-ae789c7d]{display:flex;min-height:calc(100vh - 64px);position:relative;max-width:1200px;margin:0 auto;background:var(--bg-card);border-left:1px solid var(--border);border-right:1px solid var(--border)}.reader-body[data-v-ae789c7d]{display:flex;flex:1;min-height:0}.reader-body.sidebar-hidden .chapter-sidebar[data-v-ae789c7d]{width:0;padding:0;opacity:0;overflow:hidden}.chapter-sidebar[data-v-ae789c7d]{width:200px;flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid var(--border);transition:all .25s ease;background:var(--bg-card)}.sidebar-toolbar[data-v-ae789c7d]{padding:8px 10px;display:flex;gap:6px;border-bottom:1px solid var(--border)}.search-box[data-v-ae789c7d]{flex:1;position:relative;display:flex;align-items:center}.search-icon[data-v-ae789c7d]{position:absolute;left:8px;font-size:11px;opacity:.5}.search-box input[data-v-ae789c7d]{width:100%;padding:5px 8px 5px 24px;border:1px solid var(--border);border-radius:6px;font-size:11px;background:var(--bg-input);color:var(--text-primary);outline:none;transition:all .2s}.search-box input[data-v-ae789c7d]:focus{border-color:var(--accent-text)}.sort-btn[data-v-ae789c7d]{padding:5px 8px;border:1px solid var(--border);border-radius:6px;background:var(--bg-input);color:var(--text-secondary);font-size:11px;cursor:pointer;white-space:nowrap;transition:all .2s}.sort-btn[data-v-ae789c7d]:hover{border-color:var(--accent-text);color:var(--accent-text)}.chapter-list[data-v-ae789c7d]{flex:1;overflow-y:auto;padding:4px 8px}.chapter-list .empty[data-v-ae789c7d]{text-align:center;padding:40px 0;color:var(--text-muted);font-size:12px}.chapter-item[data-v-ae789c7d]{display:flex;align-items:center;gap:5px;padding:6px 8px;border-radius:5px;cursor:pointer;margin-bottom:1px;transition:all .15s;position:relative}.chapter-item[data-v-ae789c7d]:hover{background:var(--bg-input)}.chapter-item.active[data-v-ae789c7d]{background:var(--accent-bg);border-left:2px solid var(--accent-text);padding-left:6px}.chapter-item .ch-index[data-v-ae789c7d]{font-size:10px;color:var(--text-muted);flex-shrink:0;width:32px}.chapter-item.active .ch-index[data-v-ae789c7d]{color:var(--accent-text)}.ch-name[data-v-ae789c7d]{flex:1;font-size:12px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.chapter-item.read .ch-name[data-v-ae789c7d]{color:var(--text-muted);font-weight:400}.chapter-item.active .ch-name[data-v-ae789c7d]{color:var(--accent-text);font-weight:600}.ch-words[data-v-ae789c7d]{font-size:10px;color:var(--text-muted);flex-shrink:0}.read-dot[data-v-ae789c7d]{color:var(--success-text);font-size:10px;flex-shrink:0}.sidebar-footer[data-v-ae789c7d]{padding:8px 10px;border-top:1px solid var(--border)}.sidebar-footer .btn-bookshelf[data-v-ae789c7d]{width:100%;padding:6px 10px;border-radius:6px;cursor:pointer;font-size:11px;font-weight:500;border:1px solid var(--accent-text);background:transparent;color:var(--accent-text);transition:all .2s}.sidebar-footer .btn-bookshelf[data-v-ae789c7d]:hover{background:var(--accent-text);color:#fff}.reader-content[data-v-ae789c7d]{flex:1;min-width:0;overflow-y:auto}.content-area[data-v-ae789c7d]{display:flex;flex-direction:column;flex:1;background:var(--bg-card);overflow:hidden;position:relative;scroll-behavior:smooth}.protected-area[data-v-ae789c7d]{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.reader-settings[data-v-ae789c7d]{display:flex;align-items:center;gap:6px;padding:6px 8px;border-bottom:1px solid var(--border);flex-wrap:wrap}.setting-group[data-v-ae789c7d]{display:flex;align-items:center;gap:3px}.setting-group.right[data-v-ae789c7d]{margin-left:auto}.setting-label[data-v-ae789c7d]{font-size:10px;color:var(--text-muted);min-width:20px;text-align:center}.progress-mini[data-v-ae789c7d]{font-size:10px;color:var(--text-muted);font-variant-numeric:tabular-nums}.tool-btn[data-v-ae789c7d]{padding:3px 7px;border:1px solid var(--border);border-radius:4px;background:var(--bg-input);color:var(--text-secondary);font-size:11px;cursor:pointer;display:inline-flex;align-items:center;gap:2px;transition:all .2s;white-space:nowrap}.tool-btn[data-v-ae789c7d]:hover{border-color:var(--accent-text);color:var(--accent-text)}.tool-btn.sm[data-v-ae789c7d]{padding:2px 6px;font-size:10px}.tool-btn.wide[data-v-ae789c7d]{min-width:44px;justify-content:center}.welcome[data-v-ae789c7d]{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 114px);padding:40px 20px}.welcome-inner[data-v-ae789c7d]{text-align:center}.welcome-cover[data-v-ae789c7d]{width:160px;height:220px;margin:0 auto 24px;border-radius:8px;overflow:hidden;box-shadow:0 12px 40px #0000004d}.welcome-cover img[data-v-ae789c7d]{width:100%;height:100%;object-fit:cover}.welcome-title[data-v-ae789c7d]{font-size:28px;color:var(--text-primary);margin:0 0 8px;font-weight:700}.welcome-author[data-v-ae789c7d]{font-size:14px;color:var(--text-secondary);margin:0 0 20px}.welcome-desc[data-v-ae789c7d]{color:var(--text-muted);font-size:14px;line-height:1.8;margin:0 0 24px}.btn-start-read[data-v-ae789c7d]{padding:12px 40px;border-radius:30px;cursor:pointer;font-size:15px;font-weight:600;border:none;background:linear-gradient(135deg,var(--accent-text),#8b5cf6);color:#fff;transition:all .3s;box-shadow:0 4px 16px var(--accent-glow)}.btn-start-read[data-v-ae789c7d]:hover{transform:translateY(-2px);box-shadow:0 6px 24px var(--accent-glow)}.welcome-empty[data-v-ae789c7d]{color:var(--text-muted);font-size:14px;margin-top:16px}.chapter-content[data-v-ae789c7d]{box-sizing:border-box;width:100%;max-width:820px;margin:0 auto;padding:44px 48px 64px}.chapter-header[data-v-ae789c7d]{text-align:center;margin-bottom:36px;padding-bottom:24px;border-bottom:1px solid var(--border)}.chapter-title[data-v-ae789c7d]{font-family:Songti SC,"Noto Serif CJK SC","Source Han Serif SC",SimSun,serif;font-size:24px;font-weight:700;color:var(--text-primary);margin:0 0 10px;line-height:1.4}.chapter-meta[data-v-ae789c7d]{font-size:12px;color:var(--text-muted)}.chapter-body[data-v-ae789c7d]{font-family:Songti SC,"Noto Serif CJK SC","Source Han Serif SC",SimSun,serif;font-size:18px;line-height:2;color:var(--text-primary);overflow-wrap:anywhere;word-break:normal;line-break:strict}.chapter-body p[data-v-ae789c7d]{text-indent:2em;text-align:justify;text-align-last:left;margin:0 0 .85em;orphans:2;widows:2}.chapter-body p[data-v-ae789c7d]:last-child{margin-bottom:0}.font-size-xs .chapter-body[data-v-ae789c7d]{font-size:14px}.font-size-sm .chapter-body[data-v-ae789c7d]{font-size:16px}.font-size-md .chapter-body[data-v-ae789c7d]{font-size:18px}.font-size-lg .chapter-body[data-v-ae789c7d]{font-size:20px}.font-size-xl .chapter-body[data-v-ae789c7d]{font-size:22px}.line-height-tight .chapter-body[data-v-ae789c7d]{line-height:1.7}.line-height-normal .chapter-body[data-v-ae789c7d]{line-height:2}.line-height-relaxed .chapter-body[data-v-ae789c7d]{line-height:2.4}.chapter-nav[data-v-ae789c7d]{display:flex;align-items:center;gap:12px;margin-top:48px;padding-top:28px;border-top:1px solid var(--border)}.nav-btn[data-v-ae789c7d]{flex:1;display:flex;align-items:center;gap:10px;padding:14px 18px;border:1px solid var(--border);border-radius:10px;background:var(--bg-card);color:var(--text-primary);cursor:pointer;transition:all .2s;text-align:left}.nav-btn[data-v-ae789c7d]:hover:not(.disabled):not(.back-top){border-color:var(--accent-text);background:var(--accent-bg)}.nav-btn.disabled[data-v-ae789c7d]{opacity:.4;cursor:not-allowed}.nav-btn.next[data-v-ae789c7d]{flex-direction:row-reverse;text-align:right}.nav-arrow[data-v-ae789c7d]{font-size:24px;color:var(--accent-text);flex-shrink:0;width:24px;text-align:center}.nav-text[data-v-ae789c7d]{flex:1;min-width:0}.nav-label[data-v-ae789c7d]{display:block;font-size:11px;color:var(--text-muted);margin-bottom:2px}.nav-name[data-v-ae789c7d]{display:block;font-size:13px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-btn.back-top[data-v-ae789c7d]{flex:none;width:44px;height:44px;padding:0;justify-content:center;border-radius:50%;font-size:16px}.vip-copy-overlay[data-v-ae789c7d]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;display:flex;align-items:center;justify-content:center;animation:fadeIn-ae789c7d .25s ease}@keyframes fadeIn-ae789c7d{0%{opacity:0}to{opacity:1}}.vip-copy-modal[data-v-ae789c7d]{background:var(--bg-card);border:1px solid var(--gold, #fbbf24);border-radius:20px;padding:40px 36px 32px;text-align:center;max-width:420px;width:90%;box-shadow:0 20px 60px #0009,0 0 40px #f59e0b14;animation:slideUp-ae789c7d .3s ease}@keyframes slideUp-ae789c7d{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.vip-modal-icon[data-v-ae789c7d]{font-size:48px;margin-bottom:12px}.vip-modal-title[data-v-ae789c7d]{font-size:20px;color:var(--gold, #fbbf24);margin:0 0 10px;font-weight:700}.vip-modal-desc[data-v-ae789c7d]{font-size:14px;color:var(--text-secondary);margin:0 0 28px;line-height:1.6}.vip-modal-desc b[data-v-ae789c7d]{color:var(--gold, #fbbf24)}.vip-modal-actions[data-v-ae789c7d]{display:flex;gap:14px;justify-content:center}.vip-modal-btn[data-v-ae789c7d]{padding:10px 24px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.btn-cancel[data-v-ae789c7d]{background:var(--bg-input);color:var(--text-secondary);border:1px solid var(--border)}.btn-cancel[data-v-ae789c7d]:hover{background:var(--accent-bg)}.btn-confirm[data-v-ae789c7d]{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 4px 16px #f59e0b4d}.btn-confirm[data-v-ae789c7d]:hover{box-shadow:0 6px 24px #f59e0b73;transform:translateY(-1px)}@media (max-width: 600px){.reader-body[data-v-ae789c7d]{flex-direction:column}.chapter-sidebar[data-v-ae789c7d]{width:100%;min-height:0;max-height:220px;border-right:none;border-bottom:1px solid var(--border)}.reader-body.sidebar-hidden .chapter-sidebar[data-v-ae789c7d]{display:none}.chapter-content[data-v-ae789c7d]{padding:28px 20px 44px}.chapter-header[data-v-ae789c7d]{margin-bottom:28px;padding-bottom:20px}.chapter-title[data-v-ae789c7d]{font-size:22px}.chapter-nav[data-v-ae789c7d]{gap:8px;margin-top:36px}.nav-btn[data-v-ae789c7d]{min-width:0;gap:4px;padding:12px 8px}.nav-arrow[data-v-ae789c7d]{width:16px}}@media (max-width: 900px){.sidebar[data-v-ae789c7d]{position:fixed;left:0;top:64px;bottom:0;z-index:50;transform:translate(-100%);transition:transform .3s ease}body.sidebar-mobile-open .sidebar[data-v-ae789c7d]{transform:translate(0)}.progress-bar[data-v-ae789c7d]{top:64px}}.sidebar[data-v-ae789c7d]::-webkit-scrollbar,.content-area[data-v-ae789c7d]::-webkit-scrollbar,.chapter-list[data-v-ae789c7d]::-webkit-scrollbar{width:6px}.sidebar[data-v-ae789c7d]::-webkit-scrollbar-track,.content-area[data-v-ae789c7d]::-webkit-scrollbar-track,.chapter-list[data-v-ae789c7d]::-webkit-scrollbar-track{background:transparent}.sidebar[data-v-ae789c7d]::-webkit-scrollbar-thumb,.content-area[data-v-ae789c7d]::-webkit-scrollbar-thumb,.chapter-list[data-v-ae789c7d]::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.sidebar[data-v-ae789c7d]::-webkit-scrollbar-thumb:hover,.content-area[data-v-ae789c7d]::-webkit-scrollbar-thumb:hover,.chapter-list[data-v-ae789c7d]::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.vip-page[data-v-06674601]{max-width:1100px;margin:0 auto}.vip-hero[data-v-06674601]{text-align:center;margin-bottom:36px;position:relative;padding:40px 0 20px}.hero-glow[data-v-06674601]{position:absolute;top:-40px;left:50%;transform:translate(-50%);width:300px;height:300px;background:radial-gradient(circle,var(--accent-glow),transparent);pointer-events:none}.vip-hero h1[data-v-06674601]{font-size:28px;color:var(--text-primary);position:relative;z-index:1;margin-bottom:8px}.hero-sub[data-v-06674601]{color:var(--text-secondary);font-size:14px}.plan-section[data-v-06674601]{margin-bottom:48px}.section-title[data-v-06674601]{text-align:center;font-size:20px;color:var(--text-primary);margin-bottom:20px;font-weight:700}.svip-title[data-v-06674601]{color:var(--gold)}.loading[data-v-06674601]{display:flex;gap:10px;align-items:center;justify-content:center;padding:80px 0;color:var(--text-secondary)}.spinner[data-v-06674601]{width:20px;height:20px;border:2px solid var(--accent-bg);border-top-color:var(--accent);border-radius:50%;animation:spin-06674601 .8s linear infinite;display:inline-block}@keyframes spin-06674601{to{transform:rotate(360deg)}}.vip-card[data-v-06674601]{background:var(--bg-card);border:1px solid var(--border);border-radius:18px;padding:40px 48px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--card-shadow)}.already-vip[data-v-06674601]{text-align:center;padding:60px 48px;margin-bottom:36px}.already-vip h2[data-v-06674601]{color:var(--accent);font-size:22px;margin-bottom:8px}.already-vip p[data-v-06674601]{color:var(--text-secondary);font-size:14px;margin-bottom:4px}.already-vip p b[data-v-06674601]{color:#e0e0e0}.svip-card-bg[data-v-06674601]{border-color:var(--gold);background:linear-gradient(180deg,rgba(245,158,11,.05),var(--bg-card))}.vip-badge[data-v-06674601]{display:inline-block;padding:6px 20px;border-radius:20px;background:linear-gradient(135deg,#06b6d433,#8b5cf633);color:var(--accent);font-size:13px;font-weight:600;margin-bottom:16px;border:1px solid var(--accent-glow)}.svip-badge[data-v-06674601]{background:linear-gradient(135deg,#f59e0b33,#ef444433);color:var(--gold);border:1px solid var(--gold)}.vip-cards[data-v-06674601]{display:flex;gap:20px;justify-content:center;align-items:stretch;flex-wrap:wrap}.price-card[data-v-06674601]{flex:1;min-width:280px;max-width:340px;background:var(--bg-card);border:1px solid var(--border);border-radius:18px;padding:28px 22px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);text-align:center;position:relative;overflow:hidden;cursor:pointer;box-shadow:var(--card-shadow);transition:all .3s;display:flex;flex-direction:column}.price-card[data-v-06674601]:hover{border-color:var(--border-hover);transform:translateY(-4px);box-shadow:var(--card-shadow-hover)}.price-card.highlight[data-v-06674601]{border-color:var(--border-focus);box-shadow:var(--card-shadow),0 0 50px var(--accent-glow);transform:scale(1.03)}.price-card.highlight[data-v-06674601]:hover{transform:scale(1.03) translateY(-4px)}.svip-card[data-v-06674601]{border-color:var(--gold);background:linear-gradient(180deg,rgba(245,158,11,.04),var(--bg-card))}.svip-card[data-v-06674601]:hover{border-color:var(--gold);box-shadow:0 0 40px #f59e0b26}.highlight-svip[data-v-06674601]{border-color:var(--gold);box-shadow:var(--card-shadow),0 0 60px #f59e0b33;transform:scale(1.03);background:linear-gradient(180deg,rgba(245,158,11,.08),var(--bg-card))}.highlight-svip[data-v-06674601]:hover{transform:scale(1.03) translateY(-4px);box-shadow:0 0 70px #f59e0b4d}.card-ribbon[data-v-06674601]{position:absolute;top:12px;right:-28px;transform:rotate(45deg);background:var(--gold-gradient);color:#fff;padding:3px 36px;font-size:10px;font-weight:700}.ribbon-svip[data-v-06674601]{background:linear-gradient(135deg,#f59e0b,#ef4444)}.price-card h3[data-v-06674601]{font-size:15px;color:var(--text-primary);margin:0 0 10px;font-weight:600}.price[data-v-06674601]{margin-bottom:6px}.symbol[data-v-06674601]{font-size:18px;color:var(--accent);vertical-align:top;font-weight:600}.svip-card .symbol[data-v-06674601]{color:var(--gold)}.amount[data-v-06674601]{font-size:40px;color:var(--text-primary);font-weight:800;line-height:1}.period[data-v-06674601]{font-size:13px;color:var(--text-muted)}.save-tag[data-v-06674601]{font-size:11px;color:var(--gold);background:var(--warning-bg);padding:2px 10px;border-radius:10px;display:inline-block;margin-bottom:14px}.features[data-v-06674601]{list-style:none;padding:0;margin:0 0 20px;text-align:left;flex:1}.features li[data-v-06674601]{padding:5px 0;color:var(--text-secondary);font-size:12px}.btn-pay[data-v-06674601]{width:100%;padding:10px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:700;color:var(--btn-text);background:var(--btn-bg);border:1px solid var(--btn-border);transition:all .3s;display:flex;align-items:center;justify-content:center;gap:8px}.btn-pay[data-v-06674601]:hover:not(:disabled){background:var(--accent-bg)}.btn-highlight[data-v-06674601]{background:var(--brand-gradient);color:#fff;border:none;box-shadow:0 4px 24px var(--accent-glow)}.btn-pay[data-v-06674601]:disabled{opacity:.6;cursor:not-allowed}.btn-svip[data-v-06674601]{background:linear-gradient(135deg,#f59e0b26,#ef44441a);border:1px solid var(--gold);color:var(--gold)}.btn-svip[data-v-06674601]:hover:not(:disabled){background:linear-gradient(135deg,#f59e0b40,#ef444433)}.btn-svip-highlight[data-v-06674601]{background:linear-gradient(135deg,#f59e0b,#ef4444);color:#fff;border:none;box-shadow:0 4px 24px #f59e0b66}.btn-svip-highlight[data-v-06674601]:hover:not(:disabled){box-shadow:0 4px 30px #f59e0b80}.vip-permissions[data-v-06674601]{margin-top:20px;text-align:left;display:inline-block}.perm-group[data-v-06674601]{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:16px 24px}.perm-group h4[data-v-06674601]{font-size:13px;color:var(--text-secondary);margin:0 0 10px;font-weight:600}.perm-group ul[data-v-06674601]{list-style:none;padding:0;margin:0}.perm-group ul li[data-v-06674601]{padding:4px 0;color:var(--text-secondary);font-size:13px}.perm-group ul li b[data-v-06674601]{color:var(--text-primary)}.svip-card-bg .perm-group[data-v-06674601]{border-color:#f59e0b33}.svip-card-bg .perm-group ul li b[data-v-06674601]{color:var(--gold)}.bookshelf-page[data-v-9ec27f80]{max-width:1000px;margin:0 auto;padding:20px}.page-header[data-v-9ec27f80]{text-align:center;margin-bottom:30px}.page-header h1[data-v-9ec27f80]{font-size:24px;color:var(--text-primary)}.page-header p[data-v-9ec27f80]{color:var(--text-secondary);font-size:13px;margin-top:4px}.loading[data-v-9ec27f80]{display:flex;align-items:center;justify-content:center;gap:10px;padding:60px 0;color:var(--text-secondary)}.spinner[data-v-9ec27f80]{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin-9ec27f80 .8s linear infinite;display:inline-block}@keyframes spin-9ec27f80{to{transform:rotate(360deg)}}.empty[data-v-9ec27f80]{text-align:center;padding:80px 0;color:var(--text-muted)}.empty-icon[data-v-9ec27f80]{font-size:64px;margin-bottom:16px;opacity:.5}.empty p[data-v-9ec27f80]{font-size:18px;color:var(--text-secondary);margin-bottom:8px}.book-grid[data-v-9ec27f80]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.book-card[data-v-9ec27f80]{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:16px;display:flex;gap:14px;transition:all .3s;position:relative;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--card-shadow)}.book-card[data-v-9ec27f80]:hover{border-color:var(--border-hover);transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.book-main[data-v-9ec27f80]{display:flex;gap:14px;cursor:pointer;flex:1;min-width:0}.book-cover[data-v-9ec27f80]{width:72px;height:96px;border-radius:8px;object-fit:cover;flex-shrink:0}.book-cover.placeholder[data-v-9ec27f80]{display:flex;align-items:center;justify-content:center;background:var(--btn-bg);font-size:32px}.book-info[data-v-9ec27f80]{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.book-title[data-v-9ec27f80]{color:var(--text-primary);font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.book-author[data-v-9ec27f80]{color:var(--accent);font-size:12px}.book-genre[data-v-9ec27f80]{color:var(--text-muted);font-size:11px;background:var(--btn-bg);padding:2px 8px;border-radius:4px;display:inline-block;width:fit-content}.book-desc[data-v-9ec27f80]{color:var(--text-secondary);font-size:12px;line-height:1.5;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:4px}.progress-bar[data-v-9ec27f80]{margin-top:8px;padding:6px 10px;border-radius:6px;background:var(--accent-bg);border:1px solid var(--accent-bg);display:flex;justify-content:space-between;align-items:center}.progress-bar.new[data-v-9ec27f80]{background:#94a3b80f;border-color:#94a3b81a}.progress-label[data-v-9ec27f80]{font-size:11px;color:var(--accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.progress-bar.new .progress-label[data-v-9ec27f80]{color:var(--text-muted)}.progress-hint[data-v-9ec27f80]{font-size:10px;color:var(--text-muted);white-space:nowrap;margin-left:8px}.btn-remove[data-v-9ec27f80]{position:absolute;top:10px;right:10px;padding:4px 10px;border-radius:6px;border:none;cursor:pointer;background:#ef444426;color:var(--error-text);font-size:12px;transition:all .3s}.btn-remove[data-v-9ec27f80]:hover{background:#ef44444d}.profile-page[data-v-3d871da3]{max-width:800px;margin:0 auto;padding:20px}.profile-header[data-v-3d871da3]{text-align:center;margin-bottom:24px}.avatar-big[data-v-3d871da3]{width:72px;height:72px;border-radius:50%;margin:0 auto 12px;background:var(--brand-gradient);display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700;color:#fff}.profile-header h2[data-v-3d871da3]{font-size:22px;color:var(--text-primary);margin-bottom:4px}.vip-badge[data-v-3d871da3]{font-size:13px;color:#fbbf24;font-weight:600}.vip-expire[data-v-3d871da3]{font-size:11px;color:var(--text-muted);margin-left:8px}.stats-row[data-v-3d871da3]{display:flex;justify-content:center;gap:32px;margin-bottom:28px}.stat-item[data-v-3d871da3]{text-align:center}.stat-item strong[data-v-3d871da3]{display:block;font-size:22px;color:var(--accent)}.stat-item span[data-v-3d871da3]{font-size:12px;color:var(--text-muted)}.loading[data-v-3d871da3]{display:flex;align-items:center;justify-content:center;gap:10px;padding:60px 0;color:var(--text-secondary)}.spinner[data-v-3d871da3]{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin-3d871da3 .8s linear infinite;display:inline-block}@keyframes spin-3d871da3{to{transform:rotate(360deg)}}.section[data-v-3d871da3]{margin-bottom:24px}.section h3[data-v-3d871da3]{font-size:16px;color:var(--text-primary);margin-bottom:12px}.count[data-v-3d871da3]{font-size:13px;color:var(--text-muted)}.user-list[data-v-3d871da3]{display:flex;flex-wrap:wrap;gap:8px}.user-tag[data-v-3d871da3]{display:flex;align-items:center;gap:8px;background:var(--bg-card);border:1px solid var(--border);padding:8px 14px;border-radius:10px;font-size:13px;color:var(--text-primary)}.user-avatar[data-v-3d871da3]{width:26px;height:26px;border-radius:50%;flex-shrink:0;background:var(--brand-gradient);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff}.book-mini-list[data-v-3d871da3]{display:flex;flex-direction:column;gap:8px}.book-mini[data-v-3d871da3]{display:flex;gap:10px;align-items:center;padding:10px 14px;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:all .3s}.book-mini[data-v-3d871da3]:hover{border-color:var(--border-hover)}.mini-cover[data-v-3d871da3]{width:36px;height:48px;border-radius:4px;object-fit:cover;flex-shrink:0}.mini-cover.placeholder[data-v-3d871da3]{display:flex;align-items:center;justify-content:center;background:var(--btn-bg);font-size:18px}.mini-info strong[data-v-3d871da3]{display:block;font-size:14px;color:var(--text-primary)}.mini-info span[data-v-3d871da3]{font-size:12px;color:var(--text-muted)}.empty[data-v-3d871da3]{text-align:center;padding:60px 0;color:var(--text-muted);font-size:15px}.settings-page[data-v-8512d63d]{max-width:800px;margin:0 auto}.page-hero[data-v-8512d63d]{text-align:center;margin-bottom:40px;padding:30px 0 10px;position:relative}.page-hero h1[data-v-8512d63d]{font-size:26px;color:var(--text-primary);margin-bottom:6px}.page-hero p[data-v-8512d63d]{color:var(--text-secondary);font-size:14px}.settings-section[data-v-8512d63d]{background:var(--bg-card);border:1px solid var(--border);border-radius:18px;padding:32px;margin-bottom:24px;box-shadow:var(--card-shadow);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.section-header[data-v-8512d63d]{display:flex;align-items:center;gap:16px;margin-bottom:24px}.section-icon[data-v-8512d63d]{width:42px;height:42px;border-radius:12px;background:var(--btn-bg);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--accent);flex-shrink:0}.section-header h2[data-v-8512d63d]{font-size:17px;color:var(--text-primary);margin-bottom:2px}.section-desc[data-v-8512d63d]{font-size:12px;color:var(--text-muted)}.theme-grid[data-v-8512d63d]{display:flex;gap:16px}.theme-card[data-v-8512d63d]{flex:1;background:var(--bg-card-hover);border:2px solid var(--border);border-radius:16px;padding:20px;cursor:pointer;position:relative;overflow:hidden;transition:all .35s}.theme-card[data-v-8512d63d]:hover{border-color:var(--border-hover);box-shadow:var(--card-shadow-hover)}.theme-card.active[data-v-8512d63d]{border-color:var(--accent);box-shadow:0 0 30px var(--accent-glow)}.theme-preview[data-v-8512d63d]{width:100%;height:80px;border-radius:10px;margin-bottom:14px;overflow:hidden;display:flex;flex-direction:column}.preview-purple[data-v-8512d63d]{background:linear-gradient(135deg,#0a0a1a,#1a1040)}.preview-purple .preview-bar[data-v-8512d63d]{background:linear-gradient(135deg,#06b6d4,#8b5cf6)}.preview-purple .preview-block[data-v-8512d63d]{background:var(--accent-bg)}.preview-blue[data-v-8512d63d]{background:linear-gradient(135deg,#060a18,#101830)}.preview-blue .preview-bar[data-v-8512d63d]{background:linear-gradient(135deg,#3b82f6,#60a5fa)}.preview-blue .preview-block[data-v-8512d63d]{background:#3b82f626}.preview-light[data-v-8512d63d]{background:linear-gradient(135deg,#f0f4fa,#fff)}.preview-light .preview-bar[data-v-8512d63d]{background:linear-gradient(135deg,#2563eb,#3b82f6)}.preview-light .preview-block[data-v-8512d63d]{background:#2563eb1a}.preview-warm[data-v-8512d63d]{background:linear-gradient(135deg,#fff7ed,#fff)}.preview-warm .preview-bar[data-v-8512d63d]{background:linear-gradient(135deg,#ea580c,#f97316)}.preview-warm .preview-block[data-v-8512d63d]{background:#ea580c1a}.preview-mint[data-v-8512d63d]{background:linear-gradient(135deg,#ecfdf5,#fff)}.preview-mint .preview-bar[data-v-8512d63d]{background:linear-gradient(135deg,#059669,#10b981)}.preview-mint .preview-block[data-v-8512d63d]{background:#0596691a}.preview-sakura[data-v-8512d63d]{background:linear-gradient(135deg,#fdf2f8,#fff)}.preview-sakura .preview-bar[data-v-8512d63d]{background:linear-gradient(135deg,#db2777,#ec4899)}.preview-sakura .preview-block[data-v-8512d63d]{background:#db27771a}.preview-green[data-v-8512d63d]{background:linear-gradient(135deg,#050f14,#08181c)}.preview-green .preview-bar[data-v-8512d63d]{background:linear-gradient(135deg,#06b6d4,#10b981)}.preview-green .preview-block[data-v-8512d63d]{background:#10b98126}.preview-gold[data-v-8512d63d]{background:linear-gradient(135deg,#0d0b08,#1a1206)}.preview-gold .preview-bar[data-v-8512d63d]{background:linear-gradient(135deg,#f59e0b,#d97706)}.preview-gold .preview-block[data-v-8512d63d]{background:var(--warning-bg)}.preview-pink[data-v-8512d63d]{background:linear-gradient(135deg,#0f0518,#1a0830)}.preview-pink .preview-bar[data-v-8512d63d]{background:linear-gradient(135deg,#ec4899,#a855f7)}.preview-pink .preview-block[data-v-8512d63d]{background:#ec489926}.preview-orange[data-v-8512d63d]{background:linear-gradient(135deg,#0f0806,#1a0a06)}.preview-orange .preview-bar[data-v-8512d63d]{background:linear-gradient(135deg,#f97316,#ef4444)}.preview-orange .preview-block[data-v-8512d63d]{background:#f9731626}.preview-bar[data-v-8512d63d]{height:12px}.preview-body[data-v-8512d63d]{flex:1;display:flex;gap:6px;padding:10px}.preview-block[data-v-8512d63d]{flex:1;border-radius:4px}.theme-info h3[data-v-8512d63d]{font-size:14px;color:var(--text-primary);margin-bottom:2px}.theme-info p[data-v-8512d63d]{font-size:11px;color:var(--text-muted)}.theme-check[data-v-8512d63d]{position:absolute;top:12px;right:12px;width:28px;height:28px;border-radius:50%;background:var(--success-gradient);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 0 12px #10b98166}.color-palette[data-v-8512d63d]{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:24px}.color-item[data-v-8512d63d]{display:flex;align-items:center;gap:10px}.color-dot[data-v-8512d63d]{width:36px;height:36px;border-radius:10px;border:2px solid var(--border)}.color-item span[data-v-8512d63d]{font-size:13px;color:var(--text-secondary)}.preview-buttons[data-v-8512d63d]{display:flex;align-items:center;gap:12px}.preview-btn-primary[data-v-8512d63d]{padding:10px 24px;border-radius:8px;border:none;cursor:pointer;font-size:13px;font-weight:700;color:#fff;background:var(--brand-gradient);box-shadow:0 4px 16px var(--accent-glow)}.preview-btn-outline[data-v-8512d63d]{padding:10px 24px;border-radius:8px;cursor:pointer;font-size:13px;font-weight:700;color:var(--accent);background:transparent;border:1px solid var(--border-hover)}.preview-tag[data-v-8512d63d]{padding:6px 16px;border-radius:8px;font-size:12px;font-weight:700;background:var(--btn-bg);color:var(--accent);border:1px solid var(--border)}.toggle-list[data-v-8512d63d]{display:flex;flex-direction:column;gap:16px}.toggle-item[data-v-8512d63d]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--bg-card-hover);border-radius:12px;border:1px solid var(--border)}.toggle-label[data-v-8512d63d]{font-size:14px;color:var(--text-primary);display:block;font-weight:600}.toggle-desc[data-v-8512d63d]{font-size:12px;color:var(--text-muted);margin-top:2px;display:block}.switch[data-v-8512d63d]{position:relative;width:48px;height:28px;display:inline-block}.switch input[data-v-8512d63d]{opacity:0;width:0;height:0}.slider[data-v-8512d63d]{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background:#6464964d;border-radius:14px;transition:all .3s}.slider[data-v-8512d63d]:before{content:"";position:absolute;width:22px;height:22px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:all .3s}.switch input:checked+.slider[data-v-8512d63d]{background:var(--brand-gradient)}.switch input:checked+.slider[data-v-8512d63d]:before{transform:translate(20px)}.vip-info-card[data-v-8512d63d]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-radius:16px;border:1px solid var(--border);transition:all .3s}.vip-info-card.vip-svip[data-v-8512d63d]{background:linear-gradient(135deg,#f59e0b1f,#d9770614);border-color:var(--gold);box-shadow:0 0 30px #f59e0b1a}.vip-info-card.vip-vip[data-v-8512d63d]{background:linear-gradient(135deg,#06b6d41a,#8b5cf614);border-color:var(--accent-bg)}.vip-info-card.vip-free[data-v-8512d63d]{background:var(--bg-card-hover)}.vip-level-badge[data-v-8512d63d]{display:flex;align-items:center;gap:12px}.vip-icon[data-v-8512d63d]{font-size:28px}.vip-name[data-v-8512d63d]{font-size:18px;font-weight:700;background:var(--gold-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.vip-free .vip-name[data-v-8512d63d]{background:none;-webkit-text-fill-color:var(--text-secondary);color:var(--text-secondary)}.vip-expire-section[data-v-8512d63d]{text-align:right;display:flex;flex-direction:column;gap:4px}.vip-expire-label[data-v-8512d63d]{font-size:12px;color:var(--text-muted)}.vip-expire-value[data-v-8512d63d]{font-size:13px;color:var(--text-secondary)}.vip-expire-value.expired[data-v-8512d63d]{color:var(--error-text)}.vip-remaining[data-v-8512d63d]{font-size:14px;font-weight:600;color:var(--gold)}.vip-remaining.expired[data-v-8512d63d]{color:var(--error-text)}.btn-upgrade[data-v-8512d63d]{display:inline-block;margin-top:6px;padding:6px 16px;border-radius:8px;font-size:12px;font-weight:700;color:#fff;background:var(--gold-gradient);text-align:center;cursor:pointer;box-shadow:0 4px 12px #f59e0b4d;transition:all .3s}.btn-upgrade[data-v-8512d63d]:hover{transform:translateY(-1px);box-shadow:0 4px 20px #f59e0b80}:root,[data-theme=purple]{--bg-deep: #0a0a1a;--bg-card: rgba(15, 15, 40, .85);--bg-card-hover: rgba(20, 20, 55, .9);--bg-overlay: rgba(0, 0, 0, .65);--bg-nav: rgba(10, 10, 30, .88);--bg-input: rgba(15, 15, 40, .5);--brand-from: #06b6d4;--brand-to: #8b5cf6;--brand-gradient: linear-gradient(135deg, var(--brand-from), var(--brand-to));--accent: #06b6d4;--accent-hover: #22d3ee;--accent-glow: rgba(6, 182, 212, .3);--accent-glow-strong: rgba(6, 182, 212, .5);--secondary: #a78bfa;--gold: #f59e0b;--gold-from: #f59e0b;--gold-to: #f97316;--gold-gradient: linear-gradient(135deg, var(--gold-from), var(--gold-to));--success: #10b981;--success-from: #10b981;--success-to: #059669;--success-gradient: linear-gradient(135deg, var(--success-from), var(--success-to));--text-primary: #e0e0e0;--text-secondary: #8892b0;--text-muted: #64748b;--text-white: #ffffff;--accent-text: #06b6d4;--success-text: #34d399;--error-text: #f87171;--warning-text: #fb923c;--info-text: #818cf8;--accent-bg: rgba(6, 182, 212, .12);--success-bg: rgba(52, 211, 153, .12);--error-bg: rgba(248, 113, 113, .12);--warning-bg: rgba(251, 146, 60, .12);--info-bg: rgba(129, 140, 248, .12);--border: rgba(102, 126, 234, .15);--border-hover: rgba(6, 182, 212, .4);--border-focus: rgba(6, 182, 212, .6);--btn-bg: rgba(102, 126, 234, .2);--btn-border: rgba(102, 126, 234, .3);--btn-text: #e0e0e0;--card-shadow: 0 20px 60px rgba(0, 0, 0, .3);--card-shadow-hover: 0 24px 70px rgba(0, 0, 0, .4), 0 0 40px rgba(6, 182, 212, .08);--shine-color: rgba(6, 182, 212, .3);--star-color-1: rgba(72, 52, 212, .15);--star-color-2: rgba(6, 182, 212, .12);--star-color-3: rgba(168, 85, 247, .1)}[data-theme=blue]{--bg-deep: #060a18;--bg-card: rgba(10, 16, 40, .88);--bg-card-hover: rgba(15, 22, 55, .92);--bg-overlay: rgba(0, 0, 0, .6);--bg-nav: rgba(6, 10, 24, .9);--bg-input: rgba(10, 16, 40, .5);--brand-from: #3b82f6;--brand-to: #60a5fa;--brand-gradient: linear-gradient(135deg, var(--brand-from), var(--brand-to));--accent: #3b82f6;--accent-hover: #60a5fa;--accent-glow: rgba(59, 130, 246, .3);--accent-glow-strong: rgba(59, 130, 246, .5);--secondary: #818cf8;--gold: #f59e0b;--gold-from: #f59e0b;--gold-to: #f97316;--gold-gradient: linear-gradient(135deg, var(--gold-from), var(--gold-to));--success: #10b981;--success-from: #10b981;--success-to: #059669;--success-gradient: linear-gradient(135deg, var(--success-from), var(--success-to));--text-primary: #e2e8f0;--text-secondary: #94a3b8;--text-muted: #64748b;--text-white: #ffffff;--accent-text: #06b6d4;--success-text: #34d399;--error-text: #f87171;--warning-text: #fb923c;--info-text: #818cf8;--accent-bg: rgba(6, 182, 212, .12);--success-bg: rgba(52, 211, 153, .12);--error-bg: rgba(248, 113, 113, .12);--warning-bg: rgba(251, 146, 60, .12);--info-bg: rgba(129, 140, 248, .12);--border: rgba(59, 130, 246, .12);--border-hover: rgba(59, 130, 246, .35);--border-focus: rgba(59, 130, 246, .55);--btn-bg: rgba(59, 130, 246, .15);--btn-border: rgba(59, 130, 246, .25);--btn-text: #e2e8f0;--card-shadow: 0 20px 60px rgba(0, 0, 0, .3);--card-shadow-hover: 0 24px 70px rgba(0, 0, 0, .4), 0 0 40px rgba(59, 130, 246, .08);--shine-color: rgba(59, 130, 246, .25);--star-color-1: rgba(30, 64, 175, .12);--star-color-2: rgba(59, 130, 246, .1);--star-color-3: rgba(96, 165, 250, .08)}[data-theme=green]{--bg-deep: #050f14;--bg-card: rgba(8, 20, 28, .88);--bg-card-hover: rgba(12, 28, 38, .92);--bg-overlay: rgba(0, 0, 0, .6);--bg-nav: rgba(5, 15, 20, .9);--bg-input: rgba(8, 20, 28, .5);--brand-from: #06b6d4;--brand-to: #10b981;--brand-gradient: linear-gradient(135deg, var(--brand-from), var(--brand-to));--accent: #06b6d4;--accent-hover: #22d3ee;--accent-glow: rgba(6, 182, 212, .3);--accent-glow-strong: rgba(6, 182, 212, .5);--secondary: #34d399;--gold: #f59e0b;--gold-from: #f59e0b;--gold-to: #f97316;--gold-gradient: linear-gradient(135deg, var(--gold-from), var(--gold-to));--success: #10b981;--success-from: #10b981;--success-to: #059669;--success-gradient: linear-gradient(135deg, var(--success-from), var(--success-to));--text-primary: #d1fae5;--text-secondary: #6ee7b7;--text-muted: #4b8b6e;--text-white: #ffffff;--accent-text: #06b6d4;--success-text: #34d399;--error-text: #f87171;--warning-text: #fb923c;--info-text: #818cf8;--accent-bg: rgba(6, 182, 212, .12);--success-bg: rgba(52, 211, 153, .12);--error-bg: rgba(248, 113, 113, .12);--warning-bg: rgba(251, 146, 60, .12);--info-bg: rgba(129, 140, 248, .12);--border: rgba(6, 182, 212, .12);--border-hover: rgba(16, 185, 129, .35);--border-focus: rgba(16, 185, 129, .55);--btn-bg: rgba(6, 182, 212, .15);--btn-border: rgba(6, 182, 212, .25);--btn-text: #d1fae5;--card-shadow: 0 20px 60px rgba(0, 0, 0, .3);--card-shadow-hover: 0 24px 70px rgba(0, 0, 0, .4), 0 0 40px rgba(6, 182, 212, .08);--shine-color: rgba(16, 185, 129, .25);--star-color-1: rgba(6, 182, 212, .1);--star-color-2: rgba(16, 185, 129, .08);--star-color-3: rgba(52, 211, 153, .06)}[data-theme=gold]{--bg-deep: #0d0b08;--bg-card: rgba(20, 16, 10, .88);--bg-card-hover: rgba(28, 22, 14, .92);--bg-overlay: rgba(0, 0, 0, .6);--bg-nav: rgba(13, 11, 8, .9);--bg-input: rgba(20, 16, 10, .5);--brand-from: #f59e0b;--brand-to: #d97706;--brand-gradient: linear-gradient(135deg, var(--brand-from), var(--brand-to));--accent: #f59e0b;--accent-hover: #fbbf24;--accent-glow: rgba(245, 158, 11, .3);--accent-glow-strong: rgba(245, 158, 11, .5);--secondary: #d4a574;--gold: #f59e0b;--gold-from: #f59e0b;--gold-to: #d97706;--gold-gradient: linear-gradient(135deg, var(--gold-from), var(--gold-to));--success: #10b981;--success-from: #10b981;--success-to: #059669;--success-gradient: linear-gradient(135deg, var(--success-from), var(--success-to));--text-primary: #fef3c7;--text-secondary: #d4a574;--text-muted: #8b7355;--text-white: #ffffff;--accent-text: #06b6d4;--success-text: #34d399;--error-text: #f87171;--warning-text: #fb923c;--info-text: #818cf8;--accent-bg: rgba(6, 182, 212, .12);--success-bg: rgba(52, 211, 153, .12);--error-bg: rgba(248, 113, 113, .12);--warning-bg: rgba(251, 146, 60, .12);--info-bg: rgba(129, 140, 248, .12);--border: rgba(245, 158, 11, .12);--border-hover: rgba(245, 158, 11, .35);--border-focus: rgba(245, 158, 11, .55);--btn-bg: rgba(245, 158, 11, .15);--btn-border: rgba(245, 158, 11, .25);--btn-text: #fef3c7;--card-shadow: 0 20px 60px rgba(0, 0, 0, .3);--card-shadow-hover: 0 24px 70px rgba(0, 0, 0, .4), 0 0 40px rgba(245, 158, 11, .1);--shine-color: rgba(245, 158, 11, .25);--star-color-1: rgba(217, 119, 6, .12);--star-color-2: rgba(245, 158, 11, .1);--star-color-3: rgba(180, 130, 90, .08)}[data-theme=pink]{--bg-deep: #0f0518;--bg-card: rgba(22, 8, 38, .88);--bg-card-hover: rgba(30, 10, 48, .92);--bg-overlay: rgba(0, 0, 0, .6);--bg-nav: rgba(15, 5, 24, .9);--bg-input: rgba(22, 8, 38, .5);--brand-from: #ec4899;--brand-to: #a855f7;--brand-gradient: linear-gradient(135deg, var(--brand-from), var(--brand-to));--accent: #ec4899;--accent-hover: #f472b6;--accent-glow: rgba(236, 72, 153, .3);--accent-glow-strong: rgba(236, 72, 153, .5);--secondary: #c084fc;--gold: #f59e0b;--gold-from: #f59e0b;--gold-to: #f97316;--gold-gradient: linear-gradient(135deg, var(--gold-from), var(--gold-to));--success: #10b981;--success-from: #10b981;--success-to: #059669;--success-gradient: linear-gradient(135deg, var(--success-from), var(--success-to));--text-primary: #fce7f3;--text-secondary: #e9a5c9;--text-muted: #9b6b8a;--text-white: #ffffff;--accent-text: #06b6d4;--success-text: #34d399;--error-text: #f87171;--warning-text: #fb923c;--info-text: #818cf8;--accent-bg: rgba(6, 182, 212, .12);--success-bg: rgba(52, 211, 153, .12);--error-bg: rgba(248, 113, 113, .12);--warning-bg: rgba(251, 146, 60, .12);--info-bg: rgba(129, 140, 248, .12);--border: rgba(236, 72, 153, .12);--border-hover: rgba(236, 72, 153, .35);--border-focus: rgba(236, 72, 153, .55);--btn-bg: rgba(236, 72, 153, .15);--btn-border: rgba(236, 72, 153, .25);--btn-text: #fce7f3;--card-shadow: 0 20px 60px rgba(0, 0, 0, .3);--card-shadow-hover: 0 24px 70px rgba(0, 0, 0, .4), 0 0 40px rgba(236, 72, 153, .1);--shine-color: rgba(236, 72, 153, .25);--star-color-1: rgba(168, 85, 247, .12);--star-color-2: rgba(236, 72, 153, .1);--star-color-3: rgba(192, 132, 252, .08)}[data-theme=orange]{--bg-deep: #0f0806;--bg-card: rgba(22, 12, 8, .88);--bg-card-hover: rgba(30, 16, 10, .92);--bg-overlay: rgba(0, 0, 0, .6);--bg-nav: rgba(15, 8, 6, .9);--bg-input: rgba(22, 12, 8, .5);--brand-from: #f97316;--brand-to: #ef4444;--brand-gradient: linear-gradient(135deg, var(--brand-from), var(--brand-to));--accent: #f97316;--accent-hover: #fb923c;--accent-glow: rgba(249, 115, 22, .3);--accent-glow-strong: rgba(249, 115, 22, .5);--secondary: #fca5a5;--gold: #f59e0b;--gold-from: #f59e0b;--gold-to: #f97316;--gold-gradient: linear-gradient(135deg, var(--gold-from), var(--gold-to));--success: #10b981;--success-from: #10b981;--success-to: #059669;--success-gradient: linear-gradient(135deg, var(--success-from), var(--success-to));--text-primary: #fff7ed;--text-secondary: #fca5a5;--text-muted: #b0826b;--text-white: #ffffff;--accent-text: #06b6d4;--success-text: #34d399;--error-text: #f87171;--warning-text: #fb923c;--info-text: #818cf8;--accent-bg: rgba(6, 182, 212, .12);--success-bg: rgba(52, 211, 153, .12);--error-bg: rgba(248, 113, 113, .12);--warning-bg: rgba(251, 146, 60, .12);--info-bg: rgba(129, 140, 248, .12);--border: rgba(249, 115, 22, .12);--border-hover: rgba(249, 115, 22, .35);--border-focus: rgba(249, 115, 22, .55);--btn-bg: rgba(249, 115, 22, .15);--btn-border: rgba(249, 115, 22, .25);--btn-text: #fff7ed;--card-shadow: 0 20px 60px rgba(0, 0, 0, .3);--card-shadow-hover: 0 24px 70px rgba(0, 0, 0, .4), 0 0 40px rgba(249, 115, 22, .1);--shine-color: rgba(249, 115, 22, .25);--star-color-1: rgba(239, 68, 68, .1);--star-color-2: rgba(249, 115, 22, .08);--star-color-3: rgba(252, 165, 165, .06)}[data-theme=light]{--bg-deep: #f0f4fa;--bg-card: rgba(255, 255, 255, .92);--bg-card-hover: rgba(255, 255, 255, 1);--bg-overlay: rgba(15, 23, 42, .4);--bg-nav: rgba(255, 255, 255, .92);--bg-input: rgba(37, 99, 235, .05);--brand-from: #2563eb;--brand-to: #3b82f6;--brand-gradient: linear-gradient(135deg, var(--brand-from), var(--brand-to));--accent: #2563eb;--accent-hover: #1d4ed8;--accent-glow: rgba(37, 99, 235, .15);--accent-glow-strong: rgba(37, 99, 235, .3);--secondary: #60a5fa;--gold: #f59e0b;--gold-from: #f59e0b;--gold-to: #f97316;--gold-gradient: linear-gradient(135deg, var(--gold-from), var(--gold-to));--success: #10b981;--success-from: #10b981;--success-to: #059669;--success-gradient: linear-gradient(135deg, var(--success-from), var(--success-to));--text-primary: #1e293b;--text-secondary: #475569;--text-muted: #94a3b8;--text-white: #ffffff;--accent-text: #2563eb;--success-text: #059669;--error-text: #dc2626;--warning-text: #ea580c;--info-text: #4f46e5;--accent-bg: rgba(37, 99, 235, .08);--success-bg: rgba(5, 150, 105, .08);--error-bg: rgba(220, 38, 38, .08);--warning-bg: rgba(234, 88, 12, .08);--info-bg: rgba(79, 70, 229, .08);--border: rgba(37, 99, 235, .12);--border-hover: rgba(37, 99, 235, .3);--border-focus: rgba(37, 99, 235, .5);--btn-bg: rgba(37, 99, 235, .08);--btn-border: rgba(37, 99, 235, .2);--btn-text: #1e40af;--card-shadow: 0 10px 40px rgba(30, 41, 59, .08);--card-shadow-hover: 0 16px 50px rgba(30, 41, 59, .12), 0 0 30px rgba(37, 99, 235, .06);--shine-color: rgba(37, 99, 235, .12);--star-color-1: rgba(37, 99, 235, .08);--star-color-2: rgba(96, 165, 250, .06);--star-color-3: rgba(147, 197, 253, .05)}[data-theme=warm]{--bg-deep: #fff7ed;--bg-card: rgba(255, 255, 255, .92);--bg-card-hover: rgba(255, 255, 255, 1);--bg-overlay: rgba(154, 52, 18, .35);--bg-nav: rgba(255, 255, 255, .92);--bg-input: rgba(234, 88, 12, .05);--brand-from: #ea580c;--brand-to: #f97316;--brand-gradient: linear-gradient(135deg, var(--brand-from), var(--brand-to));--accent: #ea580c;--accent-hover: #c2410c;--accent-glow: rgba(234, 88, 12, .15);--accent-glow-strong: rgba(234, 88, 12, .3);--secondary: #fb923c;--gold: #f59e0b;--gold-from: #f59e0b;--gold-to: #f97316;--gold-gradient: linear-gradient(135deg, var(--gold-from), var(--gold-to));--success: #10b981;--success-from: #10b981;--success-to: #059669;--success-gradient: linear-gradient(135deg, var(--success-from), var(--success-to));--text-primary: #431407;--text-secondary: #9a3412;--text-muted: #c2410c;--text-white: #ffffff;--accent-text: #ea580c;--success-text: #059669;--error-text: #dc2626;--warning-text: #c2410c;--info-text: #7c3aed;--accent-bg: rgba(234, 88, 12, .08);--success-bg: rgba(5, 150, 105, .08);--error-bg: rgba(220, 38, 38, .08);--warning-bg: rgba(194, 65, 12, .08);--info-bg: rgba(124, 58, 237, .08);--border: rgba(234, 88, 12, .12);--border-hover: rgba(234, 88, 12, .3);--border-focus: rgba(234, 88, 12, .5);--btn-bg: rgba(234, 88, 12, .08);--btn-border: rgba(234, 88, 12, .2);--btn-text: #9a3412;--card-shadow: 0 10px 40px rgba(154, 52, 18, .08);--card-shadow-hover: 0 16px 50px rgba(154, 52, 18, .12), 0 0 30px rgba(249, 115, 22, .08);--shine-color: rgba(249, 115, 22, .12);--star-color-1: rgba(249, 115, 22, .08);--star-color-2: rgba(251, 146, 60, .06);--star-color-3: rgba(253, 186, 116, .05)}[data-theme=mint]{--bg-deep: #ecfdf5;--bg-card: rgba(255, 255, 255, .95);--bg-card-hover: rgba(255, 255, 255, 1);--bg-overlay: rgba(6, 78, 59, .25);--bg-nav: rgba(255, 255, 255, .95);--bg-input: rgba(6, 78, 59, .05);--brand-from: #059669;--brand-to: #10b981;--brand-gradient: linear-gradient(135deg, var(--brand-from), var(--brand-to));--accent: #047857;--accent-hover: #065f46;--accent-glow: rgba(4, 120, 87, .15);--accent-glow-strong: rgba(4, 120, 87, .3);--secondary: #0d9488;--gold: #b45309;--gold-from: #b45309;--gold-to: #92400e;--gold-gradient: linear-gradient(135deg, var(--gold-from), var(--gold-to));--success: #047857;--success-from: #047857;--success-to: #065f46;--success-gradient: linear-gradient(135deg, var(--success-from), var(--success-to));--text-primary: #064e3b;--text-secondary: #047857;--text-muted: #0f766e;--text-white: #ffffff;--accent-text: #047857;--success-text: #047857;--error-text: #b91c1c;--warning-text: #c2410c;--info-text: #4f46e5;--accent-bg: rgba(4, 120, 87, .08);--success-bg: rgba(4, 120, 87, .08);--error-bg: rgba(185, 28, 28, .08);--warning-bg: rgba(194, 65, 12, .08);--info-bg: rgba(79, 70, 229, .08);--border: rgba(5, 150, 105, .15);--border-hover: rgba(5, 150, 105, .35);--border-focus: rgba(5, 150, 105, .55);--btn-bg: rgba(4, 120, 87, .08);--btn-border: rgba(4, 120, 87, .2);--btn-text: #065f46;--card-shadow: 0 10px 40px rgba(6, 78, 59, .08);--card-shadow-hover: 0 16px 50px rgba(6, 78, 59, .12), 0 0 30px rgba(16, 185, 129, .08);--shine-color: rgba(16, 185, 129, .12);--star-color-1: rgba(16, 185, 129, .08);--star-color-2: rgba(52, 211, 153, .06);--star-color-3: rgba(110, 231, 183, .05)}[data-theme=sakura]{--bg-deep: #fdf2f8;--bg-card: rgba(255, 255, 255, .92);--bg-card-hover: rgba(255, 255, 255, 1);--bg-overlay: rgba(131, 24, 67, .35);--bg-nav: rgba(255, 255, 255, .92);--bg-input: rgba(219, 39, 119, .05);--brand-from: #db2777;--brand-to: #ec4899;--brand-gradient: linear-gradient(135deg, var(--brand-from), var(--brand-to));--accent: #db2777;--accent-hover: #be185d;--accent-glow: rgba(219, 39, 119, .15);--accent-glow-strong: rgba(219, 39, 119, .3);--secondary: #f472b6;--gold: #f59e0b;--gold-from: #f59e0b;--gold-to: #f97316;--gold-gradient: linear-gradient(135deg, var(--gold-from), var(--gold-to));--success: #10b981;--success-from: #10b981;--success-to: #059669;--success-gradient: linear-gradient(135deg, var(--success-from), var(--success-to));--text-primary: #831843;--text-secondary: #9d174d;--text-muted: #be185d;--text-white: #ffffff;--accent-text: #db2777;--success-text: #059669;--error-text: #dc2626;--warning-text: #c2410c;--info-text: #7c3aed;--accent-bg: rgba(219, 39, 119, .08);--success-bg: rgba(5, 150, 105, .08);--error-bg: rgba(220, 38, 38, .08);--warning-bg: rgba(194, 65, 12, .08);--info-bg: rgba(124, 58, 237, .08);--border: rgba(219, 39, 119, .12);--border-hover: rgba(219, 39, 119, .3);--border-focus: rgba(219, 39, 119, .5);--btn-bg: rgba(219, 39, 119, .08);--btn-border: rgba(219, 39, 119, .2);--btn-text: #9d174d;--card-shadow: 0 10px 40px rgba(131, 24, 67, .08);--card-shadow-hover: 0 16px 50px rgba(131, 24, 67, .12), 0 0 30px rgba(236, 72, 153, .08);--shine-color: rgba(236, 72, 153, .12);--star-color-1: rgba(236, 72, 153, .08);--star-color-2: rgba(244, 114, 182, .06);--star-color-3: rgba(249, 168, 212, .05)}*,*:before,*:after{transition:background-color .35s ease,border-color .35s ease,box-shadow .35s ease,color .35s ease}.card-tech{position:relative;overflow:hidden}.card-tech:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,var(--shine-color),transparent);transition:left .6s ease}.card-tech:hover:before{left:100%}.scan-line{position:relative;overflow:hidden}.scan-line:after{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:var(--brand-gradient);opacity:0;animation:scan 3s linear infinite}@keyframes scan{0%{top:-2px;opacity:0}10%{opacity:.8}90%{opacity:.8}to{top:100%;opacity:0}}.pulse-glow{animation:pulseGlow 2s ease-in-out infinite}@keyframes pulseGlow{0%,to{box-shadow:0 0 5px var(--accent-glow)}50%{box-shadow:0 0 25px var(--accent-glow-strong)}}.data-dots{position:relative}.data-dots:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle,var(--accent) 1px,transparent 1px);background-size:30px 30px;opacity:.05;pointer-events:none}.grid-bg{background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:40px 40px}
