:root{--bg: oklch(97.8% .008 90);--surface: oklch(100% 0 0);--fg: oklch(24% .025 70);--muted: oklch(51% .025 75);--border: oklch(88% .018 85);--accent: oklch(62% .16 38);--accent-soft: color-mix(in oklch, var(--accent) 14%, transparent);--fg-soft: color-mix(in oklch, var(--fg) 6%, transparent);--font-display: "Iowan Old Style", "Charter", Georgia, "Times New Roman", serif;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: ui-monospace, "JetBrains Mono", "SF Mono", Menlo, monospace;--fs-body: 15px;--radius: 10px;--radius-lg: 16px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-width:320px;background:var(--bg);color:var(--fg);font:var(--fs-body) / 1.55 var(--font-body);-webkit-font-smoothing:antialiased}button,textarea,input{font:inherit}button{cursor:pointer}button:focus-visible,textarea:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}h1,h2,h3,h4,p{margin:0}.container{max-width:1240px;margin:0 auto;padding-inline:28px}.topnav{position:sticky;top:0;z-index:5;border-bottom:1px solid var(--border);background:color-mix(in oklch,var(--bg) 94%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.topnav-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:68px}.logo{display:inline-flex;align-items:center;gap:10px;color:var(--fg);font:600 22px var(--font-display);letter-spacing:0;text-decoration:none}.logo-mark{display:grid;width:26px;height:26px;place-items:center;border-radius:8px;background:var(--fg);color:var(--surface)}.logo-mark svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.topnav nav{display:flex;gap:26px}.topnav nav a{color:var(--muted);text-decoration:none;font-size:13px}.topnav nav a:hover{color:var(--fg)}.profile{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px}.avatar{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;background:var(--fg);color:var(--surface);font-size:12px}.section{padding-block:34px 56px}.eyebrow{margin:0 0 10px;color:var(--accent);font:11px var(--font-mono);letter-spacing:.1em;text-transform:uppercase}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:0}h1{font-size:clamp(36px,5vw,56px);line-height:1.06}h2{font-size:24px;line-height:1.2}h3{font-size:18px;line-height:1.25}h4{font-size:27px;line-height:1.25}.lead{max-width:58ch;margin-top:10px;color:var(--muted)}.workspace-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:26px}.head-meta{color:var(--muted);font:12px var(--font-mono)}.workspace{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(420px,1.5fr);gap:18px;align-items:stretch}.card{min-width:0;padding:22px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.input-card,.output-card{min-height:630px;display:flex;flex-direction:column}.card-top{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:18px}.card-label{color:var(--muted);font-size:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 17px;border:1px solid transparent;border-radius:var(--radius);font-size:14px;font-weight:600;transition:background .15s,border-color .15s,transform .05s}.btn:active{transform:translateY(1px)}.btn:disabled{cursor:wait;opacity:.65}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--surface)}.btn-primary:hover{background:color-mix(in oklch,var(--accent) 88%,black)}.btn-secondary{border-color:var(--border);background:transparent;color:var(--fg)}.btn-secondary:hover,.btn-ghost:hover{border-color:var(--fg)}.btn-ghost{padding-inline:8px;border-color:transparent;background:transparent;color:var(--muted)}.textarea{width:100%;flex:1;min-height:330px;resize:vertical;border:1px solid var(--border);border-radius:var(--radius);padding:16px;background:var(--bg);color:var(--fg);line-height:1.8}.textarea:focus{border-color:var(--accent)}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.stat{padding:12px;border-radius:var(--radius);background:var(--fg-soft)}.stat span{display:block;color:var(--muted);font-size:12px}.stat strong{display:block;margin-top:4px;color:var(--fg);font-size:16px}.input-foot,.output-foot{display:flex;align-items:center;justify-content:space-between;gap:12px}.input-foot{margin-top:12px}.meta,.platform-note{color:var(--muted);font-size:12px}.generate{width:100%;margin-top:18px}.output-top{display:flex;align-items:center;justify-content:space-between;gap:18px}.status{flex:0 0 auto;color:var(--muted);font:11px var(--font-mono)}.status:before{content:"";display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:var(--accent)}.pipeline{display:flex;align-items:center;gap:8px;margin:18px 0 22px;color:var(--muted);font:11px var(--font-mono);flex-wrap:wrap}.pipeline-step{display:inline-flex;align-items:center;gap:8px}.pipeline-step span:last-child{white-space:nowrap}.pipeline-step.complete{color:var(--fg)}.pipeline-step.active{color:var(--accent)}.pipeline-index{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:999px;border:1px solid var(--border);background:var(--surface)}.pipeline-step.complete .pipeline-index,.pipeline-step.active .pipeline-index{border-color:color-mix(in oklch,var(--accent) 55%,var(--border))}.pipeline:before,.pipeline:after{content:"";display:none}.tabs{display:flex;gap:22px;margin-top:2px;border-bottom:1px solid var(--border)}.tab{padding:10px 0 11px;border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);font-size:13px}.tab.active{border-color:var(--accent);color:var(--fg);font-weight:600}.preview-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:14px}.title-input{width:min(100%,550px);border:0;background:transparent;color:var(--fg);font:600 27px / 1.2 var(--font-display)}.preview{min-height:390px;padding:26px 28px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg)}.preview article{max-width:650px;margin:0 auto}.preview h4{margin:0 0 18px}.preview h3{margin:20px 0 12px}.preview p{margin-bottom:16px}.preview ul{margin:0 0 18px;padding-left:22px}.preview li{margin:7px 0}.preview blockquote{margin:22px 0;padding-left:18px;border-left:2px solid var(--accent);color:var(--muted)}.preview code{padding:0 4px;border-radius:4px;background:var(--fg-soft);font-family:var(--font-mono);font-size:.92em}.preview a{color:var(--accent)}.platform-summary{color:var(--muted);font-size:13px}.preview.platform-xiaohongshu article{max-width:560px}.preview.platform-xiaohongshu h4{font-size:24px}.preview.platform-xiaohongshu p{margin-bottom:14px}.output-foot{margin-top:14px}.confirm{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;padding:17px 20px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.confirm strong{display:block;font-size:14px}.confirm span{display:block;margin-top:3px;color:var(--muted);font-size:12px}.footer{display:flex;justify-content:space-between;gap:16px;padding-bottom:28px;color:var(--muted);font-size:12px}.toast{position:fixed;right:24px;bottom:24px;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--fg);color:var(--surface);box-shadow:0 8px 26px color-mix(in oklch,var(--fg) 18%,transparent);opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .2s ease,transform .2s ease}.toast.show{opacity:1;transform:translateY(0)}.error{color:#9c3b2f}@media(max-width:920px){.workspace{grid-template-columns:1fr}.input-card,.output-card{min-height:auto}.textarea{min-height:250px}}@media(max-width:620px){.container{padding-inline:18px}.topnav nav{display:none}.workspace-head{display:block}.head-meta{display:block;margin-top:12px}.card{padding:17px}.input-foot,.output-foot,.confirm,.footer,.preview-tools{flex-direction:column;align-items:stretch}.btn{width:100%}.btn-ghost{width:auto}.preview{padding:20px}.stats-grid{grid-template-columns:1fr}}
