@layer components{.ai-mode-layout{flex-direction:column;inline-size:100%;display:flex}@media (width>=768px){.ai-mode-layout{flex:1;min-block-size:0}}@media (width>=80rem){.ai-mode-layout{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0, var(--size-chat)) minmax(0, 1fr);gap:var(--space-md) var(--space-lg);display:grid}}.chat-composer{gap:var(--space-sm);flex-direction:column;inline-size:100%;display:flex}.chat-composer__field{border:var(--border-width) solid transparent;background-image:var(--gradient-surface), var(--gradient-border);background-origin:border-box;background-clip:padding-box,border-box}@media (forced-colors:active){.chat-composer__field{border-color:canvastext}}.chat-composer__field{isolation:isolate;gap:var(--space-xs);padding:var(--space-2xs) var(--space-2xs) var(--space-2xs) var(--space-md);border-radius:var(--radius-input-pill);box-shadow:var(--shadow-raised);align-items:flex-end;display:flex;position:relative}.chat-composer__field:before,.chat-composer__field:after{border-radius:inherit;content:"";pointer-events:none;opacity:0;transition:opacity var(--duration-base) var(--ease-out);position:absolute}.chat-composer__field:before{z-index:var(--z-below);background-image:var(--gradient-surface-hover);inset:0}.chat-composer__field:after{inset:calc(-1 * var(--border-width));border:var(--focus-ring-width) solid var(--color-focus);box-shadow:var(--shadow-glow)}@media (hover:hover){.chat-composer__field:hover:not([data-disabled]):before{opacity:1}}.chat-composer__field:has(.chat-composer__input:focus):after{opacity:1}@media (forced-colors:active){.chat-composer__field:has(.chat-composer__input:focus){outline:var(--focus-ring-width) solid Highlight;outline-offset:var(--space-3xs)}}.chat-composer__field[data-disabled]{opacity:.6}.chat-composer__label{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.chat-composer__input{min-inline-size:0;block-size:var(--chat-composer-height,auto);min-block-size:var(--size-touch);max-block-size:var(--size-composer-max);padding-block:calc((var(--size-touch) - var(--line-height-body) * 1em) / 2);font:inherit;font-size:var(--font-size-md);line-height:var(--line-height-body);color:var(--color-text);resize:none;background-color:#0000;border:0;outline:none;flex:1}.chat-composer__input::placeholder{color:var(--color-text-muted);opacity:1}.chat-composer__input:disabled{cursor:not-allowed}@supports (field-sizing:content){.chat-composer__input{field-sizing:content;block-size:auto}}.chat-composer__button{border:var(--border-width) solid transparent;background-image:var(--gradient-accent), var(--gradient-border);background-origin:border-box;background-clip:padding-box,border-box}@media (forced-colors:active){.chat-composer__button{border-color:canvastext}}.chat-composer__button{isolation:isolate;inline-size:var(--size-touch);block-size:var(--size-touch);border-radius:var(--radius-pill);color:var(--color-on-accent);cursor:pointer;flex-shrink:0;place-items:center;padding:0;display:grid;position:relative}.chat-composer__button:before,.chat-composer__button:after{z-index:var(--z-below);border-radius:inherit;content:"";opacity:0;transition:opacity var(--duration-base) var(--ease-out);position:absolute;inset:0}.chat-composer__button:before{background-image:var(--gradient-accent-hover);box-shadow:var(--shadow-glow)}.chat-composer__button:after{background-image:var(--gradient-accent-active);transition-duration:var(--duration-fast)}.chat-composer__button:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--space-3xs)}@media (hover:hover){.chat-composer__button:hover:not(:disabled,[aria-disabled=true]):before{opacity:1}}.chat-composer__button:active:not(:disabled,[aria-disabled=true]):after{opacity:1}.chat-composer__button:disabled,.chat-composer__button[aria-disabled=true]{opacity:.45;cursor:not-allowed}.chat-composer__button-label{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.chat-composer__icon{inline-size:var(--size-icon-sm);block-size:var(--size-icon-sm);fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.chat-composer__stop-square{fill:currentColor;stroke:none}.chat-composer__counter{font-size:var(--font-size-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums;align-self:flex-end;margin:0}.chat-composer__counter[data-state=limit]{font-weight:var(--font-weight-bold);color:var(--color-danger)}.chat-markdown{max-inline-size:var(--measure);font-family:var(--font-serif);font-size:var(--font-size-chat-compact);line-height:var(--line-height-prose)}@media (width>=768px){.chat-markdown{font-size:var(--font-size-lg);line-height:var(--line-height-chat)}}.chat-markdown{overflow-wrap:anywhere}.chat-markdown :where(p,ul,ol,pre,blockquote){margin-block:0 var(--space-sm)}.chat-markdown :where(ul,ol){padding-inline-start:1.25em}.chat-markdown :where(li+li){margin-block-start:var(--space-2xs)}.chat-markdown :where(strong){font-weight:var(--font-weight-medium)}.chat-markdown :where(code){padding-inline:var(--space-2xs);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:var(--font-size-md);background-color:var(--color-highlight-soft)}.chat-markdown :where(pre){padding:var(--space-sm);border-radius:var(--radius-md);background-color:var(--color-highlight-soft);overflow-x:auto}.chat-markdown :where(a){color:var(--color-accent);text-underline-offset:.15em;text-decoration-line:underline}.chat-markdown :where(blockquote){border-inline-start:var(--border-width) solid var(--color-border);color:var(--color-text-muted);padding-inline-start:var(--space-sm)}.chat-markdown>:last-child,.chat-markdown>:last-child>:last-child{margin-block-end:0}.chat-markdown--streaming>:last-child:not(ul,ol):after,.chat-markdown--streaming>:is(ul,ol):last-child>li:last-child:after{block-size:1em;inline-size:.5em;border-radius:var(--radius-sm);vertical-align:-.12em;background-image:var(--gradient-accent);content:"";margin-inline-start:var(--space-3xs);animation:1s steps(2,start) infinite chat-markdown-caret;display:inline-block}@media (prefers-reduced-motion:reduce){.chat-markdown--streaming>:last-child:not(ul,ol):after,.chat-markdown--streaming>:is(ul,ol):last-child>li:last-child:after{animation:none}}@keyframes chat-markdown-caret{to{opacity:0}}.chat-markdown__heading{font-family:var(--font-sans);font-weight:var(--font-weight-bold)}.chat-markdown__note{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.thinking-steps{gap:var(--space-xs);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.thinking-steps__step{padding:var(--space-3xs) var(--space-sm);border:var(--border-width) solid color-mix(in srgb, var(--color-border) 40%, transparent);border-radius:var(--radius-pill);font-size:var(--font-size-sm);line-height:var(--line-height-body);color:var(--color-text-muted)}.thinking-steps__step[data-state=current]{border:var(--border-width) solid transparent;background-image:linear-gradient(var(--color-surface), var(--color-surface)), var(--gradient-border);background-origin:border-box;background-clip:padding-box,border-box}@media (forced-colors:active){.thinking-steps__step[data-state=current]{border-color:canvastext}}.thinking-steps__step[data-state=current]{color:var(--color-text);animation:thinking-steps-breathe var(--duration-orbit) var(--ease-in-out) infinite}@media (prefers-reduced-motion:reduce){.thinking-steps__step[data-state=current]{animation:none}}.thinking-steps__step[data-state=done]:before{content:"✓ "/""}@keyframes thinking-steps-breathe{50%{opacity:.55}}.under-the-hood{grid-template-rows:1fr;margin-block-start:calc(-1 * var(--space-sm));scroll-margin-block-end:calc(var(--size-bar) + var(--space-md));display:grid}@media (width>=768px){.under-the-hood{scroll-margin-block-end:var(--space-md)}}.under-the-hood[hidden]{display:none}.under-the-hood[data-state=closing]{grid-template-rows:0fr}@media (prefers-reduced-motion:no-preference){.under-the-hood{transition:grid-template-rows var(--duration-slow) var(--ease-in-out)}}.under-the-hood__fold{min-block-size:0;display:flow-root}.under-the-hood[data-state=closing] .under-the-hood__fold{overflow:clip}.under-the-hood__card{gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:var(--border-width) solid var(--color-grid);border-radius:var(--radius-md);font-size:var(--font-size-sm);line-height:var(--line-height-snug);color:var(--color-text-muted);background-color:var(--color-highlight-soft);transform-origin:top;flex-direction:column;margin-block-start:var(--space-sm);display:flex}@media (prefers-reduced-motion:no-preference){.under-the-hood__card{animation:under-the-hood-in var(--duration-slow) var(--ease-out)}.under-the-hood[data-state=closing] .under-the-hood__card{opacity:0;transition:opacity var(--duration-slow) var(--ease-in-out)}}@media (forced-colors:active){.under-the-hood__card{border-color:canvastext}}.under-the-hood__steps{gap:var(--space-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.under-the-hood__step{gap:var(--space-3xs);flex-direction:column;padding-inline-start:var(--space-lg);display:flex;position:relative}.under-the-hood__step:before{inline-size:var(--size-cv-star);block-size:var(--size-cv-star);border-radius:var(--radius-pill);background-color:var(--color-accent);content:"";position:absolute;inset-block-start:calc((1lh - var(--size-cv-star)) / 2);inset-inline-start:0}.under-the-hood__step:not(:last-child):after{inset-block:calc(.5lh + var(--size-cv-star)) calc(-1 * var(--space-sm));border-inline-start:var(--border-width) solid var(--color-chart-line);content:"";position:absolute;inset-inline-start:calc((var(--size-cv-star) - var(--border-width)) / 2)}@media (forced-colors:active){.under-the-hood__step:before{background-color:canvastext}.under-the-hood__step:not(:last-child):after{border-color:canvastext}}.under-the-hood__step-head{gap:var(--space-xs);justify-content:space-between;align-items:baseline;margin:0;display:flex}.under-the-hood__step-name{font-weight:var(--font-weight-medium);color:var(--color-text)}.under-the-hood__step-time{flex-shrink:0}.under-the-hood__detail{overflow-wrap:anywhere;margin:0}.under-the-hood__sources{gap:var(--space-xs);margin:var(--space-2xs) 0 0;flex-direction:column;padding:0;list-style:none;display:flex}.under-the-hood__source{gap:var(--space-3xs);flex-direction:column;display:flex}.under-the-hood__source-head{gap:var(--space-2xs) var(--space-xs);flex-wrap:wrap;align-items:center;margin:0;display:flex}.under-the-hood__meter{inline-size:var(--size-meter);block-size:var(--size-meter-thickness);border-radius:var(--radius-pill);background-color:var(--color-grid);flex-shrink:0;position:relative;overflow:hidden}.under-the-hood__meter:before{background-color:var(--color-source-cv);content:"";transform:scaleX(var(--relevance,0));transform-origin:0;position:absolute;inset:0}.under-the-hood__source[data-source=experience] .under-the-hood__meter:before{background-color:var(--color-source-experience)}.under-the-hood__source[data-source=personal] .under-the-hood__meter:before{background-color:var(--color-source-personal)}.under-the-hood__source[data-source=site_docs] .under-the-hood__meter:before{background-color:var(--color-source-site-docs)}.under-the-hood__source[data-source=github_readme] .under-the-hood__meter:before{background-color:var(--color-source-github)}.under-the-hood__meter:dir(rtl):before{transform-origin:100%}@media (forced-colors:active){.under-the-hood__meter{border:var(--border-width) solid CanvasText}.under-the-hood__meter:before{background-color:canvastext}}.under-the-hood__score{color:var(--color-text)}.under-the-hood__hidden{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.under-the-hood__source-title{color:var(--color-text);overflow-wrap:anywhere}.under-the-hood__source-kind{font-size:var(--font-size-xs)}.under-the-hood__snippet{font-size:var(--font-size-xs);overflow-wrap:anywhere;margin:0}.under-the-hood__total{border-block-start:var(--border-width) solid var(--color-grid);color:var(--color-text);margin:0;padding-block-start:var(--space-xs)}@keyframes under-the-hood-in{0%{opacity:0;transform:translateY(calc(-1 * var(--space-md))) scaleY(.92)}}.chat-turn{gap:var(--space-md);flex-direction:column;inline-size:100%;display:flex}.chat-turn__question{max-inline-size:min(80%, var(--measure));padding:var(--space-sm) var(--space-md);border-radius:var(--radius-bubble) var(--radius-bubble) var(--radius-bubble-tail) var(--radius-bubble);color:var(--color-on-accent);background-image:var(--gradient-accent);box-shadow:var(--shadow-raised);align-self:flex-end}@media (forced-colors:active){.chat-turn__question{border:var(--border-width) solid CanvasText}}.chat-turn__question-text{font-size:var(--font-size-md);font-weight:var(--font-weight-regular);line-height:var(--line-height-prose);overflow-wrap:anywhere;white-space:pre-line;margin:0}.chat-turn__answer{gap:var(--space-xs);align-items:flex-start;min-inline-size:0;display:flex}.chat-turn__bubble{border:var(--border-width) solid transparent;background-image:var(--gradient-surface), var(--gradient-border);background-origin:border-box;background-clip:padding-box,border-box}@media (forced-colors:active){.chat-turn__bubble{border-color:canvastext}}.chat-turn__bubble{gap:var(--space-xs);min-inline-size:0;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-bubble-tail) var(--radius-bubble) var(--radius-bubble) var(--radius-bubble);box-shadow:var(--shadow-raised);flex-direction:column;flex:1;align-items:flex-start;display:flex}@media (width>=768px){.chat-turn__bubble{gap:var(--space-sm)}}.chat-turn__note{font-family:var(--font-serif);color:var(--color-text-muted);margin:0;font-style:italic}.chat-turn__error{gap:var(--space-xs);max-inline-size:var(--measure);padding:var(--space-sm) var(--space-md);border:var(--border-width) solid color-mix(in srgb, var(--color-danger) 45%, transparent);border-radius:var(--radius-md);background-color:var(--color-danger-soft);align-items:flex-start;display:flex}.chat-turn__error-icon{inline-size:var(--size-icon);block-size:var(--size-icon);fill:none;stroke:var(--color-danger);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.chat-turn__error-text{margin:0}.chat-turn__error-title{font-weight:var(--font-weight-bold);display:block}.chat-turn__sources{gap:var(--space-2xs);flex-direction:column;display:flex}.chat-turn__sources-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:var(--line-height-snug);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-caps);margin:0}.chat-turn__source-list{gap:var(--space-2xs) var(--space-md);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.chat-turn__source{isolation:isolate;gap:var(--space-xs);min-block-size:calc(var(--size-control-compact) + var(--space-2xs));padding-block:calc(var(--space-2xs) + var(--space-3xs) * 2);padding-inline:var(--space-xs) var(--space-sm);font-size:var(--font-size-sm);line-height:var(--line-height-snug);color:var(--color-text-muted);align-items:center;display:inline-flex;position:relative}@media (width>=768px){.chat-turn__source{min-block-size:var(--size-touch);padding-block:calc(var(--space-xs) + var(--space-2xs))}}.chat-turn__source[hidden]{display:none}.chat-turn__source:before{inset:var(--space-3xs) 0;z-index:var(--z-below);border-radius:var(--radius-chip-pill);background-color:var(--color-highlight-soft);content:"";position:absolute}@media (width>=768px){.chat-turn__source:before{inset-block:var(--space-xs)}}.chat-turn__source[data-linked]{color:var(--color-text)}.chat-turn__source[data-linked]:before{box-shadow:0 0 0 var(--border-width) var(--color-focus)}.chat-turn__source-dot{inline-size:var(--size-cv-star);block-size:var(--size-cv-star);border-radius:var(--radius-pill);background-color:var(--color-source-cv);flex-shrink:0}.chat-turn__source[data-source=experience] .chat-turn__source-dot{background-color:var(--color-source-experience)}.chat-turn__source[data-source=personal] .chat-turn__source-dot{background-color:var(--color-source-personal)}.chat-turn__source[data-source=site_docs] .chat-turn__source-dot{background-color:var(--color-source-site-docs)}.chat-turn__source[data-source=github_readme] .chat-turn__source-dot{background-color:var(--color-source-github)}@media (forced-colors:active){.chat-turn__source-dot{background-color:canvastext}}.chat-turn__source-link{color:var(--color-text);text-underline-offset:.2em;text-decoration-line:none}.chat-turn__source-link:focus-visible{text-decoration-line:underline}@media (hover:hover){.chat-turn__source-link:hover{text-decoration-line:underline}}.chat-turn__source-kind{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.chat-turn__actions{gap:var(--space-sm) var(--space-2xs);flex-wrap:wrap;align-items:center;display:flex}@media (width>=768px){.chat-turn__actions{gap:var(--space-2xs)}}.chat-turn__tag{margin-inline:var(--space-sm) var(--space-xs);padding:var(--space-3xs) var(--space-xs);border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text);background-color:var(--color-highlight-soft)}.chat-turn__action{isolation:isolate;gap:var(--space-xs);min-block-size:var(--size-control-compact);padding-inline:var(--space-xs);border-radius:var(--radius-pill);font:inherit;font-size:var(--font-size-sm);color:var(--color-text-muted);cursor:pointer;background-color:#0000;border:0;align-items:center;display:inline-flex;position:relative}@media (width>=768px){.chat-turn__action{min-block-size:var(--size-touch);padding-inline:var(--space-sm)}}.chat-turn__action:after{inset-block:calc((var(--size-control-compact) - var(--size-touch)) / 2);content:"";position:absolute;inset-inline:0}@media (width>=768px){.chat-turn__action:after{inset-block:0}}.chat-turn__action:before{z-index:var(--z-below);border-radius:inherit;background-color:var(--color-highlight-soft);content:"";opacity:0;transition:opacity var(--duration-fast) var(--ease-out);position:absolute;inset:0}.chat-turn__action:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--space-3xs)}@media (hover:hover){.chat-turn__action:hover{color:var(--color-text)}.chat-turn__action:hover:before{opacity:1}}.chat-turn__action:active:before{background-color:var(--color-highlight-strong);opacity:1}.chat-turn__action--more{align-self:flex-start}.chat-turn__action-lines{padding-block:var(--space-2xs);line-height:var(--line-height-snug);text-align:start;flex-direction:column;align-items:flex-start;display:flex}.chat-turn__action-note{font-size:var(--font-size-xs)}.chat-turn__icon{inline-size:var(--size-icon-sm);block-size:var(--size-icon-sm);fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.chat-welcome{gap:var(--space-sm);flex-direction:column;display:flex}@media (width>=768px){.chat-welcome{margin-block:auto}}:root[data-chat-restoring] .chat-welcome{display:none}.chat-welcome__heading{font-size:var(--font-size-md);line-height:var(--line-height-snug);text-wrap:balance;margin:0}.chat-welcome__cards{gap:var(--space-sm);grid-template-columns:1fr;margin:0;padding:0;list-style:none;display:grid}@media (width>=30em){.chat-welcome__cards{grid-template-columns:repeat(2,1fr)}}.chat-welcome__card{border:var(--border-width) solid transparent;background-image:linear-gradient(var(--color-surface), var(--color-surface)), var(--gradient-border);background-origin:border-box;background-clip:padding-box,border-box}@media (forced-colors:active){.chat-welcome__card{border-color:canvastext}}.chat-welcome__card{isolation:isolate;gap:var(--space-3xs) var(--space-sm);block-size:100%;min-block-size:var(--size-touch);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-bubble);color:var(--color-text);grid-template-columns:auto 1fr;align-items:center;text-decoration-line:none;display:grid;position:relative}.chat-welcome__card:after{z-index:var(--z-below);border-radius:inherit;background-image:var(--gradient-surface-hover);opacity:0;transition:opacity var(--duration-base) var(--ease-out);content:"";position:absolute;inset:0}.chat-welcome__card:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--space-3xs)}@media (hover:hover){.chat-welcome__card:hover:after{opacity:1}}.chat-welcome__card:active:after{background-image:var(--gradient-surface-active);opacity:1}@media (prefers-reduced-motion:reduce){.chat-welcome__card:after{transition:none}}.chat-welcome__icon{inline-size:var(--space-lg);block-size:var(--space-lg);fill:none;stroke:var(--color-accent);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;grid-row:span 2}@media (forced-colors:active){.chat-welcome__icon{stroke:currentColor}}.chat-welcome__card-title{font-size:var(--font-size-sm);font-weight:600;line-height:var(--line-height-snug)}.chat-welcome__card-hint{font-size:var(--font-size-xs);line-height:var(--line-height-snug);color:var(--color-text-muted)}.chat{gap:var(--space-md);inline-size:100%;max-inline-size:var(--size-chat);flex-direction:column;display:flex}@media (width>=768px){.chat{flex:1;min-block-size:0}}@media (width>=80rem){.chat{display:contents}}.chat__intro{gap:var(--space-sm);align-items:center;display:flex}@media (width>=80rem){.chat__intro{grid-area:1/1}}.chat__intro-text{gap:var(--space-3xs);flex-direction:column;min-inline-size:0;display:flex}.chat__title{font-size:var(--font-size-xl);line-height:var(--line-height-snug);text-wrap:balance;margin:0}.chat__lede{max-inline-size:var(--measure);font-size:var(--font-size-sm);line-height:var(--line-height-body);color:var(--color-text-muted);margin:0}.chat__panel{gap:var(--space-md);flex-direction:column;display:flex}@media (width>=768px){.chat__panel{border:var(--border-width) solid transparent;background-image:var(--gradient-surface), var(--gradient-border);gap:var(--space-sm);min-block-size:0;padding:var(--space-md) var(--space-lg);border-radius:var(--radius-panel);box-shadow:var(--shadow-raised);background-origin:border-box;background-clip:padding-box,border-box;flex:1}}@media (width>=768px) and (forced-colors:active){.chat__panel{border-color:canvastext}}@media (width>=80rem){.chat__panel{grid-area:2/1}}.chat__scroll{gap:var(--space-md);flex-direction:column;display:flex}@media (width>=768px){.chat__scroll{min-block-size:0;margin-inline:calc(-1 * var(--space-sm));padding:var(--space-xs) var(--space-sm);overscroll-behavior:contain;scrollbar-gutter:stable;flex:1;position:relative;overflow-y:auto}}@media (width>=768px) and (hover:hover) and (pointer:fine) and (forced-colors:none){@supports selector(::-webkit-scrollbar){.chat__scroll::-webkit-scrollbar{inline-size:var(--size-scrollbar);block-size:var(--size-scrollbar);background-color:#0000}.chat__scroll::-webkit-scrollbar-track,.chat__scroll::-webkit-scrollbar-corner{background-color:#0000}.chat__scroll::-webkit-scrollbar-thumb{border:var(--space-3xs) solid transparent;border-radius:var(--radius-pill);background-image:var(--gradient-accent);background-clip:padding-box}.chat__scroll::-webkit-scrollbar-thumb:hover{background-image:var(--gradient-accent-hover)}.chat__scroll::-webkit-scrollbar-thumb:active{background-image:var(--gradient-accent-active)}}@supports not selector(::-webkit-scrollbar){.chat__scroll{scrollbar-color:var(--color-accent) transparent}}@supports selector(::-webkit-scrollbar){.chat__scroll{margin-inline-end:calc(-1 * (var(--space-sm) + var(--size-scrollbar)))}}}@media (width>=768px){.chat__scroll>:first-child{margin-block-start:auto}}.chat__dock-row{gap:var(--space-xs);align-items:flex-end;display:flex}.chat__composer{flex:1;min-inline-size:0}.chat__new{border:var(--border-width) solid transparent;background-image:linear-gradient(var(--color-scrim-solid), var(--color-scrim-solid)), var(--gradient-border);background-origin:border-box;background-clip:padding-box,border-box}@media (forced-colors:active){.chat__new{border-color:canvastext}}.chat__new{isolation:isolate;inline-size:var(--size-touch);block-size:var(--size-touch);border-radius:var(--radius-pill);color:var(--color-text-muted);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;margin-block-end:var(--space-2xs);padding:0;display:inline-flex;position:relative}.chat__new:before{z-index:var(--z-below);border-radius:inherit;background-image:var(--gradient-surface-hover);content:"";opacity:0;transition:opacity var(--duration-base) var(--ease-out);position:absolute;inset:0}.chat__new:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--space-3xs);color:var(--color-text)}@media (hover:hover){.chat__new:hover{color:var(--color-text)}.chat__new:hover:before{opacity:1}}.chat__new:active:before{background-image:var(--gradient-surface-active);opacity:1}.chat__new-icon{inline-size:var(--size-icon-sm);block-size:var(--size-icon-sm);fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round}.chat__log{gap:var(--space-md);flex-direction:column;padding-block-start:var(--space-md);display:flex}@media (width>=768px){.chat__log{gap:var(--space-lg)}}.chat__log>:last-child{min-block-size:calc(100svh - var(--size-chat-reserve))}@media (width>=768px){.chat__log>:last-child{min-block-size:auto}}.chat__dock{z-index:var(--z-raised);position:sticky;inset-block-end:max(var(--keyboard-inset,0px) + var(--space-sm), var(--bottom-bar-space,var(--space-bottom-bar)) + var(--space-sm))}@media (width>=768px){.chat__dock{position:relative;inset-block-end:auto}}.chat[data-reading] .chat__dock:before{inset-block:calc(-1 * var(--space-lg)) calc(-1 * var(--bottom-bar-space,var(--space-bottom-bar)) - var(--space-xl));inset-inline:calc(-1 * max(var(--gutter), env(safe-area-inset-left)));z-index:var(--z-below);pointer-events:none;background-color:var(--color-scrim-solid);content:"";mask-image:linear-gradient(to bottom, transparent, #000 var(--space-lg));position:absolute}@supports (backdrop-filter:blur(1px)){@media (prefers-reduced-transparency:no-preference){.chat[data-reading] .chat__dock:before{background-color:var(--color-scrim);backdrop-filter:blur(var(--blur-scrim))}}}@media (width>=768px){.chat[data-reading] .chat__dock:before{display:none}}.chat__jump{isolation:isolate;gap:var(--space-2xs);min-block-size:var(--size-touch);padding-inline:var(--space-sm);border-radius:var(--radius-pill);font:inherit;font-size:var(--font-size-xs);color:var(--color-text);cursor:pointer;transition:opacity var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out);background:0 0;border:0;align-items:center;display:inline-flex;position:absolute;inset-block-end:calc(100% + var(--space-2xs));inset-inline-start:50%;translate:-50%}.chat__jump[inert]{opacity:0;transform:translateY(var(--distance-reveal));pointer-events:none}.chat__jump:before,.chat__jump:after{inset:var(--space-xs) 0;z-index:var(--z-below);border-radius:inherit;content:"";position:absolute}.chat__jump:before{border:var(--border-width) solid transparent;background-image:linear-gradient(var(--color-scrim-solid), var(--color-scrim-solid)), var(--gradient-border);background-origin:border-box;background-clip:padding-box,border-box}@media (forced-colors:active){.chat__jump:before{border-color:canvastext}}.chat__jump:before{box-shadow:var(--shadow-raised)}.chat__jump:after{inset:calc(var(--space-xs) + var(--border-width)) var(--border-width);background-image:var(--gradient-surface-hover);opacity:0;transition:opacity var(--duration-base) var(--ease-out)}.chat__jump:focus-visible{outline:none}.chat__jump:focus-visible:before{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--space-3xs)}@media (hover:hover){.chat__jump:hover:after{opacity:1}}.chat__jump:active:after{background-image:var(--gradient-surface-active);opacity:1}@media (forced-colors:active){.chat__jump:before{border-color:canvastext}.chat__jump:focus-visible:before{outline-color:highlight}}@media (prefers-reduced-motion:reduce){.chat__jump{transition-property:opacity}.chat__jump[inert]{transform:none}}.chat__jump-icon{inline-size:var(--size-icon-sm);block-size:var(--size-icon-sm);fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.chat__disclosure{font-size:var(--font-size-xs);line-height:var(--line-height-body);color:var(--color-text-muted);margin:0}.chat__disclosure-link{color:var(--color-accent);text-underline-offset:.15em;text-decoration-line:underline}.chat__fallback{margin:0}.chat__status{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.knowledge-map{display:none}@media (width>=80rem){.knowledge-map{border:var(--border-width) solid transparent;background-image:var(--gradient-surface), var(--gradient-border);gap:var(--space-xs);min-block-size:0;padding:var(--space-md);border-radius:var(--radius-panel);box-shadow:var(--shadow-raised);opacity:0;background-origin:border-box;background-clip:padding-box,border-box;flex-direction:column;grid-area:2/2;display:flex;position:relative}}@media (width>=80rem) and (forced-colors:active){.knowledge-map{border-color:canvastext}}.knowledge-map[data-ready]{opacity:1}@media (prefers-reduced-motion:no-preference){.knowledge-map{transition:opacity var(--duration-slow) var(--ease-out)}}.knowledge-map__head{gap:var(--space-xs);justify-content:space-between;align-items:center;display:flex}.knowledge-map__title{font-size:var(--font-size-md);line-height:var(--line-height-snug);margin:0}.knowledge-map__info,.knowledge-map__got-it{isolation:isolate;min-block-size:var(--size-touch);padding-inline:var(--space-md);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-pill);font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text);cursor:pointer;background-color:#0000;position:relative}.knowledge-map__info:before,.knowledge-map__got-it:before{z-index:var(--z-below);border-radius:inherit;background-color:var(--color-highlight-soft);content:"";opacity:0;transition:opacity var(--duration-fast) var(--ease-out);position:absolute;inset:0}.knowledge-map__info:after,.knowledge-map__got-it:after{z-index:var(--z-below);border-radius:inherit;background-color:var(--color-highlight-strong);content:"";opacity:0;transition:opacity var(--duration-fast) var(--ease-out);position:absolute;inset:0}.knowledge-map__info:focus-visible,.knowledge-map__got-it:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--space-3xs)}@media (hover:hover){.knowledge-map__info:hover:before,.knowledge-map__got-it:hover:before{opacity:1}}.knowledge-map__info:active:after,.knowledge-map__info[aria-expanded=true]:before,.knowledge-map__got-it:active:after,.knowledge-map__got-it[aria-expanded=true]:before{opacity:1}.knowledge-map__caption{block-size:calc(2 * var(--line-height-body) * 1em);font-size:var(--font-size-sm);line-height:var(--line-height-body);color:var(--color-text-muted);margin:0;overflow:hidden}.knowledge-map__topics{inset-block-start:var(--space-xs);inset-inline:var(--space-sm);z-index:var(--z-raised);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:var(--line-height-snug);color:var(--color-map-topics);pointer-events:none;margin:0;position:absolute}.knowledge-map__sky{border-radius:var(--radius-md);background-image:radial-gradient(120% 90% at 50% 40%, var(--color-map-sky-2), var(--color-map-sky-1));border:var(--border-width) solid var(--color-map-edge);flex:1;min-block-size:0;position:relative;overflow:hidden}.knowledge-map__canvas{block-size:100%;inline-size:100%;position:absolute;inset:0}.knowledge-map__legend{inset-inline:var(--space-sm);gap:var(--space-3xs) var(--space-sm);font-size:var(--font-size-xs);color:var(--color-map-muted);pointer-events:none;flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex;position:absolute;inset-block-end:var(--space-xs)}.knowledge-map__legend-item{gap:var(--space-2xs);align-items:center;display:inline-flex}.knowledge-map__legend-item:before{inline-size:var(--size-cv-star);block-size:var(--size-cv-star);border-radius:var(--radius-pill);background-color:var(--color-map-cv);content:""}.knowledge-map__legend-item[data-source=experience]:before{background-color:var(--color-map-experience)}.knowledge-map__legend-item[data-source=personal]:before{background-color:var(--color-map-personal)}.knowledge-map__legend-item[data-source=site_docs]:before{background-color:var(--color-map-site-docs)}.knowledge-map__legend-item[data-source=github_readme]:before{background-color:var(--color-map-github)}.knowledge-map__tooltip{z-index:var(--z-raised);gap:var(--space-3xs);max-inline-size:18rem;padding:var(--space-xs) var(--space-sm);border:var(--border-width) solid var(--color-map-edge);border-radius:var(--radius-md);font-size:var(--font-size-xs);line-height:var(--line-height-snug);color:var(--color-map-muted);background-color:var(--color-map-sky-2);box-shadow:var(--shadow-raised);pointer-events:none;transform:translate(var(--space-md), -50%);flex-direction:column;display:flex;position:absolute;inset-block-start:var(--y);inset-inline-start:var(--x)}.knowledge-map__tooltip[data-side=start]{transform:translate(calc(-100% - var(--space-md)), -50%)}.knowledge-map__tooltip-title{font-weight:var(--font-weight-medium);color:var(--color-map-text)}.knowledge-map__tooltip-read{font-weight:var(--font-weight-medium);color:var(--color-map-cv)}.knowledge-map__tooltip-read[data-source=experience]{color:var(--color-map-experience)}.knowledge-map__tooltip-read[data-source=personal]{color:var(--color-map-personal)}.knowledge-map__tooltip-read[data-source=site_docs]{color:var(--color-map-site-docs)}.knowledge-map__tooltip-read[data-source=github_readme]{color:var(--color-map-github)}.knowledge-map__explain{inset:calc(var(--space-md) + var(--size-touch) + var(--space-xs)) var(--space-sm) var(--space-sm);z-index:var(--z-raised);gap:var(--space-xs);padding:var(--space-md);border:var(--border-width) solid var(--color-grid);border-radius:var(--radius-md);font-size:var(--font-size-sm);line-height:var(--line-height-body);background-color:var(--color-surface);box-shadow:var(--shadow-raised);flex-direction:column;display:flex;position:absolute;overflow:auto}.knowledge-map__explain[hidden]{display:none}@media (prefers-reduced-motion:no-preference){.knowledge-map__explain{animation:knowledge-map-explain var(--duration-base) var(--ease-out)}}.knowledge-map__explain-text{margin:0}.knowledge-map__explain-title{font-size:var(--font-size-md);margin:0}.knowledge-map__explain-note{font-size:var(--font-size-xs);color:var(--color-text-muted)}.knowledge-map__got-it{align-self:flex-start}@keyframes knowledge-map-explain{0%{opacity:0;transform:translateY(var(--space-xs))}}}
