.loading-fallback{justify-content:center;align-items:center;min-height:50vh;display:flex}.loading-fallback__spinner{border:3px solid #ffffff26;border-top-color:var(--color-accent,#ffffffb3);border-radius:50%;width:48px;height:48px;animation:.8s linear infinite loading-fallback-spin}@media (prefers-reduced-motion:reduce){.loading-fallback__spinner{animation-duration:2s}}@keyframes loading-fallback-spin{to{transform:rotate(360deg)}}@font-face{font-family:Special Gothic;font-style:normal;font-weight:100 900;font-stretch:75% 125%;src:url(/bsmith/fonts/SpecialGothic-VariableFont_wdth,wght.woff2)format("woff2-variations");font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-heading:"Special Gothic", -apple-system, blinkmacsystemfont, "Segoe UI", sans-serif;--font-body:"Special Gothic", -apple-system, blinkmacsystemfont, "Segoe UI", sans-serif;--font-size-xs:clamp(.75rem, .7rem + .25vw, .875rem);--font-size-sm:clamp(.875rem, .8rem + .375vw, 1rem);--font-size-base:clamp(1rem, .95rem + .25vw, 1.125rem);--font-size-lg:clamp(1.125rem, 1rem + .625vw, 1.5rem);--font-size-xl:clamp(1.5rem, 1.3rem + 1vw, 2rem);--font-size-2xl:clamp(2rem, 1.6rem + 2vw, 3rem);--font-size-3xl:clamp(2.5rem, 2rem + 2.5vw, 4rem);--font-size-4xl:clamp(3rem, 2.5rem + 2.5vw, 5rem);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--heading-weight-h1:900;--heading-weight-h2:800;--heading-weight-h3:700;--heading-weight-h4:600;--heading-weight-h5:500;--heading-weight-h6:500;--line-height-tight:1.2;--line-height-snug:1.375;--line-height-normal:1.5;--line-height-relaxed:1.625;--line-height-loose:2;--letter-spacing-tight:-.025em;--letter-spacing-normal:0;--letter-spacing-wide:.025em;--letter-spacing-wider:.05em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-full:9999px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.35s cubic-bezier(.4, 0, .2, 1);--transition-color-fast:.15s;--transition-color-base:.25s;--transition-color-slow:.35s;--header-logo-icon-size:36px;--z-base:0;--z-dropdown:100;--z-sticky:200;--z-fixed:300;--z-modal-backdrop:400;--z-modal:500;--z-popover:600;--z-tooltip:700;--color-error:#ef4444;--color-error-bg:#ef44441a;--color-error-border:#ef44444d;--color-error-focus:#ef444433;--color-success:#22c55e;--color-warning:#f59e0b;--color-danger:#8b0000;--color-danger-light:#ff6b6b;--color-focus-ring:color-mix(in srgb, var(--color-accent) 20%, transparent);--color-white:#000;--color-gray-50:#171717;--color-gray-100:#262626;--color-gray-200:#404040;--color-gray-300:#525252;--color-gray-400:#737373;--color-gray-500:#a3a3a3;--color-gray-600:#d4d4d4;--color-gray-700:#e5e5e5;--color-gray-800:#f5f5f5;--color-gray-900:#fafafa;--color-black:#fff;--color-primary-50:#1e3a8a;--color-primary-100:#1e40af;--color-primary-200:#1d4ed8;--color-primary-300:#2563eb;--color-primary-400:#3b82f6;--color-primary-500:#60a5fa;--color-primary-600:#93c5fd;--color-primary-700:#bfdbfe;--color-primary-800:#dbeafe;--color-primary-900:#eff6ff;--color-secondary-50:#164e63;--color-secondary-100:#155e75;--color-secondary-200:#0e7490;--color-secondary-300:#0891b2;--color-secondary-400:#06b6d4;--color-secondary-500:#22d3ee;--color-secondary-600:#67e8f9;--color-secondary-700:#a5f3fc;--color-secondary-800:#cffafe;--color-secondary-900:#ecfeff;--color-bg-primary:#0a0a0a;--color-bg-secondary:var(--color-gray-50);--color-bg-tertiary:var(--color-gray-100);--color-text-primary:var(--color-gray-900);--color-text-secondary:var(--color-gray-600);--color-text-tertiary:var(--color-gray-500);--color-border-primary:var(--color-gray-200);--color-border-secondary:var(--color-gray-300);--color-accent:var(--color-primary-500);--color-accent-hover:var(--color-primary-600);--color-accent-light:var(--color-primary-200);--color-secondary-accent:var(--color-secondary-500);--color-secondary-accent-hover:var(--color-secondary-600);--color-btn-primary-text:#1a1a1a;--shadow-sm:0 1px 2px 0 #00000080;--shadow-md:0 4px 6px -1px #00000080, 0 2px 4px -2px #00000080;--shadow-lg:0 10px 15px -3px #00000080, 0 4px 6px -4px #00000080;--shadow-xl:0 20px 25px -5px #00000080, 0 8px 10px -6px #00000080}[data-theme=light]{--color-white:#fff;--color-gray-50:#fafafa;--color-gray-100:#f5f5f5;--color-gray-200:#e5e5e5;--color-gray-300:#d4d4d4;--color-gray-400:#a3a3a3;--color-gray-500:#737373;--color-gray-600:#525252;--color-gray-700:#404040;--color-gray-800:#262626;--color-gray-900:#171717;--color-black:#000;--color-primary-50:#eff6ff;--color-primary-100:#dbeafe;--color-primary-200:#bfdbfe;--color-primary-300:#93c5fd;--color-primary-400:#60a5fa;--color-primary-500:#3b82f6;--color-primary-600:#2563eb;--color-primary-700:#1d4ed8;--color-primary-800:#1e40af;--color-primary-900:#1e3a8a;--color-secondary-50:#ecfeff;--color-secondary-100:#cffafe;--color-secondary-200:#a5f3fc;--color-secondary-300:#67e8f9;--color-secondary-400:#22d3ee;--color-secondary-500:#06b6d4;--color-secondary-600:#0891b2;--color-secondary-700:#0e7490;--color-secondary-800:#155e75;--color-secondary-900:#164e63;--color-bg-primary:var(--color-white);--color-bg-secondary:var(--color-gray-50);--color-bg-tertiary:var(--color-gray-100);--color-text-primary:var(--color-gray-900);--color-text-secondary:var(--color-gray-600);--color-text-tertiary:var(--color-gray-500);--color-border-primary:var(--color-gray-200);--color-border-secondary:var(--color-gray-300);--color-accent:var(--color-primary-600);--color-accent-hover:var(--color-primary-700);--color-accent-light:var(--color-primary-100);--color-accent-dark:var(--color-primary-700);--color-secondary-accent:var(--color-secondary-700);--color-secondary-accent-hover:var(--color-secondary-800);--color-btn-primary-text:#fff;--color-error:#dc2626;--color-success:#15803d;--color-warning:#b45309;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a}.corner-caps:before,.corner-caps:after{z-index:3;width:var(--card-cap-size,24px);height:var(--card-cap-size,24px);pointer-events:none;content:"";filter:drop-shadow(0 0 1px #0009)drop-shadow(0 1px 2px #00000073);border:2px solid var(--color-border-default);transition:border-color .35s,transform .35s;position:absolute}.corner-caps:before{border-bottom:none;border-right:none;top:-3px;left:-3px}.corner-caps:after{border-top:none;border-left:none;bottom:-3px;right:-3px}.corner-caps:hover:before,.corner-caps:hover:after{border-color:var(--brand-accent)}.corner-caps:hover:before{transform:translate(-4px,-4px)}.corner-caps:hover:after{transform:translate(4px,4px)}[data-theme=light] .corner-caps:before,[data-theme=light] .corner-caps:after{filter:none}@media (prefers-reduced-motion:reduce){.corner-caps:before,.corner-caps:after{transition:border-color .35s}.corner-caps:hover:before,.corner-caps:hover:after{transform:none}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;scroll-behavior:smooth;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;font-size:16px}body{min-height:100vh;font-family:var(--font-body);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary);overflow-x:clip}[data-booted] body{transition:background-color var(--transition-color-base), color var(--transition-color-base)}.main-content{min-height:100vh}h1,h2,h3,h4,h5,h6{margin-bottom:var(--space-4);font-family:var(--font-body);line-height:var(--line-height-tight);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight)}h1{font-size:var(--font-size-4xl);font-weight:var(--heading-weight-h1);font-stretch:110%}h2{font-size:var(--font-size-xl);font-weight:var(--heading-weight-h2)}h3{font-size:var(--font-size-2xl);font-weight:var(--heading-weight-h3)}h4{font-size:var(--font-size-xl);font-weight:var(--heading-weight-h4)}h5{font-size:var(--font-size-lg);font-weight:var(--heading-weight-h5)}h6{font-size:var(--font-size-base);font-weight:var(--heading-weight-h6)}p{margin-bottom:var(--space-4);color:var(--color-text-secondary)}a:hover{color:var(--color-accent-hover)}a:focus-visible{border-radius:var(--radius-sm);outline:2px solid var(--color-accent);outline-offset:2px}strong,b{font-weight:var(--font-weight-semibold)}em,i{font-style:italic}ul,ol{padding-left:var(--space-6);margin-bottom:var(--space-4)}li{margin-bottom:var(--space-2);color:var(--color-text-secondary)}img{max-width:100%;height:auto;display:block}input,textarea,select,button{font-family:inherit;font-size:inherit;line-height:inherit}button{cursor:pointer;background:0 0;border:none}button:disabled{cursor:not-allowed;opacity:.6}@media (prefers-reduced-motion:no-preference){button:not(:disabled){transition:transform 80ms ease-out}button:not(:disabled):active{transform:scale(.93)}}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{color:var(--color-text-primary);background-color:var(--color-accent-light)}@supports selector(::-webkit-scrollbar){::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-gray-400);border:3px solid var(--color-bg-secondary);border-radius:var(--radius-full)}}:root,body{scrollbar-color:var(--color-gray-400) var(--color-bg-secondary);scrollbar-width:thin}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sr-only:focus{top:var(--space-4);right:var(--space-4);z-index:9999;width:auto;height:auto;padding:var(--space-4) var(--space-6);clip:auto;color:var(--color-bg-primary);white-space:normal;background-color:var(--color-accent);border-radius:var(--radius-sm);margin:0;position:fixed;overflow:visible}.container{width:100%;max-width:1280px;padding:0 var(--space-6);margin:0 auto}.skeleton{background:linear-gradient(90deg, var(--color-gray-200) 25%, var(--color-gray-300) 50%, var(--color-gray-200) 75%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.5s ease-in-out infinite loading}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:768px){html{font-size:14px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{*,:before,:after{color:#000!important;text-shadow:none!important;box-shadow:none!important;background:0 0!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}img,p,h2,h3{page-break-inside:avoid}h2,h3{page-break-after:avoid}}.footer{padding:var(--space-16) 0;margin-top:var(--space-32);background-color:var(--color-background-surface);border-top:1px solid var(--color-border-subtle)}.footer__container{max-width:1280px}.footer__content{gap:var(--space-8);flex-direction:column;align-items:stretch;display:flex}.footer__group{gap:var(--space-4);flex-direction:column;align-items:flex-start;display:flex}.footer__group-heading{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin:0}.footer__social,.footer__docs{gap:var(--space-6);flex-wrap:wrap;align-items:center;display:flex}.footer__social-link,.footer__doc-link{width:44px;height:44px;color:var(--color-text-subtle);background-color:var(--color-background-surface-raised);border:2px solid var(--color-border-subtle);border-radius:var(--radius-none);transition:background-color var(--transition-color-fast), color var(--transition-color-fast), transform var(--transition-fast), border-color var(--transition-color-fast);justify-content:center;align-items:center;display:flex}.footer__social-link:hover,.footer__doc-link:hover{color:var(--color-text-inverse);background-color:var(--color-brand-primary-500);border-color:var(--color-brand-primary-500);transform:translateY(-2px)}.footer__social-link:active,.footer__doc-link:active{transform:translateY(0)}.footer__copyright{font-size:var(--font-size-sm);color:var(--color-text-tertiary);text-align:center;margin:0}@media (min-width:768px){.footer__content{flex-direction:row;justify-content:space-between;align-items:flex-start}.footer__copyright{text-align:right;align-self:flex-end}}.cookie-banner{z-index:var(--z-fixed);background-color:var(--color-background-surface);border-top:1px solid var(--color-border-subtle);position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 12px #0000001a}.cookie-banner--pending{visibility:hidden}.cookie-banner:not(.cookie-banner--pending){animation:.3s ease-out cookieSlideUp}@keyframes cookieSlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.cookie-banner__container{gap:var(--space-600);max-width:1280px;padding:var(--space-400) var(--space-600);padding-right:var(--space-600);align-items:center;margin:0 auto;display:flex;position:relative}.cookie-banner__text{font-size:var(--font-size-200);line-height:var(--line-height-normal);color:var(--color-text-subtle);flex:1;margin:0}.cookie-banner__actions{gap:var(--space-300);flex-shrink:0;align-items:center;display:flex}.cookie-banner__btn{gap:var(--space-200);min-height:44px;padding:var(--space-300) var(--space-500);font-size:var(--font-size-200);font-weight:var(--font-weight-medium);white-space:nowrap;cursor:pointer;border-radius:var(--radius-container);transition:background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);border:1px solid #0000;align-items:center;display:inline-flex}.cookie-banner__btn--accept{color:var(--color-action-primary-text);background-color:var(--color-action-primary-background);border-color:var(--color-action-primary-background)}.cookie-banner__btn--accept:hover{background-color:var(--color-action-primary-background-hover);border-color:var(--color-action-primary-background-hover)}.cookie-banner__btn--settings{color:var(--color-text-subtle);border-color:var(--color-border-subtle);background-color:#0000}.cookie-banner__btn--settings:hover{color:var(--color-text-default);background-color:var(--color-background-surface-raised)}.cookie-banner__btn--deny{color:var(--color-text-inverse);background-color:var(--color-text-default);border-color:var(--color-text-default)}.cookie-banner__btn--deny:hover{color:var(--color-text-inverse);background-color:var(--color-text-subtle);border-color:var(--color-text-subtle)}.cookie-banner__btn:focus-visible{outline:2px solid var(--color-action-primary-background);outline-offset:2px}.cookie-modal__backdrop{z-index:var(--z-modal-backdrop);background-color:#0009;animation:.2s ease-out cookieFadeIn;position:fixed;top:0;bottom:0;left:0;right:0}@keyframes cookieFadeIn{0%{opacity:0}to{opacity:1}}.cookie-modal{z-index:var(--z-modal);background-color:var(--color-background-surface);border:1px solid color-mix(in srgb, var(--color-border-default) 35%, transparent);border-radius:var(--radius-container) var(--radius-container) 0 0;border-bottom:none;flex-direction:column;width:100%;max-width:520px;max-height:80vh;animation:.25s ease-out cookieModalSlideUp;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -8px 32px #0003}@keyframes cookieModalSlideUp{0%{opacity:0;transform:translate(-50%)translateY(100%)}to{opacity:1;transform:translate(-50%)translateY(0)}}.cookie-modal__header{padding:var(--space-600) var(--space-600) var(--space-400);border-bottom:1px solid var(--color-border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.cookie-modal__title{font-size:var(--font-size-300);font-weight:var(--font-weight-semibold);color:var(--color-text-default);margin:0}.cookie-modal__description{padding:var(--space-400) var(--space-600);font-size:var(--font-size-200);line-height:var(--line-height-normal);color:var(--color-text-subtle);flex-shrink:0;margin:0}.cookie-modal__categories{gap:var(--space-100);padding:0 var(--space-600);flex-direction:column;flex:1;margin:0;list-style:none;display:flex;overflow-y:auto}.cookie-category{border:1px solid color-mix(in srgb, var(--color-border-default) 35%, transparent);border-radius:var(--radius-container);transition:border-color var(--transition-color-fast);overflow:hidden}.cookie-category:focus-within{border-color:var(--color-action-primary-background)}.cookie-category__row{gap:var(--space-300);padding:var(--space-300) var(--space-400);justify-content:space-between;align-items:center;display:flex}.cookie-category__expand{gap:var(--space-200);font-size:var(--font-size-200);font-weight:var(--font-weight-medium);color:var(--color-text-default);text-align:left;cursor:pointer;transition:color var(--transition-color-fast);background:0 0;border:none;flex:1;align-items:center;padding:0;display:flex}.cookie-category__expand:hover{color:var(--color-action-primary-background)}.cookie-category__expand:focus-visible{border-radius:var(--radius-small);outline:2px solid var(--color-action-primary-background);outline-offset:2px}.cookie-category__label{font-size:var(--font-size-200);font-weight:var(--font-weight-medium)}.cookie-category__description{padding:0 var(--space-400) var(--space-300);padding-top:var(--space-300);font-size:var(--font-size-100);line-height:var(--line-height-normal);color:var(--color-text-subtle);border-top:1px solid var(--color-border-subtle);margin:0}.cookie-category__required{margin-left:var(--space-200);font-size:var(--font-size-100);color:var(--color-text-subtle);white-space:nowrap}.cookie-toggle{gap:var(--space-200);cursor:pointer;flex-shrink:0;align-items:center;display:inline-flex;position:relative}.cookie-toggle--disabled{cursor:not-allowed;opacity:.6}.cookie-toggle input{opacity:0;width:0;height:0;position:absolute}.cookie-toggle__track{background-color:var(--color-background-surface-raised);border:1px solid var(--color-border-subtle);border-radius:var(--radius-full);width:40px;height:22px;transition:background-color var(--transition-color-base), border-color var(--transition-color-base);flex-shrink:0;position:relative}.cookie-toggle input:checked+.cookie-toggle__track{background-color:var(--color-action-primary-background);border-color:var(--color-action-primary-background)}.cookie-toggle input:focus-visible+.cookie-toggle__track{outline:2px solid var(--color-action-primary-background);outline-offset:2px}.cookie-toggle__thumb{background-color:var(--color-text-subtle);border-radius:var(--radius-full);width:16px;height:16px;transition:transform var(--transition-fast), background-color var(--transition-color-base);position:absolute;top:2px;left:2px}.cookie-toggle input:checked+.cookie-toggle__track .cookie-toggle__thumb{background-color:var(--color-action-primary-text);transform:translate(18px)}.cookie-modal__footer{gap:var(--space-300);padding:var(--space-400) var(--space-600) var(--space-600);border-top:1px solid var(--color-border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.cookie-modal__footer-right{gap:var(--space-300);display:flex}@media (max-width:768px){.cookie-banner__container{gap:var(--space-400);padding:var(--space-500) var(--space-400);padding-right:var(--space-600);flex-direction:column;align-items:stretch}.cookie-banner__actions{justify-content:stretch}.cookie-banner__btn{flex:1;justify-content:center}.cookie-modal{border-radius:var(--radius-container) var(--radius-container) 0 0;max-width:100%;max-height:90vh}.cookie-modal__footer{flex-direction:column;align-items:stretch}.cookie-modal__footer-right{flex-direction:column}.cookie-modal__footer .cookie-banner__btn{justify-content:center;width:100%}}@media (prefers-reduced-motion:reduce){.cookie-banner,.cookie-modal__backdrop{opacity:1;animation:none}.cookie-banner{transform:none}.cookie-modal{opacity:1;animation:none;transform:translate(-50%)}}.back-to-top{right:var(--space-8);bottom:var(--space-8);z-index:var(--z-fixed);width:44px;height:44px;color:var(--color-btn-primary-text);pointer-events:none;cursor:pointer;background-color:var(--color-secondary-accent);border-radius:var(--radius-full);box-shadow:var(--shadow-lg);opacity:0;transition:transform var(--transition-base), opacity var(--transition-base), background-color var(--transition-color-fast);transform:translateX(calc(100% + var(--space-8)));border:none;justify-content:center;align-items:center;display:flex;position:fixed}.back-to-top--visible{pointer-events:auto;opacity:1;transform:translate(0)}.back-to-top:hover{background-color:var(--color-secondary-accent-hover)}.back-to-top:active{transform:translate(0)scale(.95)}.back-to-top:focus-visible{outline:2px solid var(--color-secondary-accent);outline-offset:3px}@media (prefers-reduced-motion:reduce){.back-to-top{transition:opacity var(--transition-base), background-color var(--transition-color-fast);transform:none}.back-to-top--visible,.back-to-top:active{transform:none}}.hal-eye{border-radius:50%;flex-shrink:0}.header-controls__segmented{grid-template-columns:repeat(var(--segmented-count), 1fr);padding:var(--space-100,var(--space-2));background:var(--color-background-surface-raised,var(--color-bg-tertiary));border-radius:var(--radius-interactive,var(--radius-lg));display:grid;position:relative}.header-controls--inline .header-controls__segmented{width:100%}.header-controls__segmented-indicator{inset:var(--space-100,var(--space-2));width:calc((100% - 2 * var(--space-100,var(--space-2))) / var(--segmented-count));background:var(--brand-accent,var(--color-accent));border-radius:var(--radius-interactive,var(--radius-lg));transition:transform .22s cubic-bezier(.65,0,.35,1);position:absolute}.header-controls__segmented-option{z-index:1;padding:var(--space-200,var(--space-2) var(--space-4));color:var(--home-text-muted,var(--color-text-secondary));cursor:pointer;border-radius:var(--radius-interactive,var(--radius-lg));background:0 0;border:none;justify-content:center;align-items:center;transition:color .15s;display:flex;position:relative}.header-controls__segmented-option--text{font-size:var(--font-size-sm);white-space:nowrap}.header-controls__segmented-option:hover{color:var(--home-text,var(--color-text-primary))}.header-controls__segmented-option.is-active{color:var(--home-bg,var(--color-white))}.header-controls__segmented-option:focus-visible{outline:2px solid var(--brand-accent,var(--color-accent));outline-offset:2px}.header-controls{flex-shrink:0;position:relative}.header-controls--inline{gap:var(--space-100);flex-direction:column;width:100%;display:flex}.header-controls--inline .header-controls__item{width:100%}.header-controls__trigger{width:36px;height:36px;color:var(--home-text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:color .15s;display:flex}.header-controls__trigger:hover{color:var(--home-text)}.header-controls__trigger:focus-visible{color:var(--home-text)}.header-controls__trigger:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px}.header-controls__trigger--labeled{width:auto;height:auto;padding:var(--space-200) var(--space-300);font-size:var(--font-size-100)}.header-controls__trigger-content{gap:var(--space-200);align-items:center;display:flex}.header-controls__dropdown{top:calc(100% + var(--space-200));gap:var(--space-100);min-width:200px;padding:var(--space-200);background:var(--home-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-container);box-shadow:var(--elevation-medium);flex-direction:column;display:flex;position:absolute;right:0}.header-controls__item{gap:var(--space-300);padding:var(--space-200) var(--space-300);font-family:var(--font-family-sans);font-size:var(--font-size-300);color:var(--home-text);text-align:left;cursor:pointer;border-radius:var(--radius-interactive);background:0 0;border:none;align-items:center;display:flex}.header-controls__item:hover{background:var(--color-background-surface-raised)}.header-controls__item:focus-visible{background:var(--color-background-surface-raised)}.header-controls__section+.header-controls__section{margin-top:var(--space-200)}.header-controls__heading-row{margin:0 0 var(--space-100);justify-content:space-between;align-items:center;display:flex}.header-controls__heading{font-family:var(--font-family-sans);font-size:var(--font-size-100);color:var(--home-text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0;font-weight:600}.header-controls__reset{color:var(--home-text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .15s;display:flex}.header-controls__reset:hover{color:var(--home-text)}.header-controls__reset:focus-visible{color:var(--home-text)}.header-controls__reset:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px}.header-controls__switching{padding:var(--space-200);font-family:var(--font-family-sans);font-size:var(--font-size-200);color:var(--brand-accent-text);text-align:center;background:var(--color-background-surface-raised);border-radius:var(--radius-interactive);justify-content:center;align-items:center;display:flex}.dithered-image{max-width:100%;height:auto;display:block}@font-face{font-family:Orbitron;font-weight:500 600;src:url(/bsmith/fonts/orbitron-variable.woff2)format("woff2");font-display:swap}.home,.chat-page,.cookie-banner,.cookie-modal,.footer{--color-brand-primary-100:#fff0cc;--color-brand-primary-300:#ffd466;--color-brand-primary-500:#ffb403;--color-brand-primary-700:#b37d00;--color-brand-primary-800:#8a6100;--color-brand-primary-900:#664700;--color-brand-secondary-100:#ccf0f2;--color-brand-secondary-300:#5cd1d6;--color-brand-secondary-500:#0aa8b0;--color-brand-secondary-700:#07767b;--color-brand-secondary-900:#044346;--color-neutral-050:#f7f8fa;--color-neutral-100:#edeff2;--color-neutral-200:#dde1e6;--color-neutral-300:#c3c9d1;--color-neutral-400:#9ba3ae;--color-neutral-500:#737c88;--color-neutral-600:#545c67;--color-neutral-700:#3a414a;--color-neutral-800:#242a31;--color-neutral-900:#12161b;--color-error-100:#ffe5e5;--color-error-500:#e5484d;--color-error-900:#641723;--color-warning-100:#ffe8d1;--color-warning-500:#f97316;--color-warning-900:#7a3306;--color-success-100:#d6f5e3;--color-success-500:#22c55e;--color-success-900:#0c4a2b;--space-000:0px;--space-100:4px;--space-200:8px;--space-300:12px;--space-400:16px;--space-500:24px;--space-600:32px;--space-700:48px;--space-800:64px;--space-900:96px;--radius-none:0px;--radius-small:2px;--radius-base:4px;--radius-medium:8px;--radius-large:16px;--radius-full:9999px;--font-family-sans:"Special Gothic", sans-serif;--font-family-serif:"Fraunces", serif;--font-family-display:"Orbitron", sans-serif;--font-size-50:11px;--font-size-100:12px;--font-size-200:14px;--font-size-300:16px;--font-size-400:18px;--font-size-500:20px;--font-size-600:24px;--font-size-700:32px;--font-size-800:42px;--font-size-900:56px;--line-height-xsmall:1;--line-height-small:1.2;--line-height-base:1.4;--line-height-medium:1.5;--line-height-large:1.6;--line-height-xlarge:1.75;--letter-spacing-100:-.02em;--letter-spacing-500:0em;--letter-spacing-900:.08em;--shadow-dark-xsmall:0 1px 2px #0006;--shadow-dark-small:0 2px 4px #00000073;--shadow-dark-base:0 2px 8px #00000073;--shadow-dark-medium:0 4px 12px #00000080;--shadow-dark-large:0 8px 24px #0000008c;--shadow-dark-xlarge:0 16px 48px #0009;--shadow-light-xsmall:0 1px 2px #12161b14;--shadow-light-small:0 2px 4px #12161b1a;--shadow-light-base:0 2px 8px #12161b1a;--shadow-light-medium:0 4px 12px #12161b1f;--shadow-light-large:0 8px 24px #12161b24;--shadow-light-xlarge:0 16px 48px #12161b29;--color-background-canvas:var(--color-neutral-900);--color-background-surface:var(--color-neutral-800);--color-background-surface-raised:var(--color-neutral-700);--color-text-default:var(--color-neutral-100);--color-text-subtle:var(--color-neutral-400);--color-text-inverse:var(--color-neutral-900);--color-text-link:var(--color-brand-primary-300);--color-border-subtle:var(--color-neutral-700);--color-border-default:var(--color-neutral-600);--color-border-focus:var(--color-brand-primary-500);--color-action-primary-background:var(--color-brand-primary-500);--color-action-primary-background-hover:var(--color-brand-primary-300);--color-action-primary-text:var(--color-neutral-900);--color-action-secondary-background:var(--color-brand-secondary-500);--color-action-secondary-text:var(--color-neutral-050);--color-feedback-error-background:var(--color-error-900);--color-feedback-error-text:var(--color-error-100);--color-feedback-error-border:var(--color-error-500);--color-feedback-warning-background:var(--color-warning-900);--color-feedback-warning-text:var(--color-warning-100);--color-feedback-warning-border:var(--color-warning-500);--color-feedback-success-background:var(--color-success-900);--color-feedback-success-text:var(--color-success-100);--color-feedback-success-border:var(--color-success-500);--gap-tight:var(--space-100);--gap-base:var(--space-200);--padding-component:var(--space-400);--padding-section:var(--space-600);--radius-interactive:var(--radius-base);--radius-container:var(--radius-medium);--radius-pill:var(--radius-full);--elevation-xsmall:var(--shadow-dark-xsmall);--elevation-small:var(--shadow-dark-small);--elevation-base:var(--shadow-dark-base);--elevation-medium:var(--shadow-dark-medium);--elevation-large:var(--shadow-dark-large);--elevation-xlarge:var(--shadow-dark-xlarge);--button-primary-background-hover:var(--color-action-primary-background-hover);--brand-accent-text:var(--brand-accent);--brand-accent-secondary-text:var(--brand-accent-secondary)}[data-theme=light] .home,[data-theme=light] .chat-page{--color-background-canvas:var(--color-neutral-050);--color-background-surface:#fff;--color-background-surface-raised:var(--color-neutral-100);--color-text-default:var(--color-neutral-800);--color-text-subtle:var(--color-neutral-600);--color-text-inverse:var(--color-neutral-050);--color-text-link:var(--color-brand-primary-700);--color-border-subtle:var(--color-neutral-200);--color-border-default:var(--color-neutral-300);--color-border-focus:var(--color-brand-primary-700);--color-action-primary-background-hover:var(--color-brand-primary-700);--color-feedback-error-background:var(--color-error-100);--color-feedback-error-text:var(--color-error-900);--color-feedback-warning-background:var(--color-warning-100);--color-feedback-warning-text:var(--color-warning-900);--color-feedback-success-background:var(--color-success-100);--color-feedback-success-text:var(--color-success-900);--elevation-xsmall:var(--shadow-light-xsmall);--elevation-small:var(--shadow-light-small);--elevation-base:var(--shadow-light-base);--elevation-medium:var(--shadow-light-medium);--elevation-large:var(--shadow-light-large);--elevation-xlarge:var(--shadow-light-xlarge);--home-headline-desc:var(--color-neutral-600);--home-pattern-ink:var(--color-neutral-100);--brand-accent-text:var(--color-brand-primary-800);--brand-accent-secondary-text:var(--color-brand-secondary-700)}[data-theme=light] .chat-rail__identity-img{--dither-matte:var(--color-neutral-200)}.chat-page{--home-surface:var(--color-background-surface);--home-text:var(--color-text-default);--home-text-muted:var(--color-text-subtle);--brand-accent:var(--color-brand-primary-500);--brand-accent-secondary:var(--color-brand-secondary-500);--home-bg:var(--color-background-canvas);--chat-greeting-accent:#0aa8b0;--chat-row-marker-w:20px;height:100svh;color:var(--color-text-default);background:var(--color-background-canvas);display:flex;position:relative;overflow:hidden}.chat-page[data-ai-mode=hal]{--brand-accent:var(--color-error);--brand-accent-secondary:var(--color-danger);--color-brand-primary-500:var(--color-error);--color-brand-secondary-500:var(--color-danger);--color-brand-secondary-300:var(--color-danger);--chat-greeting-accent:var(--color-error)}.chat-page[data-ai-mode=sauron]{--brand-accent:#ff1e1e;--brand-accent-secondary:var(--color-danger);--color-brand-primary-500:#ff1e1e;--color-brand-secondary-500:var(--color-danger);--color-brand-secondary-300:var(--color-danger);--chat-greeting-accent:#ffb403;--color-brand-secondary-700:var(--color-danger)}[data-theme=light] .chat-page[data-ai-mode=hal],[data-theme=light] .chat-page[data-ai-mode=sauron]{--brand-accent-text:var(--brand-accent);--brand-accent-secondary-text:var(--brand-accent-secondary)}html[data-theme=dark] .chat-page[data-ai-mode=hal] .chat-rail__name,html[data-theme=dark] .chat-page[data-ai-mode=hal] .chat-rail__link.is-active,html[data-theme=dark] .chat-page[data-ai-mode=hal] .chat-rail__history-item.is-active,html[data-theme=dark] .chat-page[data-ai-mode=hal] .about-block__meta-item dt,html[data-theme=dark] .chat-page[data-ai-mode=hal] .chat-answer__about-heading,html[data-theme=dark] .chat-page[data-ai-mode=hal] .projects-gate__request,html[data-theme=dark] .chat-page[data-ai-mode=hal] .projects-gate__request:hover,html[data-theme=dark] .chat-page[data-ai-mode=sauron] .chat-rail__name,html[data-theme=dark] .chat-page[data-ai-mode=sauron] .chat-rail__link.is-active,html[data-theme=dark] .chat-page[data-ai-mode=sauron] .chat-rail__history-item.is-active,html[data-theme=dark] .chat-page[data-ai-mode=sauron] .about-block__meta-item dt,html[data-theme=dark] .chat-page[data-ai-mode=sauron] .chat-answer__about-heading,html[data-theme=dark] .chat-page[data-ai-mode=sauron] .projects-gate__request,html[data-theme=dark] .chat-page[data-ai-mode=sauron] .projects-gate__request:hover{color:var(--color-danger-light)}html[data-theme=dark] .chat-page[data-ai-mode=hal] .chat-rail__link:focus-visible{color:var(--color-danger-light)}html[data-theme=dark] .chat-page[data-ai-mode=hal] .projects-gate__request:focus-visible{color:var(--color-danger-light)}html[data-theme=dark] .chat-page[data-ai-mode=sauron] .chat-rail__link:focus-visible{color:var(--color-danger-light)}html[data-theme=dark] .chat-page[data-ai-mode=sauron] .projects-gate__request:focus-visible{color:var(--color-danger-light)}html[data-theme=dark] .chat-page[data-ai-mode=hal] .chat-suggestions__chip:not(:disabled):hover,html[data-theme=dark] .chat-page[data-ai-mode=sauron] .chat-suggestions__chip:not(:disabled):hover{color:var(--color-danger-light);border-color:var(--color-danger-light)}html[data-theme=dark] .chat-page[data-ai-mode=hal] .chat-suggestions__chip:not(:disabled):focus-visible{color:var(--color-danger-light);border-color:var(--color-danger-light)}html[data-theme=dark] .chat-page[data-ai-mode=sauron] .chat-suggestions__chip:not(:disabled):focus-visible{color:var(--color-danger-light);border-color:var(--color-danger-light)}.chat-page[data-ai-mode=sauron] .chat-suggestions__chip:not(:disabled):hover{background:#0a0402}.chat-page[data-ai-mode=sauron] .chat-suggestions__chip:not(:disabled):focus-visible{background:#0a0402}html[data-theme=light] .chat-page[data-ai-mode=sauron] .chat-suggestions__chip:not(:disabled):hover{color:var(--color-danger-light);border-color:var(--color-danger-light)}html[data-theme=light] .chat-page[data-ai-mode=sauron] .chat-suggestions__chip:not(:disabled):focus-visible{color:var(--color-danger-light);border-color:var(--color-danger-light)}.chat-page[data-ai-mode=hal] .header-controls__segmented-option.is-active,.chat-page[data-ai-mode=sauron] .header-controls__segmented-option.is-active{color:#fff}html[data-theme=dark] .chat-page[data-ai-mode=hal] .experience-timeline__label--hover .experience-timeline__label-name,html[data-theme=dark] .chat-page[data-ai-mode=sauron] .experience-timeline__label--hover .experience-timeline__label-name{color:var(--color-danger-light)}html[data-theme=dark] .chat-page[data-ai-mode=hal] .role-card__skill-pill,html[data-theme=dark] .chat-page[data-ai-mode=sauron] .role-card__skill-pill{color:var(--color-danger-light);border-color:var(--color-danger-light)}.chat-page :focus-visible{outline-color:var(--brand-accent)}.chat-page .back-to-top{color:var(--home-bg);background-color:var(--brand-accent)}.chat-page .back-to-top:hover{background-color:var(--brand-accent-secondary)}.chat-page .back-to-top:focus-visible{outline-color:var(--brand-accent)}.chat-page>.chat-page__bg{z-index:0;pointer-events:none;opacity:var(--chat-dither-opacity,10%);position:absolute;top:0;bottom:0;left:0;right:0}.chat-page__bg--still{image-rendering:pixelated;background-position:50%;background-repeat:no-repeat;background-size:cover}.chat-page[data-ai-mode=hal]>.chat-page__bg{--chat-dither-opacity:100%;background-color:#05050a}.chat-page[data-ai-mode=sauron]>.chat-page__bg{--chat-dither-opacity:100%;filter:grayscale()sepia()hue-rotate(-50deg)saturate(4)}[data-theme=light] .chat-page[data-ai-mode=default]{--color-background-canvas:var(--color-neutral-100);--chat-greeting-accent:#046b71}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .chat-page[data-ai-mode=default]{--color-background-canvas:var(--color-neutral-100);--chat-greeting-accent:#046b71}}.chat-rail,.chat-main{z-index:1;position:relative}.chat-page ::selection{color:var(--color-neutral-050);background-color:var(--color-brand-secondary-500)}.chat-trace{z-index:2;pointer-events:none;width:100%;height:100%;position:fixed;top:0;bottom:0;left:0;right:0}.chat-trace__path{fill:none;stroke:var(--color-brand-secondary-500);stroke-linecap:square;stroke-width:1.5px}.chat-trace__path--drawing{stroke-dasharray:1;stroke-dashoffset:1px;animation:.42s linear forwards chat-trace-draw}.chat-trace__path--contact{stroke-dasharray:1;stroke-dashoffset:0}.chat-trace__path--tracing-out{stroke-dasharray:1 1;stroke-dashoffset:0;animation:.35s linear forwards chat-trace-out}@keyframes chat-trace-draw{to{stroke-dashoffset:0}}@keyframes chat-trace-out{to{stroke-dashoffset:-1px}}.chat-trace__comet{filter:blur(1px) drop-shadow(0 0 5px var(--color-brand-secondary-500)) drop-shadow(0 0 9px var(--color-brand-secondary-500));fill:var(--color-neutral-050)}@media (prefers-reduced-motion:reduce){.chat-trace__path--drawing,.chat-trace__path--tracing-out{stroke-dashoffset:0;animation:none}}.chat-rail{gap:var(--space-200);width:190px;min-height:0;padding:var(--space-300);padding-bottom:calc(var(--space-300) + var(--cookie-banner-height,0px));flex-direction:column;flex-shrink:0;display:flex;overflow-y:auto}@keyframes chat-rail-card-enter{0%{opacity:0;transform:translate(-110%)}60%{opacity:1;transform:translate(6%)}to{opacity:1;transform:translate(0)}}.chat-rail>.chat-card{animation:.52s cubic-bezier(.22,1,.36,1) backwards chat-rail-card-enter}.chat-rail>.chat-card:first-child{animation-delay:0s}.chat-rail>.chat-card:nth-child(2){animation-delay:60ms}.chat-rail>.chat-card:nth-child(3){animation-delay:.12s}.chat-rail>.chat-card:nth-child(4){animation-delay:.18s}@media (prefers-reduced-motion:reduce){.chat-rail>.chat-card{animation:none}}.chat-card{background:var(--color-background-surface);isolation:isolate;border:1px solid color-mix(in srgb, var(--color-border-default) 35%, transparent);border-radius:var(--radius-container);flex-shrink:0;position:relative}.chat-card__glow{--edge-sensitivity:60;pointer-events:none;content:"";background:conic-gradient(from var(--cursor-angle,0deg), transparent, color-mix(in srgb, var(--color-brand-primary-500) 90%, transparent) 90deg, transparent 180deg);border-radius:inherit;opacity:clamp(0, calc((var(--edge-proximity,0) - var(--edge-sensitivity)) / (100 - var(--edge-sensitivity))), 1);padding:1px;transition:opacity .15s ease-out;position:absolute;top:0;bottom:0;left:0;right:0;-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;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.chat-rail__heading{padding:0 var(--space-200);font-size:var(--font-size-50);font-weight:var(--font-weight-semibold);color:var(--color-text-subtle);text-transform:uppercase;letter-spacing:var(--letter-spacing-100);margin:0}.chat-rail__identity{gap:var(--space-300);padding:var(--padding-component);color:var(--home-text);flex-direction:column;align-items:flex-start;display:flex}.chat-rail__identity-frame{border:1px solid var(--color-border-default);width:100%;position:relative}.chat-rail__identity-img{--dither-matte:var(--color-neutral-900);--dither-stripe:#9ba3ae66;width:100%}.chat-rail__identity-text{flex-direction:column;gap:0;display:flex}.chat-rail__name{font-size:var(--font-size-300);font-weight:var(--font-weight-semibold);color:var(--brand-accent-secondary-text);letter-spacing:var(--letter-spacing-100);margin:0}.chat-rail__tagline{font-size:var(--font-size-200);color:var(--color-text-subtle);margin:0}.chat-rail__identity-links{gap:var(--space-200);display:flex}.chat-rail__identity-link{color:var(--color-text-subtle);display:flex}.chat-rail__identity-link:hover{color:var(--brand-accent-secondary-text)}.chat-rail__identity-link:focus-visible{color:var(--brand-accent-secondary-text)}.chat-rail__chats{gap:var(--space-100);min-height:0;padding:var(--space-300) 0;flex-direction:column;display:flex}.chat-rail__history{gap:var(--space-100);flex-direction:column;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.chat-rail__history li{gap:var(--space-100);align-items:center;display:flex}.chat-rail__history-item{padding-block:var(--space-100);padding-inline:var(--space-200);font-size:var(--font-size-100);color:var(--color-text-subtle);text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:none;flex:1;overflow:hidden}.chat-rail__history-item:hover{color:var(--color-text-default)}.chat-rail__history-item.is-active{color:var(--brand-accent-secondary-text)}.chat-rail__history-del{color:var(--color-text-subtle);cursor:pointer;opacity:0;background:0 0;border:none;flex-shrink:0;align-items:center;display:flex}.chat-rail__history li:hover .chat-rail__history-del{opacity:1}.chat-rail__history-del:focus-visible{opacity:1}@media (hover:none){.chat-rail__history-del{opacity:1}}.chat-rail__history-del:hover{color:var(--color-text-default)}.chat-rail__nav{gap:var(--space-100);padding:var(--space-300) 0;flex-direction:column;display:flex}.chat-rail__link{width:100%;padding:var(--space-100) var(--space-300);font-family:var(--font-family-sans);font-size:var(--font-size-200);color:var(--color-text-subtle);text-align:left;cursor:pointer;background:0 0;border:none;text-decoration:none}.chat-rail .chat-rail__link{transition:color var(--transition-base), background-color var(--transition-base)}.chat-rail__link:hover,.chat-rail__link.is-active{background:var(--color-background-surface-raised)}.chat-rail__link:focus-visible{background:var(--color-background-surface-raised)}.chat-rail__link:hover{color:var(--color-text-default)}.chat-rail__link.is-active{color:var(--brand-accent-secondary-text)}.chat-rail__link:focus-visible{color:var(--brand-accent-secondary-text)}.chat-rail__link-content{gap:var(--space-200);transition:transform var(--transition-base);align-items:center;display:flex}.chat-rail__link:hover .chat-rail__link-content,.chat-rail__link.is-active .chat-rail__link-content{transform:translateX(var(--space-100))}.chat-rail__link:focus-visible .chat-rail__link-content{transform:translateX(var(--space-100))}.chat-card .chat-rail__link:first-of-type .chat-rail__link-content{transition-delay:0s}.chat-card .chat-rail__link:nth-of-type(2) .chat-rail__link-content{transition-delay:30ms}.chat-card .chat-rail__link:nth-of-type(3) .chat-rail__link-content{transition-delay:60ms}.chat-card .chat-rail__link:nth-of-type(4) .chat-rail__link-content{transition-delay:90ms}.chat-card .chat-rail__link:nth-of-type(5) .chat-rail__link-content{transition-delay:.12s}.chat-card .chat-rail__link:nth-of-type(6) .chat-rail__link-content{transition-delay:.15s}@media (prefers-reduced-motion:reduce){.chat-rail__link-content{transition:none}.chat-rail__link:hover .chat-rail__link-content,.chat-rail__link.is-active .chat-rail__link-content{transform:none}.chat-rail__link:focus-visible .chat-rail__link-content{transform:none}}.chat-rail__link[aria-disabled=true]{pointer-events:none;cursor:default;opacity:.65}.chat-rail__settings .header-controls__dropdown{position:fixed;top:0;bottom:auto;left:0;right:auto}.chat-rail__settings .header-controls__trigger--labeled{width:100%;padding:var(--space-100) var(--space-300);font-size:var(--font-size-200);color:var(--color-text-subtle);justify-content:flex-start}.chat-rail__settings .header-controls__trigger--labeled:hover{color:var(--color-text-default);background:var(--color-background-surface-raised)}.chat-rail__settings .header-controls__trigger--labeled:focus-visible{color:var(--color-text-default);background:var(--color-background-surface-raised)}.chat-rail__settings .header-controls__trigger-content{transition:transform var(--transition-base)}.chat-rail__settings .header-controls__trigger--labeled:hover .header-controls__trigger-content{transform:translateX(var(--space-100))}.chat-rail__settings .header-controls__trigger--labeled:focus-visible .header-controls__trigger-content{transform:translateX(var(--space-100))}@media (prefers-reduced-motion:reduce){.chat-rail__settings .header-controls__trigger-content{transition:none}.chat-rail__settings .header-controls__trigger--labeled:hover .header-controls__trigger-content{transform:none}.chat-rail__settings .header-controls__trigger--labeled:focus-visible .header-controls__trigger-content{transform:none}}.chat-rail__settings{padding:var(--space-300) 0;margin-top:auto}.chat-rail__settings[aria-disabled=true]{pointer-events:none;opacity:.65}.chat-main{gap:var(--space-600);min-width:0;max-width:980px;min-height:0;padding:0 var(--space-600) var(--space-600);padding-bottom:calc(var(--space-600) + var(--cookie-banner-height,0px));flex-direction:column;flex:1;justify-content:flex-end;margin-inline-start:auto;margin-inline-end:auto;display:flex}.chat-main[data-intro-phase=rail],.chat-main[data-intro-phase=greeting]{justify-content:center}.chat-main[data-intro-phase=rail] .chat-greeting{visibility:hidden}.chat-greeting{gap:var(--space-300);padding:var(--space-200) var(--space-300) var(--space-200) 0;align-items:center;display:flex;position:relative;left:-50px}.chat-greeting--leaving{pointer-events:none;animation:.5s cubic-bezier(.22,1,.36,1) forwards chat-greeting-leave;position:fixed}@keyframes chat-greeting-leave{0%{transform:translateY(0)}to{transform:translateY(calc(-1 * var(--chat-greeting-exit-dist,0px)))}}.chat-greeting__text{gap:var(--space-100);flex-direction:column;display:flex}.chat-greeting__eyebrow{font-size:var(--font-size-200);color:var(--color-text-subtle);margin:0;transition:transform .4s cubic-bezier(.22,1,.36,1);display:grid;transform:translateY(10px)}.chat-greeting__eyebrow-ghost,.chat-greeting__eyebrow-text{grid-area:1/1}.chat-greeting__eyebrow-ghost{visibility:hidden}.chat-greeting__text[data-headline-typing] .chat-greeting__eyebrow{transform:translateY(0)}@media (prefers-reduced-motion:reduce){.chat-greeting__eyebrow{transition:none;transform:none}}[data-theme=light] .chat-greeting__eyebrow{color:var(--color-text-secondary)}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .chat-greeting__eyebrow{color:var(--color-text-secondary)}}.chat-page[data-ai-mode=sauron] .chat-greeting__eyebrow{color:var(--color-danger-light)}.chat-greeting__headline{font-size:clamp(var(--font-size-700), 3vw + 1.5rem, var(--font-size-800));font-weight:var(--font-weight-semibold);color:var(--chat-greeting-accent);margin:0;font-stretch:120%;line-height:1.15;display:grid}.chat-greeting__headline-ghost,.chat-greeting__headline-text{grid-area:1/1}.chat-greeting__headline-ghost{visibility:hidden}.chat-transcript-wrap{flex:1;min-height:0;position:relative}.chat-transcript{gap:var(--space-300);height:100%;padding-right:var(--space-300);scrollbar-width:none;flex-direction:column;margin-left:-50px;padding-left:50px;display:flex;overflow-y:auto}.chat-transcript::-webkit-scrollbar{display:none}.chat-transcript__header{gap:var(--space-300);padding-bottom:var(--space-600);flex-shrink:0;align-items:center;margin-left:-50px;display:flex}@media (max-width:1023px){.chat-transcript{margin-left:0;padding-left:0}.chat-transcript__header{margin-left:0}}.chat-transcript__thumb{pointer-events:auto;cursor:grab;will-change:transform, height;justify-content:flex-end;align-items:stretch;width:12px;display:flex;position:absolute;top:0;right:-5px}.chat-transcript__thumb:after{content:"";background:var(--color-neutral-600);border-radius:var(--radius-pill);width:2px;transition:background-color .15s}.chat-transcript__thumb:hover:after,.chat-transcript__thumb.is-dragging:after{background:var(--color-brand-secondary-500)}.chat-transcript__thumb.is-dragging{cursor:grabbing}.chat-transcript__thumb[hidden]{display:none}.chat-message{min-width:0;max-width:80%;padding:var(--space-300) var(--space-400);background:var(--color-background-surface);border-radius:var(--radius-container);position:relative}.chat-message:before{top:calc(var(--space-300) + 8px);content:"";background:inherit;width:8px;height:14px;position:absolute}.chat-message--bot:before{clip-path:polygon(100% 0,0 35%,100% 70%);left:-7px}.chat-message--user:before{clip-path:polygon(0 0,100% 35%,0 70%);right:-7px}.chat-message:not(.chat-message--rich) p{color:inherit;margin:0}.chat-row{gap:var(--space-200);justify-content:flex-end;align-items:flex-start;display:flex}.chat-row__marker{width:var(--chat-row-marker-w);margin-top:var(--space-300);color:var(--color-text-subtle);flex-shrink:0}.chat-message--bot{max-width:100%;margin-right:calc(var(--chat-row-marker-w) + var(--space-200));flex:auto}.chat-message--bot p.chat-message__thinking{gap:var(--space-100);color:var(--brand-accent-text);align-items:center;display:flex}.chat-message__thinking-dots{gap:2px;display:inline-flex}.chat-message__thinking-dot{background:currentColor;border-radius:50%;width:4px;height:4px;animation:1.2s ease-in-out infinite chat-thinking-bounce}.chat-message__thinking-dot:nth-child(2){animation-delay:.15s}.chat-message__thinking-dot:nth-child(3){animation-delay:.3s}@keyframes chat-thinking-bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.chat-message__thinking-dot{animation:none}}.chat-message--user{color:var(--color-neutral-050);background:var(--color-brand-secondary-700)}.chat-message__link{margin-top:var(--space-200)}.chat-page a{color:var(--brand-accent-text)}.chat-page a:hover{color:var(--color-brand-primary-300)}a.chat-message__link,button.chat-message__link{gap:var(--space-200);min-height:44px;padding:var(--space-300) 0;font-family:var(--font-family-sans);font-size:var(--font-size-200);color:var(--brand-accent-text);white-space:nowrap;cursor:pointer;background:0 0;border:none;justify-content:flex-start;align-items:center;font-weight:500;text-decoration:none;transition:color .15s;display:inline-flex}a.chat-message__link:hover,button.chat-message__link:hover{text-decoration:underline}a.chat-message__link:focus-visible{text-decoration:underline}button.chat-message__link:focus-visible{text-decoration:underline}a.chat-message__link:hover svg,button.chat-message__link:hover svg{transform:translate(2px)}a.chat-message__link:focus-visible svg{transform:translate(2px)}button.chat-message__link:focus-visible svg{transform:translate(2px)}a.chat-message__link svg,button.chat-message__link svg{transition:transform .15s}@media (prefers-reduced-motion:reduce){a.chat-message__link:hover svg,button.chat-message__link:hover svg{transform:none}a.chat-message__link:focus-visible svg{transform:none}button.chat-message__link:focus-visible svg{transform:none}}.chat-message--user .chat-message__link{color:inherit;text-decoration:underline}.chat-message--rich{max-width:100%}.chat-suggestions{gap:var(--space-200);padding:0 var(--space-100);padding-bottom:var(--space-100);margin-bottom:calc(-1 * var(--space-600) + var(--space-200));margin-left:calc(var(--chat-row-marker-w) + var(--space-200));flex-wrap:nowrap;display:flex;position:relative}.chat-suggestions__measurer{gap:var(--space-200);pointer-events:none;visibility:hidden;display:flex;position:absolute;top:0;left:-9999px}@keyframes chat-chip-collapse{0%{max-width:260px;padding-inline:var(--space-300)}to{max-width:2rem;padding-inline-start:0;padding-inline-end:0}}@keyframes chat-chip-shrink{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.05)}}@keyframes chat-chip-label-pop-out{to{opacity:0}}@keyframes chat-chip-label-fade-in{to{opacity:1}}@keyframes chat-chip-radiate{0%{opacity:.9;transform:scale(.5)}to{opacity:0;transform:scale(1.15)}}@keyframes chat-chip-widen{0%{max-width:2rem;padding-inline-start:0;padding-inline-end:0}to{max-width:260px;padding-inline:var(--space-300)}}@keyframes chat-chip-emerge{0%{transform:translateX(calc(-1 * (2rem + var(--space-200))))}to{transform:translate(0)}}.chat-suggestions__chip{z-index:1;max-width:260px;height:2rem;padding:var(--space-100) var(--space-300);font-size:var(--font-size-200);color:var(--color-text-subtle);white-space:nowrap;cursor:pointer;border:1px solid var(--color-border-default);border-radius:var(--radius-full);transform-origin:0;background:0 0;flex:none;align-items:center;transition:color .15s,border-color .15s,background-color .15s;display:inline-flex;position:relative;overflow:hidden}.chat-suggestions__chip-label{transition:opacity .15s}.chat-main[data-intro-phase=done] .chat-suggestions__chip--popping{pointer-events:none;transform-origin:50%;animation:.27s cubic-bezier(.4,0,1,1) .15s forwards chat-chip-collapse,.2s cubic-bezier(.4,0,1,1) .42s forwards chat-chip-shrink;overflow:visible}.chat-suggestions__chip--popping .chat-suggestions__chip-label{animation:.15s forwards chat-chip-label-pop-out}.chat-suggestions__chip--popping:after{content:"";opacity:0;background:repeating-conic-gradient(currentColor 0deg 2deg,#0000 2deg 28deg);animation:.26s ease-out .42s forwards chat-chip-radiate;position:absolute;top:0;bottom:0;left:0;right:0;-webkit-mask:radial-gradient(circle,#0000 58%,#000 62% 70%,#0000 74%);mask:radial-gradient(circle,#0000 58%,#000 62% 70%,#0000 74%)}.chat-main[data-intro-phase=done] .chat-suggestions__chip--entering{z-index:0;max-width:2rem;padding-inline-start:0;padding-inline-end:0;animation:.26s cubic-bezier(.22,1,.36,1) forwards chat-chip-emerge,.3s cubic-bezier(.34,1.56,.64,1) .26s forwards chat-chip-widen}.chat-suggestions__chip--entering .chat-suggestions__chip-label{opacity:0;animation:.2s ease-out .56s forwards chat-chip-label-fade-in}@media (prefers-reduced-motion:reduce){.chat-suggestions__chip--popping,.chat-suggestions__chip--popping:after,.chat-suggestions__chip--popping .chat-suggestions__chip-label,.chat-suggestions__chip--entering,.chat-suggestions__chip--entering .chat-suggestions__chip-label{opacity:1;animation:none}}.chat-suggestions__chip:not(:disabled):hover{color:var(--brand-accent-secondary-text);border-color:var(--color-brand-secondary-500)}.chat-suggestions__chip:not(:disabled):focus-visible{color:var(--brand-accent-secondary-text);border-color:var(--color-brand-secondary-500)}.chat-suggestions__chip:disabled{cursor:default;opacity:.6}[data-theme=light] .chat-suggestions__chip{color:var(--color-neutral-600)}.chat-composer{gap:var(--space-200);padding:var(--space-300) var(--space-400);margin-left:calc(var(--chat-row-marker-w) + var(--space-200));background:var(--color-background-surface-raised);border-radius:var(--radius-container);justify-content:space-between;align-items:center;transition:background-color .15s ease-out;display:flex}.chat-composer:focus-within{background:color-mix(in srgb, var(--color-background-surface-raised) 92%, black)}html[data-theme=light] .chat-page[data-ai-mode=default] .chat-composer{background:var(--color-background-surface)}html[data-theme=light] .chat-page[data-ai-mode=default] .chat-composer:focus-within{background:color-mix(in srgb, var(--color-background-surface) 92%, black)}.chat-composer__trace-outline{pointer-events:none;border:1.5px solid var(--color-brand-secondary-500);border-radius:inherit;opacity:0;transform-origin:0;transition:transform .3s ease-out,opacity .15s ease-out;position:absolute;top:-1px;bottom:-1px;left:-1px;right:-1px;transform:scaleX(0)}.chat-composer__trace-outline.is-visible{opacity:1;transform:scaleX(1)}@media (prefers-reduced-motion:reduce){.chat-composer__trace-outline{transition:none}}.chat-composer__field{flex:1;min-width:0;position:relative}.chat-composer input{width:100%;padding-left:var(--space-200);font-family:var(--font-family-sans);font-size:var(--font-size-300);line-height:inherit;color:var(--color-text-default);background:0 0;border:none;outline:none}.chat-composer input::placeholder{color:var(--color-text-subtle)}.chat-composer__clear,.chat-composer__send,.chat-confirm__actions .chat-history__close{gap:var(--space-100);padding:var(--space-200) var(--space-300);font-size:var(--font-size-100);color:var(--color-neutral-050);cursor:pointer;background:var(--color-brand-secondary-700);border-radius:var(--radius-interactive);border:none;flex-shrink:0;align-items:center;transition:background-color .15s,transform .15s;display:flex}.chat-composer__clear:not(:disabled):hover,.chat-composer__send:not(:disabled):hover,.chat-confirm__actions .chat-history__close:hover{background:var(--color-brand-secondary-900)}.chat-composer__send:not(:disabled):active{background:var(--color-brand-secondary-900);transform:scale(.92)}.chat-composer__clear:disabled,.chat-composer__send:disabled{color:var(--color-neutral-400);cursor:default;opacity:.6;background:0 0;transform:scale(.92)}.chat-composer__send.is-active:disabled{color:var(--color-neutral-050);background:var(--color-brand-secondary-700);opacity:1;transform:scale(1)}@media (prefers-reduced-motion:reduce){.chat-composer__send{transition:background-color .15s}.chat-composer__send:disabled,.chat-composer__send:not(:disabled):active{transform:none}}.chat-history::backdrop{background:#00000080}.chat-history--previous::backdrop{background:0 0}.chat-history{width:min(320px,90vw);max-height:80vh;padding:var(--space-400);color:var(--color-text-default);background:var(--color-background-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-container);margin:0;position:fixed;top:0;bottom:auto;left:0;right:auto;overflow-y:auto}.chat-history .chat-rail__heading{margin-bottom:var(--space-300);padding:0}.chat-rail__history-wrap{margin-bottom:var(--space-300);position:relative}.chat-history .chat-rail__history{scrollbar-width:none;max-height:50vh;margin-bottom:0;overflow-y:auto}.chat-history .chat-rail__history::-webkit-scrollbar{display:none}.chat-history .chat-rail__history-del{opacity:1}.chat-history p{margin:0 0 var(--space-300);font-size:var(--font-size-100)}.chat-confirm__actions{gap:var(--space-200);justify-content:flex-end;display:flex}.chat-confirm__actions button{padding:var(--space-100) var(--space-300);font-family:var(--font-family-sans);font-size:var(--font-size-100);color:var(--color-text-default);cursor:pointer;background:var(--color-background-canvas);border-radius:var(--radius-interactive);border:none}@media (max-width:1023px){.chat-page{flex-direction:column}.chat-main{max-width:none;margin-inline-start:0;margin-inline-end:0}.chat-greeting{position:static;left:0}.chat-composer{margin-left:0}.chat-rail{flex-flow:wrap;flex-shrink:0;align-items:stretch;width:auto;overflow:visible}.chat-rail__identity{gap:var(--space-200);padding:var(--space-200) var(--space-300);flex-direction:row;align-items:center}.chat-rail__identity-frame{width:40px}.chat-rail__identity-text{gap:0}.chat-rail__group,.chat-rail__settings{align-items:center;display:flex}.chat-rail__settings{margin-top:0;margin-left:auto}.chat-rail .chat-rail__heading{display:none}}.chat-rail__group-toggle{gap:var(--space-200);height:100%;padding:var(--space-200) var(--space-300);font-family:var(--font-family-sans);font-size:var(--font-size-200);color:var(--color-text-subtle);white-space:nowrap;cursor:pointer;background:var(--color-background-surface);border:1px solid color-mix(in srgb, var(--color-border-default) 35%, transparent);border-radius:var(--radius-container);transition:color var(--transition-base), background-color var(--transition-base);align-items:center;display:flex}.chat-rail__group-toggle:hover{color:var(--color-text-default);background:var(--color-background-surface-raised)}.chat-rail__group-toggle:focus-visible{color:var(--color-text-default);background:var(--color-background-surface-raised)}.chat-rail__group-list{gap:var(--space-100);flex-direction:column;display:flex}.chat-rail__toggle{display:none}@media (max-width:640px){.chat-rail{z-index:3;height:64px;padding:var(--space-200) var(--space-300)}.chat-rail__toggle{width:40px;height:40px;color:var(--color-text-subtle);cursor:pointer;transition:color var(--transition-base);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;display:flex;position:relative}.chat-rail__toggle:hover{color:var(--color-text-default)}.chat-rail__toggle:focus-visible{color:var(--color-text-default)}.chat-rail__toggle-bar{height:2px;transition:transform var(--transition-base);background:currentColor;border-radius:1px;position:absolute;left:10px;right:10px}.chat-rail__toggle-bar--top{transform-origin:100%;top:13px}.chat-rail__toggle-bar--middle{top:19px}.chat-rail__toggle[aria-expanded=true] .chat-rail__toggle-bar--middle{right:9px}.chat-rail__toggle-bar--bottom{transform-origin:100%;top:25px}.chat-rail__toggle[aria-expanded=true] .chat-rail__toggle-bar--top{transform:translateY(6px)rotate(-40deg)scaleX(.65)}.chat-rail__toggle[aria-expanded=true] .chat-rail__toggle-bar--bottom{transform:translateY(-6px)rotate(40deg)scaleX(.65)}.chat-rail__scrim{z-index:3;pointer-events:none;opacity:0;background:#00000073;transition:opacity .42s cubic-bezier(.22,1,.36,1);position:fixed;top:0;bottom:0;left:0;right:0}.chat-rail__scrim.is-open{pointer-events:auto;opacity:1}.chat-rail__panel{z-index:4;gap:var(--space-200);width:min(80vw,320px);padding:var(--space-300);background:var(--color-background-canvas);flex-direction:column;transition:transform .42s cubic-bezier(.22,1,.36,1);display:flex;position:fixed;top:64px;bottom:0;left:auto;right:0;overflow-y:auto;transform:translate(100%)}.chat-rail__panel.is-open{transform:translate(0)}.chat-rail__panel .chat-rail__chats,.chat-rail__panel .chat-rail__nav{flex-flow:column}.chat-rail__panel .chat-rail__settings{margin-top:auto;margin-left:0}.chat-rail__panel .chat-rail__heading{display:block}.chat-main{padding:0 var(--space-200) var(--space-200)}.chat-composer__btn-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.chat-composer__clear,.chat-composer__send{padding:var(--space-200)}}@media (pointer:coarse){.chat-suggestions__chip{min-height:44px}.chat-composer__clear,.chat-composer__send{min-width:44px;min-height:44px}.chat-rail__identity-link{padding:var(--space-200);margin:calc(var(--space-200) * -1)}}
