/* A calm presence and a usable page: the companion has no modal/backdrop layer. */
:root{--ocean-pale:#bdd8f7;--ocean-ring:#72a4dd;--ocean-ring-wash:#dceafb;--ocean-agent-width:368px}
:root[data-theme=night]{--ocean-pale:#8cb7e3;--ocean-ring:#8db5e3;--ocean-ring-wash:#172e47}
.ocean-ring{--ring-size:58px;display:inline-grid;place-items:center;width:var(--ring-size);height:var(--ring-size);flex-shrink:0;position:relative;isolation:isolate;pointer-events:none}
.ocean-ring::before,.ocean-ring::after,.ocean-ring>i{content:"";position:absolute;inset:12%;border-radius:48% 52% 53% 47% / 53% 49% 51% 47%;border:1.5px solid color-mix(in srgb,var(--ocean-ring) 45%,transparent);background:radial-gradient(ellipse at 30% 25%,color-mix(in srgb,var(--ocean-pale) 48%,transparent),transparent 65%);box-shadow:inset 0 0 12px color-mix(in srgb,var(--ocean-pale) 22%,transparent),0 0 18px color-mix(in srgb,var(--ocean-pale) 12%,transparent);animation:ocean-breathe 6s ease-in-out infinite}
.ocean-ring::after{inset:20%;opacity:.55;transform:rotate(70deg);animation-delay:-3s}
.ocean-ring>i{inset:5%;opacity:.25;border-width:1px;background:none;animation-delay:-1.5s}
.ocean-ring.paused::before,.ocean-ring.paused::after,.ocean-ring.paused>i{animation-play-state:paused}
.ocean-ring.presence{--ring-size:168px}.ocean-ring.launcher{--ring-size:48px}.ocean-ring.header{--ring-size:53px}.ocean-ring.engine{--ring-size:35px}.ocean-ring.inline{--ring-size:27px}.ocean-ring.welcome{--ring-size:85px}
@keyframes ocean-breathe{0%,100%{transform:rotate(-8deg) scale(.95);border-radius:48% 52% 53% 47% / 53% 49% 51% 47%}50%{transform:rotate(8deg) scale(1.04);border-radius:52% 48% 47% 53% / 48% 53% 47% 52%;opacity:.65}}
.chat-launch{gap:8px;padding:7px 19px 7px 8px;background:color-mix(in srgb,var(--panel) 95%,transparent);border:1px solid color-mix(in srgb,var(--ocean-ring) 30%,var(--line));box-shadow:0 8px 30px #56749a12;min-width:190px;border-radius:32px}
.chat-launch>span:not(.ocean-ring){font-size:14px}.chat-launch small{font-size:12px;margin-top:3px}.chat-launch[hidden]{display:none}
.particle-entry{width:180px;height:180px}.particle-presence-meta{margin-top:7px}.particle-presence h3{font-size:23px;margin-top:22px}.particle-presence p{font-size:15px}.particle-touch-hint{font-size:12px}.particle-presence .text-button{font-size:13px}
.surface-agent{position:fixed;right:20px;top:94px;bottom:22px;width:var(--ocean-agent-width);max-height:790px;z-index:35;display:flex;flex-direction:column;background:var(--panel);border:1px solid color-mix(in srgb,var(--ocean-ring) 35%,var(--line));border-radius:19px;box-shadow:0 14px 45px #26374e10;overflow:hidden;color:var(--ink);text-align:left}
.surface-agent-head{padding:15px 16px 11px;display:flex;align-items:center;justify-content:space-between;gap:5px}
.surface-agent-identity{display:flex;gap:4px;align-items:center}.surface-kicker{font-size:11px;font-weight:650;letter-spacing:1.2px;color:var(--ink-soft)}.surface-agent-head h2{font-size:22px;letter-spacing:-.6px;margin-top:3px;font-weight:600}.surface-head-actions{display:flex;gap:2px}.surface-head-actions .icon-button{width:32px;height:36px;color:var(--ink-soft)}
.surface-context{margin:0 20px;padding:11px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.surface-context>span{display:flex;align-items:center;gap:8px}.surface-context strong{font-size:14px;font-weight:600}.surface-context .company-mark{width:26px;height:26px}.surface-context p{font-size:13px;color:var(--ink-soft);margin:6px 0 0 34px}
.surface-status{margin:15px 20px 10px}.surface-status .context-state{font-size:13px}.surface-status p{font-size:14px;line-height:1.5;color:var(--ink-soft);margin-top:8px}.surface-status .surface-action{margin-top:9px;color:var(--blue)}
.surface-quick-actions{display:flex;flex-wrap:wrap;gap:7px;padding:3px 20px 15px;border-bottom:1px solid var(--line);flex-shrink:0}.surface-action{border:1px solid var(--line);background:var(--panel-alt);color:var(--ink);border-radius:7px;font-size:13px;padding:8px 10px;text-align:left;line-height:1.35;min-height:34px}.surface-action:hover{border-color:var(--ocean-ring);background:var(--ocean-ring-wash)}
.surface-dialogue{flex:1;min-height:60px;overflow:auto;overscroll-behavior:contain;padding:16px 20px;scrollbar-width:thin}.surface-welcome p{font-size:15px;color:var(--ink-soft);line-height:1.65}.surface-welcome>span{display:block;font-size:12px;color:var(--ink-soft);margin-top:14px}.surface-message{margin-bottom:18px}.surface-message>span{font-size:12px;font-weight:650;color:var(--ink-soft)}.surface-message>p{font-size:15px;line-height:1.65;margin-top:6px;overflow-wrap:anywhere}.surface-message.user{background:var(--panel-alt);border:1px solid var(--line);padding:10px 12px;border-radius:9px}.surface-message-actions{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}.surface-message-actions .button{font-size:12px;padding:6px 9px}
.surface-composer{flex-shrink:0;padding:10px 16px 13px;border-top:1px solid var(--line);background:var(--panel)}.surface-composer-tools{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.surface-listen{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--ink-soft);padding:7px 3px}.surface-listen .icon{width:16px;height:16px}.surface-composer-tools .icon-button{width:30px;height:30px}.surface-agent-form{display:flex;border:1px solid color-mix(in srgb,var(--ocean-ring) 50%,var(--line));border-radius:10px;padding:5px;align-items:center;gap:3px;background:var(--panel-alt)}.surface-agent-form input{flex:1;min-width:0;font-size:15px;background:transparent;border:0;color:var(--ink);padding:9px 3px;outline:none}.surface-agent-form:focus-within{outline:2px solid var(--ocean-ring);outline-offset:2px}.surface-agent-form .icon-button,.surface-send{height:36px;width:34px;flex-shrink:0}.surface-send{display:grid;place-items:center;border-radius:8px;background:var(--ocean-ring-wash);color:var(--ink)}.surface-composer-note{font-size:11px;color:var(--ink-soft);margin:9px 3px 0;line-height:1.4}.surface-voice-options{padding:7px 3px 12px;display:grid;gap:9px}.surface-voice-options label{font-size:13px;display:flex;align-items:center;gap:9px}.surface-voice-options select{font-size:14px;background:var(--panel-alt);border:1px solid var(--line);border-radius:5px;padding:5px;color:var(--ink)}.surface-voice-options p{font-size:12px;line-height:1.5;color:var(--ink-soft)}
.ocean-inline-insight{border:1px solid color-mix(in srgb,var(--ocean-ring) 48%,var(--line));border-radius:15px;background:var(--panel);box-shadow:0 9px 30px #526e9410;overflow:hidden;margin:20px 0;scroll-margin:94px;animation:surface-arrive .25s ease-out}.surface-added{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 18px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--ocean-ring-wash) 42%,var(--panel));font-size:12px;color:var(--ink-soft)}.surface-added>span,.surface-added>div{display:flex;align-items:center;gap:6px}.surface-added .surface-action{font-size:12px;padding:4px 7px;min-height:27px;background:transparent}.surface-added .icon-button{width:28px;height:28px}.ocean-inline-insight .modal-header{padding:22px 24px 10px;border:0}.ocean-inline-insight .modal-header h2{font-size:24px;font-weight:600;letter-spacing:-.5px}.ocean-inline-insight .modal-header p{font-size:14px;color:var(--ink-soft);margin-top:7px;line-height:1.5}.ocean-inline-insight .modal-body{padding:12px 24px 24px;font-size:15px;line-height:1.65;max-height:none}.ocean-inline-insight .modal-footer{padding:15px 24px;border-top:1px solid var(--line);gap:8px;flex-wrap:wrap}.ocean-inline-insight .button,.ocean-inline-insight .select,.ocean-inline-insight textarea,.ocean-inline-insight .evidence-line{font-size:14px}.ocean-inline-insight .select{min-height:42px}.ocean-inline-insight textarea{min-height:95px}.ocean-inline-insight .subtitle,.ocean-inline-insight .check-result p,.ocean-inline-insight .check-status-banner p{font-size:15px;line-height:1.65}.ocean-inline-insight .demo-legend,.ocean-inline-insight .field-label{font-size:13px}.ocean-inline-insight .check-status-banner strong,.ocean-inline-insight h3{font-size:17px}.surface-lead{font-size:16px;line-height:1.75;max-width:800px}.surface-reading{display:grid;gap:18px;margin-top:23px}.surface-reading article{display:flex;align-items:flex-start;gap:12px}.surface-reading h3{font-size:16px}.surface-reading p{font-size:15px;color:var(--ink-soft);line-height:1.65;margin-top:5px}.surface-reading .button{margin-top:10px}.surface-colour{width:10px;height:10px;flex-shrink:0;border-radius:50%;margin-top:9px}.surface-colour.green{background:var(--gem-green)}.surface-colour.amber{background:var(--gem-amber)}.surface-colour.blue{background:var(--ocean-ring)}.surface-note{font-size:13px;line-height:1.5;color:var(--ink-soft);margin-top:24px}.surface-analogy{display:flex;align-items:center;gap:18px;margin:25px 0;padding:18px;background:var(--panel-alt);border-radius:10px;color:var(--ink-soft);font-size:14px}.surface-analogy span{flex:1}.surface-analogy b{color:var(--ink);font-size:16px}.ocean-inline-insight .work-plan-intro h2{font-size:22px}.ocean-inline-insight .work-card h3{font-size:16px}.ocean-inline-insight .work-card p{font-size:14px}
@keyframes surface-arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1220px){.has-ocean-agent .main-shell{padding-right:calc(var(--ocean-agent-width) + 35px)}.has-ocean-agent .company-hero{grid-template-columns:1fr 1fr}.has-ocean-agent .investment-story{padding:24px}.has-ocean-agent .investment-story>h2{font-size:32px}.has-ocean-agent .intelligence-grid{grid-template-columns:1fr 1fr}.has-ocean-agent .top-search{display:none}}
@media(max-width:1219px){.surface-agent{top:auto;left:max(238px,calc(50% - 300px));right:20px;bottom:16px;width:auto;height:258px;max-height:36dvh;border-radius:15px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:49px 39px minmax(0,1fr) auto;column-gap:12px;padding:0 13px}.surface-agent-head{grid-column:1 / -1;padding:8px 0 4px}.surface-agent-head h2{font-size:17px}.surface-agent .ocean-ring.header{--ring-size:39px}.surface-kicker{font-size:10px}.surface-context{grid-column:1;grid-row:2;margin:0;padding:6px 0;border-bottom:0;min-width:0}.surface-context p{display:none}.surface-context strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.surface-status{grid-column:2;grid-row:2;margin:0;padding:7px 0;min-width:0}.surface-status p{display:none}.surface-status .surface-action{margin:0;font-size:12px;padding:3px 6px;min-height:24px}.surface-status:has(.surface-action) .context-state{display:none}.surface-quick-actions{grid-column:1;grid-row:3;overflow:auto;padding:7px 0 9px;gap:5px;align-content:start;border:0}.surface-quick-actions .surface-action{font-size:12px;padding:5px 7px;min-height:29px}.surface-dialogue{grid-column:2;grid-row:3;padding:6px 0 9px;border-bottom:0;min-height:0}.surface-welcome p,.surface-message>p{font-size:13px;line-height:1.5}.surface-welcome>span{font-size:11px;margin-top:5px}.surface-message{margin-bottom:10px}.surface-composer{grid-column:1 / -1;padding:4px 0 10px}.surface-composer-tools{margin:0}.surface-composer-note{display:none}.surface-voice-options{max-height:80px;overflow:auto}.has-ocean-agent .page{padding-bottom:290px}.has-ocean-agent #toast{bottom:280px}}
@media(max-width:720px){.surface-agent{left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));height:242px;max-height:36dvh;column-gap:10px}.surface-agent-head h2{font-size:17px}.surface-context strong{font-size:12px}.surface-context .company-mark{width:20px;height:20px}.surface-status .context-state{font-size:12px}.surface-agent-form input{font-size:16px}.surface-head-actions .icon-button{height:32px}.ocean-inline-insight .modal-header{padding:19px 16px 8px}.ocean-inline-insight .modal-header h2{font-size:21px}.ocean-inline-insight .modal-body{padding:12px 16px 20px}.ocean-inline-insight .modal-footer{padding:12px 16px}.surface-added{padding:8px 12px}.surface-added>span{font-size:11px}.surface-analogy{gap:9px;padding:12px;font-size:12px}.surface-analogy b{font-size:14px}.ocean-inline-insight{scroll-margin:72px}.particle-entry{width:140px;height:140px}.ocean-ring.presence{--ring-size:135px}.particle-presence h3{font-size:21px}.chat-launch{min-width:174px;right:14px;bottom:14px}.has-ocean-agent .page{padding-bottom:268px}}
@media(max-width:720px){.sidebar.open{z-index:45}.ocean-inline-insight{scroll-margin-bottom:268px}}
@media(prefers-reduced-motion:reduce){.ocean-ring::before,.ocean-ring::after,.ocean-ring>i,.ocean-inline-insight{animation:none}}
