html,body,#root{min-height:100%;margin:0}body{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--bg:#f7f7f5;--panel:#fff;--text:#1e1e1c;--text-dim:#6b6a66;--border:#e2e0da;--accent:#b5651d;--ok:#1a7f37;--warn:#9a6700;--block:#c62828}@media (prefers-color-scheme:dark){:root{--bg:#17181a;--panel:#1f2023;--text:#ececea;--text-dim:#9a9a96;--border:#33343780;--accent:#d98a4f;--ok:#3fb950;--warn:#d4a72c;--block:#f85149}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:-apple-system,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}.page{min-height:100vh;position:relative}.settings-toggle{z-index:20;border:1px solid var(--border);background:var(--panel);width:2.2rem;height:2.2rem;color:var(--text);cursor:pointer;border-radius:50%;font-size:1rem;position:fixed;top:1rem;right:1rem}.settings-pop{z-index:20;background:var(--panel);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:.7rem;width:240px;padding:1rem;display:flex;position:fixed;top:3.4rem;right:1rem;box-shadow:0 8px 24px #0000001f}.settings-pop label{color:var(--text-dim);flex-direction:column;gap:.25rem;font-size:.82rem;display:flex}.settings-pop select,.settings-pop input{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:.35rem .5rem}.settings-pop .health{color:var(--text-dim);margin:0;font-size:.72rem}.landing{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.landing h1{letter-spacing:.05em;margin:0 0 .5rem;font-size:2rem}.landing-sub{color:var(--text-dim);margin:0 0 2rem}.landing-testcase-note{color:var(--text-dim);margin:-1.5rem 0 1rem;font-size:.85rem;font-style:italic}.landing-form{flex-direction:column;gap:1rem;width:min(640px,100%);display:flex}.landing-form textarea{font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--border);resize:vertical;border-radius:12px;padding:1rem 1.1rem;font-size:1.05rem;box-shadow:0 4px 18px #0000000f}.landing-form textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.landing-form button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:999px;align-self:center;padding:.65rem 2.2rem;font-size:1rem}.landing-form button:disabled{opacity:.5;cursor:not-allowed}.landing-history-link{color:var(--text-dim);margin-top:1.5rem;font-size:.85rem;text-decoration:none}.landing-history-link:hover{color:var(--accent)}.history-page{max-width:720px;margin:0 auto;padding:1.5rem 1.25rem 4rem}.history-header{justify-content:space-between;align-items:baseline;margin-bottom:1.25rem;display:flex}.history-header h1{margin:0;font-size:1.3rem}.history-header a{color:var(--text-dim);font-size:.85rem;text-decoration:none}.history-header a:hover{color:var(--accent)}.history-list{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.history-item a{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:10px;align-items:center;gap:.75rem;padding:.75rem .9rem;text-decoration:none;display:flex}.history-item a:hover{border-color:var(--accent)}.history-status{color:var(--text-dim);white-space:nowrap;flex-shrink:0;font-size:.78rem}.history-preview{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.88rem;overflow:hidden}.history-time{color:var(--text-dim);white-space:nowrap;flex-shrink:0;font-size:.75rem}.conversation{flex-direction:column;gap:1.25rem;max-width:860px;margin:0 auto;padding:1.5rem 1.25rem 6rem;display:flex}.conv-header{z-index:10;background:var(--bg);padding-top:.5rem;padding-bottom:.5rem;position:sticky;top:0}.plan{background:var(--panel);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;gap:.5rem 1.25rem;margin:0;padding:.75rem 1rem;list-style:none;display:flex}.plan-item{color:var(--text-dim);align-items:center;gap:.4rem;font-size:.8rem;display:flex}.plan-icon{border:1px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.3rem;height:1.3rem;font-size:.75rem;display:inline-flex}.plan-name{color:var(--text);white-space:nowrap}.plan-tag{border:1px solid var(--border);border-radius:999px;padding:.05rem .4rem;font-size:.7rem}.plan-unimplemented{opacity:.45}.plan-running .plan-icon{border-color:var(--accent);color:var(--accent)}.plan-done .plan-icon{border-color:var(--ok);color:var(--ok);background:color-mix(in srgb, var(--ok) 15%, transparent)}.plan-needs_input .plan-icon{border-color:var(--warn);color:var(--warn)}.plan-blocked .plan-icon{border-color:var(--block);color:var(--block)}.transcript{flex-direction:column;gap:.75rem;display:flex}.turn{flex-direction:column;gap:.6rem;display:flex}.turn-divider{color:var(--text-dim);border:1px dashed var(--border);border-radius:999px;align-self:center;margin:.5rem 0;padding:.2rem .8rem;font-size:.75rem}.bubble{border:1px solid var(--border);background:var(--panel);border-radius:10px;padding:.75rem .9rem;font-size:.9rem;line-height:1.55}.bubble-label{color:var(--text-dim);margin-bottom:.3rem;font-size:.75rem;font-weight:600}.bubble-sub{color:var(--text-dim);margin-bottom:.4rem;font-size:.75rem}.bubble-text{white-space:pre-wrap}.markdown-body{font-size:.9rem;line-height:1.6}.markdown-body>:first-child{margin-top:0}.markdown-body>:last-child{margin-bottom:0}.markdown-body h1,.markdown-body h2,.markdown-body h3{color:var(--text);margin:.9rem 0 .4rem;font-size:.95rem;font-weight:700}.markdown-body p{margin:.5rem 0}.markdown-body ul,.markdown-body ol{margin:.4rem 0;padding-left:1.4rem}.markdown-body li{margin:.2rem 0}.markdown-body li>p{margin:0}.markdown-body strong{font-weight:700}.markdown-body code{background:color-mix(in srgb, var(--text) 8%, transparent);border-radius:4px;padding:.05rem .3rem;font-size:.85em}.markdown-body a{color:var(--accent)}.bubble-pre{white-space:pre-wrap;word-break:break-word;color:var(--text-dim);margin:0;font-size:.78rem}.bubble-user{background:color-mix(in srgb, var(--accent) 10%, var(--panel));border-color:color-mix(in srgb, var(--accent) 35%, var(--border))}.bubble-assistant{background:var(--panel)}.bubble-tool{border-style:dashed}.bubble-tool-return{color:var(--text-dim);background:0 0;border:none;padding:0 .2rem;font-size:.78rem}.bubble-tool-call-single summary{cursor:pointer;align-items:center;gap:.4rem;font-size:.85rem;display:flex}.tool-call-single-icon{flex-shrink:0}.tool-call-status-calling .tool-call-single-icon{color:var(--warn)}.tool-call-status-retry .tool-call-single-icon{color:var(--block)}.tool-call-status-done .tool-call-single-icon{color:var(--ok)}.tool-call-detail-body{margin-top:.5rem}.tool-call-detail-status{color:var(--text-dim);margin:.3rem 0;font-size:.8rem}.tool-call-detail-status-warn{color:var(--warn)}.search-result-summary-line{color:var(--text-dim);margin:.4rem 0 .3rem;font-size:.78rem}.search-result-query{margin:.5rem 0;font-size:.78rem}.search-result-query code{background:color-mix(in srgb, var(--text) 6%, transparent);word-break:break-word;white-space:pre-wrap;color:var(--text);border-radius:6px;margin-top:.2rem;padding:.35rem .5rem;display:block}.search-result-empty{color:var(--text-dim);margin:.4rem 0 0;font-size:.82rem}.search-result-papers{flex-direction:column;gap:.5rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.search-result-paper{border-top:1px dashed var(--border);padding-top:.5rem}.search-result-paper-title{font-size:.85rem;font-weight:600}.search-result-paper-meta{color:var(--text-dim);margin:.15rem 0 .3rem;font-size:.72rem}.search-result-paper-meta a{color:var(--accent)}.search-result-paper-abstract{color:var(--text-dim);margin:0;font-size:.8rem;line-height:1.55}.bubble-retry{border-color:var(--warn);background:color-mix(in srgb, var(--warn) 8%, transparent)}.bubble-thinking summary,.bubble-raw summary,.bubble-details summary{cursor:pointer;color:var(--text-dim);font-size:.78rem}.bubble-details{margin-top:.4rem}.thinking-live-dots{vertical-align:middle;align-items:center;gap:3px;margin-left:.5rem;display:inline-flex}.thinking-live-dots .dot{width:4px;height:4px}.thinking-indicator{color:var(--text-dim);align-items:center;gap:.4rem;padding:.4rem .2rem;font-size:.85rem;display:flex}.dot{background:var(--text-dim);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite pulse}.dot:nth-child(2){animation-delay:.2s}.dot:nth-child(3){animation-delay:.4s}@keyframes pulse{0%,80%,to{opacity:.25}40%{opacity:1}}.alert{border-radius:6px;padding:.75rem 1rem;font-size:.9rem}.alert-block{background:color-mix(in srgb, var(--block) 12%, transparent);color:var(--block);border:1px solid var(--block)}.clarify-card{border:1px solid var(--warn);background:color-mix(in srgb, var(--warn) 8%, transparent);border-radius:10px;padding:.9rem 1rem}.clarify-head{color:var(--warn);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.4rem;font-size:.75rem;font-weight:700}.clarify-question{margin:0 0 .7rem;font-weight:600}.chip-row{flex-wrap:wrap;gap:.5rem;margin-bottom:.7rem;display:flex}.chip{border:1px solid var(--warn);background:var(--panel);color:var(--text);cursor:pointer;text-align:left;border-radius:999px;padding:.35rem .85rem;font-size:.85rem}.chip:hover:not(:disabled){background:color-mix(in srgb, var(--warn) 15%, transparent)}.chip:disabled{opacity:.5;cursor:not-allowed}.clarify-freetext{gap:.5rem;display:flex}.clarify-freetext input{font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--border);border-radius:6px;flex:1;padding:.4rem .6rem}.clarify-freetext button{background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:6px;padding:.4rem .9rem}.clarify-freetext button:disabled{opacity:.5;cursor:not-allowed}.result-summary{border:1px solid var(--border);background:var(--panel);border-radius:10px;padding:.85rem 1rem;font-size:.88rem}.result-summary.tone-ok{border-color:var(--ok)}.result-summary.tone-warn{border-color:var(--warn)}.result-summary.tone-block{border-color:var(--block)}.status-badge{border-radius:999px;margin-bottom:.5rem;padding:.2rem .6rem;font-size:.78rem;font-weight:700;display:inline-block}.tone-ok .status-badge{color:var(--ok);background:color-mix(in srgb, var(--ok) 15%, transparent)}.tone-warn .status-badge{color:var(--warn);background:color-mix(in srgb, var(--warn) 18%, transparent)}.tone-block .status-badge{color:var(--block);background:color-mix(in srgb, var(--block) 15%, transparent)}.result-summary .note{color:var(--text-dim);margin:0 0 .6rem;line-height:1.5}.summary-field{gap:.5rem;margin-bottom:.6rem;font-size:.85rem;display:flex}.summary-field-block{margin-bottom:.6rem;font-size:.85rem;display:block}.summary-field-block>.summary-label{margin-bottom:.3rem;display:block}.summary-field-block .markdown-body{font-size:.85rem}.summary-field-block .markdown-body p{margin:0 0 .5rem}.summary-field-block .markdown-body p:last-child{margin-bottom:0}.summary-label{color:var(--text-dim);flex-shrink:0;font-weight:600}.fields{grid-template-columns:auto 1fr;gap:.3rem .75rem;margin:0;font-size:.85rem;display:grid}.fields dt{color:var(--text-dim);white-space:nowrap}.fields dd{margin:0}.restart-btn{border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;border-radius:999px;align-self:center;margin-top:.5rem;padding:.5rem 1.4rem;text-decoration:none;display:inline-block}.retry-btn{border:1px dashed var(--border);color:var(--text-dim);cursor:pointer;font:inherit;background:0 0;border-radius:999px;align-self:center;margin-top:.5rem;padding:.5rem 1.4rem;font-size:.85rem;text-decoration:none;display:inline-block}.retry-btn:hover{border-color:var(--accent);color:var(--accent)}.next-step-btn{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;font-weight:600;font:inherit;border-radius:999px;align-self:center;margin-top:.5rem;padding:.55rem 1.6rem;text-decoration:none;display:inline-block}.next-step-btn:disabled{opacity:.45;cursor:not-allowed;border-color:var(--border);background:var(--panel);color:var(--text-dim)}.phenomenon-recap{border:1px dashed var(--border);color:var(--text-dim);border-radius:10px;padding:.7rem 1rem;font-size:.85rem}.phenomenon-recap p{color:var(--text);margin:.3rem 0 0}.theory-directions{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.theory-direction-card{border:1px solid var(--border);background:color-mix(in srgb, var(--accent) 4%, var(--panel));border-radius:8px;align-items:flex-start;gap:.6rem;padding:.6rem .85rem;display:flex}.theory-direction-card.selected{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--panel))}.theory-direction-checkbox{width:1.1rem;height:1.1rem;accent-color:var(--accent);cursor:pointer;flex-shrink:0;margin-top:.2rem}.theory-direction-body{flex:1;min-width:0}.theory-direction-name{margin-bottom:.3rem;font-size:.88rem;font-weight:700}.theory-direction-rationale{color:var(--text-dim);margin:0;font-size:.84rem;line-height:1.5}.research-question-card{border:1px solid var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--panel));border-radius:10px;margin:.5rem 0;padding:.75rem 1rem}.research-question-text{margin:.35rem 0 0;font-size:.95rem;font-weight:600;line-height:1.55}.problematization-card{border-top:1px dashed var(--border);margin-top:.6rem;padding-top:.6rem}.assumption-type-badge{background:color-mix(in srgb, var(--accent) 16%, var(--panel));color:var(--accent);border-radius:999px;padding:.1rem .55rem;font-size:.78rem;font-weight:600;display:inline-block}.theoretical-grounding-card{border:1px solid var(--border);background:color-mix(in srgb, var(--accent) 4%, var(--panel));border-radius:10px;margin:.5rem 0;padding:.75rem 1rem}.examined-directions-label{margin:.75rem 0 .5rem;display:block}.direction-records{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.direction-record{border:1px solid var(--border);background:var(--panel);border-radius:8px;padding:.65rem .85rem}.direction-record.tone-strong{border-left:3px solid var(--accent)}.direction-record.tone-weak{border-left:3px solid var(--warn)}.direction-record.tone-fault{border-left:3px solid var(--block)}.direction-record-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;display:flex}.direction-record-name{font-size:.88rem;font-weight:700}.hit-level-badge{border:1px solid var(--border);color:var(--text-dim);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:.1rem .5rem;font-size:.72rem}.direction-record-verdict{margin:.35rem 0 0;font-size:.85rem;line-height:1.5}.direction-record-verdict .markdown-body p{margin:0 0 .5rem}.direction-record-verdict .markdown-body p:last-child{margin-bottom:0}.queries-tried{margin-top:.4rem;font-size:.78rem}.queries-tried summary{cursor:pointer;color:var(--text-dim)}.queries-tried ol{margin:.3rem 0 0;padding-left:1.2rem}.queries-tried code{background:color-mix(in srgb, var(--text) 6%, transparent);word-break:break-word;border-radius:4px;padding:.05rem .3rem;font-size:.76rem}.cited-evidence-list{flex-direction:column;gap:.4rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.cited-evidence-item{border-top:1px dashed var(--border);padding-top:.4rem}.cited-evidence-title{font-size:.82rem;font-weight:600}.cited-evidence-meta{color:var(--text-dim);margin:.1rem 0 .25rem;font-size:.74rem}.cited-evidence-snippet{color:var(--text-dim);margin:0;font-size:.8rem;line-height:1.5}.cited-evidence-tag{color:var(--accent);border:1px solid var(--accent);vertical-align:middle;border-radius:4px;margin-right:.4rem;padding:0 .3rem;font-size:.68rem;font-weight:600;display:inline-block}.cited-evidence-abstract-details{margin-top:.35rem;font-size:.78rem}.cited-evidence-abstract-details summary{cursor:pointer;color:var(--text-dim)}.cited-evidence-abstract{color:var(--text-dim);margin:.3rem 0 0;font-style:italic;line-height:1.55}.candidate-cards{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.candidate-card{border:1px solid var(--border);background:var(--panel);border-radius:8px;padding:.75rem .9rem}.candidate-card.candidate-selected{border:1px solid var(--accent);border-left:3px solid var(--accent)}.candidate-card-header{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.candidate-rank{color:var(--text-dim);font-family:monospace;font-size:.8rem}.candidate-name{font-size:.92rem;font-weight:700}.candidate-tag{border-radius:999px;padding:.1rem .5rem;font-size:.72rem;font-weight:600}.candidate-tag-selected{background:color-mix(in srgb, var(--accent) 18%, var(--panel));color:var(--accent)}.candidate-tag-tied{background:color-mix(in srgb, var(--warn) 16%, var(--panel));color:var(--warn)}.candidate-theory-elements{border-bottom:1px dashed var(--border);margin-bottom:.6rem;padding-bottom:.5rem}.virtue-scores{border-top:1px dashed var(--border);margin:.6rem 0;padding-top:.5rem}.virtue-scores-row{flex-wrap:wrap;gap:.5rem;margin:.3rem 0 .4rem;display:flex}.virtue-score{border:1px solid var(--border);color:var(--text-dim);border-radius:6px;padding:.1rem .5rem;font-family:monospace;font-size:.78rem}.revision-round-tag{color:var(--warn);border:1px solid var(--warn);border-radius:999px;margin-bottom:.5rem;padding:.1rem .6rem;font-size:.78rem;font-weight:600;display:inline-block}.verdict-badge{vertical-align:middle;border-radius:999px;margin-left:.4rem;padding:.1rem .5rem;font-size:.72rem;font-weight:600;display:inline-block}.verdict-badge.tone-ok{background:color-mix(in srgb, var(--ok) 16%, var(--panel));color:var(--ok)}.verdict-badge.tone-warn{background:color-mix(in srgb, var(--warn) 16%, var(--panel));color:var(--warn)}.verdict-badge.tone-block{background:color-mix(in srgb, var(--block) 16%, var(--panel));color:var(--block)}.interrogation-records{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.interrogation-record{border:1px solid var(--border);background:var(--panel);border-radius:8px;padding:.65rem .85rem}.interrogation-record.tone-ok{border-left:3px solid var(--ok)}.interrogation-record.tone-warn{border-left:3px solid var(--warn)}.interrogation-record.tone-block{border-left:3px solid var(--block)}.interrogation-question{margin:.3rem 0;font-size:.88rem;font-weight:600}.unanswered-weaknesses{color:var(--text-dim);margin:.3rem 0 0;padding-left:1.2rem;font-size:.85rem;line-height:1.6}.loop-history{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.loop-history-item{border:1px solid var(--border);background:var(--panel);border-radius:8px;padding:.5rem .75rem;font-size:.85rem}.loop-history-item.tone-ok{border-left:3px solid var(--ok)}.loop-history-item.tone-warn{border-left:3px solid var(--warn)}.loop-history-item.tone-block{border-left:3px solid var(--block)}.loop-back-instruction{color:var(--text-dim);margin:.3rem 0 0;line-height:1.5}.round-divider{color:var(--text-dim);align-items:center;gap:.5rem;margin:1rem 0 .5rem;font-size:.8rem;font-weight:600;display:flex}.round-divider:before,.round-divider:after{content:"";background:var(--border);flex:1;height:1px}.report-body{max-width:100%;font-size:.92rem;line-height:1.7}.report-body h1{border-bottom:2px solid var(--accent);margin:0 0 1rem;padding-bottom:.5rem;font-size:1.3rem;font-weight:800}.report-body h2{color:var(--accent);margin:1.6rem 0 .6rem;font-size:1.08rem;font-weight:700}.report-body h3{margin:1.1rem 0 .4rem;font-size:.98rem;font-weight:700}.report-body p{margin:.6rem 0}.report-body ul,.report-body ol{margin:.5rem 0;padding-left:1.5rem}.report-body li{margin:.25rem 0}.report-body strong{font-weight:700}.report-body hr{border:none;border-top:1px dashed var(--border);margin:1.5rem 0}.report-body code{background:color-mix(in srgb, var(--text) 8%, transparent);border-radius:4px;padding:.05rem .3rem;font-size:.85em}.report-body a{color:var(--accent)}.report-body table{border-collapse:collapse;width:100%;margin:.75rem 0;font-size:.85rem;display:block;overflow-x:auto}.report-body th,.report-body td{border:1px solid var(--border);text-align:left;padding:.4rem .6rem}.report-body th{background:color-mix(in srgb, var(--accent) 8%, var(--panel));font-weight:700}.mermaid-diagram{border:1px solid var(--border);background:var(--panel);border-radius:8px;justify-content:center;margin:.75rem 0;padding:.75rem;display:flex;overflow-x:auto}.mermaid-diagram svg{max-width:100%;height:auto}.mermaid-fallback{border:1px dashed var(--border);color:var(--text-dim);white-space:pre-wrap;word-break:break-word;border-radius:8px;margin:.75rem 0;padding:.6rem .8rem;font-size:.78rem}
