:root{--bg:#e9eae6;--surface:#f5f5f2;--surface-2:#e0e2dd;--field:#eaebe7;--paper:#fff;--ink:#15191e;--muted:#565d65;--line:#c9cdc7;--accent:#e7c13c;--accent-hover:#dcb42a;--accent-soft:#f3e3a2;--accent-ink:#15191e;--danger:#a3281e;--danger-soft:#f3dcd8;--font:-apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", sans-serif;--step-small:13px;--step-body:15px;--step-lead:17px;--step-head:20px;--step-display:clamp(28px, 1.1rem + 1.7vw, 42px);--radius:4px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:var(--step-body);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.55}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}::selection{background:var(--accent-soft);color:var(--ink)}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.app-shell{min-height:100dvh}main{display:block}.appbar{z-index:30;background:var(--surface);align-items:center;gap:36px;height:64px;padding:0 32px;display:flex;position:sticky;top:0}.brand{align-items:baseline;gap:12px;display:flex}.brand strong{font-size:var(--step-head);letter-spacing:.04em;font-weight:700}.brand span{font-size:var(--step-small);color:var(--muted)}.tabs-nav{align-self:stretch;gap:4px;display:flex}.tabs-nav button{color:var(--muted);font-size:var(--step-body);white-space:nowrap;background:0 0;border:4px solid #0000;border-left:0;border-right:0;align-items:center;gap:8px;padding:0 14px;transition:color .16s;display:flex;position:relative}.tabs-nav button svg{display:none}.tabs-nav button:hover{color:var(--ink)}.tabs-nav button.active{color:var(--ink);border-bottom-color:var(--ink);font-weight:600}.tabs-nav em{background:var(--ink);color:var(--surface);border-radius:3px;padding:3px 6px;font-size:12px;font-style:normal;font-weight:600;line-height:1}.appbar-meta{align-items:center;gap:4px;margin-left:auto;display:flex}.saved{font-size:var(--step-small);color:var(--muted);margin-right:10px}.icon-btn{border-radius:var(--radius);width:40px;height:40px;color:var(--ink);background:0 0;border:0;place-items:center;transition:background .16s;display:grid}.icon-btn:hover{background:var(--surface-2)}.content{max-width:1240px;margin:0 auto;padding:44px 32px 0}.page-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px;display:flex}.page-heading h1{font-size:var(--step-display);letter-spacing:-.02em;margin:0 0 10px;font-weight:650;line-height:1.1}.page-heading p{max-width:58ch;font-size:var(--step-body);color:var(--muted);margin:0}.panel{background:var(--surface);border-radius:6px;padding:28px}.panel-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px;display:flex}.panel-head>div{align-items:baseline;gap:10px;display:flex}.panel-head h2{font-size:var(--step-head);margin:0;font-weight:650}.head-note,.count{font-size:var(--step-small);color:var(--muted)}.panel-desc{font-size:var(--step-small);color:var(--muted);margin:0 0 18px}.subtle,.meta{color:var(--muted);font-size:var(--step-small)}.work-grid{grid-template-columns:1fr 1.1fr;align-items:start;gap:24px;display:grid}.button{border-radius:var(--radius);height:44px;font-size:var(--step-body);white-space:nowrap;border:0;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-weight:600;transition:background .16s,transform .12s;display:inline-flex}.button:active:not(:disabled){transform:translateY(1px)}.button:disabled{opacity:.5;cursor:not-allowed}.button.primary{background:var(--accent);color:var(--accent-ink)}.button.primary:hover:not(:disabled){background:var(--accent-hover)}.button.dark{background:var(--ink);color:var(--surface)}.button.dark:hover{background:#2b323a}.button.ghost{background:var(--surface-2);color:var(--ink)}.button.ghost:hover{background:#d3d6d0}.button.danger{background:var(--danger-soft);color:var(--danger)}.button.wide{width:100%}.text-button{color:var(--ink);font-size:var(--step-small);text-underline-offset:3px;background:0 0;border:0;padding:4px 0;font-weight:600;text-decoration:underline;text-decoration-thickness:1px}.text-button:hover{color:var(--muted)}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.examples{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:22px;display:grid}.examples button{text-align:left;border-radius:var(--radius);background:var(--surface-2);color:var(--ink);border:0;padding:12px 14px;font-weight:600;transition:background .16s}.examples button span{font-size:var(--step-small);color:var(--muted);margin-top:2px;font-weight:400;display:block}.examples button:hover:not(.selected):not(:disabled){background:#d3d6d0}.examples button.selected{background:var(--ink);color:var(--surface)}.examples button.selected span{color:#b7bdc3}.textarea-label{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.textarea-label label,.textarea-label strong{font-weight:600}.textarea-label span{font-size:var(--step-small);color:var(--muted)}.source-panel>textarea{resize:vertical;border-radius:var(--radius);background:var(--field);border:0;width:100%;min-height:240px;padding:14px 16px;line-height:1.9;display:block}.focus-source .chat,.focus-source>textarea{outline:2px solid var(--accent);outline-offset:2px}.input-foot{font-size:var(--step-small);color:var(--muted);justify-content:space-between;gap:10px;margin-top:8px;display:flex}.back-review{margin-top:10px}.privacy{font-size:var(--step-small);color:var(--muted);margin:18px 0 14px}.analyze{width:100%;height:48px}.model-status{text-align:center;font-size:var(--step-small);color:var(--muted);margin-top:10px}.chat{border-radius:var(--radius);background:var(--surface-2);flex-direction:column;gap:14px;max-height:480px;padding:18px 16px;display:flex;overflow:auto}.msg{opacity:.45;align-items:flex-start;gap:10px;transition:opacity .16s;display:flex}.msg.cited{opacity:1;cursor:pointer}.avatar{color:#fff;border-radius:9px;flex:none;place-items:center;width:34px;height:34px;font-size:14px;font-weight:600;display:grid}.msg-body{min-width:0}.msg-body small{font-size:var(--step-small);color:var(--muted);margin-bottom:4px;display:block}.bubble{background:var(--paper);word-break:break-word;border-radius:2px 10px 10px;max-width:100%;padding:8px 12px;line-height:1.65;transition:background .16s;display:inline-block}.msg.cited .bubble{background:var(--accent-soft)}.msg.active .bubble{background:var(--accent)}.cite-tag{color:var(--ink);margin-left:8px;font-weight:700}.msg-plain{font-size:var(--step-small);color:var(--muted)}.chat-hint{font-size:var(--step-small);color:var(--muted);margin:10px 0 0}.review-empty{flex-direction:column;justify-content:center;align-items:flex-start;gap:6px;min-height:380px;display:flex}.review-empty h3{font-size:var(--step-head);margin:6px 0 0;font-weight:650}.review-empty p{max-width:34ch;color:var(--muted);margin:0}.error{border-radius:var(--radius);background:var(--danger-soft);color:var(--danger);margin:0 0 16px;padding:10px 14px;font-size:14px}.draft-top{justify-content:space-between;align-items:center;margin:10px 0 18px;display:flex}.draft-kind{background:var(--surface-2);font-size:var(--step-small);border-radius:3px;padding:3px 8px;font-weight:600}.tabs{flex-wrap:wrap;gap:4px;margin-bottom:16px;display:flex}.tabs button{border-radius:var(--radius);color:var(--muted);background:0 0;border:0;padding:7px 12px;font-size:14px;transition:background .16s,color .16s}.tabs button:hover:not(.active){background:var(--surface-2);color:var(--ink)}.tabs button.active{background:var(--ink);color:var(--surface);font-weight:600}.field{font-size:var(--step-small);color:var(--muted);margin-bottom:16px;font-weight:600;display:block}.field em{color:var(--danger);margin-left:6px;font-style:normal}.field input,.field textarea,.field select{border-radius:var(--radius);background:var(--field);width:100%;min-width:0;color:var(--ink);font-size:var(--step-body);border:0;margin-top:6px;padding:10px 12px;font-weight:400;display:block}.field textarea{resize:vertical;min-height:72px;line-height:1.65}.field input:focus-visible,.field textarea:focus-visible,.field select:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.field-grid{grid-template-columns:1fr 1fr;gap:0 14px;display:grid}.evidence-list{margin:4px 0 18px}.evidence-head{font-size:var(--step-small);color:var(--muted);margin-bottom:4px;font-weight:600}.evidence-head span{margin-left:6px;font-weight:400}.ev-quote{border-radius:var(--radius);background:var(--field);text-align:left;border:0;gap:10px;width:100%;margin-top:6px;padding:10px 12px;line-height:1.6;transition:background .16s;display:flex}.ev-quote:hover{background:var(--accent-soft)}.ev-quote.active{background:var(--accent)}.ev-no{flex:none;width:16px;font-weight:700}.missing{border-left:4px solid var(--ink);border-radius:0 var(--radius) var(--radius) 0;background:var(--field);margin:0 0 18px;padding:12px 16px}.missing strong{font-size:14px}.missing ul{margin:6px 0 0;padding-left:18px;line-height:1.7}.link-note{border-radius:var(--radius);background:var(--surface-2);margin:0 0 16px;padding:8px 12px;font-size:14px}.review-actions{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.recent{margin-top:24px}.recent .panel-head{margin-bottom:10px}.recent-row{border-radius:var(--radius);text-align:left;background:0 0;border:0;grid-template-columns:1fr auto auto;align-items:center;gap:18px;width:calc(100% + 24px);margin:0 -12px;padding:14px 12px;transition:background .16s;display:grid}.recent-row:hover{background:var(--surface-2)}.recent-row strong{font-size:16px;font-weight:600;display:block}.recent-row small{font-size:var(--step-small);color:var(--muted);margin-top:2px;display:block}.recent-row small span{padding:0 4px}.row-owner{color:var(--muted);font-size:14px}.small-empty{color:var(--muted);padding:24px 0}.tag{font-size:var(--step-small);white-space:nowrap;border-radius:3px;padding:2px 8px;font-weight:600;line-height:1.6;display:inline-block}.tag-todo{background:var(--ink);color:var(--surface)}.tag-doing{background:var(--surface-2);color:var(--ink)}.tag-done{color:var(--muted);padding-left:0;padding-right:0;font-weight:400}.ledger{padding:0;overflow:hidden}.ledger-tools{justify-content:space-between;align-items:center;gap:16px;padding:20px 24px 12px;display:flex}.ledger-tools .tabs{margin:0}.search{border-radius:var(--radius);background:var(--field);min-width:280px;height:40px;color:var(--muted);align-items:center;gap:8px;padding:0 12px;display:flex}.search:focus-within{outline:2px solid var(--ink);outline-offset:1px}.search input{width:100%;color:var(--ink);background:0 0;border:0;outline:0}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th{text-align:left;font-size:var(--step-small);color:var(--muted);border-bottom:1px solid var(--line);padding:10px 24px;font-weight:600}td{vertical-align:top;border-bottom:1px solid var(--line);padding:14px 24px}tbody tr{transition:background .16s}tbody tr:hover{background:#edeeea}td small{margin-top:4px;display:block}.title-button{text-align:left;background:0 0;border:0;padding:0;font-size:16px;font-weight:600}.title-button:hover{text-underline-offset:3px;text-decoration:underline}.table-footer{font-size:var(--step-small);color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding:16px 24px;display:flex}.handoff-grid{grid-template-columns:1fr 280px;align-items:start;gap:24px;display:grid}.handoff-paper{background:var(--paper);border-radius:2px;padding:40px 44px}.paper-top{font-size:var(--step-small);color:var(--muted);justify-content:space-between;font-weight:600;display:flex}.handoff-paper h2{letter-spacing:-.01em;margin:18px 0 10px;font-size:28px;font-weight:650}.paper-fields{flex-wrap:wrap;gap:28px;margin-bottom:6px;display:flex}.handoff-paper>p{color:var(--muted);margin:0 0 24px;font-size:14px}.handoff-item{border-radius:var(--radius);background:#f4f5f2;grid-template-columns:28px 1fr;gap:10px;margin-top:10px;padding:18px 20px;display:grid}.handoff-number{font-size:var(--step-head);font-weight:700;line-height:1.3}.handoff-item h3{font-size:var(--step-lead);margin:0 0 6px;font-weight:650}.handoff-meta{color:var(--muted);margin-bottom:6px;font-size:14px;line-height:1.9}.handoff-meta .tag{margin-left:6px}.handoff-item p{margin:6px 0}.handoff-item b{margin-right:10px;font-weight:600}.handoff-item small{font-size:var(--step-small);color:var(--muted)}.paper-bottom{flex-wrap:wrap;gap:36px;margin-top:40px;display:flex}.handoff-side .panel{padding:24px}.handoff-side h3{font-size:var(--step-lead);margin:0 0 8px;font-weight:650}.handoff-side p{color:var(--muted);margin:0 0 16px;font-size:14px;line-height:1.7}.handoff-side .button{width:100%;margin-top:10px}.local-note p{font-size:var(--step-small);color:var(--muted);margin:0;padding:14px 4px}footer{font-size:var(--step-small);color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding:40px 0 48px;display:flex}footer button{font-size:var(--step-small);text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.modal-backdrop{z-index:50;background:#15191e73;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border-radius:6px;width:min(600px,100%);max-height:88vh;padding:32px;position:relative;overflow:auto;box-shadow:0 24px 60px #15191e47}.modal .close{position:absolute;top:14px;right:14px}.modal h2{margin:0 0 18px;padding-right:40px;font-size:22px;font-weight:650}.modal h2 .meta{margin-left:8px;font-weight:400}.modal p{margin:0 0 12px;line-height:1.7}.modal h3{margin:22px 0 8px;font-size:16px;font-weight:650}.about-steps p b{margin-right:10px}details.evidence{margin:4px 0 16px}details.evidence summary{cursor:pointer;font-size:14px;font-weight:600}details.evidence blockquote{border-radius:var(--radius);background:var(--accent-soft);margin:8px 0 0;padding:8px 12px}.history p{border-left:4px solid var(--surface-2);color:var(--muted);margin:6px 0;padding-left:12px;font-size:14px}.setting-row{border-radius:var(--radius);background:var(--surface-2);justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px;padding:14px 16px;display:flex}.setting-row strong{font-weight:600}.setting-row p{color:var(--muted);margin:4px 0 0;font-size:14px}.toast{z-index:60;border-radius:var(--radius);background:var(--ink);color:var(--surface);padding:12px 18px;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #15191e40}@media (width<=900px){.appbar{gap:20px;padding:0 20px}.brand span{display:none}.work-grid,.handoff-grid{grid-template-columns:1fr}.page-heading{flex-direction:column;align-items:flex-start}.review-empty{min-height:220px}.ledger-tools{flex-direction:column;align-items:stretch}.search{min-width:0}}@media (width<=650px){.appbar{height:56px;padding:0 16px}.saved{display:none}.tabs-nav{z-index:40;padding-bottom:env(safe-area-inset-bottom);background:var(--surface);grid-template-columns:repeat(3,1fr);gap:0;display:grid;position:fixed;bottom:0;left:0;right:0}.tabs-nav button{border-bottom:0;flex-direction:column;justify-content:center;gap:3px;height:60px;padding:0;font-size:12px}.tabs-nav button svg{display:block}.tabs-nav button.active{border-bottom:0;border-top-color:var(--ink)}.tabs-nav em{position:absolute;top:7px;left:calc(50% + 8px)}main{padding-bottom:80px}.content{padding:24px 16px 0}.page-heading{margin-bottom:22px}.panel{padding:20px 16px}.examples button{padding:10px;font-size:14px}.chat{max-height:none}input,textarea,select,.field input,.field textarea,.field select,.source-panel>textarea{font-size:16px}.field-grid{grid-template-columns:1fr}.review-actions{flex-wrap:wrap}.review-actions .button{flex:1}.recent-row{grid-template-columns:1fr auto}.row-owner{display:none}th,td{padding-left:16px;padding-right:16px}.ledger-tools{padding:16px 16px 10px}.handoff-paper{padding:24px 18px}.handoff-item{padding:14px}.paper-bottom{flex-direction:column;gap:14px}footer{flex-direction:column;align-items:flex-start}}@media print{.appbar,.tabs-nav,footer,.page-heading,.handoff-side,.toast{display:none!important}body{background:#fff}.content{max-width:none;padding:0}.handoff-grid{display:block}.handoff-paper{padding:0}.handoff-item{background:0 0;padding:12px 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
