@font-face{font-family:Pretendard Variable;font-weight:45 920;font-style:normal;font-display:swap;src:url(/assets/PretendardVariable-CJuje-Rk.woff2)format("woff2-variations")}:root{color:#f8ead2;font-synthesis:none;text-rendering:optimizelegibility;background:#080605;font-family:Malgun Gothic,Apple SD Gothic Neo,system-ui,sans-serif}*{box-sizing:border-box}html,body{background:#080605;width:100%;height:100%;margin:0;overflow:hidden}button,input{font:inherit}button{color:inherit}body{background:radial-gradient(circle at 50% 45%,#26170d 0,#0a0705 48%,#030302 100%);place-items:center;display:grid}#experience{--view-shake-x:0px;--view-shake-y:0px;--view-shake-rotation:0deg;--view-shake-scale:1;aspect-ratio:9/16;isolation:isolate;-webkit-user-select:none;user-select:none;touch-action:none;-webkit-tap-highlight-color:transparent;background:#17100b;width:min(100vw,56.25dvh);height:min(100dvh,177.778vw);position:relative;overflow:hidden;box-shadow:0 0 90px #000,0 0 0 1px #5b3c2370}.scene-background,#canvas-host,.vignette,#hit-flash,.loading,.hud,.idle-ui,.countdown-ui,.result-ui{position:absolute;inset:0}.scene-background{z-index:-3;background-position:50%;background-size:cover;transition:opacity .25s}.scene-background,#canvas-host,.vignette,.hud{transform:translate3d(var(--view-shake-x), var(--view-shake-y), 0) rotate(var(--view-shake-rotation)) scale(var(--view-shake-scale));transform-origin:50%;will-change:transform}#experience[data-state=boot] .scene-background,#experience[data-state=idle] .scene-background{background-image:url(/assets/media/idle-bg.png)}#experience[data-state=countdown][data-countdown-phase=instruction] .scene-background{background-image:url(/assets/media/pre-game-bg.png)}#experience[data-state=countdown][data-countdown-phase=numbers] .scene-background,#experience[data-state=playing] .scene-background{background-image:url(/assets/media/game-bg.png)}#experience[data-state=result] .scene-background{background-image:url(/assets/media/result-bg.png)}#experience[data-state=countdown][data-countdown-phase=instruction] #canvas-host,#experience[data-state=countdown][data-countdown-phase=instruction] .vignette{display:none}#canvas-host{z-index:-2}#canvas-host canvas{width:100%;height:100%;display:block}.vignette{z-index:-1;pointer-events:none;mix-blend-mode:multiply;background:linear-gradient(#0005 0%,#0000 20% 73%,#0008 100%),radial-gradient(circle at 50% 54%,#0000 25%,#0007 100%)}#hit-flash{display:none}.loading{z-index:30;text-align:center;background:#100b07;place-content:center;gap:1rem;transition:opacity .4s,visibility .4s;display:grid}.loading.is-hidden{opacity:0;visibility:hidden}.loading-mark{color:#ef9d21;font-size:3rem;animation:1.4s ease-in-out infinite loadingPulse}.loading p{letter-spacing:.08em;margin:0}.hud{z-index:5;pointer-events:none;display:none}#experience[data-state=countdown][data-countdown-phase=numbers] .hud,#experience[data-state=playing] .hud{display:block}.timer-card{height:7.02%;padding:0;display:block;position:absolute;top:13.05%;left:29.3%;right:29.3%}.timer-icon{aspect-ratio:1;border:.15em solid #e69018;border-radius:50%;width:1.25em;display:none;position:relative}.timer-icon:before{content:"";transform-origin:0;background:#e69018;width:50%;height:.12em;position:absolute;top:46%;left:46%;transform:rotate(-90deg)}#timer-value{color:#fff;letter-spacing:.04em;font-variant-numeric:tabular-nums;text-shadow:0 0 9px #fff4,0 2px 8px #000;white-space:nowrap;font-family:Pretendard Variable,Pretendard,sans-serif;font-size:clamp(1.1rem,2.8dvh,2.25rem);font-weight:700;position:absolute;top:50%;left:58%;transform:translate(-50%,-50%)}#phase-label{display:none}.progress-track{background:#090705e8;border:1px solid #d9ad725e;border-radius:999px;height:1.45%;display:block;position:absolute;top:22.4%;left:20%;right:20%;overflow:hidden;box-shadow:inset 0 0 10px #000,0 2px 12px #0009,0 0 10px #ff9a2617}.progress-track span{border-radius:inherit;background:linear-gradient(90deg,#9f2f0e,#f36f1e 56%,#ffd58b);width:0;height:100%;transition:width .16s ease-out;display:block;box-shadow:0 0 14px #ff761a,inset 0 1px #fff5}.combo{color:#bca581;letter-spacing:.16em;text-shadow:0 2px 8px #000;font-size:clamp(.55rem,2.2cqw,.9rem);display:none;position:absolute;top:16.5%;left:50%;transform:translate(-50%)}.combo strong{color:#ffb547;font-size:1.35em}.judgement{text-align:center;letter-spacing:.08em;opacity:0;text-shadow:0 5px 20px #000,0 0 16px;width:100%;font-size:clamp(1.2rem,7cqw,3rem);font-weight:900;display:none;position:absolute;top:31%;transform:scale(.72)translateY(12px)}.judgement.is-visible{animation:.52s cubic-bezier(.2,.8,.2,1) judgementPop}.judgement.is-perfect{color:#fff1a0}.judgement.is-good{color:#ff9d2e}.judgement.is-miss{color:#c9b8a1;font-size:clamp(.8rem,4cqw,1.7rem)}.pad-cues{grid-template-columns:repeat(3,1fr);gap:4%;display:none;position:absolute;bottom:7.2%;left:9%;right:9%}.pad-cue{aspect-ratio:1.35;text-align:center;color:#8e7b63;background:#0b0806cc;border:1px solid #97683380;border-radius:12%;place-content:center;gap:.18em;transition:transform .1s,color .1s,border-color .1s,background .1s;display:grid}.pad-cue span{font-family:Batang,serif;font-size:clamp(1rem,5cqw,2.1rem)}.pad-cue small{font-size:clamp(.42rem,1.8cqw,.72rem)}.pad-cue.is-active{color:#fff0b0;background:#6a240dcc;border-color:#ffb33b;transform:translateY(-8%)scale(1.06);box-shadow:0 0 20px #ff6b1a88,inset 0 0 18px #ffb32a35}.forge-message{z-index:7;clip-path:polygon(4% 0,96% 0,100% 50%,96% 100%,4% 100%,0 50%);opacity:0;filter:blur(.35dvh);isolation:isolate;background:linear-gradient(90deg,#0000 0%,#170904dc 12%,#2d0f06ed 50%,#170904dc 88%,#0000 100%);border:1px solid #dd85365e;grid-template-columns:auto 1fr;justify-content:center;align-items:center;gap:3%;min-height:7.4%;padding:2.2% 5.5%;display:grid;position:absolute;bottom:7.4%;left:7%;right:7%;transform:translateY(35%)scale(.68);box-shadow:inset 0 0 1.4dvh #ff6a182e,0 0 2dvh #000b}.forge-message:before{content:"";z-index:-1;background:linear-gradient(100deg,#0000 30%,#ff5d1940 47%,#ffd19a8a 50%,#ff5d192e 53%,#0000 70%);position:absolute;inset:0;transform:translate(-130%)}.forge-message.is-visible{animation:1.45s cubic-bezier(.18,.82,.22,1) both forgeMessageImpact}.forge-message.is-visible:before{animation:.72s ease-out 80ms both forgeMessageShine}.forge-message small{color:#ff8b39;letter-spacing:.18em;text-shadow:0 0 .8dvh #ff3c00a6;white-space:nowrap;font-family:Pretendard Variable,Pretendard,sans-serif;font-size:clamp(.56rem,2.25cqw,.92rem);font-weight:800}.forge-message strong{color:#fff0d2;letter-spacing:-.025em;text-align:center;text-shadow:0 .18dvh .3dvh #000,0 0 1dvh #ff4d1c80;white-space:nowrap;font-family:Pretendard Variable,Pretendard,sans-serif;font-size:clamp(.82rem,3.55cqw,1.42rem);font-weight:800}.forge-message[data-stage=성형] small{color:#ff6a2b}.forge-message[data-stage=마감] small{color:#ffc072;text-shadow:0 0 .8dvh #ff6a00ad}.forge-message-sparks{z-index:-1;position:absolute;inset:-90% 2%;overflow:visible}.forge-message-sparks i{--spark-angle:0deg;opacity:0;transform-origin:50% 100%;background:linear-gradient(#ffd0a0,#ff5b18 42%,#b82408);border-radius:999px;width:.34%;height:28%;position:absolute;top:50%;left:50%;box-shadow:0 0 .45dvh #ff3818}.forge-message-sparks i:first-child{--spark-angle:-78deg;height:20%;left:18%}.forge-message-sparks i:nth-child(2){--spark-angle:-48deg;height:32%;left:29%}.forge-message-sparks i:nth-child(3){--spark-angle:-22deg;height:24%;left:41%}.forge-message-sparks i:nth-child(4){--spark-angle:-7deg;height:35%;left:48%}.forge-message-sparks i:nth-child(5){--spark-angle:10deg;height:27%;left:54%}.forge-message-sparks i:nth-child(6){--spark-angle:31deg;height:34%;left:64%}.forge-message-sparks i:nth-child(7){--spark-angle:55deg;height:22%;left:76%}.forge-message-sparks i:nth-child(8){--spark-angle:79deg;height:29%;left:84%}.forge-message.is-visible .forge-message-sparks i{animation:.62s ease-out both forgeMessageSpark}.forge-message.is-visible .forge-message-sparks i:nth-child(2n){animation-delay:40ms}.forge-message.is-visible .forge-message-sparks i:nth-child(3n){animation-delay:90ms}.idle-ui{z-index:4;pointer-events:none;display:none}#experience[data-state=idle] .idle-ui{display:block}.idle-forge{aspect-ratio:1;filter:drop-shadow(0 1.8dvh 1.5dvh #000b);width:84%;position:absolute;top:34%;left:50%;transform:translate(-50%)}.idle-anvil,.idle-ingot{object-fit:contain;width:100%;height:100%;display:block;position:absolute;inset:0}.idle-anvil{z-index:1;filter:brightness(.86)contrast(1.08)drop-shadow(0 .45dvh .7dvh #000b)}.idle-ingot{z-index:3;transform-origin:50% 48%;will-change:filter;width:58%;height:58%;animation:8.6s ease-in-out infinite idleIngotHeatCycle;inset:-1.5% auto auto 21%}.idle-ingot-glow{z-index:2;filter:blur(1.25dvh);mix-blend-mode:screen;opacity:.05;background:radial-gradient(#ffb4548f 0%,#ff641d68 42%,#b32b0024 70%,#0000 84%);border-radius:50%;height:13%;animation:8.6s ease-in-out infinite idleIngotGlowCycle;position:absolute;top:21.3%;left:23%;right:23%;transform:scale(.86,.65)}.start-surface{cursor:pointer;pointer-events:auto;background:0 0;border:0;height:9.4%;position:absolute;bottom:5.2%;left:17%;right:17%}.countdown-ui{z-index:8;text-align:center;pointer-events:none;display:none}#experience[data-state=countdown] .countdown-ui{display:block}.countdown-instruction{width:89%;display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.countdown-instruction.is-visible{display:block}.countdown-instruction img{width:100%;height:auto;display:block}#countdown-value{filter:drop-shadow(0 0 15px #e0a15a59)drop-shadow(0 7px 18px #000);width:31%;height:auto;display:none;position:absolute;top:43%;left:50%;transform:translate(-50%,-50%)}#countdown-value.is-visible{animation:1s ease-out infinite countdownBeat;display:block}.result-ui{z-index:6;pointer-events:none;display:none}#experience[data-state=result] .result-ui{display:block}.result-blade{aspect-ratio:1546/225;opacity:0;transform-origin:50% 60%;filter:blur(.2dvh)brightness(1.45);isolation:isolate;position:absolute;bottom:10.2%;left:5%;right:5%;transform:translateY(42%)rotate(-1.2deg)scale(.76)}#experience[data-state=result] .result-blade{animation:1.25s cubic-bezier(.16,.86,.2,1) .22s forwards resultBladeReveal}.result-blade img{z-index:2;object-fit:contain;filter:drop-shadow(0 .65dvh .65dvh #000c)drop-shadow(0 0 .72dvh #ff541a5e);width:100%;height:100%;animation:3.1s ease-in-out 1.4s infinite resultBladeEmber;display:block;position:absolute;inset:0}.result-blade-glow{z-index:1;filter:blur(1.2dvh);background:radial-gradient(#ff8b345c 0%,#d9401928 48%,#0000 76%);border-radius:50%;height:42%;animation:3.1s ease-in-out 1.4s infinite resultBladeGlow;position:absolute;bottom:8%;left:8%;right:2%;transform:scaleX(.94)}.result-blade-shine{z-index:3;filter:blur(.18dvh);opacity:0;background:linear-gradient(105deg,#0000 20%,#fff1c800 36%,#fff1c8d9 50%,#ff8b2b2b 65%,#0000 80%);width:18%;position:absolute;top:18%;bottom:16%;left:0;transform:skew(-22deg)}#experience[data-state=result] .result-blade-shine{animation:1.05s ease-out 1s both resultBladeShine}.result-return{color:#eadbc6;letter-spacing:.02em;text-align:center;text-shadow:0 2px 10px #000,0 0 8px #000b;opacity:.78;margin:0;font-family:Pretendard Variable,Pretendard,sans-serif;font-size:clamp(.62rem,1.55dvh,1rem);font-weight:500;position:absolute;bottom:3.8%;left:0;right:0}.result-card{text-align:center;background:#0a0706dc;border:1px solid #bb843d88;border-radius:18px;padding:4.5% 5%;display:none;position:absolute;bottom:5%;left:11%;right:11%;box-shadow:0 12px 40px #000b,inset 0 0 24px #c6782014}.result-grade{color:#f6c260;letter-spacing:.08em;margin-bottom:3%;font-size:clamp(.72rem,3cqw,1.2rem);font-weight:900}.result-grade:before{content:"완성 등급 · ";color:#b9a286;font-size:.72em;font-weight:600}.result-card dl{grid-template-columns:repeat(4,1fr);gap:2%;margin:0;display:grid}.result-card dl div{min-width:0}.result-card dt{color:#b8a084;font-size:clamp(.43rem,1.8cqw,.72rem)}.result-card dd{color:#ffd47d;white-space:nowrap;margin:.2em 0 0;font-size:clamp(.72rem,3.1cqw,1.2rem);font-weight:900}.result-card p{color:#bda887;margin:4% 0 0;font-size:clamp(.45rem,2cqw,.78rem)}.settings-button{z-index:20;aspect-ratio:1;opacity:.65;cursor:pointer;background:#0b0807a8;border:1px solid #b9844470;border-radius:50%;width:8%;position:absolute;top:1.6%;right:3%;display:none!important}.settings-button:hover,.settings-button:focus-visible{opacity:1}.settings-panel{z-index:19;background:#0b0806f2;border:1px solid #a56d3370;border-radius:14px;width:62%;padding:5%;transition:transform .22s;position:absolute;top:7%;right:3%;transform:translate(115%);box-shadow:0 16px 40px #000c;display:none!important}.settings-panel[aria-hidden=false]{transform:translate(0)}.settings-panel h2{color:#eeb666;margin:0 0 .8em;font-size:clamp(.75rem,3cqw,1.2rem)}.settings-panel p{color:#b9aa95;font-size:clamp(.5rem,2.1cqw,.78rem);line-height:1.45}.settings-panel button{cursor:pointer;background:#3b1e10;border:1px solid #ad743d;border-radius:8px;width:100%;padding:.65em}.settings-panel label{color:#d1c1aa;align-items:center;gap:.5em;margin-top:.75em;font-size:clamp(.48rem,2cqw,.76rem);display:flex}@keyframes loadingPulse{50%{opacity:.65;transform:rotate(45deg)scale(1.3)}}@keyframes idleIngotHeatCycle{0%,to{filter:saturate()brightness(.4)contrast(1.12)drop-shadow(0 .2dvh .3dvh #000c)drop-shadow(0 0 #ff4a0000)}15%{filter:saturate()brightness(.54)contrast(1.12)drop-shadow(0 .2dvh .3dvh #000b)drop-shadow(0 0 .25dvh #ff4a0038)}42%,55%{filter:saturate()brightness(1.02)contrast(1.12)drop-shadow(0 .2dvh .35dvh #641400a8)drop-shadow(0 0 .95dvh #ff4a00d6)}76%{filter:saturate()brightness(.66)contrast(1.12)drop-shadow(0 .2dvh .3dvh #000b)drop-shadow(0 0 .4dvh #ff4a0066)}}@keyframes idleIngotGlowCycle{0%,to{opacity:.03;transform:scale(.82,.58)}15%{opacity:.12;transform:scale(.9,.7)}42%,55%{opacity:.92;transform:scaleX(1.08)}76%{opacity:.3;transform:scale(.96,.8)}}@keyframes countdownBeat{0%{opacity:.4;transform:translate(-50%,-50%)scale(1.25)}25%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:.75;transform:translate(-50%,-50%)scale(.95)}}@keyframes judgementPop{0%{opacity:0;transform:scale(.65)translateY(12px)}28%{opacity:1;transform:scale(1.08)translateY(0)}68%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.92)translateY(-18px)}}@keyframes forgeMessageImpact{0%{opacity:0;filter:blur(.4dvh)brightness(2.2);transform:translateY(38%)scale(.64)}12%{opacity:1;filter:blur()brightness(1.65);transform:translateY(-5%)scale(1.12)}24%{opacity:1;filter:blur()brightness();transform:translateY(0)scale(.98)}72%{opacity:1;filter:blur()brightness();transform:translateY(0)scale(1)}to{opacity:0;filter:blur(.08dvh)brightness(.9);transform:translateY(-24%)scale(1.035)}}@keyframes forgeMessageShine{0%{opacity:0;transform:translate(-130%)}25%{opacity:1}to{opacity:0;transform:translate(130%)}}@keyframes forgeMessageSpark{0%{opacity:0;transform:translate(-50%, 55%) rotate(var(--spark-angle)) scaleY(.2)}18%{opacity:1}to{opacity:0;transform:translate(-50%, -125%) rotate(var(--spark-angle)) scaleY(.72)}}@keyframes resultBladeReveal{0%{opacity:0;filter:blur(.2dvh)brightness(1.7);transform:translateY(42%)rotate(-1.2deg)scale(.76)}55%{opacity:1;filter:blur()brightness(1.35);transform:translateY(-4%)rotate(-1.2deg)scale(1.035)}to{opacity:1;filter:blur()brightness();transform:translateY(0)rotate(-1.2deg)scale(1)}}@keyframes resultBladeShine{0%{opacity:0;left:-12%}18%{opacity:.95}to{opacity:0;left:94%}}@keyframes resultBladeEmber{0%,to{filter:drop-shadow(0 .65dvh .65dvh #000c)drop-shadow(0 0 .55dvh #ff541a45)brightness(.94)}50%{filter:drop-shadow(0 .65dvh .65dvh #000c)drop-shadow(0 0 1dvh #ff541a82)brightness(1.08)}}@keyframes resultBladeGlow{0%,to{opacity:.42;transform:scaleX(.92)scaleY(.82)}50%{opacity:.78;transform:scaleX(1.02)scaleY(1.06)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
