@charset "utf-8";
/* ==========================================================================
   JS加密在线 · jsjiami.online
   ui.css —— Terminal / engineering design system
   参考语言：等宽标签 + 左标签右内容两栏 + 细线分区 + 扁平无圆角
            技术读数（坐标 / SESSION / 评分）+ 终端配色（青绿 + 琥珀）
   ========================================================================== */

:root{
    /* 底色：深空 / 墨黑 / 面板（参考 jsjiami.github.io） */
    --bg:#06080d;
    --bg-1:#090c13;
    --bg-2:#0d111a;
    --bg-3:#101622;
    /* 细线：半透明冷蓝 */
    --line:rgba(175,203,230,.13);
    --line-2:rgba(175,203,230,.20);
    --line-3:rgba(175,203,230,.32);
    /* 文字 */
    --t1:#eef5fb;
    --t2:#9aa7b6;
    --t3:#7b8798;
    --t4:#5b6673;
    /* 终端强调色 */
    --acc:#22d3ee;
    --acc-dim:#0e7490;
    --green:#4ade80;
    --amber:#fbbf24;
    --violet:#a78bfa;
    --red:#f87171;
    /* 字体 */
    --mono:"Cascadia Code","SFMono-Regular",ui-monospace,"JetBrains Mono",Menlo,Consolas,"Liberation Mono",monospace;
    --sans:"Segoe UI Variable Text","Segoe UI",-apple-system,BlinkMacSystemFont,
           Roboto,"HarmonyOS Sans SC","PingFang SC","Hiragino Sans GB",
           "Microsoft YaHei",sans-serif;
    --top:56px;
    --gutter:clamp(20px,3.6vw,56px);
    --wrap:1280px;
    --band:clamp(72px,7vw,120px);
    --ease:cubic-bezier(.2,.7,.3,1);
}

*{box-sizing:border-box;border-radius:0 !important;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
html,body{margin:0;padding:0;}
body{
    background:var(--bg);color:var(--t1);
    font-family:var(--sans);font-size:15px;line-height:1.6;
    -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
a{color:inherit;text-decoration:none;}
button,input,select,textarea{font:inherit;color:inherit;}
button{background:none;border:0;cursor:pointer;}
::selection{background:rgba(34,211,238,.3);}
::-webkit-scrollbar{width:10px;height:10px;}
::-webkit-scrollbar-thumb{background:#242a31;border:3px solid transparent;background-clip:content-box;}
::-webkit-scrollbar-thumb:hover{background:#333a43;background-clip:content-box;}
::-webkit-scrollbar-track{background:transparent;}

.mono{font-family:var(--mono);}
.lbl{
    font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
    color:var(--t4);line-height:1.4;
}
.hidden{display:none !important;}

/* ============================================================ 背景 */
.canvas{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:
    radial-gradient(1200px 640px at 16% -10%,rgba(34,211,238,.09),transparent 62%),
    radial-gradient(1000px 560px at 88% 4%,rgba(124,92,255,.10),transparent 62%),
    linear-gradient(180deg,#080d14,#070b11 60%,#060a0f);}
.canvas .grid{
    position:absolute;inset:0;
    background-image:linear-gradient(rgba(34,211,238,.055) 1px,transparent 1px),
                     linear-gradient(90deg,rgba(34,211,238,.055) 1px,transparent 1px);
    background-size:64px 64px;
    mask-image:radial-gradient(120% 70% at 50% 0%,#000 8%,transparent 72%);
    -webkit-mask-image:radial-gradient(120% 70% at 50% 0%,#000 8%,transparent 72%);
}
.canvas .beam{
    position:absolute;left:50%;top:-30vh;width:150vw;height:90vh;transform:translateX(-50%);
    background:radial-gradient(46% 60% at 50% 60%,rgba(34,211,238,.16),transparent 70%),
               radial-gradient(30% 40% at 78% 30%,rgba(167,139,250,.12),transparent 70%),
               radial-gradient(30% 40% at 20% 34%,rgba(74,222,128,.09),transparent 70%);
}
.canvas .scan{
    position:absolute;left:0;right:0;height:1px;
    background:linear-gradient(90deg,transparent,rgba(34,211,238,.5),transparent);
    animation:scan 9s linear infinite;
}
@keyframes scan{0%{top:8%;opacity:0;}10%{opacity:.8;}90%{opacity:.8;}100%{top:96%;opacity:0;}}

/* ============================================================ 加载 */
#loading{
    position:fixed;inset:0;z-index:9000;background:var(--bg);
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    transition:opacity .45s var(--ease),visibility .45s;
}
#loading.gone{opacity:0;visibility:hidden;}
.boot-title{font-size:20px;font-weight:700;letter-spacing:.02em;}
.boot-title b{color:var(--acc);}
.boot-sub{margin-top:10px;font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:var(--t4);text-transform:uppercase;}
.boot-track{margin-top:26px;width:min(320px,70vw);}
.boot-bar{height:2px;background:var(--line-2);overflow:hidden;}
.boot-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--acc),var(--green));transition:width .3s var(--ease);}
.boot-meta{margin-top:10px;display:flex;justify-content:space-between;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;color:var(--t3);}

/* ============================================================ 顶栏 */
.shell{position:relative;z-index:2;opacity:0;transition:opacity .45s var(--ease);}
.shell.on{opacity:1;}
.progress{position:fixed;top:0;left:0;height:1px;width:0;z-index:900;background:var(--acc);transition:width .1s linear;}
.topbar{
    position:fixed;top:0;left:0;right:0;height:var(--top);z-index:850;
    display:flex;align-items:center;gap:24px;padding:0 var(--gutter);
    background:rgba(0,0,0,.78);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
    transform:translateY(0);transition:transform .3s var(--ease);
}
.topbar.nav-hide{transform:translateY(-101%);}
.brand{display:flex;align-items:baseline;gap:8px;cursor:pointer;flex:0 0 auto;}
.brand b{font-size:14px;font-weight:700;letter-spacing:.02em;}
.brand span{font-family:var(--mono);font-size:11px;color:var(--t3);}
.navlinks{display:flex;align-items:center;gap:2px;margin-left:auto;}
.navlinks a{
    font-family:var(--mono);font-size:11px;letter-spacing:.06em;
    color:var(--t2);padding:9px 13px;transition:.18s var(--ease);
    border-bottom:2px solid transparent;
}
.navlinks a:hover{color:var(--t1);}
.navlinks a.on{color:var(--acc);border-bottom-color:var(--acc);text-shadow:0 0 14px rgba(34, 211, 238, .45);}
.topacts{display:flex;align-items:center;gap:8px;flex:0 0 auto;}
.ghostbtn{
    font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;color:var(--t3);
    border:1px solid var(--line-2);padding:7px 12px;transition:.16s var(--ease);cursor:pointer;
}
.ghostbtn:hover{color:var(--t1);border-color:var(--line-3);}
.burger{display:none;border:1px solid var(--line-2);padding:7px 11px;color:var(--t1);font-size:13px;}
.theme-ico{
    width:32px;height:32px;display:grid;place-items:center;border:0;background:transparent;
    color:var(--t2);cursor:pointer;transition:.18s var(--ease);padding:0;
}
.theme-ico svg{display:block;width:17px;height:17px;}
.theme-ico:hover svg{filter:drop-shadow(0 0 5px rgba(34, 211, 238, .70));}
.theme-ico:hover{color:var(--acc);transform:rotate(18deg);}

/* ============================================================ 版心 */
main{position:relative;z-index:2;padding-top:var(--top);}
section.band{padding:var(--band) var(--gutter);border-bottom:1px solid var(--line);position:relative;overflow:hidden;scroll-margin-top:calc(var(--top) + 8px);}
section.band.tint{background:var(--bg-1);}
.band-inner{max-width:var(--wrap);margin:0 auto;position:relative;z-index:1;}
.band::before{
    content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
    background:radial-gradient(900px 380px at 88% -10%,rgba(34,211,238,.07),transparent 66%);
}
section.band.warm::before{background:radial-gradient(900px 380px at 10% -10%,rgba(251,191,36,.07),transparent 66%);}
section.band.viol::before{background:radial-gradient(900px 380px at 50% -10%,rgba(167,139,250,.08),transparent 66%);}

.sechead{
    display:flex;align-items:flex-end;justify-content:space-between;gap:32px;flex-wrap:wrap;
    padding-bottom:20px;margin-bottom:clamp(30px,3.4vw,52px);border-bottom:1px solid var(--line);
}
.sechead h2{margin:14px 0 0;font-size:clamp(24px,3vw,42px);font-weight:700;letter-spacing:-.02em;line-height:1.15;}
.sechead h2 em{font-style:normal;color:var(--t3);}
.sechead p{margin:14px 0 0;font-size:15.5px;color:var(--t2);max-width:62ch;line-height:1.7;}
.sechead .aside{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--t4);text-transform:uppercase;text-align:right;line-height:1.9;}
.sec-num{
    display:inline-flex;align-items:center;gap:10px;
    font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--acc);
}
.sec-num:before{content:"";width:20px;height:1px;background:var(--acc);}

/* 按钮 */
.btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    padding:11px 20px;font-size:14px;font-weight:600;line-height:1.2;
    border:1px solid var(--line-2);color:var(--t1);background:transparent;
    cursor:pointer;transition:.18s var(--ease);font-family:var(--sans);white-space:nowrap;
}
.btn:hover{border-color:var(--line-3);background:rgba(255,255,255,.04);}
.btn.primary{background:var(--acc);border-color:var(--acc);color:#04121a;}
.btn.primary:hover{background:#5ee7f7;border-color:#5ee7f7;}
.btn.solid{background:var(--t1);border-color:var(--t1);color:#05070a;}
.btn.solid:hover{background:#fff;border-color:#fff;}
.btn.sm{padding:7px 12px;font-size:12.5px;}
.btn.lg{padding:15px 30px;font-size:15px;}
.btn.plain{border-color:transparent;color:var(--t2);}
.btn.plain:hover{color:var(--t1);background:rgba(255,255,255,.06);}
.btn[disabled],.btn.dis{opacity:.45;pointer-events:none;}
.btnrow{display:flex;flex-wrap:wrap;gap:12px;align-items:center;}

/* ============================================================ Hero */
.hero{padding-top:clamp(48px,6vw,96px);padding-bottom:clamp(48px,5.5vw,88px);}
.hero-top{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.hero-top .tag{
    display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line-2);
    padding:5px 11px;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--t3);
}
.hero-top .tag i{width:6px;height:6px;background:var(--green);box-shadow:0 0 8px var(--green);}
.readout{display:flex;gap:22px;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;color:var(--t4);}
.readout b{color:var(--t2);font-weight:400;}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:clamp(36px,4.5vw,80px);align-items:end;}
.hero h1{margin:26px 0 0;font-size:clamp(38px,6.2vw,82px);font-weight:800;letter-spacing:-.035em;line-height:1.06;}
.hero h1 em{font-style:normal;color:var(--t3);}
.hero h1 u{text-decoration:none;color:var(--acc);}
.hero .sub{margin:24px 0 0;font-size:14px;color:var(--t2);line-height:1.75;max-width:54ch;}
.hero .acts{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px;}
.hero-metrics{
    display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:1px;background:var(--line);
    border:1px solid var(--line);margin-top:clamp(36px,4vw,56px);
}
.hero-metrics div{background:var(--bg);padding:16px 18px;min-width:0;}
.hero-metrics b{display:block;font-size:clamp(20px,1.7vw,26px);font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.15;}
.hero-metrics span{display:block;margin-top:6px;font-family:var(--mono);font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:var(--t4);line-height:1.5;}
.hero-metrics .accent b{color:var(--acc);}

.terminal{border:1px solid var(--line-2);background:var(--bg-1);}
.terminal .bar{
    display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line);
    font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;color:var(--t3);text-transform:uppercase;
}
.terminal .bar .rt{margin-left:auto;color:var(--acc);}
.terminal .seg + .seg{border-top:1px solid var(--line);}
.terminal .seg-h{
    display:flex;align-items:center;gap:9px;padding:10px 16px 0;
    font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--t2);
}
.terminal .seg-h .fn{margin-left:auto;font-size:10px;color:var(--t4);letter-spacing:.06em;}
.terminal .dot-c{width:6px;height:6px;background:var(--t4);}
.terminal .dot-c.acc{background:var(--acc);box-shadow:0 0 8px rgba(34,211,238,.7);}
.terminal .seg pre{padding-top:10px;border-top:0;}
.terminal .rows{padding:6px 0;}
.terminal .row{
    display:flex;gap:14px;padding:8px 16px;font-family:var(--mono);font-size:12px;color:var(--t2);
    border-bottom:1px solid rgba(255,255,255,.03);
}
.terminal .row .k{color:var(--t4);min-width:96px;}
.terminal .row .v{color:var(--t1);}
.terminal .row .v.ok{color:var(--green);}
.terminal{display:flex;flex-direction:column;height:clamp(440px,56vh,560px);}
.terminal .seg{display:flex;flex-direction:column;min-height:0;}
.terminal .seg:first-of-type{flex:0 0 44%;}
.terminal .seg:last-of-type{flex:1 1 56%;}
.terminal pre{
    margin:0;padding:12px 14px;font-family:var(--mono);font-size:11px;line-height:1.75;color:#8b98a6;
    white-space:pre-wrap;word-break:break-all;overflow:auto;border-top:1px solid var(--line);scrollbar-width:thin;
    scrollbar-color:rgba(34, 211, 238, .50) transparent;
}
.terminal .seg:last-of-type pre{flex:1 1 auto;min-height:0;overflow-y:auto;}
.terminal .seg:last-of-type pre::-webkit-scrollbar{width:8px;height:8px;}
.terminal .seg:last-of-type pre::-webkit-scrollbar-track{background:rgba(255,255,255,.03);}
.terminal .seg:last-of-type pre::-webkit-scrollbar-thumb{
    background:rgba(34, 211, 238, .50);
    border-radius:6px;border:2px solid transparent;background-clip:content-box;
}
.terminal .seg:last-of-type pre::-webkit-scrollbar-thumb:hover{background:rgba(34, 211, 238, .80);background-clip:content-box;}
.terminal .k2{color:var(--violet);}.terminal .s2{color:var(--green);}.terminal .n2{color:var(--amber);}.terminal .c2{color:#4e5865;}
.terminal .fn2{color:#5aa9ff;}
.terminal .cur{display:inline-block;width:7px;height:14px;vertical-align:-2px;background:var(--acc);animation:blink 1.1s step-end infinite;}
@keyframes blink{50%{opacity:0;}}

/* ============================================================ 工作台 */
.ws-head{
    display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
    border:1px solid var(--line-2);border-bottom:0;background:var(--bg-1);padding:14px 18px;
}
.ws-head .t{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--t3);}
.ws-steps{display:flex;gap:1px;background:var(--line);border:1px solid var(--line);border-bottom:0;}
.ws-steps div{
    flex:1;background:var(--bg);padding:10px 16px;font-family:var(--mono);font-size:11px;
    letter-spacing:.12em;text-transform:uppercase;color:var(--t4);
}
.ws-steps div b{color:var(--acc);margin-right:8px;}
.ws-body{border:1px solid var(--line);background:var(--bg-1);}

/* 左标签 + 右内容 */
.field-row{
    display:grid;grid-template-columns:150px minmax(0,1fr);gap:clamp(20px,3vw,48px);
    padding:clamp(22px,2.4vw,36px) clamp(18px,2vw,30px);border-bottom:1px solid var(--line);
}
.field-row:last-child{border-bottom:0;}
.field-row > .lab{padding-top:4px;}
.field-row > .lab .zh{display:block;margin-top:6px;font-size:13.5px;color:var(--t1);font-weight:600;letter-spacing:0;}
.field-row > .lab .hint{display:block;margin-top:8px;font-size:12px;color:var(--t4);line-height:1.6;}

.pane-tools{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:12px;}
.pane-tools .name{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;color:var(--t2);}
.editor{border:1px solid var(--line-2);background:var(--bg);}
textarea.code{
    display:block;width:100%;border:0;outline:none;resize:vertical;background:transparent;color:#c6d2de;
    padding:16px;font-family:var(--mono);font-size:12.5px;line-height:1.85;tab-size:4;
}
textarea.code::placeholder{color:var(--t4);}
#common_code_source,#common_code_result{height:clamp(300px,32vw,440px);}
#common_code_result{white-space:pre-wrap;word-break:break-all;}
#webapi_example,#webapi_example_node,#upload_status{height:clamp(360px,36vw,560px);white-space:pre-wrap;word-break:break-all;}
.editor .foot{
    display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
    padding:10px 14px;border-top:1px solid var(--line);
    font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--t4);
}
.editor .foot .rt{display:flex;gap:8px;}
.output-empty{
    display:flex;align-items:center;gap:12px;padding:18px 16px;
    font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--t4);
    border-top:1px solid var(--line);
}

