:root{--bg:#f6f7f4;--paper:#fff;--ink:#242b28;--muted:#59645e;--line:#dce2dc;--green:#226348;--light:#eaf1eb;--error:#9d322b;--radius:7px;font-family:Inter,"Segoe UI",system-ui,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;font-size:14px;line-height:1.6}button,input,textarea,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:5px;background:var(--paper);color:var(--ink);padding:9px 14px;line-height:1.3}button:hover{background:var(--light);border-color:#abbcaf}button:disabled{opacity:.55;cursor:wait}button.primary{background:var(--green);border-color:var(--green);color:#fff}button.primary:hover{background:#194b36}button.quiet{border-color:transparent;background:transparent}button.small{padding:6px 10px;font-size:12px}a{color:var(--green);text-underline-offset:3px}input,select,textarea{width:100%;border:1px solid #bac5bd;border-radius:5px;padding:10px 12px;background:var(--paper);color:var(--ink);caret-color:var(--green)}textarea{resize:vertical;min-height:100px}input::placeholder,textarea::placeholder{color:#657168;opacity:1}label{display:grid;gap:6px;font-weight:600;font-size:13px}label small{font-weight:400;color:var(--muted)}:focus-visible{outline:3px solid #6a9f7b;outline-offset:3px}::selection{background:#c9e3d1;color:#183b29}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(26px,2.5vw,34px);font-weight:650;line-height:1.2;letter-spacing:-.025em;margin-bottom:12px}h2{font-size:20px;font-weight:650;line-height:1.35}h3{font-size:15px;font-weight:650}small,.muted{color:var(--muted)}.mono{font-variant-numeric:tabular-nums}.brand{display:flex;gap:11px;align-items:center;color:var(--ink);font-weight:700;font-size:17px;letter-spacing:-.025em}.brand svg{width:29px;height:29px;color:var(--green)}.brand span small{display:block;font-size:11px;line-height:1.3;letter-spacing:.08em;font-weight:600}.shell{display:grid;grid-template-columns:226px minmax(0,1fr);min-height:100vh}.sidebar{padding:29px 20px 22px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:28px;background:#f0f3ef}.sidebar nav{display:grid;gap:6px}.nav-label{font-size:12px;color:var(--muted);margin-bottom:8px}.world-button{text-align:left;background:transparent;border-color:transparent;padding:12px 10px;overflow-wrap:anywhere}.world-button.active{background:#dde9df;border-color:#cfddcf;color:#17482e;font-weight:650}.sidebar .new{margin-top:8px;border-style:dashed;background:transparent}.budget{margin-top:auto;padding-top:20px;border-top:1px solid var(--line);font-size:12px}.budget strong{font-weight:650;color:var(--ink);font-size:15px}.budget progress{display:block;width:100%;height:5px;margin:10px 0;accent-color:var(--green)}.budget .warning{color:var(--error)}.sidebar footer{display:grid;gap:10px;font-size:11px;color:var(--muted)}.sidebar footer button{text-align:left;padding:0;color:var(--muted)}.workspace{padding:30px clamp(22px,3vw,48px) 36px;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:36px}.topbar .path{font-size:12px;color:var(--muted)}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.world-header{max-width:950px;margin-bottom:25px}.world-header .lead{font-size:16px;color:#49564e;max-width:75ch;margin-bottom:14px}.question-line{font-size:14px;color:var(--ink);margin-bottom:8px}.version{font-size:12px;color:var(--muted)}.tabs{display:flex;gap:25px;border-bottom:1px solid var(--line);margin-bottom:25px;overflow:auto}.tabs button{border:0;border-radius:0;padding:12px 0 13px;background:transparent;white-space:nowrap;color:var(--muted)}.tabs button.active{border-bottom:2px solid var(--green);font-weight:650;color:var(--green)}.filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:20px}.filters label{font-weight:500;font-size:12px}.filters select{font-size:13px;padding:8px}.analysis-grid{display:grid;grid-template-columns:185px minmax(0,1fr);gap:25px;min-height:440px}.thread-list{border-right:1px solid var(--line);padding-right:17px}.thread-list>button:first-child{width:100%;margin-bottom:20px}.thread-button{display:block;text-align:left;width:100%;padding:10px 9px;border:0;border-radius:4px;background:transparent;margin-bottom:6px;font-size:13px;overflow-wrap:anywhere}.thread-button small{display:block;font-size:11px;margin-top:4px}.thread-button.active{background:var(--light);color:#194c31}.conversation{min-width:0;max-width:850px}.conversation-header{display:flex;justify-content:space-between;gap:15px;align-items:start;margin-bottom:22px}.conversation-header h2{margin-bottom:4px}.empty-analysis{padding:28px 0 12px;max-width:660px}.empty-analysis h2{font-size:25px;letter-spacing:-.02em;max-width:22ch;margin-bottom:15px}.empty-analysis p{max-width:65ch;color:var(--muted)}.suggestions{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0}.suggestions button{font-size:12px;background:transparent}.composer{background:var(--paper);border:1px solid #bdcbbf;border-radius:var(--radius);padding:15px;margin-top:24px;box-shadow:0 4px 14px #263a2910}.composer textarea{border:0;padding:0;min-height:90px;outline-offset:5px}.compose-bottom{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-top:10px}.compose-bottom small{font-size:11px;max-width:46ch}.composer .topic{max-width:240px;margin-bottom:14px}.messages{display:grid;gap:24px}.message{max-width:75ch;overflow-wrap:anywhere}.message.user{background:#eaf0e9;padding:16px 18px;border-radius:7px;margin-left:30px}.message .byline{font-size:11px;color:var(--muted);margin-bottom:9px;display:flex;justify-content:space-between;gap:12px}.answer{white-space:pre-wrap;line-height:1.85;font-size:14px}.answer h3{margin:18px 0 5px;font-size:15px}.citation{display:inline-block;border:1px solid #c5d8ca;background:#edf4ee;color:#21573b;border-radius:4px;padding:1px 6px;font-size:11px;vertical-align:baseline;margin:0 2px}.source-buttons{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0 10px}.source-buttons button{max-width:250px;font-size:11px;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:5px 8px}.save-finding{border-top:1px solid var(--line);margin-top:15px;padding-top:12px}.save-finding summary{color:var(--green);font-size:12px;cursor:pointer}.save-form{display:grid;gap:12px;margin:14px 0}.waiting{padding:20px 0;color:var(--muted)}.waiting::before{content:"";display:inline-block;width:12px;height:12px;border:2px solid #c5d8ca;border-top-color:var(--green);border-radius:50%;animation:spin 1s linear infinite;margin-right:10px}@keyframes spin{to{transform:rotate(360deg)}}.error{padding:13px 16px;background:#fcf0ed;border:1px solid #e7c6be;border-radius:5px;color:#7b2b23;margin:15px 0;overflow-wrap:anywhere}.evidence{margin-top:28px;padding:25px;background:#eef2ec;border:1px solid #d7e0d4;border-radius:7px}.evidence .heading{display:flex;justify-content:space-between;gap:15px}.evidence .locator{font-size:11px;overflow-wrap:anywhere;margin-bottom:15px;color:var(--muted)}.evidence pre{font:inherit;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;margin:15px 0 0;max-height:450px;overflow:auto}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:13px}th{font-weight:550;color:var(--muted);font-size:11px;border-bottom:1px solid #bac5bd;padding:12px 13px}td{padding:15px 13px;border-bottom:1px solid var(--line);vertical-align:top}td:first-child{padding-left:0}td small{display:block;max-width:45ch}.section-note{font-size:13px;color:var(--muted);max-width:75ch;margin:20px 0}.source-search{display:flex;gap:10px;margin:28px 0 18px}.source-result{display:block;width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:18px 0;text-align:left}.source-result strong{display:block;margin:5px 0}.source-result p{color:var(--muted);font-size:13px;margin:0}.source-result small{font-size:11px}.findings{display:grid;gap:28px;max-width:900px}.finding{padding-bottom:28px;border-bottom:1px solid var(--line)}.finding h2{margin-bottom:6px}.finding .byline{font-size:12px;color:var(--muted);margin-bottom:18px}.comment{padding:14px 0 8px;margin-left:15px;border-top:1px solid var(--line)}.comment p{white-space:pre-wrap;font-size:13px;margin:5px 0}.comment-form{display:grid;grid-template-columns:160px minmax(0,1fr) auto;gap:10px;margin-top:15px;align-items:end}.comment-form textarea{min-height:44px;height:44px}.comment-form input{padding:9px}.form-page{max-width:850px}.form-page>form{display:grid;gap:23px}.form-page .intro{max-width:66ch;color:var(--muted);margin-bottom:28px}.simulation-picker{border-top:1px solid var(--line)}.simulation-option{display:grid;grid-template-columns:20px minmax(0,1fr);gap:14px;align-items:start;font-weight:400;border-bottom:1px solid var(--line);padding:17px 0}.simulation-option input{width:17px;height:17px;accent-color:var(--green);margin-top:5px}.simulation-option strong{display:block;overflow-wrap:anywhere}.simulation-option small{display:block;font-size:12px;margin-top:4px}.form-buttons{display:flex;gap:10px;justify-content:flex-end}.share-box{padding:20px;background:var(--light);border:1px solid #c5d8ca;border-radius:6px;margin-bottom:25px;max-width:850px}.share-box p{font-size:13px;max-width:65ch;margin-bottom:12px}.share-box input{margin:8px 0 12px;font-size:12px}.login{max-width:470px;margin:12vh auto;padding:32px}.login .brand{margin-bottom:45px}.login h1{font-size:32px}.login p{color:var(--muted)}.login form{display:grid;gap:20px;margin-top:28px}.login input{font-size:14px}.welcome{padding:45px 0;max-width:680px}.welcome h1{font-size:36px;max-width:21ch}.welcome p{font-size:16px;color:var(--muted);max-width:60ch}.welcome button{margin-top:18px}#notice{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#263e2c;color:#fff;padding:12px 20px;border-radius:6px;box-shadow:0 5px 18px #0002;z-index:10;max-width:90vw}#notice:empty{display:none}*{scrollbar-width:thin;scrollbar-color:#afbdaf transparent}@media(min-width:1600px){.conversation{max-width:1000px}.workspace{padding-right:5vw}}@media(max-width:1100px){.shell{grid-template-columns:190px minmax(0,1fr)}.sidebar{padding:25px 14px}.workspace{padding:25px}.analysis-grid{grid-template-columns:145px minmax(0,1fr);gap:18px}.filters{gap:8px}.comment-form{grid-template-columns:1fr 2fr}.comment-form button{grid-column:2;justify-self:end}}@media(max-width:760px){.shell{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--line);padding:16px 20px;display:grid;grid-template-columns:1fr auto;gap:12px}.sidebar nav{grid-column:1/-1;display:flex;gap:6px;overflow:auto;max-height:110px}.nav-label,.sidebar footer,.budget progress,.budget p{display:none}.sidebar .new{white-space:nowrap;margin:0}.world-button{white-space:nowrap;padding:8px 10px}.budget{border:0;padding:0;margin:0;font-size:10px}.budget strong{font-size:12px}.workspace{padding:22px 18px}.topbar{margin-bottom:24px;align-items:start}.topbar .actions button{font-size:12px;padding:7px 9px}.world-header .lead{font-size:14px}.tabs{gap:22px}.filters{grid-template-columns:1fr}.filters label{grid-template-columns:100px 1fr;align-items:center}.analysis-grid{display:block}.thread-list{border:0;padding:0 0 15px;display:flex;gap:7px;overflow:auto;border-bottom:1px solid var(--line);margin-bottom:22px}.thread-list>button:first-child{width:auto;flex-shrink:0;margin:0}.thread-button{min-width:130px;max-width:200px;padding:7px;margin:0}.thread-button small{display:none}.empty-analysis{padding:12px 0}.empty-analysis h2{font-size:23px}.conversation-header{display:block}.message.user{margin-left:12px}.compose-bottom{align-items:end}.compose-bottom small{font-size:10px}.evidence{padding:17px}.comment-form{grid-template-columns:1fr}.comment-form button{grid-column:1}.login{margin:5vh auto;padding:25px}.form-page .simulation-option{padding:14px 0}.source-search{flex-wrap:wrap}.source-search input{flex:1;min-width:160px}.version{font-size:11px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

@media(min-width:1101px){.analysis-grid.with-evidence{grid-template-columns:150px minmax(320px,1fr) 290px;gap:22px}.analysis-grid>.evidence{margin-top:0;padding:18px;align-self:start;position:sticky;top:20px}.analysis-grid>.evidence h2{font-size:16px}.analysis-grid>.evidence .heading{display:block}.analysis-grid>.evidence .heading button{margin-bottom:12px}.analysis-grid>.evidence pre{max-height:65vh}}
@media(min-width:761px) and (max-width:1100px){.analysis-grid>.evidence{grid-column:2}}

/* Context stays available without displacing the analysis workspace. */
.world-header{margin-bottom:14px}
.world-header h1{font-size:24px;margin-bottom:8px}
.world-header .question-line{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;max-height:3.2em;margin-bottom:5px}
.world-context{margin-top:8px;font-size:12px}
.world-context summary{display:list-item;width:fit-content;color:var(--green);cursor:pointer;padding:3px 0}
.world-context[open] summary{margin-bottom:8px}
.context-body{max-height:240px;overflow:auto;padding:14px 16px;background:var(--paper);border:1px solid var(--line);border-radius:5px;max-width:80ch}
.context-body h2{font-size:13px;margin:0 0 7px}
.context-body p{font-size:13px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 18px}
.context-body p:last-child{margin-bottom:0}
