:root {
  color-scheme: light; --bg:#faf8f3; --panel:#fffefa; --ink:#142b48; --muted:#606d78;
  --line:#e0e1dc; --blue:#1258e8; --blue-dark:#174fae; --pale:#edf2fc; --warn:#8c4b16;
  font-family:"Avenir Next",Avenir,"Segoe UI",Arial,sans-serif; font-synthesis:none;
}
* {box-sizing:border-box}
[hidden] {display:none!important}
html,body {margin:0;height:100%;background:var(--bg);color:var(--ink);font-size:16px;-webkit-text-size-adjust:100%}
body {height:100dvh;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top);overflow:hidden}
button,input,textarea {font:inherit}
button {cursor:pointer;touch-action:manipulation}
button,a,textarea,input {-webkit-tap-highlight-color:transparent}
button:disabled {cursor:default;opacity:.5}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,#messages:focus-visible {outline:3px solid #7196df;outline-offset:4px}
button {transition:background .16s ease,box-shadow .16s ease}
a {color:var(--blue)}
.skip-link {position:fixed;left:16px;top:-80px;padding:12px 18px;z-index:5;background:var(--panel);border-radius:12px}
.skip-link:focus {top:12px}
.site-header {min-height:86px;padding:0 clamp(20px,5.5vw,88px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);flex-shrink:0}
.wordmark {color:var(--ink);font-size:25px;letter-spacing:-1.1px;font-weight:760;text-decoration:none}
.wordmark span {color:var(--blue);font-weight:500}
.header-right {display:flex;gap:24px;align-items:center}
.private-label {display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px}
.lock {display:inline-block;width:10px;height:8px;border:1.4px solid currentColor;border-radius:2px;position:relative;margin-top:4px}
.lock:before {content:"";position:absolute;width:6px;height:6px;border:1.4px solid currentColor;border-bottom:0;left:.6px;top:-6px;border-radius:5px 5px 0 0}
.quiet {border:0;background:transparent;font-size:12px;color:var(--muted);padding:12px 0}
.quiet:hover,.text-button:hover,.link:hover {color:var(--blue-dark)}
main {flex:1;display:flex;min-height:0;flex-direction:column}
#workspace {display:flex;flex:1;min-height:0;flex-direction:column;width:min(100%,960px);align-self:center;padding:0 38px}
.workspace-heading {display:flex;align-items:center;justify-content:space-between;padding:32px 0 23px;gap:12px;flex-shrink:0}
.identity {display:flex;align-items:center;gap:13px}
h1,h2,h3,p {margin:0}
.identity h1 {font-size:19px;font-weight:650;letter-spacing:-.45px;line-height:1.5}
.identity p {font-size:12px;color:var(--muted);line-height:1.6}
.avatar {display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:44px;height:44px;border-radius:15px;background:linear-gradient(145deg,#78b7ed 0%,#418ae7 45%,#355ce0 100%);box-shadow:inset 0 1px 0 #ffffff8f,0 4px 13px #3864b91b;color:#fff;font-family:Georgia,serif;font-size:34px;font-style:italic;font-weight:bold;line-height:1;padding:0 4px 5px 0}
.avatar.large {width:66px;height:66px;border-radius:22px;font-size:51px;margin-bottom:24px}
.connection {font-size:11px;color:var(--muted);display:flex;align-items:center;gap:6px;white-space:nowrap}
.status-dot {width:6px;height:6px;border-radius:50%;background:#9ca6ac}
.connection.connected .status-dot {background:#3e8a69}
.connection.offline .status-dot,.connection.reconnecting .status-dot {background:#b58135}
#tabs {display:flex;gap:26px;border-bottom:1px solid var(--line);flex-shrink:0}
#tabs button {position:relative;border:0;background:none;padding:0 0 16px;color:var(--muted);font-size:13px;display:flex;gap:7px;align-items:center}
#tabs button.on {color:var(--ink);font-weight:650}
#tabs button.on:after {content:"";position:absolute;height:2px;background:var(--blue);bottom:-1px;left:0;right:0;border-radius:2px}
.attention-dot {height:6px;width:6px;border-radius:50%;background:#bd761f}
#view-chat {display:flex;position:relative;flex:1;min-height:0;flex-direction:column}
#messages {flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#d3d9dc transparent;padding:28px 2px 12px;scroll-behavior:auto;-webkit-overflow-scrolling:touch}
.history-loading {font-size:12px;color:var(--muted);padding:24px 2px 0}
#approval-inbox {flex-shrink:0;max-height:150px;overflow:auto;padding:12px 0;border-bottom:1px solid var(--line)}
#approval-inbox h2 {font-size:12px;font-weight:650;margin:0 0 8px;color:#76531f}
#approval-requests {display:flex;flex-wrap:wrap;gap:8px}
#approval-requests button {font-size:11px;white-space:normal;text-align:left}
#load-older {flex-shrink:0;align-self:center;margin:10px 0 0}
#older-error {flex-shrink:0;font-size:12px;margin:8px 0}
.welcome {text-align:center;margin:clamp(24px,7vh,76px) auto 36px;max-width:480px;padding:12px 8px}
.welcome-mark {display:inline-block;font-size:32px;color:#6d99dc;margin-bottom:25px}
.eyebrow {font-size:10px;letter-spacing:1.6px;font-weight:650;color:var(--muted);line-height:1.5}
.welcome h2 {font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:36px;letter-spacing:-1.3px;line-height:1.25;margin:14px 0 14px}
.welcome>p:last-of-type {font-size:14px;color:var(--muted);line-height:1.8}
.starter {margin:26px auto 0;display:flex;gap:13px;align-items:center;padding:13px 17px;border:1px solid var(--line);border-radius:14px;background:#ffffffb3;color:var(--ink);font-size:12px;box-shadow:0 3px 8px #18344703}
.starter>span:first-child {color:var(--blue);font-size:20px}
.starter-arrow {margin-left:18px;color:var(--muted)}
.starter:hover {background:var(--pale);border-color:#cbd8f1}
.day-divider {display:flex;align-items:center;gap:12px;color:var(--muted);font-size:10px;letter-spacing:.3px;margin:0 0 24px}
.day-divider:before,.day-divider:after {content:"";height:1px;flex:1;background:var(--line)}
.row {display:flex;flex-direction:column;margin:0 0 28px;align-items:flex-start;overflow-wrap:anywhere}
.row.you {align-items:flex-end;margin:0 0 27px}
.message-label {font-size:10px;color:var(--muted);margin:0 0 8px 2px;letter-spacing:.3px}
.bubble {max-width:88%;font-size:14px;line-height:1.85;min-width:0;overflow-wrap:anywhere}
.you .bubble {padding:13px 18px;background:var(--pale);border:1px solid #e2eafa;border-radius:18px 18px 5px 18px;white-space:pre-wrap;color:#25415a}
.them .bubble {padding:0 2px}
.bubble p+p,.bubble ul+p,.bubble ol+p {margin-top:12px}
.bubble ul,.bubble ol {padding-left:20px;margin:9px 0}
.bubble li {padding-left:3px;margin:5px 0}
.bubble strong {font-weight:650}
.bubble a {text-underline-offset:3px}
.bubble .reply-heading {font-size:15px;font-weight:650;margin:14px 0 6px}
.bubble code {font-family:ui-monospace,monospace;font-size:.9em;background:#eaf0f4;border-radius:4px;padding:1px 4px}
.time {font-size:10px;color:#73828c;margin:8px 2px 0}
.bubble.closed {color:var(--muted)}
.approval-card {width:min(100%,620px);background:var(--panel);border:1px solid #d8e2ef;border-radius:18px;padding:21px 23px;box-shadow:0 5px 24px #16304705}
.approval-card .bubble {max-width:100%;padding:0}
.approval-kicker {display:flex;gap:7px;align-items:center;color:#85601c;font-size:10px;font-weight:650;letter-spacing:.4px;margin-bottom:12px}
.approval-kicker:before {content:"";width:6px;height:6px;border-radius:50%;background:#bc862d}
.actions {display:flex;gap:9px;margin-top:18px;flex-wrap:wrap}
.primary,.secondary {border-radius:10px;font-size:12px;font-weight:600;padding:12px 17px;min-height:44px}
.primary {background:var(--blue);color:#fff;border:1px solid var(--blue)}
.primary:hover {background:var(--blue-dark)}
.secondary {background:#fff;color:var(--ink);border:1px solid #dce1e6}
.secondary:hover {background:#f1f5fa}
.actions button {min-width:98px}
.decision-note {font-size:12px;color:var(--muted);margin-top:12px}
.composer-area {padding:14px 0 calc(18px + env(safe-area-inset-bottom));background:var(--bg);flex-shrink:0}
#composer {display:flex;align-items:flex-end;gap:12px;padding:12px 13px 12px 21px;border:1px solid #e0e4e7;border-radius:25px;background:var(--panel);box-shadow:0 6px 30px #253e5a06}
#composer:focus-within {border-color:#b5c9ee;box-shadow:0 0 0 3px #3379df07}
#input {flex:1;width:0;min-width:0;border:0;resize:none;background:none;color:var(--ink);font-size:14px;line-height:24px;padding:5px 0;max-height:144px;outline:none}
#input::placeholder {color:#83909a}
#input:focus-visible {outline:none}
.send-button {display:flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;border:0;border-radius:50%;background:var(--blue);color:#fff;font-size:23px;line-height:1}
.send-button:hover {background:var(--blue-dark)}
.send-button:disabled {background:#ebeff3;color:#8998a6;opacity:1}
.composer-footer {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:0 9px}
.composer-footer p {font-size:10px;color:#71808a;line-height:1.6}
.text-button {background:transparent;border:0;padding:3px 0;color:var(--blue);font-size:11px;text-decoration:underline;text-underline-offset:3px;white-space:nowrap;min-height:28px}
.send-status {font-size:11px;color:var(--muted);margin:0 10px 10px}
.chat-alert {display:flex;gap:12px;align-items:center;padding:12px 15px;border:1px solid #edddc9;background:#fffaf1;border-radius:13px;margin-bottom:10px}
.error {color:#9a362f;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.chat-alert .error {flex:1;color:#89571d}
.new-messages {position:absolute;bottom:135px;left:50%;transform:translateX(-50%);border:1px solid #d8e4f6;background:var(--panel);border-radius:20px;color:var(--blue);padding:10px 15px;font-size:12px;box-shadow:0 4px 20px #18344712;z-index:1}
#view-activity {flex:1;min-height:0;overflow:auto;padding:30px 0 35px}
.activity-heading {display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}
.activity-heading h2 {font-family:Georgia,"Times New Roman",serif;font-size:30px;font-weight:400;letter-spacing:-.7px;margin:8px 0 10px}
.activity-heading p:last-child {font-size:12px;color:var(--muted);line-height:1.7;max-width:460px}
.activity-group {background:#fff;border:1px solid var(--line);border-radius:16px;margin-bottom:18px;padding:20px 23px}
.activity-group h3 {font-size:13px;font-weight:600;margin-bottom:7px}
.activity-date {font-size:10px;color:var(--muted);margin-bottom:17px}
.activity-steps {list-style:none;padding:0;margin:0}
.entry {position:relative;padding:0 0 17px 22px;font-size:12px;color:var(--muted);line-height:1.6}
.entry:before {position:absolute;content:"";left:2px;top:6px;width:5px;height:5px;background:#9badbd;border-radius:50%}
.entry:after {position:absolute;content:"";left:4px;top:15px;bottom:2px;width:1px;background:#e4e9ef}
.entry:last-child {padding-bottom:0}
.entry:last-child:after {display:none}
.entry.warn {color:var(--warn)}
.entry.warn:before {background:#be8b45}
.entry time {display:block;font-size:10px;color:#7f8c95;margin-top:3px}
.activity-empty {padding:35px 24px;text-align:center;border:1px dashed #d9dfe5;border-radius:18px;color:var(--muted);font-size:13px;line-height:1.8}
.auth-view {display:flex;flex:1;min-height:0;overflow:auto;padding:40px 24px}
.auth-card {width:100%;max-width:380px;margin:auto;text-align:center;padding:14px 4px}
.auth-card h1 {font-family:Georgia,"Times New Roman",serif;font-size:37px;letter-spacing:-1.3px;font-weight:400;line-height:1.18;margin:12px 0 18px}
.auth-card>p:not(.eyebrow):not(.error):not(.field-help):not(.auth-footnote) {font-size:14px;color:var(--muted);line-height:1.85;margin-bottom:25px}
.wide {width:100%;display:flex;align-items:center;justify-content:center;gap:12px;font-size:13px;padding:14px 18px}
.link {display:block;background:none;border:0;font-size:12px;color:var(--muted);text-underline-offset:4px;text-decoration:underline;margin:18px auto 0;padding:9px}
.auth-card .error {margin-top:14px}
.auth-footnote {font-size:10px;line-height:1.6;color:var(--muted);margin-top:22px}
.hint {background:var(--pale);border-radius:10px;padding:12px;font-size:12px!important;margin-top:20px}
.field-label {display:block;text-align:left;font-size:12px;font-weight:600;margin-bottom:8px}
#enrol-code {width:100%;border:1px solid #dbe1e8;border-radius:12px;background:#fff;padding:13px;font-size:20px;letter-spacing:4px;text-align:center;text-transform:uppercase;color:var(--ink)}
.field-help {text-align:left;color:var(--muted);font-size:11px;line-height:1.7;margin:9px 0 20px}
.loading-line {width:80px;height:3px;margin:24px auto;background:linear-gradient(90deg,#dee7f4,#6a9ce9,#dee7f4);border-radius:4px;animation:loading 1.5s ease-in-out infinite}
@keyframes loading {50% {opacity:.35}}
.noscript {position:fixed;inset:40% 20%;background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;line-height:1.8;z-index:10}
.preview-banner {background:#ecf2fb;border-bottom:1px solid #d9e3f2;text-align:center;color:#3a5275;padding:9px 16px;font-size:11px;line-height:1.6;flex-shrink:0}
@media(min-width:1200px) {#workspace {width:940px}.workspace-heading {padding-top:38px}.bubble {font-size:15px}}
@media(max-width:600px) {
 .site-header {min-height:67px;padding:0 21px}.wordmark {font-size:22px}.header-right {gap:18px}
 #workspace {padding:0 21px}.workspace-heading {padding:23px 0 21px}.identity h1 {font-size:17px}.identity p {font-size:11px}.avatar {width:40px;height:40px;font-size:31px;border-radius:13px}
 #tabs {gap:24px}#tabs button {font-size:12px;padding-bottom:14px}.connection {font-size:10px}
 #messages {padding-top:24px}.bubble {font-size:14px;max-width:94%;line-height:1.8}.you .bubble {padding:11px 15px}.row {margin-bottom:26px}
 .welcome {margin:25px auto 30px}.welcome h2 {font-size:31px}.welcome-mark {margin-bottom:21px}
 .composer-area {padding-bottom:calc(13px + env(safe-area-inset-bottom))}#composer {border-radius:23px;padding:10px 11px 10px 16px;gap:8px}#input {font-size:16px}.send-button {width:36px;height:36px}
 .composer-footer {padding:0 4px;align-items:flex-start}.composer-footer p {font-size:9px;max-width:220px}.composer-footer .text-button {font-size:10px;white-space:normal;text-align:right;line-height:1.5}
 .approval-card {padding:18px}.actions button {flex:1}.activity-heading {align-items:flex-start}.activity-heading h2 {font-size:28px}.activity-heading .secondary {padding:10px 12px;font-size:11px}.activity-group {padding:18px}
 .chat-alert {flex-wrap:wrap;gap:6px 12px}.chat-alert .error {flex-basis:100%}.auth-card h1 {font-size:34px}
}
@media(max-height:650px) {.workspace-heading {padding-top:18px;padding-bottom:15px}.welcome {margin-top:12px}.welcome-mark {margin-bottom:14px}.welcome h2 {font-size:29px}.welcome .starter {margin-top:20px}.site-header {min-height:62px}.auth-view {padding-top:25px;padding-bottom:25px}}

/* Practical prompts and a direct route to the next decision. */
.welcome {max-width:650px;margin-top:clamp(20px,4vh,45px)}
.welcome-mark {width:58px;height:58px;border-radius:21px;display:inline-flex;align-items:center;justify-content:center;background:radial-gradient(circle at 25% 15%,#e3effd,#f5eee4);font-size:34px;box-shadow:0 7px 25px #315c9d08;margin-bottom:20px}
.welcome h2 {font-size:39px;margin:14px 0 13px}
.welcome>p:last-of-type {font-size:10px;margin-top:16px;color:#71808a}
.starter-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:29px auto 0;text-align:left}
.starter-card {display:flex;position:relative;flex-direction:column;align-items:flex-start;gap:7px;border:1px solid #e3e7e9;background:#fffdfb;border-radius:16px;padding:17px 16px 18px;text-align:left;color:var(--ink);box-shadow:0 4px 16px #18344703;min-width:0}
.starter-card:hover {border-color:#b6cbed;background:#f5f8fd;box-shadow:0 7px 22px #315c9d0a}
.starter-icon {display:flex;align-items:center;justify-content:center;width:31px;height:31px;background:#edf3fd;border-radius:10px;font-size:20px;color:var(--blue);margin-bottom:6px}
.starter-card:nth-child(2) .starter-icon {background:#f5efe2;color:#9c793c}
.starter-card:nth-child(3) .starter-icon {background:#edf2ed;color:#58816a}
.starter-card strong {font-size:12px;font-weight:650;letter-spacing:-.1px}
.starter-card>span:not(.starter-icon):not(.card-arrow) {font-size:10px;color:var(--muted);line-height:1.6;padding-right:7px}
.starter-card .card-arrow {position:absolute;right:14px;top:18px;color:#8a9ba9;font-size:14px}
.focus-strip {display:flex;align-items:center;gap:12px;border:1px solid #e3e8ed;border-radius:14px;background:#f2f5f9;padding:12px 14px;margin-bottom:12px}
.focus-mark {width:7px;height:7px;border-radius:50%;background:#7496c5;flex-shrink:0}
.focus-copy {flex:1;min-width:0}
#focus-title {font-size:11px;font-weight:650;line-height:1.6}
#focus-detail {font-size:10px;line-height:1.6;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.focus-action {border:0;background:none;color:var(--blue);font-size:11px;font-weight:600;padding:9px 0 9px 6px;white-space:nowrap}
.focus-strip.approval {background:#fff9ee;border-color:#eee0c7}.focus-strip.approval .focus-mark {background:#b5863e}.focus-strip.approval #focus-title {color:#76531f}
.focus-strip.waiting .focus-mark {box-shadow:0 0 0 4px #7496c51a}
.starter-panel {background:#fff;border:1px solid #e1e7ed;border-radius:15px;padding:14px;margin-bottom:12px}
.starter-panel>p {font-size:12px;font-weight:600;margin-bottom:12px}
.starter-panel>div {display:flex;gap:8px;flex-wrap:wrap}
.starter-panel button {background:#f6f8fc;border:1px solid #e1e8f3;border-radius:9px;color:#32557f;padding:9px 11px;font-size:11px;min-height:36px}
.starter-panel button:hover {background:#edf3ff}
.message-footer {display:flex;gap:14px;align-items:center;margin:8px 2px 0}
.message-footer .time {margin:0}
.copy-reply {border:0;background:none;color:#73828c;font-size:10px;padding:4px 0;min-height:24px}
.copy-reply:hover {color:var(--blue)}
.composer-tools {display:flex;gap:16px;align-items:center;flex-shrink:0}
.screen-notice {font-size:11px;color:var(--muted);line-height:1.6;padding:8px 8px 0}
@media(max-width:600px) {
 .welcome {margin-top:20px;padding:4px 0}.welcome h2 {font-size:32px;max-width:300px;margin-left:auto;margin-right:auto}.welcome-mark {display:none}
 .starter-grid {grid-template-columns:1fr;gap:9px;margin-top:23px}.starter-card {display:grid;grid-template-columns:35px 1fr;gap:2px 11px;padding:13px 15px;border-radius:13px}.starter-icon {grid-row:1/3;margin:0;align-self:center}.starter-card strong {align-self:end;font-size:12px}.starter-card .card-arrow {top:23px;right:15px}.starter-card>span:not(.starter-icon):not(.card-arrow) {font-size:10px}
 .focus-strip {gap:9px;padding:11px 12px}.focus-action {font-size:10px}#focus-detail {font-size:9px}#focus-title {font-size:10px}
 .composer-footer {gap:5px;flex-wrap:wrap}.composer-footer p {max-width:none;flex-basis:100%}.composer-tools {width:100%;justify-content:space-between;gap:10px}.composer-tools .text-button {min-height:25px;text-align:left}
}
@media(max-height:650px) {.welcome {margin-top:12px}.welcome h2 {font-size:29px}.welcome-mark {margin-bottom:12px}.starter-grid {margin-top:18px}}
.avatar,.avatar.large,.welcome-mark {background:transparent url("/app/sapphire-180.png") center/contain no-repeat;box-shadow:none;padding:0;border-radius:0}
.workspace-heading {position:relative;isolation:isolate}
.workspace-heading::before {content:"";position:absolute;inset:0 0 0 36%;z-index:-1;pointer-events:none;background:linear-gradient(90deg,var(--bg),transparent 44%,var(--bg)),linear-gradient(0deg,var(--bg),transparent 28%,transparent 70%,var(--bg)),url("/app/coast.jpg") 50% 53%/cover no-repeat;opacity:.52}
.connection {background:var(--bg)}
.flight-research {width:min(100%,620px)}
.flight-research h3 {font-size:22px;margin:6px 0}
.flight-criteria,.flight-note {color:var(--muted);font-size:12px;line-height:1.65}
.flight-option {background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:16px;margin:12px 0}
.flight-option h4 {font-size:14px;line-height:1.6;margin:0 0 9px}
.flight-fare {font-size:19px;font-weight:650;color:var(--ink);margin:8px 0 12px}
.flight-option details {font-size:12px;line-height:1.75;margin:10px 0;color:var(--muted)}
.flight-option summary {cursor:pointer;min-height:32px}
.flight-option details p {white-space:pre-line}
.flight-source {display:inline-block;font-size:12px;margin-left:18px}
@media(max-width:600px),(max-height:650px){.workspace-heading::before {display:none}}
@media(prefers-reduced-motion:reduce) {* {animation:none!important;transition:none!important;scroll-behavior:auto!important}}
#task-progress { flex: none; max-height: 28vh; overflow-y: auto; padding: 8px 12px; border-bottom: 1px solid var(--line); background: var(--panel); }
.task-update { display: flex; align-items: baseline; gap: 10px; padding: 5px 0; font-size: 13px; line-height: 1.35; }
.task-update-text { flex: 1; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.task-update time { flex: none; color: var(--muted); font-size: 11px; }
.task-update.warn .task-update-text { color: var(--warn); }
.task-refresh-error { flex: none; color: var(--warn); font-size: 13px; margin: 0; padding: 8px 12px; border-bottom: 1px solid var(--line); }
@media (max-width: 480px) { .task-update { flex-wrap: wrap; gap: 2px 8px; } .task-update-text { flex-basis: 100%; } }