/* 配置矩阵 */
.matrix{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:22px;}
.matrix .left{background:var(--bg);padding:20px;}
.matrix .right{background:var(--bg-1);padding:20px;display:flex;flex-direction:column;gap:16px;}
.score{font-size:44px;font-weight:800;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums;}
.score small{font-size:16px;font-weight:600;color:var(--t3);margin-left:2px;}
.score-track{height:3px;background:var(--line-2);margin-top:12px;overflow:hidden;}
.score-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--acc),var(--green));transition:width .35s var(--ease);}
.score-note{margin-top:10px;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--t4);}
.metric{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--t4);}
.metric b{font-family:var(--sans);font-size:15px;font-weight:700;color:var(--t1);letter-spacing:0;text-transform:none;}
.presets{display:flex;gap:1px;background:var(--line);border:1px solid var(--line);}
.presets button{flex:1;background:var(--bg-2);padding:11px 10px;font-size:13px;font-weight:600;color:var(--t2);transition:.16s var(--ease);}
.presets button:hover{color:var(--t1);background:var(--bg-3);}
.presets button.on{background:var(--acc);color:#04121a;}

.opts-head{
    display:flex;align-items:center;gap:12px;flex-wrap:wrap;
    padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:6px;
}
.opts-head .search{
    flex:1;min-width:180px;background:var(--bg);border:1px solid var(--line-2);padding:9px 12px;
    font-family:var(--mono);font-size:12px;outline:none;
}
.opts-head .search:focus{border-color:var(--acc-dim);}
.opts-head .search::placeholder{color:var(--t4);}
.opts-group > .gl{
    display:flex;align-items:center;gap:12px;padding-bottom:10px;
    font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--t4);
}
.opts-group > .gl:after{content:"";flex:1;height:1px;background:var(--line);}
.opt-row{
    display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:14px;align-items:start;
    padding:13px 14px;border:1px solid var(--line);transition:.16s var(--ease);
    margin-bottom:2px;
}
.opt-row:last-child{border-bottom:1px solid var(--line);margin-bottom:0;}
.opts-group .opt-row:last-child{border-bottom:1px solid var(--line);}
.opt-row:hover{background:var(--bg-2);}
.opt-row.on{border-left:2px solid var(--acc);background:rgba(34,211,238,.04);}
.opt-row input[type=checkbox]{
    appearance:none;-webkit-appearance:none;width:15px;height:15px;margin-top:3px;
    border:1px solid var(--line-3);background:var(--bg);cursor:pointer;position:relative;transition:.14s;
}
.opt-row input[type=checkbox]:checked{background:var(--acc);border-color:var(--acc);}
.opt-row input[type=checkbox]:checked:after{
    content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;
    border:2px solid #04121a;border-top:0;border-left:0;transform:rotate(42deg);
}
.opt-row .txt label{display:block;font-size:11px;font-weight:600;cursor:pointer;}
.opt-row .txt .d{display:none;margin-top:7px;font-size:12.5px;color:var(--t3);line-height:1.7;}
.opt-row .txt .d.open{display:block;}
.opt-row .txt .d code{
    display:block;margin-top:7px;padding:10px 12px;background:var(--bg);border:1px solid var(--line);
    font-family:var(--mono);font-size:11.5px;line-height:1.8;color:#8fa3b5;overflow-x:auto;white-space:pre-wrap;word-break:break-all;
}
.opt-row .txt .d b{display:block;margin:9px 0 4px;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--t4);}
.opt-row .txt .d b:first-child{margin-top:0;}
.opt-row .txt .d .fw{color:var(--acc);font-weight:600;}
.opt-row .txt .d .tip{display:block;margin-top:7px;font-size:11.5px;color:var(--amber);border-left:2px solid rgba(251,191,36,.5);padding-left:9px;}
.opt-row .txt .d .cfg{margin-top:10px;padding:12px;border:1px solid var(--line-2);background:var(--bg-1);}
.opt-row .txt .d .cfg h3{margin:0 0 10px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--acc);}
.opt-row .txt .d .cfgitem{margin-bottom:11px;}
.opt-row .txt .d .cfgitem label{font-size:12.5px;color:var(--t2);font-weight:400;}
.opt-row .txt .d select,.opt-row .txt .d input[type=text]{
    margin-top:7px;padding:8px 10px;border:1px solid var(--line-2);background:var(--bg);
    font-family:var(--mono);font-size:12px;outline:none;max-width:100%;width:100%;
}
.opt-row .txt .d button{
    margin-top:8px;padding:7px 12px;border:1px solid var(--acc);background:transparent;color:var(--acc);
    font-size:12px;font-weight:600;cursor:pointer;
}
.opt-row .txt .d button:hover{background:rgba(34,211,238,.1);}
.opt-row .q{
    width:20px;height:20px;border:1px solid var(--line-2);color:var(--t4);
    display:grid;place-items:center;font-family:var(--mono);font-size:11px;cursor:pointer;transition:.16s;
}
.opt-row .q:hover{color:var(--acc);border-color:var(--acc-dim);}
.chipx{
    display:inline-block;margin:5px 6px 0 0;padding:3px 9px;
    border:1px solid var(--line-2);font-family:var(--mono);font-size:11px;color:var(--t2);cursor:pointer;
}
.chipx:hover{color:var(--acc);border-color:var(--acc-dim);}
.dlist{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0;}
.dlist .dynamic-list-item{
    display:inline-flex;align-items:center;gap:8px;padding:3px 9px;border:1px solid var(--line-2);
    font-family:var(--mono);font-size:11px;color:var(--t2);
}
.dlist .delete-button{cursor:pointer;color:var(--red);font-size:11px;}
#deleteButtonTemplate{display:none;}

