/* Generated black-and-gold telescope with decorative CSS stars; local-only assistant. */
.site-brand-group:has(.photon-assistant){align-items:center}
.photon-assistant{position:relative;display:inline-flex;align-items:center;flex:0 0 64px;z-index:8;color:#eeeae2;font:14px/1.6 Arial,Helvetica,sans-serif}
.photon-assistant [hidden]{display:none!important}
.photon-panel[hidden],.photon-panel [hidden]{display:none!important}
.photon-panel{z-index:8;color:#eeeae2;font:14px/1.6 Arial,Helvetica,sans-serif}
body:has(dialog[open]) .photon-assistant{visibility:hidden;pointer-events:none}
.photon-launcher{position:relative;display:block;width:64px;min-height:44px;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;transition:filter .2s}
.photon-launcher:hover,.photon-launcher:focus-visible{filter:drop-shadow(0 0 9px #d6b37366)}
.photon-telescope{display:block;width:64px;height:auto;transform-origin:50% 80%;animation:photon-tilt 14s ease-in-out infinite,photon-lens 14s ease-in-out infinite}
.photon-star{position:absolute;width:8px;height:8px;background:#c5b28c;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);pointer-events:none;animation:photon-twinkle 3.4s ease-in-out infinite}
.photon-target-star{left:4px;top:0}
.photon-star-small{right:4px;top:7px;width:5px;height:5px;animation-duration:2.8s;animation-delay:-1.1s}
.photon-star-dot{left:10px;bottom:0;width:2px;height:2px;border-radius:50%;clip-path:none;animation-duration:3.9s;animation-delay:-2.2s}
.photon-particle{position:absolute;left:7px;top:3px;width:2px;height:2px;border-radius:50%;background:#ffe5a6;box-shadow:0 0 4px #e7b967;opacity:0;pointer-events:none;animation:photon-travel 14s ease-in-out infinite}
.photon-tooltip{position:absolute;top:calc(100% + 8px);left:0;white-space:nowrap;padding:8px 12px;border:1px solid #c5b28c44;border-radius:5px;background:#12171cf5;color:#d8c7a7;font-size:11px;opacity:0;transform:translateY(-4px);pointer-events:none;transition:opacity .2s,transform .2s}
.photon-launcher:hover .photon-tooltip,.photon-launcher:focus-visible .photon-tooltip{opacity:1;transform:none}
.photon-launcher[aria-expanded=true] .photon-tooltip{display:none}
.photon-panel{position:fixed;left:16px;top:80px;width:380px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;padding:24px;background:linear-gradient(145deg,#171e23f7,#0d1217fc);border:1px solid #c5b28c55;border-radius:12px;box-shadow:0 16px 60px #0009;animation:photon-panel-in .2s ease-out}
.photon-panel-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.photon-wordmark{color:#c5b28c;font-size:11px;letter-spacing:.22em;font-weight:600}
.photon-close{display:grid;place-items:center;min-width:44px;min-height:44px;margin:-10px -10px -10px 0;padding:0;background:transparent;border:0;color:#c5b28c;font-size:24px;cursor:pointer}
.photon-panel h2{margin:0 0 12px;font:400 28px/1.2 Georgia,serif;color:#eeeae2}
.photon-description{margin:0 0 20px;color:#aeb5b7;font-size:13px}
.photon-prompts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.photon-prompts button{min-height:36px;padding:6px 11px;border:1px solid #c5b28c40;border-radius:20px;background:#c5b28c09;color:#d3c3a5;font-size:11px;cursor:pointer;transition:background .2s}
.photon-prompts button:hover{background:#c5b28c1e}
.photon-input-label{display:block;font-size:11px;color:#aeb5b7;margin-bottom:7px}
.photon-input-row{display:flex;gap:8px;align-items:stretch}
.photon-input-row input{min-width:0;width:100%;padding:12px 10px;border:1px solid #56616a;border-radius:5px;background:#090e12;color:#eeeae2;font-size:16px}
.photon-input-row input::placeholder{color:#8e979b;font-size:11px}
.photon-ask{padding:10px 14px;border:1px solid #c5b28c;border-radius:5px;background:#c5b28c;color:#11171a;font-size:13px;cursor:pointer}
.photon-ask:disabled{opacity:.65;cursor:wait}
.photon-assistant :is(button,input):focus-visible,.photon-panel :is(button,input):focus-visible{outline:2px solid #d8bf91;outline-offset:3px}
.photon-response{min-height:22px;margin-top:16px;color:#c5b28c;font-size:12px;overflow-wrap:anywhere}
.photon-dots{display:inline-flex;gap:4px;margin-left:7px}
.photon-dots i{width:3px;height:3px;border-radius:50%;background:#c5b28c;animation:photon-dot .9s ease-in-out infinite}
.photon-dots i:nth-child(2){animation-delay:.15s}.photon-dots i:nth-child(3){animation-delay:.3s}
.is-searching .photon-telescope{animation:photon-search-lens 1s ease-in-out}
.is-searching .photon-target-star{animation:photon-search-star 1s ease-in-out}
.is-searching .photon-particle{animation:photon-search-travel 1s ease-in-out}
@keyframes photon-tilt{0%,80%,100%{transform:rotate(0)}86%,92%{transform:rotate(2.5deg)}}
@keyframes photon-twinkle{0%,100%{opacity:.35}50%{opacity:.85}}
@keyframes photon-travel{0%,84%,96%,100%{opacity:0;transform:none}85%{opacity:.85;transform:none}92%{opacity:.85;transform:translate(12px,10px)}93%{opacity:0;transform:translate(12px,10px)}}
@keyframes photon-lens{0%,88%,100%{filter:drop-shadow(0 0 0 transparent)}93%{filter:drop-shadow(0 0 3px #d6b37366)}97%{filter:drop-shadow(0 0 0 transparent)}}
@keyframes photon-panel-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes photon-dot{0%,100%{opacity:.3}50%{opacity:1}}
@keyframes photon-search-star{0%,100%{opacity:.3}25%{opacity:1}}
@keyframes photon-search-travel{0%{opacity:0;transform:none}15%{opacity:.85;transform:none}70%{opacity:.85;transform:translate(12px,10px)}75%,100%{opacity:0;transform:translate(12px,10px)}}
@keyframes photon-search-lens{0%,100%{filter:drop-shadow(0 0 0 transparent)}75%{filter:drop-shadow(0 0 3px #d6b37366)}}
@media(max-width:700px){.photon-assistant{flex-basis:46px}.photon-launcher,.photon-telescope{width:46px}.photon-panel{width:calc(100vw - 32px);max-width:380px;padding:20px}.photon-tooltip{font-size:10px}.photon-target-star{width:6px;height:6px}.photon-star-small{width:4px;height:4px}}
@media(prefers-reduced-motion:reduce){.photon-assistant *,.photon-assistant *::before,.photon-assistant *::after{animation:none!important;transition:none!important}.photon-particle{display:none}.photon-telescope{transform:none}}
@media(prefers-reduced-motion:reduce){.photon-panel,.photon-panel *{animation:none!important;transition:none!important}}
@media(max-width:700px){.site-brand-group:has(.photon-assistant){gap:10px}}
@media(max-width:380px){.site-brand-group:has(.photon-assistant){gap:6px}.site-brand-group:has(.photon-assistant) .brand{font-size:18px}.site-brand-group:has(.photon-assistant) .site-logo-link img{width:40px;height:40px}}
/* Chasing the photon: one cinematic story, followed by a quiet interval. */
.photon-observatory{position:relative;display:inline-flex;align-items:center;gap:10px;flex-shrink:0}
.photon-sky{position:absolute;inset:0;pointer-events:none;z-index:9}
.photon-sky i{position:absolute;width:5px;height:5px;background:#e4c78b;opacity:0;clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%)}
.photon-sky i:nth-child(1){left:8%;top:6%;width:7px;height:7px}
.photon-sky i:nth-child(2){left:40%;top:3%;width:3px;height:3px}
.photon-sky i:nth-child(3){left:91%;top:23%}
.photon-sky i:nth-child(4){left:4%;top:82%;width:3px;height:3px}
.photon-sky i:nth-child(5){left:53%;top:89%;width:4px;height:4px}
.photon-orbit{position:absolute;left:0;top:0;width:5px;height:5px;border-radius:50%;background:#ffe4a2;box-shadow:0 0 5px #ffe4a2,0 0 12px #e7b967aa;offset-rotate:0deg;offset-distance:0%;opacity:0}
.photon-observatory .photon-star,.photon-observatory .photon-particle{display:none}
.photon-observatory .photon-telescope{animation:none;scale:-1 1}
.photon-observatory.is-chasing .photon-sky i{animation:photon-sky-wake var(--chase-duration) ease-in-out both}
.photon-observatory.is-chasing .photon-sky i:nth-child(even){animation-name:photon-sky-wake-soft}
.photon-observatory.is-chasing .photon-orbit{animation:photon-orbit-capture var(--chase-duration) ease-in-out both}
.photon-observatory.is-chasing .photon-telescope{animation:photon-track var(--chase-duration) ease-in-out both,photon-capture-glow var(--chase-duration) ease-in-out both}
.photon-launcher::after{content:'';position:absolute;right:10%;top:7%;width:14px;height:14px;border-radius:50%;background:radial-gradient(circle,#fff0bf 0,#ebbd6566 35%,transparent 70%);box-shadow:0 0 10px #dfb45b55;opacity:0;pointer-events:none}
.is-chasing .photon-launcher::after{animation:photon-lens-capture var(--chase-duration) ease-in-out both}
.site-brand-group:has(.photon-observatory) .brand{position:relative}
.photon-brand-shimmer{position:absolute;inset:0;pointer-events:none;white-space:pre;color:transparent;background:linear-gradient(100deg,transparent 40%,#ffe0a3 49%,#fff0cd 50%,transparent 60%) -220% 0/220% 100% no-repeat;background-clip:text;-webkit-background-clip:text;opacity:0}
.is-photon-shimmer .photon-brand-shimmer{animation:photon-name-shimmer var(--chase-duration) ease-in-out both}
.photon-observatory:not(.is-chasing):has(.photon-launcher:hover) .photon-sky i,.photon-observatory:not(.is-chasing):has(.photon-launcher:focus-visible) .photon-sky i{opacity:.45;transition:opacity .4s}
.photon-observatory:not(.is-chasing) .photon-launcher:hover::after,.photon-observatory:not(.is-chasing) .photon-launcher:focus-visible::after{opacity:.35;transition:opacity .4s}
.photon-observatory .is-searching .photon-telescope{animation:photon-search-lens 1s ease-in-out}
.photon-observatory .is-searching .photon-particle{display:block}
@keyframes photon-sky-wake{0%,100%{opacity:0;transform:scale(.6)}12%{opacity:.65;transform:scale(1)}25%{opacity:.3}45%{opacity:.8}60%{opacity:.4}71%{opacity:1;transform:scale(1.15)}85%{opacity:.3}100%{transform:scale(.6)}}
@keyframes photon-sky-wake-soft{0%,100%{opacity:0;transform:scale(.7)}18%{opacity:.35;transform:scale(1)}35%{opacity:.75}52%{opacity:.25}72%{opacity:.9}88%{opacity:.2}}
@keyframes photon-orbit-capture{0%,12%{opacity:0;offset-distance:0%;transform:scale(1)}18%{opacity:1;offset-distance:0%}62%{opacity:1;offset-distance:90%;transform:scale(.8);box-shadow:0 0 7px #fff0c0,0 0 16px #e7b967}69%{opacity:1;offset-distance:100%;transform:scale(.45)}71%,100%{opacity:0;offset-distance:100%;transform:scale(.2)}}
@keyframes photon-track{0%,18%,100%{transform:rotate(0)}32%{transform:rotate(5deg)}48%{transform:rotate(-3deg)}64%,72%{transform:rotate(3deg)}91%{transform:rotate(0)}}
@keyframes photon-capture-glow{0%,64%,100%{filter:drop-shadow(0 0 0 transparent)}72%{filter:drop-shadow(0 0 7px #e9bf7680)}82%{filter:drop-shadow(0 0 3px #e9bf7640)}94%{filter:drop-shadow(0 0 0 transparent)}}
@keyframes photon-lens-capture{0%,66%,100%{opacity:0;transform:scale(.7)}71%{opacity:.85;transform:scale(1.2)}78%{opacity:.4;transform:scale(1)}90%{opacity:0;transform:scale(.8)}}
@keyframes photon-name-shimmer{0%,72%{opacity:0;background-position:180% 0}76%{opacity:.7;background-position:180% 0}92%{opacity:.7;background-position:-80% 0}100%{opacity:0;background-position:-80% 0}}
@media(max-width:700px){.photon-observatory{gap:6px}}
@media(prefers-reduced-motion:reduce){.photon-observatory *,.photon-brand-shimmer{animation:none!important;transition:none!important}.photon-orbit,.photon-brand-shimmer{display:none}.photon-observatory .photon-telescope{transform:none}.photon-sky i{opacity:.16}}
/* Four mutually exclusive celestial scenes, clipped to the brand region. */
.photon-brand-region{position:relative}
.photon-brand-region>.photon-sky{overflow:hidden;isolation:isolate}
.photon-brand-region .photon-sky>i{opacity:0}
.photon-brand-region.is-chasing .photon-sky>i{animation:photon-sky-wake var(--chase-duration) ease-in-out both}
.photon-brand-region.is-chasing .photon-sky>i:nth-child(even){animation-name:photon-sky-wake-soft}
.photon-brand-region .photon-orbit{animation:none;opacity:0}
.photon-brand-region[data-scene=photon] .photon-orbit{animation:photon-orbit-capture var(--chase-duration) ease-in-out both}
.photon-brand-region[data-scene=photon] .photon-telescope{animation:photon-track var(--chase-duration) ease-in-out both,photon-capture-glow var(--chase-duration) ease-in-out both}
.photon-brand-region[data-scene=meteor] .photon-telescope{animation:photon-meteor-track var(--chase-duration) ease-in-out both,photon-event-glow var(--chase-duration) ease-in-out both}
.photon-brand-region[data-scene=constellation] .photon-telescope,.photon-brand-region[data-scene=eclipse] .photon-telescope{animation:photon-scan var(--chase-duration) ease-in-out both,photon-event-glow var(--chase-duration) ease-in-out both}
.photon-brand-region[data-scene=meteor] .photon-launcher::after,.photon-brand-region[data-scene=constellation] .photon-launcher::after,.photon-brand-region[data-scene=eclipse] .photon-launcher::after{animation:photon-event-lens var(--chase-duration) ease-in-out both}
.photon-meteor{position:absolute;left:12px;top:2px;width:3px;height:3px;border-radius:50%;background:#fff1ce;box-shadow:0 0 5px #edce90;opacity:0}
.photon-meteor::before{content:'';position:absolute;right:100%;top:1px;width:28px;height:1px;background:linear-gradient(90deg,transparent,#eac880b0)}
[data-scene=meteor] .photon-meteor{animation:photon-meteor-pass var(--chase-duration) ease-in-out both}
.photon-constellation{position:absolute;inset:0;width:100%;height:100%;opacity:0;overflow:hidden}
.photon-constellation path{fill:none;stroke:#d6b573;stroke-width:.65;vector-effect:non-scaling-stroke;stroke-dasharray:100;stroke-dashoffset:100}
[data-scene=constellation] .photon-constellation{animation:photon-constellation-hold var(--chase-duration) linear both}
[data-scene=constellation] .photon-constellation path{animation:photon-constellation-draw var(--chase-duration) ease-in-out both}
[data-scene=constellation] .photon-sky>i{animation:photon-constellation-star var(--chase-duration) ease-in-out both}
[data-scene=constellation] .photon-sky>i:nth-child(1){left:8%;top:12%;--star-delay:0ms}
[data-scene=constellation] .photon-sky>i:nth-child(2){left:27%;top:7%;--star-delay:180ms}
[data-scene=constellation] .photon-sky>i:nth-child(3){left:43%;top:28%;--star-delay:360ms}
[data-scene=constellation] .photon-sky>i:nth-child(4){left:60%;top:9%;--star-delay:540ms}
[data-scene=constellation] .photon-sky>i:nth-child(5){left:80%;top:20%;--star-delay:720ms}
[data-scene=constellation] .photon-sky>i{animation-delay:var(--star-delay)}
.photon-eclipse{position:absolute;left:calc(var(--lens-x,40px) + 12px);top:2px;width:18px;height:18px;opacity:0;isolation:isolate}
.photon-sun,.photon-moon,.photon-corona{position:absolute;inset:0;border-radius:50%}
.photon-sun{background:#dfb865;box-shadow:0 0 6px #e6bc6355}
.photon-moon{background:#0c0f12;transform:translateX(-120%);z-index:1}
.photon-corona{inset:-1px;border:1px solid #efcf85;box-shadow:0 0 5px #f4c36999,0 0 9px #f4c36944;opacity:0;z-index:2}
[data-scene=eclipse] .photon-eclipse{animation:photon-eclipse-appear var(--chase-duration) ease-in-out both}
[data-scene=eclipse] .photon-moon{animation:photon-eclipse-cross var(--chase-duration) ease-in-out both}
[data-scene=eclipse] .photon-corona{animation:photon-eclipse-corona var(--chase-duration) ease-in-out both}
.photon-capture-sparks{position:absolute;left:var(--lens-x,40px);top:var(--lens-y,8px);opacity:0}
.photon-capture-sparks b{position:absolute;width:2px;height:2px;background:#ffdda1;border-radius:50%;--spark-x:7px;--spark-y:-3px}
.photon-capture-sparks b:nth-child(2){--spark-x:3px;--spark-y:7px}
.photon-capture-sparks b:nth-child(3){--spark-x:-6px;--spark-y:3px}
[data-scene=photon] .photon-capture-sparks{animation:photon-spark-appear var(--chase-duration) ease-out both}
[data-scene=photon] .photon-capture-sparks b{animation:photon-spark-scatter var(--chase-duration) ease-out both}
.photon-brand-region.is-focusing .photon-sky>i:nth-child(3){animation:photon-star-focus var(--chase-duration) ease-in-out both}
.photon-parallax{position:absolute;left:42%;top:8%;width:2px;height:2px;border-radius:50%;background:#e4c78b;opacity:0;transition:transform .6s ease-out,opacity .5s}
@media(hover:hover) and (pointer:fine) and (min-width:701px){.photon-brand-region:not(.is-chasing):hover .photon-parallax{opacity:.4}}
.photon-launcher::before{content:'';position:absolute;right:4%;top:8%;width:25%;height:25%;border-radius:50%;background:linear-gradient(110deg,transparent 25%,#ffe9b099 50%,transparent 75%);opacity:0;pointer-events:none;z-index:1}
.photon-brand-region:not(.is-chasing) .photon-launcher:hover::before{animation:photon-hover-reflection .7s ease-out both}
@keyframes photon-meteor-pass{0%,10%{opacity:0;transform:translate(0,0) rotate(15deg)}20%{opacity:1}60%{opacity:.8;transform:translate(var(--meteor-x),var(--meteor-y)) rotate(15deg)}72%,100%{opacity:0;transform:translate(var(--meteor-x),var(--meteor-y)) rotate(15deg)}}
@keyframes photon-meteor-track{0%,14%,100%{transform:rotate(0)}35%{transform:rotate(-4deg)}65%{transform:rotate(-2deg)}90%{transform:rotate(0)}}
@keyframes photon-scan{0%,15%,100%{transform:rotate(0)}38%{transform:rotate(-3deg)}58%,70%{transform:rotate(4deg)}92%{transform:rotate(0)}}
@keyframes photon-event-glow{0%,38%,100%{filter:drop-shadow(0 0 0 transparent)}55%,65%{filter:drop-shadow(0 0 5px #eac47b70)}86%{filter:drop-shadow(0 0 0 transparent)}}
@keyframes photon-event-lens{0%,38%,100%{opacity:0}54%,65%{opacity:.6}86%{opacity:0}}
@keyframes photon-constellation-star{0%{opacity:0;transform:scale(.7)}12%{opacity:.55;transform:scale(1)}55%,72%{opacity:.8}90%,100%{opacity:0}}
@keyframes photon-constellation-hold{0%,20%{opacity:0}32%,70%{opacity:.45}82%,100%{opacity:0}}
@keyframes photon-constellation-draw{0%,24%{stroke-dashoffset:100}50%,100%{stroke-dashoffset:0}}
@keyframes photon-eclipse-appear{0%,100%{opacity:0}12%,86%{opacity:1}}
@keyframes photon-eclipse-cross{0%,16%{transform:translateX(-120%)}43%,57%{transform:translateX(0)}87%,100%{transform:translateX(120%)}}
@keyframes photon-eclipse-corona{0%,39%,100%{opacity:0}45%,57%{opacity:.85}65%{opacity:0}}
@keyframes photon-spark-appear{0%,69%,100%{opacity:0}72%{opacity:.85}82%{opacity:0}}
@keyframes photon-spark-scatter{0%,69%{transform:translate(0,0) scale(.6)}82%,100%{transform:translate(var(--spark-x),var(--spark-y)) scale(.3)}}
@keyframes photon-star-focus{0%,100%{opacity:0;filter:blur(2px);transform:scale(1.8)}20%{opacity:.25;filter:blur(1.2px);transform:scale(1.6)}54%,72%{opacity:.85;filter:blur(0);transform:scale(.85)}90%{opacity:0;filter:blur(0);transform:scale(.85)}}
@keyframes photon-hover-reflection{0%{opacity:0;transform:translateX(-7px)}25%{opacity:.5}100%{opacity:0;transform:translateX(7px)}}
@media(max-width:700px){.photon-brand-region .photon-telescope{--mobile-scene:1}.photon-brand-region.is-chasing .photon-telescope{animation-name:photon-mobile-track,photon-event-glow}.photon-parallax{display:none}}
@keyframes photon-mobile-track{0%,100%{transform:rotate(0)}45%,65%{transform:rotate(2deg)}}
@media(prefers-reduced-motion:reduce){.photon-brand-region .photon-sky *, .photon-brand-region .photon-telescope,.photon-brand-shimmer,.photon-launcher::before,.photon-launcher::after{animation:none!important;transition:none!important}.photon-brand-region .photon-sky>i{opacity:.15}.photon-orbit,.photon-meteor,.photon-constellation,.photon-eclipse,.photon-capture-sparks,.photon-parallax{display:none}.photon-launcher:hover::before{opacity:.15}.photon-brand-region .photon-telescope{transform:none}}
