:root{--spark:#ffb627;--halo:#ff7a1a;--letterbox:#0b0709;--cream:#fff4e0;--ink:#2a1a14;--font-display:"Baloo 2", "Fredoka", system-ui, sans-serif;--font-body:"Nunito", system-ui, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{overscroll-behavior:none;background:var(--letterbox);height:100%;overflow:hidden}#root{position:fixed;inset:0}body{font-family:var(--font-body);color:var(--cream);-webkit-font-smoothing:antialiased}.root{background:var(--letterbox);-webkit-user-select:none;user-select:none;position:absolute;inset:0;overflow:hidden}.stage{transform-origin:50%;background:#0b0709;width:1920px;height:1080px;position:absolute;top:50%;left:50%;overflow:hidden}#cam,#shake{will-change:transform;position:absolute;inset:0}.svg,.fx{display:block;position:absolute;inset:0}.fx{pointer-events:none}.ov-layer{pointer-events:none;position:absolute;inset:0}.ov{visibility:hidden;opacity:0;position:absolute}.date{font-family:var(--font-display);white-space:nowrap;flex-direction:column;align-items:center;display:flex}.date .yr{letter-spacing:-.02em;font-weight:800;line-height:.9}.date .lbl{font-family:var(--font-body);letter-spacing:.01em;margin-top:4px;font-size:40px;font-weight:800}.date.shadow .yr,.date.shadow .lbl{text-shadow:0 6px 30px #0b0709d9,0 0 4px #0b070999}.date .ring{opacity:0;border:10px solid;border-radius:50%;width:260px;height:260px;margin:-130px 0 0 -130px;position:absolute;top:45%;left:50%}.kw{font-family:var(--font-display);color:#f5efe6;font-size:110px;font-weight:800;line-height:1;top:90px;left:120px}.kw .hl{transform-origin:0;background:#e5232b;border-radius:8px;height:38px;position:absolute;bottom:14px;left:-16px;right:-16px}.kw .kwt{position:relative}.title{text-align:center;font-family:var(--font-display);top:410px;left:0;right:0}.title .tline{color:var(--cream);letter-spacing:-.02em;font-size:200px;font-weight:800;line-height:1}.title .tline .ch:nth-child(2n){color:var(--spark)}.title .tsub{font-family:var(--font-body);color:#ffb627;opacity:0;margin-top:18px;font-size:44px;font-weight:700}.ch{display:inline-block}.word{text-align:center;font-family:var(--font-display);color:#3e5c76;padding-left:280px;font-size:130px;font-weight:800;line-height:1.02;top:440px;left:0;right:0}.word div:last-child{color:#ff8a73}.cap{color:#f5efe6;opacity:.9;width:700px;font-size:24px;font-weight:600;line-height:1.3;top:975px;left:1150px}.cap b{color:#ffd400}.sub{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);max-width:1200px;font-family:var(--font-body);color:var(--cream);z-index:5;background:#0b070999;border-radius:999px;padding:18px 34px;font-size:44px;font-weight:600;line-height:1.25;bottom:120px;left:120px}.final{text-align:center;font-family:var(--font-display);color:#4b1f4a;font-size:96px;font-weight:800;line-height:1.05;top:150px;left:0;right:0}.final .big{color:#fff4e0;text-shadow:0 8px #4b1f4a;font-size:170px}.final .w{display:inline-block}.end{text-align:center;background:radial-gradient(circle at 50% 45%,#4b1f4a8c,#0b0709e0);flex-direction:column;justify-content:center;align-items:center;display:flex;inset:0}.end .etitle{font-family:var(--font-display);color:var(--cream);font-size:170px;font-weight:800;line-height:1}.end .esub{color:var(--spark);margin-top:10px;font-size:42px;font-weight:700}.end .esrc{color:#fff4e0d1;margin-top:70px;font-size:28px;font-weight:500;line-height:1.5}.end .esrc b{color:var(--cream);font-weight:800}#fader,#glitch{pointer-events:none;visibility:hidden;opacity:0;position:absolute;inset:0}#glitch i{mix-blend-mode:screen;position:absolute;left:0;right:0}#glitch i:first-child{background:#e5232bbf;height:7%;top:8%;transform:translate(-4%)}#glitch i:nth-child(2){background:#25e8e0cc;height:3%;top:30%;transform:translate(6%)}#glitch i:nth-child(3){background:#ffd40059;height:12%;top:48%}#glitch i:nth-child(4){background:#e5232bb3;height:4%;top:70%;transform:translate(3%)}#glitch i:nth-child(5){background:#25e8e099;height:6%;top:86%;transform:translate(-7%)}.vignette{pointer-events:none;background:radial-gradient(#0000 55%,#0b070980 100%);position:absolute;inset:0}.grain{pointer-events:none;opacity:.09;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.4 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:.6s steps(4,end) infinite grain;position:absolute;inset:-50%}@keyframes grain{0%{transform:translate(0)}25%{transform:translate(-3%,2%)}50%{transform:translate(2%,-3%)}75%{transform:translate(-2%,-1%)}to{transform:translate(0)}}.replay{z-index:6;font-family:var(--font-display);background:var(--spark);color:var(--ink);cursor:pointer;border:0;border-radius:999px;padding:14px 44px;font-size:40px;font-weight:800;transition:transform .15s ease-out,box-shadow .2s ease-out;position:absolute;bottom:120px;left:50%;transform:translate(-50%);box-shadow:0 0 #ffb62799}.replay:hover{transform:translate(-50%)scale(1.05);box-shadow:0 0 40px 6px #ff7a1a73}.welcome{z-index:20;text-align:center;background:radial-gradient(circle at 50% 40%,#241319,#0b0709 70%);flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;display:flex;position:absolute;inset:0}.w-spark{background:var(--spark);border-radius:50%;width:26px;height:26px;margin-bottom:18px;animation:1.1s ease-in-out infinite beat;box-shadow:0 0 30px 14px #ff7a1a73}@keyframes beat{0%,to{transform:scale(1)}15%{transform:scale(1.35,.8)}30%{transform:scale(.9,1.15)}45%{transform:scale(1)}}.welcome h1{font-family:var(--font-display);letter-spacing:-.02em;color:var(--cream);font-size:clamp(56px,10vw,132px);font-weight:800;line-height:.95}.welcome p{color:var(--spark);font-size:clamp(18px,2.2vw,26px);font-weight:700}.welcome button{font-family:var(--font-display);background:var(--spark);color:var(--ink);cursor:pointer;border:0;border-radius:999px;margin-top:26px;padding:14px 40px;font-size:clamp(22px,2.6vw,32px);font-weight:800;transition:transform .15s ease-out,box-shadow .2s ease-out}.welcome button:hover{transform:scale(1.06);box-shadow:0 0 44px 8px #ff7a1a73}.welcome button:focus-visible{outline:3px solid var(--cream);outline-offset:4px}.welcome small{color:#fff4e08c;margin-top:10px;font-size:15px;font-weight:600}.player{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;background:linear-gradient(#0b07098c,#0b0709d9);align-items:center;gap:14px;height:72px;padding:0 20px;transition:transform .35s ease-out,opacity .35s ease-out;display:flex;position:absolute;bottom:0;left:0;right:0;transform:translateY(100%)}.player.show{opacity:1;transform:none}.pbtn{width:44px;height:44px;color:var(--cream);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;transition:background .15s ease-out,transform .15s ease-out;display:grid}.pbtn svg{fill:currentColor;width:24px;height:24px}.pbtn:hover{background:#fff4e01f;transform:scale(1.08)}.pbtn:focus-visible{outline:2px solid var(--spark)}.ptime{font-variant-numeric:tabular-nums;color:#fff4e0cc;min-width:86px;font-size:14px;font-weight:700}.pchap{color:var(--spark);text-align:right;white-space:nowrap;min-width:170px;font-size:14px;font-weight:700}.pbar{cursor:pointer;flex:1;align-items:center;height:36px;display:flex;position:relative}.ptrack{background:#fff4e033;border-radius:3px;width:100%;height:6px;transition:height .15s ease-out;position:relative;overflow:hidden}.pbar:hover .ptrack{height:9px}.pfill{background:linear-gradient(90deg, #ff7a1a, var(--spark));transform-origin:0;position:absolute;inset:0;transform:scaleX(0)}.pmark{background:var(--cream);opacity:.75;border-radius:50%;width:12px;height:12px;margin:-6px 0 0 -6px;transition:transform .15s ease-out,background .15s;position:absolute;top:50%}.pmark:hover{transform:scale(1.4)}.pmark.cur{background:var(--spark);opacity:1;box-shadow:0 0 12px 4px #ff7a1a99}.ptip{white-space:nowrap;color:var(--cream);pointer-events:none;background:#0b0709e6;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:700;position:absolute;bottom:38px;transform:translate(-50%)}@media (width<=640px){.ptime,.pchap{display:none}.player{gap:6px;padding:0 10px}}
