/* Oracle is a full-viewport presence, and that only holds inside
   body.oracle-voice-mode, where the sidenav and app bar are hidden and this column
   is the page. Rendered in the ordinary layout, these three would fill the
   viewport and cover the app around them, which is what a boot that painted
   this view before the router ran used to do. The invariant lives here
   rather than in the order the calls happen to run. */
#view-oracle{margin:0;padding:0}
body.oracle-voice-mode #view-oracle,body.oracle-voice-mode #oracle-root,body.oracle-voice-mode .oracle-shell{min-height:100dvh}
.oracle-shell{color:var(--ink);font-family:var(--ui)}
.oracle-shell *{box-sizing:border-box}
.oracle-shell button,.oracle-shell textarea{font:inherit}
.oracle-shell button{min-height:44px;border:1px solid var(--edge);border-radius:var(--r-control);background:var(--card);color:var(--ink);box-shadow:var(--control-inset);cursor:pointer;transition:transform .24s var(--ease),background-color .24s var(--ease),border-color .24s var(--ease),color .24s var(--ease)}
.oracle-shell button:hover{border-color:var(--faint);background:var(--sunk)}
.oracle-shell button:active{transform:scale(.97)}
.oracle-shell button:focus-visible,.oracle-shell a:focus-visible,.oracle-shell textarea:focus-visible,.oracle-shell summary:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
.oracle-shell button:disabled{cursor:not-allowed;opacity:.48}
.oracle-shell p,.oracle-shell h1,.oracle-shell h2,.oracle-shell h3,.oracle-shell ol,.oracle-shell ul,.oracle-shell dl{margin:0}

