:root{--bg: #ffffff;--bg-card: #f6f8fa;--text: #1f2328;--text-muted: #656d76;--accent: #0969da;--accent-hover: #0550ae;--border: #d0d7de;--radius: 12px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased}body{margin:0;font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:1.6}#root{min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline}.download-btn{display:inline-block;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;color:#fff;background:var(--accent);border-radius:var(--radius);text-decoration:none;transition:background .2s}.download-btn:hover{background:var(--accent-hover);color:#fff;text-decoration:none}.download-btn-secondary{background:var(--bg-card);color:var(--text);border:1px solid var(--border)}.download-btn-secondary:hover{background:var(--border);color:var(--text);text-decoration:none}.onyx-lang-btn.active{color:var(--text);font-weight:600}@keyframes onyx-fade-in{0%{opacity:0}to{opacity:1}}@keyframes onyx-fade-in-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes onyx-flip-in{0%{opacity:0;transform:rotateY(-90deg)}to{opacity:1;transform:rotateY(0)}}@keyframes onyx-logo-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.onyx-animate-fade-in{opacity:0;animation:onyx-fade-in .6s ease-out both}.onyx-animate-fade-in-up{opacity:0;animation:onyx-fade-in-up .6s ease-out both}.onyx-animate-flip-in{opacity:0;transform:rotateY(-90deg);animation:onyx-flip-in .7s ease-out both}.onyx-animate-logo{opacity:0;transform:scale(.96);animation:onyx-logo-in .5s ease-out both}.onyx-delay-1{animation-delay:.1s}.onyx-delay-2{animation-delay:.2s}.onyx-delay-3{animation-delay:.35s}.onyx-delay-4{animation-delay:.5s}.onyx-delay-5{animation-delay:.65s}.onyx-delay-6{animation-delay:.8s}.onyx-delay-7{animation-delay:1s}.onyx-delay-8{animation-delay:1.2s}.onyx-delay-9{animation-delay:1.4s}.onyx-delay-10{animation-delay:1.6s}.onyx-delay-11{animation-delay:1.8s}.onyx-delay-12{animation-delay:2s}@media(prefers-reduced-motion:reduce){.onyx-animate-fade-in,.onyx-animate-fade-in-up,.onyx-animate-flip-in,.onyx-animate-logo,.hero-sentence{opacity:1;transform:none;animation:none}}.onyx-hero-section{display:grid;place-items:center;min-height:320px;margin-bottom:3rem;perspective:1000px}.hero-sentence-start,.hero-sentence-end,.soundwave-container{grid-area:1 / 1;width:100%;height:100%;transition:opacity .8s ease-in-out}.hero-sentence-start,.hero-sentence-end{display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:500;color:var(--text);opacity:0}.stage-text .hero-sentence-start,.stage-text-end .hero-sentence-end{opacity:1}.soundwave-container{display:flex;justify-content:center;align-items:center;gap:8px;opacity:0;transform-style:preserve-3d;transition:transform 1.5s cubic-bezier(.19,1,.22,1),opacity .8s ease-in-out}.stage-soundwave .soundwave-container,.stage-graph .soundwave-container{opacity:1}.stage-graph .soundwave-container{transform:rotateX(25deg) rotateY(-25deg) scale(1.1)}.soundwave-bar{width:12px;height:100px;border-radius:4px;background-color:var(--accent);transform-origin:center;transition:transform 1s cubic-bezier(.19,1,.22,1)}.stage-soundwave .soundwave-bar{animation:undulate 1.2s infinite ease-in-out alternate}@keyframes undulate{0%{transform:scaleY(.2)}to{transform:scaleY(1)}}.stage-graph .soundwave-bar:nth-child(1){transform:translate3d(-180px,0,60px) scaleY(.8)}.stage-graph .soundwave-bar:nth-child(2){transform:translate3d(-160px,0,50px) scaleY(.85)}.stage-graph .soundwave-bar:nth-child(3){transform:translate3d(-140px,0,40px) scaleY(.9)}.stage-graph .soundwave-bar:nth-child(4){transform:translate3d(-120px,0,30px) scaleY(.95)}.stage-graph .soundwave-bar:nth-child(5){transform:translate3d(-100px,0,20px) scaleY(1)}.stage-graph .soundwave-bar:nth-child(6){transform:translate3d(-80px,0,10px) scaleY(.9)}.stage-graph .soundwave-bar:nth-child(7){transform:translate3d(-60px,0,0) scaleY(.8)}.stage-graph .soundwave-bar:nth-child(8){transform:translate3d(-40px,0,-10px) scaleY(.7)}.stage-graph .soundwave-bar:nth-child(9){transform:translate3d(-20px,0,-20px) scaleY(.6)}.stage-graph .soundwave-bar:nth-child(10){transform:translateZ(-30px) scaleY(.5)}.stage-graph .soundwave-bar:nth-child(11){transform:translate3d(20px,0,-20px) scaleY(.6)}.stage-graph .soundwave-bar:nth-child(12){transform:translate3d(40px,0,-10px) scaleY(.7)}.stage-graph .soundwave-bar:nth-child(13){transform:translate3d(60px,0,0) scaleY(.8)}.stage-graph .soundwave-bar:nth-child(14){transform:translate3d(80px,0,10px) scaleY(.9)}.stage-graph .soundwave-bar:nth-child(15){transform:translate3d(100px,0,20px) scaleY(1)}.stage-graph .soundwave-bar:nth-child(16){transform:translate3d(120px,0,30px) scaleY(.95)}.stage-graph .soundwave-bar:nth-child(17){transform:translate3d(140px,0,40px) scaleY(.9)}.stage-graph .soundwave-bar:nth-child(18){transform:translate3d(160px,0,50px) scaleY(.85)}.stage-graph .soundwave-bar:nth-child(19){transform:translate3d(180px,0,60px) scaleY(.8)}.stage-graph .soundwave-bar:nth-child(20){transform:translate3d(200px,0,70px) scaleY(.75)}
