#transition-provider{z-index:20;pointer-events:none;position:fixed;inset:0}#transition-provider[data-state=loading],#transition-provider[data-state=loaded]{z-index:100}.transition-provider-layout{grid-template-columns:32rem minmax(0,1fr);gap:1.6rem;height:100%;padding:1.6rem;display:grid}.transition-provider-content{min-width:0;height:100%;position:relative}.transition-media-layer{position:absolute;inset:0}.transition-media-frame{aspect-ratio:4/3;opacity:0;transform-origin:0 0;background:#f7f7f7;border-radius:8px;width:100%;position:absolute;top:0;left:0;overflow:hidden}.transition-media-frame video,.transition-media-frame img,[data-media-mirror-id],[data-media-mirror-id] video{width:100%;height:100%;display:block}.transition-media-frame video,.transition-media-frame img,[data-media-mirror-id] video{object-fit:cover}body.is-case-transitioning{overflow:hidden}.case-hero-mirror{display:none}@media (width<=800px){.transition-provider-layout{padding:0;display:block}.transition-provider-sidebar{display:none}.transition-media-frame{aspect-ratio:4/3;border-radius:0}.case-mobile-hero{aspect-ratio:4/3;height:auto}}@media (prefers-reduced-motion:reduce){#transition-provider{display:none}}.case-hero,.case-mobile-hero,.case-media,.project-row{position:relative}.media-toggle{z-index:3;color:#fff;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;display:grid;position:absolute;bottom:4px;right:4px}.media-toggle:before{content:"";background:#0000008c;border-radius:50%;position:absolute;inset:10px}.media-toggle>svg:not(.media-progress){width:10px;height:10px;position:absolute}.media-progress{fill:none;stroke:#fff9;stroke-width:1.25px;width:24px;height:24px;position:absolute;inset:10px;transform:rotate(-90deg)}.media-progress circle{stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--media-progress,0))}.media-toggle[data-paused=true] .media-pause,.media-toggle[data-paused=false] .media-play{display:none}.project-row>.media-toggle{top:8px;bottom:auto;right:8px}.media-toggle:focus-visible{outline-offset:2px;outline:2px solid}body.is-case-transitioning .media-toggle,body.is-case-transitioning .case-cursor,body.case-page .case-cursor{visibility:hidden}.text-reveal-line{backface-visibility:hidden}.text-reveal-line-mask{margin:-.08em -.06em -.12em;padding:.08em .06em .12em}html.is-case-return-crossfade::view-transition-group(root){animation-duration:.18s}html.is-case-return-crossfade::view-transition-old(root),html.is-case-return-crossfade::view-transition-new(root){animation-duration:.18s;animation-timing-function:cubic-bezier(.23,1,.32,1)}.showcase-dock{--ink:#202326;--ink-soft:#696e74;--ink-faint:#6c7177;--canvas:#f5f5f6;--sunken:#eeeef0;--ease-out:cubic-bezier(.22,1,.36,1);--font-sans:"Aeonik","Helvetica Neue",Helvetica,Arial,sans-serif;--lift-1:0 0 0 1px #2023260f,0 1px 2px #2023260a;--lift-2:0 0 0 1px #2023260d,0 1px 1px #20232608,0 2px 4px -1px #2023260a,0 12px 24px -8px #20232614;--lift-3:0 0 0 1px #2023260d,0 1px 1px #20232608,0 4px 8px -2px #2023260d,0 24px 48px -12px #20232624;--lift-4:0 0 0 1px #2023260f,0 2px 4px #2023260a,0 12px 24px -6px #20232614,0 40px 80px -20px #20232633;font-family:var(--font-sans);color:var(--ink);-webkit-font-smoothing:antialiased}.showcase-dock *{box-sizing:border-box}.showcase-dock :is(button,textarea){font-family:inherit}.showcase-dock button{cursor:pointer;-webkit-tap-highlight-color:transparent}.showcase-dock [hidden]{display:none!important}.showcase-dock .sr-only{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.showcase-dock.is-solo{--ask-open:470px;--views-width:-4px}body:has(.showcase-dock.is-solo){padding-bottom:calc(88px + env(safe-area-inset-bottom))}.showcase-dock:not(.is-chat-open){transition:opacity .2s var(--ease-out),visibility 0s,bottom .5s cubic-bezier(.66,0,.33,1)}body:has(.case-mobile-nav.is-visible) .showcase-dock:not(.is-chat-open){bottom:calc(max(1.6rem,env(safe-area-inset-bottom)) + 5rem + 1.2rem)}body.is-case-menu-open .showcase-dock:not(.is-chat-open){opacity:0;visibility:hidden;transition:opacity .15s,visibility 0s linear .15s}.showcase-dock{--ask-open:360px;--glide:cubic-bezier(.32,.72,0,1);--spring:var(--glide);--leave:cubic-bezier(.4,0,1,1);left:50%;bottom:calc(24px + env(safe-area-inset-bottom));z-index:40;transition:opacity .2s var(--ease-out),visibility 0s;position:fixed;transform:translate(-50%)}.showcase-viewer[open]~.showcase-dock,body.mobile-menu-open .showcase-dock{opacity:0;visibility:hidden;transition:opacity .15s,visibility 0s linear .15s}.dock-bar{box-shadow:var(--lift-3),inset 0 1px 0 #fff;backdrop-filter:blur(20px)saturate(1.6);background:#ffffffe0;border-radius:999px;align-items:flex-end;gap:4px;padding:5px;display:flex}.dock-views{isolation:isolate;flex:none;display:flex;position:relative}.dock-thumb{pointer-events:none;background:#2023260d;border-radius:999px;height:44px;position:absolute;top:0;left:0}.dock-thumb[data-phase=stretch]{transition:transform .19s cubic-bezier(.32,.72,.24,1),width .19s cubic-bezier(.32,.72,.24,1)}.dock-thumb[data-phase=settle]{transition:transform .42s cubic-bezier(.28,1.28,.36,1),width .42s cubic-bezier(.24,1.34,.38,1)}.dock-views button{z-index:1;height:44px;color:var(--ink);opacity:.56;font:400 11px/16px var(--font-sans);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;background:0 0;border:0;border-radius:999px;align-items:center;padding:0 16px;transition:opacity .26s cubic-bezier(.32,.72,.24,1);display:flex;position:relative}.dock-views button:hover{opacity:.76}.dock-views button[aria-pressed=true]{opacity:1}html[data-showcase-view=sequence]:has(.showcase-grid:not([data-ready])) .dock-views button:is([data-view=chapters],[data-view=sequence]){opacity:.56}html[data-showcase-view=sequence]:has(.showcase-grid:not([data-ready])) .dock-views button[data-view=sequence]{opacity:1}.dock-views button:active{transform:scale(.97)}.dock-views .dock-motion{justify-content:center;width:40px;padding:0}.dock-motion svg{width:14px;height:14px}@media (prefers-reduced-motion:reduce){.dock-views .dock-motion{display:none}}.dock-beam{flex:none;display:flex}.beam{border-radius:var(--beam-radius);position:relative;overflow:hidden}.beam-effects{z-index:1;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .5s,visibility 0s linear .5s;position:absolute;inset:0}.beam[data-active]>.beam-effects{opacity:1;visibility:visible;transition:opacity .6s}.beam-layer{border-radius:var(--beam-radius);clip-path:inset(0 round var(--beam-radius));position:absolute;inset:0;container-type:size}.beam-turn{aspect-ratio:1;width:calc(hypot(100cqw,100cqh) + 4px);animation:beam-turn var(--beam-duration) linear infinite;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.beam-still{border-radius:var(--beam-radius);width:100cqw;height:100cqh;animation:beam-turn var(--beam-duration) linear infinite reverse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.beam-layer.is-glow{opacity:calc(.26 * var(--beam-strength,1));-webkit-mask-composite:source-over;animation:12s ease-in-out infinite beam-hue;-webkit-mask-image:linear-gradient(#000,#0000 28px calc(100% - 28px),#000),linear-gradient(90deg,#000,#0000 28px calc(100% - 28px),#000);mask-image:linear-gradient(#000,#0000 28px calc(100% - 28px),#000),linear-gradient(90deg,#000,#0000 28px calc(100% - 28px),#000);mask-composite:add}.beam-layer.is-stroke{opacity:calc(.12 * var(--beam-strength,1));-webkit-mask-composite:xor;padding:1px;animation:12s ease-in-out infinite beam-hue;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;mask-composite:exclude;mask-mode:match-source,match-source}.beam-layer.is-bloom{opacity:calc(.34 * var(--beam-strength,1));-webkit-mask-composite:xor;padding:1px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;mask-composite:exclude;mask-mode:match-source,match-source}.beam-layer:is(.is-glow,.is-stroke) .beam-turn{-webkit-mask-image:conic-gradient(transparent 0 30%,#0000001a 36%,#00000059 44%,#000 52% 80%,#00000059 86%,#0000001a 92%,transparent 95%);mask-image:conic-gradient(transparent 0 30%,#0000001a 36%,#00000059 44%,#000 52% 80%,#00000059 86%,#0000001a 92%,transparent 95%)}.beam-layer.is-glow .beam-still{background:radial-gradient(63px 36px at 33% -7.4%,#ff326473,#0000),radial-gradient(54px 32px at 12% -5%,#288cff73,#0000),radial-gradient(36px 63px at 2.1% 68.3%,#32c85073,#0000),radial-gradient(18px 32px at 2.1% 68.3%,#1eb9aa73,#0000),radial-gradient(162px 29px at 74.4% 100%,#6446ff73,#0000),radial-gradient(77px 23px at 55% 100%,#288cff73,#0000),radial-gradient(67px 29px at 93.9% 0,#ff782873,#0000),radial-gradient(23px 38px at 100% 27.1%,#f032b473,#0000),radial-gradient(47px 43px at 100% 27.1%,#b428f073,#0000);box-shadow:inset 0 0 9px 1px #00000024}.beam-layer.is-stroke .beam-still{background:radial-gradient(70px 40px at 33% -7.4%,#ff3264,#0000),radial-gradient(60px 35px at 12% -5%,#288cff,#0000),radial-gradient(40px 70px at 2.1% 68.3%,#32c850,#0000),radial-gradient(20px 35px at 2.1% 68.3%,#1eb9aa,#0000),radial-gradient(180px 32px at 74.4% 100%,#6446ff,#0000),radial-gradient(85px 26px at 55% 100%,#288cff,#0000),radial-gradient(74px 32px at 93.9% 0,#ff7828,#0000),radial-gradient(26px 42px at 100% 27.1%,#f032b4,#0000),radial-gradient(52px 48px at 100% 27.1%,#b428f0,#0000);width:calc(100cqw + 2px);height:calc(100cqh + 2px)}.beam-head{background:conic-gradient(transparent 0 54%,#00000014 57%,#0003 60%,#0006 63%,#0000008c 66%,#0006 69%,#0003 72%,#00000014 75%,transparent 78%);position:absolute;inset:0}.beam-layer.is-bloom .beam-turn{background:conic-gradient(transparent 0 58%,#00000005 62%,#00000014 65%,#0003 67%,#0006 69%,#0009 70% 70.5%,#0006 71.5%,#0003 73%,#00000014 75%,#00000005 78%,transparent 82%);filter:blur(8px)brightness(1.3)saturate(1.5)}@keyframes beam-turn{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(1turn)}}@keyframes beam-hue{0%,to{filter:hue-rotate(-30deg)brightness(1.3)saturate(1.5)}50%{filter:hue-rotate(30deg)brightness(1.3)saturate(1.5)}}@media (prefers-reduced-motion:reduce){:is(.beam-turn,.beam-still,.beam-layer){animation:none}}.dock-ask{width:var(--ask-closed,86px);background:var(--sunken);min-height:44px;transition:width .34s var(--glide) 60ms,background-color .2s var(--ease-out),box-shadow .2s var(--ease-out);border-radius:22px;align-items:flex-end;display:flex;box-shadow:inset 0 1px 2px #2023260d}.showcase-dock.is-chat-open .dock-ask{width:var(--ask-open);transition:width .46s var(--glide),background-color .3s var(--ease-out),box-shadow .3s var(--ease-out);background:#fff;box-shadow:inset 0 0 0 1px #2023261a}.dock-orb{width:44px;height:44px;color:var(--ink);transition:background-color .2s var(--ease-out),transform .15s var(--ease-out);background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid;position:relative}.dock-orb>*{grid-area:1/1}.showcase-dock:not(.is-chat-open) .dock-orb{border-radius:22px;grid-template-columns:32px auto;column-gap:7px;width:auto;padding:0 15px 0 6px}.dock-orb>.dock-orb-label{font:400 13px/18px var(--font-sans);letter-spacing:-.01em;color:var(--ink);white-space:nowrap;grid-area:1/2}.showcase-dock.is-chat-open .dock-orb-label{display:none}.dock-orb:hover{background:#2023260a}.showcase-dock.is-chat-open .dock-orb:hover{background:0 0}.dock-orb:active{transform:scale(.94)}.dock-orb-canvas{place-items:center;width:32px;height:32px;display:grid}.dock-orb-canvas canvas,.dock-chat-orb canvas{display:block}.showcase-dock.has-orb .dock-orb-fallback{display:none}.dock-ask textarea{resize:none;scrollbar-width:none;width:0;min-width:0;height:44px;max-height:104px;color:var(--ink);font:400 14px/20px var(--font-sans);letter-spacing:-.01em;opacity:0;background:0 0;border:0;outline:none;flex:1;padding:12px 6px 12px 0;transition:opacity .15s;overflow-y:auto}.showcase-dock.is-chat-open .dock-ask textarea{opacity:1;transition:opacity .25s .18s}.dock-ask textarea::placeholder{color:var(--ink-soft)}.dock-ask textarea:disabled::placeholder{color:#9a9fa5}.dock-count{font:400 12px/16px var(--font-sans);color:var(--ink-faint);font-variant-numeric:tabular-nums;white-space:nowrap;align-self:flex-end;margin:0 8px 13px 0}.dock-count.is-low{color:#94452d}.showcase-dock:not(.is-chat-open) .dock-count{display:none}.dock-send{align-self:flex-end;margin-bottom:6px}.dock-send-stop,.dock-ask.is-asking .dock-send-arrow{display:none}.dock-ask.is-asking .dock-send-stop{display:block}.showcase-dock.is-chat-open .dock-ask.is-paused .dock-send{opacity:0;width:0;margin-right:0}.dock-orb{align-self:flex-end}.dock-kbd{width:18px;height:18px;color:var(--ink-soft);transition:color .2s var(--ease-out),box-shadow .2s var(--ease-out);background:linear-gradient(#fff,#fafafa);border-radius:5px;grid-area:1/3;margin-left:1px;display:none;box-shadow:0 0 0 .5px #14171a24,0 1px 0 .5px #14171a14}.dock-kbd svg{display:block}.dock-orb:hover .dock-kbd{color:var(--ink);box-shadow:0 0 0 .5px #14171a33,0 1px 0 .5px #14171a1f}@media (hover:hover) and (pointer:fine){.showcase-dock:not(.is-chat-open):not(.has-thread) .dock-orb{grid-template-columns:32px auto auto;padding-right:10px}.showcase-dock:not(.is-chat-open):not(.has-thread) .dock-kbd{display:block}}.showcase-dock.has-thread .dock-orb:after{content:"";background:var(--ink);width:7px;height:7px;box-shadow:0 0 0 2px var(--sunken);border-radius:50%;position:absolute;top:9px;left:31px}.dock-send{background:var(--ink);color:#fff;opacity:0;width:0;height:32px;transition:width .5s var(--ease-out),margin .5s var(--ease-out),opacity .2s var(--ease-out),transform .15s var(--ease-out);border:0;border-radius:50%;flex:none;place-items:center;margin-right:0;padding:0;display:grid;overflow:hidden;box-shadow:0 1px 2px #20232633}.showcase-dock.is-chat-open .dock-send{opacity:1;width:32px;margin-right:6px}.showcase-dock.is-chat-open .dock-send:disabled{opacity:.2;cursor:default}.dock-send:not(:disabled):active{transform:scale(.92)}.dock-views button:focus-visible,.dock-orb:focus-visible,.dock-send:focus-visible,.dock-close:focus-visible,.dock-hit:focus-visible,.dock-prompts button:focus-visible,.dock-more:focus-visible{outline-offset:2px;outline:2px solid #7374ad}.dock-chat{width:min(calc(var(--views-width,170px) + var(--ask-open) + 14px),calc(100vw - 32px));max-height:min(520px,100dvh - 180px);box-shadow:var(--lift-4),inset 0 1px 0 #fffc,inset 0 0 0 1px #ffffff80;backdrop-filter:blur(24px)saturate(1.6);opacity:0;visibility:hidden;transform-origin:50% 100%;transition:opacity .16s var(--leave),transform .18s var(--leave),visibility 0s linear .18s;background:#ffffff8f;border-radius:28px;flex-direction:column;padding:6px;display:flex;position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%,8px)scale(.97)}.showcase-dock.is-chat-open .dock-chat{opacity:1;visibility:visible;transition:opacity .2s var(--ease-out) 30ms,transform .52s var(--spring) 30ms,visibility 0s;transform:translate(-50%)}.showcase-dock.is-chat-open .dock-chat-card>:is(.dock-chat-head,.dock-log){animation:dock-lift .46s var(--spring) both}.showcase-dock.is-chat-open .dock-chat-head{animation-delay:70ms}.showcase-dock.is-chat-open .dock-log{animation-delay:.11s}@keyframes dock-lift{0%{opacity:0;transform:translateY(8px)}}.dock-chat-card{background:#fff;border-radius:22px;flex-direction:column;flex:1;min-height:0;display:flex;box-shadow:0 0 0 1px #2023260d,0 1px 2px #2023260a,0 6px 16px -6px #2023261a}.dock-chat-head{align-items:center;gap:12px;padding:12px 10px 12px 12px;display:flex}.dock-chat-head>div{flex:1;min-width:0}.dock-chat-head h2{font:400 14px/18px var(--font-sans);letter-spacing:-.01em;color:var(--ink);margin:0}.dock-chat-head p{font:400 12px/16px var(--font-sans);color:var(--ink-faint);margin:0}.dock-chat-orb{background:var(--sunken);border-radius:50%;flex:none;place-items:center;width:40px;height:40px;display:grid}.dock-close{width:32px;height:32px;color:var(--ink-soft);transition:background-color .2s var(--ease-out),color .2s var(--ease-out);background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.dock-close:hover{color:var(--ink);background:#2023260b}.dock-close svg{stroke-width:1.8px;width:14px;height:14px}.dock-log{overscroll-behavior:contain;min-height:0;font:400 14px/21px var(--font-sans);letter-spacing:-.01em;color:var(--ink);flex-direction:column;flex:1;gap:18px;padding:4px 16px 18px;display:flex;overflow-y:auto}.dock-log p{margin:0}.dock-message{animation:dock-in .4s var(--ease-out) both}.dock-message.is-intro{animation:none}.dock-message.is-user{transform-origin:100% 100%;animation:dock-send .42s var(--spring) both}@keyframes dock-send{0%{opacity:0;transform:translateY(14px)scale(.94)}}@keyframes dock-in{0%{opacity:0;transform:translateY(6px)}}.dock-message.is-user{background:var(--ink);color:#fff;border-radius:18px 18px 6px;align-self:flex-end;max-width:82%;padding:9px 14px}.dock-log{position:relative}.dock-body{flex-direction:column;gap:14px;min-width:0;display:flex}.dock-message.is-reply{animation:none}.dock-body.is-arriving .dock-unit{animation:dock-rise .4s var(--ease-out) both;animation-delay:var(--delay,0s)}@keyframes dock-rise{0%{opacity:0;transform:translateY(6px)}}.dock-ref{font:inherit;letter-spacing:inherit;color:var(--ink);text-underline-offset:3px;cursor:pointer;transition:text-decoration-color .2s var(--ease-out);background:0 0;border:0;padding:0;text-decoration:underline 1px #2023264d;display:inline}.dock-ref:hover{text-decoration-color:var(--ink)}.dock-studies{flex-direction:column;gap:2px;display:flex}.dock-study{transition:background-color .2s var(--ease-out);border-radius:14px;align-items:flex-start;gap:14px;margin:0 -10px;padding:10px;display:flex;position:relative}.dock-study:not(.is-soon):hover,.dock-study.is-pointed{background:var(--canvas)}.dock-study-cover{object-fit:cover;background:var(--sunken);width:72px;height:54px;box-shadow:var(--lift-1);opacity:0;transition:opacity .3s var(--ease-out);border-radius:8px;flex:none}.dock-study-cover.is-ready{opacity:1}.dock-study.is-lead .dock-study-cover{width:128px;height:96px}.dock-study-text{flex-direction:column;flex:1;gap:2px;min-width:0;padding-top:1px;display:flex}.dock-study-kicker{font:400 12px/16px var(--font-sans);color:var(--ink-faint)}.dock-study b{font:400 14px/20px var(--font-sans);color:var(--ink)}.dock-study.is-lead b{font-size:15px}.dock-study-link{color:inherit;text-decoration:none}.dock-study-link:after{content:"";border-radius:14px;position:absolute;inset:0}.dock-study-summary{font:400 13px/18px var(--font-sans);color:var(--ink-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.dock-study-foot{flex-wrap:wrap;align-items:center;gap:4px 12px;margin-top:4px;display:flex}.dock-study.is-lead .dock-study-foot{margin-top:8px}.dock-study-state{font:400 13px/18px var(--font-sans);color:var(--ink);align-items:center;gap:6px;display:inline-flex}.dock-study-state.is-quiet{color:var(--ink-soft)}.dock-study-state svg{stroke-width:1.6px;width:14px;height:14px}.dock-study-state.is-quiet svg{width:13px;height:13px}.dock-study-access{z-index:1;font:400 13px/18px var(--font-sans);color:var(--ink);text-underline-offset:3px;text-decoration:underline #2023264d;position:relative}.dock-study.is-soon{opacity:.72}.dock-products{flex-direction:column;gap:2px;display:flex}.dock-product{color:var(--ink);transition:background-color .2s var(--ease-out);border-radius:12px;flex-direction:column;gap:2px;margin:0 -10px;padding:8px 10px;text-decoration:none;display:flex}.dock-product:hover,.dock-product.is-pointed{background:var(--canvas)}.dock-product-head{align-items:center;gap:8px;display:flex}.dock-product-head b{font:400 14px/20px var(--font-sans)}.dock-product-head span{font:400 12px/16px var(--font-sans);color:var(--ink-faint)}.dock-product-head svg{width:14px;height:14px;color:var(--ink-soft);stroke-width:1.6px;margin-left:auto}.dock-product-desc{font:400 13px/18px var(--font-sans);color:var(--ink-soft)}.dock-product:focus-visible{outline-offset:2px;outline:2px solid #7374ad}.dock-timeline{flex-direction:column;display:flex}.dock-stop{grid-template-columns:76px minmax(0,1fr);column-gap:14px;display:grid}.dock-stop-years{font:400 12px/20px var(--font-sans);color:var(--ink-faint);font-variant-numeric:tabular-nums;white-space:nowrap}.dock-stop-body{border-left:1px solid #14171a1f;flex-direction:column;gap:2px;padding:0 0 20px 20px;display:flex;position:relative}.dock-stop:last-child .dock-stop-body{padding-bottom:0}.dock-stop-body:before{content:"";box-sizing:border-box;background:#fff;border-radius:50%;width:9px;height:9px;position:absolute;top:6px;left:-5px;box-shadow:inset 0 0 0 1px #20232659}.dock-stop.is-now .dock-stop-body:before{background:var(--ink);box-shadow:none}.dock-stop-body b{font:400 14px/20px var(--font-sans);color:var(--ink)}.dock-stop-body>span{font:400 13px/18px var(--font-sans);color:var(--ink-soft)}.dock-stop-link{font:400 13px/18px var(--font-sans);color:var(--ink);align-self:flex-start;align-items:center;gap:6px;margin-top:6px;text-decoration:none;display:inline-flex}.dock-stop-link:hover{text-underline-offset:3px;text-decoration:underline}.dock-stop-link svg{stroke-width:1.6px;width:14px;height:14px}.dock-stop-link:focus-visible{outline-offset:2px;outline:2px solid #7374ad}.dock-pieces{flex-direction:column;gap:10px;display:flex}.dock-label{font:400 12px/16px var(--font-sans);color:var(--ink-faint)}.dock-hits{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 12px;display:grid}.dock-pieces.is-lead .dock-hits{grid-template-columns:repeat(2,minmax(0,1fr))}.dock-hit{min-width:0;color:var(--ink);text-align:left;font:inherit;background:0 0;border:0;flex-direction:column;gap:8px;padding:0;display:flex}.dock-thumbnail{aspect-ratio:4/3;background:var(--sunken);box-shadow:var(--lift-1);transition:box-shadow .2s var(--ease-out);border-radius:8px;display:block;overflow:hidden}.dock-hit:hover .dock-thumbnail,.dock-hit.is-pointed .dock-thumbnail{box-shadow:var(--lift-1),0 0 0 4px #fff,0 0 0 5px #2023262e}.dock-thumbnail img{object-fit:cover;object-position:top left;opacity:0;width:100%;height:100%;transition:opacity .4s var(--ease-out);display:block}.dock-thumbnail img.is-ready{opacity:1}.dock-hit b{font:400 13px/18px var(--font-sans)}.dock-hit>span:last-child{font:400 12px/16px var(--font-sans);color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;margin-top:-8px;display:block;overflow:hidden}.dock-more{height:28px;color:var(--ink);font:400 13px/18px var(--font-sans);background:0 0;border:0;align-self:flex-start;align-items:center;gap:6px;padding:0;display:inline-flex}.dock-more svg{stroke-width:1.6px;width:14px;height:14px}.dock-card{background:var(--canvas);border-radius:16px;flex-direction:column;gap:12px;padding:14px;display:flex}.dock-card.is-row{flex-direction:row;align-items:center;padding:12px 12px 12px 14px}.dock-card.is-row>span{font:400 13px/18px var(--font-sans);color:var(--ink-soft);flex:1}.dock-card-email{flex-direction:column;gap:2px;display:flex}.dock-card-email span{font:400 12px/16px var(--font-sans);color:var(--ink-faint)}.dock-card-email b{font:400 15px/20px var(--font-sans)}.dock-card-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.dock-button{height:36px;color:var(--ink);font:400 13px/18px var(--font-sans);white-space:nowrap;transition:transform .15s var(--ease-out),background-color .2s var(--ease-out);background:#fff;border:0;border-radius:999px;align-items:center;gap:8px;padding:0 14px 0 12px;text-decoration:none;display:inline-flex;box-shadow:inset 0 0 0 1px #14171a1f}.dock-button.is-primary{background:var(--ink);box-shadow:none;color:#fff}.dock-button:active{transform:scale(.97)}.dock-button svg{stroke-width:1.6px;width:15px;height:15px}.dock-card-link{font:400 13px/18px var(--font-sans);color:var(--ink);text-underline-offset:3px;margin-left:6px;text-decoration:underline #2023264d}.dock-followups{flex-wrap:wrap;gap:6px;display:flex}.dock-follow{background:var(--sunken);min-height:30px;color:var(--ink);font:400 13px/18px var(--font-sans);text-align:left;transition:background-color .2s var(--ease-out),transform .15s var(--ease-out);border:0;border-radius:15px;align-items:center;gap:8px;padding:5px 12px 5px 10px;display:inline-flex}.dock-follow:hover{background:#e6e6e9}.dock-follow:active{transform:scale(.97)}.dock-follow svg{width:14px;height:14px;color:var(--ink-soft);stroke-width:1.6px;flex:none}.dock-copy{height:28px;color:var(--ink-soft);font:400 12px/16px var(--font-sans);transition:background-color .2s var(--ease-out),color .2s var(--ease-out);background:0 0;border:0;border-radius:999px;align-self:flex-start;align-items:center;gap:6px;margin:-4px 0 0 -8px;padding:0 10px 0 8px;display:inline-flex}.dock-copy:hover,.dock-copy.is-done{background:var(--sunken);color:var(--ink)}.dock-copy svg{stroke-width:1.6px;width:14px;height:14px}.dock-pending{align-items:center;min-height:24px;display:flex}.dock-pending-text{background:linear-gradient(90deg,var(--ink-soft) 0 35%,#c4c7cb 50%,var(--ink-soft) 65% 100%);color:#0000;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;animation:1.6s linear infinite dock-shimmer}@keyframes dock-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.dock-stopped{color:var(--ink-soft);flex-direction:row;align-items:center;gap:12px}.dock-again{color:var(--ink);font:400 13px/18px var(--font-sans);background:0 0;border:0;align-items:center;gap:6px;padding:0;display:inline-flex}.dock-again svg{stroke-width:1.6px;width:14px;height:14px}.dock-message.is-divider{font:400 12px/16px var(--font-sans);color:var(--ink-faint);white-space:nowrap;align-items:center;gap:12px;display:flex}.dock-message.is-divider:before,.dock-message.is-divider:after{content:"";background:#14171a1f;flex:1;height:1px}.dock-message.is-context{background:var(--canvas);border-radius:14px;align-items:center;gap:10px;padding:6px;display:flex}.dock-message.is-context img{object-fit:cover;object-position:top left;width:44px;height:33px;box-shadow:var(--lift-1);border-radius:6px;flex:none}.dock-message.is-context>span{flex-direction:column;flex:1;min-width:0;display:flex}.dock-message.is-context b{font:400 13px/18px var(--font-sans)}.dock-message.is-context>span>span{font:400 12px/16px var(--font-sans);color:var(--ink-soft)}.dock-context-clear{width:28px;height:28px;color:var(--ink-soft);background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.dock-context-clear:hover{color:var(--ink);background:#2023260b}.dock-context-clear svg{stroke-width:1.8px;width:14px;height:14px}.dock-chat-card{position:relative}.dock-jump{z-index:2;height:32px;box-shadow:var(--lift-3);color:var(--ink);font:400 13px/18px var(--font-sans);background:#fff;border:0;border-radius:999px;align-items:center;gap:6px;padding:0 14px 0 10px;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.dock-jump svg{stroke-width:1.6px;width:14px;height:14px}.dock-ref:focus-visible,.dock-follow:focus-visible,.dock-button:focus-visible,.dock-copy:focus-visible,.dock-study-link:focus-visible,.dock-study-access:focus-visible,.dock-again:focus-visible,.dock-jump:focus-visible,.dock-context-clear:focus-visible,.dock-card-link:focus-visible,.viewer-pill:focus-visible{outline-offset:2px;outline:2px solid #7374ad}.dock-prompts{flex-wrap:wrap;gap:6px;padding:0 16px 16px;display:flex}.dock-prompts button{background:var(--sunken);height:32px;color:var(--ink);font:400 13px/18px var(--font-sans);letter-spacing:-.01em;transition:background-color .2s var(--ease-out),transform .15s var(--ease-out);animation:dock-lift .46s var(--spring) both;border:0;border-radius:999px;padding:0 14px}.dock-prompts button:hover{background:#e6e6e9}.dock-prompts button:active{transform:scale(.97)}@supports (transition-timing-function:linear(0,1)){.showcase-dock{--spring:linear(0, .0453, .1522, .2871, .4275, .5594, .6753, .7719, .8488, .9076, .9505, .9804, .9999, 1.0116, 1.0177, 1.0198, 1.0195, 1.0176, 1.015, 1.0122, 1.0095, 1.0071, 1.0051, 1.0034, 1.0022, 1.0012, 1.0005, 1.0001, .9998, .9997, .9996, .9996, 1)}}@media (prefers-reduced-motion:reduce){.dock-chat-card>*,.dock-thumb,.dock-chat,.dock-ask,.dock-ask textarea,.dock-send,.dock-message,.dock-hit,.dock-unit,.dock-pending-text,.dock-follow,.dock-prompts button,.showcase-chip,.showcase-dock{transition:none!important;animation:none!important}}@media (prefers-reduced-transparency:reduce),(prefers-contrast:more){.dock-bar,.dock-chat{backdrop-filter:none;background:#fff}}@media (width<=760px){.showcase-dock{bottom:calc(12px + env(safe-area-inset-bottom))}.dock-views button{padding:0 12px}.showcase-dock.is-chat-open{z-index:52;top:var(--vv-top,0px);height:var(--vv-height,100dvh);padding:env(safe-area-inset-top) 8px calc(8px + env(safe-area-inset-bottom));animation:dock-screen-in .42s var(--glide);background:#fff;flex-direction:column;display:flex;bottom:auto;left:0;right:0;transform:none}.showcase-dock.is-chat-open.is-keyboard{padding-bottom:8px}.showcase-dock.is-chat-open.is-leaving{animation:.26s cubic-bezier(.4,0,1,1) forwards dock-screen-out}.showcase-dock.is-chat-open:after{content:"";background:#fff;height:100vh;position:absolute;top:100%;left:0;right:0}.showcase-dock.is-chat-open .dock-chat{width:auto;min-height:0;max-height:none;box-shadow:none;backdrop-filter:none;background:0 0;border-radius:0;flex:1;padding:0;transition:none;position:static;transform:none}.showcase-dock.is-chat-open .dock-chat-card{box-shadow:none;border-radius:0}.showcase-dock.is-chat-open .dock-close{width:44px;height:44px}.showcase-dock.is-chat-open .dock-bar{box-shadow:none;backdrop-filter:none;background:0 0;border-radius:0;padding:0}.showcase-dock.is-chat-open .dock-views,.showcase-dock.is-chat-open .beam-effects{display:none}.showcase-dock.is-chat-open :is(.dock-beam,.beam){flex:1;min-width:0}.showcase-dock.is-chat-open .dock-ask{width:100%;transition:none}.showcase-dock.is-settling{animation:dock-pill-in .3s var(--ease-out)}@keyframes dock-screen-in{0%{transform:translateY(100%)}}@keyframes dock-screen-out{to{transform:translateY(100%)}}@keyframes dock-pill-in{0%{opacity:0;transform:translate(-50%,8px)}}.dock-ask textarea{font-size:16px}}
