/* ===== THEME: cold white + electric azure (light) ===== */:root{--purple:#0A84FF;--purple-light:#4AA8FF;--purple-dark:#0060D0;--purple-gradient:linear-gradient(135deg,#4AA8FF,#00C2D1);--green:#12A177;--green-light:#1FBF95;--orange:#EE8A1E;--red:#E04A3C;--gray:#7E8C99;--bg:#F7FBFF;--bg-light:#FFFFFF;--surface:#FFFFFF;--surface-light:#EFF7FF;--surface-dark:#E7F2FF;--surface-elevated:rgba(255,255,255,0.72);--border:rgba(10,132,255,0.20);--border-light:rgba(10,132,255,0.42);--border-subtle:rgba(10,132,255,0.12);--text:#0E2436;--text-secondary:rgba(14,36,54,0.72);--text-dim:rgba(14,36,54,0.46);--shadow-sm:0 1px 2px rgba(20,80,150,0.10);--shadow-md:0 4px 12px rgba(20,80,150,0.14);--shadow-lg:0 8px 24px rgba(20,80,150,0.18)}*{scrollbar-width:thin;scrollbar-color:rgba(74,168,255,0.250) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(74,168,255,0.200);border-radius:4px;border:2px solid transparent;background-clip:padding-box;transition:background 0.2s ease}::-webkit-scrollbar-thumb:hover{background:rgba(74,168,255,0.400);background-clip:padding-box}::-webkit-scrollbar-thumb:active{background:rgba(74,168,255,0.550);background-clip:padding-box}::-webkit-scrollbar-corner{background:transparent}.announcement-bar{background:linear-gradient(90deg,#00B4CD,#E04A3C,#00B4CD);background-size:200% 100%;animation:gradient-shift 3s ease infinite;padding:8px 0;overflow:hidden;position:relative;z-index:1000;border-bottom:1px solid rgba(10,132,255,0.250)}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}.announcement-content{display:flex;align-items:center;justify-content:center;gap:12px;white-space:nowrap;padding:0 40px}@media (min-width:768px){.announcement-content{animation:none;white-space:normal;text-align:center}}@media (max-width:767px){.announcement-content{justify-content:flex-start;animation:scroll-left 20s linear infinite;white-space:nowrap}}@keyframes scroll-left{0%{transform:translateX(100%)}100%{transform:translateX(-100%)}}.announcement-icon{font-size:16px;flex-shrink:0}.announcement-text{color:#0E2436;font-size:14px;font-weight:600;text-shadow:0 1px 2px rgba(20,80,150,0.270);letter-spacing:0.5px}.lines-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.line-item{background:var(--surface-elevated);border:1px solid var(--border);border-radius:8px;padding:10px 14px;cursor:pointer;transition:all 0.15s ease;display:flex;align-items:center;gap:8px;font-size:13px;flex:0 0 auto;min-width:0}.line-item:hover{border-color:var(--purple-light);background:rgba(10,132,255,0.050)}.line-item.selected{border-color:var(--purple);background:rgba(10,132,255,0.150)}.line-item-name{font-weight:500;color:var(--text)}.line-item-region{color:var(--text-dim);font-size:12px}.line-item-badge{padding:2px 6px;border-radius:4px;font-size:11px;font-weight:500}.line-item-badge.normal{background:rgba(0,168,168,0.200);color:var(--green)}.line-item-badge.warning{background:rgba(0,191,209,0.200);color:var(--orange)}.line-item-badge.congested{background:rgba(224,74,60,0.200);color:var(--red)}.line-section{margin-top:20px;margin-bottom:24px;padding:16px;background:rgba(90,170,240,0.030);border:1px solid var(--border-subtle);border-radius:12px}.line-section-title{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:14px;font-weight:500;color:var(--text-secondary)}.current-line-info{margin-top:10px;padding:8px 12px;background:rgba(0,168,168,0.100);border:1px solid rgba(0,168,168,0.200);border-radius:6px;font-size:13px}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(16,58,96,0.400);backdrop-filter:blur(8px);display:none;justify-content:center;align-items:center;z-index:10000;padding:20px}.modal-overlay.show{display:flex;animation:modalFadeIn 0.3s ease}@keyframes modalFadeIn{from{opacity:0}to{opacity:1}}@keyframes modalSlideUp{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-content{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:40px;max-width:480px;width:100%;text-align:center;box-shadow:0 20px 60px rgba(20,80,150,0.360);animation:modalSlideUp 0.3s ease}.modal-icon{margin-bottom:20px}.modal-icon.success{display:inline-flex;padding:12px;background:rgba(0,168,168,0.100);border-radius:50%}.modal-title{font-size:24px;font-weight:700;color:var(--text);margin:0 0 8px 0}.modal-desc{font-size:15px;color:var(--text-secondary);margin:0 0 24px 0}.modal-key-display{background:var(--surface-elevated);border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:20px}.modal-key-label{font-size:12px;color:var(--text-dim);margin-bottom:8px;text-transform:uppercase;letter-spacing:1px}.modal-key-value{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px 14px;font-family:'SF Mono','Consolas','Monaco',monospace;font-size:13px;color:var(--purple-light);word-break:break-all}.modal-key-copy{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#724BFF;color:white;border:none;border-radius:6px;font-size:12px;cursor:pointer;white-space:nowrap;transition:all 0.2s}.modal-key-copy:hover{background:#583ED3}.modal-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.modal-stat-item{background:var(--surface-elevated);border:1px solid var(--border);border-radius:12px;padding:16px}.modal-stat-value{font-size:24px;font-weight:700;color:var(--green)}.modal-stat-label{font-size:13px;color:var(--text-dim);margin-top:4px}.modal-warning{display:flex;align-items:center;gap:8px;padding:12px 16px;background:rgba(0,191,209,0.100);border:1px solid rgba(0,191,209,0.200);border-radius:10px;font-size:13px;color:var(--orange);margin-bottom:24px;text-align:left}.modal-warning svg{flex-shrink:0}.modal-actions{display:flex;gap:12px}.modal-actions .btn{flex:1;justify-content:center}.btn-outline{background:transparent;border:1px solid var(--border);color:var(--text-secondary)}.btn-outline:hover{background:var(--surface-elevated);border-color:var(--border-light)}.peak-hour-tip{position:fixed;bottom:20px;left:50%;transform:translateX(-50%) translateY(100px);z-index:9999;margin:0;padding:0 16px;width:calc(100% - 32px);max-width:400px;animation:peakTipSlideUp 0.4s cubic-bezier(0.16,1,0.3,1) forwards}@keyframes peakTipSlideUp{from{opacity:0;transform:translateX(-50%) translateY(100px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@keyframes peakTipSlideDown{from{opacity:1;transform:translateX(-50%) translateY(0)}to{opacity:0;transform:translateX(-50%) translateY(100px)}}.peak-tip-content{display:flex;align-items:flex-start;gap:12px;padding:16px 20px;border-radius:16px;margin:0 auto;position:relative;background:rgba(247,251,255,0.950);box-shadow:0 8px 32px rgba(20,80,150,0.360),0 0 0 1px rgba(255,255,255,0.100);backdrop-filter:blur(20px) saturate(1.8);-webkit-backdrop-filter:blur(20px) saturate(1.8)}.peak-tip-icon{flex-shrink:0;margin-top:2px}.peak-tip-text{flex:1;min-width:0}.peak-tip-title{font-size:14px;font-weight:600;color:var(--text);margin-bottom:4px}.peak-tip-desc{font-size:13px;color:var(--text-secondary);line-height:1.5}.peak-tip-recommend{font-size:13px;color:var(--text);margin-top:8px;padding-top:8px;border-top:1px solid var(--border-subtle)}.peak-tip-actions{display:flex;align-items:center;gap:12px;margin-top:12px;padding-top:10px;border-top:1px solid var(--border-subtle);flex-wrap:wrap}.peak-tip-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;text-decoration:none;transition:all 0.2s ease;cursor:pointer}.peak-tip-btn.primary{background:#724BFF;color:white;border:1px solid #724BFF}.peak-tip-btn.primary:hover{background:#583ED3;border-color:#583ED3;transform:translateY(-1px);box-shadow:0 4px 12px rgba(114,75,255,0.3)}.peak-tip-hint{font-size:12px;color:var(--text-dim);font-style:italic}.peak-tip-close{position:absolute;top:10px;right:10px;background:none;border:none;color:var(--text-dim);cursor:pointer;padding:4px;border-radius:4px;transition:all 0.2s;display:flex;align-items:center;justify-content:center}.peak-tip-close:hover{background:var(--surface-elevated);color:var(--text-secondary)}@media (max-width:768px){.peak-hour-tip{bottom:10px;width:calc(100% - 20px);padding:0 10px}.peak-tip-content{padding:14px 16px;border-radius:12px}.peak-tip-title{font-size:13px}.peak-tip-desc,.peak-tip-recommend{font-size:12px}.peak-tip-actions{flex-direction:column;gap:8px}.peak-tip-btn{width:100%;justify-content:center}}.line-status{display:flex;align-items:center;gap:6px;color:var(--text)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;background:var(--bg);color:var(--text);min-height:100vh;display:flex;flex-direction:column}.topbar{background:rgba(247,251,255,0.920);padding:0 20px;position:sticky;top:0;z-index:100;backdrop-filter:blur(20px) saturate(1.8);-webkit-backdrop-filter:blur(20px) saturate(1.8);box-shadow:0 1px 0 rgba(255,255,255,0.050)}.topbar-inner{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;min-height:56px;padding:8px 0}.topbar-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text)}.topbar-logo svg{width:32px;height:32px;flex-shrink:0}.topbar-logo img{width:32px;height:32px;flex-shrink:0;object-fit:contain}.topbar-logo span{font-size:17px;font-weight:700;background:linear-gradient(135deg,var(--purple-light),var(--green-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.topbar-nav{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.btn{padding:8px 18px;border-radius:8px;border:1px solid var(--border);background:var(--surface-elevated);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;line-height:1.4;backdrop-filter:blur(8px)}.btn:hover{border-color:var(--border-light);color:var(--text);background:rgba(10,132,255,0.120);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn:active{transform:translateY(0)}.btn-primary{background:#724BFF;border-color:rgba(114,75,255,0.6);color:#fff}.btn-primary:hover{background:#6341E6;border-color:rgba(114,75,255,0.8);box-shadow:0 4px 16px rgba(114,75,255,0.35);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.nav-chat-btn{display:inline-flex;align-items:center;gap:5px;padding:8px 16px;border-radius:8px;background:transparent;border:1px solid #28B894;color:#28B894;font-size:13px;font-weight:500;text-decoration:none;transition:background .15s,color .15s,box-shadow .15s,transform .15s}.nav-chat-btn:hover{background:#28B894;color:#fff;box-shadow:0 4px 16px rgba(40,184,148,0.35);transform:translateY(-1px)}.nav-chat-btn:active{transform:translateY(0)}.nav-buy-btn{position:relative;display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;border:1px solid rgba(255,193,102,0.45);background:linear-gradient(135deg,#F7B44A 0%,#E8892B 55%,#D9701A 100%);color:#3A2205;font-size:13px;font-weight:700;letter-spacing:.2px;text-decoration:none;cursor:pointer;overflow:hidden;white-space:nowrap;box-shadow:0 2px 10px rgba(232,137,43,0.28),inset 0 1px 0 rgba(255,255,255,0.45);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.nav-buy-btn::before{content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,0.65),transparent);transform:skewX(-18deg);animation:navBuyShine 3.4s ease-in-out infinite;pointer-events:none}@keyframes navBuyShine{0%{left:-120%}55%{left:130%}100%{left:130%}}.nav-buy-btn:hover{transform:translateY(-1px);filter:brightness(1.06);box-shadow:0 6px 20px rgba(232,137,43,0.42),inset 0 1px 0 rgba(255,255,255,0.55)}.nav-buy-btn:active{transform:translateY(0);filter:brightness(.97)}.nav-buy-btn svg{width:15px;height:15px;flex-shrink:0;stroke-width:2.2}.nav-buy-btn .nb-tag{margin-left:2px;padding:1px 6px;border-radius:20px;background:rgba(58,34,5,0.16);color:#3A2205;font-size:10px;font-weight:800;letter-spacing:.3px}@media(max-width:640px){.nav-buy-btn{padding:7px 12px;font-size:12px}.nav-buy-btn .nb-tag{display:none}}@media(prefers-reduced-motion:reduce){.nav-buy-btn::before{animation:none;display:none}}.btn-success{background:#28B894;border-color:rgba(40,184,148,0.6);color:#fff}.btn-success:hover{background:#229E80;border-color:rgba(40,184,148,0.8);box-shadow:0 4px 16px rgba(40,184,148,0.35);transform:translateY(-1px)}.btn-success:active{transform:translateY(0)}.btn-warning{background:#ff9500;border-color:rgba(255,149,0,0.6);color:#fff}.btn-warning:hover{background:#E68600;border-color:rgba(255,149,0,0.8);box-shadow:0 4px 16px rgba(255,149,0,0.35);transform:translateY(-1px)}.btn-warning:active{transform:translateY(0)}.btn-large{padding:12px 24px;font-size:15px;font-weight:600;border-radius:10px}.btn:disabled{opacity:0.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.main{flex:1;max-width:1400px;width:100%;margin:0 auto;padding:32px 24px}.hero{text-align:center;padding:60px 20px 140px;margin-bottom:40px;position:relative;overflow:hidden;min-height:520px}.hero-left{position:relative;z-index:1}.hero-typewriter{margin-top:14px;font-size:15px;font-weight:600;color:var(--purple-light);min-height:24px;letter-spacing:0.5px}.hero-typewriter #typewriterText{background:linear-gradient(90deg,#4AA8FF,#4AA8FF);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.typewriter-cursor{color:var(--purple-light);font-weight:300;margin-left:1px;animation:typewriterBlink 0.8s step-end infinite}@keyframes typewriterBlink{0%,50%{opacity:1}51%,100%{opacity:0}}.hero-model-layer{position:absolute;inset:0;z-index:0;cursor:pointer;user-select:none}.hero::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:200px;height:1px;background:linear-gradient(90deg,transparent,var(--border-light),transparent)}.hero-badges{display:flex;justify-content:center;gap:10px;margin-top:20px;flex-wrap:wrap}.badge{padding:6px 14px;border-radius:20px;font-size:13px;font-weight:500;border:1px solid}.badge-purple{background:rgba(10,132,255,0.080);border-color:rgba(10,132,255,0.200);color:var(--purple-light)}.badge-green{background:rgba(0,168,168,0.080);border-color:rgba(0,168,168,0.200);color:var(--green-light)}.badge-blue{background:rgba(0,96,208,0.080);border-color:rgba(0,96,208,0.200);color:#0060D0}.badge-orange{background:rgba(0,191,209,0.080);border-color:rgba(0,191,209,0.200);color:#6EC8FA}.hero-highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:28px auto 40px;max-width:760px;width:100%}.highlight-item{background:rgba(255,255,255,0.740);border:1px solid var(--border-subtle,rgba(10,132,255,0.170));border-radius:12px;padding:14px 16px;text-align:left;transition:all 0.3s ease;display:flex;align-items:center;gap:12px}.highlight-item:hover{background:rgba(255,255,255,0.800);border-color:rgba(74,168,255,0.300);transform:translateY(-2px);box-shadow:0 8px 24px rgba(10,132,255,0.120)}.highlight-icon{flex-shrink:0;display:inline-flex;width:36px;height:36px;border-radius:10px;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(74,168,255,0.150),rgba(0,160,220,0.150));border:1px solid rgba(74,168,255,0.200)}.highlight-icon svg{width:18px;height:18px;color:var(--purple-light)}.highlight-text strong{font-size:14px;font-weight:600;color:var(--text,#0E2436);white-space:nowrap}@media (max-width:680px){.hero-highlights{grid-template-columns:1fr;gap:10px}}.model-box-word{position:absolute;top:0;left:0;padding:6px 14px;border-radius:8px;font-size:14px;font-weight:600;white-space:nowrap;will-change:transform;pointer-events:auto;cursor:grab;letter-spacing:0.5px}.model-box-word:active{cursor:grabbing}.hero-icon{width:120px;height:120px;margin:0 auto 20px;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.hero-icon::before{content:'';position:absolute;width:80px;height:80px;background:radial-gradient(circle,rgba(10,132,255,0.300) 0%,transparent 70%);border-radius:50%;z-index:0}.hero-icon img{width:120px;height:120px;object-fit:contain;position:relative;z-index:1}.hero h1{font-size:28px;font-weight:700;margin-bottom:12px;background:linear-gradient(135deg,#F7FBFF,rgba(247,251,255,0.720));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-0.5px}.hero p{font-size:16px;color:var(--text-secondary);max-width:600px;margin:0 auto;line-height:1.6}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-bottom:40px}.card{background:var(--surface-elevated);border-radius:16px;padding:24px;border:1px solid var(--border-subtle);transition:all .25s ease;backdrop-filter:blur(8px)}.card:hover{border-color:var(--border-light);transform:translateY(-3px);box-shadow:0 12px 32px rgba(10,132,255,0.120);background:rgba(10,132,255,0.040)}.card-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:16px}.card-icon.purple{background:rgba(10,132,255,0.100)}.card-icon.green{background:rgba(0,168,168,0.100)}.card-icon.orange{background:rgba(0,191,209,0.100)}.card h3{font-size:18px;font-weight:600;margin-bottom:8px;color:var(--text)}.card p{font-size:14px;color:var(--text-secondary);line-height:1.6;margin-bottom:16px}.card .btn{width:100%;justify-content:center;margin-top:auto;padding:10px 20px}.form-container{background:var(--surface-elevated);border-radius:16px;padding:40px;border:1px solid var(--border-subtle);max-width:800px;margin:0 auto;backdrop-filter:blur(8px);box-shadow:var(--shadow-sm)}.form-header{text-align:center;margin-bottom:28px}.form-header h2{font-size:22px;font-weight:600;margin-bottom:8px}.form-header p{font-size:14px;color:var(--text-secondary)}.form-group{margin-bottom:20px}.form-label{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.form-input{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:10px;font-size:15px;font-family:Consolas,"SF Mono",monospace;background:rgba(90,170,240,0.052);color:var(--text);outline:none;transition:all .2s ease}.form-input:focus{border-color:var(--purple);box-shadow:0 0 0 3px rgba(10,132,255,0.150);background:rgba(90,170,240,0.070)}.form-input::placeholder{color:var(--text-dim)}.form-input.large{padding:14px 18px;font-size:17px;letter-spacing:0.5px}.form-hint{font-size:12px;color:var(--text-dim);margin-top:6px}.hint-link{color:var(--purple-light);text-decoration:none;font-weight:500;transition:color 0.15s}.hint-link:hover{color:var(--purple);text-decoration:underline}.form-hint-actions{display:flex;align-items:center;gap:0;margin-top:10px}.hint-action{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:500;color:var(--text-secondary);text-decoration:none;background:rgba(10,132,255,0.060);border:1px solid rgba(10,132,255,0.120);border-radius:6px;transition:all 0.2s ease}.hint-action:hover{color:var(--purple-light);background:rgba(10,132,255,0.120);border-color:rgba(10,132,255,0.250)}.hint-action-sep{width:1px;height:20px;background:var(--border);margin:0 8px}.form-tip{display:flex;align-items:center;gap:6px;margin-top:8px;padding:8px 12px;background:rgba(0,168,168,0.060);border:1px solid rgba(0,168,168,0.150);border-radius:8px;font-size:13px;color:var(--text-secondary)}.form-actions{margin-top:28px}.form-actions .btn{width:100%;justify-content:center;padding:14px 24px;font-size:15px;font-weight:600;border-radius:10px}.result-box{background:rgba(90,170,240,0.042);border:1px solid var(--border-subtle);border-radius:16px;padding:20px;margin-top:20px;display:none;backdrop-filter:blur(4px)}.result-box.show{display:block}.result-label{font-size:12px;font-weight:500;color:var(--purple-light);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.result-value{display:flex;align-items:center;gap:12px;padding:12px;background:var(--surface-elevated);border-radius:8px;border:1px solid var(--border-subtle)}.result-value span{flex:1;font-size:20px;font-weight:700;font-family:Consolas,"SF Mono",monospace;color:var(--text);word-break:break-all}.result-copy{flex-shrink:0;padding:8px 16px;font-size:13px;font-weight:600;background:#724BFF;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background .15s;white-space:nowrap}.result-copy:hover{background:#A78BFA}.result-warning{margin-top:16px;padding:12px;background:rgba(0,191,209,0.060);border:1px solid rgba(0,191,209,0.150);border-radius:8px;font-size:13px;color:var(--orange);display:flex;align-items:flex-start;gap:8px}.result-warning::before{content:"";flex-shrink:0;width:16px;height:16px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff9500' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z'/%3E%3Cline x1='12' x2='12' y1='9' y2='13'/%3E%3Cline x1='12' x2='12.01' y1='17' y2='17'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat}.info-section{background:var(--surface-elevated);border-radius:16px;padding:24px;border:1px solid var(--border-subtle);margin-top:32px;backdrop-filter:blur(4px)}.info-section h3{font-size:16px;font-weight:600;margin-bottom:16px;display:flex;align-items:center;gap:8px}.info-list{list-style:none}.info-list li{position:relative;padding:10px 0 10px 20px;border-bottom:1px solid var(--border-subtle);font-size:14px;color:var(--text-secondary);overflow-wrap:break-word;word-break:break-word}.info-list li:last-child{border-bottom:none}.info-list li::before{content:"•";color:var(--purple);font-weight:bold;position:absolute;left:0;top:9px;line-height:1}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}.stat-card{background:rgba(90,170,240,0.042);border-radius:12px;padding:16px;text-align:center;border:1px solid var(--border-subtle)}.stat-value{font-size:24px;font-weight:700;color:var(--text);font-family:Consolas,"SF Mono",monospace}.stat-label{font-size:12px;color:var(--text-dim);margin-top:4px}.toast{position:fixed;top:30px;left:50%;transform:translateX(-50%) translateY(-100px);padding:12px 24px;background:rgba(247,251,255,0.950);border:1px solid var(--border);border-radius:12px;font-size:14px;color:var(--text);z-index:100000;opacity:0;transition:all .3s;box-shadow:var(--shadow-lg);backdrop-filter:blur(20px)}.toast.show{transform:translateX(-50%) translateY(0);opacity:1}.toast.success{border-color:rgba(0,168,168,0.400)}.toast.error{border-color:rgba(224,74,60,0.400)}.footer{background:transparent;padding:24px 20px;text-align:center;margin-top:48px;border-top:1px solid var(--border-subtle)}.footer-inner{max-width:1200px;margin:0 auto;display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--text-dim)}.footer-brand{font-weight:600;background:linear-gradient(135deg,var(--purple-light),var(--green-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.footer-sep{opacity:0.3}.loading{display:inline-block;width:16px;height:16px;border:2px solid rgba(10,132,255,0.500);border-radius:50%;border-top-color:rgba(10,132,255,0.500);animation:spin 0.8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(16,58,96,0.400);display:flex;justify-content:center;align-items:center;z-index:9999;opacity:0;visibility:hidden;transition:all 0.3s ease}.loading-overlay.show{opacity:1;visibility:visible}.loading-spinner{width:50px;height:50px;border:4px solid rgba(10,132,255,0.500);border-radius:50%;border-top-color:#0A84FF;animation:spin 0.8s linear infinite}.loading-text{color:#0E2436;font-size:16px;margin-top:16px;text-align:center}.input-valid{border-color:var(--green)!important;box-shadow:0 0 0 2px rgba(0,168,168,0.200)!important}.input-invalid{border-color:var(--red)!important;box-shadow:0 0 0 2px rgba(224,74,60,0.200)!important}.validation-message{font-size:12px;margin-top:4px;display:none}.validation-message.show{display:block}.validation-message.success{color:var(--green)}.validation-message.error{color:var(--red)}.error-msg{background:rgba(224,74,60,0.060);border:1px solid rgba(224,74,60,0.150);border-radius:8px;padding:12px 16px;font-size:13px;color:var(--red);margin-bottom:16px;display:none}.error-msg.show{display:block}.error-msg a{color:var(--purple-light);text-decoration:underline;font-weight:500;transition:color 0.2s}.error-msg a:hover{color:var(--purple);text-decoration:none}.existing-key-notice{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(16,58,96,0.400);backdrop-filter:blur(8px);display:none;justify-content:center;align-items:center;z-index:10000;padding:20px;animation:noticeFadeIn 0.3s ease}.existing-key-notice.show{display:flex}@keyframes noticeFadeIn{from{opacity:0}to{opacity:1}}.notice-container{background:var(--surface);border:1px solid var(--border-light);border-radius:24px;padding:40px;max-width:480px;width:100%;text-align:center;box-shadow:0 25px 80px rgba(20,80,150,0.450),0 0 0 1px rgba(10,132,255,0.100);animation:noticeSlideUp 0.3s ease;position:relative;overflow:hidden}.notice-container::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--orange),#00B4CD);border-radius:24px 24px 0 0}@keyframes noticeSlideUp{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.notice-header{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:20px}.notice-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:rgba(0,191,209,0.150);border-radius:50%;color:var(--orange);flex-shrink:0}.notice-title{font-size:22px;font-weight:700;color:var(--text)}.notice-content{font-size:15px;color:var(--text-secondary);line-height:1.6;margin-bottom:24px}.notice-actions{display:flex;gap:16px;justify-content:center}.notice-actions .btn{flex:1;min-width:140px;justify-content:center;padding:14px 24px;font-size:15px;font-weight:600}@media (max-width:480px){.notice-container{padding:30px 20px}.notice-actions{flex-direction:column}.notice-actions .btn{width:100%}}@media (min-width:1024px){.hero{padding:80px 20px}.hero h1{font-size:34px}.hero-icon{width:120px;height:120px;font-size:42px}.cards-grid{grid-template-columns:repeat(3,1fr);gap:24px}.card{padding:28px}.form-container{padding:48px}.form-input.large{font-size:18px;padding:16px 20px}.form-header h2{font-size:24px}.stat-value{font-size:28px}}@media (max-width:768px){.topbar-inner{min-height:48px;padding:8px 16px}.topbar-logo span{font-size:15px}.topbar-nav{gap:4px}.topbar-nav .btn{padding:6px 12px;font-size:12px}.main{padding:20px 16px}.hero{padding:30px 16px}.hero h1{font-size:24px}.hero p{font-size:14px}.cards-grid{grid-template-columns:1fr}.form-container{padding:24px 20px}.form-header h2{font-size:20px}.stats-grid{grid-template-columns:1fr 1fr}.stat-value{font-size:20px}.btn{padding:7px 14px;font-size:12px}.btn-large{padding:10px 20px;font-size:14px}.nav-chat-btn{padding:7px 12px;font-size:12px}.line-section{padding:12px}.line-item{flex:1 1 calc(50% - 4px);min-width:0}.form-hint-actions{flex-wrap:wrap;gap:6px}.hint-action-sep{display:none}}@media (max-width:480px){.topbar-nav{flex-wrap:wrap;justify-content:center}.main{padding:16px 12px}.form-container{padding:20px 16px}.lines-list{flex-direction:column;gap:6px}.line-item{flex-wrap:wrap;padding:8px 12px;gap:6px}.line-item-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-item-region{order:3;width:100%;margin-top:2px}}#query-expiredPacksSection{margin-top:16px}#query-expiredPacksSection summary{cursor:pointer;padding:12px 16px;background:rgba(255,255,255,0.740);border-radius:8px;border:1px solid rgba(10,132,255,0.210);color:var(--text-dim);font-size:14px;display:flex;justify-content:space-between;align-items:center;transition:all 0.2s ease;list-style:none}#query-expiredPacksSection summary::-webkit-details-marker{display:none}#query-expiredPacksSection summary:hover{background:rgba(255,255,255,0.800);border-color:rgba(10,132,255,0.290)}#query-expiredPacksSection[open] summary{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-color:transparent}#query-expiredPacksSection .details-arrow{transition:transform 0.2s ease}#query-expiredPacksSection[open] .details-arrow{transform:rotate(180deg)}#query-expiredPacksList{border:1px solid rgba(10,132,255,0.210);border-top:none;border-radius:0 0 8px 8px;background:rgba(90,170,240,0.035)}#query-expiredPacksList > div:last-child{border-bottom:none}#query-expiredPacksList .progress-container{opacity:0.5}#query-expiredPacksList .progress-bar{background:var(--gray)}code{background:var(--surface-light);padding:2px 6px;border-radius:4px;font-family:Consolas,"SF Mono",monospace;font-size:0.9em}.models-section{max-width:800px;margin:24px auto 0}.models-card{background:var(--surface-elevated);border-radius:16px;padding:32px;border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm)}.models-header{text-align:center;margin-bottom:24px}.models-header h2{font-size:20px;font-weight:600;margin-bottom:8px}.models-header p{font-size:14px;color:var(--text-secondary)}.models-actions{display:flex;gap:12px;margin-bottom:20px}.models-actions .btn{flex:1}.models-preview{background:rgba(90,170,240,0.052);border-radius:10px;padding:16px;border:1px solid var(--border-subtle);max-height:200px;overflow-y:auto}.models-preview pre{margin:0;font-family:Consolas,"SF Mono",monospace;font-size:12px;color:var(--text-secondary);white-space:pre-wrap;word-break:break-all;text-align:left}.models-tutorial{margin-top:24px;padding:20px;background:rgba(10,132,255,0.040);border:1px solid rgba(10,132,255,0.100);border-radius:10px}.models-tutorial h3{font-size:15px;font-weight:600;margin-bottom:16px;color:var(--purple-light)}.models-tutorial ol{margin:0;padding-left:20px;font-size:13px;color:var(--text-secondary);line-height:2}.btn-generate-config{background:linear-gradient(135deg,#FFC800,#E6B400);border-color:rgba(255,200,0,0.6);color:#000;font-weight:600}.btn-generate-config:hover{background:linear-gradient(135deg,#FFD633,#FFC800);box-shadow:0 4px 16px rgba(255,200,0,0.35);transform:translateY(-1px);border-color:rgba(255,200,0,0.8)}.btn-generate-config:active{transform:translateY(0)}.btn-query{background:linear-gradient(135deg,#007AFF,#0055D4);border-color:rgba(0,122,255,0.6);color:#fff;font-weight:600}.btn-query:hover{background:linear-gradient(135deg,#3395FF,#007AFF);box-shadow:0 4px 16px rgba(0,122,255,0.35);transform:translateY(-1px);border-color:rgba(0,122,255,0.8)}.btn-query:active{transform:translateY(0)}.quick-guide{margin-top:32px;background:var(--surface-elevated);border-radius:16px;padding:24px;border:1px solid var(--border-subtle);box-shadow:0 4px 20px rgba(20,80,150,0.090);max-width:800px;margin-left:auto;margin-right:auto}.guide-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.guide-header h3{font-size:18px;font-weight:600;color:var(--text);margin:0;display:flex;align-items:center;gap:8px}.guide-close{padding:6px;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--text-dim);cursor:pointer;transition:all 0.2s ease;display:flex;align-items:center;justify-content:center}.guide-close:hover{background:var(--surface-elevated);border-color:var(--border-light);color:var(--text)}.guide-steps{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center}.guide-step{display:flex;align-items:center;gap:12px;padding:16px;background:rgba(90,170,240,0.030);border-radius:12px;border:1px solid var(--border-subtle);flex:1;min-width:200px;max-width:250px;transition:all 0.2s ease}.guide-step:hover{background:rgba(10,132,255,0.060);border-color:var(--border-light);transform:translateY(-2px)}.guide-step-num{width:32px;height:32px;background:linear-gradient(135deg,var(--purple),var(--purple-dark));border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:#0E2436;flex-shrink:0}.guide-step-info{flex:1}.guide-step-info strong{display:block;font-size:14px;font-weight:600;color:var(--text);margin-bottom:4px}.guide-step-info p{font-size:12px;color:var(--text-secondary);margin:0}.guide-step-btn{padding:6px 12px;background:#724BFF;border:none;border-radius:6px;color:#fff;font-size:12px;font-weight:500;cursor:pointer;transition:all 0.2s ease;text-decoration:none;white-space:nowrap}.guide-step-btn:hover{background:#583ED3;transform:scale(1.05)}.guide-step-done{padding:6px 12px;background:rgba(0,168,168,0.150);border:1px solid rgba(0,168,168,0.300);border-radius:6px;color:var(--green);font-size:12px;font-weight:500;white-space:nowrap}.guide-step-arrow{color:var(--text-dim);flex-shrink:0}.quick-guide.hidden{display:none}.card-icon.blue{background:rgba(0,96,208,0.100)}.card-icon.yellow{background:rgba(255,200,0,0.100)}.client-support-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:16px 0}.client-card{background:rgba(90,170,240,0.035);border-radius:12px;padding:20px;border:1px solid var(--border-subtle);text-align:center;transition:all .2s ease}.client-card:hover{border-color:var(--border-light);background:rgba(10,132,255,0.040)}.client-icon{font-size:32px;margin-bottom:12px;display:flex;justify-content:center;align-items:center}.client-icon img{width:48px;height:48px;object-fit:contain}.client-card h4{font-size:16px;font-weight:600;margin-bottom:8px;color:var(--text)}.client-card p{font-size:13px;color:var(--text-secondary);margin-bottom:12px}.client-tags{display:flex;justify-content:center;gap:8px}.tag{padding:4px 10px;border-radius:6px;font-size:11px;background:rgba(10,132,255,0.060);color:var(--purple-light);border:1px solid rgba(10,132,255,0.100)}.client-note{font-size:13px;color:var(--green);text-align:center;margin-top:12px;padding:10px;background:rgba(0,168,168,0.060);border-radius:8px}.faq-list{display:flex;flex-direction:column;gap:8px}.faq-item{background:rgba(90,170,240,0.030);border-radius:10px;border:1px solid var(--border-subtle);overflow:hidden;transition:all .2s ease}.faq-item:hover{border-color:var(--border);background:rgba(90,170,240,0.042)}.faq-item summary{padding:14px 16px;font-size:14px;font-weight:500;color:var(--text);cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;transition:background 0.15s}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::after{content:"+";font-size:18px;color:var(--text-dim);transition:transform 0.2s}.faq-item[open] summary::after{transform:rotate(45deg)}.faq-item summary:hover{background:var(--surface-light)}.faq-answer{padding:0 16px 16px;font-size:13px;color:var(--text-secondary);line-height:1.8}.faq-answer p{margin-bottom:8px}.faq-answer p:last-child{margin-bottom:0}.faq-answer a{color:var(--purple-light);text-decoration:underline}.faq-answer code{background:var(--surface-light);padding:2px 6px;border-radius:4px;font-size:12px}.progress-container{background:rgba(255,255,255,0.800);border-radius:8px;height:12px;overflow:hidden}.progress-bar{background:rgb(114 75 255 / var(--un-bg-opacity,1));height:100%;border-radius:8px;transition:width 0.3s}.tutorial-section{margin-top:24px;padding:24px;background:rgba(10,132,255,0.040);border:1px solid rgba(10,132,255,0.080);border-radius:12px}.tutorial-section h3{font-size:16px;font-weight:600;margin-bottom:20px;color:var(--purple-light)}.tutorial-block{background:var(--surface-elevated);border-radius:10px;padding:20px;margin-bottom:16px;border:1px solid var(--border-subtle)}.tutorial-block:last-of-type{margin-bottom:0}.tutorial-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-subtle)}.tutorial-icon{font-size:24px;display:flex;align-items:center;flex-shrink:0}.tutorial-icon img{border-radius:6px}.tutorial-header h4{font-size:15px;font-weight:600;color:var(--text)}.tutorial-steps{display:flex;flex-direction:column;gap:12px}.tutorial-step{display:flex;gap:14px;align-items:flex-start}.step-number{width:28px;height:28px;background:linear-gradient(135deg,var(--purple),var(--purple-dark));border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:#0E2436;flex-shrink:0}.step-content{flex:1}.step-content strong{display:block;font-size:14px;color:var(--text);margin-bottom:4px}.step-content p{font-size:13px;color:var(--text-secondary);line-height:1.5}.step-content code{background:var(--surface-light);padding:2px 6px;border-radius:4px;font-size:12px}.tutorial-tip{margin-top:16px;padding:12px 16px;background:rgba(0,168,168,0.040);border:1px solid rgba(0,168,168,0.100);border-radius:8px}.tutorial-tip p{font-size:13px;color:var(--green-light);margin:0}.legal-section{background:transparent;border-top:1px solid var(--border-subtle);padding:32px 20px;margin-top:40px}.legal-inner{max-width:800px;margin:0 auto}.legal-section h4{font-size:14px;font-weight:600;color:var(--text);margin-bottom:16px}.legal-list{list-style:none;padding:0;margin:0 0 20px 0}.legal-list li{font-size:12px;color:var(--text-secondary);line-height:1.8;padding-left:16px;position:relative}.legal-list li::before{content:"•";position:absolute;left:0;color:var(--text-dim)}.legal-links{display:flex;justify-content:center;gap:8px;font-size:12px}.legal-links a{color:var(--purple-light);text-decoration:none;transition:color 0.15s}.legal-links a:hover{color:var(--purple);text-decoration:underline}.legal-sep{color:var(--text-dim)}.page-section{display:none}.page-section.active{display:block}.script-guide{margin-top:24px;padding:20px;background:rgba(10,132,255,0.040);border:1px solid rgba(10,132,255,0.100);border-radius:10px}.script-guide h4{font-size:15px;font-weight:600;margin-bottom:16px;color:var(--purple-light);display:flex;align-items:center;gap:8px}.script-steps{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.script-step{display:flex;align-items:flex-start;gap:12px;padding:12px;background:rgba(90,170,240,0.030);border-radius:8px;border:1px solid var(--border-subtle)}.script-step-num{width:28px;height:28px;background:linear-gradient(135deg,var(--purple),var(--purple-dark));border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:#0E2436;flex-shrink:0}.script-step-info{flex:1}.script-step-info strong{display:block;font-size:14px;font-weight:600;color:var(--text);margin-bottom:4px}.script-step-info p{font-size:13px;color:var(--text-secondary);margin:0}.script-note{padding:12px 16px;background:rgba(0,168,168,0.040);border:1px solid rgba(0,168,168,0.100);border-radius:8px}.script-note p{font-size:13px;color:var(--green-light);margin:0;display:flex;align-items:center;gap:8px}.script-section{padding:16px;background:rgba(90,170,240,0.030);border:1px solid var(--border-subtle);border-radius:10px}.script-section-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.script-section-header strong{font-size:14px;font-weight:600;color:var(--text)}.script-section-desc{font-size:13px;color:var(--text-secondary);margin:0 0 16px 0}.btn-outline{background:transparent;border:1px solid var(--border);color:var(--text-secondary)}.btn-outline:hover{background:var(--surface-elevated);border-color:var(--border-light);color:var(--text)}.topbar-nav .btn.active{background:#724BFF;border-color:rgba(114,75,255,0.6);color:#fff;box-shadow:0 2px 8px rgba(114,75,255,0.2)}.cards-grid .card{cursor:pointer}.cards-grid .card:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(10,132,255,0.120)}.icon{display:inline-flex;align-items:center;justify-content:center;width:1em;height:1em;vertical-align:-0.125em;fill:currentColor}.icon svg{width:100%;height:100%}.icon-sm{font-size:14px}.icon-md{font-size:16px}.icon-lg{font-size:20px}.icon-xl{font-size:24px}.key-input-wrap{display:flex;align-items:center;width:100%}.key-input-wrap .form-input{flex:1;min-width:0;padding-right:42px;box-sizing:border-box}.key-input-wrap .form-input.key-masked{-webkit-text-security:disc;text-security:disc}.key-eye{flex-shrink:0;position:relative;margin-left:-38px;z-index:2;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;cursor:pointer;color:var(--text-dim,rgba(14,36,54,0.510));border-radius:8px;transition:color 0.15s ease,background 0.15s ease;padding:0}.key-eye:hover{color:var(--purple-light,#4AA8FF);background:rgba(74,168,255,0.120)}.key-eye:active{transform:scale(0.9)}.key-eye svg{width:18px;height:18px;display:block}#query-buddyKey:focus{border-color:var(--purple,#0A84FF);box-shadow:0 0 0 3px rgba(10,132,255,0.180)}#recharge-buddyKey:focus,#recharge-redeemCode:focus{border-color:var(--green,#00A8A8);box-shadow:0 0 0 3px rgba(0,168,168,0.180)}#generate-buddyKey:focus{border-color:var(--purple,#0A84FF);box-shadow:0 0 0 3px rgba(10,132,255,0.180)}#faq-fab{position:fixed;right:28px;bottom:84px;width:56px;height:56px;border-radius:50%;border:none;background:linear-gradient(135deg,#7c83ff 0%,#6366f1 45%,#8b5cf6 100%);color:#fff;cursor:pointer;z-index:900;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(99,102,241,0.45),0 2px 8px rgba(0,0,0,0.2),inset 0 1px 1px rgba(255,255,255,0.25);transition:transform 0.3s cubic-bezier(0.34,1.56,0.64,1),box-shadow 0.3s ease}#faq-fab::before{content:"";position:absolute;inset:0;border-radius:50%;background:rgba(124,131,255,0.55);z-index:-1;animation:faq-pulse 2.4s ease-out infinite}#faq-fab::after{content:"";position:absolute;top:6px;left:6px;right:6px;bottom:6px;border-radius:50%;border:1px solid rgba(255,255,255,0.18);pointer-events:none}#faq-fab svg{width:26px;height:26px;filter:drop-shadow(0 1px 2px rgba(0,0,0,0.2));position:relative;z-index:1}#faq-fab:hover{transform:scale(1.06) translateY(-2px);box-shadow:0 14px 32px rgba(99,102,241,0.55),0 4px 12px rgba(0,0,0,0.25)}#faq-fab.hidden{transform:scale(0);opacity:0;pointer-events:none}#faq-fab.hidden::before{animation:none}@keyframes faq-pulse{0%{transform:scale(1);opacity:0.55}70%{transform:scale(1.8);opacity:0}100%{transform:scale(1.8);opacity:0}}.faq-panel{position:fixed;right:28px;bottom:84px;width:380px;max-width:calc(100vw - 48px);max-height:520px;background:var(--surface-elevated,rgba(255,255,255,0.800));backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5);border:1px solid var(--border,rgba(10,132,255,0.210));border-radius:16px;z-index:901;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 12px 48px rgba(20,80,150,0.360);transform:scale(0.8) translateY(20px);opacity:0;pointer-events:none;transform-origin:bottom right;transition:all 0.25s cubic-bezier(0.4,0,0.2,1)}.faq-panel.show{transform:scale(1) translateY(0);opacity:1;pointer-events:auto}.faq-panel-header{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid var(--border-subtle,rgba(10,132,255,0.150))}.faq-panel-header input{flex:1;background:rgba(90,170,240,0.070);border:1px solid var(--border,rgba(10,132,255,0.210));border-radius:8px;padding:8px 12px;color:var(--text,#0E2436);font-size:13px;outline:none;transition:border-color 0.2s}.faq-panel-header input:focus{border-color:var(--purple-light,#4AA8FF)}.faq-panel-header input::placeholder{color:var(--text-dim,rgba(14,36,54,0.460))}.faq-panel-close{background:none;border:none;color:var(--text-dim,rgba(14,36,54,0.460));cursor:pointer;padding:4px;display:flex;align-items:center}.faq-panel-close svg{width:18px;height:18px}.faq-panel-close:hover{color:var(--text,#0E2436)}.faq-panel-list{flex:1;overflow-y:auto;padding:8px;scrollbar-width:thin;scrollbar-color:rgba(90,170,240,0.090) transparent}.faq-panel-list::-webkit-scrollbar{width:5px}.faq-panel-list::-webkit-scrollbar-thumb{background:rgba(90,170,240,0.096);border-radius:3px}.faq-panel-item{border-radius:10px;margin-bottom:4px;overflow:hidden;transition:background 0.15s}.faq-panel-item:hover{background:rgba(255,255,255,0.740)}.faq-panel-item summary{padding:12px 14px;font-size:13px;font-weight:500;color:var(--text,#0E2436);cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px}.faq-panel-item summary::-webkit-details-marker{display:none}.faq-panel-item summary::after{content:"+";font-size:16px;color:var(--text-dim,rgba(14,36,54,0.460));transition:transform 0.2s;flex-shrink:0}.faq-panel-item[open] summary::after{transform:rotate(45deg)}.faq-panel-answer{padding:0 14px 14px;font-size:12px;color:var(--text-dim,rgba(14,36,54,0.510));line-height:1.7}.faq-panel-footer{padding:12px 16px;border-top:1px solid var(--border-subtle,rgba(10,132,255,0.150));text-align:center}.faq-hl{background:rgba(168,139,250,0.280);color:var(--purple-light,#4AA8FF);padding:0 2px;border-radius:3px;font-weight:600}.faq-empty{padding:28px 20px;text-align:center;color:var(--text-dim,rgba(14,36,54,0.460));font-size:13px;line-height:1.7}@media (max-width:480px){#faq-fab{right:18px;bottom:72px;width:52px;height:52px}.faq-panel{right:12px;bottom:72px;width:calc(100vw - 24px);max-height:70vh}}.config-methods{margin-bottom:24px}.method-tabs{display:flex;gap:8px;flex-wrap:wrap}.method-tab{padding:10px 16px;border-radius:8px;border:1px solid var(--border);background:var(--surface-elevated);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;line-height:1.4;backdrop-filter:blur(8px)}.method-tab:hover{background:rgba(10,132,255,0.100);border-color:var(--border-light);color:var(--text)}.method-tab.active{background:#724BFF;border-color:rgba(114,75,255,0.6);color:#fff;box-shadow:0 2px 8px rgba(114,75,255,0.2)}.method-content{display:none}.method-content.active{display:block}.method-header{margin-bottom:20px}.method-header h4{font-size:16px;font-weight:600;color:var(--text);margin-bottom:8px}.method-header p{font-size:14px;color:var(--text-secondary)}.method-steps{margin-top:24px;padding:20px;background:rgba(10,132,255,0.040);border:1px solid rgba(10,132,255,0.080);border-radius:10px}.method-steps h4{font-size:15px;font-weight:600;margin-bottom:16px;color:var(--purple-light)}.path-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-bottom:16px}.os-path{background:var(--surface-elevated);border-radius:8px;padding:16px;border:1px solid var(--border-subtle)}.os-path strong{display:block;font-size:14px;color:var(--text);margin-bottom:12px}.os-path ul{list-style:none;padding:0;margin:0}.os-path li{font-size:13px;color:var(--text-secondary);padding:6px 0;border-bottom:1px solid var(--border-subtle)}.os-path li:last-child{border-bottom:none}.os-path code{background:var(--surface-light);padding:2px 6px;border-radius:4px;font-size:12px;word-break:break-all}.ai-prompt-preview{background:rgba(90,170,240,0.052);border-radius:10px;padding:16px;border:1px solid var(--border-subtle);max-height:300px;overflow-y:auto}.ai-prompt-preview pre{margin:0;font-family:Consolas,"SF Mono",monospace;font-size:12px;color:var(--text-secondary);white-space:pre-wrap;word-break:break-all;text-align:left}.tip-box{margin-top:16px;padding:12px 16px;background:rgba(0,168,168,0.040);border:1px solid rgba(0,168,168,0.100);border-radius:8px}.tip-box p{font-size:13px;color:var(--green-light);margin:0;display:flex;align-items:center;gap:8px}.tutorial-card{background:var(--surface-elevated);border-radius:16px;border:1px solid var(--border-subtle);margin-bottom:24px;overflow:hidden;transition:all 0.3s ease}.tutorial-card:hover{border-color:var(--border-light);box-shadow:0 4px 20px rgba(20,80,150,0.135)}.tutorial-card-header{display:flex;align-items:center;gap:16px;padding:20px 24px;background:rgba(90,170,240,0.035);border-bottom:1px solid var(--border-subtle)}.tutorial-card-icon{display:flex;gap:8px;align-items:center}.tutorial-card-icon img{border-radius:8px;box-shadow:0 2px 8px rgba(20,80,150,0.180)}.tutorial-card-header h4{font-size:18px;font-weight:600;color:var(--text);margin:0 0 4px 0}.tutorial-card-header p{font-size:13px;color:var(--text-dim);margin:0}.tutorial-card-body{padding:24px;display:flex;flex-direction:column;gap:16px}.tutorial-step-card{display:flex;gap:16px;align-items:flex-start;padding:16px;background:rgba(90,170,240,0.030);border-radius:12px;border:1px solid var(--border-subtle);transition:all 0.2s ease}.tutorial-step-card:hover{background:rgba(10,132,255,0.060);border-color:var(--border-light)}.step-icon{width:36px;height:36px;background:linear-gradient(135deg,var(--purple),var(--purple-dark));border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;color:#0E2436;flex-shrink:0;box-shadow:0 2px 8px rgba(10,132,255,0.300)}.step-info{flex:1}.step-info h5{font-size:15px;font-weight:600;color:var(--text);margin:0 0 6px 0}.step-info p{font-size:13px;color:var(--text-secondary);margin:0;line-height:1.5}.step-paths{margin-top:10px;display:flex;flex-direction:column;gap:8px}.step-path{display:flex;align-items:center;gap:10px}.os-badge{padding:3px 8px;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.5px}.os-badge.win{background:rgba(0,96,208,0.150);color:#0060D0;border:1px solid rgba(0,96,208,0.200)}.os-badge.mac{background:rgba(0,191,209,0.150);color:#00BFD1;border:1px solid rgba(0,191,209,0.200)}.step-path code{background:rgba(90,170,240,0.070);padding:6px 10px;border-radius:6px;font-size:12px;color:var(--text-secondary);font-family:Consolas,"SF Mono",monospace;flex:1}.path-note{font-size:11px;color:var(--text-dim);padding:0 4px}.step-hint{font-size:12px;color:var(--text-dim);margin:8px 0 0 0;font-style:italic}.path-value{display:flex;align-items:center;gap:8px}.path-value code{flex:1}.copy-btn{padding:6px 8px;background:rgba(114,75,255,0.15);border:1px solid rgba(114,75,255,0.3);border-radius:6px;color:#A78BFA;cursor:pointer;transition:all 0.2s ease;display:flex;align-items:center;justify-content:center}.copy-btn:hover{background:rgba(114,75,255,0.25);border-color:rgba(114,75,255,0.5);transform:scale(1.05)}.copy-btn:active{transform:scale(0.95)}.copy-btn .icon{width:14px;height:14px}.tutorial-header-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}.tutorial-header-bar h3{margin-bottom:0}.tutorial-mode{display:none}.tutorial-mode.active{display:block}.btn-sm{padding:6px 12px;font-size:12px}.btn-outline{background:transparent;border:1px solid var(--border);color:var(--text-secondary)}.btn-outline:hover{background:var(--surface-elevated);border-color:var(--border-light);color:var(--text)}.quick-steps{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.quick-step{display:flex;gap:16px;align-items:flex-start;padding:16px;background:var(--surface-elevated);border-radius:10px;border:1px solid var(--border-subtle)}.quick-step-number{width:32px;height:32px;background:linear-gradient(135deg,var(--purple),var(--purple-dark));border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:#0E2436;flex-shrink:0}.quick-step-content{flex:1}.quick-step-content strong{display:block;font-size:15px;color:var(--text);margin-bottom:4px}.quick-step-content p{font-size:13px;color:var(--text-secondary);margin:0;line-height:1.5}.path-section{margin-top:24px;padding:20px;background:rgba(10,132,255,0.040);border:1px solid rgba(10,132,255,0.080);border-radius:10px}.path-section h4{font-size:15px;font-weight:600;margin-bottom:16px;color:var(--purple-light);display:flex;align-items:center;gap:8px}.path-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-bottom:16px}.path-card{background:var(--surface-elevated);border-radius:10px;border:1px solid var(--border-subtle);overflow:hidden}.path-card-header{padding:12px 16px;background:rgba(90,170,240,0.035);border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text)}.path-card-content{padding:16px}.path-item{margin-bottom:12px}.path-item:last-child{margin-bottom:0}.path-label{display:block;font-size:12px;color:var(--text-dim);margin-bottom:4px}.path-item code{display:block;background:rgba(90,170,240,0.052);padding:8px 12px;border-radius:6px;font-size:13px;color:var(--text-secondary);word-break:break-all;font-family:Consolas,"SF Mono",monospace}
/* support-contact-page */
.nav-contact-btn{display:inline-flex;align-items:center;gap:5px;padding:8px 16px;border-radius:8px;background:transparent;border:1px solid #5ac8fa;color:#5ac8fa;font-size:13px;font-weight:500;text-decoration:none;transition:background .15s,color .15s,box-shadow .15s,transform .15s}.nav-contact-btn:hover,.nav-contact-btn.active{background:#5ac8fa;color:#10202b;box-shadow:0 4px 16px rgba(90,200,250,.28);transform:translateY(-1px)}.nav-contact-btn:active{transform:translateY(0)}.nav-contact-btn svg{width:15px;height:15px;flex-shrink:0}.contact-page{max-width:880px;margin:0 auto;padding:12px 0 40px}.contact-heading{display:flex;align-items:center;gap:14px;margin:0 0 24px}.contact-heading-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:rgba(0,96,208,0.100);border:1px solid rgba(0,96,208,0.240);color:#0060D0;flex-shrink:0}.contact-heading-icon svg{width:24px;height:24px}.contact-heading h2{font-size:24px;margin:0 0 5px;color:var(--text)}.contact-heading p{margin:0;color:var(--text-secondary);font-size:14px}.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:28px;align-items:start}.contact-details{padding:28px;border:1px solid var(--border-subtle);border-radius:16px;background:var(--surface-elevated)}.contact-status{display:flex;align-items:center;gap:8px;color:var(--green-light);font-size:13px;font-weight:600;margin-bottom:16px}.contact-status-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(0,168,168,0.100)}.contact-details h3{font-size:22px;margin:0 0 8px;color:var(--text)}.contact-muted{font-size:14px;color:var(--text-secondary);line-height:1.7;margin:0 0 22px}.contact-qq-line{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--border);border-radius:10px;background:rgba(90,170,240,0.042);margin-bottom:14px}.contact-qq-line>span{font-size:12px;color:var(--text-dim);white-space:nowrap}.contact-qq-line strong{font:700 22px/1.2 Consolas,"SF Mono",monospace;color:var(--text);letter-spacing:.4px;flex:1}.contact-copy-btn{display:inline-flex;align-items:center;gap:5px;padding:7px 11px;border:1px solid rgba(114,75,255,.32);border-radius:7px;background:rgba(114,75,255,.12);color:#A78BFA;font-size:12px;font-weight:600;cursor:pointer}.contact-copy-btn:hover{background:rgba(114,75,255,.22)}.contact-copy-btn svg{width:14px;height:14px}.contact-open-btn{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:12px 16px;border-radius:9px;background:#5ac8fa;color:#10202b;font-size:14px;font-weight:700;text-decoration:none;transition:filter .15s,transform .15s}.contact-open-btn:hover{filter:brightness(1.06);transform:translateY(-1px)}.contact-open-btn svg{width:17px;height:17px}.contact-hours{display:flex;align-items:flex-start;gap:8px;margin-top:16px;color:var(--text-dim);font-size:12px;line-height:1.55}.contact-hours svg{width:15px;height:15px;flex-shrink:0;margin-top:1px}.contact-qr{margin:0;padding:12px;border:1px solid var(--border-subtle);border-radius:16px;background:var(--surface-elevated);overflow:hidden}.contact-qr img{display:block;width:100%;height:auto;max-height:500px;object-fit:contain;border-radius:10px;background:rgba(90,170,240,0.220)}.contact-qr figcaption{display:flex;flex-direction:column;gap:4px;padding:12px 4px 2px;text-align:center}.contact-qr figcaption strong{font-size:14px;color:var(--text)}.contact-qr figcaption span{font-size:12px;color:var(--text-dim)}.contact-safe-tip{display:flex;align-items:flex-start;gap:10px;margin-top:22px;padding:14px 16px;border:1px solid rgba(0,191,209,0.180);border-radius:10px;background:rgba(0,191,209,0.060);color:var(--text-secondary);font-size:13px;line-height:1.6}.contact-safe-tip svg{width:18px;height:18px;color:var(--orange);flex-shrink:0;margin-top:1px}.contact-safe-tip b{color:var(--text)}@media(max-width:768px){.nav-contact-btn{padding:7px 12px;font-size:12px}.contact-page{padding-top:4px}.contact-layout{grid-template-columns:1fr;gap:18px}.contact-details{padding:22px}.contact-qr{max-width:360px;width:100%;margin:0 auto}.contact-heading h2{font-size:21px}}@media(max-width:480px){.contact-qq-line{flex-wrap:wrap}.contact-qq-line strong{font-size:20px}.contact-copy-btn{margin-left:auto}.contact-heading{align-items:flex-start}.contact-heading-icon{width:42px;height:42px}.contact-safe-tip{font-size:12px}}


/* ===== 顶部导航标语（售前/售后客服指引）===== */
.topbar-slogan{display:inline-flex;align-items:center;gap:8px;padding:7px 16px;border-radius:999px;
flex-shrink:0;background:linear-gradient(135deg,#FFE066 0%,#FFC93C 45%,#FFB300 100%);color:#3A2205;
font-size:13px;font-weight:800;letter-spacing:.3px;line-height:1.2;white-space:nowrap;
text-decoration:none;border:1px solid rgba(255,255,255,.45);cursor:pointer;
box-shadow:0 4px 16px rgba(255,179,0,.42),inset 0 0 0 1px rgba(255,255,255,.08);
transition:transform .2s ease,box-shadow .2s ease;
animation:topbarSloganPulse 2.6s ease-in-out infinite}
.topbar-slogan:hover{transform:translateY(-1px);
box-shadow:0 6px 22px rgba(255,179,0,.62),inset 0 0 0 1px rgba(255,255,255,.18)}
.topbar-slogan svg{width:15px;height:15px;flex-shrink:0}
.topbar-slogan b{font-weight:900}
.topbar-slogan .ts-sep{display:inline-block;width:1px;height:13px;background:rgba(58,34,5,.35)}
.topbar-slogan .ts-sub{font-weight:700;opacity:.88}
@keyframes topbarSloganPulse{
0%,100%{box-shadow:0 4px 16px rgba(255,179,0,0.420),inset 0 0 0 1px rgba(255,255,255,0.080)}
50%{box-shadow:0 4px 24px rgba(255,179,0,0.750),inset 0 0 0 1px rgba(255,255,255,0.180)}}
/* 一行放不下时（<1280px）整条标语换行居中，不被压扁 */
@media (max-width:1280px){.topbar-slogan{order:3;width:100%;justify-content:center}}
@media (max-width:1200px){.topbar-slogan{font-size:12px;padding:6px 13px;gap:6px}
.topbar-slogan .ts-sep{height:12px}}
@media (max-width:560px){.topbar-slogan{font-size:11px;padding:5px 10px;gap:5px}}
@media (prefers-reduced-motion:reduce){.topbar-slogan{animation:none}}

/* =====================================================================
   BUDDY · 流动光影增强层【FINAL】（冷调纯白 + 电光蓝青）← azure 定稿
   最终版回退项：① 按钮只保留原版白色掠光还原，其余 = baseline 原样
                 ② logo 不做调色（保持原图颜色）
   仅颜色 / 光效覆盖，不改结构；整层删除即可回滚。
   由 build.py 原样追加到 style.css 末尾（不经颜色二次映射）。
   v2 = 水感流动：A 层（大光域，transform 位移+缩放+微旋，GPU 合成）
                 B 层（细碎波光 + 掠光带，background-position 反向滑动）
                 两层方向相反，交叉叠加形成「水体在动」的观感。
   ===================================================================== */

/* ---------- 1. 页面基底：冷调纯白 + 四角电光团（静态锚点） ---------- */
body{
  background-color:#FBFDFF!important;
  background-image:
    radial-gradient(34rem 28rem at 2% -10%,rgba(10,132,255,0.62),rgba(10,132,255,0) 72%),
    radial-gradient(30rem 24rem at 106% -6%,rgba(0,194,209,0.56),rgba(0,194,209,0) 72%),
    radial-gradient(38rem 30rem at 104% 108%,rgba(111,188,255,0.48),rgba(111,188,255,0) 72%),
    radial-gradient(32rem 28rem at -8% 106%,rgba(0,212,168,0.44),rgba(0,212,168,0) 72%),
    linear-gradient(172deg,#FFFFFF 0%,#F8FCFF 52%,#EDF5FF 100%)!important;
  background-repeat:no-repeat!important;
  background-attachment:fixed!important;
}

/* ---------- 1b. 水层 A：四团大光域整体游走 + 呼吸（transform，GPU 合成） ---------- */
body::before{
  content:"";
  position:fixed;
  inset:-18%;
  z-index:-1;
  pointer-events:none;
  background-repeat:no-repeat;
  background-size:122% 120%,114% 118%,128% 124%,120% 122%,170% 180%;
  background-position:0% 0%,100% 0%,100% 100%,0% 100%,50% 50%;
  background-image:
    radial-gradient(closest-side,rgba(10,132,255,0.38),rgba(10,132,255,0) 100%),
    radial-gradient(closest-side,rgba(0,194,209,0.34),rgba(0,194,209,0) 100%),
    radial-gradient(closest-side,rgba(111,188,255,0.30),rgba(111,188,255,0) 100%),
    radial-gradient(closest-side,rgba(0,212,168,0.28),rgba(0,212,168,0) 100%),
    linear-gradient(112deg,rgba(120,190,255,0) 34%,rgba(120,190,255,0.24) 50%,rgba(120,190,255,0) 66%);
  animation:bd-water-a 40s cubic-bezier(.45,.05,.55,.95) infinite,
            bd-breathe 31s ease-in-out infinite;
  will-change:transform,opacity;
}
@keyframes bd-water-a{
  0%  {transform:translate3d(-5%,-4%,0) scale(1.06) rotate(-1.2deg)}
  28% {transform:translate3d(4%,2%,0)   scale(1.15) rotate(.8deg)}
  56% {transform:translate3d(6%,5%,0)   scale(1.05) rotate(1.4deg)}
  78% {transform:translate3d(-2%,6%,0)  scale(1.13) rotate(.4deg)}
  100%{transform:translate3d(-5%,-4%,0) scale(1.06) rotate(-1.2deg)}
}
@keyframes bd-breathe{
  0%,100%{opacity:.84}
  45%    {opacity:1}
  70%    {opacity:.90}
}

/* ---------- 1c. 水层 B：细碎波光 + 掠光带（background-position 反向流动） ---------- */
body::after{
  content:"";
  position:fixed;
  inset:-12%;
  z-index:-1;
  pointer-events:none;
  background-repeat:repeat,repeat,repeat,no-repeat;
  background-size:26rem 26rem,34rem 34rem,20rem 20rem,215% 215%;
  background-position:0 0,0 0,0 0,-20% -16%;
  background-image:
    radial-gradient(closest-side at 34% 40%,rgba(10,132,255,0.22),rgba(10,132,255,0) 100%),
    radial-gradient(closest-side at 62% 56%,rgba(0,194,209,0.19),rgba(0,194,209,0) 100%),
    radial-gradient(closest-side at 46% 66%,rgba(111,188,255,0.15),rgba(111,188,255,0) 100%),
    linear-gradient(115deg,rgba(226,242,255,0) 41%,rgba(233,246,255,0.66) 50%,rgba(226,242,255,0) 59%);
  animation:bd-water-b 30s ease-in-out infinite;
}
@keyframes bd-water-b{
  0%  {background-position:0 0,0 0,0 0,-20% -16%}
  50% {background-position:112px -92px,-138px 104px,158px 76px,72% 64%}
  100%{background-position:0 0,0 0,0 0,-20% -16%}
}

/* ---------- 2. 顶栏：冷白玻璃（水面之上的浮板） ---------- */
.topbar{
  background:rgba(255,255,255,0.74)!important;
  backdrop-filter:blur(22px) saturate(1.8)!important;
  -webkit-backdrop-filter:blur(22px) saturate(1.8)!important;
  border-bottom:1px solid rgba(10,132,255,0.16)!important;
  box-shadow:0 8px 30px rgba(20,80,150,0.10)!important;
}

/* ---------- 3. 容器：电光玻璃（替换大面积浅蓝块） ---------- */
.info-section,.quick-guide,.faq-panel,.result-box,.models-preview,
.script-section,.script-step,.tutorial-step-card,.path-card-header,
.tutorial-card-header,.contact-qq-line,.client-card,.stat-card{
  background:rgba(255,255,255,0.60)!important;
  border:1px solid rgba(10,132,255,0.16)!important;
  box-shadow:0 12px 34px rgba(20,80,150,0.10),
             inset 0 1px 0 rgba(255,255,255,0.92)!important;
  backdrop-filter:blur(14px) saturate(1.35);
  -webkit-backdrop-filter:blur(14px) saturate(1.35);
}

/* ---------- 4. Hero 主标题：白色渐变 -> 深蓝青渐变（浅底可见） ---------- */
.hero h1{
  background-image:linear-gradient(135deg,#0060D0 0%,#0A84FF 44%,#00C2D1 100%)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
}

/* ---------- 5. 主按钮：仅保留原版白色掠光还原（其余按钮 UI = baseline 原样） ---------- */
.nav-buy-btn::before{
  background:linear-gradient(100deg,transparent,rgba(255,255,255,0.65),transparent)!important;
}

/* ---------- 6. 加载遮罩：冷白毛玻璃 ---------- */
.loading-overlay{
  background:rgba(247,251,255,0.72)!important;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}

/* ---------- 7. 无障碍：尊重系统减少动效 ---------- */
@media (prefers-reduced-motion:reduce){
  body::before,body::after{animation:none!important}
}

/* ---------- 8. 输入控件：白玻璃（替换浅蓝 tint） ---------- */
.form-input,select,textarea,.faq-panel-header input,.step-path code,.path-item code{
  background:rgba(255,255,255,0.74)!important;
  border-color:rgba(10,132,255,0.20)!important;
}
/* ---------- 9. Logo：保持原图颜色（不做任何调色） ---------- */
/* 用户明确要求 logo 用原本的颜色，故这里只做显式归零，不加任何 filter。 */
.topbar-logo img,.hero-icon img,.footer-brand img{
  filter:none!important;
}

/* =====================================================================
   PREMIUM LAYER · FINAL（高级质感 + 看得见的流动光线）
   用户已确认：azure 天青电光 · 按钮 UI 保持原样 · logo 保持原图颜色
   （追加在本文件末尾：同特异性下覆盖上面的规则，整层删除即可回滚）
   P1 材质底层  P2 流动光线  P3/P4 水层提速  P5 顶栏  P6 卡片  P7 标题
   P8 输入框    P9 无障碍
   注：本层不含任何按钮规则，也不对 logo 做任何调色。
   ===================================================================== */

/* ---------- P1. 材质底层：缎面丝光 + 四角渐晕 + 超细噪点（静态） ---------- */
html::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background-image:
    linear-gradient(101deg,rgba(10,132,255,0.060) 0%,rgba(10,132,255,0) 24%,rgba(0,194,209,0.055) 50%,rgba(10,132,255,0) 76%,rgba(10,132,255,0.050) 100%),
    radial-gradient(132% 96% at 50% 46%,rgba(10,132,255,0) 50%,rgba(7,98,189,0.085) 100%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.30'/%3E%3C/svg%3E");
  background-size:100% 100%,100% 100%,200px 200px;
  background-repeat:no-repeat,no-repeat,repeat;
  background-blend-mode:normal,normal,soft-light;
}

/* ---------- P2. 流动光线：两组反向斜向光带，大范围横扫 ---------- */
html::after{
  content:"";
  position:fixed;
  inset:-22%;
  z-index:-1;
  pointer-events:none;
  background-repeat:repeat,repeat,no-repeat;
  background-size:300% 300%,340% 340%,100% 100%;
  background-position:0% 0%,100% 100%,50% 50%;
  background-image:
    repeating-linear-gradient(104deg,
      rgba(10,132,255,0) 0px,rgba(10,132,255,0) 170px,
      rgba(10,132,255,0.118) 250px,rgba(0,194,209,0.260) 310px,rgba(10,132,255,0.118) 372px,
      rgba(10,132,255,0) 470px,rgba(10,132,255,0) 780px),
    repeating-linear-gradient(74deg,
      rgba(0,194,209,0) 0px,rgba(0,194,209,0) 200px,
      rgba(0,194,209,0.153) 280px,rgba(0,212,168,0.201) 322px,rgba(0,194,209,0.12) 364px,
      rgba(0,194,209,0) 452px,rgba(0,194,209,0) 720px),
    radial-gradient(58% 46% at 32% 30%,rgba(0,194,209,0.130),rgba(0,194,209,0) 100%);
  animation:bd-prem-drift 15s cubic-bezier(.45,.03,.55,.97) infinite,
            bd-prem-pulse 23s ease-in-out infinite;
  will-change:transform,opacity;
}
@keyframes bd-prem-drift{
  0%  {transform:translate3d(-13%,-7%,0) scale(1.04) rotate(-2.4deg)}
  26% {transform:translate3d(5%,3%,0)    scale(1.13) rotate(-.4deg)}
  52% {transform:translate3d(14%,9%,0)   scale(1.05) rotate(1.8deg)}
  76% {transform:translate3d(1%,-6%,0)   scale(1.14) rotate(.5deg)}
  100%{transform:translate3d(-13%,-7%,0) scale(1.04) rotate(-2.4deg)}
}
@keyframes bd-prem-pulse{
  0%,100%{opacity:.80}
  42%    {opacity:1}
  70%    {opacity:.88}
}

/* ---------- P3. 水层 A：提速 + 并入可见光带 ---------- */
body::before{
  background-size:122% 120%,114% 118%,128% 124%,120% 122%,245% 245%;
  background-position:0% 0%,100% 0%,100% 100%,0% 100%,50% 50%;
  background-image:
    radial-gradient(closest-side,rgba(10,132,255,0.40),rgba(10,132,255,0) 100%),
    radial-gradient(closest-side,rgba(111,188,255,0.34),rgba(111,188,255,0) 100%),
    radial-gradient(closest-side,rgba(0,212,168,0.30),rgba(0,212,168,0) 100%),
    radial-gradient(closest-side,rgba(0,194,209,0.28),rgba(0,194,209,0) 100%),
    repeating-linear-gradient(112deg,
      rgba(0,194,209,0) 0px,rgba(0,194,209,0) 250px,
      rgba(0,194,209,0.16) 362px,rgba(184,238,242,0.34) 442px,rgba(0,194,209,0.14) 524px,
      rgba(0,194,209,0) 662px,rgba(0,194,209,0) 900px);
  animation:bd-water-a 26s cubic-bezier(.45,.05,.55,.95) infinite,
            bd-breathe 17s ease-in-out infinite;
}

/* ---------- P4. 水层 B：提速 + 正反双向掠光带 ---------- */
body::after{
  background-repeat:repeat,repeat,repeat,no-repeat,no-repeat;
  background-size:26rem 26rem,34rem 34rem,20rem 20rem,230% 230%,300% 300%;
  background-position:0 0,0 0,0 0,-20% -16%,-30% -22%;
  background-image:
    radial-gradient(closest-side at 34% 40%,rgba(10,132,255,0.22),rgba(10,132,255,0) 100%),
    radial-gradient(closest-side at 62% 56%,rgba(111,188,255,0.18),rgba(111,188,255,0) 100%),
    radial-gradient(closest-side at 46% 66%,rgba(0,212,168,0.14),rgba(0,212,168,0) 100%),
    repeating-linear-gradient(115deg,rgba(0,194,209,0) 0%,rgba(0,194,209,0.05) 34%,rgba(0,194,209,0.46) 50%,rgba(0,194,209,0.05) 66%,rgba(0,194,209,0) 100%),
    repeating-linear-gradient(63deg,rgba(0,212,168,0) 0%,rgba(0,212,168,0.11) 40%,rgba(0,212,168,0) 58%,rgba(0,212,168,0) 100%);
  animation:bd-water-b2 17s ease-in-out infinite;
}
@keyframes bd-water-b2{
  0%  {background-position:0 0,0 0,0 0,-20% -16%,-30% -22%}
  50% {background-position:132px -108px,-160px 122px,168px 88px,86% 78%,64% 92%}
  100%{background-position:0 0,0 0,0 0,-20% -16%,-30% -22%}
}

/* ---------- P5. 顶栏：更强玻璃 + 底部金属细线 ---------- */
.topbar{
  background:rgba(255,255,255,0.64)!important;
  backdrop-filter:blur(26px) saturate(1.95)!important;
  -webkit-backdrop-filter:blur(26px) saturate(1.95)!important;
  border-bottom:1px solid rgba(10,132,255,0.15)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.92),
             0 10px 34px rgba(10,132,255,0.12),
             0 1px 2px rgba(10,132,255,0.07)!important;
}

/* ---------- P6. 卡片：多层景深 + 金属细边 + 内高光（悬浮玻璃） ---------- */
.info-section,.quick-guide,.faq-panel,.result-box,.models-preview,
.script-section,.script-step,.tutorial-step-card,.path-card-header,
.tutorial-card-header,.contact-qq-line,.client-card,.stat-card{
  background:linear-gradient(180deg,rgba(255,255,255,0.76),rgba(255,255,255,0.54))!important;
  border:1px solid rgba(10,132,255,0.15)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.96),
             inset 0 0 0 1px rgba(10,132,255,0.05),
             0 2px 6px rgba(10,132,255,0.07),
             0 24px 52px -20px rgba(10,132,255,0.30)!important;
  backdrop-filter:blur(18px) saturate(1.5);
  -webkit-backdrop-filter:blur(18px) saturate(1.5);
}

/* ---------- P7. Hero 标题：金属拉丝扫光（9s 循环） ---------- */
.hero h1{
  background-image:linear-gradient(100deg,#0762BD 0%,#0A84FF 22%,#85E2E9 34%,#0A84FF 46%,#6FBCFF 68%,#0762BD 100%)!important;
  background-size:280% 100%!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  animation:bd-title-flow 9s ease-in-out infinite;
}
@keyframes bd-title-flow{
  0%  {background-position:0% 50%}
  50% {background-position:100% 50%}
  100%{background-position:0% 50%}
}

/* ---------- P8. 输入控件：凹面内影 ---------- */
.form-input,select,textarea,.faq-panel-header input,.step-path code,.path-item code{
  background:rgba(255,255,255,0.84)!important;
  border-color:rgba(10,132,255,0.20)!important;
  box-shadow:inset 0 1px 3px rgba(10,132,255,0.10),
             inset 0 0 0 1px rgba(10,132,255,0.04);
}

/* ---------- P9. 无障碍：尊重系统减少动效 ---------- */
@media (prefers-reduced-motion:reduce){
  html::before,html::after{animation:none!important}
  body::before,body::after{animation:none!important}
  .hero h1{animation:none!important}
}

/* =====================================================================
   READABILITY LAYER · 可读性修复层（文件末尾追加）
   触发：用户反馈「部分文字过于暗淡透明 / 交互文字发灰看不清」。
   原则：只改颜色与不透明度，不动结构、布局、形状、尺寸、动效；
         全部为「同色相加深」，不引入新色相。
         不触碰 exempted 按钮的形态（透明底 / 1px 描边 / hover 填充 /
         过渡与关键帧一律保持 baseline）。
   回滚：删除本层（本注释块至文件结尾）即可，上方各层不受影响。
   ===================================================================== */

/* ---------- R1. 全站次级/辅助文字：--text-dim 0.46 -> 0.88 ----------
   单一最大杠杆：CSS 规则与 JS 内联 style 里的 var(--text-dim)
   都在运行时按继承从 :root 重新解析，故此处一处声明即全站生效。
   已核对：--text-dim 的 29 处用法全为次要文字 / 占位符 / 小图标，
   不含任何主按钮（主按钮用 --text-secondary 或硬编码色）。 */
:root{
  --text-dim:rgba(14,36,54,0.88);
}

/* ---------- R2. 修正内联 opacity 与半透明文字色的二次衰减 ----------
   例：表头 span 同时有 color:var(--text-dim) 与 opacity:0.6，
   复合后等效 alpha 约 0.53，即使底色接近纯白也不足 3.5:1。
   故把这类元素的不透明度归 1（仅命中 span / svg，即实测的 9 个元素）。 */
span[style*="opacity:0.6"],span[style*="opacity: 0.6"],
span[style*="opacity:0.3"],span[style*="opacity: 0.3"],
svg[style*="opacity:0.5"],svg[style*="opacity: 0.5"],
svg[style*="opacity:0.6"],svg[style*="opacity: 0.6"]{
  opacity:1!important;
}

/* ---------- R3. 内联 var(--purple-light) / #4AA8FF 的文字载体 ----------
   表格单元格、.tag 标签、强调 strong、文字链接、消耗积分等。
   排除图标（.icon / svg）、排除 logo 容器（保持原图颜色）、
   排除把该字面量用作背景色的元素。
   注意：不改 --purple-light 本身，图标与渐变保持原有亮度。 */
[style*="color:#4AA8FF"]:not(.icon):not(svg):not(#heroIcon):not(#heroLogo):not([style*="background-color:#4AA8FF"]),
[style*="color: #4AA8FF"]:not(.icon):not(svg):not(#heroIcon):not(#heroLogo):not([style*="background-color: #4AA8FF"]),
[style*="color:var(--purple-light)"]:not(.icon):not(svg):not(#heroIcon):not(#heroLogo),
[style*="color: var(--purple-light)"]:not(.icon):not(svg):not(#heroIcon):not(#heroLogo){
  color:#0A4B8C!important;
}
.tag{color:#0A4B8C!important}
#calc-costCredits{color:#0A4B8C!important}

/* ---------- R4. 内联青色文字（表格「工具」列 / 提示 / 安全提醒 / 推理标签） ---------- */
[style*="color:#00BFD1"]:not([style*="background-color:#00BFD1"]),
[style*="color: #00BFD1"]:not([style*="background-color: #00BFD1"]){
  color:#0A5C6B!important;
}
[style*="color:#00A8A8"]:not([style*="background-color:#00A8A8"]),
[style*="color: #00A8A8"]:not([style*="background-color: #00A8A8"]){
  color:#0A5A5A!important;
}

/* ---------- R5. hero 浮动科技词：内联半透明色 -> 同色相深色 ----------
   原色带 alpha 0.45~0.5，即便在黑底上也只到约 3.4:1，必须替换实体色。
   保留五种色相差异，仅提高明度对比。 */
.model-box-word[style*="rgba(251, 191, 36, 0.45)"]{color:#8A4B00!important}
.model-box-word[style*="rgba(52, 211, 153, 0.45)"]{color:#0B5D45!important}
.model-box-word[style*="rgba(167, 139, 250, 0.5)"]{color:#5B21B6!important}
.model-box-word[style*="rgba(124, 131, 255, 0.5)"]{color:#2A35B8!important}
.model-box-word[style*="rgba(168, 85, 247, 0.45)"]{color:#6B21A8!important}

/* ---------- R6. hero 徽标：8% 透明底 -> 稳定浅底，亮字 -> 深字 ----------
   原底为 alpha 0.08，叠在青色 hero 上几乎等同无底，亮色文字随之沉没。
   边框不做声明：.badge 的 border 缺省色 = currentColor，
   故边框会自动跟随新的文字色，无需另行覆盖（保持 1px 与结构不变）。 */
.badge{background:rgba(255,255,255,0.94)!important}
.badge-purple{color:#1250A8!important}
.badge-green{color:#0B6B4F!important}
.badge-blue{color:#0A3E7A!important}
.badge-orange{color:#0A6B7A!important}

/* ---------- R7. 打字机标题与光标 ----------
   原为 #4AA8FF 单色渐变，在青色 hero 上不足 1.3:1；改为同色系深蓝渐变，
   两端在实测背景 #53BFE7 上均 >= 4.99:1。 */
.hero-typewriter #typewriterText{
  background-image:linear-gradient(90deg,#06315F,#0A3F7A)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
}
.typewriter-cursor{color:#06315F!important}

/* ---------- R8. hero 副标题正文 ----------
   原 --text-secondary 0.72 在青色 hero 上 4.21:1；此处仅收窄该段范围，
   不改 --text-secondary 本身（.btn / .btn-outline 仍在用它，须保持原样）。 */
.hero p,.hero-left p{color:rgba(14,36,54,0.92)!important}

/* ---------- R9. 导航幽灵按钮：同色相加深文字与描边 ----------
   保持：透明底 / 1px 描边宽度 / hover 填充 / 全部过渡与动画。
   刻意不加 !important：维持与 :hover（特异性更高）原有的层叠关系，
   悬停填充与点击反馈完全不受影响。 */
.nav-chat-btn{color:#0B6B4F;border-color:#0B6B4F}
.nav-contact-btn{color:#0A5C8F;border-color:#0A5C8F}

/* ---------- R10. 绿色状态文字（步骤完成 / 客户端说明） ---------- */
.guide-step-done,.client-note{color:#0B6B4F!important}

/* =====================================================================
   READABILITY LAYER 结束
   未纳入本层（有意保持原样）：
   · .nav-buy-btn .nb-tag（按钮内部标签，baseline 既有，属按钮 UI）
   · .nav-notice-btn / #navNoticeBtn（index.html 内嵌 style 的站点原生
     紫色渐变按钮，非主题产物，按钮 UI 保持原样）
   · .footer-brand / .topbar-logo 渐变文字、公告弹窗自身配色
   ===================================================================== */
