:root{--ink:#18312b;--muted:#667973;--line:#dce5e0;--paper:#fbfcfa;--sidebar:#eef4ef;--green:#176b52;--green-dark:#0e4f3d;--mint:#dceee5;--warm:#f6f0e5}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--paper);color:var(--ink)}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,textarea{font:inherit}button{color:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:280px 1fr}.sidebar{background:var(--sidebar);border-right:1px solid var(--line);padding:28px 22px;display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:11px;font-size:16px;font-weight:750;letter-spacing:-.02em}.brand-mark{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:var(--green);color:white;font-size:20px}.new-chat{margin-top:32px;border:1px solid #b8cec3;background:rgba(255,255,255,.55);border-radius:12px;padding:11px 14px;text-align:left;cursor:pointer;transition:.2s}.new-chat:hover{background:white;border-color:var(--green)}.new-chat span{font-size:18px;margin-right:7px}.journey{margin-top:38px}.eyebrow{margin:0 0 12px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.journey-step{width:100%;display:grid;grid-template-columns:27px 1fr;align-items:center;grid-gap:10px;gap:10px;margin:7px 0;padding:8px;color:var(--muted);border-radius:10px;text-align:left}.journey-step.active{background:white;color:var(--green-dark);box-shadow:0 2px 8px rgba(30,80,62,.07)}.journey-step.active span{background:var(--green);color:white;border-color:var(--green)}.journey-step span{width:25px;height:25px;border:1px solid #c1d1c9;border-radius:50%;display:grid;place-items:center;font-size:11px;background:#f8fbf9}.journey-step p{font-size:13px;margin:0}.phase-navigation{display:grid;grid-gap:7px;gap:7px;margin-top:15px}.phase-next{position:relative;display:grid;grid-gap:2px;gap:2px;padding:11px 36px 11px 13px;border:0;border-radius:11px;background:var(--green);color:white;text-align:left;cursor:pointer}.phase-next span{font-size:12px;font-weight:800}.phase-next small{color:rgba(255,255,255,.75);font-size:10px}.phase-next b{position:absolute;right:13px;top:50%;transform:translateY(-50%);font-size:18px}.phase-back{border:0;background:transparent;color:var(--muted);padding:7px 9px;text-align:left;font-size:11px;cursor:pointer}.phase-back:disabled,.phase-next:disabled{opacity:.55;cursor:default}.profile-button{width:100%;display:flex;align-items:center;gap:10px;margin-top:17px;padding:11px;border:1px solid #b8cec3;background:rgba(255,255,255,.48);border-radius:11px;text-align:left;cursor:pointer}.profile-button:hover{background:white;border-color:var(--green)}.profile-button>span:first-child{width:25px;height:25px;display:grid;place-items:center;border-radius:7px;background:var(--mint);color:var(--green)}.profile-button>span:last-child{font-size:12px;font-weight:700}.profile-button small{display:block;margin-top:2px;color:var(--muted);font-size:10px;font-weight:500}.recommendation-button{margin-top:8px}.privacy-note{margin-top:auto;font-size:11px;color:var(--muted);line-height:1.5}.chat-panel{min-width:0;display:flex;flex-direction:column;height:100vh}.chat-header{height:78px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;background:rgba(251,252,250,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.chat-header .eyebrow{margin-bottom:3px}.chat-header h1{font-family:Georgia,Times New Roman,serif;font-size:20px;font-weight:500;margin:0}.status-dot{font-size:11px;color:var(--green);background:var(--mint);border-radius:999px;padding:7px 11px;font-weight:650}.status-dot:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);margin-right:7px}.messages{flex:1 1;overflow-y:auto;padding:48px max(28px,calc((100% - 830px) / 2)) 26px;scroll-behavior:smooth}.welcome{max-width:760px;margin:7vh auto 0;text-align:center}.welcome-icon{width:47px;height:47px;display:grid;place-items:center;margin:0 auto 19px;border-radius:15px;background:var(--mint);color:var(--green);font-size:22px}.welcome h2{margin:0;font-family:Georgia,Times New Roman,serif;font-weight:500;font-size:clamp(28px,4vw,39px);letter-spacing:-.025em}.welcome>p{color:var(--muted);max-width:600px;margin:17px auto 30px;line-height:1.65}.starter-grid{display:grid;grid-gap:12px;gap:12px;text-align:left}.starter-grid button{min-height:126px;border:1px solid var(--line);background:white;border-radius:14px;padding:17px;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;line-height:1.45;transition:.2s}.starter-grid button:hover{border-color:#9cbcaf;box-shadow:0 8px 20px rgba(30,80,62,.06)}.starter-grid button span{color:var(--green);font-size:18px}.message{display:grid;grid-template-columns:36px minmax(0,1fr);grid-gap:15px;gap:15px;margin:0 auto 32px}.message.user{margin-top:12px}.avatar{width:34px;height:34px;border-radius:11px;background:var(--mint);color:var(--green);display:grid;place-items:center;font-size:13px;font-weight:750}.message.user .avatar{background:#e8e9e7;color:var(--muted);font-size:10px}.message-body{min-width:0;line-height:1.65;font-size:15px}.message-body>:first-child{margin-top:4px}.message-body p{margin:0 0 13px}.message-body h1,.message-body h2,.message-body h3{font-family:Georgia,Times New Roman,serif;font-weight:500;margin:24px 0 10px;line-height:1.25}.message-body h2{font-size:22px}.message-body h3{font-size:18px}.message-body ol,.message-body ul{padding-left:22px}.message-body li{margin:7px 0}.message-body a{color:var(--green);text-underline-offset:3px}.message.user .message-body{justify-self:end;background:#e9efeb;border-radius:16px 4px 16px 16px;padding:11px 15px;max-width:75%}.message.user .message-body p{margin:0}.thinking{display:flex;gap:5px;padding:12px 0}.thinking i{width:6px;height:6px;border-radius:50%;background:#8aaa9b;animation:pulse 1.1s infinite}.thinking i:nth-child(2){animation-delay:.15s}.thinking i:nth-child(3){animation-delay:.3s}@keyframes pulse{0%,70%,to{opacity:.25;transform:translateY(0)}35%{opacity:1;transform:translateY(-3px)}}.sources{margin-top:18px;border-top:1px solid var(--line);padding-top:11px}.sources summary{cursor:pointer;color:var(--muted);font-size:12px;font-weight:650}.source-list{display:grid;grid-gap:8px;gap:8px;margin-top:10px}.source{padding:10px 12px;background:#f4f7f4;border-radius:9px;font-size:12px}.source>span{display:block;color:var(--green);font-size:9px;text-transform:uppercase;letter-spacing:.09em}.source a,.source strong{display:block;font-size:12px;margin-top:2px}.source p{color:var(--muted);margin:5px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.source.internal-source p{display:block;overflow:visible}.sources{width:min(100%,960px);max-width:none}.source-list{max-height:none}.source{min-width:0;overflow-wrap:anywhere}.source a,.source strong{overflow-wrap:anywhere;white-space:normal}.source p,.source.internal-source p{display:block;max-height:none;overflow:visible;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.permission-card{max-width:790px;margin:-10px auto 30px;padding:16px;border:1px solid #d5c7a8;background:var(--warm);border-radius:13px}.permission-card>div:first-child{display:flex;gap:9px;align-items:center}.permission-card>p{color:#746b59;font-size:12px;margin:8px 0 13px 27px}.permission-card button{border:1px solid #c7b993;background:transparent;border-radius:9px;padding:8px 11px;margin-right:7px;cursor:pointer;font-size:12px}.permission-card button.primary{background:var(--green);color:white;border-color:var(--green)}.error-banner{max-width:790px;margin:0 auto 20px;padding:11px 13px;border-radius:10px;background:#fce8e5;color:#843c32;font-size:12px}.recommendation-progress-card{max-width:790px;margin:0 auto 20px;padding:14px;border:1px solid #b8cec3;border-radius:12px;background:#f1f7f3}.recommendation-progress-card>div{display:flex;justify-content:space-between;gap:15px;font-size:12px}.landscape-progress progress,.recommendation-progress-card progress{width:100%;height:8px;margin-top:9px;accent-color:var(--green)}.recommendation-progress-card p{margin:8px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.profile-overlay{position:fixed;z-index:10;inset:0;display:grid;place-items:center;padding:22px;background:rgba(18,40,33,.28);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.profile-panel{width:min(570px,100%);max-height:min(700px,88vh);overflow-y:auto;position:relative;padding:30px;border-radius:18px;background:var(--paper);box-shadow:0 24px 70px rgba(18,40,33,.25)}.profile-panel .eyebrow{margin-bottom:5px}.profile-panel h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:29px;font-weight:500}.profile-panel>p{color:var(--muted);line-height:1.6;font-size:13px}.profile-close{position:absolute;top:15px;right:15px;width:31px;height:31px;border:1px solid var(--line);border-radius:9px;background:white;cursor:pointer;font-size:21px;line-height:1}.profile-panel dl{display:grid;grid-gap:13px;gap:13px;margin:24px 0 0}.profile-panel dl>div{padding:13px;border-radius:11px;background:#f1f6f2}.profile-panel dt{color:var(--green);font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.profile-panel dd{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0}.profile-panel dd span{padding:5px 7px;border-radius:6px;background:white;font-size:12px;line-height:1.35}.profile-empty{margin-top:24px;padding:15px;border:1px dashed #b8cec3;border-radius:11px;color:var(--muted);font-size:13px;line-height:1.55}.profile-panel dd span.inferred{border:1px dashed #c3a96f;background:#fffaf0}.profile-panel dd span small{display:block;margin-top:2px;color:#8a7040;font-size:8px;text-transform:uppercase;letter-spacing:.07em}.recommendation-panel{width:min(690px,100%)}.landscape-progress{display:grid;margin:18px 0 24px;padding:12px;border-radius:10px;background:#edf4ef;color:var(--muted);font-size:11px}.landscape-progress small{margin-top:7px;line-height:1.45}.landscape-category{margin-top:23px}.landscape-category h3{margin:0 0 9px;font-family:Georgia,Times New Roman,serif;font-size:18px;font-weight:500}.landscape-category article{padding:12px;border:1px solid var(--line);border-radius:10px;background:white;margin-top:8px}.landscape-category article>div{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.landscape-category article b{font-size:12px}.landscape-category article p{margin:7px 0 0;color:var(--muted);font-size:11px;line-height:1.45}.landscape-category article small{display:block;margin-top:6px;color:#8a7040;font-size:9px}.fit-status{flex:0 0 auto;padding:3px 6px;border-radius:999px;background:#edf0ee;color:var(--muted);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.fit-status.strong_fit{background:#d9eee3;color:#176b52}.fit-status.promising{background:#e5efe9;color:#356b57}.fit-status.uncertain{background:#f4eddb;color:#806a35}.fit-status.ruled_out,.fit-status.weak_fit{background:#f4e4e1;color:#8a493f}.landscape-empty{color:var(--muted);font-size:11px}.composer-wrap{padding:12px max(24px,calc((100% - 850px) / 2)) 18px;background:linear-gradient(transparent,var(--paper) 20%)}.composer{display:flex;align-items:flex-end;gap:10px;border:1px solid #cfdad4;box-shadow:0 8px 28px rgba(39,70,60,.08);background:white;border-radius:17px;padding:11px 11px 11px 16px}.composer:focus-within{border-color:#8fb3a3;box-shadow:0 8px 28px rgba(39,70,60,.11),0 0 0 3px rgba(42,113,84,.06)}.composer textarea{flex:1 1;resize:none;border:0;outline:0;max-height:130px;min-height:26px;line-height:1.55;color:var(--ink);background:transparent}.composer textarea::placeholder{color:#93a09b}.send{width:35px;height:35px;flex:0 0 auto;border:0;border-radius:11px;background:var(--green);color:white;font-size:20px;cursor:pointer}.send:disabled{background:#c4d0ca;cursor:default}.send.stop{font-size:11px}.composer-wrap>p{color:#8a9691;font-size:10px;text-align:center;margin:7px 0 0}@media (max-width:800px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.chat-header{padding:0 18px;height:68px}.chat-header h1{font-size:17px}.status-dot{display:none}.messages{padding:28px 17px 20px}.starter-grid{grid-template-columns:1fr}.starter-grid button{min-height:82px}.welcome{margin-top:3vh}.message{grid-template-columns:30px minmax(0,1fr);gap:10px}.avatar{width:29px;height:29px}.message.user .message-body{max-width:90%}.composer-wrap{padding:10px 13px 12px}}.admin-shell{min-height:100vh;display:grid;place-items:center;padding:30px;background:#f5f4ee}.admin-card{width:min(620px,100%);padding:clamp(28px,6vw,62px);border:1px solid #111;background:#fffefa;box-shadow:9px 9px 0 #0879c9}.admin-back{display:inline-block;margin-bottom:48px;color:#59636a;font-size:12px;text-decoration:none}.admin-back:hover{color:#0879c9}.admin-card h1{margin:0;color:#111;font-size:clamp(40px,8vw,70px);line-height:.92;letter-spacing:-.065em}.admin-intro{margin:28px 0 18px;color:#59636a;font-size:15px;line-height:1.6}.admin-form{display:grid;grid-gap:19px;gap:19px;margin-top:34px}.admin-form label{display:grid;grid-gap:7px;gap:7px;color:#111;font-size:12px;font-weight:750}.admin-form input{width:100%;padding:13px 14px;border:1px solid #111;border-radius:0;background:white;color:#111;font:inherit;outline:none}.admin-form input:focus{border-color:#0879c9;box-shadow:3px 3px 0 #0879c9}.admin-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.admin-primary,.admin-secondary{min-height:43px;padding:11px 16px;border:1px solid #111;border-radius:0;cursor:pointer;font-weight:750}.admin-primary{background:#111;color:#fff}.admin-primary:hover:not(:disabled){border-color:#0879c9;background:#0879c9}.admin-secondary{background:transparent;color:#111}.admin-primary:disabled,.admin-secondary:disabled{opacity:.55;cursor:default}.admin-privacy{padding:13px 15px;border-left:4px solid #0879c9;background:#edf6fc;color:#385263;font-size:12px;line-height:1.5}.admin-expiry{color:#7b8184;font-size:10px}.admin-error{padding:11px 13px;border-left:4px solid #a33d32;background:#fce8e5;color:#843c32;font-size:12px}:root{--ink:#111111;--muted:#59636a;--line:#dedede;--paper:#fffefa;--sidebar:#f5f4ee;--green:#0879c9;--green-dark:#111111;--mint:#e4f1fa;--warm:#fff4d9}body{font-family:Arial,Helvetica,sans-serif}.app-shell{grid-template-columns:274px 1fr;background:var(--paper)}.sidebar{background:#f5f4ee;border-right:1px solid #d8d8d2;padding:30px 22px}.brand{font-size:15px;letter-spacing:-.035em;color:#111}.brand-mark{border-radius:0;background:#111;color:#fff;font-size:18px;font-weight:900;transform:rotate(-8deg)}.new-chat{border-radius:0;border-color:#111;background:transparent;color:#111}.new-chat:hover{background:#fff;border-color:#0879c9}.eyebrow{color:#0879c9;letter-spacing:.16em}.journey-step{border-radius:0}.journey-step.active{color:#111;background:#fff;box-shadow:4px 4px 0 #111}.journey-step.active span{background:#111;border-color:#111}.journey-step span{border-radius:0;background:transparent;border-color:#111;color:#111}.phase-next{border-radius:0;background:#111}.phase-back{border-radius:0;color:#0879c9}.transition-ready{margin:-22px 0 12px;padding:8px 10px;border-left:3px solid #0879c9;color:#0868aa;font-size:11px;line-height:1.35}.profile-button{border-radius:0;border-color:#111;background:transparent}.profile-button:hover{border-color:#0879c9}.profile-button>span:first-child{border-radius:0;background:#e4f1fa;color:#0879c9}.chat-panel{background:var(--paper)}.chat-header{height:88px;padding:0 40px;border-bottom:1px solid #d7d7d7;background:rgba(255,254,250,.96)}.chat-header h1{font-family:Arial,Helvetica,sans-serif;font-size:22px;font-weight:900;letter-spacing:-.045em}.header-actions{display:flex;align-items:center;gap:18px}.status-dot{border-radius:0;color:#0879c9;background:#e4f1fa}.status-dot:before{background:#0879c9;border-radius:0}.project-info{position:relative}.project-info-trigger{width:44px;height:44px;padding:3px;border:1px solid #111;border-radius:50%;background:#fffefa;cursor:help;transition:transform .2s ease,box-shadow .2s ease}.project-info-trigger:focus-visible,.project-info-trigger:hover{transform:rotate(8deg);box-shadow:4px 4px 0 #111;outline:none}.project-info-trigger img{width:100%;height:100%;display:block}.project-info-card{position:absolute;z-index:20;top:54px;right:0;width:230px;display:grid;grid-gap:6px;gap:6px;padding:15px 16px;border:1px solid #111;background:#fffefa;box-shadow:5px 5px 0 #111;opacity:0;pointer-events:none;transform:translateY(-5px);transition:opacity .16s ease,transform .16s ease}.project-info:focus-within .project-info-card,.project-info:hover .project-info-card{opacity:1;pointer-events:auto;transform:translateY(0)}.project-info-card strong{font-size:12px;text-transform:uppercase;letter-spacing:.08em}.project-info-card span{color:#59636a;font-size:12px;line-height:1.35}.messages{padding-top:58px}.welcome{max-width:850px;margin-top:5vh;text-align:left}.welcome-icon{width:54px;height:54px;margin:0 0 22px;border-radius:50%;background:#111;color:#fff}.welcome h2{max-width:780px;font-family:Arial,Helvetica,sans-serif;font-size:clamp(44px,7vw,86px);font-weight:900;letter-spacing:-.075em;line-height:.91;color:#111}.welcome>p{max-width:620px;margin:27px 0 36px;color:#0868aa;font-size:17px;font-style:italic;line-height:1.45}.starter-grid{max-width:760px;grid-template-columns:repeat(3,1fr);gap:10px}.starter-grid button{min-height:116px;border-radius:0;border-color:#111;background:transparent;font-size:13px}.starter-grid button:hover{border-color:#0879c9;transform:translateY(-2px);box-shadow:4px 4px 0 #0879c9}.starter-grid button span{color:#0879c9}.message{max-width:850px}.avatar{border-radius:50%;background:#e4f1fa;color:#0879c9}.assistant-avatar-mark{width:23px;height:23px;display:block}.message-body h1,.message-body h2,.message-body h3{font-family:Arial,Helvetica,sans-serif;font-weight:800}.message-body a{color:#0879c9}.message.user .message-body{border-radius:0;border-left:4px solid #0879c9;background:#edf6fc}.accept-transition{margin-top:16px;padding:9px 13px;border:1px solid #111;background:#111;color:#fff;cursor:pointer;font-size:12px;font-weight:700}.accept-transition:hover:not(:disabled){background:#0879c9;border-color:#0879c9}.accept-transition:disabled{opacity:.55;cursor:default}.composer{border-radius:0;border-color:#111;box-shadow:5px 5px 0 #d6eaf7}.composer:focus-within{border-color:#0879c9;box-shadow:5px 5px 0 #0879c9}.send{border-radius:0;background:#111}.send:disabled{background:#bfc3c5}@media (max-width:800px){.chat-header{padding:0 18px}.header-actions{gap:8px}.project-info-trigger{width:38px;height:38px}.welcome{margin-top:3vh}.welcome h2{font-size:clamp(42px,14vw,68px)}.welcome>p{font-size:15px}}