:root{color:#183b3a;background:#e8f4ef;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 88% 8%,rgba(255,242,207,.92),transparent 28%),linear-gradient(135deg,#f3fbfb,#e6f6f1 46%,#f7fbf8)}button,input,select,textarea{font:inherit}.shell{min-height:100vh;padding:28px}.workspace{display:grid;grid-template-columns:330px minmax(0,1fr);gap:18px;max-width:1380px;margin:0 auto}.left-pane,.main-pane{background:#ffffffc7;border:1px solid rgba(185,224,213,.8);box-shadow:0 24px 80px #0f8a831f;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.left-pane{min-height:calc(100vh - 56px);padding:20px}.main-pane{min-height:calc(100vh - 56px);padding:24px}.brand-row{display:flex;align-items:center;gap:12px;margin-bottom:26px}.brand-mark{display:grid;place-items:center;width:46px;height:46px;color:#fff;background:#0f8a83}.brand-name{font-size:17px;font-weight:850}.brand-sub,.template-card span,.status-row,.preview-grid p{color:#526966;font-size:13px}.panel{padding:16px;margin-bottom:14px;background:#fff;border:1px solid #d9eee9}.panel-title{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-weight:800;color:#0f8a83}select,input,textarea{width:100%;border:1px solid #cfe9e3;background:#f8fdfb;color:#183b3a;outline:none}select,input{height:42px;padding:0 12px}textarea{min-height:420px;padding:16px;line-height:1.75;resize:vertical}.template-card{display:flex;align-items:center;gap:12px;margin-top:12px;padding:12px;background:#f3fbfb}.template-card strong{display:block;margin-bottom:3px}.template-mark{display:grid;place-items:center;width:38px;height:38px;color:#0f8a83;background:#e6f6f1;border:1px solid #91cfc1}.upload{display:flex;align-items:center;gap:10px;height:54px;padding:0 14px;border:1px dashed #91cfc1;background:#f6fcfb;cursor:pointer}.upload input{display:none}.hint{margin:10px 0 0;color:#526966;font-size:12px;line-height:1.5}.soft{background:#f6fcfb}.metric-row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid #d9eee9;font-size:13px}.metric-row:last-child{border-bottom:0}.metric-row b{color:#0f8a83}header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.eyebrow{margin:0 0 6px;color:#0f8a83;font-size:12px;font-weight:850}h1,h2{margin:0;letter-spacing:0}h1{max-width:780px;font-size:32px;line-height:1.18}h2{font-size:20px}.primary,.download{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:132px;height:44px;border:0;background:#0f8a83;color:#fff;font-weight:850;text-decoration:none;cursor:pointer}.primary:disabled{opacity:.68;cursor:wait}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}.controls label{display:grid;gap:6px;color:#526966;font-size:13px;font-weight:700}.status-row{display:flex;justify-content:space-between;margin:10px 0 16px}.result{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px;margin-bottom:14px;background:#fff8ea;border:1px solid #fde6ad}.result span{display:block;margin-top:5px;color:#7a6630;font-size:13px}.pipeline-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.pipeline-row small{padding:5px 8px;background:#fff;border:1px solid #d9eee9;color:#526966;font-size:11px;font-weight:800}.pipeline-row small[data-state=ok]{color:#0f8a83;border-color:#91cfc1}.pipeline-row small[data-state=fallback]{color:#7a6630;border-color:#fde6ad;background:#fffdf6}.preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.preview-grid article{min-height:132px;padding:14px;background:#fff;border:1px solid #d9eee9}.preview-grid span{display:block;margin-bottom:10px;color:#0f8a83;font-size:12px;font-weight:800}.preview-grid strong{display:block;line-height:1.35}@media (max-width: 900px){.shell{padding:12px}.workspace{grid-template-columns:1fr}.left-pane,.main-pane{min-height:auto}header,.result{flex-direction:column;align-items:stretch}.controls,.preview-grid{grid-template-columns:1fr}h1{font-size:25px}}
