:root{--ease-arrive:cubic-bezier(0.22,1,0.36,1);--ease-move:cubic-bezier(0.2,0.75,0.3,1)}@keyframes surface-arrive{0%{opacity:.25;transform:translateY(9px)}to{opacity:1;transform:none}}@keyframes content-arrive{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes message-arrive{0%{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:none}}@keyframes emblem-arrive{0%{opacity:0;transform:rotate(-28deg) scale(.7)}to{opacity:1;transform:none}}@keyframes icon-confirm{0%{transform:scale(.65) rotate(-12deg)}to{transform:none}}@keyframes panel-arrive{0%{opacity:0;transform:translateX(22px)}to{opacity:1;transform:none}}@keyframes request-breathe{0%,to{opacity:.55;transform:scale(.9)}50%{opacity:1;transform:scale(1)}}@keyframes hero-line{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.chat-welcome{position:relative;isolation:isolate}.chat-welcome:before{content:"";position:absolute;z-index:-1;pointer-events:none;width:210px;height:190px;top:5px;left:10px;background-image:radial-gradient(#155e751c .8px,transparent 0);background-size:15px 15px;mask-image:radial-gradient(ellipse,#000,transparent 70%)}.nora-emblem{border-radius:50%;background:#155e7505}.chat-composer{transition:border-color .2s ease,box-shadow .24s ease}.chat-composer:focus-within{box-shadow:0 0 0 3px #155e7508,0 12px 32px -18px #12303935}.home-hero h1>span{position:relative}.home-hero h1>span:after{content:"";position:absolute;height:2px;left:1px;right:8%;bottom:-9px;background:#b4ecd835;transform-origin:left}.chat-composer,.conversation-preview,.handoff-panel{position:relative;isolation:isolate}.chat-composer:before,.conversation-preview:before,.handoff-panel:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(230px circle at var(--pointer-x,50%) var(--pointer-y,50%),#155e750b,transparent 75%);transition:opacity .25s ease}.handoff-panel:before{background:radial-gradient(340px circle at var(--pointer-x,50%) var(--pointer-y,50%),#b4ecd814,transparent 75%)}[data-pointer=true]:before{opacity:1}.chat-topbar>span>span{animation:none}@media (prefers-reduced-motion:no-preference){.route-surface{animation:surface-arrive .3s var(--ease-arrive) both;animation-fill-mode:backwards}.chat-welcome h1{animation:content-arrive .6s 50ms var(--ease-arrive) backwards}.welcome-description{animation:content-arrive .6s 115ms var(--ease-arrive) backwards}.sample-queries{animation:content-arrive .55s .3s var(--ease-arrive) backwards}.nora-emblem{animation:emblem-arrive .8s var(--ease-arrive) backwards;transition:transform .45s var(--ease-arrive)}.nora-emblem:hover{transform:rotate(35deg)}.nora-emblem span{transition:transform .65s var(--ease-arrive)}.nora-emblem:hover span:first-child{transform:rotate(65deg)}.nora-emblem:hover span:nth-child(3){transform:rotate(125deg)}.composer-area{animation:content-arrive .55s .18s var(--ease-arrive) backwards}.conversation-thread{animation:content-arrive .26s var(--ease-arrive) backwards}.chat-turn{animation:message-arrive .35s var(--ease-arrive) backwards}.assistant-message{animation:content-arrive .4s 70ms var(--ease-arrive) backwards}.research-inspector{animation:panel-arrive .34s var(--ease-arrive) backwards}.response-tools button svg{animation:icon-confirm .24s var(--ease-arrive)}.button,.icon-button,.new-chat,.save-research,.send-prompt{transition:transform .2s var(--ease-arrive),background-color .18s ease,border-color .18s ease,box-shadow .2s ease}.button:not(:disabled):active,.icon-button:active,.new-chat:active,.send-prompt:not(:disabled):active{transform:scale(.96)}.send-prompt:not(:disabled){animation:icon-confirm .25s var(--ease-arrive)}.sending-indicator{animation:request-breathe 1s ease-in-out infinite}.button svg,.landing-prompt svg,.new-chat>span,.text-link svg{transition:transform .22s var(--ease-arrive)}.chat-sidebar nav>*,.conversation-history>button,.followup-actions button,.sample-queries button{transition:background-color .18s ease,color .18s ease,transform .18s var(--ease-arrive)}.conversation-history>button{animation:content-arrive .26s var(--ease-arrive) backwards}.home-hero .hero-product-name{animation:content-arrive .55s 50ms var(--ease-arrive) backwards}.home-hero h1{animation:content-arrive .65s .1s var(--ease-arrive) backwards}.home-hero h1>span:after{animation:hero-line .8s .3s var(--ease-arrive) backwards}.hero-summary{animation:content-arrive .65s .2s var(--ease-arrive) backwards}.site-header{animation:content-arrive .5s var(--ease-arrive) backwards;animation-name:header-arrive}@keyframes header-arrive{0%{opacity:0;translate:0 -8px}to{opacity:1;translate:0 0}}@supports (animation-timeline:view()){.handoff-panel,.plan-comparison,.pricing-heading,.research-story>*,.workflow>*{animation:content-arrive linear both;animation-timeline:view();animation-range:entry 0 entry 22%}}@media (hover:hover) and (pointer:fine){.button:not(:disabled):hover{transform:translateY(-2px)}.button:hover svg,.landing-prompt:hover svg,.text-link:hover svg{transform:translateX(3px)}.new-chat:hover>span{transform:translate(2px,-2px)}.new-chat:hover{border-color:#155e7570;box-shadow:0 5px 15px -10px #12303955}.send-prompt:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 4px 12px #155e7525}.chat-sidebar nav>:hover,.conversation-history>button:hover{background:#155e750a}.followup-actions button:hover,.sample-queries button:hover{transform:translateX(2px);color:var(--ink)}}@media (max-width:760px){.chat-sidebar{display:flex;position:fixed;inset:0 auto 0 0;width:270px;z-index:50;visibility:hidden;transform:translateX(-100%);transition:transform .28s var(--ease-arrive),visibility .28s}.chat-sidebar.mobile-open{visibility:visible;transform:translateX(0)}}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}.chat-welcome:before{display:none}}.ai-response{white-space:pre-wrap;overflow-wrap:anywhere}.context-suggestions{max-width:750px;margin:0 auto 12px;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.context-suggestions>span{font-size:10px;color:var(--muted)}.context-suggestions button{display:flex;align-items:center;gap:8px;background:transparent;border:1px solid var(--line);border-radius:6px;padding:8px 10px;font-size:11px;color:var(--pen)}@media (prefers-reduced-motion:no-preference){.suggestions-loading{animation:request-breathe 1.4s ease-in-out infinite}.context-suggestions button,.sample-queries button{animation:content-arrive .3s var(--ease-arrive) backwards}}.response-prose{font-size:14px;line-height:1.8;color:var(--text);overflow-wrap:anywhere}.response-prose p{white-space:pre-wrap;margin:0 0 16px}.response-prose strong{font-weight:600;color:var(--ink)}.response-prose ul{padding-left:20px;margin:0 0 16px}.response-prose li{padding-left:4px;margin:6px 0}@media (max-width:760px){.response-prose{font-size:13px}}.composer-area{position:relative}.jump-latest{justify-content:center;gap:8px;border:1px solid var(--line);border-radius:20px;padding:9px 15px;background:#fbfcfa;font-size:11px;margin:0 auto 10px;box-shadow:0 3px 12px #1230390a}.jump-latest,.response-pending{display:flex;align-items:center;color:var(--muted)}.response-pending{gap:12px;font-size:13px;line-height:1.45;padding:6px 0 10px}.response-pending>[role=status]{min-width:0;overflow-wrap:anywhere;font-weight:500}.response-pending-copy{display:grid;gap:2px;min-width:0}.response-pending-copy>[role=status]{min-width:0;overflow-wrap:anywhere;font-weight:500}.response-pending-copy>small{color:var(--muted);font-size:11px;line-height:1.35}.response-activity{position:relative;width:32px;height:32px;flex:none;color:var(--pen)}.response-activity i{position:absolute;display:block;border-radius:50%}.response-activity-core{inset:8px;background:currentColor;opacity:.65;box-shadow:0 0 12px color-mix(in srgb,currentColor 18%,transparent)}.response-activity-ring{inset:1px;border:1.5px solid color-mix(in srgb,currentColor 14%,transparent);border-top-color:currentcolor;opacity:.7}.response-activity-satellite{width:3px;height:3px;left:14.5px;top:0;background:currentColor;transform-origin:1.5px 16px;opacity:.8}@media(max-width:480px){.response-activity{width:28px;height:28px}.response-activity-core{inset:7px}.response-activity-satellite{left:12.5px;transform-origin:1.5px 14px}}.thinking-stage{display:inline-block}.pending-dots{display:flex;gap:4px}.pending-dots i{width:4px;height:4px;background:var(--pen);border-radius:50%}.pending-dots i:nth-child(2){animation-delay:.15s}.pending-dots i:nth-child(3){animation-delay:.3s}@media (prefers-reduced-motion:no-preference){.response-activity-core{animation:activity-breathe 2.8s ease-in-out infinite}.response-activity-ring{animation:activity-orbit 3s linear infinite}.response-activity-satellite{animation:activity-orbit 3s linear infinite reverse}.response-activity[data-phase=reading] .response-activity-ring,.response-activity[data-phase=reading] .response-activity-satellite{animation-duration:5s}.response-activity[data-phase=checking] .response-activity-ring,.response-activity[data-phase=checking] .response-activity-satellite{animation-duration:4s}.response-activity[data-phase=writing] .response-activity-ring,.response-activity[data-phase=writing] .response-activity-satellite{animation-duration:2s}.thinking-stage{animation:thinking-in .22s var(--ease-arrive) both}.pending-dots i{animation:request-breathe 1s ease-in-out infinite}}@keyframes activity-orbit{to{transform:rotate(1turn)}}@keyframes activity-breathe{50%{transform:scale(.8);opacity:.4}}.nora-shimmer{color:var(--muted)}.request-activity{max-width:640px;padding-bottom:20px}.request-details{color:var(--muted);font-size:11px;margin:0 0 16px 39px}.request-details summary{cursor:pointer;width:fit-content;padding:4px 0}.request-details ol{border-left:1px solid var(--line);list-style:none;padding:0 0 0 14px;margin:10px 0}.request-details li{padding:4px 0}.response-word{display:inline}.nora-save{position:relative}.nora-save[aria-pressed=true]{color:var(--pen)}@media (prefers-reduced-motion:no-preference){.nora-shimmer{background:linear-gradient(100deg,var(--muted) 30%,var(--ink) 48%,var(--muted) 65%);background-size:250% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:nora-shimmer 2s linear infinite}.response-pending .nora-shimmer{background-image:linear-gradient(100deg,var(--muted) 30%,color-mix(in srgb,var(--muted) 72%,var(--ink)) 48%,var(--muted) 65%);animation-duration:3s}.suggestions-loading.nora-shimmer{animation:nora-shimmer 2s linear infinite}.response-word[data-stream-state]{opacity:1;filter:blur(0);transition:opacity .35s cubic-bezier(.22,1,.36,1),filter .35s cubic-bezier(.22,1,.36,1)}.response-word[data-stream-state=pending]{opacity:0;filter:blur(1px);transition:none}.request-details[open] ol{animation:content-arrive .25s var(--ease-arrive)}.assistant-message[data-error=true][data-fresh=true]{animation:nora-shake .32s ease-in-out}.response-tools button[data-confirmed=true] svg{animation:nora-confirm .35s var(--ease-arrive)}.response-tools button[data-confirmed=true] svg path{stroke-dasharray:30;animation:nora-check .35s ease-out}.nora-save[aria-pressed=true] svg{animation:nora-save-pop .35s cubic-bezier(.34,1.96,.64,1)}.nora-save[aria-pressed=true]:after{content:"";position:absolute;left:20px;top:50%;width:20px;height:20px;border:2px solid var(--focus-color);border-radius:50%;pointer-events:none;animation:nora-save-ring .45s ease-out both}.mode-switch:before{transition:transform .25s cubic-bezier(.22,1,.36,1)}.chat-welcome h1{animation:nora-text-reveal .5s var(--ease-arrive) backwards}.welcome-description{animation:nora-text-reveal .5s 80ms var(--ease-arrive) backwards}}@keyframes nora-shimmer{0%{background-position:150% 0}to{background-position:-100% 0}}@keyframes nora-text-reveal{0%{opacity:0;transform:translateY(12px);filter:blur(3px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes nora-shake{0%,to{transform:translateX(0)}25%{transform:translateX(-4px)}50%{transform:translateX(4px)}75%{transform:translateX(-2px)}}@keyframes nora-confirm{0%{opacity:0;transform:rotate(-15deg) scale(.7)}to{opacity:1;transform:none}}@keyframes nora-check{0%{stroke-dashoffset:30}to{stroke-dashoffset:0}}@keyframes nora-save-pop{30%{transform:scale(.82)}70%{transform:scale(1.18)}}@keyframes nora-save-ring{0%{opacity:.6;transform:translate(-50%,-50%) scale(.4)}to{opacity:0;transform:translate(-50%,-50%) scale(1.9)}}.thinking-label{position:relative;display:inline-grid;min-width:0;flex:1;min-height:1.8em;overflow:hidden}.thinking-line{grid-area:1/1;position:relative;color:var(--muted);line-height:1.8}.thinking-exit{position:absolute;inset:0}.request-details summary{display:flex;align-items:center;gap:8px}.request-details summary:before{content:"›";transition:transform .18s}.request-details[open] summary:before{transform:rotate(90deg)}.request-details summary span{font-size:10px;opacity:.7}.request-details li{display:flex;align-items:center;gap:8px}.activity-current{color:var(--pen)}.streaming-response{position:relative;padding-bottom:16px}.stream-cursor{display:inline-block;width:5px;height:14px;border-radius:3px;background:var(--pen)}@media(prefers-reduced-motion:no-preference){.thinking-enter{animation:thinking-in .2s var(--ease-arrive) both}.thinking-exit{animation:thinking-out .18s ease both}.activity-current svg{animation:activity-spin 1.4s linear infinite}.request-details li{animation:content-arrive .22s var(--ease-arrive) backwards}.streaming-response{animation:content-arrive .22s var(--ease-arrive)}.stream-cursor{animation:request-breathe .9s ease infinite}}@keyframes thinking-in{0%{opacity:0;transform:translateY(8px);filter:blur(2px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes thinking-out{to{opacity:0;transform:translateY(-8px);filter:blur(2px)}}@keyframes thinking-shimmer{0%{background-position:100% 0}to{background-position:0 0}}@keyframes activity-spin{to{transform:rotate(1turn)}}@media(prefers-reduced-motion:reduce){.thinking-exit{display:none}}.number-pop{font-variant-numeric:tabular-nums}.number-pop-digit{display:inline-block}@media(prefers-reduced-motion:no-preference){.number-pop-digit{animation:number-pop-in .5s cubic-bezier(.34,1.45,.64,1) var(--digit-delay,0s) backwards}}@keyframes number-pop-in{0%{opacity:0;transform:translateY(8px);filter:blur(2px)}to{opacity:1;transform:none;filter:blur(0)}}@media(prefers-reduced-motion:reduce){.response-word{opacity:1!important;filter:none!important;transition:none!important;animation:none!important}}