:root{
  --bg:#0b0d10;--panel:#12161b;--panel2:#171c22;--line:#252c35;--text:#f3f5f7;--muted:#9aa6b2;
  --accent:#e7ff4f;--accent2:#b9d62f;--danger:#ff6b6b;--ok:#55d187;--warn:#ffca6a;
}
*{box-sizing:border-box} body{margin:0;background:radial-gradient(circle at 10% 0%,#18202a 0,#0b0d10 34%,#080a0d 100%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;min-height:100vh}
.shell{max-width:1450px;margin:0 auto;padding:28px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.brand{display:flex;align-items:center;gap:13px}.mark{width:38px;height:38px;border-radius:12px;background:var(--accent);color:#0a0c0e;display:grid;place-items:center;font-weight:900}.brand h1{font-size:18px;margin:0;letter-spacing:.02em}.brand p{margin:3px 0 0;color:var(--muted);font-size:12px}.wallet{display:flex;gap:9px;align-items:center}.chip{border:1px solid var(--line);background:#0e1216;padding:8px 11px;border-radius:999px;color:var(--muted);font-size:12px}.chip strong{color:var(--text)}
.grid{display:grid;grid-template-columns:minmax(420px,560px) 1fr;gap:18px}.card{background:linear-gradient(180deg,rgba(22,27,33,.96),rgba(15,18,23,.96));border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 60px rgba(0,0,0,.28)}.card .hd{padding:18px 20px;border-bottom:1px solid var(--line)}.card .hd h2{margin:0;font-size:15px}.card .bd{padding:20px}.label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#85919e;font-weight:700;margin:0 0 7px}.field{margin-bottom:16px}textarea,input,select{width:100%;background:#0b0f13;color:var(--text);border:1px solid #2a323c;border-radius:11px;padding:11px 12px;outline:none;font:inherit}textarea:focus,input:focus,select:focus{border-color:#768531;box-shadow:0 0 0 3px rgba(231,255,79,.08)}textarea{min-height:108px;resize:vertical}.row{display:grid;grid-template-columns:1fr 1fr;gap:11px}.row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:11px}.mode-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mode{border:1px solid var(--line);background:#0c1014;color:#aab4bf;border-radius:10px;padding:10px 8px;text-align:center;cursor:pointer;font-size:12px}.mode.active{background:rgba(231,255,79,.08);border-color:#78882c;color:var(--accent)}.hint{color:var(--muted);font-size:12px;line-height:1.45;margin-top:7px}.toggle{display:flex;align-items:center;gap:9px;font-size:13px;color:#c9d1d9}.toggle input{width:auto}.actions{display:flex;gap:10px;align-items:center}.btn{border:0;border-radius:11px;padding:12px 15px;font-weight:800;cursor:pointer;background:#242b33;color:#fff}.btn.primary{background:var(--accent);color:#0b0d10;flex:1}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.small{padding:8px 10px;font-size:12px}.btn.ghost{background:#10151a;border:1px solid var(--line)}
.pipeline{display:flex;gap:5px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.step{font-size:11px;color:#6f7a85;border:1px solid var(--line);padding:6px 8px;border-radius:999px;background:#0d1115}.step.active{color:#12150a;background:var(--accent);border-color:var(--accent)}.step.done{color:var(--ok);border-color:#2f6546}.arrow{color:#46505a;font-size:11px}.stage{min-height:560px;display:grid;grid-template-columns:1.15fr .85fr;gap:14px}.viewer{background:radial-gradient(circle at 50% 35%,#26313a,#0a0d10 65%);border:1px solid var(--line);border-radius:15px;min-height:500px;position:relative;overflow:hidden}.viewer model-viewer{width:100%;height:100%;min-height:500px}.empty{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:40px;color:#66717b}.empty strong{display:block;color:#aeb7c0;margin-bottom:6px}.side{display:flex;flex-direction:column;gap:12px}.statusbox,.promptbox,.resultbox{border:1px solid var(--line);border-radius:14px;background:#0d1115;padding:14px}.statusline{display:flex;justify-content:space-between;gap:10px;font-size:12px;margin:7px 0;color:#b4bec7}.statusline span:last-child{color:#fff;text-align:right}.progress{height:7px;background:#20262d;border-radius:999px;overflow:hidden;margin:10px 0}.progress>i{display:block;height:100%;width:0;background:var(--accent);transition:width .3s}.log{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.45;color:#91a0ad;max-height:180px;overflow:auto;white-space:pre-wrap}.promptpreview{font-size:12px;line-height:1.5;color:#c1c9d1;max-height:170px;overflow:auto;white-space:pre-wrap}.result-actions{display:flex;flex-wrap:wrap;gap:8px}.notice{border-left:3px solid var(--warn);padding:10px 12px;background:rgba(255,202,106,.07);font-size:12px;line-height:1.45;color:#d5dce2;border-radius:8px;margin-bottom:15px}.filebox{border:1px dashed #34404c;border-radius:11px;padding:10px;background:#0a0e12}.hidden{display:none!important}.badge{font-size:10px;padding:3px 6px;border-radius:6px;background:#20262c;color:#9ca8b4}.badge.ok{background:rgba(85,209,135,.12);color:var(--ok)}.badge.err{background:rgba(255,107,107,.12);color:var(--danger)}
@media(max-width:1050px){.grid{grid-template-columns:1fr}.stage{grid-template-columns:1fr}.viewer{min-height:440px}.viewer model-viewer{min-height:440px}}@media(max-width:650px){.shell{padding:14px}.row,.row3{grid-template-columns:1fr}.topbar{align-items:flex-start;gap:10px}.wallet{display:none}.mode-tabs{grid-template-columns:1fr}}
