:root{color:#182225;background:#f3f1e9;font-family:Avenir Next,Gill Sans,PingFang SC,Microsoft YaHei,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #182225;--muted: #66706d;--paper: #fffaf0;--paper-strong: #fffdf7;--line: #d8d0c2;--green: #16483e;--green-soft: #dbe9df;--copper: #c4612d;--red: #b33924;--blue: #2f5f78;--shadow: 0 18px 42px rgba(24, 34, 37, .12);--shell-max: 1680px}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(90deg,rgba(24,34,37,.055) 1px,transparent 1px),linear-gradient(180deg,rgba(24,34,37,.045) 1px,transparent 1px),radial-gradient(circle at 12% 10%,rgba(47,95,120,.18),transparent 28%),radial-gradient(circle at 88% 18%,rgba(196,97,45,.13),transparent 26%),#f3f1e9;background-size:36px 36px,36px 36px,auto,auto,auto}button,input,textarea{font:inherit}button{border:0;border-radius:6px;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,background .14s ease,border-color .14s ease}button:disabled{cursor:not-allowed;opacity:.5}button:not(:disabled):hover{transform:translateY(-1px)}h1,h2,h3,p{margin-top:0}h1{margin-bottom:6px;font-size:clamp(30px,4vw,48px);line-height:1.02}h2{margin-bottom:0;font-size:22px;line-height:1.18}h3{margin:18px 0 10px;font-size:15px}.loading-screen,.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px}.loading-screen{color:var(--muted)}.login-panel{width:min(440px,100%);padding:34px;border:1px solid var(--ink);border-radius:8px;background:var(--paper);box-shadow:12px 12px 0 var(--ink)}.brand-mark{width:48px;height:48px;display:grid;place-items:center;border-radius:6px;background:var(--green);color:var(--paper);font-weight:900}.eyebrow{margin:0 0 8px;color:var(--copper);font-size:12px;font-weight:900;letter-spacing:0}.login-copy,.muted,.topbar-subtitle,.panel-caption{color:var(--muted);line-height:1.7}.topbar-subtitle,.panel-caption{margin:0}.login-form{display:grid;gap:12px;margin-top:28px}.login-form label,.upload-panel label{font-size:13px;font-weight:900}.login-form input,.answer-row input,.upload-panel textarea{border:1px solid #b8afa0;border-radius:6px;background:var(--paper-strong);color:var(--ink)}.login-form input,.answer-row input{min-height:46px;padding:0 12px}.upload-panel textarea{width:100%;min-height:112px;resize:vertical;padding:12px;line-height:1.55}.login-form button,.upload-panel button[type=submit],.generate-button{min-height:48px;background:var(--green);color:var(--paper);font-weight:900;box-shadow:0 10px 22px #16483e38}.form-error,.warning{margin:0;color:var(--red);font-size:14px}.workbench{min-height:100vh;padding:22px}.topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;max-width:var(--shell-max);margin:0 auto 18px;padding:18px 0 20px;border-bottom:3px solid var(--ink)}.topbar h1{margin-bottom:3px;font-size:36px}.topbar-actions{display:flex;gap:10px;align-items:center}.ghost-button,.secondary-button,.file-button{min-height:40px;padding:0 16px;border:1px solid var(--ink);background:var(--paper);color:var(--ink);font-weight:900}.product-tabs{max-width:var(--shell-max);margin:-6px auto 18px;display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.product-tabs button{flex:0 0 auto;min-width:150px;max-width:240px;min-height:52px;display:grid;justify-items:start;gap:2px;padding:8px 12px;border:1px solid var(--line);background:#fffaf0d6;color:var(--ink)}.product-tabs button.active{border-color:var(--ink);background:var(--ink);color:var(--paper)}.product-tabs span,.product-tabs small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-tabs span{font-weight:900}.product-tabs small{color:inherit;opacity:.72;font-size:12px}.workspace{display:grid;grid-template-columns:minmax(320px,380px) minmax(0,1fr);gap:22px;max-width:var(--shell-max);margin:0 auto;align-items:start}.left-rail{position:sticky;top:18px;display:grid;align-content:start;gap:14px;min-width:0}.mission-card,.upload-panel,.status-card,.progress-card,.panel{border:1px solid var(--line);border-radius:8px;background:#fffaf0f0;box-shadow:0 1px #1822250a}.mission-card{padding:16px;background:linear-gradient(145deg,#182225f5,#16483ef0);color:var(--paper);box-shadow:var(--shadow)}.mission-card .eyebrow{color:#f0b477}.mission-card h2{margin-bottom:14px}.stage-track{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.stage-track span{min-height:32px;display:grid;place-items:center;border:1px solid rgba(255,250,240,.22);border-radius:5px;color:#fffaf0a8;font-size:12px;font-weight:900}.stage-track .active{background:#f0b477;color:var(--ink)}.stage-track .done{background:#fffaf029;color:var(--paper)}.upload-panel{display:grid;gap:12px;padding:16px}.upload-panel input[type=file]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.file-button{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-card{display:flex;gap:12px;padding:15px;color:#34413f;line-height:1.55}.status-card.is-active{border-color:#16483e6b;background:#dbe9dfeb}.status-card p{margin:0;min-width:0;overflow-wrap:anywhere;font-weight:800}.status-card small{display:block;margin-top:6px;color:#4f635e;line-height:1.55}.status-dot{flex:0 0 auto;width:11px;height:11px;margin-top:7px;border-radius:50%;background:var(--copper);box-shadow:0 0 #c4612d73}.status-card.is-active .status-dot{background:var(--green);animation:pulse-dot 1.45s ease-out infinite}@keyframes pulse-dot{0%{box-shadow:0 0 #16483e6b}to{box-shadow:0 0 0 12px #16483e00}}.progress-card{max-height:240px;overflow:auto;padding:12px;background:#182225ed;color:var(--paper);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.45}.progress-card summary{display:grid;gap:4px;cursor:pointer}.progress-card summary span{font-family:Avenir Next,Gill Sans,PingFang SC,Microsoft YaHei,sans-serif;font-weight:900}.progress-card summary small{color:#f0b477;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-lines{display:grid;gap:8px;margin-top:10px}.progress-line{margin:0;max-width:100%;overflow-wrap:anywhere;white-space:pre-wrap}.progress-status{color:#f0b477}.progress-stderr{color:#ffc4ad}.main-column{display:grid;gap:18px;min-width:0}.panel{min-width:0;padding:20px}.panel-header{margin-bottom:16px}.intake-review{display:grid;grid-template-columns:minmax(680px,1fr) minmax(320px,380px);gap:20px;align-items:start}.review-dashboard{border-color:#16483e3d;background:#fffdf7fa}.review-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:18px;border-bottom:1px solid var(--line)}.review-stats{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.review-stats span{min-width:98px;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:#f2eadc;color:var(--muted);font-size:12px;font-weight:900}.review-stats strong{display:block;color:var(--ink);font-size:24px;line-height:1}.review-sections{display:grid;gap:16px;margin-top:18px}.review-section{min-width:0;padding:14px;border:1px solid rgba(22,72,62,.12);border-radius:8px;background:#fffdf79e}.section-title{display:flex;align-items:center;gap:10px;margin-bottom:12px}.section-title span{display:grid;place-items:center;width:30px;height:30px;border-radius:999px;background:var(--green);color:var(--paper);font-size:12px;font-weight:900}.section-title h3{margin:0;font-size:18px}.needs-review-section{border:1px solid rgba(196,97,45,.26);background:#fff7ec}.intake-grid{display:grid;grid-template-columns:minmax(220px,.92fr) minmax(300px,1.1fr) minmax(270px,.98fr);gap:16px;align-items:start}.intake-panel{min-height:220px}.caution-panel{border-color:#c4612db8}.fact-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:0}.fact-row{display:grid;gap:4px;padding:12px;border-radius:6px;background:#f2eadc}.fact-row dt{color:var(--muted);font-size:12px;font-weight:900}.fact-row dd{display:grid;gap:4px;margin:0;font-weight:900}.fact-row small{color:var(--copper);font-weight:800}.question-list{display:grid;gap:10px;margin:14px 0;padding:0;list-style:none}.question-list li{padding:12px;border-left:3px solid var(--copper);background:#fff6e8}.question-list span{font-size:12px;font-weight:900;color:var(--copper)}.question-list p{margin:4px 0 0}.pill-list,.answer-list,.toggle-list{gap:10px}.pill-list{display:flex;flex-wrap:wrap;gap:8px}.answer-list,.toggle-list{display:grid}.answer-list{margin:14px 0}.answer-row{display:grid;gap:8px;padding:12px;border-radius:6px;background:var(--paper-strong)}.review-answer-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px;margin-bottom:0}.review-answer-row{border:1px solid rgba(196,97,45,.22);background:#fffdf7}.review-answer-row.is-blocking{border-color:#b3392457}.answer-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;min-width:0}.answer-heading label{min-width:0;color:var(--ink);font-size:13px;font-weight:900;overflow-wrap:anywhere}.answer-heading label span{display:block;margin-bottom:3px;color:var(--copper);font-size:12px}.answer-heading em{flex:0 0 auto;border-radius:999px;padding:3px 7px;background:#f2eadc;color:var(--copper);font-size:12px;font-weight:900;font-style:normal}.review-answer-row.is-blocking .answer-heading em{background:var(--red);color:var(--paper)}.answer-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(92px,auto);gap:8px;align-items:center}.answer-row input{width:100%;min-width:0}.text-button{justify-self:stretch;min-height:32px;padding:0 12px;background:#f2eadc;color:var(--copper);font-size:13px;font-weight:900;box-shadow:none;white-space:nowrap}.required-hint{justify-self:stretch;min-height:32px;display:grid;place-items:center;border-radius:6px;background:#b339241a;color:var(--red);font-size:13px;font-weight:900;white-space:nowrap}.option-toggle{display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:var(--paper-strong);color:var(--ink);font-size:14px;font-weight:800;line-height:1.35}.option-toggle input{flex:0 0 auto;width:17px;height:17px;accent-color:var(--green)}.toggle-list.compact{gap:8px}.review-plan{position:sticky;top:18px}.review-plan .panel-header{margin-bottom:14px}.pill-list span,.format-note{border-radius:999px;padding:7px 10px;background:var(--green);color:var(--paper);font-size:13px;font-weight:900}.pill-list.quiet span,.format-note{background:#e7eced;color:var(--ink)}.format-note{display:inline-flex;margin:14px 8px 0 0;border-radius:6px;line-height:1.45}.claim-guard{display:grid;gap:6px;margin-top:18px;padding:12px;border:1px solid rgba(179,57,36,.25);border-radius:6px;background:#fff3ed}.claim-guard p{margin:0;color:var(--red);font-size:13px;line-height:1.55}.gallery-panel{border-color:#2f5f7873;background:#fffdf7f5}.gallery-priority .gallery-panel{box-shadow:var(--shadow)}.gallery-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.empty-gallery{display:grid;place-items:center;min-height:260px;border:1px dashed #aeb8b8;border-radius:8px;color:var(--muted);background:linear-gradient(135deg,rgba(47,95,120,.08),transparent 42%),#e7eced8c}.empty-gallery span{max-width:320px;text-align:center;line-height:1.7}.empty-gallery.is-working{border-color:#16483e73;color:var(--green)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.image-card{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--paper-strong)}.image-card img{display:block;width:100%;aspect-ratio:1;object-fit:cover;background:#e7eced}.image-meta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:12px;align-items:start}.image-meta strong,.image-meta span,.image-meta p{min-width:0;overflow-wrap:anywhere}.image-meta strong{display:block;color:var(--ink);font-size:14px;line-height:1.35}.image-meta span{display:block;margin-top:4px;color:var(--blue);font-size:12px;font-weight:900;line-height:1.35}.image-meta p{margin:7px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.image-meta a{color:var(--copper);font-size:13px;font-weight:900;text-decoration:none}.image-edit-form{display:grid;gap:8px;padding:0 12px 12px}.image-edit-form label{color:var(--ink);font-size:12px;font-weight:900}.image-edit-form textarea{width:100%;min-height:58px;resize:vertical;border:1px solid var(--line);border-radius:6px;padding:9px 10px;background:var(--paper);line-height:1.45}.image-edit-form button{min-height:38px;background:var(--blue);color:var(--paper);font-weight:900}@media(max-width:1480px){.intake-review{grid-template-columns:1fr}.review-plan{position:static}}@media(max-width:1160px){.workspace,.intake-grid,.intake-review,.review-sections{grid-template-columns:1fr}.left-rail,.review-plan{position:static}}@media(max-width:620px){.workbench{padding:12px}.topbar,.review-hero,.gallery-header{align-items:flex-start;flex-direction:column}.review-stats{width:100%;justify-content:stretch}.review-stats span{flex:1 1 120px}.answer-controls,.review-answer-list{grid-template-columns:1fr}.topbar h1{font-size:30px}.login-panel{padding:24px;box-shadow:8px 8px 0 var(--ink)}.panel,.upload-panel,.mission-card,.status-card{padding:14px}}
