:root{--page-bg: var(--bg)}.h3d[data-tone=light]{--bg: #faf8f5;--text: #1a1a1a;--text-muted: #4f4940;--border: #d8d4ce;--link: #1a1a1a}.h3d[data-tone=dark]{--bg: #1b1815;--text: #f6f2ec;--text-muted: #dcd4c8;--border: #4a443c;--link: #f3efe9}.h3d .h3d-overlay{color:var(--text);transition:color .6s ease}.h3d:after{content:"";position:absolute;left:0;right:0;bottom:0;height:56px;z-index:1;pointer-events:none;background:linear-gradient(to bottom,transparent,var(--page-bg));transition:opacity .8s ease}.h3d[data-tone=dark]:after{opacity:0}@media(prefers-color-scheme:dark){.h3d[data-tone=light]:after{opacity:0}.h3d[data-tone=dark]:after{opacity:1}}[data-hero-status] .s3d-caption{position:static;transform:none;white-space:normal;width:auto;text-align:left;justify-content:flex-start;color:var(--text-muted);font-size:.78rem;transition:opacity .3s ease}.h3d{position:relative;width:100%;height:var(--h3d-h, 100svh);overflow:hidden;isolation:isolate;background:var(--bg)}.h3d:before{content:"";position:absolute;inset:0;background:var(--poster, none) var(--poster-pos, center) / var(--poster-size, cover) no-repeat;pointer-events:none;opacity:0;transition:opacity .35s ease}.h3d.poster-in:before{opacity:1}.h3d.poster-cached:before{transition:none}.h3d.is-ready:before{opacity:0;transition:opacity 0s linear .8s}.h3d>canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:pan-y;opacity:0;pointer-events:none;transition:opacity .7s ease}.h3d.is-ready>canvas{opacity:1;pointer-events:auto}.h3d-overlay{position:absolute;z-index:2;pointer-events:none;inset:0}.h3d-overlay>*{pointer-events:auto}.h3d-overlay:before,.h3d-overlay:after{content:"";position:absolute;z-index:-1;left:0;right:0;bottom:0;height:calc(clamp(18px,4vh,36px) + 120px);pointer-events:none;opacity:0;transition:opacity .8s ease}.h3d-overlay:before{background:linear-gradient(to top,#faf8f599,#faf8f56b 38%,#faf8f500)}.h3d-overlay:after{background:linear-gradient(to top,#1b1815db,#1b18159e 38%,#1b181500)}.h3d[data-tone=light] .h3d-overlay:before,.h3d[data-tone=dark] .h3d-overlay:after{opacity:1}.h3d-pause{position:absolute;right:1.5rem;bottom:clamp(18px,4vh,36px);z-index:3;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;font:inherit;font-size:.75rem;color:var(--text);background:var(--bg);border-radius:999px;cursor:pointer}.h3d-pause:focus-visible{width:auto;height:auto;padding:.3rem .7rem;clip-path:none;border:1px solid var(--border)}.h3d-nogl .h3d-pause,.h3d:not(.is-ready) .h3d-pause{display:none}.s3d-bubble{position:absolute;left:0;top:0;z-index:4;max-width:260px;padding:.55rem .75rem;background:color-mix(in srgb,var(--bg) 94%,white);color:var(--text);border:1px solid var(--border);border-radius:10px;box-shadow:0 6px 24px #00000014;font-size:.82rem;line-height:1.4;opacity:0;pointer-events:none;transition:opacity .25s ease;will-change:transform}.s3d-bubble.is-on{opacity:1;pointer-events:auto}.s3d-bubble-link{display:inline-block;margin-left:.4rem;color:var(--text-muted);font-size:.75rem}.s3d-label{position:absolute;left:0;top:0;z-index:4;padding:.3rem .55rem;background:var(--text);color:var(--bg);border-radius:6px;font-size:.74rem;line-height:1.3;opacity:0;pointer-events:none;transition:opacity .15s ease;white-space:nowrap;display:flex;flex-direction:column}.s3d-label.is-on{opacity:1}.s3d-label-sub{opacity:.7;font-size:.7rem}.s3d-zzz{position:absolute;left:0;top:0;z-index:3;pointer-events:none}.s3d-zzz span{position:absolute;color:var(--text-muted);animation:s3d-z 2.6s ease-out forwards}@keyframes s3d-z{0%{opacity:0;transform:translate(0)}20%{opacity:1}to{opacity:0;transform:translate(var(--drift, 16px),-46px)}}.s3d-caption{position:absolute;left:50%;bottom:1.1rem;transform:translate(-50%);z-index:3;font-size:.75rem;color:var(--text-muted);white-space:nowrap;display:flex;align-items:center;gap:.45rem}.s3d-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);display:inline-block;animation:s3d-pulse 2.4s ease-in-out infinite}@keyframes s3d-pulse{50%{opacity:.35}}.s3d-speech{position:absolute;left:0;top:0;z-index:5;width:min(340px,calc(100% - 24px));padding:.8rem .95rem .6rem;background:color-mix(in srgb,var(--bg) 96%,white);color:var(--text);border:1px solid var(--border);border-radius:12px;box-shadow:0 10px 34px #0000001a;font-size:.86rem;line-height:1.5;opacity:0;pointer-events:none;transition:opacity .25s ease;will-change:transform}.s3d-speech:after{content:"";position:absolute;left:var(--tail-x, 40px);bottom:-7px;width:12px;height:12px;background:inherit;border-right:1px solid var(--border);border-bottom:1px solid var(--border);transform:translate(-50%) rotate(45deg)}.s3d-speech.is-on{opacity:1;pointer-events:auto}.s3d-speech.is-docked:after{bottom:auto;top:-7px;transform:translate(-50%) rotate(225deg)}.s3d-speech.is-right:after,.s3d-speech.is-left:after{bottom:auto;top:var(--tail-y, 40px)}.s3d-speech.is-right:after{left:0;transform:translate(-50%,-50%) rotate(135deg)}.s3d-speech.is-left:after{left:100%;transform:translate(-50%,-50%) rotate(-45deg)}.s3d-speech-title{font-weight:600;margin-bottom:.25rem}.s3d-speech-text a{text-decoration-color:var(--accent)}.s3d-speech-bar{display:flex;align-items:center;gap:.75rem;margin-top:.55rem}.s3d-speech-dots{display:flex;gap:5px;margin-right:auto}.s3d-speech-dots span{width:5px;height:5px;border-radius:50%;background:var(--border)}.s3d-speech-dots span.on{background:var(--accent)}.s3d-speech button{font:inherit;font-size:.75rem;background:none;border:none;cursor:pointer;color:var(--text-muted);padding:.1rem 0}.s3d-speech .s3d-speech-next{color:var(--text);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}.s3d-tag{position:absolute;left:0;top:0;z-index:4;display:inline-flex;align-items:center;gap:.35rem;padding:.18rem .5rem;border-radius:999px;background:color-mix(in srgb,var(--bg) 92%,white);border:1px solid var(--border);color:var(--text);font-size:.74rem;text-decoration:none;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .3s ease}.s3d-tag.is-on{opacity:1;pointer-events:auto}.s3d-tag.is-off{opacity:0;pointer-events:none}.s3d-tag:hover{border-color:var(--accent)}.s3d-placeholder,.h3d-fallback{position:absolute;inset:0;display:grid;place-items:center;color:var(--text-muted);font-size:.85rem}@media(prefers-reduced-motion:reduce){.s3d-dot{animation:none}}@media(max-width:700px){.s3d-caption{white-space:normal;width:calc(100% - 2rem);text-align:center;justify-content:center;bottom:3rem}}.hero-head[data-astro-cid-j7pv25f6],.hero-foot[data-astro-cid-j7pv25f6]{position:absolute;left:1.5rem;right:1.5rem;max-width:640px;margin:0 auto;pointer-events:none}.hero-head[data-astro-cid-j7pv25f6]{top:4rem}@media(max-width:600px){.hero-head[data-astro-cid-j7pv25f6],.hero-foot[data-astro-cid-j7pv25f6]{left:1rem;right:1rem}}.hero-head[data-astro-cid-j7pv25f6] nav a{color:var(--text-muted);pointer-events:auto}.hero-head[data-astro-cid-j7pv25f6] nav a[aria-current=page],.hero-head[data-astro-cid-j7pv25f6] nav a:hover{color:var(--text)}.hero-head[data-astro-cid-j7pv25f6] h1[data-astro-cid-j7pv25f6]{margin:0 0 .5rem;color:var(--text);pointer-events:auto}.hero-tagline[data-astro-cid-j7pv25f6]{margin:0;font-size:.95rem;color:var(--text-muted);pointer-events:auto}.hero-foot[data-astro-cid-j7pv25f6]{bottom:clamp(18px,4vh,36px);display:grid;gap:.4rem}.hero-foot[data-astro-cid-j7pv25f6] a[data-astro-cid-j7pv25f6]{pointer-events:auto}.hero-sections[data-astro-cid-j7pv25f6]{margin:0;font-size:.78rem;color:var(--text-muted)}.hero-sections[data-astro-cid-j7pv25f6] a[data-astro-cid-j7pv25f6]{color:var(--text-muted);text-decoration-color:var(--border)}.hero-sections[data-astro-cid-j7pv25f6] a[data-astro-cid-j7pv25f6]:hover{color:var(--text);text-decoration-color:var(--accent)}.hero-hint[data-astro-cid-j7pv25f6]{position:absolute;left:50%;bottom:clamp(18px,4vh,36px);transform:translate(-50%);margin:0;font-size:.75rem;color:var(--text-muted);pointer-events:none;transition:opacity .6s ease}.hero-hint[data-astro-cid-j7pv25f6].is-done,.hero-hint[data-astro-cid-j7pv25f6].is-talking,.h3d:not(.is-ready) .hero-hint[data-astro-cid-j7pv25f6]{opacity:0}.hint-touch[data-astro-cid-j7pv25f6]{display:none}@media(pointer:coarse){.hint-mouse[data-astro-cid-j7pv25f6]{display:none}.hint-touch[data-astro-cid-j7pv25f6]{display:inline}}.transcript[data-astro-cid-j7pv25f6]{margin-bottom:.5rem}.transcript[data-astro-cid-j7pv25f6] summary[data-astro-cid-j7pv25f6]{cursor:pointer;color:var(--text-muted);font-size:.875rem;margin-bottom:1.25rem;list-style:none}.transcript[data-astro-cid-j7pv25f6] summary[data-astro-cid-j7pv25f6]:before{content:"▸ ";color:var(--accent)}.transcript[data-astro-cid-j7pv25f6][open] summary[data-astro-cid-j7pv25f6]:before{content:"▾ "}.home-below{padding-top:3rem}@media(max-width:700px){.hero-sections[data-astro-cid-j7pv25f6]{display:none}.hero-hint[data-astro-cid-j7pv25f6]{bottom:104px;padding:.2rem .6rem;border-radius:999px;background:color-mix(in srgb,var(--bg) 70%,transparent)}}
