:root { --ink:#211d18; --muted:#766f66; --soft:#f3eee4; --paper:#fbf8f1; --line:#ded5c7; --accent:#a6321f; --accent-soft:#f3e0d9; --green:#4f7138; --shadow:0 18px 50px rgba(52,42,28,.08); }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:#f7f3ea; font-family:Inter,"Noto Sans SC","Microsoft YaHei",sans-serif; }
button,input,textarea,select { font:inherit; }
button { cursor:pointer; }
.app-shell { min-height:100vh; background:radial-gradient(rgba(50,35,20,.035) 1px,transparent 1px); background-size:4px 4px; }
.topbar { height:72px; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; padding:0 clamp(20px,5vw,80px); background:rgba(251,248,241,.9); backdrop-filter:blur(12px); }
.brand { color:var(--ink); text-decoration:none; font-family:Georgia,"Noto Serif SC",serif; font-size:22px; }.brand span { font:12px Inter,"Noto Sans SC",sans-serif; color:var(--muted); margin-left:10px; letter-spacing:.08em; }.topbar-meta { color:var(--muted); font-size:12px; display:flex; align-items:center; gap:8px; }.status-dot { width:8px; height:8px; border-radius:50%; background:#b6ab9d; }.status-dot.online { background:#5e8b3f; }
.workspace { max-width:1320px; margin:0 auto; padding:60px clamp(20px,5vw,80px) 100px; }.intro-row { display:flex; justify-content:space-between; gap:40px; align-items:flex-end; margin-bottom:54px; }.eyebrow { color:var(--accent); font:600 11px/1.2 Inter,"Noto Sans SC",sans-serif; letter-spacing:.14em; margin:0 0 10px; }.intro-row h1 { max-width:650px; font:500 clamp(34px,5vw,58px)/1.05 Georgia,"Noto Serif SC",serif; letter-spacing:-.02em; margin:0; }.lede { color:var(--muted); font-size:15px; line-height:1.8; max-width:610px; margin:22px 0 0; }.intro-note { width:220px; border-left:1px solid var(--accent); padding-left:16px; display:grid; gap:5px; flex:none; }.intro-note span,.intro-note small { color:var(--muted); font-size:12px; }.intro-note strong { font:500 18px Georgia,"Noto Serif SC",serif; }.mode-tabs { display:flex; gap:10px; border-bottom:1px solid var(--line); margin-bottom:36px; }.mode-tab { border:0; background:transparent; color:var(--muted); padding:15px 0; margin-right:26px; border-bottom:2px solid transparent; font-weight:600; }.mode-tab span { color:#aa9e91; font:11px ui-monospace,monospace; margin-left:8px; }.mode-tab.active { color:var(--accent); border-bottom-color:var(--accent); }.view { display:none; }.view.active { display:block; }.view-grid { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:42px; }.section-heading { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:20px; }.section-heading h2 { margin:0; font:500 30px/1.2 Georgia,"Noto Serif SC",serif; }.quiet-label { color:var(--muted); font-size:12px; padding-top:12px; }.upload-zone { border:1px dashed #bdb0a0; min-height:260px; background:rgba(251,248,241,.6); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:12px; position:relative; transition:.2s; }.upload-zone:hover,.upload-zone:focus-within { border-color:var(--accent); background:#fffaf0; }.upload-zone input { position:absolute; inset:0; opacity:0; cursor:pointer; }.upload-icon { width:48px; height:48px; display:grid; place-items:center; border-radius:50%; background:var(--accent-soft); color:var(--accent); font-size:24px; }.upload-zone strong { font-size:16px; }.upload-zone p { margin:5px 0 0; color:var(--muted); font-size:13px; }.primary-button,.ghost-button,.icon-button { border:0; min-height:42px; padding:0 18px; font-weight:600; }.primary-button { background:var(--accent); color:white; }.primary-button:hover { background:#812617; }.ghost-button { background:transparent; color:var(--accent); border:1px solid var(--line); }.ghost-button:hover { border-color:var(--accent); }.icon-button { padding:0; width:38px; border:1px solid var(--line); background:var(--paper); color:var(--accent); font-size:19px; }.hidden { display:none !important; }
.upload-picker { position:relative; display:flex; flex-direction:column; align-items:center; gap:12px; width:100%; padding:24px 16px; cursor:pointer; }
.upload-picker:focus-within { outline:2px solid var(--accent); outline-offset:-4px; }
.upload-hint { display:block; margin-top:5px; color:var(--muted); font-size:13px; }
.selected-file { max-width:100%; padding:0 16px; overflow-wrap:anywhere; }
.upload-zone > button { margin-bottom:20px; }
.upload-zone button:disabled { opacity:.6; cursor:not-allowed; }
.side-column { display:grid; gap:18px; align-content:start; }.side-card { border-top:2px solid var(--ink); padding:20px 0; }.side-card h3 { margin:0 0 20px; font:500 20px Georgia,"Noto Serif SC",serif; }.muted-card { border-top:1px solid var(--line); }.muted-card p:last-child { color:var(--muted); font-size:13px; line-height:1.8; margin:0; }.workflow-list { list-style:none; margin:0; padding:0; display:grid; gap:18px; }.workflow-list li { display:flex; gap:12px; }.workflow-list li>span { color:var(--accent); font:11px ui-monospace,monospace; padding-top:3px; }.workflow-list strong,.workflow-list small { display:block; }.workflow-list strong { font-size:13px; }.workflow-list small { color:var(--muted); font-size:12px; line-height:1.6; margin-top:3px; }
.run-panel { border:1px solid var(--line); background:var(--paper); margin-top:18px; padding:18px; }.run-top { display:flex; justify-content:space-between; align-items:center; }.run-top strong { font-size:14px; }.run-status { color:var(--green); font-size:12px; }.run-track { height:5px; background:#e8e0d4; margin:18px 0 13px; overflow:hidden; }.run-track span { display:block; height:100%; width:55%; background:var(--accent); transition:width .4s; }.run-stages { display:flex; justify-content:space-between; color:var(--muted); font-size:11px; }.run-stages .active { color:var(--accent); font-weight:600; }.report-panel { border-top:2px solid var(--accent); margin-top:30px; padding:25px 0; }.report-panel h3 { margin:0 0 10px; font:500 25px Georgia,"Noto Serif SC",serif; }.report-panel p { color:var(--muted); line-height:1.8; }.report-meta { display:flex; gap:8px; flex-wrap:wrap; margin:18px 0; }.tag { color:var(--accent); background:var(--accent-soft); padding:5px 9px; font-size:11px; }.download-row { display:flex; gap:8px; }
.idea-toolbar { display:flex; align-items:center; gap:10px; margin-bottom:18px; color:var(--muted); font-size:12px; }.idea-toolbar select { flex:1; border:1px solid var(--line); background:var(--paper); color:var(--ink); padding:10px 12px; }.stage-pill { color:var(--accent); background:var(--accent-soft); padding:6px 9px; font:600 10px ui-monospace,monospace; }.conversation { min-height:410px; max-height:520px; overflow:auto; border:1px solid var(--line); background:rgba(251,248,241,.55); padding:22px; display:flex; flex-direction:column; gap:15px; }.empty-conversation { align-items:center; justify-content:center; text-align:center; }.empty-state { max-width:370px; }.empty-state.wide { max-width:none; }.empty-mark { display:inline-grid; place-items:center; width:42px; height:42px; background:var(--accent-soft); color:var(--accent); font:22px Georgia,serif; margin-bottom:16px; }.empty-state h3 { font:500 21px Georgia,"Noto Serif SC",serif; margin:0 0 8px; }.empty-state p { color:var(--muted); font-size:13px; line-height:1.8; margin:0; }.message { max-width:78%; padding:13px 15px; line-height:1.7; font-size:14px; white-space:pre-wrap; }.message.user { align-self:flex-end; background:var(--accent); color:white; }.message.assistant { align-self:flex-start; background:white; border:1px solid var(--line); }.message-time { display:block; color:var(--muted); font-size:10px; margin-top:5px; }.message.user .message-time { color:#f7d5cb; }.message-form { display:flex; gap:10px; margin-top:14px; }.message-form textarea { flex:1; resize:vertical; border:1px solid var(--line); background:var(--paper); padding:13px; min-height:75px; color:var(--ink); }.message-form button { align-self:stretch; }.spec-card { border-top-color:var(--accent); }.spec-header { display:flex; justify-content:space-between; align-items:flex-start; }.spec-content { display:grid; gap:12px; }.spec-block { border-top:1px solid var(--line); padding-top:10px; }.spec-label { color:var(--muted); font-size:11px; }.spec-value { font-size:14px; line-height:1.7; margin-top:3px; white-space:pre-wrap; }.placeholder-copy { color:var(--muted); font-size:13px; line-height:1.8; }.revision-list { display:grid; gap:10px; }.revision-item { display:flex; justify-content:space-between; color:var(--muted); font-size:12px; padding-bottom:10px; border-bottom:1px solid var(--line); }.revision-item strong { color:var(--ink); }.library-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:16px; }.library-card { background:var(--paper); border:1px solid var(--line); padding:20px; min-height:180px; display:flex; flex-direction:column; justify-content:space-between; }.library-card h3 { font:500 19px Georgia,"Noto Serif SC",serif; margin:0 0 8px; }.library-card p { color:var(--muted); font-size:12px; line-height:1.6; margin:0; }.library-card .card-footer { display:flex; justify-content:space-between; align-items:center; margin-top:22px; }.library-card time { color:var(--muted); font-size:11px; }.library-card a { color:var(--accent); text-decoration:none; font-size:12px; font-weight:600; }.wide { grid-column:1/-1; text-align:center; padding:60px 20px; }
@media (max-width:800px) { .intro-row { display:block; }.intro-note { margin-top:28px; }.view-grid { grid-template-columns:1fr; }.side-column { grid-template-columns:repeat(2,minmax(0,1fr)); }.message-form { display:block; }.message-form button { margin-top:8px; width:100%; }.topbar { padding:0 20px; }.brand span { display:none; } }
@media (max-width:560px) { .workspace { padding:38px 16px 70px; }.side-column { grid-template-columns:1fr; }.mode-tab { margin-right:12px; }.mode-tab span { display:none; }.intro-row h1 { font-size:38px; }.download-row { flex-wrap:wrap; } }
