:root{--ink:#17211f;--muted:#687471;--line:#dce3e0;--panel:#f5f7f6;--paper:#fbfcfb;--accent:#0e7568;--accent-dark:#07574e;--accent-pale:#dceee9;--danger:#a43b3b}*{box-sizing:border-box}#__next,body,html{min-height:100%;margin:0}body{color:var(--ink);background:var(--paper);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}button{color:inherit}.login-shell{min-height:100vh;display:grid;place-items:center;padding:32px 20px;background:radial-gradient(circle at 12% 12%,rgba(14,117,104,.11),transparent 32%),linear-gradient(145deg,#f2f7f5,#fbfcfb 48%,#edf3f1)}.login-card{width:min(100%,480px);padding:34px;border:1px solid rgba(23,33,31,.1);border-radius:22px;background:hsla(0,0%,100%,.88);box-shadow:0 24px 80px rgba(21,55,49,.12);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand-lockup{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:720;letter-spacing:-.02em}.brand-mark{width:34px;height:34px;display:grid;overflow:hidden;place-items:center;border-radius:10px}.brand-mark img{width:100%;height:100%;display:block}.login-heading{margin:48px 0 28px}.eyebrow{display:inline-flex;align-items:center;gap:7px;color:var(--accent-dark);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.empty-chat h1,.login-heading h1,.vessel-dashboard h1{margin:13px 0 10px;font-size:clamp(28px,5vw,39px);line-height:1.08;letter-spacing:-.045em}.empty-chat p,.login-heading p,.vessel-dashboard p{color:var(--muted);line-height:1.65}.login-form{display:grid;grid-gap:17px;gap:17px}.login-form label{display:grid;grid-gap:7px;gap:7px;font-size:13px;font-weight:650}.login-form input{height:46px;padding:0 13px;border:1px solid var(--line);border-radius:11px;color:var(--ink);background:#fff;outline:none;transition:border-color .16s,box-shadow .16s}.login-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(14,117,104,.12)}.login-form>button{height:47px;display:flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:11px;color:#fff;background:var(--accent);font-weight:700;cursor:pointer}.login-form>button:hover{background:var(--accent-dark)}.login-form>button:disabled{opacity:.65;cursor:wait}.chat-error,.form-error{margin:0;color:var(--danger);font-size:13px}.app-loading{min-height:100vh;display:grid;place-items:center;color:var(--muted)}.app-shell{height:100vh;display:flex;overflow:hidden;background:var(--paper)}.history-sidebar{position:relative;width:300px;flex:none;display:flex;flex-direction:column;border-right:1px solid var(--line);background:var(--panel);transition:width .18s ease,transform .18s ease;z-index:20}.history-sidebar.collapsed{width:72px}.sidebar-header{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 18px}.history-sidebar.collapsed .sidebar-header{justify-content:center;padding:0}.icon-button{width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:9px;background:transparent;color:var(--muted);cursor:pointer}.icon-button:hover{color:var(--ink);background:rgba(23,33,31,.06)}.new-chat-button{height:42px;margin:4px 14px 16px;padding:0 13px;display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--line);border-radius:11px;background:#fff;font-weight:650;cursor:pointer}.new-chat-button:hover{border-color:rgba(14,117,104,.35);color:var(--accent-dark)}.history-list{min-height:0;flex:1 1;overflow-y:auto;padding:0 10px}.sidebar-label{margin:8px 10px;color:var(--muted);font-size:11px;font-weight:720;letter-spacing:.07em;text-transform:uppercase}.history-item{width:100%;min-height:61px;padding:9px 10px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:9px;gap:9px;border:0;border-radius:10px;background:transparent;text-align:left;cursor:pointer}.history-item.active,.history-item:hover{background:#fff;box-shadow:inset 0 0 0 1px rgba(23,33,31,.06)}.history-item.active{color:var(--ink);background:rgba(23,33,31,.055);box-shadow:none}.history-item span{min-width:0}.history-item small,.history-item strong{display:block}.history-item strong{overflow:hidden;font-size:13px;font-weight:630;text-overflow:ellipsis;white-space:nowrap}.history-item small{margin-top:4px;color:var(--muted);font-size:11px}.empty-history{padding:20px 12px;color:var(--muted);font-size:13px;line-height:1.5}.sidebar-user{min-height:68px;padding:11px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line)}.sidebar-user span{min-width:0}.sidebar-user small,.sidebar-user strong{display:block}.sidebar-user small{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.sidebar-user strong{margin-top:2px;overflow:hidden;font-size:13px;text-overflow:ellipsis}.chat-panel{min-width:0;flex:1 1;display:flex;flex-direction:column}.chat-header{position:relative;height:70px;flex:none;display:flex;align-items:center;gap:12px;padding:0 24px;border-bottom:1px solid var(--line);background:rgba(251,252,251,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:12}.vessel-library{position:relative;min-width:0}.vessel-library>summary{min-width:0;display:flex;align-items:center;gap:12px;padding:4px 7px 4px 4px;border:1px solid transparent;border-radius:12px;cursor:pointer;list-style:none;transition:border-color .14s ease,background .14s ease}.vessel-library>summary::-webkit-details-marker{display:none}.vessel-library>summary:focus-visible{outline:2px solid rgba(14,117,104,.3);outline-offset:4px}.vessel-library>summary:hover,.vessel-library[open]>summary{border-color:rgba(14,117,104,.12);background:rgba(220,238,233,.42)}.vessel-context-mark{width:38px;height:38px;display:grid;flex:0 0 38px;place-items:center;border:1px solid rgba(14,117,104,.14);border-radius:11px;color:var(--accent-dark);background:linear-gradient(145deg,#e8f4f0,#d7ebe5);box-shadow:0 5px 14px rgba(14,117,104,.08)}.vessel-library-chevron{flex:0 0 auto;transition:transform .16s ease}.vessel-library[open] .vessel-library-chevron{transform:rotate(180deg)}.vessel-library-action{height:28px;display:inline-flex;flex:0 0 auto;align-items:center;gap:5px;padding:0 9px;border:1px solid rgba(14,117,104,.18);border-radius:999px;color:var(--accent-dark);background:hsla(0,0%,100%,.72);font-size:10px;font-weight:700}.chat-header-copy{min-width:0}.chat-header-copy strong,.chat-header-copy>span{display:block}.chat-header-copy strong{font-size:14px}.chat-header-copy>span{margin-top:3px;color:var(--muted);font-size:11px}.vessel-library-panel{position:absolute;top:calc(100% + 14px);left:0;width:min(570px,calc(100vw - 110px));overflow:hidden;border:1px solid var(--line);border-radius:16px;background:hsla(0,0%,100%,.98);box-shadow:0 22px 60px rgba(23,33,31,.16)}.vessel-library-heading{padding:15px 16px 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.vessel-library-heading small,.vessel-library-heading strong{display:block}.vessel-library-heading strong{font-size:13px}.vessel-library-heading small{margin-top:3px;color:var(--muted);font-size:10px}.vessel-library-list{max-height:min(480px,calc(100vh - 150px));padding:7px;overflow-y:auto}.vessel-library-list>a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;grid-gap:10px;gap:10px;padding:10px;border-radius:10px;color:inherit;text-decoration:none}.vessel-library-list>a:hover{background:var(--panel)}.vessel-library-item-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;color:var(--accent-dark);background:var(--accent-pale)}.vessel-library-item-copy{min-width:0}.vessel-library-item-copy small,.vessel-library-item-copy strong{display:block}.vessel-library-item-copy strong{font-size:12px;line-height:1.35}.vessel-library-item-copy small{margin-top:3px;color:var(--muted);font-size:10px}.vessel-library-item-description{display:-webkit-box;margin:5px 0 0;overflow:hidden;color:var(--muted);font-size:10px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.vessel-library-list>a>svg{margin-top:6px;color:var(--muted)}.vessel-library-empty{margin:0;padding:18px 12px;color:var(--muted);font-size:12px}.messages-scroll{min-height:0;flex:1 1;overflow-y:auto}.messages-column{width:min(100%,860px);min-height:100%;margin:0 auto;padding:36px 28px 48px}.empty-chat{min-height:calc(100vh - 240px);display:flex;flex-direction:column;justify-content:center;max-width:680px}.empty-chat h1{max-width:620px}.empty-chat p{max-width:590px;margin:0}.vessel-dashboard{min-height:calc(100vh - 190px);display:flex;flex-direction:column;justify-content:center;max-width:760px}.vessel-dashboard h1{margin-bottom:8px}.vessel-dashboard>p{max-width:590px;margin:0}.vessel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:32px}.vessel-grid>button{min-height:92px;padding:15px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:13px;gap:13px;border:1px solid var(--line);border-radius:14px;background:#fff;text-align:left;cursor:pointer}.vessel-grid>button:hover{border-color:rgba(14,117,104,.4);box-shadow:0 10px 28px rgba(21,55,49,.07)}.vessel-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;color:var(--accent-dark);background:var(--accent-pale)}.vessel-grid small,.vessel-grid strong{display:flex;align-items:center}.vessel-grid strong{font-size:14px}.vessel-grid small{gap:5px;margin-top:6px;color:var(--muted);font-size:11px}.empty-vessels,.vessel-grid>button>svg{color:var(--muted)}.empty-vessels{margin-top:30px;padding:15px;border:1px dashed var(--line);border-radius:12px;font-size:13px;line-height:1.55}.suggestion-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;margin-top:34px}.suggestion-grid button{min-height:112px;padding:16px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:16px;border:1px solid var(--line);border-radius:13px;background:#fff;text-align:left;line-height:1.45;cursor:pointer}.suggestion-grid button:hover{border-color:rgba(14,117,104,.35);box-shadow:0 10px 28px rgba(21,55,49,.07)}.suggestion-grid button svg{color:var(--accent)}.message-row{display:flex;margin-bottom:36px}.message-row.user{justify-content:flex-end}.message-content{max-width:100%}.message-row.user .message-content{max-width:min(78%,650px);padding:11px 15px;border-radius:16px 16px 4px 16px;color:#fff;background:var(--ink)}.message-row.assistant .message-content{width:100%}.markdown{font-size:14px;line-height:1.72}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown h1,.markdown h2,.markdown h3{margin:1.6em 0 .55em;line-height:1.25;letter-spacing:-.02em}.markdown h2{font-size:18px}.markdown h3{font-size:15px}.markdown a{color:var(--accent-dark);text-decoration-thickness:1px;text-underline-offset:3px}.markdown .citation-marker{display:inline-flex;height:1.55em;align-items:center;justify-content:center;gap:.3em;margin:0 .12em;padding:0 .48em;border:1px solid rgba(14,117,104,.2);border-radius:999px;background:rgba(220,238,233,.72);color:var(--accent-dark);font-size:.75em;font-weight:700;line-height:1;text-decoration:none;vertical-align:.12em;transition:border-color .14s ease,background .14s ease,transform .14s ease}.markdown .citation-marker svg{flex:0 0 auto;opacity:.82}.markdown .citation-marker:hover{border-color:var(--accent);background:var(--accent-pale);transform:translateY(-1px)}.markdown code{padding:2px 5px;border-radius:5px;background:var(--panel);font-size:.9em}.stage-indicator{min-height:66px;display:flex;align-items:flex-start;gap:13px;color:var(--muted)}.stage-indicator>span{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 rgba(14,117,104,.35);animation:pulse 1.5s infinite;margin-top:5px}.stage-indicator strong{display:block;color:var(--ink);font-size:13px}.stage-activities{max-width:720px;margin:11px 0 0;padding:0;display:grid;grid-gap:9px;gap:9px;list-style:none}.stage-activities li{padding-left:12px;border-left:2px solid var(--line)}.stage-activities small,.stage-activities span{display:block}.stage-activities span{color:var(--ink);font-size:12px;line-height:1.4}.stage-activities small{margin-top:2px;color:var(--muted);font-size:10px;line-height:1.45}@keyframes pulse{70%{box-shadow:0 0 0 8px rgba(14,117,104,0)}to{box-shadow:0 0 0 0 rgba(14,117,104,0)}}.message-actions{margin-top:10px}.citations-toggle,.message-actions button{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border:0;border-radius:8px;color:var(--muted);background:transparent;font-size:11px;cursor:pointer}.citations-toggle:hover,.message-actions button:hover{color:var(--ink);background:var(--panel)}.citations{margin-top:17px;padding-top:12px;border-top:1px solid var(--line)}.citations-toggle{justify-content:space-between;width:100%;font-weight:650}.citations-toggle svg{transition:transform .16s}.citations-toggle svg.rotated{transform:rotate(180deg)}.citation-list{display:grid;grid-gap:7px;gap:7px;margin-top:8px}.citation-list a{min-height:54px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:10px;color:inherit;background:#fff;text-decoration:none}.citation-list-badge{display:inline-flex;width:48px;height:26px;flex:0 0 48px;align-items:center;justify-content:center;gap:5px;padding:0;border-radius:999px;background:var(--accent-pale);color:var(--accent-dark);font-size:11px;font-weight:750;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.citation-list-badge svg{opacity:.8}.citation-list-content{min-width:0;flex:1 1}.citation-list a:hover{border-color:rgba(14,117,104,.35)}.citation-list small,.citation-list strong{display:block}.citation-list strong{font-size:12px}.citation-list small{margin-top:3px;color:var(--muted);font-size:10px}.chat-error{width:min(calc(100% - 40px),820px);margin:0 auto 8px;padding:10px 12px;border:1px solid rgba(164,59,59,.2);border-radius:9px;background:rgba(164,59,59,.06)}.composer-wrap{flex:none;padding:10px 24px 18px;background:linear-gradient(to top,var(--paper) 72%,rgba(251,252,251,0))}.composer{width:min(100%,820px);min-height:56px;margin:0 auto;padding:8px 8px 8px 16px;display:flex;align-items:flex-end;gap:10px;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:0 12px 34px rgba(21,55,49,.09)}.composer:focus-within{border-color:rgba(14,117,104,.42);box-shadow:0 12px 34px rgba(21,55,49,.09),0 0 0 3px rgba(14,117,104,.08)}.composer textarea{height:auto;min-height:38px;max-height:160px;flex:1 1;overflow-y:hidden;resize:none;border:0;outline:0;padding:9px 0 4px;color:var(--ink);background:transparent;line-height:1.45}.composer>button{width:40px;height:40px;flex:none;display:grid;place-items:center;border:0;border-radius:12px;color:#fff;background:var(--accent);cursor:pointer}.composer>button:hover{background:var(--accent-dark)}.composer>button:disabled{opacity:.35;cursor:default}.composer-wrap>p{margin:8px auto 0;color:var(--muted);font-size:10px;text-align:center}.mobile-only,.sidebar-backdrop{display:none}@media (max-width:850px){.desktop-only{display:none}.mobile-only{display:grid}.history-sidebar,.history-sidebar.collapsed{position:fixed;inset:0 auto 0 0;width:min(86vw,320px);transform:translateX(-102%);box-shadow:18px 0 60px rgba(23,33,31,.16)}.history-sidebar.mobile-open{transform:translateX(0)}.sidebar-backdrop{position:fixed;inset:0;display:block;border:0;background:rgba(23,33,31,.34);z-index:10}.chat-header{padding:0 15px}.vessel-library-panel{position:fixed;top:64px;right:12px;left:12px;width:auto}.vessel-library>summary{gap:9px}.vessel-library-action{width:28px;padding:0;justify-content:center;font-size:0}.vessel-context-mark{width:34px;height:34px;flex-basis:34px}.messages-column{padding:28px 17px 38px}.suggestion-grid,.vessel-grid{grid-template-columns:1fr}.suggestion-grid button{min-height:78px}.message-row.user .message-content{max-width:88%}.composer-wrap{padding:8px 12px 12px}}@media (max-width:520px){.login-card{padding:25px}.login-heading{margin-top:38px}.empty-chat,.vessel-dashboard{justify-content:flex-start;padding-top:38px}}