 .jsj-word-reveal{display:inline-block;overflow:hidden}.jsj-word-reveal .char{display:inline-block;opacity:0;transform:translateY(1em) rotateX(90deg);animation:jsj-char-reveal 0.6s cubic-bezier(0.2,0.8,0.2,1) forwards}@keyframes jsj-char-reveal{0%{opacity:0;transform:translateY(1em) rotateX(90deg);filter:blur(4px)}100%{opacity:1;transform:translateY(0) rotateX(0);filter:blur(0)}}.jsj-bounce-in{display:inline-block;animation:jsj-bounce-in 0.8s cubic-bezier(0.68,-0.55,0.265,1.55) forwards}@keyframes jsj-bounce-in{0%{opacity:0;transform:scale(0.3) translateY(-50px)}50%{opacity:1;transform:scale(1.1) translateY(10px)}70%{transform:scale(0.95) translateY(-5px)}100%{opacity:1;transform:scale(1) translateY(0)}}.jsj-gradient-flow{background:linear-gradient( 90deg,var(--secondary,#c9a96e) 0%,var(--secondary-light,#e0c998) 25%,#fff8e7 50%,var(--secondary-light,#e0c998) 75%,var(--secondary,#c9a96e) 100% );background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:jsj-gradient-shine 3s linear infinite}@keyframes jsj-gradient-shine{0%{background-position:0% center}100%{background-position:200% center}}.jsj-typewriter{overflow:hidden;border-right:3px solid var(--secondary,#c9a96e);white-space:nowrap;animation:jsj-typing 3s steps(40,end),jsj-cursor-blink 0.75s step-end infinite}@keyframes jsj-typing{from{width:0}to{width:100%}}@keyframes jsj-cursor-blink{from,to{border-color:transparent}50%{border-color:var(--secondary,#c9a96e)}}.jsj-fade-up{opacity:0;transform:translateY(30px);animation:jsj-fade-up 0.8s ease-out forwards}@keyframes jsj-fade-up{to{opacity:1;transform:translateY(0)}}.jsj-scale-in{opacity:0;transform:scale(0.8);animation:jsj-scale-in 0.6s ease-out forwards}@keyframes jsj-scale-in{to{opacity:1;transform:scale(1)}}.jsj-record-container{scroll-snap-type:y mandatory;overflow-y:scroll;height:100vh;scroll-behavior:smooth}.jsj-record-section{min-height:100vh;display:flex;align-items:center;justify-content:center;scroll-snap-align:start;position:relative;padding:2rem}.jsj-record-section .section-content{max-width:1200px;width:100%;text-align:center}.jsj-record-mode{max-width:420px;margin:0 auto;aspect-ratio:9/16;min-height:auto;border-radius:24px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,0.3)}.jsj-record-mode .jsj-record-section{min-height:100%;padding:1.5rem}.jsj-record-title{font-size:clamp(48px,10vw,120px);font-weight:900;line-height:1.1;letter-spacing:-0.02em;margin-bottom:1rem}.jsj-record-subtitle{font-size:clamp(18px,3vw,28px);font-weight:400;line-height:1.6;opacity:0.85;margin-bottom:2rem}.jsj-scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);animation:jsj-scroll-bounce 2s ease-in-out infinite;opacity:0.6}@keyframes jsj-scroll-bounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(10px)}}.jsj-section-number{position:absolute;top:2rem;right:2rem;font-size:5rem;font-weight:900;opacity:0.1;line-height:1}*{transition:background-color 0.6s ease,color 0.6s ease,border-color 0.6s ease,box-shadow 0.6s ease}.jsj-theme-switcher{position:fixed;top:50%;right:0;transform:translateY(-50%);z-index:9999;background:var(--card-bg,#fff);border-radius:16px 0 0 16px;box-shadow:-4px 0 20px rgba(0,0,0,0.1);padding:0.5rem;transition:transform 0.3s ease}.jsj-theme-switcher.collapsed{transform:translateY(-50%) translateX(calc(100% - 40px))}.jsj-theme-toggle-btn{width:32px;height:32px;border:none;background:var(--secondary,#c9a96e);color:var(--bg,#f5f0e8);border-radius:8px;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;margin-bottom:0.5rem}.jsj-theme-list{display:flex;flex-direction:column;gap:0.25rem}.jsj-theme-btn{width:32px;height:32px;border:2px solid transparent;border-radius:8px;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all 0.3s ease;position:relative}.jsj-theme-btn:hover{transform:scale(1.15)}.jsj-theme-btn.active{border-color:var(--secondary,#c9a96e);box-shadow:0 0 10px var(--secondary,#c9a96e)}.jsj-theme-btn .tooltip{position:absolute;right:100%;top:50%;transform:translateY(-50%) translateX(-10px);background:var(--primary,#1a1a2e);color:var(--bg,#f5f0e8);padding:0.25rem 0.75rem;border-radius:6px;font-size:0.75rem;white-space:nowrap;opacity:0;pointer-events:none;transition:all 0.3s ease}.jsj-theme-btn:hover .tooltip{opacity:1;transform:translateY(-50%) translateX(0)}.jsj-scroll-animate{opacity:0;transform:translateY(40px);transition:opacity 0.8s ease,transform 0.8s ease}.jsj-scroll-animate.visible{opacity:1;transform:translateY(0)}.delay-1{animation-delay:0.1s}.delay-2{animation-delay:0.2s}.delay-3{animation-delay:0.3s}.delay-4{animation-delay:0.4s}.delay-5{animation-delay:0.5s}.delay-6{animation-delay:0.6s}.delay-7{animation-delay:0.7s}.delay-8{animation-delay:0.8s}@media (max-width:768px){.jsj-theme-switcher{top:auto;bottom:5rem;right:0.5rem;transform:none;border-radius:16px}.jsj-theme-switcher.collapsed{transform:translateX(calc(100% - 40px))}.jsj-record-title{font-size:clamp(36px,12vw,72px)}}