:root{color-scheme:dark;--bg:#081016;--panel:#0f1a21;--edge:#29404c;--soft:#90a4af;--white:#f3f3ef;--accent:#d8aa62;--green:#75b99d}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--white);line-height:1.46}.ambient{position:fixed;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(ellipse 70% 48% at 30% -8%,#21423b8e,transparent),radial-gradient(ellipse 50% 60% at 105% 40%,#283a4138,transparent)}.layout{max-width:1450px;margin:auto;padding:0 30px}.header{display:flex;align-items:center;gap:18px;padding:25px 0 21px;border-bottom:1px solid #304249}.logo{width:48px;height:48px;border:1px solid #bba070;border-radius:14px;display:grid;place-items:center;font-family:Georgia,serif;font-size:22px;color:#e5c58b;background:#27352d}.brand{flex:1}.overline,.eyebrow,.step,.lab,.viewer .viewTop,.light{font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:750}.overline,.step{color:var(--green)}.brandTitle{font-family:Georgia,serif;font-size:27px;letter-spacing:-.7px}.brandTitle b{font-weight:400;color:var(--accent)}.rightHeader{display:flex;align-items:center;gap:10px}.chip,.status{font-size:11px;border:1px solid var(--edge);border-radius:22px;padding:8px 12px;color:#d1d9d7;background:#17252c}.status{color:#f3d497}.hero{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:38px 0 28px}.hero h1{font-size:clamp(31px,4vw,56px);line-height:1.09;letter-spacing:-1.6px;margin:8px 0 14px}.hero h1 em{color:var(--accent);font-family:Georgia,serif;font-weight:400}.hero p{max-width:700px;color:#adbac0;font-size:15px}.eyebrow{color:#dac393}.quote{width:290px;flex-shrink:0;border:1px solid #354841;background:#17282080;border-radius:14px;padding:16px 20px}.quoteMark{color:#d2af74;font-family:Georgia,serif;font-size:34px;height:26px}.quote p{font-family:Georgia,serif;color:#dce7dc;font-size:14px;font-style:italic}.quote small{color:#b8c6bf;font-size:10px;letter-spacing:1.5px}.columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:20px;align-items:start}.panel{border:1px solid #29404b;border-radius:18px;background:linear-gradient(160deg,#132229,#0c171d);padding:24px;box-shadow:0 16px 40px #0003}.panelHead{display:flex;align-items:baseline;justify-content:space-between;gap:15px;margin-bottom:20px}.panelHead h2{font-size:20px;margin:0}.notice{padding:12px 14px;border-radius:9px;font-size:12px;margin-bottom:20px}.warning{background:#2d271c;border:1px solid #6c5630;color:#e1c992}.warning strong{display:block}.lab{display:block;margin:18px 0 9px;color:#afc2c9}.lab span{color:#728a92;letter-spacing:0;font-weight:500;text-transform:none}.assist{display:block;color:#8ea0aa;font-size:12px;line-height:1.48;margin:8px 0 15px}input,textarea,select,button{font:inherit}input:not([type=file]),textarea,select{width:100%;background:#09141b;border:1px solid #344b56;border-radius:9px;color:#e5efee;padding:12px;font-size:14px;outline:none}textarea{min-height:135px;resize:vertical}input:focus,textarea:focus,select:focus{border-color:#c9a368;box-shadow:0 0 0 2px #a98d4833}button{cursor:pointer;border:1px solid #36515b;background:#142830;color:#e3eeed;border-radius:9px;padding:11px 13px;font-size:13px;font-weight:650;transition:background .16s,transform .12s}button:hover:not(:disabled){background:#24444d}button:active:not(:disabled){transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.38}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:5px;background:#09161d;border:1px solid #26414b;padding:5px;border-radius:11px;margin-top:19px}.segmented button{border:0;background:transparent}.segmented button.chosen{background:#29463e;color:#d6f3d4}.presetBar{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.outline{border-color:#927a52;color:#e6cda6}.ghost{background:transparent;color:#97a8b2}.refGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;min-height:112px}.ref{position:relative;border:1px solid #4d5960;border-radius:9px;overflow:hidden;background:#384044;aspect-ratio:.6}.ref img{width:100%;height:100%;object-fit:contain}.ref span{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:10px;color:#f3efdb;background:#060b0cc0;padding:3px}.fileDrop{display:block;border:1px dashed #60818a;padding:16px;border-radius:12px;margin-top:10px;text-align:center;background:#10222a;cursor:pointer}.fileDrop strong{display:block}.fileDrop span{display:block;font-size:12px;color:#9ab0bb}.fileDrop input{margin-top:12px;width:100%;font-size:12px;max-width:100%}.detailGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detailGrid label{font-size:10px;color:#9db2bb;letter-spacing:.9px;font-weight:bold}.detailGrid label input,.detailGrid label select{margin-top:6px}.primary{margin-top:22px;width:100%;background:linear-gradient(90deg,#c99b58,#e3ba76);color:#1c201c;border:none;padding:16px 14px;display:flex;align-items:center;justify-content:space-between;font-size:14px}.primary:hover:not(:disabled){background:#f2c98b}.viewer{border:1px solid #314a55;border-radius:15px;background:radial-gradient(ellipse at 50% 40%,#283b3c,#0a161e 75%);min-height:395px;overflow:hidden;display:flex;flex-direction:column}.viewTop{display:flex;justify-content:space-between;gap:8px;color:#bbcad0;padding:15px}.viewTop .light{color:#e2c686;letter-spacing:1px;font-size:10px}.showcase{flex:1;display:flex;align-items:center;justify-content:center;min-height:270px}.placeholder{text-align:center;max-width:290px;padding:14px;color:#899fa8}.placeholderIcon{font-size:90px;line-height:1;color:#cda86d}.placeholder h3{color:#d9e9e8;font-size:16px}.placeholder p{font-size:12px}.previewViews{display:flex;gap:8px;padding:8px;max-width:100%;overflow-x:auto;justify-content:center}.previewViews img{height:240px;max-width:220px;object-fit:contain;border-radius:8px;background:#26343a}.viewButtons{display:flex;gap:7px;padding:12px;justify-content:center;flex-wrap:wrap}.viewButtons button{font-size:11px;padding:9px}.hidden{display:none!important}model-viewer{width:100%;height:350px;min-height:350px;background:transparent}model-viewer:not(:defined){display:none}.progressWrap{border:1px solid #293e48;background:#0e1b22;padding:15px;border-radius:12px;margin:16px 0}.progressCopy{display:flex;justify-content:space-between;font-size:12px;gap:8px}.progressCopy span{color:#d8bb84}.track{background:#07151a;height:7px;border-radius:12px;margin:11px 0;overflow:hidden}.track>div{width:0;height:100%;background:linear-gradient(90deg,#61a789,#ddbd83);transition:width .4s}.feedback{font-size:12px;color:#aab9c1;margin:4px 0;white-space:pre-wrap}.feedback.error{color:#f4b1a7}.stages{display:grid;gap:6px}.stage{display:flex;align-items:center;gap:12px;border-bottom:1px solid #2a3b42;padding:11px 1px}.stage>span{color:#d7b886;font-size:11px}.stage>div{flex:1}.stage strong{font-size:13px}.stage small{display:block;font-size:11px;color:#82979f}.stage b{font-size:10px;color:#b6b1a6}.stage.complete b{color:#77cbaa}.stage.active b{color:#efbd76}.actionRow{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:18px}.actionRow .gold{background:#51412a;border-color:#9f7d44;color:#f4e3c5}.exportHead{margin:28px 0 0}.taskLine{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:19px 0 0;color:#6f929a;font-size:11px;word-break:break-word}.taskLine button{flex-shrink:0;font-size:10px;padding:8px}.footPanel{margin:24px 0;display:grid;grid-template-columns:1fr 1fr;gap:20px}.footPanel>div{border:1px solid #29404b;border-radius:13px;padding:20px}.footPanel strong{color:#dbc08a}.footPanel p{color:#9baeb4;font-size:13px}footer{border-top:1px solid #29404b;display:flex;justify-content:space-between;gap:10px;padding:25px 0 40px;font-size:11px;color:#768f9b;letter-spacing:1px}footer a{color:#cbaa72}@media(max-width:1050px){.columns{grid-template-columns:1fr}.quote{display:none}.hero{padding:28px 0}.viewer{min-height:350px}}@media(max-width:600px){.layout{padding:0 13px}.header{gap:11px;padding:16px 0}.logo{width:38px;height:38px;font-size:17px}.brandTitle{font-size:22px}.overline{font-size:9px}.rightHeader{flex-direction:column;align-items:flex-end;gap:4px}.chip,.status{font-size:9px;padding:5px 8px}.hero h1{font-size:35px}.hero p{font-size:13px}.panel{padding:16px;border-radius:14px}.panelHead h2{font-size:18px}.refGrid{gap:4px}.ref span{font-size:8px}.footPanel{grid-template-columns:1fr;gap:10px}footer{font-size:9px;flex-wrap:wrap}.actionRow{gap:7px}.actionRow button{font-size:11px;padding:10px 6px}}

.speakBtn{margin-top:8px;width:100%;background:#132129;color:#bccbd1;font-size:12px}

/* v3.1: clear engine diagnostics and prompt-first authoring */
.engineHelp{border:1px solid #44505b;border-left:4px solid #d8aa62;background:#15242b;padding:14px 16px;border-radius:12px;margin:12px 0 16px}
.engineHelp strong{display:block;font-size:14px;color:#f1dbad}.engineHelp p{margin:6px 0 8px;font-size:13px;color:#d4dee1}.engineHelp a,.setupBody a{color:#c6eadf;text-decoration:underline;font-size:12px}
.engineHelp.ready{border-color:#4c8e78;background:#142a25}.engineHelp.ready strong{color:#a9edcd}
.setupGuide,.advancedDetails{border:1px solid #334f58;background:#0d2026;border-radius:12px;margin:14px 0;padding:0 14px}
.setupGuide summary,.advancedDetails summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 0;font-size:14px;color:#f1efe9}
.setupGuide summary::-webkit-details-marker,.advancedDetails summary::-webkit-details-marker{display:none}
.setupGuide summary::after,.advancedDetails summary::after{content:'▾';color:#c3ad7d;margin-left:auto}
.setupGuide[open] summary::after,.advancedDetails[open] summary::after{content:'▴'}
.setupGuide summary .hint,.advancedDetails summary span{color:#a2b8bb;font-weight:400;font-size:11px}
.setupBody{border-top:1px solid #2d454e;padding:10px 0 14px;color:#bdcdd1;font-size:13px}.setupBody p{margin:8px 0}.setupBody ol{padding-left:20px}.setupBody li{margin:7px 0}.setupBody code{color:#f2d39b;overflow-wrap:anywhere}
.advancedDetails .detailGrid{padding:10px 0}.advancedDetails .assist{padding-bottom:10px}
.checkAdvanced{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-top:1px solid #28434e;color:#e0e8eb;cursor:pointer}
.checkAdvanced input{flex:0 0 auto;width:19px;height:19px;accent-color:#75b99d;margin-top:2px}
.checkAdvanced span{display:flex;flex-direction:column}.checkAdvanced small{font-size:12px;color:#a2b6ba;font-weight:400}
@media(max-width:670px){.setupGuide summary,.advancedDetails summary{font-size:13px}.setupGuide summary .hint,.advancedDetails summary span{display:none}.engineHelp{padding:12px}}