/* 运行区 */
.run{
    display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:end;
    padding:clamp(20px,2vw,30px);border:1px solid var(--line-2);border-top:0;background:var(--bg-1);
}
.run .field{margin:0;}
.ws3 .run{grid-template-columns:1fr;gap:12px;}
.ws3 .run .field{width:100%;}
.ws3 .run .keywrap .input{width:100%;}
.ws3 .run-actions{display:flex;gap:10px;flex-wrap:wrap;}
.ws3 .run-actions .btn{flex:1 1 130px;width:auto;}
.run .lb{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--t4);margin-bottom:8px;}
.keywrap{position:relative;}
.input{
    width:100%;padding:11px 13px;border:1px solid var(--line-2);background:var(--bg);
    font-family:var(--mono);font-size:13px;outline:none;transition:.16s;
}
.input:focus{border-color:var(--acc-dim);}
.input::placeholder{color:var(--t4);}
.keywrap .input{padding-right:92px;}
.keywrap .peek{
    position:absolute;right:0;top:0;bottom:0;width:44px;display:grid;place-items:center;
    border-left:1px solid var(--line-2);color:var(--t3);cursor:pointer;font-size:13px;
}
.keywrap .peek:hover{color:var(--acc);}
.keywrap .peek.buy{
    right:44px;color:var(--acc);font-size:15px;font-weight:600;
    border-left:1px solid var(--line-2);
}
.keywrap .peek.buy:hover{background:rgba(34,211,238,.12);}
.keyacts{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
.ws3 .keyacts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));}
.ws3 .keyacts button{white-space:nowrap;padding:6px 4px;font-size:11px;}
.ws3 .run{padding:14px;background:var(--bg-1);}
.ws3 .run-actions .btn{width:100%;}
.keyacts button{padding:5px 9px;border:1px solid var(--line-2);font-family:var(--mono);font-size:11px;color:var(--t3);}
.keyacts button:hover{color:var(--t1);border-color:var(--line-3);}
#vip_code_tip{display:block;margin-top:8px;font-family:var(--mono);font-size:11px;color:var(--green);min-height:16px;}
.run-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}

.state-line{
    display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:center;
    padding:9px 12px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:11.5px;color:var(--t2);
}
.state-line .i{color:var(--t4);}
.state-line .ok{color:var(--green);}

.note{
    display:flex;gap:12px;padding:14px 16px;border:1px solid var(--line-2);background:var(--bg-1);
    font-size:13px;color:var(--t2);line-height:1.7;
}
.note b{color:var(--amber);font-weight:700;}

/* 读数栅格（各功能域通用） */
.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);}
.metrics div{background:var(--bg);padding:16px 18px;}
.metrics b{display:block;font-size:24px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.15;}
.metrics span{display:block;margin-top:6px;font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--t4);line-height:1.5;}
.metrics .accent b{color:var(--acc);}

/* 面板栅格 */
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);}
.grid-2 > .box,.grid-3 > .box{background:var(--bg);padding:clamp(20px,2.2vw,30px);}
.grid-2 > .box h4,.grid-3 > .box h4{margin:12px 0 8px;font-size:16px;font-weight:700;letter-spacing:-.01em;}
.grid-2 > .box p,.grid-3 > .box p{margin:0;font-size:13.5px;color:var(--t2);line-height:1.75;}
.box .ic{font-family:var(--mono);font-size:15px;color:var(--acc);}

/* 接口行 */
.endpoints{border:1px solid var(--line);}
.endpoint{
    display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:16px;align-items:center;
    padding:15px 16px;border-bottom:1px solid var(--line);background:var(--bg);
}
.endpoint:last-child{border-bottom:0;}
.endpoint .m{
    font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-align:center;
    border:1px solid var(--acc-dim);color:var(--acc);padding:3px 0;
}
.endpoint .p{font-family:var(--mono);font-size:13px;color:var(--t1);}
.endpoint .d{font-size:12.5px;color:var(--t3);margin-top:4px;}
.endpoint .s{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--t4);}

/* 标签页（接口示例 / 版本等小型切换） */
.tabs{display:flex;gap:1px;background:var(--line);border:1px solid var(--line);border-bottom:0;}
.tabs button{
    flex:1;background:var(--bg-2);padding:11px 14px;font-family:var(--mono);font-size:11px;
    letter-spacing:.12em;text-transform:uppercase;color:var(--t3);transition:.16s var(--ease);
}
.tabs button:hover{color:var(--t1);background:var(--bg-3);}
.tabs button.on{background:var(--acc);color:#04121a;}
.tabpane{display:none;}
.tabpane.show{display:block;}

/* ============================================================ 能力卡 */
.caps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.cap{background:var(--bg);padding:26px 24px;}
.cap .ic{font-family:var(--mono);font-size:15px;color:var(--acc);}
.cap .t{margin-top:16px;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--t4);}
.cap h4{margin:10px 0 8px;font-size:17px;font-weight:700;letter-spacing:-.01em;}
.cap p{margin:0;font-size:13.5px;color:var(--t2);line-height:1.75;}

/* ============================================================ 工具列表 */
.tools{border:1px solid var(--line);}
.tool{
    display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:18px;align-items:center;
    padding:18px 16px;border-bottom:1px solid var(--line);transition:.16s var(--ease);cursor:pointer;
}
.tool:last-child{border-bottom:0;}
.tool:hover{background:var(--bg-1);}
.tool .n{font-family:var(--mono);font-size:12px;color:var(--t4);}
.tool .nm{font-size:15px;font-weight:600;}
.tool .nm span{display:block;margin-top:3px;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--t4);}
.tool .go{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--t3);}
.tool:hover .go{color:var(--acc);}

/* ============================================================ 上传区 */
.up-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.up-col{background:var(--bg);padding:clamp(20px,2.2vw,32px);}
.drop{
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
    padding:clamp(38px,4vw,64px) 20px;border:1px dashed var(--line-2);background:var(--bg-1);
    cursor:pointer;transition:.18s var(--ease);text-align:center;
}
.drop:hover,.drop.over{border-color:var(--acc);background:rgba(34,211,238,.04);}
.drop .ic{font-family:var(--mono);font-size:20px;color:var(--acc);}
.drop b{font-size:14.5px;}
.drop span{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--t4);}
.filename{font-family:var(--mono);font-size:11.5px;color:var(--acc);word-break:break-all;}

/* ============================================================ 客户 */
.wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);}
.cell{height:96px;display:grid;place-items:center;padding:18px;background:var(--bg);transition:.18s;}
.cell img{max-width:100%;max-height:100%;object-fit:contain;filter:grayscale(1) brightness(1.9);opacity:.6;transition:.2s;}
.cell:hover{background:var(--bg-2);}
.cell:hover img{opacity:1;}
.orgs{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-top:0;}
.org{background:var(--bg);padding:16px 18px;}
.org b{display:block;font-size:13.5px;font-weight:600;}
.org span{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--t4);}

/* ============================================================ 三栏工作台（左源码 / 中配置 / 右结果） */
.ws3{display:grid;grid-template-columns:minmax(0,.92fr) minmax(340px,1.18fr) minmax(0,.92fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.ws3 > .c{background:var(--bg);padding:clamp(16px,1.6vw,24px);min-width:0;display:flex;flex-direction:column;gap:12px;}
.ws3 .c-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--line);}
.ws3 .c-head .t{display:flex;align-items:center;gap:9px;font-family:var(--mono);font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--t3);}
.ws3 .c-head .t b{color:var(--acc);font-weight:400;}
.ws3 .c-head .rt{display:flex;gap:6px;flex-wrap:wrap;}
.ws3 textarea.code{height:clamp(300px,30vw,420px) !important;flex:0 0 auto;}
.ws3 .editor{flex:0 0 auto;}

/* 本地版：下载按钮置于核心特性右侧并垂直居中 */
.local-features .lf-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;margin-top:16px;}
.local-features .lf-row .ticks{margin:0;}
.local-features .lf-act{
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;
}
.local-features .local-note{
    font-family:var(--mono);font-size:9px;letter-spacing:.04em;
    color:var(--t4);text-align:center;line-height:1.5;
}

/* 配置详情头部 */
.opts-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.opts-head{padding:16px 0 12px;border-bottom:1px solid var(--line);margin-bottom:8px;}
.opts-head .lbl{margin-right:auto;padding-left:2px;letter-spacing:.12em;}

