:root{--bg: #101318;--panel: #1a1f27;--line: #2c3442;--line2: #3a4454;--text: #e9ecf1;--muted: #8a94a6;--accent: #57a94b;--accent-hi: #6ec95f;--blue: #4a9fe0;--danger: #d9534f;--radius: 12px;--mono: ui-monospace, "Cascadia Code", Consolas, monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:radial-gradient(1100px 600px at 12% -10%,#1d2721 0%,transparent 60%),radial-gradient(900px 500px at 100% 0%,#1b2028 0%,transparent 55%),var(--bg);color:var(--text);font:14px/1.55 PingFang SC,Microsoft YaHei,Segoe UI,system-ui,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;font-weight:600;letter-spacing:.3px}h1{font-size:21px}h2{font-size:19px}h3{font-size:12.5px;text-transform:uppercase;letter-spacing:1.1px;color:#a9b4c6;margin-bottom:10px}p{margin:6px 0}.sub{color:var(--muted)}.small{font-size:12px}.center{text-align:center}.mt{margin-top:20px}.mb{margin-bottom:12px}code{font-family:var(--mono);font-size:12px;background:#0d1014;border:1px solid var(--line);border-radius:5px;padding:1px 5px}.boot{height:100%;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted)}.app{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100%}.side{border-right:1px solid var(--line);background:linear-gradient(180deg,#161b22,#12161c);padding:18px 14px;display:flex;flex-direction:column;gap:18px;position:sticky;top:0;height:100vh}.logo{display:flex;gap:10px;align-items:center}.logo b{display:block;letter-spacing:.4px}.logo-dot{width:26px;height:26px;border-radius:7px;flex:none;background:linear-gradient(#2ba8a0,#2ba8a0) center/100% 46% no-repeat,linear-gradient(#d29a68,#d29a68) center 8%/100% 30% no-repeat,#4a3120;box-shadow:inset 0 0 0 1px #ffffff18}.side nav{display:flex;flex-direction:column;gap:2px}.nav-item{text-align:left;border:0;background:transparent;color:#a9b4c6;padding:10px 12px;border-radius:9px;font:inherit;font-weight:600;cursor:pointer;transition:.13s}.nav-item:hover{background:#ffffff08;color:var(--text)}.nav-item.active{background:#57a94b1f;color:#b9f0ac;box-shadow:inset 2px 0 0 var(--accent)}.side-foot{margin-top:auto;display:flex;align-items:center;gap:8px}.side-foot .btn{margin-left:auto}.dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent)}.main{padding:24px 32px 60px;max-width:1200px}.page-head{position:relative;z-index:2;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.page-head p{margin:4px 0 0}.card{background:linear-gradient(180deg,#1b2029,#171c23);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.pet-grid{display:grid;grid-template-columns:minmax(0,430px) minmax(0,1fr);gap:16px;align-items:start}.row{display:flex;align-items:center;gap:10px}.row.gap{gap:12px}.grow{flex:1}.btn{appearance:none;border:1px solid var(--line2);background:linear-gradient(#262d39,#1e242e);color:var(--text);padding:9px 15px;border-radius:9px;font:inherit;font-weight:600;cursor:pointer;transition:.14s;white-space:nowrap}.btn:hover{border-color:#4d5a6e;transform:translateY(-1px)}.btn:active{transform:none}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn.primary{background:linear-gradient(#63bb51,#47933c);border-color:#3c8033;color:#0d1a0b}.btn.primary:hover{background:linear-gradient(#72ca60,#4ea042)}.btn.danger{border-color:#6b2f2f;color:#ffb4b1;background:#35201f}.btn.tiny{padding:4px 10px;font-size:12px;border-radius:7px}.btn.block{width:100%;padding:11px}.input{width:100%;margin-top:6px;padding:10px 12px;background:#0e1116;border:1px solid var(--line);border-radius:9px;color:var(--text);font:inherit;outline:none;transition:.15s}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #57a94b22}textarea.input{resize:vertical;line-height:1.5}label{display:block;font-size:13px;color:#b3bccb;font-weight:600}.stack label,.field{margin-bottom:12px}.field .sub{font-weight:400}input[type=range]{width:100%;margin-top:8px;height:6px;border-radius:4px;accent-color:var(--accent);background:#2a3140}.switch{display:flex;align-items:center;gap:8px;font-weight:600;margin-top:12px}.switch input{width:16px;height:16px;accent-color:var(--accent)}.chips{display:flex;flex-wrap:wrap;gap:7px}.chip{border:1px solid var(--line2);background:#1f2530;color:#c3ccda;padding:6px 11px;border-radius:999px;font:inherit;font-size:12.5px;cursor:pointer;font-weight:600;transition:.13s;display:inline-flex;align-items:center;gap:5px}.chip:hover{border-color:#56637a}.chip.on{background:#57a94b26;border-color:var(--accent);color:#c7f5bd}.chip em.vtag{font-size:10px;font-style:normal;background:#4a9fe033;color:#8dc8f5;padding:0 4px;border-radius:3px}.msg{font-size:12.5px;min-height:16px;color:#7fd16f}.msg.err{color:#ff9d9a}.msg.warn{color:#f0c46b}.hint{font-size:12px;color:var(--muted);margin-top:14px;line-height:1.7}.auth-wrap{min-height:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(352px,420px);align-items:start;gap:38px;padding:5vh 5vw;max-width:1320px;margin:0 auto}.auth-card{background:linear-gradient(180deg,#1c222b,#171c23);border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:0 40px 80px -40px #000,inset 0 1px #ffffff0a;position:sticky;top:5vh}.auth-brand{display:flex;gap:12px;align-items:center;margin-bottom:18px}.tabs{display:flex;gap:6px;background:#0e1116;padding:4px;border-radius:10px;margin-bottom:16px}.tab{flex:1;border:0;background:transparent;color:var(--muted);padding:8px;border-radius:7px;font:inherit;font-weight:600;cursor:pointer}.tab.on{background:#242b36;color:var(--text)}.landing{display:flex;flex-direction:column;gap:20px;max-width:720px}.pill{display:inline-block;font-size:12px;font-weight:600;color:#b9f0ac;background:#57a94b1f;border:1px solid #57a94b44;padding:4px 11px;border-radius:999px}.landing-head h2{font-size:clamp(25px,3.1vw,37px);line-height:1.3;margin:14px 0 10px;letter-spacing:.5px}.landing-head .lead{color:var(--muted);font-size:14.5px;line-height:1.78;max-width:580px;margin:0}.feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.feature{display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:10px;row-gap:3px;background:#161b2280;border:1px solid var(--line);border-radius:12px;padding:12px 14px}.feature-ico{grid-row:span 2;width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font-weight:700;font-size:13px;color:#c7f5bd;letter-spacing:.5px;background:linear-gradient(#2b3b2c,#223024);border:1px solid #3c5a3c}.feature b{font-size:13.5px}.feature-desc{color:var(--muted);font-size:12.5px;line-height:1.62}.dl-box{background:linear-gradient(180deg,#1b2420,#161c1a);border:1px solid #35513a;border-radius:14px;padding:16px 18px}.dl-box.flat{background:#141a1f;border-color:var(--line);padding:14px}.dl-head{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;margin-bottom:10px}.dl-head>b{font-size:15px}.dl-meta{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.dl-tag{color:#0d1a0b;background:var(--accent);padding:1px 7px;border-radius:6px;font-size:11.5px}.dl-warn{color:#f0c46b}.dl-btns{display:flex;gap:10px;flex-wrap:wrap}.dl-btns.block .btn{flex:1 1 160px;text-align:center;justify-content:center}.dl-btns .btn{display:inline-flex;align-items:center;gap:2px;text-decoration:none}.dl-ver{opacity:.72;margin-left:7px;font-size:12px}.dl-steps{display:grid;gap:9px;margin-top:14px}.dl-step{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px}.dl-step-no{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#2a3a2c;color:#b9f0ac;font-size:12px;font-weight:700}.dl-step b{display:block;font-size:12.5px}.dl-step>div>span{display:block;color:var(--muted);font-size:12px;line-height:1.6}.dl-keys{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:14px;color:var(--muted);font-size:11.5px}.dl-notes{margin-top:10px}.dl-notes summary{cursor:pointer;color:var(--muted);font-size:12px}.dl-notes pre{white-space:pre-wrap;font:inherit;font-size:12.5px;color:#c3ccda;background:#0d1014;border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin:8px 0 0;max-height:220px;overflow:auto}.side-dl{background:#161b22;border:1px solid var(--line);border-radius:11px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.side-dl-head{display:flex;justify-content:space-between;align-items:baseline;font-size:12.5px}.side-dl p{margin:0;line-height:1.5}.captcha-row{display:flex;gap:8px;align-items:stretch;margin-top:6px}.captcha-input{margin-top:0;flex:1;letter-spacing:3px;font-family:var(--mono)}.captcha-img{width:136px;height:46px;padding:0;border:1px solid var(--line);border-radius:9px;background:#0e1116;cursor:pointer;overflow:hidden;display:grid;place-items:center}.captcha-img img{width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.pet3d{position:relative;width:100%;border-radius:12px;overflow:hidden;touch-action:none}.stage{position:relative;padding:0;overflow:hidden;min-height:470px;background:radial-gradient(58% 46% at 50% 82%,#2f4a30 0%,transparent 72%),repeating-linear-gradient(0deg,#ffffff05 0 1px,transparent 1px 24px),repeating-linear-gradient(90deg,#ffffff05 0 1px,transparent 1px 24px),linear-gradient(180deg,#1b2531,#141a20)}.stage .pet3d{height:100%}.stage-tag{position:absolute;left:12px;top:12px;font:12px var(--mono);color:#b9c6d6;background:#0d1116cc;border:1px solid var(--line);padding:4px 8px;border-radius:7px}.stage-toggle{position:absolute;right:12px;top:12px;font-size:12px;font-weight:600;color:#b9c6d6;background:#0d1116cc;border:1px solid var(--line);padding:4px 8px;border-radius:7px;display:flex;align-items:center;gap:6px}.stage-toggle input{accent-color:var(--accent)}.pet3d-loading{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-size:12px}.pet3d-hint{position:absolute;left:0;right:0;bottom:8px;text-align:center;font-size:11px;color:#fff4;pointer-events:none}.skin-picker{display:flex;gap:8px;flex-wrap:wrap}.skin-mini{width:58px;height:78px;padding:2px;border:1px solid var(--line);border-radius:9px;background:#12161c;cursor:pointer;overflow:hidden;display:grid;place-items:center;color:var(--muted);font-size:11px;transition:.13s}.skin-mini:hover{border-color:var(--line2)}.skin-mini.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.skin-mini.add{font-size:18px;color:#7a8598;text-decoration:none}.skin-thumb{image-rendering:pixelated;max-width:100%}.drop{border:2px dashed var(--line2);border-radius:var(--radius);padding:24px;text-align:center;display:flex;flex-direction:column;gap:6px;background:#ffffff04;margin-bottom:18px;cursor:pointer;transition:.15s}.drop:hover,.drop.over{border-color:var(--accent);background:#57a94b14}.skin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:14px}.skin-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:10px;display:flex;flex-direction:column;gap:6px;position:relative;transition:.15s}.skin-card:hover{border-color:var(--line2);transform:translateY(-2px)}.skin-card.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.skin-card-canvas{display:grid;place-items:center;height:176px;border-radius:9px;background:radial-gradient(60% 50% at 50% 86%,#27402a,#141a20)}.badge{position:absolute;right:10px;top:10px;z-index:2;background:var(--accent);color:#0c1a0a;font-size:11px;font-weight:600;padding:2px 7px;border-radius:999px}.skin-card .name{font-weight:600;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skin-card .meta{font:11.5px var(--mono);color:var(--muted)}.skin-card .acts{display:flex;gap:6px}.skin-card .acts .btn{flex:1}.action-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(212px,1fr));gap:14px}.action-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:8px}.action-card.on{border-color:var(--accent)}.action-card header{display:flex;align-items:center;justify-content:space-between}.action-card b{font-size:15px}.action-card p{margin:0;font-size:12.5px;color:#aeb8c7;min-height:36px}.notice{border:1px solid #3d3a22;background:#2a2415;color:#d8c99a;border-radius:var(--radius);padding:12px 16px;font-size:13px;margin-bottom:18px}.notice b{color:#ffe6a8}.asset-list{display:flex;flex-direction:column;gap:10px}.asset-row{display:flex;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 14px}.asset-row .ico{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;background:#2a3240;font:700 11px var(--mono);color:#9fd8f2}.asset-row .grow b{display:block;font-size:13.5px}.asset-row .grow span{font:11.5px var(--mono);color:var(--muted)}.ai-answer{margin-top:12px;padding:12px 14px;border-radius:10px;background:#16241c;border:1px solid #2f4a34;color:#cfe9c9;font-size:13px;white-space:pre-wrap;line-height:1.65}.hist{display:flex;flex-direction:column;gap:8px;max-height:260px;overflow:auto;margin-bottom:10px}.hist-row{display:flex;gap:8px;font-size:12.5px;align-items:flex-start}.hist-row .who{flex:none;width:26px;height:22px;border-radius:6px;display:grid;place-items:center;font-size:11px;font-weight:600}.hist-row.user .who{background:#2a3240;color:#b9c4d4}.hist-row.assistant .who{background:#1f3d21;color:#a9e69d}.hist-row .what{color:#c3cbd8;white-space:pre-wrap;word-break:break-word}.hist-row.assistant .what{color:#b8d8b4}.stats{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 16px;min-width:104px}.stat b{display:block;font-size:19px}.stat span{font-size:11.5px;color:var(--muted)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.table{width:100%;border-collapse:collapse;font-size:13px}.table th,.table td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--line);white-space:nowrap}.table th{background:#1e242e;font-size:11.5px;letter-spacing:.5px;text-transform:uppercase;color:#9aa5b6}.table tr:last-child td{border-bottom:0}.tag{font-size:11px;padding:2px 8px;border-radius:999px;background:#2a3240;color:#b9c4d4}.tag.admin{background:#4a3a15;color:#f0cf8a}.tag.on{background:#1f3d21;color:#a9e69d}.tag.off{background:#3d1f1f;color:#f0a8a5}.dot-online{display:inline-block;width:7px;height:7px;border-radius:50%;background:#6ec95f;margin-left:6px;vertical-align:middle}.kv{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px dashed var(--line);font-size:13px}.kv span{color:var(--muted)}.list{margin:0;padding-left:18px;font-size:13px;color:#c3cbd8}.list li{margin:5px 0}.toasts{position:fixed;right:20px;bottom:20px;display:flex;flex-direction:column;gap:8px;z-index:99}.toast{background:#222a35;border:1px solid var(--line2);border-left:3px solid var(--accent);padding:10px 14px;border-radius:9px;font-size:13px;box-shadow:0 16px 30px -18px #000;animation:slidein .2s ease;max-width:360px}.toast.err{border-left-color:var(--danger)}@keyframes slidein{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:none}}.spin{display:inline-block;width:13px;height:13px;border-radius:50%;border:2px solid #3a4454;border-top-color:var(--accent);animation:spin .8s linear infinite;vertical-align:-2px}@keyframes spin{to{transform:rotate(360deg)}}.loading{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;padding:12px 0}.empty{color:#6f7a8d;font-size:13px;padding:26px;text-align:center;border:1px dashed var(--line);border-radius:10px}@media (max-width: 1020px){.auth-wrap{grid-template-columns:1fr;gap:26px;padding:4vh 5vw}.auth-card{position:static}.landing{max-width:none}.app{grid-template-columns:1fr}.side{position:static;height:auto;flex-direction:row;align-items:center;overflow-x:auto}.side nav{flex-direction:row;flex:0 0 auto}.side .nav-item{flex:0 0 auto;white-space:nowrap;padding:8px 10px}.side-foot{flex:0 0 auto}.pet-grid,.two-col{grid-template-columns:1fr}}@media (max-width: 640px){.auth-wrap{padding:22px 14px 40px}.feature-grid{grid-template-columns:1fr}.landing-head h2{font-size:24px}}.editor-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(300px,460px) 1fr;gap:18px;align-items:start}.editor-stage{background:radial-gradient(62% 42% at 50% 84%,#2c4350 0%,transparent 74%),repeating-linear-gradient(0deg,#ffffff05 0 1px,transparent 1px 24px),repeating-linear-gradient(90deg,#ffffff05 0 1px,transparent 1px 24px),linear-gradient(180deg,#1a222c,#11171e);border:1px solid var(--line);box-shadow:inset 0 1px #ffffff0a,0 6px 20px #00000024}.editor-stage .pet3d-hint{color:#fff6;bottom:10px}.editor-toolbar{margin-top:10px;align-items:center}.how-to{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.how-to>div{background:#12182099;border:1px solid var(--line);border-radius:10px;padding:12px 14px}.how-to>div>b{display:block;color:var(--text);margin-bottom:6px;font-size:13px}.how-to span{color:var(--muted);font-size:12px;line-height:1.7}.how-to span b{color:#b9f0ac}.asset-editor-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;align-items:start}.asset-preview .editor-stage{height:330px}@media (max-width: 1180px){.asset-editor-layout{grid-template-columns:1fr}.asset-preview{max-width:420px}}@media (max-width: 1020px){.how-to{grid-template-columns:1fr}}@media (max-width: 1020px){.editor-layout{grid-template-columns:1fr}}input[type=range]{accent-color:var(--accent)}.agent-steps{display:flex;flex-direction:column;gap:8px}.agent-step{background:#151b23;border:1px solid var(--line);border-left:3px solid #4a5568;border-radius:8px;padding:10px 12px}.agent-step.step-tool{border-left-color:#4a9eff}.agent-step.step-ok{border-left-color:#57a94b}.agent-step.step-fail{border-left-color:#d9534f}.agent-step.step-reply{border-left-color:#b9f0ac;background:#17241b}.agent-step.step-info{border-left-color:#6f7a8d}.agent-tag{font:11px var(--mono);color:#cbd5e1;background:#ffffff10;border-radius:5px;padding:2px 7px;white-space:nowrap}.step-ok .agent-tag{color:#b9f0ac}.step-fail .agent-tag{color:#ffb3b0}.step-tool .agent-tag{color:#9fc9ff}.agent-step code{color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-out{margin:10px 0 0;padding:10px 12px;max-height:260px;overflow:auto;background:#0d1116;border:1px solid var(--line);border-radius:6px;color:#c8d3e0;font:11px/1.65 var(--mono);white-space:pre-wrap;word-break:break-all}.agent-reply{border-color:#3c6b36;background:linear-gradient(180deg,#1b2a1c,#172019)}.mc-term{border:1px solid #3a3a40;border-radius:6px;overflow:hidden;background:#0a0a0c;box-shadow:inset 0 0 0 1px #ffffff08}.mc-term-log{height:268px;overflow-y:auto;padding:10px 12px;font:12px/1.7 var(--mono);color:#e8e8ec;scrollbar-width:thin;scrollbar-color:#3a3a40 transparent}.mc-term-row{white-space:pre-wrap;word-break:break-word;margin:0 0 2px}.mc-term-row.echo{color:#a8a8ac}.mc-term-row.info{color:#69e869}.mc-term-row.ai{color:#e8e8ec}.mc-term-row.err{color:#ff6969}.mc-term-row.hint{color:#848a94}.mc-term-input{display:flex;align-items:center;gap:8px;border-top:1px solid #343438;padding:7px 10px;background:#121215}.mc-prompt{color:#55eb55;font:700 15px/1 var(--mono);flex:none}.mc-term-input input{flex:1;min-width:0;border:0;outline:none;background:transparent;color:#e8e8ec;font:12px/1.6 var(--mono)}.mc-term-input input::placeholder{color:#6a6f78}.provider-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:7px;max-height:268px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--line2) transparent;padding-right:2px}.prov-chip{display:flex;flex-direction:column;gap:3px;align-items:flex-start;border:1px solid var(--line2);background:#1f2530;color:#c3ccda;border-radius:9px;padding:8px 10px;cursor:pointer;font:inherit;transition:.13s;text-align:left}.prov-chip:hover{border-color:#56637a;transform:translateY(-1px)}.prov-chip.on{background:#57a94b26;border-color:var(--accent);color:#c7f5bd}.prov-chip b{font-size:12.5px;font-weight:600;letter-spacing:.2px}.prov-chip>span{display:flex;gap:4px}.prov-chip em{font-size:10px;font-style:normal;padding:0 4px;border-radius:3px;line-height:15px}.prov-chip em.vtag{background:#4a9fe033;color:#8dc8f5}.prov-chip em.free-dot{background:#57a94b33;color:#9ee88f}.prov-chip em.loc-dot{background:#d29a6833;color:#e0b184}.free-num{color:#9ee88f}.err-line{color:#ff9b98;font-size:12px;margin:6px 0 0}.model-panel{border:1px solid var(--line);border-radius:10px;background:#14181f;margin:8px 0 4px;overflow:hidden}.model-head{display:flex;align-items:center;gap:8px;padding:7px 10px;border-bottom:1px solid var(--line);background:#171c23}.mini-input{width:118px;padding:4px 8px;font-size:12px}.tiny-switch{font-size:12px;gap:5px}.tiny-switch input{width:13px;height:13px}.model-list{max-height:208px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--line2) transparent}.model-item{display:flex;align-items:center;gap:7px;width:100%;border:0;border-bottom:1px solid #1e242e;background:transparent;color:#c3ccda;padding:6px 10px;cursor:pointer;font:12px/1.5 var(--mono);text-align:left}.model-item:hover{background:#ffffff08}.model-item.on{background:#57a94b22;color:#c7f5bd}.model-item .mid{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-item em.free-dot{font-style:normal;font-size:10px;background:#57a94b33;color:#9ee88f;padding:0 4px;border-radius:3px;flex:none}.model-item .ctx{margin-left:auto;color:var(--muted);font-size:11px;flex:none}.probe{margin-top:10px;padding:9px 11px;border-radius:9px;font-size:12.5px;border:1px solid var(--line2);background:#171c23;line-height:1.6}.probe.ok{border-color:#3c8033;background:#1b2a1b}.probe.bad{border-color:#6b2f2f;background:#2a1c1c}.probe b{letter-spacing:.3px}.fatal{max-width:680px;margin:12vh auto;padding:22px 24px;border:1px solid #6b2f2f;border-radius:14px;background:#201818;color:#f0e6e6;display:flex;flex-direction:column;gap:12px}.fatal b{font-size:16px;letter-spacing:.3px}.fatal pre{margin:0;padding:10px 12px;max-height:300px;overflow:auto;background:#140f0f;border:1px solid #3a2727;border-radius:8px;font:12px/1.6 var(--mono);color:#ffb4b1;white-space:pre-wrap;word-break:break-word}.fatal .btn{align-self:flex-start}.gl-off{display:flex;align-items:center;justify-content:center;height:100%;padding:16px;text-align:center;color:var(--muted);font-size:12.5px;border:1px dashed var(--line2);border-radius:10px}.doc-line{line-height:1.5;word-break:break-all}.doc-line a{color:var(--accent-hi);text-decoration:none;border-bottom:1px dashed #57a94b66}.doc-line a:hover{color:#9ee88f;border-bottom-color:var(--accent-hi)}.term-page{display:flex;flex-direction:column}.term-wrap{display:flex;flex-direction:column;height:clamp(520px,calc(100vh - 250px),900px);background:#0b0e12;border:1px solid #2a3542;border-radius:12px;overflow:hidden;box-shadow:0 10px 34px #0006;font:12.5px/1.65 var(--mono)}.term-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:8px 12px;background:#151b23;border-bottom:1px solid #27313d;font-size:11px;color:#8b9aab;flex:none}.term-title{color:#c7f5bd;font-weight:700;letter-spacing:1.2px;display:flex;align-items:center;gap:7px}.term-dot{width:8px;height:8px;border-radius:50%;background:#3f5a3b;display:inline-block}.term-dot.on{background:#7ee06a;box-shadow:0 0 8px #7ee06a;animation:termPulse 1s infinite}@keyframes termPulse{50%{opacity:.45}}.term-meta{white-space:nowrap}.term-meta b{color:#cbd6e2;font-weight:500}.term-bar-grow{flex:1}.term-state{padding:1px 8px;border:1px solid #33404f;border-radius:20px;color:#9fb0c2;font-size:10.5px}.term-state.run{color:#ffd88a;border-color:#7a6030;background:#2a2213}.term-switch{display:flex;align-items:center;gap:5px;cursor:pointer;white-space:nowrap}.term-switch input{width:13px;height:13px;accent-color:var(--accent)}.term-btn{border:1px solid #34414f;background:#1c242e;color:#b9c7d6;border-radius:6px;padding:3px 10px;font:11px var(--mono);cursor:pointer;white-space:nowrap;transition:.12s}.term-btn:hover:not(:disabled){border-color:#5b6c80;color:#e6eef7}.term-btn:disabled{opacity:.38;cursor:not-allowed}.term-btn.danger:hover:not(:disabled){border-color:#a24c4c;color:#ffb0ad}.term-btn.primary{background:#2f6b2a;border-color:#4a9c3e;color:#d8ffd0}.term-btn.primary:hover:not(:disabled){background:#3a8433}.term-log{flex:1;overflow-y:auto;padding:10px 0 16px;scrollbar-width:thin;scrollbar-color:#33404f transparent}.term-log::-webkit-scrollbar{width:9px}.term-log::-webkit-scrollbar-thumb{background:#33404f;border-radius:6px}.term-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:8px;color:#556474;text-align:center;padding:20px}.term-empty b{font-size:16px;letter-spacing:3px;color:#6f8a6a}.term-empty code{color:#9ee88f}.t-line{display:flex;gap:0;padding:2px 14px 2px 0}.t-line:hover{background:#ffffff05}.t-gutter{width:62px;flex:none;display:flex;align-items:flex-start;gap:7px;padding-left:12px;padding-top:1px}.t-n{color:#37434f;font-size:10.5px;width:24px;text-align:right}.t-mark{width:14px;text-align:center;color:#6d7f90;flex:none}.t-body{flex:1;min-width:0}.t-head{font-size:10.5px;letter-spacing:.5px;color:#7d8ea0;margin-bottom:1px}.t-text{margin:0;font:inherit;white-space:pre-wrap;word-break:break-word;color:#c2cedb;max-height:none}.t-args{color:#8fa5bd}.t-more{border:0;background:transparent;color:#6f9fd6;cursor:pointer;font:10.5px var(--mono);padding:1px 0}.t-more:hover{color:#a8c9ee;text-decoration:underline}.t-user .t-mark{color:#7ee06a}.t-user .t-text{color:#e8f4e4;font-weight:600}.t-cmd .t-mark,.t-cmd .t-text{color:#ffd88a}.t-out .t-text{color:#aebccb}.t-tool .t-mark,.t-tool .t-head{color:#a99cf0}.t-tool .t-args{color:#8e9bb0}.t-ok .t-mark{color:#7ee06a}.t-ok .t-head{color:#8acb7c}.t-ok .t-text{color:#9fb3a5}.t-fail .t-mark,.t-err .t-mark,.t-fail .t-head,.t-err .t-head{color:#ff8b86}.t-fail .t-text,.t-err .t-text{color:#f0a8a4}.t-reply .t-mark,.t-reply .t-head{color:#6cc5e8}.t-reply .t-text{color:#e4edf6}.t-sys .t-text,.t-sys .t-head{color:#78899b}.t-thinking .t-body{color:#7d8ea0;display:flex;align-items:center;gap:8px}.term-input-row{display:flex;align-items:center;gap:10px;padding:9px 12px;background:#10151c;border-top:1px solid #27313d;flex:none}.term-prompt{color:#7ee06a;font-size:15px;font-weight:700}.term-input{flex:1;background:transparent;border:0;outline:none;color:#e4edf6;font:13px var(--mono);caret-color:#7ee06a}.term-input::placeholder{color:#4d5b6a}.term-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 12px;background:#0d1117;border-top:1px solid #1d2530;flex-wrap:wrap;flex:none}.term-chips{display:flex;gap:5px;flex-wrap:wrap}.term-chip{border:1px solid #2b3643;background:#141b23;color:#8294a8;border-radius:4px;padding:1px 7px;font:10.5px var(--mono);cursor:pointer}.term-chip:hover{border-color:#4a9c3e;color:#b7e8ad}.term-keys{color:#556474;font-size:10.5px;white-space:nowrap}.code-row{display:flex;gap:8px;align-items:center;margin-top:6px}.code-input{flex:1;min-width:0;margin-top:0;letter-spacing:4px;font-family:var(--mono)}.code-btn{flex:none;white-space:nowrap;padding:0 12px;height:38px;font-size:12.5px;font-weight:600;border-radius:9px}.code-btn:disabled{opacity:.55;cursor:not-allowed}.msg.ok{color:#7fd16f}.warn-text{color:#f0c46b}.stack label .sub.small{display:block;margin-top:5px;font-weight:400;line-height:1.5}.sched-top{margin-bottom:16px}.sched-templates{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin-top:16px;padding-top:14px;border-top:1px dashed var(--line)}.sched-rules{display:flex;flex-direction:column;gap:12px}.sched-rule{padding:16px 18px}.sched-rule.off{opacity:.6}.sched-rule-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sched-num{flex:none;width:24px;height:24px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;background:#57a94b26;border:1px solid var(--accent);color:#b9f0ac;font:700 12px var(--mono)}.sched-name{flex:1;min-width:170px;width:auto;margin-top:0;padding:7px 10px}.sched-fields{display:grid;gap:12px;margin-top:14px;grid-template-columns:minmax(180px,2fr) minmax(110px,1fr) minmax(110px,1fr)}.sched-fields .sub.small{display:block;margin-top:4px;font-weight:400;line-height:1.4}.sched-mode{margin-top:14px;padding-top:12px;border-top:1px dashed var(--line)}.sched-when{margin-top:12px;flex-wrap:wrap}.sched-when .input{width:auto;margin-top:0}.sched-rule-foot{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px dashed var(--line)}.sched-rule-foot .btn{margin-left:auto}@media (max-width: 720px){.sched-fields{grid-template-columns:1fr}.sched-rule-foot .btn{margin-left:0}}:root{--bg: #0b0e13;--panel: #141922;--panel-2: #171d27;--line: #232b38;--line2: #323c4d;--text: #eef2f8;--muted: #8e9bb0;--accent: #4ed07a;--accent-hi: #6ee69a;--accent-dim: #2b7a4b;--blue: #6ea8fe;--violet: #a78bfa;--danger: #f0666b;--radius: 14px;--shadow-1: 0 1px 0 #ffffff0d inset, 0 10px 30px -18px #000;--shadow-2: 0 24px 60px -30px #000, 0 1px 0 #ffffff0a inset;--ease: cubic-bezier(.2, .7, .3, 1)}body{background:radial-gradient(900px 520px at 8% -12%,#123024 0%,transparent 62%),radial-gradient(760px 460px at 96% -6%,#1a1a3a 0%,transparent 58%),radial-gradient(700px 700px at 50% 120%,#0f1a24 0%,transparent 65%),var(--bg);font:14px/1.6 Inter,PingFang SC,Microsoft YaHei,Segoe UI,system-ui,sans-serif;letter-spacing:.01em}h1{font-size:20px;letter-spacing:-.01em}h2{font-size:18px;letter-spacing:-.01em}h3{font-size:11.5px;letter-spacing:1.4px;color:#93a1b8;font-weight:700}.card{background:linear-gradient(180deg,#161c26f2,#12171ff2);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-1);position:relative}.card:before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,#ffffff1f,transparent);border-radius:16px 16px 0 0;pointer-events:none}.btn{border-radius:10px;border:1px solid var(--line2);background:#1a212c;color:var(--text);font-weight:600;letter-spacing:.01em;transition:transform .16s var(--ease),background .16s var(--ease),border-color .16s var(--ease),box-shadow .16s var(--ease)}.btn:hover{background:#202936;border-color:#45536a;transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn.primary{background:linear-gradient(135deg,#4ed07a,#35b9a4);border-color:transparent;color:#06210f;box-shadow:0 10px 24px -14px #4ed07a,0 1px #ffffff40 inset}.btn.primary:hover{background:linear-gradient(135deg,#5fe08b,#43c9b3);box-shadow:0 16px 30px -14px #4ed07a}.btn.ghost{background:transparent}.btn.danger{color:#ffd9da;border-color:#5b2a2d;background:#3a1d20}input,select,textarea{background:#0d1219;border:1px solid var(--line2);border-radius:10px;color:var(--text);transition:border-color .16s var(--ease),box-shadow .16s var(--ease)}input:focus,select:focus,textarea:focus{outline:none;border-color:#3f7f5c;box-shadow:0 0 0 3px #4ed07a1f}.tag,.pill,.chip{border-radius:999px;border:1px solid var(--line2);background:#ffffff08}.chip.on,.tag.on{background:#4ed07a1a;border-color:#4ed07a55;color:#b8f5cd}.side{background:linear-gradient(180deg,#10151d,#0c1017);border-right:1px solid var(--line)}.side nav button,.side nav a{border-radius:10px;transition:background .15s var(--ease),color .15s var(--ease),transform .15s var(--ease)}.side nav button:hover,.side nav a:hover{background:#ffffff08;transform:translate(1px)}.side nav button.on,.side nav a.on{background:linear-gradient(90deg,#4ed07a26,#4ed07a08);color:#d8ffe6;box-shadow:inset 2px 0 #4ed07a}.main{padding-bottom:40px}.auth-wrap{min-height:100%;grid-template-columns:minmax(0,1.15fr) minmax(360px,400px);gap:56px;padding:6vh 5vw;align-items:start}.auth-card{background:linear-gradient(180deg,#161d27f5,#11161ef5);border:1px solid var(--line2);border-radius:20px;padding:26px 24px;box-shadow:var(--shadow-2);position:sticky;top:6vh}.auth-card h1{font-size:22px}.auth-brand .logo-dot{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,#4ed07a,#35b9a4);box-shadow:0 8px 20px -10px #4ed07a}.tabs{background:#0c1117;border:1px solid var(--line);border-radius:12px}.tab.on{background:#1d2532;box-shadow:var(--shadow-1)}.landing{display:flex;flex-direction:column;gap:26px;max-width:780px}.lp-hero{position:relative;padding-top:8px}.lp-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;border:1px solid #4ed07a3d;background:#4ed07a12;color:#b9f7cf;font-size:12px;font-weight:600}.lp-badge i{width:6px;height:6px;border-radius:50%;background:#4ed07a;box-shadow:0 0 0 4px #4ed07a22}.lp-title{margin:18px 0 12px;font-size:clamp(34px,4.4vw,52px);line-height:1.06;font-weight:800;letter-spacing:-.035em;background:linear-gradient(180deg,#fff,#b9c6d8);-webkit-background-clip:text;background-clip:text;color:transparent}.lp-title em{font-style:normal;background:linear-gradient(100deg,#4ed07a,#57e0c4 55%,#7aa2ff);-webkit-background-clip:text;background-clip:text;color:transparent}.lp-lead{font-size:15.5px;line-height:1.75;color:#a9b6c9;max-width:620px}.lp-stats{display:flex;flex-wrap:wrap;gap:28px;margin-top:22px}.lp-stat b{display:block;font-size:22px;letter-spacing:-.02em;color:#eaf3ff}.lp-stat span{font-size:12px;color:#7f8da3}.lp-hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.lp-hero-cta .btn{padding:12px 20px;font-size:14px}.lp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.lp-card{padding:18px 16px 20px;border-radius:16px;background:linear-gradient(180deg,#151b24f2,#11161df2);border:1px solid var(--line);transition:transform .2s var(--ease),border-color .2s var(--ease),box-shadow .2s var(--ease)}.lp-card:hover{transform:translateY(-3px);border-color:#3a4860;box-shadow:0 22px 40px -30px #000}.lp-card-ico{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:13px;font-weight:800;letter-spacing:-.02em;background:linear-gradient(135deg,#4ed07a1f,#7aa2ff1a);border:1px solid #ffffff14;color:#cdebd8;margin-bottom:12px}.lp-card b{display:block;font-size:13.5px;margin-bottom:6px}.lp-card span{font-size:12.5px;line-height:1.65;color:#8f9db2}.lp-dl{padding:22px;border-radius:18px;display:flex;flex-direction:column;gap:16px}.lp-dl-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.lp-dl-top h3{margin:0;font-size:15px;letter-spacing:-.01em;text-transform:none;color:#eaf1fb}.lp-dl-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.lp-dl-meta span{font-size:11.5px;color:#93a1b6;padding:3px 9px;border-radius:999px;border:1px solid var(--line);background:#ffffff06}.lp-dl-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.lp-dl-actions .btn{padding:13px 22px;font-size:14.5px}.lp-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.lp-step{display:flex;gap:10px;padding:14px;border-radius:14px;background:#ffffff05;border:1px solid var(--line)}.lp-step-no{flex:0 0 22px;height:22px;border-radius:7px;display:grid;place-items:center;font-size:11px;font-weight:800;color:#06210f;background:linear-gradient(135deg,#4ed07a,#35b9a4)}.lp-step b{font-size:12.5px;display:block;margin-bottom:3px}.lp-step span{font-size:11.5px;line-height:1.55;color:#8b99ae}.lp-keys{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:12px;color:#8b99ae}.lp-notes{border-top:1px dashed var(--line2);padding-top:12px}.lp-notes summary{cursor:pointer;font-size:12px;color:#9fb0c6}.lp-notes pre{margin:10px 0 0;font-size:12px;line-height:1.7;color:#98a6ba;white-space:pre-wrap;font-family:var(--mono)}@media (max-width: 1080px){.auth-wrap{grid-template-columns:1fr;gap:32px}.auth-card{position:static}.lp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.lp-grid,.lp-steps{grid-template-columns:1fr}.lp-title{font-size:32px}}
