:root{--font-sans:"Noto Sans SC","PingFang SC",sans-serif;--font-serif:"Noto Serif SC","Songti SC",serif;--bg:#f7f0e8;--bg-strong:#fffaf4;--panel:rgba(255,250,244,0.8);--panel-strong:#fffdf9;--ink:#18233b;--muted:#5e6578;--line:rgba(24,35,59,0.12);--accent:#d65a31;--accent-soft:#f7d7c9;--ok:#2f855a;--warn:#b7791f;--shadow:0 18px 48px rgba(24,35,59,0.08)}*{box-sizing:border-box}body,html{margin:0;padding:0;background:radial-gradient(circle at top left,rgba(214,90,49,.18),transparent 26%),radial-gradient(circle at top right,rgba(24,35,59,.08),transparent 24%),linear-gradient(180deg,#f5eee6,#f3ebe2);color:var(--ink);font-family:var(--font-sans)}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.68;transform:none}.app-shell{min-height:100vh;display:grid;grid-template-columns:360px 1fr}.sidebar{border-right:1px solid var(--line);background:rgba(255,251,246,.78);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:28px 24px;gap:20px}.brand,.sidebar{display:flex;flex-direction:column}.brand{gap:6px}.eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}.brand h1,.empty-hero h2{margin:0;font-family:var(--font-serif);font-size:32px;line-height:1.1}.brand p,.muted{margin:0;color:var(--muted)}.panel{background:var(--panel);border:1px solid rgba(255,255,255,.6);border-radius:28px;box-shadow:var(--shadow)}.create-panel,.list-panel{padding:18px}.composer textarea,.create-panel textarea{width:100%;min-height:136px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.72);padding:14px 16px;resize:vertical;color:var(--ink)}.composer textarea:focus,.create-panel textarea:focus{outline:2px solid rgba(214,90,49,.24);border-color:rgba(214,90,49,.45)}.ghost-button,.inline-button,.primary-button{border:0;border-radius:999px;padding:12px 18px;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.primary-button{background:linear-gradient(135deg,#db6a3c,#b84525);color:white;box-shadow:0 12px 24px rgba(184,69,37,.22)}.ghost-button{background:rgba(24,35,59,.06);color:var(--ink)}.inline-button{padding:10px 14px;background:rgba(214,90,49,.1);color:#a94322}.ghost-button:hover,.inline-button:hover,.primary-button:hover{transform:translateY(-1px)}.conversation-list{display:flex;flex-direction:column;gap:12px}.conversation-card{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:22px;border:1px solid transparent;background:rgba(255,255,255,.68)}.conversation-card.active{border-color:rgba(214,90,49,.34);background:linear-gradient(180deg,rgba(255,242,234,.95),rgba(255,255,255,.95))}.artifact-column h3,.candidate-card h3,.chat-column h3,.conversation-card h3,.workspace-header h2{margin:0}.status-badge{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:8px 12px;font-size:13px;color:#22365d;background:rgba(34,54,93,.08)}.stage{padding:28px;display:flex;flex-direction:column;gap:20px}.empty-hero,.workspace-grid>section,.workspace-header{background:var(--panel-strong);border:1px solid rgba(255,255,255,.7);border-radius:32px;box-shadow:var(--shadow)}.workspace-header{padding:24px 28px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.workspace-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,.8fr);grid-gap:20px;gap:20px;min-height:calc(100vh - 200px)}.artifact-column,.chat-column{padding:22px;display:flex;flex-direction:column;gap:18px}.message-list{display:flex;flex-direction:column;gap:14px;max-height:58vh;overflow:auto;padding-right:6px}.message{padding:16px 18px;border-radius:24px;border:1px solid var(--line);white-space:pre-wrap;line-height:1.7}.message.user{background:rgba(214,90,49,.1)}.message.assistant{background:rgba(24,35,59,.04)}.message.system{background:rgba(183,121,31,.1)}.message.pending{border-style:dashed;border-color:rgba(214,90,49,.35);background:linear-gradient(135deg,rgba(255,248,243,.96),rgba(247,240,232,.94))}.message.pending.user{opacity:.9}.message.pending.assistant:after{content:"";display:block;width:72px;height:6px;margin-top:14px;border-radius:999px;background:linear-gradient(90deg,rgba(214,90,49,.15),rgba(214,90,49,.7),rgba(214,90,49,.15));background-size:180% 100%;animation:pending-shimmer 1.2s linear infinite}.message-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-bottom:8px}.composer{display:flex;flex-direction:column;gap:12px}.helper-text{font-size:13px;color:var(--muted);line-height:1.6}.card-actions,.composer-actions,.workspace-actions{display:flex;flex-wrap:wrap;gap:10px}.candidate-list,.figure-grid,.reference-list,.version-list{display:grid;grid-gap:14px;gap:14px}.candidate-card,.figure-card,.reference-card,.summary-card,.version-card{border:1px solid var(--line);border-radius:24px;padding:16px;background:rgba(255,255,255,.75)}.score-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;margin:14px 0}.score-chip{border-radius:16px;background:rgba(24,35,59,.05);padding:10px 12px;font-size:13px}.figure-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.figure-card img{width:100%;border-radius:18px;border:1px solid var(--line);background:#fff}.markdown-preview{max-height:360px;overflow:auto;padding:16px;border-radius:24px;background:#fffefb;border:1px solid var(--line);white-space:pre-wrap;line-height:1.7;font-size:14px}.empty-hero{padding:44px;min-height:70vh;display:flex;align-items:center}.empty-hero p{max-width:640px;font-size:17px;line-height:1.8}.tiny{font-size:12px;color:var(--muted)}.error-text{color:#b8322b;font-size:13px}ul.inline-list{margin:12px 0 0;padding-left:20px;color:var(--muted)}@keyframes pending-shimmer{0%{background-position:180% 0}to{background-position:-20% 0}}@media (max-width:1180px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line)}.workspace-grid{grid-template-columns:1fr}}@media (max-width:720px){.sidebar,.stage{padding:18px}.workspace-header{padding:20px;flex-direction:column}.artifact-column,.chat-column{padding:18px}.empty-hero{padding:28px}}