/* 配置提示固定行（不挤动按钮） */
.opt-tip{
    height:20px;line-height:20px;font-family:var(--mono);font-size:11px;color:var(--green);
    opacity:0;transition:opacity .2s var(--ease);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.opt-tip.on{opacity:1;}

/* 共享选项宿主与占位 */
.opt-host .cfgpanel{border:0;background:transparent;}
.opt-host:not(.active) #obfuscate_js_options{display:none;}
.opt-host .cfgpanel .ttl{border-top:1px solid var(--line);}
.opt-elsewhere{
    display:none;padding:22px 16px;border:1px dashed var(--line-2);background:var(--bg-1);
    font-size:13px;color:var(--t3);line-height:1.8;text-align:center;
}
.opt-elsewhere.show{display:block;}
.opt-elsewhere span{color:var(--acc);cursor:pointer;border-bottom:1px solid rgba(34,211,238,.4);}

/* 密钥输入加长 */
.run .field .input{padding:13px 15px;font-size:14px;min-height:46px;}
.ws3 .keywrap .input{padding-right:46px;}

/* 配置面板 */
.cfgpanel{border:1px solid var(--line);background:var(--bg-1);}
.cfgpanel .ttl{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line);
    font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--t4);}
.cfgpanel .ttl b{color:var(--acc);font-weight:400;}
.preset-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-bottom:1px solid var(--line);}
.preset-card{
    background:var(--bg);padding:12px 10px;text-align:left;cursor:pointer;transition:.16s var(--ease);
    display:flex;flex-direction:column;gap:5px;min-width:0;overflow:hidden;
}
.preset-card.on{background:var(--bg-2);border:0;border-top:3px solid var(--acc);padding-top:10px;box-shadow:none;}
.preset-card .pn{font-size:13.5px;font-weight:700;line-height:1.3;}
.preset-card.on .pn{color:var(--acc);}
.preset-card .pd{font-family:var(--mono);font-size:9.5px;letter-spacing:.04em;color:var(--t4);line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.preset-card .pm{font-size:11px;color:var(--t3);line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cfg-sum{display:flex;align-items:center;gap:14px;padding:12px 14px;border-bottom:1px solid var(--line);flex-wrap:wrap;}
.cfg-sum .sc{font-size:24px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;}
.cfg-sum .sc small{font-size:12px;color:var(--t3);font-weight:600;}
.cfg-sum .bar{flex:1;min-width:90px;height:3px;background:var(--line-2);overflow:hidden;}
.cfg-sum .bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--acc),var(--green));transition:width .3s var(--ease);}
.cfg-sum .mt{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;color:var(--t4);white-space:nowrap;}
.cfg-note{padding:10px 14px;font-size:12.5px;color:var(--t2);line-height:1.65;border-bottom:1px solid var(--line);}
.cfg-act{display:flex;gap:8px;flex-wrap:wrap;padding:12px 14px;}
#opt-detail{border-top:1px solid var(--line);}
#opt-detail.hidden{display:none;}
.opts-inner{padding:0 22px 18px;}

/* 邮箱与价位分离（购买密钥） */
.buy-split{display:grid;grid-template-columns:minmax(240px,.42fr) minmax(0,1.4fr) minmax(230px,.44fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.buy-step{background:var(--bg);padding:clamp(18px,1.8vw,26px);}
.buy-step .stp{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--acc);}
.buy-step .stp b{display:grid;place-items:center;width:18px;height:18px;background:var(--acc);color:#04121a;font-size:11px;font-weight:700;}
.buy-step h4{margin:12px 0 6px;font-size:17px;font-weight:700;letter-spacing:-.01em;}
.buy-step p{margin:0;font-size:12.5px;color:var(--t3);line-height:1.7;}
.buy-step .mailbox{margin-top:18px;}
.buy-step .mailbox input{font-size:14px;padding:13px 14px;}
.buy-step .mailhint{margin-top:8px;font-size:11.5px;color:var(--t4);font-family:var(--mono);letter-spacing:.04em;}
.buy-step.secondary{background:var(--bg-1);}
.buy-step .picked{
    margin-top:16px;padding:12px 14px;border:1px dashed var(--line-2);background:var(--bg);
    font-family:var(--mono);font-size:11.5px;color:var(--t2);line-height:1.7;
}
.buy-step .picked b{color:var(--acc);font-weight:600;}
.plan .pickbtn{
    width:100%;margin-top:6px;padding:9px 12px;border:1px solid var(--line-2);background:transparent;
    font-size:13px;font-weight:600;color:var(--t1);transition:.16s var(--ease);cursor:pointer;
}
.plan .pickbtn:hover{border-color:var(--acc);color:var(--acc);}
.plan.chosen{border-color:var(--acc);background:var(--bg-1);box-shadow:inset 0 0 0 1px var(--acc);}
.plan.chosen .nm{color:var(--acc);}
.plan.chosen .pickbtn{border-color:var(--acc);color:var(--acc);background:rgba(34,211,238,.06);}
.plan .pickbtn.sel{border-color:var(--acc);color:var(--acc);background:rgba(34,211,238,.06);}

/* ============================================================ 客户（纯文字） */
.clients{border:1px solid var(--line);display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:1px;background:var(--line);}
.cline{
    display:grid;grid-template-columns:44px minmax(0,1fr) minmax(0,.9fr);gap:16px;align-items:baseline;
    background:var(--bg);padding:16px 18px;transition:.16s var(--ease);
}
.cline:hover{background:var(--bg-1);}
.cline .cn{font-family:var(--mono);font-size:11.5px;color:var(--acc);}
.cline b{font-size:12px;font-weight:600;}
.cline .cd{font-family:var(--mono);font-size:9px;letter-spacing:.06em;color:var(--t4);text-align:right;}

/* ============================================================ 本地版 */
.local-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border:1px solid var(--line);}
.local-grid .box{background:var(--bg);padding:clamp(22px,2.4vw,34px);}
.ticks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;}
.ticks li{display:flex;gap:11px;font-size:14px;color:var(--t2);line-height:1.65;}
.ticks li:before{content:"·";flex:0 0 auto;width:16px;text-align:center;color:var(--acc);font-weight:700;}
.kv{display:flex;flex-direction:column;gap:1px;background:var(--line);border:1px solid var(--line);}
.kv div{
    display:flex;justify-content:space-between;gap:14px;background:var(--bg);padding:12px 14px;
    font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;color:var(--t4);text-transform:uppercase;
}
.kv div b{font-family:var(--sans);font-size:13.5px;font-weight:600;color:var(--t1);letter-spacing:0;text-transform:none;}

/* ============================================================ 联系 */
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--line);border:1px solid var(--line);}
.contact-grid .box{background:var(--bg);padding:clamp(22px,2.4vw,34px);}
.mailto{font-family:var(--mono);font-size:17px;color:var(--acc);}
.stack{display:flex;flex-direction:column;}
.stack a{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    padding:11px 0;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--t2);cursor:pointer;transition:.16s;
}
.stack a:last-child{border-bottom:0;}
.stack a:hover{color:var(--t1);}
.stack a:after{content:"↗";font-family:var(--mono);color:var(--t4);}
.stack a:hover:after{color:var(--acc);}

/* ============================================================ 价格 */
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;}
.plan{background:var(--bg);padding:24px 22px;display:flex;flex-direction:column;}
.plan.hot{background:var(--bg-1);}
.plan .nm{font-family:var(--sans);font-size:15px;font-weight:700;letter-spacing:.01em;color:var(--t1);line-height:1.35;}
.plan .pr{margin:10px 0 6px;font-size:30px;font-weight:800;letter-spacing:-.035em;line-height:1;font-variant-numeric:tabular-nums;}
.plan .pr small{font-size:13px;font-weight:500;color:var(--t3);margin-left:6px;letter-spacing:0;}
.plan .ds{font-family:var(--mono);font-size:11.5px;letter-spacing:.04em;color:var(--t3);}
.plan ul{list-style:none;margin:20px 0;padding:16px 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:9px;flex:1;}
.plan ul li{font-size:13px;color:var(--t2);}
.plan ul li:before{content:"— ";color:var(--t4);}
.plan .flag{
    display:inline-block;margin-bottom:10px;padding:2px 8px;border:1px solid var(--acc);
    font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--acc);
}
.plan .btn{width:100%;}
.buybox{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap;padding:20px;border:1px solid var(--line);border-top:0;background:var(--bg-1);}
.buybox .field{flex:1;min-width:260px;margin:0;}
.legal{margin-top:18px;font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;color:var(--t4);line-height:1.9;}

/* ============================================================ 页脚 */
.foot{border-top:1px solid var(--line);padding:clamp(40px,4vw,64px) var(--gutter) 32px;background:var(--bg);}
.foot-inner{max-width:var(--wrap);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(0,.62fr));gap:32px;}
.foot h6{margin:0 0 12px;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--t4);font-weight:400;}
.foot .stack a{font-size:13px;padding:8px 0;}
.foot .copy{
    max-width:var(--wrap);margin:40px auto 0;padding-top:20px;border-top:1px solid var(--line);
    display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;
    font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--t4);
}
.foot .copy a{cursor:pointer;}
.foot .copy a:hover{color:var(--acc);}
.tips{
    margin-top:16px;padding:14px 16px;border:1px solid var(--line-2);background:var(--bg-1);
    font-size:12.5px;color:var(--t2);line-height:1.7;
}
.tips b{color:var(--t1);}

/* ============================================================ 浮动状态 */
#status_ui{position:fixed;right:18px;bottom:18px;z-index:1200;display:none;}
#status_container_small{
    display:flex;align-items:center;gap:9px;padding:9px 14px;cursor:pointer;
    border:1px solid var(--line-2);background:rgba(7,9,11,.95);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
    font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--t2);
}
#status_container_small:hover{color:var(--t1);border-color:var(--acc-dim);}
#status_container_large{
    display:none;width:min(440px,92vw);max-height:64vh;overflow:hidden;padding:14px;
    border:1px solid var(--line-2);background:var(--bg-1);
}
#status_container_large .h{
    display:flex;align-items:center;justify-content:space-between;
    padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid var(--line);
    font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--t2);
}
#status_container_large .h .x{cursor:pointer;color:var(--t3);}
#status_container_large .h .x:hover{color:var(--red);}
#status_content_div{max-height:50vh;overflow:auto;}
#states_logo,#states_logo_small{color:var(--acc);}