.oracle-stage{--oracle-level:0;position:relative;isolation:isolate;display:grid;grid-template-rows:auto 1fr;min-height:100dvh;overflow:hidden;background:radial-gradient(circle at 51% 43%,color-mix(in srgb,var(--brand-soft) 68%,transparent) 0,transparent 34%),radial-gradient(circle at 10% 5%,color-mix(in srgb,var(--card) 82%,transparent) 0,transparent 28%),linear-gradient(145deg,var(--paper),color-mix(in srgb,var(--sunk) 72%,var(--paper)))}
.oracle-stage::before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;opacity:.24;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E")}
.oracle-stage-top{position:relative;z-index:2;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;min-height:76px;padding:16px clamp(20px,3vw,46px)}
.oracle-stage-top>button{border-color:transparent;background:transparent;box-shadow:none;color:var(--soft);font-size:var(--t-xs);font-weight:600}
.oracle-stage-top>button:last-child{justify-self:end;padding-inline:14px}
.oracle-stage-menu{justify-self:start;width:44px;padding:0;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.oracle-stage-menu span{display:block;width:19px;height:1.5px;border-radius:2px;background:currentColor}
.oracle-stage-brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none}
.oracle-stage-brand img{width:27px;height:27px}
.oracle-stage-brand>span{display:flex;flex-direction:column;line-height:1.08}
.oracle-stage-brand b{font-size:var(--t-sm);font-weight:700;letter-spacing:-.02em}
.oracle-stage-brand small{max-width:24ch;margin-top:4px;color:var(--faint);font-size:var(--t-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.oracle-presence-space{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:calc(100dvh - 76px);padding:0 clamp(16px,3vw,46px) max(22px,env(safe-area-inset-bottom));text-align:center}
.oracle-presence{position:relative;width:min(100%,920px);height:clamp(340px,64dvh,760px);display:grid;place-items:center;flex:none;transform:translateZ(0)}
.oracle-current{position:absolute;z-index:2;inset:0;display:block;width:100%;height:100%}
.oracle-presence-shadow{display:none}
.oracle-prompt{position:relative;z-index:3;max-width:660px;min-height:42px;padding-inline:8px}
.oracle-shell .oracle-prompt h1{margin:0;font-family:var(--display);font-size:var(--t-xl);font-weight:500;line-height:1.2;letter-spacing:-.035em;text-wrap:balance}
.oracle-prompt p{max-width:540px;margin:10px auto 0;color:var(--soft);font-size:var(--t-xs);line-height:1.5}
.oracle-voice-controls{position:relative;z-index:3;display:flex;align-items:center;flex-direction:column;gap:10px;margin-top:10px}
.oracle-shell .oracle-microphone{display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:10px 17px;border-radius:var(--r-control-lg);border:1px solid var(--edge);background:var(--card);color:var(--soft);font-size:var(--t-xs);font-weight:600;box-shadow:var(--control-rest)}
.oracle-shell .oracle-microphone[aria-pressed="true"]{background:var(--brand-soft);color:var(--brand-on-soft);border-color:color-mix(in srgb,var(--brand) 25%,var(--edge))}
.oracle-shell .oracle-microphone:hover{color:var(--ink);border-color:var(--faint)}
.oracle-voice-controls>p{max-width:400px;color:var(--soft);font-size:var(--t-xs);line-height:1.45}
.oracle-fallbacks{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px;margin-top:8px;color:var(--edge)}
.oracle-fallbacks button,.oracle-fallbacks a{min-height:44px;padding:9px 5px;border:0;background:transparent;box-shadow:none;color:var(--soft);font-size:var(--t-xs);text-decoration:none}
.oracle-fallbacks button:hover,.oracle-fallbacks a:hover{background:transparent;color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.oracle-audio-notice{max-width:480px;color:var(--soft);font-size:var(--t-xs);line-height:1.5}
.oracle-shell .oracle-stop{position:relative;z-index:3;margin-top:7px;min-height:44px;padding:5px 10px;border-color:transparent;background:transparent;box-shadow:none;color:var(--brand-on-soft);font-size:var(--t-xs)}

.oracle-sheet{position:fixed;z-index:50;inset:0 0 0 auto;width:min(720px,100vw);height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-left:1px solid var(--edge);border-radius:0;background:var(--paper);color:var(--ink);box-shadow:-20px 0 70px color-mix(in srgb,var(--ink) 18%,transparent);overflow-y:auto;overscroll-behavior:contain}
.oracle-sheet::backdrop{background:var(--scrim);backdrop-filter:blur(3px)}
.oracle-history{width:min(430px,100vw);background:var(--sunk)}
.oracle-type-sheet,.oracle-settings-sheet{width:min(560px,100vw)}
.oracle-sheet-head{position:sticky;z-index:2;top:0;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:80px;padding:18px clamp(20px,4vw,34px);border-bottom:1px solid var(--edge-soft);background:color-mix(in srgb,var(--paper) 94%,transparent);backdrop-filter:blur(14px)}
.oracle-history .oracle-sheet-head{background:color-mix(in srgb,var(--sunk) 94%,transparent)}
.oracle-sheet-head p{color:var(--faint);font-size:var(--t-xs);font-weight:700}
.oracle-sheet-head h2{margin-top:3px;font-size:var(--t-lg);line-height:1.2;letter-spacing:-.025em}
.oracle-sheet-head button{padding-inline:10px;border-color:transparent;background:transparent;box-shadow:none;color:var(--soft);font-size:var(--t-xs)}
.oracle-history-tools{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px clamp(20px,4vw,30px) 12px}
.oracle-history-tools button{color:var(--brand-on-soft);font-size:var(--t-xs);font-weight:700}.oracle-history-tools span{color:var(--faint);font-size:var(--t-xs)}
.oracle-history-list{display:flex;flex-direction:column;gap:5px;list-style:none;padding:0 clamp(14px,3vw,24px) 24px}
.oracle-history-list button{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;width:100%;min-height:58px;padding:12px;border-color:transparent;background:transparent;box-shadow:none;text-align:left}
.oracle-history-list button:hover,.oracle-history-list button[aria-current="true"]{background:var(--card);border-color:var(--edge-soft)}
.oracle-history-list button[aria-current="true"]{background:var(--brand-soft);color:var(--brand-on-soft)}.oracle-history-list button[aria-current="true"] time{color:inherit}
.oracle-history-list button span{font-size:var(--t-xs);font-weight:600;line-height:1.35}.oracle-history-list time{flex:none;color:var(--faint);font-size:var(--t-xs)}.oracle-history-empty{padding:20px;color:var(--faint);font-size:var(--t-xs)}
.oracle-sheet-foot{display:flex;flex-wrap:wrap;gap:7px;padding:18px clamp(20px,4vw,30px);border-top:1px solid var(--edge)}
.oracle-sheet-foot button{background:transparent;box-shadow:none;color:var(--soft);font-size:var(--t-xs)}

.oracle-composer{padding:30px clamp(20px,5vw,38px)}
.oracle-composer>label{display:block;margin-bottom:11px;font-size:var(--t-xs);font-weight:700}
.oracle-composer textarea,.oracle-source-form textarea,.oracle-feedback-form textarea{display:block;width:100%;border:1px solid var(--edge);border-radius:var(--r-control);background:var(--card);color:var(--ink);padding:13px 14px;line-height:1.55;resize:vertical}
.oracle-composer textarea{min-height:150px;font-size:var(--t-sm)}.oracle-source-form textarea,.oracle-feedback-form textarea{min-height:96px;margin-top:7px;font-size:var(--t-xs)}
.oracle-composer-foot{display:flex;justify-content:space-between;gap:15px;margin-top:8px;color:var(--faint);font-size:var(--t-xs);line-height:1.45}
.oracle-composer-foot span:last-child{text-align:right}
.oracle-form-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:15px}
.oracle-form-actions button{font-size:var(--t-xs)}
.oracle-shell .oracle-primary{border-color:var(--brand);background:var(--brand);color:var(--brand-ink);font-weight:700}
.oracle-inline-error{margin-top:12px;color:var(--brand-on-soft);font-size:var(--t-xs);line-height:1.5}

.oracle-settings-sheet>p{max-width:48ch;margin:0 clamp(20px,5vw,38px);padding:20px 0;border-bottom:1px solid var(--edge-soft);color:var(--soft);font-size:var(--t-sm);line-height:1.65}
.oracle-conversation-tools{display:flex;gap:8px;padding:18px clamp(20px,4vw,34px) 0}.oracle-conversation-tools button{font-size:var(--t-xs);background:transparent;box-shadow:none}
.oracle-transcript{padding:8px clamp(20px,4vw,38px) 50px}
.oracle-message{min-width:0;padding:24px 0;border-bottom:1px solid var(--edge-soft)}
.oracle-message-user{padding-left:clamp(16px,7vw,70px)}
.oracle-message-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin-bottom:8px;color:var(--faint);font-size:var(--t-xs)}.oracle-message-meta strong{color:var(--ink);font-size:var(--t-xs)}.oracle-message-meta span{color:var(--brand-on-soft)}
.oracle-message-text{font-size:var(--t-sm);line-height:1.68;overflow-wrap:anywhere}.oracle-message-user .oracle-message-text{padding:13px 15px;border-radius:var(--r);background:var(--sunk)}
.oracle-receipt .oracle-message-meta span{color:var(--soft)}
.oracle-answer-notice{margin-top:12px;color:var(--soft);font-size:var(--t-xs);line-height:1.5}
.oracle-receipt>details{margin-top:10px;color:var(--soft);font-size:var(--t-xs)}.oracle-receipt>details summary,.oracle-answer-limits summary,.oracle-source summary,.oracle-feedback-form summary{display:flex;align-items:center;width:max-content;max-width:100%;min-height:44px;cursor:pointer}
.oracle-receipt dl,.oracle-source dl{margin-top:5px;padding:12px;border-radius:var(--r-sm);background:var(--sunk)}
.oracle-receipt dl>div,.oracle-source dl>div{display:grid;grid-template-columns:68px minmax(0,1fr);gap:9px;padding:4px 0}.oracle-receipt dt,.oracle-source dt{color:var(--faint)}.oracle-receipt dd,.oracle-source dd{margin:0;overflow-wrap:anywhere}.oracle-receipt-body{white-space:pre-wrap}
.oracle-sources{margin-top:24px}.oracle-sources>h3{color:var(--faint);font-size:var(--t-xs)}.oracle-sources>ol{list-style:none;padding:0}.oracle-source{padding:16px 0;border-bottom:1px solid var(--edge-soft)}
.oracle-source-title{display:flex;gap:10px;align-items:flex-start}.oracle-source-title>span{display:grid;place-items:center;flex:none;width:24px;height:24px;border-radius:50%;background:var(--brand-soft);color:var(--brand-on-soft);font-size:var(--t-xs);font-weight:700}.oracle-source-title strong{padding-top:2px;font-size:var(--t-xs)}.oracle-source-title a{color:var(--ink);text-underline-offset:3px}.oracle-source blockquote{margin:10px 0 4px 34px;color:var(--soft);font-size:var(--t-xs);line-height:1.55}.oracle-source details{margin-left:34px;color:var(--soft);font-size:var(--t-xs)}.oracle-source dl{font-family:var(--mono)}
.oracle-source-actions{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0 0 34px}.oracle-source-actions button,.oracle-retry{min-height:38px;padding:6px 10px;background:transparent!important;box-shadow:none!important;color:var(--brand-on-soft)!important;font-size:var(--t-xs)}
.oracle-source-form,.oracle-feedback-form{margin:12px 0 0 34px;padding:15px;border-radius:var(--r);background:var(--sunk)}.oracle-source-form label,.oracle-feedback-form label{font-size:var(--t-xs);font-weight:600}.oracle-effect-preview{margin-top:12px;padding:11px 13px;border-radius:var(--r-sm);background:var(--card);font-size:var(--t-xs);line-height:1.5}.oracle-effect-preview p{margin-top:3px;color:var(--soft)}.oracle-effect-preview span{font-family:var(--mono);overflow-wrap:anywhere}
.oracle-action-complete,.oracle-feedback-complete{margin:12px 0 0 34px;color:var(--soft);font-size:var(--t-xs)}.oracle-feedback-prompt{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-top:18px;color:var(--faint);font-size:var(--t-xs)}.oracle-feedback-prompt button{min-height:34px;padding:5px 8px;border-color:transparent;background:transparent;box-shadow:none;color:var(--soft);font-size:var(--t-xs)}.oracle-feedback-form details{color:var(--soft);font-size:var(--t-xs)}.oracle-feedback-form details p{line-height:1.5}
.oracle-answer-limits{margin-top:14px;color:var(--soft);font-size:var(--t-xs)}.oracle-answer-limits>div{margin:5px 0 10px;padding-left:12px;border-left:1px solid var(--edge)}.oracle-answer-limits ul{margin-top:5px;padding-left:18px}
.oracle-turn-status{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 clamp(20px,4vw,38px) 30px;padding:13px 14px;border:1px solid var(--edge);border-radius:var(--r);background:var(--card)}.oracle-turn-status>div{display:flex;gap:10px}.oracle-turn-status p{display:flex;flex-direction:column}.oracle-turn-status strong{font-size:var(--t-xs)}.oracle-turn-status small{margin-top:2px;color:var(--soft);font-size:var(--t-xs)}.oracle-turn-status button{font-size:var(--t-xs);background:transparent;box-shadow:none}.oracle-status-mark{width:9px;height:9px;margin-top:5px;border:2px solid var(--brand);border-radius:50%}
.oracle-conversation-empty{padding:50px 0;text-align:center}.oracle-conversation-empty h3{font-size:var(--t-md)}.oracle-conversation-empty p{margin-top:7px;color:var(--soft);font-size:var(--t-xs)}
.oracle-delete-confirm{margin:14px clamp(20px,4vw,34px);padding:16px;border:1px solid var(--edge);border-radius:var(--r);background:var(--sunk)}.oracle-delete-confirm strong{font-size:var(--t-xs)}.oracle-delete-confirm p{margin-top:7px;color:var(--soft);font-size:var(--t-xs);line-height:1.5}.oracle-delete-confirm>div{display:flex;justify-content:flex-end;gap:7px;margin-top:12px}.oracle-delete-confirm button{font-size:var(--t-xs)}.oracle-delete-final{border-color:var(--ink)!important;background:var(--ink)!important;color:var(--paper)!important}
.oracle-diagnostics{margin:0 20px 25px;padding:14px;border:1px solid var(--edge);border-radius:var(--r);background:var(--card)}.oracle-diagnostics>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}.oracle-diagnostics h3{font-size:var(--t-xs)}.oracle-diagnostics>p{margin:6px 0 12px;color:var(--soft);font-size:var(--t-xs);line-height:1.5}.oracle-diagnostics button{font-size:var(--t-xs);background:transparent;box-shadow:none}.oracle-metric-table{font-size:var(--t-xs)}.oracle-metric-table>div{display:grid;grid-template-columns:58px minmax(80px,1fr) 38px 70px;gap:6px;padding:6px 0;border-top:1px solid var(--edge-soft)}.oracle-metric-head{color:var(--faint);font-weight:600}.oracle-metric-skeleton{display:grid;gap:7px}.oracle-metric-skeleton span{height:24px;border-radius:var(--r-sm);background:var(--sunk)}

