:root{--bg:#07110f;--panel:#0d1b18;--panel2:#10231f;--line:#23413a;--text:#ecf8f3;--muted:#8ba59e;--green:#51e09c;--green2:#1ebd78;--danger:#ff7676;--radius:18px;color-scheme:dark;font-family:Inter,"Microsoft YaHei",system-ui,sans-serif}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 70% 0,#14362c 0,transparent 28%),var(--bg);color:var(--text);min-height:100vh}.topbar{height:74px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1320px)/2));background:rgba(7,17,15,.82);backdrop-filter:blur(18px);position:sticky;top:0;z-index:10}.brand{display:flex;gap:12px;align-items:center}.brand-mark{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--green),#169c68);color:#052417;font-weight:900}.brand div{display:flex;flex-direction:column}.brand strong{font-size:17px}.brand small,.step small{color:var(--muted);margin-top:2px}.local-pill{font-size:12px;border:1px solid #2c5a4b;background:#10291f;color:var(--green);padding:7px 11px;border-radius:999px}main{max-width:1320px;margin:auto;padding:48px 24px 72px}.hero{max-width:850px;margin-bottom:38px}.eyebrow{color:var(--green);font-size:12px;font-weight:800;letter-spacing:.16em}.hero h1{font-size:clamp(32px,5vw,58px);line-height:1.08;margin:12px 0 16px;letter-spacing:-.04em}.hero>p:last-child{color:var(--muted);font-size:17px;line-height:1.7}.tabs{display:flex;border-bottom:1px solid var(--line);gap:24px}.tab{appearance:none;border:0;background:none;color:var(--muted);font:inherit;font-weight:700;padding:15px 4px;cursor:pointer;border-bottom:2px solid transparent}.tab.active{color:var(--green);border-color:var(--green)}.workspace{display:none;grid-template-columns:340px 1fr;gap:24px;padding-top:24px}.workspace.active{display:grid}.controls,.stage-wrap{background:rgba(13,27,24,.9);border:1px solid var(--line);border-radius:var(--radius)}.controls{padding:22px;height:max-content}.stage-wrap{padding:18px}.step{display:flex;align-items:center;gap:12px;margin-bottom:16px}.step>span{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#16372d;color:var(--green);font-weight:800}.step>div{display:flex;flex-direction:column}.file-button,.primary,.secondary{height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:800;cursor:pointer;text-decoration:none}.file-button{border:1px dashed #3f7161;background:#10261f;color:var(--green)}.file-button:hover,.secondary:hover{border-color:var(--green)}.file-button input{display:none}.divider{height:1px;background:var(--line);margin:22px 0}.controls>label,.field-row label,.two-col label{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;color:#bcd0ca;font-size:13px;margin:14px 0}.controls output{color:var(--green);font-variant-numeric:tabular-nums}.controls input[type=range]{width:100%;accent-color:var(--green2)}input[type=color]{width:42px;height:30px;border:0;padding:0;background:transparent}input[type=number],select{width:100%;height:38px;border:1px solid var(--line);background:#081612;border-radius:9px;padding:0 10px;color:var(--text)}.field-row,.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-row label.check{justify-content:flex-start}.primary{border:0;width:100%;background:linear-gradient(135deg,var(--green),var(--green2));color:#042217;margin-top:20px}.primary:disabled,.secondary:disabled{opacity:.35;cursor:not-allowed}.secondary{border:1px solid var(--line);background:#122822;color:var(--text);width:100%;margin-top:10px}.hidden{display:none!important}.message{font-size:12px;line-height:1.55;color:var(--muted);margin:10px 0 0;word-break:break-word}.message.error{color:var(--danger)}.message.estimate{padding:9px 11px;border-radius:9px;background:#081612;border:1px solid var(--line);color:#bcd0ca}.message.estimate strong{color:var(--green)}.stage-head{display:flex;justify-content:space-between;align-items:center;margin:0 2px 14px}.stage-head span{color:var(--muted);font-size:12px}.stage{min-height:530px;background:#06100e;border-radius:14px;display:grid;place-items:center;overflow:auto;position:relative}.stage canvas{max-width:100%;max-height:720px;cursor:crosshair;display:none}.stage:not(.empty) canvas{display:block}.empty-copy{display:flex;flex-direction:column;align-items:center;color:var(--muted);gap:9px}.empty-copy>span{font-size:32px;color:#3b6f5d}.empty-copy small{font-size:12px}.stage:not(.empty) .empty-copy,.video-stage:not(.empty) .empty-copy{display:none}.result-card{display:grid;grid-template-columns:170px 1fr;gap:18px;align-items:center;margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#0a1815}.result-card>div:first-child{display:flex;flex-direction:column;gap:6px}.result-card small{color:var(--muted);line-height:1.5}.checker{background-color:#d7e0dc;background-image:linear-gradient(45deg,#aebbb6 25%,transparent 25%),linear-gradient(-45deg,#aebbb6 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#aebbb6 75%),linear-gradient(-45deg,transparent 75%,#aebbb6 75%);background-size:24px 24px;background-position:0 0,0 12px,12px -12px,-12px 0}.result-card .checker{min-height:180px;border-radius:10px;display:grid;place-items:center;overflow:auto}.result-card img{max-width:100%;max-height:420px}.video-stage{min-height:560px;border-radius:14px;display:grid;place-items:center;overflow:auto;position:relative}.video-stage img{max-width:100%;max-height:720px;display:none}.video-stage:not(.empty) img{display:block}.tip{margin-top:16px;border-left:3px solid var(--green2);padding:4px 14px;color:var(--muted);font-size:13px}.tip strong{color:var(--text)}.tip p{margin:6px 0;line-height:1.6}@media(max-width:850px){main{padding:28px 14px}.workspace.active{grid-template-columns:1fr}.stage{min-height:360px}.video-stage{min-height:360px}.hero h1{font-size:36px}.topbar{padding:0 16px}.local-pill{display:none}.result-card{grid-template-columns:1fr}}
.text-input{width:100%;height:38px;border:1px solid var(--line);background:#081612;border-radius:9px;padding:0 10px;color:var(--text)}
.preset-button{width:100%;min-height:42px;border:1px solid var(--line);border-radius:11px;background:#0a1815;color:var(--muted);font-weight:800;cursor:pointer}.preset-button.active{border-color:var(--green2);background:#133227;color:var(--green)}
.model-card{display:flex;flex-direction:column;gap:7px;padding:13px;border:1px solid #2c5a4b;background:#0a1c17;border-radius:12px}.model-card strong{color:var(--green)}.model-card span{font-size:12px;color:var(--muted)}
.controls label.confirm-charge{justify-content:flex-start;align-items:flex-start;line-height:1.45;flex-wrap:nowrap}.confirm-charge input{margin-top:3px;accent-color:var(--green2)}
.ai-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.ai-image-stage,.ai-video-stage{min-height:330px;border-radius:14px;display:grid;place-items:center;overflow:hidden;position:relative}.ai-image-stage img,.ai-video-stage video{display:none;max-width:100%;max-height:520px}.ai-image-stage:not(.empty) img,.ai-video-stage:not(.empty) video{display:block}.ai-image-stage:not(.empty) .empty-copy,.ai-video-stage:not(.empty) .empty-copy{display:none}
.prompt-editor{margin-top:16px;border:1px solid var(--line);border-radius:14px;background:#081612;padding:14px}.prompt-editor>div{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px}.prompt-editor span{font-size:12px;color:var(--muted)}.prompt-editor textarea{width:100%;resize:vertical;border:0;outline:0;background:transparent;color:#d8ebe4;font:13px/1.7 "Microsoft YaHei",system-ui,sans-serif;min-height:210px}
.result-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.result-actions .primary,.result-actions .secondary{margin-top:0}.result-actions .secondary{height:44px}
@media(max-width:850px){.ai-preview-grid,.result-actions{grid-template-columns:1fr}.ai-image-stage,.ai-video-stage{min-height:260px}}
.access-gate{padding:15px;border:1px solid #3b6f5d;border-radius:14px;background:linear-gradient(145deg,#10291f,#081612);margin-bottom:22px}.access-gate>div{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.access-gate strong{color:var(--green)}.access-gate small{color:var(--muted)}.access-gate .primary{margin-top:10px}.ai-locked .controls>:not(.access-gate),.ai-locked>.stage-wrap{opacity:.28;filter:grayscale(.35);pointer-events:none;user-select:none}.ai-locked .access-gate{box-shadow:0 0 0 1px rgba(81,224,156,.15),0 18px 60px rgba(0,0,0,.25)}