#toast{
    position:fixed;top:calc(var(--top) + 14px);left:50%;transform:translateX(-50%);z-index:1700;
    display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none;
}
.toast-item{
    padding:10px 16px;border:1px solid var(--acc-dim);background:rgba(7,9,11,.97);
    font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--t1);animation:fadeUp .2s var(--ease);
}
.toast-item.err{border-color:rgba(248,113,113,.6);}
@keyframes fadeUp{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:none;}}

/* ============================================================ 弹窗 */
.jc-mask{position:fixed;inset:0;z-index:1800;display:grid;place-items:center;background:rgba(0,0,0,.76);}
.jc-box{width:min(460px,94vw);max-height:86vh;overflow:auto;padding:24px;border:1px solid var(--line-2);background:var(--bg-1);}
.jc-title{font-size:15px;font-weight:700;margin-bottom:12px;}
.jc-content{font-size:14px;color:var(--t2);line-height:1.75;word-break:break-word;}
.jc-content b{color:var(--acc);}
.jc-content .err{color:var(--red);}
.jc-content .ok{color:var(--green);}
.jc-loading{display:flex;align-items:center;gap:12px;color:var(--t2);font-family:var(--mono);font-size:12px;letter-spacing:.06em;}
.jc-spin{width:14px;height:14px;border:2px solid var(--line-3);border-top-color:var(--acc);animation:spin .8s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
.jc-bar{margin-top:14px;height:2px;background:var(--line-2);overflow:hidden;position:relative;}
.jc-bar i{position:absolute;top:0;bottom:0;width:40%;background:var(--acc);animation:slide 1.1s linear infinite;}
@keyframes slide{from{left:-40%;}to{left:100%;}}
.jc-btns{display:flex;justify-content:flex-end;gap:8px;margin-top:22px;flex-wrap:wrap;}
.jc-btn{padding:9px 16px;border:1px solid var(--line-2);font-size:13.5px;font-weight:600;transition:.16s;}
.jc-btn:hover{background:rgba(255,255,255,.05);}
.jc-btn.primary{background:var(--acc);border-color:var(--acc);color:#04121a;}
.jc-btn.red{background:var(--red);border-color:var(--red);color:#160406;}

/* ============================================================ 进场 */
.reveal{opacity:0;transform:translateY(12px);transition:opacity .55s var(--ease),transform .55s var(--ease);}
.reveal.in{opacity:1;transform:none;}

/* ============================================================ 响应式 */
@media (max-width:1080px){
    .hero-grid{grid-template-columns:1fr;gap:32px;}
    .ws3{grid-template-columns:1fr;}
    .buy-split{grid-template-columns:1fr;}
    .preset-cards{grid-template-columns:repeat(3,1fr);}
    .preset-cards{grid-template-columns:1fr;}
    .matrix{grid-template-columns:1fr;}
    .caps{grid-template-columns:1fr;}
    .local-grid,.contact-grid,.up-grid{grid-template-columns:1fr;}
    .foot-inner{grid-template-columns:1fr 1fr;gap:26px;}
}
@media (max-width:900px){
    .navlinks{
        position:fixed;top:var(--top);left:0;right:0;flex-direction:column;align-items:stretch;gap:0;
        background:var(--bg-1);border-bottom:1px solid var(--line-2);display:none;margin:0;
    }
    .navlinks.open{display:flex;}
    .navlinks a{padding:13px 20px;border-bottom:1px solid var(--line);font-size:12.5px;}
    .navlinks a.on{border-bottom-color:var(--line);color:var(--acc);}
    .burger{display:block;}
    .topacts{margin-left:auto;}
    .field-row{grid-template-columns:1fr;gap:14px;}
    .field-row > .lab{padding-top:0;}
    .run{grid-template-columns:1fr;}
}
@media (max-width:640px){
    :root{--top:52px;--band:clamp(56px,10vw,84px);--gutter:16px;}
    .hero h1{letter-spacing:-.02em;}
    .hero-metrics{grid-template-columns:1fr;}
    .tool{grid-template-columns:36px minmax(0,1fr) auto;gap:12px;}
    .sechead .aside{text-align:left;}
    .foot-inner{grid-template-columns:1fr;}
    .foot .copy{flex-direction:column;}
}

/* ============================================================ flatpickr 暗色 */
.flatpickr-calendar{background:var(--bg-1) !important;border:1px solid var(--line-2) !important;box-shadow:none !important;}
.flatpickr-calendar:before,.flatpickr-calendar:after{display:none !important;}
.flatpickr-months .flatpickr-month,.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{color:var(--t1) !important;fill:var(--t1) !important;}
.flatpickr-current-month input.cur-year,.flatpickr-monthDropdown-months,.flatpickr-calendar .numInput{background:var(--bg) !important;color:var(--t1) !important;}
.flatpickr-weekday{color:var(--t3) !important;}
.flatpickr-day{color:#c6d2de !important;}
.flatpickr-day:hover,.flatpickr-day:focus{background:rgba(34,211,238,.14) !important;border-color:transparent !important;}
.flatpickr-day.today{border-color:var(--acc) !important;}
.flatpickr-day.selected{background:var(--acc) !important;border-color:var(--acc) !important;color:#04121a !important;font-weight:600;}
.flatpickr-day.flatpickr-disabled,.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay{color:var(--t4) !important;}

/* ============================================================ 亮色风格（body.theme-light） */
body.theme-light{
    --bg:#f3f5fa;
    --bg-1:#fbfcff;
    --bg-2:#eef1f8;
    --bg-3:#e5e9f3;
    --line:rgba(27,38,67,.11);
    --line-2:rgba(27,38,67,.19);
    --line-3:rgba(27,38,67,.30);
    --t1:#10131c;
    --t2:#5c6474;
    --t3:#7d8595;
    --t4:#9ca4b3;
    --acc:#0891b2;
    --acc-dim:#67e8f9;
    --green:#15803d;
    --amber:#b45309;
    --violet:#6d28d9;
    --red:#dc2626;
    background:var(--bg);color:var(--t1);
}
body.theme-light .canvas{background:
    radial-gradient(1100px 600px at 14% -8%,rgba(8,145,178,.10),transparent 62%),
    radial-gradient(1000px 560px at 88% 2%,rgba(109,40,217,.08),transparent 64%),
    linear-gradient(180deg,#ffffff,#f5f7fb 55%,#eef2f8);}
body.theme-light .canvas .grid{
    background-image:linear-gradient(rgba(8,145,178,.09) 1px,transparent 1px),
                     linear-gradient(90deg,rgba(8,145,178,.09) 1px,transparent 1px);
}
body.theme-light .canvas .beam{
    background:radial-gradient(46% 60% at 50% 60%,rgba(8,145,178,.14),transparent 70%),
               radial-gradient(30% 40% at 78% 30%,rgba(109,40,217,.10),transparent 70%);
}
body.theme-light .canvas .scan{background:linear-gradient(90deg,transparent,rgba(8,145,178,.35),transparent);}
body.theme-light .topbar{background:rgba(255,255,255,.86);}
body.theme-light .topbar.stuck{background:rgba(255,255,255,.95);}
body.theme-light .progress{background:var(--acc);}
body.theme-light .brand .glyph,
body.theme-light .brand .tx b{color:var(--t1);}
body.theme-light .terminal{background:var(--bg-1);border-color:var(--line-2);}
body.theme-light .terminal .bar{background:var(--bg-2);}
body.theme-light .terminal .rows{background:var(--bg-1);}
body.theme-light .terminal .seg pre{background:transparent;}
body.theme-light .editor{background:var(--bg-1);}
body.theme-light textarea.code{background:transparent;}
body.theme-light .bench{background:var(--bg-1);}
body.theme-light .bench-top{background:var(--bg-2);}
body.theme-light .editor .bar,
body.theme-light .editor .foot{background:var(--bg-2);}
body.theme-light .terminal pre{color:#334155;}
body.theme-light .terminal .k2{color:#7c3aed;}
body.theme-light .terminal .s2{color:#15803d;}
body.theme-light .terminal .n2{color:#b45309;}
body.theme-light .terminal .c2{color:#94a3b8;}
body.theme-light .terminal .cur{background:var(--acc);}
body.theme-light textarea.code{color:#1e293b;}
body.theme-light .editor,
body.theme-light .terminal,
body.theme-light .bench,
body.theme-light .ws3 > .c,
body.theme-light .cfgpanel,
body.theme-light .plans .plan,
body.theme-light .clients .cline,
body.theme-light .local-grid .box,
body.theme-light .contact-grid .box,
body.theme-light .up-col,
body.theme-light .matrix .left,
body.theme-light .matrix .right,
body.theme-light .buy-step{background:var(--bg-1);}
body.theme-light .matrix .right,
body.theme-light .buy-step.secondary,
body.theme-light .jc-box,
body.theme-light .drop,
body.theme-light .notice,
body.theme-light .foot,
body.theme-light #status_container_large{background:var(--bg-1);}
body.theme-light ::-webkit-scrollbar-thumb{background:#c7ced6;background-clip:content-box;}
/* ============================================================ 局部去粗 */
.kv div b,
.local-grid .kv div b{font-weight:400;font-family:var(--sans);font-size:13px;}
.contact-grid .kv div b{font-weight:400;}
.clients .cline b{font-weight:400;}
.contact-grid .mailto{font-weight:400;}
.contact-grid .box p{font-weight:400;}
/* 亮色下的提示条、弹窗、抽屉、浮动面板 */
body.theme-light .toast-item{
    background:#ffffff;border-color:var(--line-2);color:#0d1117;
    box-shadow:0 10px 28px -12px rgba(15,23,42,.22);
}
body.theme-light .toast-item.ok{border-color:#86efac;color:#15803d;}
body.theme-light .toast-item.err{border-color:#fca5a5;color:#dc2626;}
body.theme-light .jc-mask{background:rgba(15,23,42,.32);}
body.theme-light .jc-box{background:#ffffff;border-color:var(--line-2);box-shadow:0 24px 60px -24px rgba(15,23,42,.3);}
body.theme-light .jc-title{color:#0d1117;}
body.theme-light .jc-content{color:#4a5563;}
body.theme-light .jc-btn{background:#fff;border-color:var(--line-2);color:#0d1117;}
body.theme-light .jc-btn:hover{background:var(--bg-2);}
body.theme-light .jc-btn.primary{background:var(--acc);border-color:var(--acc);color:#fff;}
body.theme-light .jc-btn.red{background:var(--red);border-color:var(--red);color:#fff;}
body.theme-light .opt-tip{color:#15803d;}
body.theme-light #cookie_tip{color:#15803d;}
body.theme-light .drawer-mask{background:rgba(15,23,42,.32);}
body.theme-light .drawer{background:#fff;border-color:var(--line-2);}
body.theme-light .dhead,
body.theme-light .dtools,
body.theme-light .dfoot{background:var(--bg-1);}
body.theme-light .dtools .seg2{background:#fff;}
body.theme-light #status_container_small,
body.theme-light #status_container_large{background:#fff;border-color:var(--line-2);}
body.theme-light .note{background:var(--bg-1);}
body.theme-light .tips{background:var(--bg-1);}
body.theme-light .foot_tip{background:var(--bg-1);}
body.theme-light .plans .plan.hot{background:#eef7fb;}
body.theme-light .plan.chosen{background:#eef7fb;box-shadow:inset 0 0 0 2px var(--acc);}
body.theme-light .preset-card.on{background:#eef7fb;}
body.theme-light .opt-row.on{background:#f0f9fc;}
body.theme-light .cell img{filter:grayscale(1);opacity:.75;}
body.theme-light .terminal .seg-h .dot-c{background:#cbd5e1;}
body.theme-light .terminal .seg-h .dot-c.acc{background:var(--acc);}

/* 暗色下补充层次与微光，避免过暗 */
body:not(.theme-light) .band::before{opacity:1;}
body:not(.theme-light) .cfgpanel,
body:not(.theme-light) .matrix .right,
body:not(.theme-light) .ws3 > .c{background:#0b111a;}
body:not(.theme-light) .run{background:#0e141e;}
body:not(.theme-light) .bench,
body:not(.theme-light) .local-grid .box,
body:not(.theme-light) .contact-grid .box,
body:not(.theme-light) .clients .cline{background:#0a1017;}
body:not(.theme-light) .foot{background:#070b11;}
body:not(.theme-light) .tv-rule{display:none;}
/* 配置详情：文字不加粗 */
.opts-inner .opt-row .txt label{font-weight:400;}
.opts-inner .opt-row .txt .d b{font-weight:400;letter-spacing:.08em;}
.opts-inner .opt-row .txt .d .fw{font-weight:400;color:var(--acc);}
.opts-inner .opts-head .lbl{font-weight:400;}
.opts-inner .opt-row .txt .d code{font-weight:400;}
.opts-inner .opt-row .txt .d .tip{font-weight:400;}
.opts-inner .opt-row .txt .d .cfg h3{font-weight:400;}
.opts-inner .opt-row .txt .d .cfgitem label{font-weight:400;}
.opts-inner .opt-row .txt .d .dlist .dynamic-list-item{font-weight:400;}
/* ============================================================ 视觉增强层（背景 / 面板 / 特效） */

/* 顶栏底部渐隐光带 */
.topbar:after{
    content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;pointer-events:none;
    background:linear-gradient(90deg,transparent,rgba(34,211,238,.55),rgba(124,92,255,.5),transparent);
    opacity:0;transition:opacity .3s var(--ease);
}
.topbar.stuck:after{opacity:1;}

/* 区段顶部主题色细线 + 两侧渐隐 */
section.band:before{z-index:0;}
section.band{border-bottom-color:var(--line);}
section.band:after{
    content:"";position:absolute;top:0;left:0;right:0;height:1px;pointer-events:none;z-index:2;
    background:linear-gradient(90deg,transparent 4%,rgba(34, 211, 238, .42) 30%,
               rgba(124, 92, 255, .34) 68%,transparent 96%);
    opacity:.75;
}

/* 面板通用质感：内高光 + 悬浮投影 */
.ws3,.bench,.cfgpanel,.plans,.clients,.local-grid,.contact-grid,.tools,.up-grid{
    box-shadow:0 1px 0 rgba(255,255,255,.03) inset, 0 24px 60px -40px rgba(0,0,0,.9);
}
.ws3 > .c{position:relative;transition:background .25s var(--ease);}
.ws3 > .c:hover{background:rgb(10, 14, 21);}

/* 工作区激活态：顶部主题色条 */
.band.area-active .ws-head{border-bottom-color:rgb(33, 43, 55);}
.band.area-active .ws-steps div:first-child{color:var(--acc);}

/* 卡片四角技术角标（工程感细节） */
.cfgpanel,.terminal,.editor,.matrix,.buy-split,.local-grid,.contact-grid,.plans,.clients{position:relative;}
.cfgpanel:before,.terminal:before{
    content:"";position:absolute;top:-1px;left:-1px;width:14px;height:14px;pointer-events:none;z-index:3;
    border-top:1px solid rgba(34, 211, 238, .80);
    border-left:1px solid rgba(34, 211, 238, .80);
}
.cfgpanel:after,.terminal:after{
    content:"";position:absolute;bottom:-1px;right:-1px;width:14px;height:14px;pointer-events:none;z-index:3;
}

/* 终端：顶部扫光 + 代码区微弱渐变 */
.terminal .bar{position:relative;}
.terminal .bar:after{
    content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;
    background:linear-gradient(90deg,rgba(34, 211, 238, .50),transparent 60%);
}
.terminal .seg pre{
    background:linear-gradient(180deg,rgba(34, 211, 238, .04),transparent 42%);
}
.terminal:hover{box-shadow:0 30px 70px -34px rgba(34, 211, 238, .40);}

/* 评分数字发光 */
.cfg-sum .sc{color:var(--t1);text-shadow:0 0 22px rgba(34, 211, 238, .45);}
.cfg-sum .bar i{box-shadow:0 0 12px rgba(34, 211, 238, .70);}

/* 预设卡：悬浮上浮 */
.preset-card{position:relative;}
.preset-card.on .pn{text-shadow:none;}

/* 选项行：勾选后左侧主题色标记 */
.opt-row.on{box-shadow:inset 3px 0 0 var(--acc);}
.opt-row input[type=checkbox]{transition:transform .12s var(--ease);}
.opt-row input[type=checkbox]:active{transform:scale(.9);}

/* 按钮：主按钮带渐变光晕 */
.btn.primary{
    background:linear-gradient(120deg,var(--acc),rgb(38, 148, 226));
    box-shadow:0 8px 22px -14px rgba(34, 211, 238, .65);
}
.btn.primary:hover{
    background:linear-gradient(120deg,rgb(30, 186, 209),rgb(32, 113, 226));
    box-shadow:0 10px 24px -16px rgba(34, 211, 238, .55);
    filter:none;
}
.btn.filled{
    background:linear-gradient(120deg,#22d3ee,#7c5cff);border-color:transparent;color:#04121a;font-weight:600;
    box-shadow:0 10px 26px -16px rgba(34,211,238,.6);
}
.btn.filled:hover{
    background:linear-gradient(120deg,#1cb9d4,#6a4ae0);
    box-shadow:0 12px 28px -18px rgba(124,92,255,.6);
}

/* 客户行：悬浮主题色提示 */
.clients .cline{position:relative;transition:.2s var(--ease);}
.clients .cline:hover{background:rgb(10, 14, 21);}
.clients .cline:hover .cn{color:var(--acc);}

/* 页脚：顶部渐隐光带 */
.foot{position:relative;}
.foot:before{
    content:"";position:absolute;top:0;left:0;right:0;height:1px;
    background:linear-gradient(90deg,transparent,rgba(34, 211, 238, .40),transparent);
}

/* 进度条发光 */
.progress{box-shadow:0 0 10px rgba(34, 211, 238, .80);}

/* 亮色下的调整：阴影更轻、角标更淡 */
body.theme-light .ws3,body.theme-light .bench,body.theme-light .cfgpanel,
body.theme-light .plans,body.theme-light .clients,body.theme-light .local-grid,
body.theme-light .contact-grid,body.theme-light .tools,body.theme-light .up-grid{
    box-shadow:0 1px 0 rgba(255,255,255,.6) inset, 0 20px 44px -34px rgba(15,23,42,.28);
}
body.theme-light .cfg-sum .sc{text-shadow:0 0 18px rgba(8,145,178,.28);}
body.theme-light .terminal:hover{box-shadow:0 24px 54px -32px rgba(8,145,178,.35);}
body.theme-light .progress{box-shadow:0 0 8px rgba(8,145,178,.6);}
body.theme-light .ws3 > .c:hover{background:#f7fbff;}
body.theme-light .opt-row.on{box-shadow:inset 3px 0 0 var(--acc);}
/* ---------- 边框质感强化：更多 div ---------- */
.ws-head,.ws-steps,.ws-body,.bench-top,.up-col,.up-grid,.tools,.plans,.matrix,
.local-grid,.contact-grid,.clients,.opts-head,.buy-split{position:relative;}

/* 顶栏 / 状态条：底部渐隐主线 */
.ws-head{border-bottom-color:transparent;box-shadow:0 1px 0 rgba(34, 211, 238, .22);}
.ws-steps div{border-top:1px solid rgba(34, 211, 238, .18);}
.ws-steps div:first-child{
    border-top-color:rgba(34, 211, 238, .70);
    color:var(--t2);
}

/* 工作台主体外框：细描边 + 内高光 + 外侧柔光 */
.ws-body{
    box-shadow:inset 0 1px 0 rgba(255,255,255,.035), 0 30px 70px -46px rgba(0,0,0,.95);
}
.ws3{box-shadow:inset 0 1px 0 rgba(255,255,255,.03), 0 30px 70px -46px rgba(0,0,0,.95);}

/* 列首标题栏：左侧主题色短标 */
.ws3 .c-head{position:relative;}
.ws3 .c-head:before{
    content:"";position:absolute;left:0;bottom:-1px;width:38px;height:1px;
    background:linear-gradient(90deg,var(--acc),transparent);
}

/* 编辑器 / 终端：外发光边框 */
.editor{border-color:var(--line-2);box-shadow:inset 0 1px 0 rgba(255,255,255,.03);}
.editor:focus-within{border-color:rgb(47, 59, 73);box-shadow:0 0 0 3px rgba(34, 211, 238, .12);}
.terminal{
    border-color:var(--line-2);
    box-shadow:0 1px 0 rgba(255,255,255,.03) inset, 0 26px 60px -44px rgba(0,0,0,.9);
}

/* 配置面板 / 预设 / 评分：更强层次 */
.cfgpanel{border-color:var(--line-2);}
.cfg-sum{background:linear-gradient(90deg,rgba(34, 211, 238, .06),transparent 70%);}
.cfg-note{border-bottom-color:var(--line);}
.opts-head{border-bottom:1px solid var(--line);}

/* 指标 / 数值栅格：主题色顶边 */
.hero-metrics > div,.metrics > div{position:relative;}
.hero-metrics > div:before,.metrics > div:before{
    content:"";position:absolute;left:0;top:0;width:0;height:0;transition:.25s var(--ease);
}
.hero-metrics > div:hover,.metrics > div:hover{background:rgb(8, 11, 17);}

/* 上传区 / 拖拽区：动态虚线 + 内发光 */
.drop{
    border-color:var(--line-2);
    background:
        radial-gradient(120% 80% at 50% 0%,rgba(34, 211, 238, .07),transparent 62%),
        var(--bg-1);
}
.drop:hover{border-color:rgb(47, 59, 73);box-shadow:inset 0 0 0 1px rgba(34, 211, 238, .22);}
.drop .ic{
    width:34px;height:34px;display:grid;place-items:center;
    border:1px solid rgba(34, 211, 238, .45);color:var(--acc);
    background:rgba(34, 211, 238, .08);
}

/* 工具列表 / 客户行：左侧主题色短标 */
.tools .tool{position:relative;}
.tools .tool:before{
    content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:0;height:0;
    border-left:2px solid transparent;transition:.2s var(--ease);
}
.tools .tool:hover:before{height:60%;border-left-color:var(--acc);}
.clients .cline:before{
    content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:0;height:0;
    border-left:2px solid transparent;transition:.2s var(--ease);
}
.clients .cline:hover:before{height:58%;border-left-color:var(--acc);}

/* 购买区三栏：主题色分隔线 */

.buy-step{position:relative;border:0;}
.buy-step .stp b{box-shadow:0 0 12px rgba(34, 211, 238, .50);}
.plan .pickbtn{position:relative;overflow:hidden;}
.plan.pickable:hover{background:rgb(7, 10, 16);}

/* 浮动状态 / 提示条：主题色描边 */
#status_container_small{border-color:var(--line-2);box-shadow:0 12px 30px -20px rgba(0,0,0,.8);}
#status_container_small:hover{border-color:rgb(47, 59, 73);}
.note{border-color:var(--line-2);}
.note span:first-child{color:var(--amber);}

/* 亮色下：边框更清晰（当前过淡） */
body.theme-light{
    --line:#d7dfea;
    --line-2:#bcc8d8;
    --line-3:#9dabbd;
}
body.theme-light .editor,
body.theme-light .terminal,
body.theme-light .cfgpanel,
body.theme-light .ws-head,
body.theme-light .ws-body,
body.theme-light .buy-split{box-shadow:0 1px 0 rgba(255,255,255,.7) inset, 0 18px 40px -34px rgba(15,23,42,.25);}
body.theme-light .ws-body,body.theme-light .ws3{box-shadow:0 1px 0 rgba(255,255,255,.7) inset, 0 18px 40px -34px rgba(15,23,42,.25);}
body.theme-light .ws-steps div{background:#f2f5fa;}
body.theme-light .ws-steps div:first-child{background:#eaf4fb;color:var(--acc);}
body.theme-light .drop{background:radial-gradient(120% 80% at 50% 0%,rgba(8,145,178,.06),transparent 62%),#f7fafd;}
body.theme-light .cfg-sum{background:linear-gradient(90deg,rgba(8,145,178,.06),transparent 70%);}
body.theme-light .terminal .seg pre{background:linear-gradient(180deg,rgba(8,145,178,.035),transparent 42%);}
body.theme-light .hero-metrics > div:hover,body.theme-light .metrics > div:hover{background:#f0f7fc;}

/* 4) 亮色下复选框：未选中为白色 */
body.theme-light input[type=checkbox]{
    background-color:#ffffff;border-color:var(--line-3);
}
body.theme-light input[type=checkbox]:checked{
    background-color:#0891b2;border-color:#0891b2;
}
body.theme-light input[type=checkbox]:checked:after{border-color:#ffffff;}
/* ---------- 边框质感：第二轮扩展 ---------- */

/* 通用细描边容器统一外柔光 */
.terminal,.editor,.cfgpanel,.matrix,.buy-split,.local-grid,.contact-grid,.plans,
.clients,.tools,.up-grid,.ws-body,.bench,.panel,.plan,.opt-row,.preset-cards{
    transition:border-color .22s var(--ease), box-shadow .22s var(--ease), background .22s var(--ease);
}

/* 步骤条 / 标签行：底边主题色渐隐 */
.ws-steps{border-color:var(--line-2);}
.ws-steps div + div{border-left:1px solid var(--line);}

/* 代码编辑器：顶部主题色细标 + 底部渐隐线 */
.editor{overflow:hidden;}
.editor .bar{position:relative;}
.editor .bar:after{
    content:"";position:absolute;left:0;bottom:-1px;width:34px;height:1px;
    background:linear-gradient(90deg,var(--acc),transparent);
}
.editor .foot{border-top-color:var(--line);box-shadow:inset 0 1px 0 rgba(255,255,255,.02);}

/* 输入框 / 密钥框：悬浮与聚焦描边 */
.input{border-color:var(--line-2);}
.input:hover{border-color:var(--line-3);}
.input:focus,.input:focus-visible{
    border-color:rgb(69, 83, 100);
    box-shadow:0 0 0 3px rgba(34, 211, 238, .14);
}
.keywrap .peek{border-left-color:var(--line-2);}

/* 按钮：统一细描边层次 */
.btn{border-color:var(--line-2);}
.btn:hover{border-color:var(--line-3);}
.btn.primary,.btn.filled,.btn.green{border-color:transparent;}

/* 预设卡片：四角细边强调 */
.preset-card{position:relative;}
.preset-card.on{box-shadow:none;}

/* 价格卡片：悬浮顶部主题色线 */
.plan{position:relative;overflow:hidden;}
.plan:before{
    content:"";position:absolute;top:0;left:0;right:0;height:1px;
    background:linear-gradient(90deg,transparent,rgba(34, 211, 238, .45),transparent);
    opacity:0;transition:opacity .25s var(--ease);
}
.plan:hover:before{opacity:1;}
.plan.hot:before{opacity:.7;}

/* 本地版 / 联系 / 客户：外框细描边 */
.local-grid,.contact-grid,.clients,.tools,.up-grid{border-color:var(--line-2);}

/* 底部提示块 / 说明块：左侧主题色标 */
.tips,.note,.foot_tip{position:relative;}
.tips:before,.note:before{
    content:"";position:absolute;left:0;top:0;bottom:0;width:2px;
    background:linear-gradient(180deg,rgba(34, 211, 238, .70),transparent);
}

/* 抽屉 / 弹窗：细描边 + 顶部主题色线 */
.drawer{border-left-color:var(--line-2);}
.dhead,.dtools,.dfoot{border-color:var(--line);}
.jc-box{position:relative;}
.jc-box:before{
    content:"";position:absolute;top:0;left:0;right:0;height:2px;
    background:linear-gradient(90deg,var(--acc),rgb(59, 158, 240));
}

/* 状态面板：主题色描边 */
#status_container_large{border-color:var(--line-2);}

/* 亮色下：边框对比再确认 */
body.theme-light .preset-card{border-right-color:var(--line);}
body.theme-light .tips:before,body.theme-light .note:before{background:linear-gradient(180deg,rgba(8,145,178,.75),transparent);}
body.theme-light .editor .foot{box-shadow:inset 0 1px 0 rgba(255,255,255,.7);}
/* ============================================================ 配置详情示例框（恢复边框） */
.opt-row .txt .d code{
    display:block;margin:8px 0 12px;padding:12px 14px;
    border:1px solid var(--line-2);background:var(--bg);color:#a9c6e0;
    font-family:var(--mono);font-size:11.5px;line-height:1.85;
    white-space:pre-wrap;word-break:break-all;overflow-x:auto;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.025), 0 6px 18px -14px rgba(0,0,0,.8);
}
.opt-row .txt .d code:hover{border-color:var(--line-3);}
.opt-row .txt .d code:last-child{margin-bottom:6px;}
.opt-row .txt .d b.codelab{
    display:flex;align-items:center;gap:8px;margin:14px 0 8px;
    font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:var(--t3);font-weight:400;
}
.opt-row .txt .d b.codelab:before{
    content:"";width:12px;height:1px;background:rgba(34, 211, 238, .70);
}
.opt-row .txt .d > .tip{margin:0 0 10px;}

/* ============================================================ 本地加密 / 联系 / 购买 卡片边框强化 */
.local-grid,.contact-grid{
    box-shadow:0 1px 0 rgba(255,255,255,.03) inset, 0 26px 60px -44px rgba(0,0,0,.9);
}
.local-grid .box,.contact-grid .box{position:relative;transition:background .25s var(--ease);}
.local-grid .box:hover,.contact-grid .box:hover{background:rgb(8, 11, 17);}
.contact-grid .box:before{
    content:"";position:absolute;left:0;right:0;top:0;height:1px;
    opacity:1;
}
.local-grid .box .lbl,.contact-grid .box .lbl{
    display:inline-flex;align-items:center;gap:8px;color:var(--acc);letter-spacing:.14em;
}
.local-grid .box .lbl:before,.contact-grid .box .lbl:before{
    content:"";width:14px;height:1px;background:var(--acc);
}
.local-grid .kv,.contact-grid .kv{border-color:var(--line-2);}
.local-grid .kv div,.contact-grid .kv div{border-left:2px solid transparent;transition:.2s var(--ease);}
.local-grid .kv div:hover,.contact-grid .kv div:hover{
    background:rgb(7, 10, 16);
    border-left-color:var(--acc);
}
.local-grid .ticks li{padding-left:2px;}
.local-grid .ticks li:before{content:"›";font-size:15px;}

/* 购买密钥：三栏 + 卡片描边 */
.buy-split{border-color:var(--line-2);box-shadow:0 1px 0 rgba(255,255,255,.03) inset, 0 30px 70px -48px rgba(0,0,0,.95);}


.buy-step .stp b{box-shadow:0 0 14px rgba(34, 211, 238, .55);}
.buy-step .mailbox .input{border-color:var(--line-2);}
.buy-step .kv{border-color:var(--line-2);}

.plans{box-shadow:0 1px 0 rgba(255,255,255,.03) inset, 0 26px 60px -46px rgba(0,0,0,.9);}
.plan{position:relative;}
.plan:after{
    content:"";position:absolute;left:0;right:0;top:0;height:1px;
    background:linear-gradient(90deg,rgba(34, 211, 238, .35),transparent 65%);
    opacity:.55;
}
.plan.hot:after{opacity:1;background:linear-gradient(90deg,var(--acc),transparent 75%);}
.plan .pr{text-shadow:0 0 22px rgba(34, 211, 238, .22);}
.plan .flag{box-shadow:0 0 14px rgba(34, 211, 238, .45);}
.plan.pickable{transition:background .22s var(--ease), box-shadow .22s var(--ease), transform .22s var(--ease);}
.plan.pickable:hover{transform:translateY(-2px);box-shadow:0 18px 44px -32px rgba(0,0,0,.9);}
.plan.chosen{box-shadow:inset 0 0 0 1px var(--acc), 0 0 0 1px rgba(34, 211, 238, .25);}

/* 亮色下：示例框与卡片边框 */
body.theme-light .opt-row .txt .d code{
    background:#f8fafc;border-color:var(--line-2);color:#334155;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.8), 0 6px 16px -14px rgba(15,23,42,.35);
}
body.theme-light .local-grid,body.theme-light .contact-grid,body.theme-light .buy-split,body.theme-light .plans{
    box-shadow:0 1px 0 rgba(255,255,255,.7) inset, 0 20px 46px -38px rgba(15,23,42,.28);
}
body.theme-light .plan .pr{text-shadow:none;}
body.theme-light .plan .flag{box-shadow:none;}
body.theme-light .buy-step .stp b{box-shadow:none;}

/* 源码对照：亮色滚动条 */
body.theme-light .terminal .seg:last-of-type pre{scrollbar-color:rgba(8,145,178,.55) transparent;}
body.theme-light .terminal .seg:last-of-type pre::-webkit-scrollbar-track{background:rgba(15,23,42,.05);}
body.theme-light .terminal .seg:last-of-type pre::-webkit-scrollbar-thumb{background:rgba(8,145,178,.5);border-radius:6px;border:2px solid transparent;background-clip:content-box;}
body.theme-light .terminal .seg:last-of-type pre::-webkit-scrollbar-thumb:hover{background:rgba(8,145,178,.85);background-clip:content-box;}
/* ============================================================ 配置详情：限高 + 右侧滚动条 */
.opts-inner{
    max-height:clamp(448px,67vh,672px);
    overflow-y:auto;overflow-x:hidden;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    scrollbar-color:rgba(34, 211, 238, .45) transparent;
}
/* 标题行随内容一起滚动（不做吸顶固定） */
.opts-inner .opts-head{padding-top:14px;}
/* 滚动条外观 */
.opts-inner::-webkit-scrollbar{width:9px;}
.opts-inner::-webkit-scrollbar-track{background:rgba(255,255,255,.03);}
.opts-inner::-webkit-scrollbar-thumb{
    background:rgba(34, 211, 238, .45);
    border-radius:6px;border:2px solid transparent;background-clip:content-box;
}
.opts-inner::-webkit-scrollbar-thumb:hover{
    background:rgba(34, 211, 238, .78);background-clip:content-box;
}

/* 亮色下的滚动条 */
body.theme-light .opts-inner{scrollbar-color:rgba(8,145,178,.5) transparent;}
body.theme-light .opts-inner::-webkit-scrollbar-track{background:rgba(15,23,42,.05);}
body.theme-light .opts-inner::-webkit-scrollbar-thumb{background:rgba(8,145,178,.5);border-radius:6px;border:2px solid transparent;background-clip:content-box;}
body.theme-light .opts-inner::-webkit-scrollbar-thumb:hover{background:rgba(8,145,178,.85);background-clip:content-box;}

/* 窄屏适度放宽 */
@media (max-width:900px){ .opts-inner{max-height:clamp(384px,61vh,544px);} }
/* ============================================================ 选项分组标题（基本配置 / 额外配置） */
.opt-sec{
    display:flex;align-items:center;gap:12px;
    padding:18px 14px 10px;
    background:linear-gradient(90deg,rgba(34, 211, 238, .07),transparent 62%);
}
.opt-sec .sn{
    font-family:var(--mono);font-size:11px;letter-spacing:.16em;
    color:var(--acc);white-space:nowrap;
}
.opt-sec .sm{
    font-family:var(--mono);font-size:9.5px;letter-spacing:.2em;
    color:var(--t4);white-space:nowrap;
}
.opt-sec:after{content:"";flex:1;height:1px;background:var(--line);}

/* 额外配置组稍微区分底色 */

/* 亮色适配 */
body.theme-light .opt-sec{background:linear-gradient(90deg,rgba(8,145,178,.07),transparent 62%);}
body.theme-light .opt-sec .sn{color:var(--acc);}
/* 额外配置组：整体轻微区分底色 */
.opts-group[data-group="额外配置"] .opt-row{background:rgb(15, 20, 28);}
.opts-group[data-group="额外配置"] .opt-row.on{background:rgb(24, 33, 46);}
.opts-group[data-group="额外配置"] .opt-row:last-child{border-bottom:0;}
body.theme-light .opts-group[data-group="额外配置"] .opt-row{background:#f7fafd;}
body.theme-light .opts-group[data-group="额外配置"] .opt-row.on{background:#e9f4fa;}
/* 套餐卡：副标题与标题排版 */
.plan .pr small{white-space:nowrap;}
.plan .nm + .pr{margin-top:10px;}
body.theme-light .plan .nm{color:#0b1220;}

/* ============================================================ 套餐「推荐」三角旗 */
.plan .ribbon{
    position:absolute;top:0;right:0;z-index:5;
    width:46px;height:32px;
    background:#0891b2;
    font-family:var(--sans);font-size:11px;
    letter-spacing:.04em;line-height:1;
    pointer-events:none;
}
.plan .ribbon:before{
    content:"推荐";
    position:absolute;top:11px;right:12px;
}
body.theme-light .plan .ribbon{background:#0891b2;color:#fff;}

/* 亮色模式：次级按钮明确用深色文字（白底可见） */
body.theme-light .btn,
body.theme-light .btn.plain,
body.theme-light .ghostbtn,
body.theme-light .presets button,
body.theme-light .tabs button,
body.theme-light .keyacts button{
    color:#0b1220;
}
body.theme-light .btn.plain{color:#475569;}

/* 亮色模式：有背景色的按钮（开始加密 / 复制 / 去支付 等）换用更亮的配色 + 白字 */
body.theme-light .btn.primary,
body.theme-light .btn.filled{
    color:#ffffff;
    border-color:transparent;
    box-shadow:none;
}
body.theme-light .btn.primary:hover,
body.theme-light .btn.filled:hover{
    color:#ffffff;
}

/* 亮色模式：次级按钮（导入文件 / 清空 / 免费试用 / 保存文件 等）—— 白底深字 */
body.theme-light .btn:not(.primary):not(.filled){
    color:#0b1220;
    border-color:#c8d2e0;
    background:#ffffff;
}
body.theme-light .btn:not(.primary):not(.filled):hover{
    color:#0b1220;
    border-color:#a9b6c8;
    background:#eef4fa;
}
body.theme-light .btn.plain:not(.primary):not(.filled){
    color:#475569;
    border-color:transparent;
    background:transparent;
}
body.theme-light .btn.plain:not(.primary):not(.filled):hover{
    color:#0b1220;
    background:#eef4fa;
}

/* ============================================================ 亮色：文字色度与间距微调 */
body.theme-light .navlinks a{color:#5b6b80;}
body.theme-light .navlinks a:hover{color:#1f2b3d;}
body.theme-light .navlinks a.on{color:#0e7490;text-shadow:none;}
body.theme-light .hero-metrics b,
body.theme-light .metric b,
body.theme-light .metric span,
body.theme-light .hero-metrics span{color:#4a5a70;}
body.theme-light .hero-metrics .accent b{color:#0e7490;}
body.theme-light .brand b{color:#334155;}

/* 套餐卡 / 联系栏：留白后不再需要网格底纹 */
.plan{margin:0;border:1px solid var(--line-2);}
.contact-grid .box{margin:0;border:0;}

/* ============================================================ 亮色：按钮文字（最高特异性兜底）
   白/纸色底上的按钮必须用墨色文字，否则无法阅读 */
html body.theme-light .btn,
html body.theme-light .btn.lg,
html body.theme-light .btn.sm,
html body.theme-light .ghostbtn{ color:#1b2233; }
html body.theme-light .btn.plain{ color:#5c6474; }
html body.theme-light .btn.primary,
html body.theme-light .btn.filled{ color:#ffffff; }

/* ============================================================ 预设卡：hover 复用「选中」特效 */

.preset-card:hover .pn{color:var(--acc);text-shadow:none;}
/* 已选中的卡片保持同样外观 */
.preset-card.on{
    background:var(--bg-2);
    border:0;
    border-top:3px solid var(--acc);
    padding-top:10px;
    box-shadow:none;
}
.preset-card.on .pn{color:var(--acc);text-shadow:none;}
/* 亮色：同选中态底色 */
body.theme-light .preset-card:hover{background:#eef7fb;}
body.theme-light .preset-card.on{background:#eef7fb;}

/* 亮色：上述 hover 底色的对应值 */
body.theme-light .ws3 > .c:hover{background:#f4f8fc;}
body.theme-light .clients .cline:hover{background:#f4f8fc;}
body.theme-light .hero-metrics > div:hover,
body.theme-light .metrics > div:hover{background:#f0f6fc;}
body.theme-light .plan.pickable:hover{background:#f6fafe;}
body.theme-light .local-grid .box:hover,
body.theme-light .contact-grid .box:hover{background:#f1f7fc;}
body.theme-light .local-grid .kv div:hover,
body.theme-light .contact-grid .kv div:hover{background:#f6faff;}
