/* Font stack verified from naturart.studio. Inter is self-hosted under SIL OFL. */
@font-face { font-family: Inter; font-style: normal; font-weight: 100 900; font-display: swap; src: url('/vendor/fonts/InterVariable.woff2') format('woff2'); }
:root,body { --font-sans: Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",sans-serif; --font-editorial: var(--font-sans); }
body,body * { font-family: var(--font-sans) !important; }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
.hero h1,.section-heading h2,.stage-bottom strong,.music-copy h2,.profile-mark { font-weight: 400; }

/* The live invitation's light travels letter by letter from left to right. */
@supports ((background-clip:text) or (-webkit-background-clip:text)) {
 body.ocean-theme .live-link .live-letter {
  display: inline-block;
  background-image: linear-gradient(105deg,#b9d4ed 0%,#b9d4ed 35%,#fff 48%,#effbff 53%,#a8d9ff 61%,#cce3f8 73%);
  background-size: 260% 100%; background-position: 100% 0;
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent !important;
  animation: live-letter-bounce 3.8s cubic-bezier(.36,0,.25,1) calc(var(--letter-index)*.075s) infinite,
             live-letter-sheen 3.8s ease-in-out calc(var(--letter-index)*.075s) infinite;
 }
}
@keyframes live-letter-sheen {
 0%,8% { background-position: 100% 0; filter: drop-shadow(0 0 0 transparent); }
 22% { filter: drop-shadow(0 0 4px #cfedff80); }
 40%,100% { background-position: 0 0; filter: drop-shadow(0 0 0 transparent); }
}
/* Also available on the entrance page, which does not load the community effects. */
@keyframes live-letter-bounce { 0%,8%,30%,100% { transform: translateY(0); } 17% { transform: translateY(-3px); } 23% { transform: translateY(1px); } }
body.ocean-theme .depth-offscreen .live-letter,body.ocean-theme.page-away .live-letter { animation-play-state: paused; }
@media(prefers-reduced-motion:reduce) { body.ocean-theme .live-link .live-letter { animation: none; background-position: 50% 0; filter: none; } }

/* Shared glass standard: diffuse the scene while preserving foreground text. */
.ocean-theme {
 --glass-panel-surface: radial-gradient(ellipse at 0% 0%,#e8f7ff26,transparent 60%),linear-gradient(155deg,#eaf8ff2e,#c6eaff0a 48%,#cdefff24),rgba(17,50,80,.24);
 --glass-panel-filter: blur(22px) saturate(175%) brightness(1.02);
 --glass-panel-edge: #e0f5ff80;
 --glass-panel-shadow: inset 0 1px 0 #ffffff99,inset 1px 0 0 #f0fbff30,inset 0 -1px 0 #c4eaff55,0 0 0 1px #071a3220,0 24px 70px #00000030;
}
