/* Bonfire hero welcome: a small, one-shot enhancement of the existing fox scene.
   All copy, navigation and signup remain visible and interactive at every frame. */
@font-face{font-family:"Bonfire Greetings";src:url("/fonts/bonfire-greetings.woff") format("woff");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+3053,U+3061,U+306B,U+306F,U+3093,U+4F60,U+597D}
.bf-welcome-scene{gap:20px;min-height:240px;padding-top:0;isolation:isolate}
.bfw-art{position:relative;flex:0 1 270px;width:54%;min-width:0;aspect-ratio:1.08;pointer-events:none}
.bfw-halo{position:absolute;inset:10% 6% 9% 9%;border-radius:48% 52% 46% 54% / 54% 45% 55% 46%;background:radial-gradient(ellipse at 35% 20%,#ffead4,#f7d4b6 70%,#edbd9a);transform:rotate(-12deg);z-index:-1}
.bfw-orbit{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:-1}
.bfw-orbit path{fill:none;stroke:#c39977;stroke-width:1;stroke-dasharray:3 7;stroke-linecap:round;opacity:.5}
.bf-welcome-scene .mascot-sticker{position:absolute;left:28%;top:25%;width:53%;padding:5px;border-radius:29%;transform:rotate(-7deg);box-shadow:0 13px 20px -9px #7c4a2840;background:#fffdf7}
.bf-welcome-scene .mascot-sticker img{border-radius:24%;width:100%;height:auto}
.bfw-greeting{position:absolute;z-index:2;white-space:nowrap;line-height:1.2;padding:9px 14px;border-radius:14px;border:1px solid #fffdf7;background:#fffdf7;box-shadow:0 5px 12px #724c3318;font-size:20px;letter-spacing:0;color:var(--ink)}
.bfw-greeting:after{content:"";position:absolute;bottom:-4px;right:16px;width:10px;height:10px;border-bottom-right-radius:3px;background:inherit;transform:rotate(35deg)}
.bfw-hello{left:0;top:9%;font-family:Georgia,"Times New Roman",serif;font-size:27px;transform:rotate(-11deg)}
.bfw-nihao{right:0;top:4%;font-family:"Bonfire Greetings","PingFang SC","Microsoft YaHei",sans-serif;background:#ffefe1;transform:rotate(11deg)}
.bfw-konnichiwa{left:0;bottom:9%;font-family:"Bonfire Greetings",sans-serif;font-size:15px;padding:10px 13px;background:var(--ink);border-color:var(--ink);color:var(--cream);transform:rotate(-5deg)}
.bf-welcome-scene .speech-note{flex:1;max-width:190px;min-width:0}
.bf-welcome-scene .note-tail{left:-23px;bottom:-18px;width:35px}
.bf-welcome-scene .scene-spark{left:49%;top:21%;width:27px;transform:rotate(8deg);animation:none}
.bf-welcome-scene .scene-caption{left:auto;right:0;bottom:8px;width:42%;line-height:1.5}
/* JavaScript only adds this class after the scene is in view, once per page.
   Its removal returns to the same static end state. No styles affect the form. */
.bf-welcome-scene.is-playing .bfw-halo{animation:bfw-halo 1100ms cubic-bezier(.22,1,.36,1) both}
.bf-welcome-scene.is-playing .bfw-orbit{animation:bfw-orbit 1300ms 120ms cubic-bezier(.22,1,.36,1) both}
.bf-welcome-scene.is-playing .mascot-sticker{animation:bfw-fox 1300ms 80ms cubic-bezier(.22,1,.36,1) both}
.bf-welcome-scene.is-playing .bfw-hello{animation:bfw-hello 850ms 430ms cubic-bezier(.22,1,.36,1) both}
.bf-welcome-scene.is-playing .bfw-nihao{animation:bfw-nihao 850ms 650ms cubic-bezier(.22,1,.36,1) both}
.bf-welcome-scene.is-playing .bfw-konnichiwa{animation:bfw-konnichiwa 850ms 870ms cubic-bezier(.22,1,.36,1) both}
.bf-welcome-scene.is-playing .scene-spark{animation:bfw-spark 700ms 1050ms cubic-bezier(.22,1,.36,1) both}
@keyframes bfw-halo{from{opacity:.4;transform:rotate(-20deg) scale(.75)}to{opacity:1;transform:rotate(-12deg) scale(1)}}
@keyframes bfw-orbit{from{opacity:0;transform:rotate(-12deg) scale(.9)}to{opacity:1;transform:rotate(0) scale(1)}}
@keyframes bfw-fox{0%{opacity:0;transform:translateY(28px) rotate(5deg) scale(.8)}65%{opacity:1;transform:translateY(-4px) rotate(-10deg) scale(1.02)}100%{opacity:1;transform:translateY(0) rotate(-7deg) scale(1)}}
@keyframes bfw-hello{0%{opacity:0;transform:translate(10px,12px) rotate(-3deg) scale(.9)}70%{opacity:1;transform:translate(0,-2px) rotate(-13deg) scale(1.02)}100%{opacity:1;transform:translate(0,0) rotate(-11deg) scale(1)}}
@keyframes bfw-nihao{0%{opacity:0;transform:translate(-8px,12px) rotate(3deg) scale(.9)}70%{opacity:1;transform:translate(0,-2px) rotate(13deg) scale(1.02)}100%{opacity:1;transform:translate(0,0) rotate(11deg) scale(1)}}
@keyframes bfw-konnichiwa{0%{opacity:0;transform:translate(10px,-6px) rotate(0deg) scale(.9)}70%{opacity:1;transform:translate(-2px,0) rotate(-7deg) scale(1.02)}100%{opacity:1;transform:translate(0,0) rotate(-5deg) scale(1)}}
@keyframes bfw-spark{0%{opacity:0;transform:rotate(-15deg) scale(.6)}70%{opacity:1;transform:rotate(12deg) scale(1.1)}100%{opacity:1;transform:rotate(8deg) scale(1)}}
@media(max-width:1100px){.bf-welcome-scene{gap:14px;min-height:220px}.bfw-art{flex-basis:235px}.bfw-greeting{padding:8px 11px;font-size:18px}.bfw-hello{font-size:24px}.bfw-konnichiwa{font-size:13px;padding:9px 10px}.bf-welcome-scene .scene-spark{left:48%;top:18%;width:24px}}
@media(min-width:621px) and (max-width:800px){.bf-welcome-scene{gap:10px;min-height:200px}.bfw-art{flex-basis:55%;width:55%}.bfw-greeting{font-size:16px;padding:7px 9px}.bfw-hello{font-size:21px}.bfw-konnichiwa{font-size:11px;padding:8px 9px}.bf-welcome-scene .speech-note,html[lang=zh-CN] .bf-welcome-scene .speech-note{font-size:15px}.bf-welcome-scene .scene-caption{font-size:8px;bottom:0}.bf-welcome-scene .mascot-sticker{padding:4px}}
@media(max-width:620px){.bf-welcome-scene{gap:18px;min-height:220px;margin-top:30px;justify-content:center}.bfw-art{flex:0 1 235px;width:59%;max-width:235px}.bfw-greeting{padding:8px 11px;font-size:18px}.bfw-hello{font-size:24px}.bfw-konnichiwa{font-size:13px;padding:9px 10px}.bf-welcome-scene .speech-note{max-width:155px;font-size:19px}.bf-welcome-scene .scene-spark{left:49%;top:17%;width:25px}.bf-welcome-scene .scene-caption{width:36%;bottom:6px;font-size:9px}.bf-welcome-scene .note-tail{left:-19px;width:29px}.bf-welcome-scene .mascot-sticker{padding:4px}html[lang=zh-CN] .bf-welcome-scene .speech-note{font-size:18px}}
@media(max-width:400px){.bf-welcome-scene{gap:12px;min-height:190px}.bfw-art{width:58%;flex-basis:clamp(155px,50vw,185px)}.bfw-greeting{padding:7px 9px;font-size:16px}.bfw-hello{font-size:21px}.bfw-konnichiwa{font-size:11px;padding:8px 9px}.bf-welcome-scene .speech-note{font-size:17px}.bf-welcome-scene .scene-caption{font-size:8px;bottom:3px}.bf-welcome-scene .scene-spark{width:21px}html[lang=zh-CN] .bf-welcome-scene .speech-note{font-size:16px}}
@media(prefers-reduced-motion:reduce){.bf-welcome-scene.is-playing *{animation:none!important}}
/* Language links styled as a compact segmented icon control. Actual hrefs and
   data-language attributes remain the existing cookie-backed navigation. */
.site-header .language-switch{gap:3px;padding:4px;border:1px solid #ddc7b4;border-radius:14px;background:#fffdf7;box-shadow:0 2px 0 #e7d7c433}
.site-header .language-switch>span{display:none}
.site-header .language-switch a{gap:6px;min-height:44px;padding:8px 11px;border-radius:10px;color:var(--muted);font-size:11px;line-height:1.2;font-weight:700;text-decoration:none;transition:background .15s,color .15s}
.site-header .language-switch a:hover{background:#ffead8;color:var(--ink)}
.site-header .language-switch a[aria-current=page]{background:var(--dark-orange);color:#fffdf7;box-shadow:0 1px 3px #9e381e26;text-decoration:none}
.site-header .language-switch a[aria-current=page]:hover{background:#ad321b}
.site-header .language-switch a:focus-visible{outline:3px solid #6741bb;outline-offset:3px}
.site-header .language-icon{display:block;flex-shrink:0;width:22px;height:22px}
.site-header .language-label{white-space:nowrap}
@media(min-width:601px) and (max-width:800px){.site-header .language-switch{gap:2px;padding:3px}.site-header .language-switch a{padding:7px 8px;gap:5px;font-size:10px}.site-header .language-icon{width:20px;height:20px}}
@media(max-width:600px){.site-header .language-switch{gap:2px;padding:3px;border-radius:12px}.site-header .language-switch a{flex-direction:column;gap:3px;min-width:49px;min-height:48px;padding:5px 7px;border-radius:9px;font-size:9px}.site-header .language-icon{width:20px;height:20px}}