.oracle-stage-loading>.oracle-presence{justify-self:center}.oracle-stage-loading .oracle-stage-top span{display:block;width:70px;height:12px;border-radius:8px;background:var(--edge-soft)}.oracle-stage-loading .oracle-stage-top span:last-child{justify-self:end}.oracle-loading-line{align-self:start;justify-self:center;width:180px;height:12px;margin-top:-18vh;border-radius:8px;background:var(--edge-soft)}
.oracle-stage-error .oracle-presence{height:48dvh;filter:saturate(.65)}.oracle-error-actions{display:flex;gap:8px;margin-top:18px}

@media(max-width:959px){
  .oracle-stage{overflow:visible}.oracle-presence-space{min-height:calc(100svh - 70px);padding-top:0}
}
@media(min-width:1101px){
  body.oracle-voice-mode.drawer-open{overflow:hidden}
  body.oracle-voice-mode .mobile-drawer[open]{display:flex;flex-direction:column;position:fixed;z-index:70;inset:0 auto 0 0;width:min(360px,86vw);max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-right:1px solid var(--edge);border-radius:0;background:var(--sunk);color:var(--ink);box-shadow:var(--shadow-lg);overflow:hidden;overscroll-behavior:contain;transform:translate3d(-100%,0,0);opacity:.98;transition:transform .24s var(--ease),opacity .2s var(--ease)}
  body.oracle-voice-mode .mobile-drawer.is-open{transform:translate3d(0,0,0);opacity:1}
  body.oracle-voice-mode .mobile-drawer::backdrop{background:var(--scrim);opacity:0;backdrop-filter:blur(2px);transition:opacity .2s var(--ease)}
  body.oracle-voice-mode .mobile-drawer.is-open::backdrop{opacity:1}
  body.oracle-voice-mode .drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 16px 14px;border-bottom:1px solid var(--edge-soft)}
  body.oracle-voice-mode .drawer-head .side-lockup{min-width:0;padding-left:4px;font-size:var(--t-sm)}
  body.oracle-voice-mode .drawer-head .side-lockup img{width:24px;height:24px}
  body.oracle-voice-mode .drawer-close{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:var(--r-sm);background:transparent;color:var(--ink);cursor:pointer}
  body.oracle-voice-mode .drawer-scroll{display:flex;flex:1;min-height:0;flex-direction:column;overflow-y:auto;padding:18px 14px}
  body.oracle-voice-mode .drawer-org{padding:0 8px 18px}
  body.oracle-voice-mode .drawer-nav{padding:4px 0 16px}
  body.oracle-voice-mode .drawer-nav button[aria-current="page"]::after{content:"Current";margin-left:auto;color:var(--brand-on-soft);font-size:var(--t-xs);font-weight:700;}
  body.oracle-voice-mode .drawer-foot{display:flex;flex-direction:column;gap:4px;margin-top:auto;padding:16px 8px 0;border-top:1px solid var(--edge)}
  body.oracle-voice-mode .drawer-person{display:flex;align-items:center;gap:11px;padding:6px 4px 12px;font-size:var(--t-sm)}
  body.oracle-voice-mode .drawer-utility{display:flex;align-items:center;gap:11px;min-height:44px;padding:9px 10px;border-radius:var(--r-sm);color:var(--soft);font-size:var(--t-xs);font-weight:600;text-decoration:none}
}
@media(max-width:620px){
  .oracle-stage-top{min-height:66px;padding:10px 14px;gap:8px}.oracle-stage-brand img{width:24px;height:24px}.oracle-stage-brand small{max-width:15ch}.oracle-stage-top>button:last-child{padding-inline:8px}
  .oracle-presence-space{min-height:calc(100dvh - 66px);padding:0 12px max(20px,env(safe-area-inset-bottom))}.oracle-presence{width:100%;height:clamp(320px,56dvh,620px)}.oracle-prompt{min-height:36px}.oracle-shell .oracle-prompt h1{margin:0;font-size:var(--t-lg)}.oracle-voice-controls{margin-top:8px}.oracle-voice-controls>p{max-width:310px}.oracle-fallbacks{margin-top:4px}.oracle-audio-notice{max-width:310px}

  .oracle-sheet{inset:auto 0 0;width:100vw;height:min(88dvh,760px);border-left:0;border-top:1px solid var(--edge);border-radius:var(--r) var(--r) 0 0}.oracle-sheet-head{min-height:68px;padding:13px 18px}.oracle-transcript{padding-inline:18px}.oracle-message-user{padding-left:12px}.oracle-source blockquote,.oracle-source details,.oracle-source-actions,.oracle-source-form,.oracle-feedback-form,.oracle-action-complete,.oracle-feedback-complete{margin-left:0}.oracle-turn-status{align-items:stretch;flex-direction:column;margin-inline:18px}.oracle-composer{padding:24px 18px}.oracle-composer-foot{display:block}.oracle-composer-foot span{display:block}.oracle-composer-foot span:last-child{margin-top:3px;text-align:left}.oracle-delete-confirm>div{display:grid}.oracle-delete-confirm button{width:100%}
}
@media(max-width:390px){
  .oracle-shell .oracle-prompt h1{margin:0;font-size:var(--t-lg)}.oracle-voice-controls>p{max-width:270px}.oracle-fallbacks{gap:4px}.oracle-fallbacks button,.oracle-fallbacks a{font-size:var(--t-xs)}.oracle-stage-brand small{display:none}.oracle-stage-brand{gap:7px}.oracle-history-list button{min-height:54px}
}
@media(prefers-reduced-motion:reduce){
  .oracle-shell *{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}
@media(prefers-reduced-transparency:reduce){.oracle-stage::before{display:none}.oracle-sheet-head{backdrop-filter:none;background:var(--card)}}

/* Chat is the quiet entry. Only explicit voice uses the full-screen presence. */
body.oracle-mode:not(.oracle-voice-mode) .app{max-width:none;padding-bottom:0}
.oracle-chat{display:flex;flex-direction:column;min-height:100dvh;max-width:960px;margin:0 auto}
.oracle-chat-head{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:92px;padding:22px 0;border-bottom:1px solid var(--edge-soft)}
.oracle-chat-head>div:first-child{min-width:0}
.oracle-chat-head p{color:var(--soft);font-size:var(--t-xs);line-height:1.4}
.oracle-shell .oracle-chat-head h1{margin-top:4px;max-width:45ch;font-size:var(--t-sm);font-weight:600;line-height:1.4;letter-spacing:-.015em;overflow-wrap:anywhere}
.oracle-chat-head>div:last-child{display:flex;flex:none;gap:6px}
.oracle-chat-head button{padding:8px 12px;background:transparent;box-shadow:none;border-color:transparent;font-size:var(--t-xs);color:var(--soft)}
.oracle-chat-body{display:flex;flex:1;flex-direction:column;justify-content:center;width:min(100%,740px);margin:0 auto;padding:40px 0 24px}
.oracle-chat-welcome{padding:0 12px 30px;text-align:center}
.oracle-chat-welcome>.pocket-companion{margin:0 auto 12px}
.oracle-chat-welcome>.pocket-companion img{width:144px;height:144px}
.oracle-message-meta>.pocket-companion{margin-right:-4px}
.oracle-shell .oracle-chat-welcome h2{font-size:var(--t-xl);font-weight:500;line-height:1.2;letter-spacing:-.045em;text-wrap:balance}
.oracle-chat-welcome p{margin-top:14px;color:var(--soft);font-size:var(--t-sm);line-height:1.65}
.oracle-chat-compose-wrap{width:100%}
.oracle-chat-composer{padding:18px 20px 12px;border:1px solid var(--edge);border-radius:var(--r-lg);background:var(--card);box-shadow:0 4px 18px color-mix(in srgb,var(--ink) 4%,transparent)}
.oracle-chat-composer>label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.oracle-chat-composer textarea{min-height:76px;max-height:240px;padding:4px 0;border:0;border-radius:0;background:transparent;font-size:var(--t-md);line-height:1.6;resize:none}
.oracle-chat-composer textarea:focus-visible{outline-offset:5px}
.oracle-chat-composer:focus-within{border-color:var(--faint)}
.oracle-compose-actions{display:flex;align-items:center;gap:12px;margin-top:10px}
.oracle-compose-actions>[data-oracle-count]{flex:1;color:var(--faint);font-size:var(--t-xs);text-align:right}
.oracle-compose-actions>[data-oracle-send]{margin-left:auto}
.oracle-compose-actions button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 14px;font-size:var(--t-xs)}
.oracle-compose-actions .oracle-open-voice{border-color:transparent;background:var(--sunk);box-shadow:none;color:var(--soft)}
.oracle-chat-starters{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin-top:16px}
.oracle-chat-starters button{padding:8px 12px;background:transparent;border-color:transparent;box-shadow:none;font-size:var(--t-xs);color:var(--soft)}
.oracle-shell .oracle-chat-privacy{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px 10px;margin-top:8px;color:var(--faint);font-size:var(--t-xs);line-height:1.5;text-align:center}
.oracle-chat-privacy button{min-height:44px;padding:5px;border:0;background:transparent;box-shadow:none;font-size:var(--t-xs);color:var(--soft)}
.oracle-chat-loading{padding:10px 0;color:var(--soft);font-size:var(--t-xs);text-align:center}
.oracle-chat-error{margin-bottom:18px;padding:18px;border:1px solid var(--edge);border-radius:var(--r);background:var(--sunk);font-size:var(--t-xs);line-height:1.6}
.oracle-chat-error p{margin:6px 0 12px;color:var(--soft)}
.oracle-chat-started .oracle-chat-body{justify-content:flex-start;padding-top:10px}
.oracle-chat-transcript{flex:1;padding:0 0 24px}
.oracle-chat-transcript .oracle-message{padding:24px 0;border-bottom:0}
.oracle-chat-transcript .oracle-message-user{padding-left:clamp(24px,10vw,100px)}
.oracle-chat-transcript .oracle-message-text{font-size:var(--t-sm)}
.oracle-chat-transcript .oracle-message-user .oracle-message-meta{justify-content:flex-end}
.oracle-chat-transcript .oracle-chat-evidence{min-height:44px;margin-top:8px;padding:6px 0;border:0;box-shadow:none;background:transparent;color:var(--soft);font-size:var(--t-xs)}
.oracle-chat-started .oracle-chat-compose-wrap{position:sticky;bottom:0;padding-top:12px;background:var(--paper)}
.oracle-chat .oracle-turn-status{margin:0 0 12px}
.oracle-chat-transcript .oracle-retry{min-height:44px;margin-top:8px;padding:6px 16px;border:1px solid var(--edge);border-radius:var(--r-pill);font-size:var(--t-xs)}
@media(max-width:1100px){.oracle-chat{min-height:calc(100dvh - 72px)}.oracle-chat-head{min-height:74px;padding:12px 0}}
@media(max-width:520px){.oracle-chat-head{gap:8px}.oracle-chat-head>div:last-child{gap:0}.oracle-chat-head button{padding:8px}.oracle-chat-body{padding:30px 0 max(12px,env(safe-area-inset-bottom))}.oracle-chat-composer{padding:16px 16px 10px}.oracle-chat-welcome{padding-bottom:24px}.oracle-chat-starters{gap:0}.oracle-chat-starters button{font-size:var(--t-xs);padding-inline:8px}.oracle-chat-started .oracle-chat-head h1{font-size:var(--t-xs)}.oracle-chat-head>div:first-child{flex:1}.oracle-chat-head>div:last-child{flex:none}}


.oracle-chat-started{height:100dvh;min-height:620px}
.oracle-chat-head{flex-shrink:0}
.oracle-chat-started .oracle-chat-body{min-height:0}
.oracle-chat-transcript{min-height:80px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-right:8px}
.oracle-chat-transcript:focus-visible{outline:2px solid var(--brand);outline-offset:4px}
.oracle-chat-started .oracle-chat-compose-wrap{position:static;flex-shrink:0}
@media(max-width:1100px){.oracle-chat-started{height:calc(100dvh - 72px);min-height:620px}}
