.chat-launch{position:fixed;right:1rem;bottom:1rem;z-index:var(--z-rail);width:3.25rem;height:3.25rem;display:grid;place-items:center;padding:0;border-radius:50%;border:var(--border-ornate);background:color-mix(in srgb,var(--green-panel) 82%,transparent);backdrop-filter:blur(10px) saturate(1.15);-webkit-backdrop-filter:blur(10px) saturate(1.15);color:var(--gold-ink);font-family:var(--font-body);font-size:1.3rem;line-height:1;cursor:pointer;box-shadow:var(--toggle-shadow);transition:color var(--motion-base) var(--ease-out-soft),border-color var(--motion-base) var(--ease-out-soft),box-shadow var(--motion-base) var(--ease-out-soft),transform var(--motion-base) var(--ease-out-soft)}.chat-launch:hover,.chat-launch:focus-visible{color:var(--gold-bright);border-color:color-mix(in srgb,var(--gold) 85%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--gold) 30%,transparent),0 0 20px color-mix(in srgb,var(--gold-bright) 38%,transparent),var(--toggle-shadow)}.chat-launch:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:3px}.chat-launch:active{transform:scale(.96)}.chat-launch[aria-expanded=true]{color:var(--gold-bright);border-color:color-mix(in srgb,var(--gold) 85%,transparent);background:color-mix(in srgb,var(--gold) 14%,transparent)}.chat-panel[hidden]{display:none}.chat-panel{position:fixed;right:1rem;bottom:4.75rem;z-index:calc(var(--z-rail) + 1);display:flex;flex-direction:column;width:min(22rem,calc(100vw - 2rem));max-height:min(28rem,calc(100dvh - 7.5rem));overflow:hidden;border:1px solid color-mix(in srgb,var(--gold) 32%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--scrim-from) 88%,transparent);backdrop-filter:blur(16px) saturate(1.25);-webkit-backdrop-filter:blur(16px) saturate(1.25);box-shadow:var(--shadow-lg)}.chat-panel--open{animation:chat-rise var(--motion-base) var(--ease-out-soft)}@keyframes chat-rise{0%{opacity:0;transform:translateY(.5rem) scale(.98)}to{opacity:1;transform:none}}.chat-panel__head{padding:.85rem 1rem .75rem;background:color-mix(in srgb,var(--green-deepest) 24%,transparent);border-bottom:1px solid color-mix(in srgb,var(--gold) 20%,transparent)}.chat-panel__title{margin:0;font-family:var(--font-display);font-size:var(--text-md);font-weight:700;letter-spacing:.01em;color:var(--gold-bright)}.chat-panel__subtitle{margin:.2rem 0 0;font-size:var(--text-xs);line-height:1.45;color:var(--cream-dim)}.chat-panel__log{flex:1;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:.6rem;padding:.9rem 1rem}.chat-bubble{max-width:88%;padding:.55rem .8rem;border-radius:var(--radius);font-size:.92rem;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.chat-bubble--user{align-self:flex-end;border:1px solid color-mix(in srgb,var(--gold) 45%,transparent);background:color-mix(in srgb,var(--gold) 20%,transparent);color:var(--cream);border-end-end-radius:var(--radius-sm)}.chat-bubble--assistant{align-self:flex-start;border:1px solid var(--panel-border);background:color-mix(in srgb,var(--green-panel-raised) 86%,transparent);color:var(--cream);border-end-start-radius:var(--radius-sm)}.chat-bubble__sources{display:inline-block;margin:.5rem 0 0;padding:.2rem .65rem;font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:.05em;color:var(--gold-ink);border:1px solid color-mix(in srgb,var(--gold) 40%,transparent);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--green-deepest) 28%,transparent)}.chat-status{margin:0;align-self:center;max-width:92%;font-size:.85rem;font-style:italic;line-height:1.45;color:var(--cream-dim);text-align:center}.chat-refusal{align-self:stretch;display:grid;gap:.5rem;padding:.7rem .85rem;border:1px solid color-mix(in srgb,var(--gold) 45%,transparent);border-radius:var(--radius);background:color-mix(in srgb,var(--gold) 12%,transparent)}.chat-refusal p{margin:0;font-size:.9rem;line-height:1.5;color:var(--cream)}.chat-refusal a{justify-self:start;display:inline-flex;align-items:center;min-height:2.5rem;padding:.25rem .9rem;font-family:var(--font-body);font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--gold-ink);border:1px solid color-mix(in srgb,var(--gold) 55%,transparent);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--green-deepest) 25%,transparent);transition:color var(--motion-base) var(--ease-out-soft),border-color var(--motion-base) var(--ease-out-soft),background-color var(--motion-base) var(--ease-out-soft)}.chat-refusal a:hover,.chat-refusal a:focus-visible{color:var(--gold-bright);border-color:var(--gold-bright);background:color-mix(in srgb,var(--gold) 16%,transparent)}.chat-refusal a:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}.chat-panel__form{display:flex;align-items:stretch;gap:.6rem;padding:.75rem 1rem 1rem;background:color-mix(in srgb,var(--green-deepest) 18%,transparent);border-top:1px solid color-mix(in srgb,var(--gold) 20%,transparent)}.chat-panel__input{flex:1;min-width:0;resize:none;padding:.55rem .7rem;font-family:var(--font-body);font-size:1rem;line-height:1.4;color:var(--cream);background:color-mix(in srgb,var(--green-deepest) 55%,transparent);border:1px solid color-mix(in srgb,var(--gold) 36%,transparent);border-radius:.65rem;box-shadow:inset 0 1px 3px color-mix(in srgb,black 18%,transparent);transition:border-color var(--motion-base) var(--ease-out-soft),box-shadow var(--motion-base) var(--ease-out-soft)}.chat-panel__input::placeholder{color:var(--cream-dim);opacity:.8}.chat-panel__input:hover{border-color:color-mix(in srgb,var(--gold) 60%,transparent)}.chat-panel__input:focus-visible{outline:none;border-color:var(--gold-bright);box-shadow:inset 0 1px 3px color-mix(in srgb,black 12%,transparent),0 0 0 4px color-mix(in srgb,var(--gold) 22%,transparent)}.chat-panel .chat-panel__send{flex:none;align-self:stretch;padding-inline:1.1rem}@media(prefers-reduced-motion:reduce){.chat-launch,.chat-panel--open,.chat-refusal a{transition:none;animation:none;transform:none}}html{scroll-padding-top:calc(var(--nav-height) + .75rem)}main[tabindex="-1"]:focus{outline:none}.nav-skip{position:absolute;top:0;left:50%;z-index:400;transform:translate(-50%,-120%);padding:.75rem 1.1rem;border:1px solid var(--gold-bright);border-radius:0 0 var(--radius) var(--radius);background:var(--scrim-from);color:var(--gold-bright);font-family:var(--font-body);font-weight:600;font-size:.8125rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;transition:transform .15s ease}.nav-skip:focus-visible{transform:translate(-50%)}.nav-bar{position:sticky;top:0;z-index:300;background:color-mix(in srgb,var(--scrim-from) 72%,transparent);backdrop-filter:blur(16px) saturate(1.25);-webkit-backdrop-filter:blur(16px) saturate(1.25);border-bottom:1px solid color-mix(in srgb,var(--gold) 16%,transparent);transition:background .25s ease,box-shadow .25s ease,border-color .25s ease}.nav-bar[data-scrolled=true]{background:color-mix(in srgb,var(--scrim-from) 86%,transparent);border-bottom-color:color-mix(in srgb,var(--gold) 26%,transparent);box-shadow:0 8px 32px color-mix(in srgb,var(--green-deepest) 45%,transparent)}.nav-inner{display:flex;align-items:center;gap:1.25rem;width:min(100% - 2rem,80rem);min-height:var(--nav-height);margin-inline:auto}.nav-brand{display:flex;align-items:center;gap:.6rem;flex:none;text-decoration:none;border-radius:999px}.nav-brand__emblem{width:2.4rem;height:2.4rem;border-radius:50%;border:var(--border-ornate);box-shadow:0 0 0 1px color-mix(in srgb,var(--gold) 20%,transparent),0 0 14px color-mix(in srgb,var(--gold) 22%,transparent);transition:box-shadow .2s ease}.nav-brand:hover .nav-brand__emblem,.nav-brand:focus-visible .nav-brand__emblem{box-shadow:0 0 0 1px color-mix(in srgb,var(--gold) 45%,transparent),0 0 20px color-mix(in srgb,var(--gold-bright) 40%,transparent)}.nav-brand__name{font-family:var(--font-display);font-weight:700;font-size:1.05rem;letter-spacing:-.01em;color:var(--gold-bright);white-space:nowrap}.nav-menu{flex:1 1 auto;display:flex;justify-content:center;min-width:0}.nav-list{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.25rem;margin:0;padding:0;list-style:none}.nav-item{display:contents}.nav-link{position:relative;display:block;padding:.55rem .75rem;font-family:var(--font-body);font-weight:600;font-size:.875rem;letter-spacing:.02em;color:var(--cream-dim);text-decoration:none;white-space:nowrap;transition:color .2s ease}.nav-link:after{content:"";position:absolute;inset-inline:.75rem;bottom:.3rem;height:1.5px;border-radius:1px;background:linear-gradient(90deg,var(--gold),var(--gold-bright));transform:scaleX(0);transform-origin:left;transition:transform .22s var(--ease-out-soft)}.nav-link:hover,.nav-link:focus-visible{color:var(--gold-bright)}.nav-link:hover:after,.nav-link:focus-visible:after{transform:scaleX(1)}.nav-link[aria-current=page]{color:var(--gold-bright)}.nav-link[aria-current=page]:after{transform:scaleX(1)}.nav-actions{display:flex;align-items:center;gap:.6rem;flex:none;margin-left:auto}.nav-actions .theme-toggle{position:static;width:2.6rem;height:2.6rem;box-shadow:none}.nav-auth{white-space:nowrap}.nav-burger{display:none;width:2.75rem;height:2.75rem;padding:0;place-items:center;border:var(--border-ornate);border-radius:50%;background:color-mix(in srgb,var(--green-panel) 70%,transparent);color:var(--gold-ink);cursor:pointer;transition:color .2s ease,border-color .2s ease}.nav-burger:hover,.nav-burger:focus-visible{color:var(--gold-bright);border-color:color-mix(in srgb,var(--gold) 85%,transparent)}.nav-burger__box{display:grid;gap:4px}.nav-burger__line{width:1.05rem;height:1.5px;border-radius:1px;background:currentColor;transition:transform .2s ease,opacity .2s ease}.nav-bar[data-menu-open=true] .nav-burger__line:nth-child(1){transform:translateY(5.5px) rotate(45deg)}.nav-bar[data-menu-open=true] .nav-burger__line:nth-child(2){opacity:0}.nav-bar[data-menu-open=true] .nav-burger__line:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}@media(max-width:719px){.nav-inner{flex-wrap:wrap}.nav-menu{position:absolute;top:100%;inset-inline:0;display:block;padding:.5rem 1rem 1rem;background:color-mix(in srgb,var(--scrim-from) 92%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid color-mix(in srgb,var(--gold) 24%,transparent);box-shadow:0 24px 48px color-mix(in srgb,var(--green-deepest) 45%,transparent)}.nav-menu[hidden]{display:none}.nav-list{flex-direction:column;align-items:stretch;gap:.15rem}.nav-link{padding:.85rem .9rem;font-size:1rem;border-radius:var(--radius);transition:color .2s ease,background .2s ease}.nav-link:after{content:none}.nav-link:hover,.nav-link:focus-visible,.nav-link[aria-current=page]{background:color-mix(in srgb,var(--gold) 12%,transparent)}.nav-burger{display:grid}}@media(max-width:26rem){.nav-brand__name{display:none}}@media(prefers-reduced-motion:no-preference)and (max-width:719px){.nav-bar[data-menu-open=true] .nav-menu{animation:nav-drawer-in .16s ease-out}}@media(prefers-reduced-motion:reduce){.nav-skip,.nav-link,.nav-link:after,.nav-burger,.nav-burger__line,.nav-brand__emblem{transition:none;animation:none}}@keyframes nav-drawer-in{0%{opacity:0;transform:translateY(-.4rem)}to{opacity:1;transform:none}}
