.start-screen{position:relative;width:100%;height:100%;overflow:hidden;color:var(--ink);background:#03020a;user-select:none}.start-hero-picture{position:absolute;inset:0;display:block;pointer-events:none}.start-hero{width:100%;height:100%;object-fit:cover;object-position:50% 32%;pointer-events:none;user-select:none;animation:start-hero-in 1.1s cubic-bezier(.2,.8,.3,1);will-change:transform}@keyframes start-hero-in{0%{opacity:0;transform:scale(1.04);filter:brightness(.5)}to{opacity:1;transform:scale(1);filter:brightness(1)}}.start-fade{position:absolute;inset:0;z-index:1;background:linear-gradient(to bottom,#03020a00 0% 55%,#03020a80 70%,#03020aeb,#03020a);pointer-events:none}.start-savebadge{position:absolute;top:calc(var(--sat, 0px) + 18px);left:calc(var(--sal, 0px) + 20px);z-index:5;padding:8px 14px;background:#06030a8c;border:1px solid rgba(244,200,120,.4);color:#f4e6c8e6;font-family:var(--font-display);backdrop-filter:blur(6px);display:flex;flex-direction:column;gap:2px}.start-savebadge .sb-label{font-size:9px;letter-spacing:.35em;color:#f4c878bf;text-transform:uppercase}.start-savebadge .sb-value{font-size:13px;letter-spacing:.08em;color:var(--ink)}.start-rank{position:absolute;top:calc(var(--sat, 0px) + 18px);right:calc(var(--sar, 0px) + 20px);z-index:5;display:flex;gap:14px;align-items:center;padding:12px 18px 12px 14px;background:radial-gradient(ellipse at 0% 50%,rgba(200,160,90,.2) 0%,transparent 65%),#06030a9e;border:1px solid rgba(244,200,120,.38);border-radius:2px;backdrop-filter:blur(8px);color:#f4e6c8f0;font-family:var(--font-display);max-width:280px;box-shadow:0 0 0 1px #0009,0 6px 24px #00000080}.start-rank-kanji{font-size:40px;line-height:1;letter-spacing:-.05em;color:#f0c07a;text-shadow:0 0 14px rgba(240,190,120,.45),0 2px 6px rgba(0,0,0,.8);flex-shrink:0;padding:2px 6px;border-left:1px solid rgba(244,200,120,.5);border-right:1px solid rgba(244,200,120,.5)}.start-rank-body{display:flex;flex-direction:column;gap:3px;min-width:0}.start-rank-label{font-size:9px;letter-spacing:.35em;color:#f4c878b3;text-transform:uppercase}.start-rank-title{font-size:17px;font-weight:700;letter-spacing:.08em;color:var(--ink);line-height:1}.start-rank-tag{font-size:10px;font-style:italic;letter-spacing:.04em;color:#dcc8b4b3;line-height:1.15;margin-bottom:4px}.start-rank-track{position:relative;width:160px;height:4px;background:#ffffff14;border:1px solid rgba(244,200,120,.3);overflow:hidden}.start-rank-fill{position:absolute;top:0;left:0;bottom:0;background:linear-gradient(90deg,#c9913d,#f0c07a 60%,#fff2c8);box-shadow:0 0 8px #f0be788c;transition:width .6s cubic-bezier(.3,1,.4,1)}.start-rank-next{font-size:10px;letter-spacing:.06em;color:#f4c878d9;margin-top:2px}@media (max-width: 560px){.start-rank{top:calc(var(--sat, 0px) + 12px);right:calc(var(--sar, 0px) + 12px);padding:9px 13px 9px 10px;gap:10px;max-width:240px}.start-rank-kanji{font-size:28px;padding:1px 5px}.start-rank-title{font-size:14px}.start-rank-tag{font-size:9px}.start-rank-track{width:120px}}.start-actions{position:absolute;left:0;right:0;bottom:calc(var(--sab, 0px) + 30px);z-index:5;display:flex;flex-direction:column;align-items:center;gap:18px;padding:0 20px}.start-play{position:relative;padding:18px 64px;min-width:260px;background:linear-gradient(to bottom,#c23038,#8e1a22 55%,#5a0c12);color:#fff6e6;border:0;font-family:var(--font-display);font-size:15px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;cursor:pointer;box-shadow:0 10px 36px #c2303873,inset 0 1px #ffffff24,inset 0 -2px #00000059;text-shadow:0 2px 6px rgba(0,0,0,.6);transition:transform .15s cubic-bezier(.2,.8,.3,1),box-shadow .2s,filter .2s;animation:start-play-in .8s cubic-bezier(.2,.8,.3,1) .5s both;overflow:hidden}.start-play:before{content:"";position:absolute;inset:3px;border:1px solid rgba(255,255,255,.18);pointer-events:none}.start-play:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,#ffffff2e,#fff0 40%);pointer-events:none}.start-play:hover{transform:translateY(-2px);filter:brightness(1.08);box-shadow:0 14px 42px #c230388c,inset 0 1px #ffffff2e,inset 0 -2px #00000059}.start-play:active{transform:translateY(0);filter:brightness(.95)}@keyframes start-play-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.start-play-label{position:relative;z-index:2}.start-sub-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;animation:start-subs-in .6s ease-out .7s both}@keyframes start-subs-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.start-secondary{position:relative;padding:10px 20px;background:#0a060ca6;color:#e6dcc8e6;border:1px solid rgba(255,255,255,.22);font-family:var(--font-display);font-size:11px;letter-spacing:.28em;text-transform:uppercase;cursor:pointer;backdrop-filter:blur(4px);transition:all .15s}.start-secondary:hover:not(:disabled){border-color:#f4c878e6;color:var(--gold);background:#f4c87814}.start-secondary:disabled{opacity:.35;cursor:not-allowed}.start-badge{display:inline-block;margin-left:8px;min-width:18px;padding:1px 6px;border-radius:9px;background:var(--gold);color:#241008;font-weight:700;font-size:10px;vertical-align:middle}.start-controls-mini{font-size:10px;letter-spacing:.18em;color:#dcd2be8c;text-align:center;animation:start-subs-in .6s ease-out .95s both}.start-controls-mini kbd{display:inline-block;font-family:var(--font-mono, monospace);font-size:10px;padding:1px 5px;margin:0 1px;border:1px solid rgba(255,255,255,.2);border-radius:2px;background:#ffffff0a;color:#fff5e1cc}@media (orientation: portrait){.start-hero{object-position:50% 22%}.start-fade{background:linear-gradient(to bottom,#03020a00 0% 60%,#03020abf 76%,#03020afa 92%,#03020a)}}@media (max-width: 520px){.start-play{min-width:220px;padding:15px 40px;font-size:13px;letter-spacing:.24em}.start-savebadge{padding:6px 10px}.start-savebadge .sb-value{font-size:11px}.start-controls-mini{display:none}}@media (orientation: landscape) and (max-height: 520px){.start-hero{object-position:50% 38%}}@media (prefers-reduced-motion: reduce){.start-hero,.start-play,.start-sub-actions,.start-controls-mini{animation:none!important}}.intro-screen{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 40%,#1a0d1a,#03020a 80%);display:flex;align-items:center;justify-content:center;padding:20px;cursor:pointer;z-index:20;overflow:hidden}.intro-bg{position:absolute;inset:0;background-image:radial-gradient(circle at 20% 80%,rgba(244,120,90,.08),transparent 40%),radial-gradient(circle at 80% 30%,rgba(110,70,150,.1),transparent 40%);pointer-events:none}.intro-content{text-align:center;max-width:560px;position:relative;z-index:2}.intro-lines{display:flex;flex-direction:column;gap:18px}.intro-line{margin:0;font-family:var(--font-display);font-size:clamp(16px,3vw,22px);letter-spacing:.1em;color:#f4e6c8eb;transition:opacity .9s ease-out,transform .9s ease-out;text-shadow:0 2px 14px rgba(0,0,0,.8)}.intro-button{margin-top:36px;background:transparent;color:var(--gold);border:1px solid rgba(244,200,120,.45);padding:12px 28px;font-family:var(--font-display);letter-spacing:.3em;text-transform:uppercase;font-size:12px;cursor:pointer;display:inline-flex;gap:14px;align-items:center;transition:background .2s,transform .15s;animation:button-fade-in .8s ease-out}.intro-button:hover{background:#f4c87814;transform:translate(3px)}.intro-button .arrow{transition:transform .2s}.intro-button:hover .arrow{transform:translate(4px)}@keyframes button-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.intro-skip{position:absolute;bottom:18px;left:50%;transform:translate(-50%);font-size:10px;letter-spacing:.4em;color:#dcd2be59;text-transform:uppercase;pointer-events:none}.fighter{position:absolute;transform-origin:50% 100%;will-change:transform,left,top;pointer-events:none;filter:drop-shadow(0 18px 22px rgba(0,0,0,.6));transition:opacity .08s linear}.fighter-shadow{position:absolute;left:50%;bottom:-10px;width:78%;height:18px;background:radial-gradient(ellipse at center,#0000009e,#0000 70%);transform:translate(-50%);pointer-events:none;animation:shadow-breath 2.6s ease-in-out infinite}@keyframes shadow-breath{0%,to{transform:translate(-50%) scaleX(1);opacity:1}50%{transform:translate(-50%) scaleX(.96);opacity:.9}}.fighter-svg{width:100%;height:100%;overflow:visible}.limb{transform-origin:50px 68px;transition:transform .12s cubic-bezier(.4,.2,.2,1)}.back-leg,.front-leg,.fighter[data-pose=walk] .front-leg{transform-origin:56px 108px}.fighter[data-pose=walk] .back-leg{transform-origin:49px 108px}.headband-tail{transform-origin:36px 42px;transition:transform .2s ease-out}.guard-aura{position:absolute;inset:-14px -12px -4px;pointer-events:none;overflow:visible}.guard-ring{position:absolute;inset:15% 12%;border-radius:45%;border:1px solid rgba(170,215,255,.55);box-shadow:0 0 18px #8cc8ff59,inset 0 0 14px #8cc8ff2e;animation:guard-pulse 1.3s ease-in-out infinite}.guard-ring-2{inset:5% 2%;border-color:#96dcff2e;animation-delay:.4s;animation-duration:1.7s}@keyframes guard-pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.03)}}.guard-aura.parry-ready .guard-ring{border-color:#fffffff2;box-shadow:0 0 22px #dcf0ffcc,inset 0 0 18px #dcf0ff4d}.parry-ready-flash{position:absolute;inset:8% 2%;border-radius:45%;border:1.5px solid rgba(255,255,255,.9);box-shadow:0 0 14px #dcf0ffbf;animation:parry-ready-anim .14s ease-out forwards}@keyframes parry-ready-anim{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.18)}}.counter-aura{position:absolute;inset:-20px -16px -6px;pointer-events:none}.counter-pulse{position:absolute;inset:10% 6%;border-radius:45%;border:2px solid rgba(255,215,100,.75);box-shadow:0 0 30px #ffb45099,inset 0 0 20px #ffb45040;animation:counter-pulse-anim .55s ease-out infinite}@keyframes counter-pulse-anim{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.25)}}.broken-aura{position:absolute;inset:-12px -10px -4px;pointer-events:none}.broken-flash{position:absolute;inset:8% 4%;border-radius:45%;border:2px solid rgba(255,80,80,.85);box-shadow:0 0 28px #ff323cb3,inset 0 0 18px #ff323c59;animation:broken-flash-anim .4s ease-out infinite}@keyframes broken-flash-anim{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.08)}}.fighter[data-broken=true]{animation:broken-shake .2s ease-in-out infinite}@keyframes broken-shake{0%,to{transform:scaleX(var(--flip, 1)) translate(0)}25%{transform:scaleX(var(--flip, 1)) translate(-3px)}75%{transform:scaleX(var(--flip, 1)) translate(3px)}}.fighter[data-pose=idle] .torso{animation:breath 3.2s ease-in-out infinite}.fighter[data-pose=idle] .front-arm{transform:rotate(-6deg);animation:idle-arm-sway 4s ease-in-out infinite}.fighter[data-pose=idle] .back-arm{transform:rotate(4deg);animation:idle-arm-sway 4s ease-in-out infinite reverse}.fighter[data-pose=idle] .headband-tail{animation:tail-flow 3s ease-in-out infinite}@keyframes breath{0%,to{transform:translateY(0)}50%{transform:translateY(-1.5px)}}@keyframes idle-arm-sway{0%,to{transform:rotate(-6deg)}50%{transform:rotate(-9deg)}}@keyframes tail-flow{0%,to{transform:rotate(0) skewY(0)}50%{transform:rotate(6deg) skewY(4deg)}}.fighter[data-pose=walk] .front-leg{animation:walk-front-leg .5s ease-in-out infinite}.fighter[data-pose=walk] .back-leg{animation:walk-back-leg .5s ease-in-out infinite}.fighter[data-pose=walk] .front-arm{animation:walk-front-arm .5s ease-in-out infinite}.fighter[data-pose=walk] .back-arm{animation:walk-back-arm .5s ease-in-out infinite}.fighter[data-pose=walk] .torso{animation:walk-body .5s ease-in-out infinite;transform:rotate(-4deg)}.fighter[data-pose=walk] .head{transform:translate(1px,1px)}.fighter[data-pose=walk] .headband-tail{animation:tail-flow .5s ease-in-out infinite}@keyframes walk-front-leg{0%{transform:rotate(22deg) translateY(0)}25%{transform:rotate(6deg) translateY(-4px)}50%{transform:rotate(-18deg) translateY(-8px)}75%{transform:rotate(-4deg) translateY(-3px)}to{transform:rotate(22deg) translateY(0)}}@keyframes walk-back-leg{0%{transform:rotate(-18deg) translateY(-8px)}25%{transform:rotate(-4deg) translateY(-3px)}50%{transform:rotate(22deg) translateY(0)}75%{transform:rotate(6deg) translateY(-4px)}to{transform:rotate(-18deg) translateY(-8px)}}@keyframes walk-front-arm{0%,to{transform:rotate(22deg)}50%{transform:rotate(-18deg)}}@keyframes walk-back-arm{0%,to{transform:rotate(-18deg)}50%{transform:rotate(22deg)}}@keyframes walk-body{0%,to{transform:rotate(-4deg) translateY(0)}25%{transform:rotate(-4deg) translateY(-3px)}50%{transform:rotate(-4deg) translateY(0)}75%{transform:rotate(-4deg) translateY(-3px)}}.fighter[data-pose=guard] .torso{transform:translateY(3px) rotate(-3deg)}.fighter[data-pose=guard] .front-arm{transform:rotate(-72deg) translate(-3px,-2px)}.fighter[data-pose=guard] .back-arm{transform:rotate(-52deg) translate(-3px,2px)}.fighter[data-pose=guard] .front-leg{transform:rotate(9deg)}.fighter[data-pose=guard] .back-leg{transform:rotate(-8deg)}.fighter[data-pose=guard] .head{transform:translateY(1px)}.fighter[data-pose=jab] .front-arm{transform:rotate(-92deg) translateY(-8px) scaleY(1.22);transition:transform .06s cubic-bezier(.2,.8,.2,1)}.fighter[data-pose=jab] .back-arm{transform:rotate(28deg)}.fighter[data-pose=jab] .torso{transform:translate(3px) rotate(-2deg)}.fighter[data-pose=heavy] .front-arm{transform:rotate(-98deg) translateY(-12px) scaleY(1.28) scaleX(1.12);transition:transform .08s cubic-bezier(.2,.9,.3,1)}.fighter[data-pose=heavy] .back-arm{transform:rotate(58deg)}.fighter[data-pose=heavy] .torso{transform:translate(5px) rotate(-7deg)}.fighter[data-pose=heavy] .front-leg{transform:rotate(16deg)}.fighter[data-pose=heavy] .back-leg{transform:rotate(-10deg)}.fighter[data-pose=heavy] .head{transform:translate(2px,-1px) rotate(-4deg)}.fighter[data-pose=kick] .front-leg{transform:rotate(-78deg) translateY(-10px);transition:transform .08s cubic-bezier(.2,.9,.3,1)}.fighter[data-pose=kick] .back-leg{transform:rotate(-4deg)}.fighter[data-pose=kick] .torso{transform:translateY(-4px) rotate(-9deg)}.fighter[data-pose=kick] .front-arm{transform:rotate(34deg)}.fighter[data-pose=kick] .back-arm{transform:rotate(-22deg)}.fighter[data-pose=kick] .head{transform:translateY(-2px) rotate(-6deg)}.fighter[data-pose=dodge]{animation:dodge-streak .28s ease-out}.fighter[data-pose=dodge] .torso{transform:translateY(-2px) rotate(-12deg)}.fighter[data-pose=dodge] .front-arm{transform:rotate(-38deg)}.fighter[data-pose=dodge] .back-arm{transform:rotate(42deg)}@keyframes dodge-streak{0%{filter:brightness(1) blur(0);transform:var(--tf, scaleX(1)) translate(0)}40%{filter:brightness(1.6) blur(2px);opacity:.55}to{filter:brightness(1) blur(0)}}.fighter[data-pose=hit] .torso{animation:hit-shake .22s cubic-bezier(.2,.8,.2,1);transform:rotate(8deg)}.fighter[data-pose=hit] .head{transform:translateY(2px) rotate(10deg)}.fighter[data-pose=hit] .front-arm{transform:rotate(28deg)}.fighter[data-pose=hit] .back-arm{transform:rotate(-18deg)}@keyframes hit-shake{0%{transform:translate(0) rotate(0)}25%{transform:translate(5px) rotate(5deg)}50%{transform:translate(-4px) rotate(-3deg)}75%{transform:translate(3px) rotate(2deg)}to{transform:translate(0) rotate(8deg)}}.fighter[data-pose=down]{animation:fall-down .6s cubic-bezier(.4,0,.6,1) forwards}.fighter[data-pose=down] .torso{transform:translate(-12px,42px) rotate(-82deg)}.fighter[data-pose=down] .head{transform:translate(-28px,48px) rotate(-82deg)}.fighter[data-pose=down] .front-arm{transform:translate(-12px,42px) rotate(-100deg)}.fighter[data-pose=down] .back-arm{transform:translate(-10px,42px) rotate(-62deg)}.fighter[data-pose=down] .front-leg{transform:translate(2px,30px) rotate(-64deg)}.fighter[data-pose=down] .back-leg{transform:translate(-4px,32px) rotate(-82deg)}@keyframes fall-down{0%{filter:drop-shadow(0 18px 22px rgba(0,0,0,.6))}30%{filter:drop-shadow(0 6px 10px rgba(0,0,0,.7))}to{filter:drop-shadow(0 3px 6px rgba(0,0,0,.55))}}.fighter[data-pose=victory][data-variant="1"] .front-arm{transform:rotate(-155deg) translateY(-10px)}.fighter[data-pose=victory][data-variant="1"] .back-arm{transform:rotate(155deg) translateY(-10px)}.fighter[data-pose=victory][data-variant="2"] .torso{transform:translateY(10px) rotate(18deg)}.fighter[data-pose=victory][data-variant="2"] .head{transform:translate(1px,10px) rotate(20deg)}.fighter[data-pose=victory][data-variant="2"] .front-arm{transform:rotate(-46deg) translate(-4px,4px)}.fighter[data-pose=victory][data-variant="2"] .back-arm{transform:rotate(36deg) translate(2px,2px)}.fighter[data-pose=victory][data-variant="2"] .front-leg{transform:rotate(8deg)}.fighter[data-pose=victory][data-variant="2"] .back-leg{transform:rotate(-6deg)}.fighter[data-pose=victory][data-variant="3"] .front-arm{transform:rotate(-80deg) translateY(-6px) scaleY(1.15)}.fighter[data-pose=victory][data-variant="3"] .back-arm{transform:rotate(52deg)}.fighter[data-pose=victory][data-variant="3"] .torso{transform:translateY(-2px) rotate(-6deg)}.fighter[data-pose=victory][data-variant="3"] .head{transform:translateY(-2px) rotate(-4deg)}.fighter[data-pose=victory][data-variant="4"] .torso{transform:translateY(-1px) rotate(-2deg)}.fighter[data-pose=victory][data-variant="4"] .front-arm{transform:rotate(-120deg) translate(-8px,-4px)}.fighter[data-pose=victory][data-variant="4"] .back-arm{transform:rotate(120deg) translate(-8px,-4px)}.fighter[data-pose=victory][data-variant="4"] .head{transform:translateY(-1px) rotate(-2deg)}.fighter[data-pose=victory][data-variant="4"] .front-leg{transform:rotate(4deg)}.fighter[data-pose=victory][data-variant="4"] .back-leg{transform:rotate(-4deg)}.fighter[data-pose=parry] .torso{transform:translateY(-3px) rotate(-4deg)}.fighter[data-pose=parry] .front-arm{transform:rotate(-78deg) translateY(-6px) scaleY(1.1)}.fighter[data-pose=parry] .back-arm{transform:rotate(-60deg) translate(-2px,-4px)}.fighter[data-pose=parry] .head{transform:translateY(-1px) rotate(-4deg)}.fighter[data-pose=parry]{animation:parry-flash .3s ease-out}@keyframes parry-flash{0%{filter:brightness(1) drop-shadow(0 18px 22px rgba(0,0,0,.6))}25%{filter:brightness(1.8) drop-shadow(0 0 30px rgba(180,220,255,.85))}to{filter:brightness(1) drop-shadow(0 18px 22px rgba(0,0,0,.6))}}.fighter[data-pose=guard-break] .torso{transform:translateY(4px) rotate(12deg)}.fighter[data-pose=guard-break] .head{transform:translate(-2px,4px) rotate(14deg)}.fighter[data-pose=guard-break] .front-arm{transform:rotate(48deg)}.fighter[data-pose=guard-break] .back-arm{transform:rotate(-34deg)}.fighter[data-pose=guard-break] .front-leg{transform:rotate(10deg)}.fighter[data-pose=guard-break] .back-leg{transform:rotate(-18deg)}.fighter[data-finisher-ready=true]{filter:drop-shadow(0 0 var(--fin-pulse, 6px) rgba(200,74,58,.55));animation:fighter-fin-pulse 1.2s ease-in-out infinite}@keyframes fighter-fin-pulse{0%,to{filter:drop-shadow(0 0 6px rgba(200,74,58,.45))}50%{filter:drop-shadow(0 0 18px rgba(200,74,58,.95))}}.finisher-ready-overlay{position:absolute;left:50%;top:-30px;transform:translate(-50%);pointer-events:none}.finisher-ready-glow{position:absolute;inset:-6px -12px;border-radius:6px;background:#c84a3a;opacity:.85;z-index:1}.finisher-ready-kanji{position:relative;font-family:Yu Mincho,"Noto Serif JP",serif;font-weight:900;font-size:28px;color:#0a0608;padding:2px 10px;text-shadow:0 1px 0 rgba(255,255,255,.45);z-index:2;animation:fin-icon-bounce 1.4s ease-in-out infinite}@keyframes fin-icon-bounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-6px) scale(1.08)}}.fighter[data-pose=iai-windup]{transform-origin:bottom center}.fighter[data-pose=iai-active]{filter:contrast(1.1) brightness(1.05)}.fighter[data-pose=finisher-windup]{filter:brightness(.85)}.fighter[data-pose=finisher-hold]{filter:brightness(.95)}.fighter[data-stance=true][data-pose=idle] .torso{transform:translateY(5px) rotate(7deg)}.fighter[data-stance=true][data-pose=idle] .front-arm{transform:rotate(-62deg) translate(-3px,-13px) scaleY(1.06)}.fighter[data-stance=true][data-pose=idle] .back-arm{transform:rotate(-34deg) translate(-2px,-9px)}.fighter[data-stance=true][data-pose=idle] .front-leg{transform:rotate(26deg) translate(6px,4px)}.fighter[data-stance=true][data-pose=idle] .back-leg{transform:rotate(-24deg) translate(-7px,4px)}.fighter[data-stance=true][data-pose=idle] .head{transform:translate(-1px,3px)}.fighter[data-stance=true][data-pose=idle] .headband-tail{transform:rotate(16deg)}.fighter[data-stance=true][data-pose=walk] .torso{transform:translateY(5px) rotate(5deg)}.fighter[data-stance=true][data-pose=walk] .front-arm{transform:rotate(-52deg) translate(-2px,-10px)}.fighter[data-stance=true][data-pose=walk] .back-arm{transform:rotate(-28deg) translate(-1px,-7px)}.fighter-stance-aura{position:absolute;left:50%;bottom:-16px;width:90%;height:18px;transform:translate(-50%);pointer-events:none;border-radius:50%;border:1.5px solid rgba(244,200,120,.4);box-shadow:0 0 16px #f4c87852,inset 0 0 10px #f4c87838;animation:stance-aura-enter .35s ease-out,stance-aura-pulse 1.6s ease-in-out .35s infinite}@keyframes stance-aura-enter{0%{opacity:0;transform:translate(-50%) scaleX(.4) scaleY(.4);box-shadow:0 0 #ffe6aa00,inset 0 0 #ffe6aa00}35%{opacity:1;transform:translate(-50%) scaleX(1.2) scaleY(1.3);border-color:#ffebb4f2;box-shadow:0 0 28px #ffe6aad9,inset 0 0 14px #ffebb480}to{opacity:.55;transform:translate(-50%) scaleX(1) scaleY(1)}}@keyframes stance-aura-pulse{0%,to{opacity:.55;transform:translate(-50%) scaleX(1)}50%{opacity:.95;transform:translate(-50%) scaleX(1.06)}}@media (prefers-reduced-motion: reduce){.fighter-stance-aura{animation:none;opacity:.7}}.fighter-tell{position:absolute;left:50%;top:-36px;transform:translate(-50%) scaleX(var(--flip));pointer-events:none;animation:tell-flash .3s ease-out forwards}.fighter-tell-kanji{display:inline-block;font-family:"Noto Serif JP",Yu Mincho,serif;font-weight:900;font-size:38px;color:#1a1410;text-shadow:0 0 12px rgba(244,200,120,.8),0 2px 0 rgba(255,220,160,.6)}.fighter-tell[data-tell=heavy] .fighter-tell-kanji{text-shadow:0 0 16px rgba(200,74,58,.9),0 2px 0 rgba(255,120,100,.6)}.fighter-tell[data-tell=kick] .fighter-tell-kanji{text-shadow:0 0 14px rgba(244,168,58,.85),0 2px 0 rgba(255,200,120,.6)}.fighter-tell[data-tell=feint] .fighter-tell-kanji{color:#4a4848;text-shadow:0 0 14px rgba(122,138,154,.6),0 2px 0 rgba(180,192,200,.4)}@keyframes tell-flash{0%{opacity:0;transform:translate(-50%) scaleX(var(--flip)) scale(.7)}18%{opacity:1;transform:translate(-50%) scaleX(var(--flip)) scale(1.15)}35%{transform:translate(-50%) scaleX(var(--flip)) scale(1)}to{opacity:0;transform:translate(-50%) scaleX(var(--flip)) translateY(-8px)}}@media (prefers-reduced-motion: reduce){.fighter-tell{animation:tell-flash-static .3s linear forwards}@keyframes tell-flash-static{0%{opacity:0}20%{opacity:1}80%{opacity:1}to{opacity:0}}}.scene{position:absolute;inset:0;overflow:visible}.sky{position:absolute;inset:-30% -2% 0;z-index:0}.layer{position:absolute;inset:0;pointer-events:none;will-change:transform}.svg-layer{position:absolute;inset:0;width:3000px;height:520px}.moon{position:absolute;border-radius:50%;z-index:1;pointer-events:none}.moon.warm{top:10%;right:18%;width:110px;height:110px;background:radial-gradient(circle at 38% 38%,#fff3d4,#f0c27c 45%,#9a5032 95%);box-shadow:0 0 80px 20px #ffb46e59,0 0 160px 50px #ffa05a24;filter:blur(.3px)}.moon.cold{top:12%;right:20%;width:90px;height:90px;background:radial-gradient(circle at 35% 35%,#fff,#dfe7f2 40%,#5c7493);box-shadow:0 0 80px 20px #b4c8e633}.moon.blood{top:8%;right:16%;width:140px;height:140px;background:radial-gradient(circle at 38% 38%,#ffdedb,#d6605d 35%,#7f1e2a 90%);box-shadow:0 0 100px 30px #d23c5066,0 0 200px 80px #b4283c2e;filter:blur(.4px)}.moon.dawn{top:24%;right:12%;width:130px;height:130px;background:radial-gradient(circle at 40% 40%,#fff4c8,#ffc07a 45%,#d46040);box-shadow:0 0 120px 40px #ffaa6459,0 0 240px 80px #ff82462e}.moon.storm{position:absolute;top:14%;right:20%;width:80px;height:80px;background:radial-gradient(circle at 35% 35%,rgba(220,220,235,.55),rgba(140,150,170,.1) 60%,transparent 100%);border-radius:50%;opacity:.55;filter:blur(3px);z-index:1}.floor{position:absolute;inset:78% 0 0;width:3000px;overflow:hidden}.bamboo-floor{background:radial-gradient(ellipse at 50% 0%,rgba(80,120,70,.18) 0%,transparent 60%),linear-gradient(to bottom,#0c1a10,#060d08 60%,#030604)}.bamboo-floor:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 15% 30%,rgba(80,140,80,.3) 1px,transparent 3px),radial-gradient(circle at 45% 60%,rgba(80,140,80,.2) 1px,transparent 2px),radial-gradient(circle at 75% 40%,rgba(80,140,80,.25) 1px,transparent 3px);background-size:280px 180px;opacity:.6}.lantern-glow{position:absolute;width:220px;height:220px;border-radius:50%;pointer-events:none;z-index:5;mix-blend-mode:screen}.bamboo-lantern{left:6%;top:52%;background:radial-gradient(circle,rgba(255,180,100,.22) 0%,transparent 70%);animation:lantern-breathe 3.4s ease-in-out infinite}@keyframes lantern-breathe{0%,to{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.bamboo-sway{transform-origin:bottom;animation:bamboo-sway 6s ease-in-out infinite}@keyframes bamboo-sway{0%,to{transform:rotate(-.4deg)}50%{transform:rotate(.4deg)}}.courtyard-floor{background:linear-gradient(to bottom,#1f2733,#0f151f 60%,#050810)}.floor-reflection{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0,transparent 40px,rgba(150,170,200,.05) 40px,rgba(150,170,200,.05) 42px),radial-gradient(ellipse at 50% 80%,rgba(200,170,120,.12) 0%,transparent 50%);animation:reflection-shimmer 4s ease-in-out infinite}@keyframes reflection-shimmer{0%,to{opacity:.8}50%{opacity:1}}.pagoda-window{animation:window-flicker 4s ease-in-out infinite;transform-origin:center}@keyframes window-flicker{0%,to{opacity:.85}47%{opacity:.9}50%{opacity:1}53%{opacity:.78}}.lantern-flame{transform-origin:center;animation:flame-flicker .6s ease-in-out infinite}@keyframes flame-flicker{0%,to{transform:scaleY(1);opacity:.95}50%{transform:scaleY(1.1) translateY(-1px);opacity:1}}.lantern-halo{animation:halo-pulse 2.4s ease-in-out infinite;mix-blend-mode:screen}@keyframes halo-pulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}.rain-overlay{position:absolute;inset:0;z-index:8;pointer-events:none;background:linear-gradient(to bottom,transparent 0%,rgba(30,50,70,.08) 50%,transparent 100%);opacity:.6}.storm-flash{position:absolute;inset:0;background:#c8d2e600;z-index:9;pointer-events:none;animation:storm-flash 17s ease-out infinite}@keyframes storm-flash{0%,95%{background:#c8d2e600}96%{background:#d2dcf02e}96.5%{background:#c8d2e600}97%{background:#c8dcf01f}97.5%,to{background:#c8d2e600}}.fortress-floor{background:radial-gradient(ellipse at 50% 0%,rgba(200,130,90,.2) 0%,transparent 70%),linear-gradient(to bottom,#3a2830,#1f1418 60%,#0c070a)}.fortress-floor:before{content:"";position:absolute;inset:0;background-image:radial-gradient(ellipse at 20% 40%,rgba(60,30,40,.4) 1px,transparent 6px),radial-gradient(ellipse at 70% 60%,rgba(60,30,40,.3) 1px,transparent 5px),radial-gradient(ellipse at 45% 20%,rgba(90,50,60,.2) 1px,transparent 4px);background-size:300px 200px;opacity:.7}.sunrise-glow{position:absolute;left:-5%;right:-5%;top:5%;height:55%;background:radial-gradient(ellipse at 82% 70%,rgba(255,160,100,.5) 0%,rgba(255,100,80,.18) 35%,transparent 65%);pointer-events:none;z-index:1;animation:sunrise-pulse 8s ease-in-out infinite}@keyframes sunrise-pulse{0%,to{opacity:.85}50%{opacity:1}}.mist-band{position:absolute;left:-20%;right:-20%;height:130px;pointer-events:none;background:linear-gradient(to bottom,transparent 0%,rgba(230,220,230,.45) 40%,rgba(230,220,230,.45) 60%,transparent 100%);filter:blur(6px);will-change:transform}.mist-band-1{top:42%;z-index:2;animation:mist-drift-a 42s linear infinite}.mist-band-2{top:58%;z-index:3;opacity:.7;animation:mist-drift-b 58s linear infinite}.mist-band-3{top:72%;z-index:5;opacity:.55;animation:mist-drift-a 76s linear infinite reverse}@keyframes mist-drift-a{0%{transform:translate(-10%)}to{transform:translate(10%)}}@keyframes mist-drift-b{0%{transform:translate(6%)}to{transform:translate(-6%)}}.temple-floor{background:radial-gradient(ellipse at 50% 0%,rgba(160,40,60,.18) 0%,transparent 65%),linear-gradient(to bottom,#22081a,#0a020a 60%,#050104)}.temple-floor:before{content:"";position:absolute;inset:0;background-image:radial-gradient(ellipse at 20% 40%,rgba(140,20,40,.3) 1px,transparent 4px),radial-gradient(ellipse at 70% 60%,rgba(140,20,40,.2) 1px,transparent 3px);background-size:250px 180px;opacity:.7}.banner-sway{transform-origin:top;animation:banner-sway 5s ease-in-out infinite}@keyframes banner-sway{0%,to{transform:rotate(-1deg)}50%{transform:rotate(1deg)}}.post-flame{animation:flame-flicker .5s ease-in-out infinite;transform-origin:center;filter:drop-shadow(0 0 4px rgba(210,60,80,.8))}.particle-canvas{position:absolute;top:0;left:0;pointer-events:none;z-index:9}.parallax{position:absolute;inset:0;overflow:hidden;background:#04030a;user-select:none}.atmosphere{position:absolute;inset:0;z-index:10;pointer-events:none;background:linear-gradient(to bottom,#0000 60%,#00000059)}.parallax[data-scene=bamboo] .atmosphere{background:radial-gradient(ellipse at 50% 30%,rgba(255,180,100,.06),transparent 60%),linear-gradient(to bottom,#0000 55%,#00000073)}.parallax[data-scene=courtyard] .atmosphere{background:linear-gradient(to bottom,#283c5a26,#141e281a,#00000073)}.parallax[data-scene=snowpass] .atmosphere{background:radial-gradient(ellipse at 80% 60%,rgba(255,160,100,.12),transparent 50%),linear-gradient(to bottom,#0000 60%,#00000059)}.parallax[data-scene=temple] .atmosphere{background:radial-gradient(ellipse at 50% 35%,rgba(180,40,60,.12),transparent 60%),linear-gradient(to bottom,#0000 55%,#0000008c)}.focus-bar{display:flex;align-items:center;gap:8px;margin-top:6px;padding:4px 6px;border-radius:4px;touch-action:manipulation}.focus-bar.ready{cursor:pointer;background:#d8a84a0f}.focus-label{font-family:Yu Mincho,"Noto Serif JP",serif;font-size:11px;letter-spacing:2px;color:#d8a84a;min-width:24px}.focus-track{flex:1;height:10px;background:#00000059;border:1px solid rgba(216,168,74,.25);border-radius:3px;overflow:hidden;position:relative}.focus-fill{height:100%;background:linear-gradient(90deg,#8a6a2a,#d8a84a 70%,#ffd878);box-shadow:0 0 6px #d8a84a59 inset;transition:width .18s ease-out}.focus-bar.ready .focus-fill{background:linear-gradient(90deg,#d8a84a,#ffe8a0,#d8a84a);animation:focus-pulse 1.2s ease-in-out infinite}@keyframes focus-pulse{0%,to{box-shadow:0 0 8px #ffd87880 inset,0 0 8px #ffd8784d}50%{box-shadow:0 0 14px #ffe8a0cc inset,0 0 18px #ffe8a099}}.focus-count{font-family:Yu Mincho,serif;color:#d8a84ab3;font-size:10px;min-width:22px;text-align:right}.focus-ready-badge{font-family:Yu Mincho,serif;background:#ffe090;color:#1a1418;padding:2px 8px;border-radius:3px;font-size:12px;font-weight:900;letter-spacing:2px;animation:focus-pulse 1.2s ease-in-out infinite;min-width:36px;text-align:center}.beat-pulse{position:relative;width:14px;height:14px;display:inline-block;pointer-events:none}.beat-pulse-ring{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(244,200,120,.35);transform:scale(calc(.85 + .4 * var(--beat-intensity, 0)));opacity:calc(.25 + .75 * var(--beat-intensity, 0));box-shadow:0 0 calc(4px + 10px * var(--beat-intensity, 0)) rgba(244,200,120,calc(.25 + .55 * var(--beat-intensity, 0)));transition:transform 60ms linear,opacity 60ms linear,box-shadow 60ms linear}.beat-pulse-core{position:absolute;inset:4px;border-radius:50%;background:radial-gradient(circle,rgba(255,230,170,calc(.5 + .5 * var(--beat-intensity, 0))),#f4c87800 70%);transition:background 60ms linear}@media (prefers-reduced-motion: reduce){.beat-pulse-ring,.beat-pulse-core{transition:none}}.hud{position:absolute;top:0;left:0;right:0;padding:calc(var(--sat, 0px) + 14px) calc(var(--sar, 0px) + 18px) 0 calc(var(--sal, 0px) + 18px);pointer-events:none;z-index:20;color:var(--ink)}.hud-row{display:flex;align-items:flex-start;gap:14px;justify-content:space-between}.fighter-bar{flex:1 1 0;max-width:360px;display:flex;flex-direction:column;gap:4px}.fighter-bar.right{align-items:flex-end}.fighter-name{font-family:var(--font-display);font-size:13px;letter-spacing:.28em;text-transform:uppercase;color:#f5ebd7f2;text-shadow:0 2px 8px rgba(0,0,0,.85);padding:0 4px;display:flex;align-items:center;gap:8px}.name-diamond{font-size:8px;color:var(--gold);opacity:.7}.fighter-bar.right .fighter-name{flex-direction:row-reverse}.bar{position:relative;height:14px;width:100%;background:#000000bf;border:1px solid rgba(244,200,120,.28);box-shadow:inset 0 0 0 1px #0009,0 3px 10px #000000b3;overflow:hidden;backdrop-filter:blur(6px)}.bar-corner{position:absolute;width:6px;height:6px;border:1px solid rgba(244,200,120,.85);pointer-events:none;z-index:3}.c-tl{top:-1px;left:-1px;border-right:0;border-bottom:0}.c-tr{top:-1px;right:-1px;border-left:0;border-bottom:0}.c-bl{bottom:-1px;left:-1px;border-right:0;border-top:0}.c-br{bottom:-1px;right:-1px;border-left:0;border-top:0}.bar-shine{position:absolute;inset:1px 1px auto;height:3px;background:linear-gradient(to bottom,rgba(255,255,255,.25),transparent);pointer-events:none;z-index:2}.stam-bar{height:6px}.bar-bg{position:absolute;inset:0;background:linear-gradient(to bottom,#ffffff0a,#0000004d)}.bar-fill{position:absolute;top:0;left:0;bottom:0;transition:width .18s ease-out;box-shadow:0 0 12px currentColor}.fighter-bar.right .bar-fill{left:auto;right:0}.bar-fill.hp{background:linear-gradient(to right,#ff2d4e,#ffb04a);color:#ff644080;transition:width .18s ease-out,background .3s}.bar-fill.stam{background:linear-gradient(to right,#3ad0ff,#8eeafc);color:#82dcff66;transition:width .18s ease-out,background .3s}.stam-bar.low .bar-fill.stam{background:linear-gradient(to right,#ff8a3d,#ffc877);color:#ffb46e80}.hp-bar.flash{animation:hp-flash .28s ease-out}.stam-bar.denied{animation:stam-deny .4s ease-out}@keyframes hp-flash{0%{box-shadow:inset 0 0 0 1px #0009,0 0 0 2px #ff3c50e6,0 0 14px #ff3c5099}to{box-shadow:inset 0 0 0 1px #0009,0 2px 6px #0009}}@keyframes stam-deny{0%{transform:translate(0)}20%{transform:translate(-4px);box-shadow:0 0 12px #ff7878cc}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}to{transform:translate(0);box-shadow:inset 0 0 0 1px #0009,0 2px 6px #0009}}.bar-notches{position:absolute;inset:0;pointer-events:none}.notch{position:absolute;top:0;bottom:0;width:1px;background:#00000059}.hud-center{flex:0 0 auto;text-align:center;padding:8px 20px;background:linear-gradient(to bottom,#0a040ac7,#0402068c);border:1px solid rgba(244,200,120,.3);min-width:170px;backdrop-filter:blur(8px);box-shadow:0 4px 14px #00000080;position:relative}.hud-center:before,.hud-center:after{content:"";position:absolute;width:8px;height:8px;border:1px solid var(--gold);opacity:.85}.hud-center:before{top:-1px;left:-1px;border-right:0;border-bottom:0}.hud-center:after{bottom:-1px;right:-1px;border-left:0;border-top:0}.hud-level{font-size:10px;letter-spacing:.4em;color:#ffffff80;text-transform:uppercase}.hud-level-title{font-family:var(--font-display);font-size:15px;color:var(--gold);letter-spacing:.12em;text-shadow:0 2px 8px rgba(0,0,0,.7);margin-top:2px}.hud-dots{display:flex;justify-content:center;gap:6px;margin-top:6px;align-items:center}.hud-dots .dot{width:8px;height:8px;border-radius:50%;background:#ffffff26;border:1px solid rgba(255,255,255,.3)}.hud-dots .dot.done{background:var(--gold);border-color:var(--gold);opacity:.55}.journey-bar{margin-top:8px;padding:2px 0}.journey-track{position:relative;height:4px;width:160px;background:#0009;border:1px solid rgba(244,200,120,.22);margin:0 auto;overflow:visible}.journey-fill{position:absolute;top:0;left:0;bottom:0;background:linear-gradient(to right,#f4c87859,#f4c878bf);transition:width .15s ease-out}.journey-marker{position:absolute;top:50%;width:5px;height:5px;margin-top:-3px;margin-left:-3px;background:var(--accent);transform:rotate(45deg);box-shadow:0 0 6px #d8493ab3}.journey-marker.done{background:#f4c87899;box-shadow:none;opacity:.6}.journey-end{position:absolute;right:-2px;top:-3px;bottom:-3px;width:2px;background:var(--gold);box-shadow:0 0 8px #f4c87899}.journey-walker{position:absolute;top:50%;width:8px;height:8px;margin-top:-5px;margin-left:-4px;background:var(--ink);border:1px solid var(--gold);box-shadow:0 0 6px #f4c87899;transition:left .15s ease-out}.hud-dots .dot.active{background:var(--accent);border-color:var(--accent);box-shadow:0 0 10px var(--accent);animation:dot-pulse 1.1s ease-in-out infinite}.dot-label{font-size:11px;letter-spacing:.18em;color:#ffffff80;margin-left:6px}@keyframes dot-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}@media (max-width: 720px){.hud{padding:8px 10px 0}.fighter-name{font-size:11px;letter-spacing:.18em}.hud-center{min-width:110px;padding:4px 8px}.hud-level-title{font-size:12px}}.hud-center-beat{margin-top:6px;display:flex;justify-content:center}.bar.stam-bar.mash-warn{box-shadow:0 0 10px #f4a83a99;animation:mash-warn-pulse .6s ease-in-out infinite}.bar.stam-bar.mash-bad{box-shadow:0 0 14px #ff6464d9,inset 0 0 8px #ff505080;border-color:#ff6464b3}@keyframes mash-warn-pulse{0%,to{box-shadow:0 0 8px #f4a83a66}50%{box-shadow:0 0 16px #f4a83acc}}@media (prefers-reduced-motion: reduce){.bar.stam-bar.mash-warn{animation:none}}.touch-controls{position:absolute;left:0;right:0;bottom:0;padding:12px calc(var(--sar, 0px) + 16px) calc(var(--sab, 0px) + 18px) calc(var(--sal, 0px) + 16px);z-index:30;display:flex;justify-content:space-between;align-items:flex-end;gap:12px;pointer-events:none;touch-action:none}.tc-cluster{pointer-events:auto;display:flex;gap:10px}.tc-center{flex-direction:column;align-items:center}.tc-right{flex-direction:column-reverse;align-items:flex-end}.tc-btn{pointer-events:auto;position:relative;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.14),transparent 65%),linear-gradient(to bottom,#160e16c7,#06040ad1);color:#fff5e1f2;border:1px solid rgba(244,200,120,.35);border-radius:50%;width:78px;height:78px;display:flex;align-items:center;justify-content:center;flex-direction:column;font-family:var(--font-display);font-size:11px;letter-spacing:.22em;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;transition:transform .08s cubic-bezier(.2,.9,.3,1),box-shadow .1s ease-out,border-color .15s;box-shadow:0 6px 18px #0009,inset 0 1px #ffffff1f;touch-action:none;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.tc-btn:before{content:"";position:absolute;inset:4px;border-radius:50%;border:1px solid rgba(255,255,255,.07);pointer-events:none}.tc-btn:active{transform:scale(.88);box-shadow:0 2px 6px #000000b3,inset 0 3px 10px #0009;border-color:#ffdc8ccc}.tc-btn.small{width:64px;height:64px;font-size:10px}.tc-btn.atk{width:74px;height:74px;border-color:#ffb47873}.tc-btn.atk.jab{background:radial-gradient(circle at 28% 30%,rgba(255,210,130,.45),transparent 65%),linear-gradient(to bottom,#3c240ee6,#140c06f5);border-color:#ffd28280;box-shadow:0 6px 18px #ffaa502e,inset 0 1px #ffffff1f}.tc-btn.atk.kick{background:radial-gradient(circle at 28% 30%,rgba(180,130,230,.5),transparent 65%),linear-gradient(to bottom,#28143ce6,#0e061af5);border-color:#b48ce68c;box-shadow:0 6px 18px #8250c838,inset 0 1px #ffffff1a}.tc-btn.atk.heavy{width:84px;height:84px;background:radial-gradient(circle at 28% 30%,rgba(255,120,110,.55),transparent 65%),linear-gradient(to bottom,#460e12d9,#140406e6);border-color:#ff786eb3;box-shadow:0 8px 24px #ff283c52,inset 0 1px #ffffff24}.tc-btn.atk.heavy .atk-label{font-size:12px}.tc-btn.guard{background:radial-gradient(circle at 28% 30%,rgba(140,200,255,.4),transparent 65%),linear-gradient(to bottom,#0e1c2ee6,#060c16f5);border-color:#a0d2ff73}.tc-btn.dodge{background:radial-gradient(circle at 28% 30%,rgba(150,255,200,.4),transparent 65%),linear-gradient(to bottom,#0a2418e6,#04100af5);border-color:#aaf0c873}.tc-btn.move{background:radial-gradient(circle at 28% 30%,rgba(255,255,255,.14),transparent 65%),linear-gradient(to bottom,#16161eeb,#0a0a12f5)}.atk-label{font-weight:700;font-size:11px;letter-spacing:.18em}.tc-btn .glyph{font-size:18px;line-height:1}.tc-btn .lbl{font-size:8px;letter-spacing:.22em;margin-top:2px;opacity:.85}.tc-btn[data-corners=true]:after{content:"";position:absolute;inset:0;border-radius:50%;background:linear-gradient(45deg,transparent 48%,rgba(244,200,120,.3) 48% 52%,transparent 52%);mix-blend-mode:overlay;pointer-events:none}@media (hover: hover) and (pointer: fine) and (min-width: 820px){.touch-controls{display:none}}@media (max-width: 420px){.tc-btn{width:68px;height:68px}.tc-btn.atk,.tc-btn.move{width:66px;height:66px}.tc-btn.atk.heavy{width:74px;height:74px}.tc-btn.small{width:58px;height:58px}}@media (max-width: 420px) and (orientation: portrait){.touch-controls{padding-bottom:calc(var(--sab, 0px) + 14px)}}@media (max-height: 500px) and (orientation: landscape){.touch-controls{padding:8px calc(var(--sar, 0px) + 20px) calc(var(--sab, 0px) + 10px) calc(var(--sal, 0px) + 20px)}.tc-cluster{gap:8px}}.ink-burst{position:absolute;pointer-events:none;transform:translate(-50%,-50%) rotate(var(--rot, 0deg));z-index:6}.ink-small{width:60px;height:60px;border-radius:50%;background:radial-gradient(circle,#0a0608 30%,transparent 70%);animation:ink-small .45s ease-out forwards}@keyframes ink-small{0%{transform:translate(-50%,-50%) scale(.2);opacity:0}20%{opacity:1}to{transform:translate(-50%,-50%) scale(1.3);opacity:0}}.ink-blob{width:110px;height:100px;background:#0a0608;clip-path:polygon(50% 0%,75% 15%,95% 10%,88% 35%,100% 55%,82% 72%,95% 92%,65% 85%,50% 100%,30% 85%,5% 92%,18% 72%,0% 55%,12% 35%,5% 10%,25% 15%);animation:ink-medium .55s cubic-bezier(.2,.8,.3,1) forwards;transform:translate(-50%,-50%)}@keyframes ink-medium{0%{transform:translate(-50%,-50%) scale(.1) rotate(0);opacity:0}25%{opacity:1}to{transform:translate(-50%,-50%) scale(1.8) rotate(20deg);opacity:0}}.ink-core{position:absolute;left:0;top:0;width:160px;height:160px;background:radial-gradient(circle,#0a0608 40%,transparent 75%);animation:ink-core .9s cubic-bezier(.15,.9,.2,1) forwards;transform:translate(-50%,-50%)}@keyframes ink-core{0%{transform:translate(-50%,-50%) scale(.05);opacity:0}15%{opacity:1}to{transform:translate(-50%,-50%) scale(2.4);opacity:0}}.ink-shard{position:absolute;left:0;top:0;width:28px;height:6px;background:#0a0608;border-radius:3px;animation:ink-shard .9s cubic-bezier(.2,.8,.3,1) forwards;transform-origin:0 50%;transform:translate(-50%,-50%) rotate(var(--shard-rot, 0deg))}@keyframes ink-shard{0%{opacity:0}20%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) rotate(var(--shard-rot, 0deg)) translate(140px)}}.ink-red-dot{position:absolute;left:0;top:0;width:18px;height:18px;border-radius:50%;background:#c84a3a;transform:translate(-50%,-50%);animation:ink-small .9s ease-out forwards}.parry-disc{position:absolute;left:0;top:0;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,#ffffff 20%,#e8f4ff 50%,transparent 75%);transform:translate(-50%,-50%);animation:parry-flash .55s ease-out forwards}.parry-ring{position:absolute;left:0;top:0;width:30px;height:30px;border:4px solid #b8e8ff;border-radius:50%;transform:translate(-50%,-50%);animation:parry-flash .65s ease-out forwards}@keyframes parry-flash{0%{transform:translate(-50%,-50%) scale(.05);opacity:0}10%{opacity:1}to{transform:translate(-50%,-50%) scale(2);opacity:0}}.iai-core{width:240px;height:240px;animation-duration:1.1s}.iai-shard{width:36px;height:7px;animation-duration:1.1s}@keyframes iai-shard-custom{to{transform:translate(-50%,-50%) rotate(var(--shard-rot, 0deg)) translate(220px)}}.iai-shard{animation-name:ink-shard,iai-shard-custom}.finisher-core{width:280px;height:280px;animation-duration:1.4s}.finisher-core-2{width:200px;height:200px;animation-duration:1.4s;animation-delay:.12s;background:radial-gradient(circle,#2a0a10 50%,transparent 80%)}.finisher-shard{width:40px;height:8px;animation-duration:1.4s}.kanji-float{position:absolute;transform:translate(-50%,-50%);pointer-events:none;z-index:8;font-family:Yu Mincho,"Noto Serif JP",Times New Roman,serif;font-weight:900;animation:kanji-pop 1.2s ease-out forwards;--kanji-accent: #c84a3a}.kanji-glyph{color:#0a0608;letter-spacing:-.05em;text-shadow:3px 3px 0 var(--kanji-accent),-1px 1px 0 #fff,-2px 2px 0 #fff}@keyframes kanji-pop{0%{transform:translate(-50%,-50%) scale(.3) rotate(-8deg);opacity:0}15%{transform:translate(-50%,-50%) scale(1.15) rotate(0);opacity:1}35%{transform:translate(-50%,-50%) scale(1) rotate(0);opacity:1}to{transform:translate(-50%,-50%) scale(1) translateY(-30px);opacity:0}}.kanji-streaks{position:absolute;inset:-40px -200px;pointer-events:none}.kanji-streak{position:absolute;height:2px;background:#0a0608;border-radius:2px;transform:translate(-40px);animation:kanji-streak .6s linear forwards;opacity:0}@keyframes kanji-streak{0%{opacity:0;transform:translate(-40px)}15%{opacity:1}to{opacity:0;transform:translate(260px)}}.range-hints{position:absolute;inset:0;pointer-events:none}.range-ring{position:absolute;height:8px;border-radius:50%;border:1px solid rgba(255,245,220,.1);background:radial-gradient(ellipse at center,#fff5dc0a,#fff5dc00 80%);transition:opacity .2s ease-out}.range-ring.jab{border-color:#f4d6762e}.range-ring.kick{border-color:#f4a83a2e}@media (prefers-reduced-motion: reduce){.range-ring{transition:none}}.debug-arena-layer{position:absolute;inset:0;pointer-events:none;z-index:18;font-family:var(--font-mono, monospace);font-size:10px}.debug-hurtbox{position:absolute;border:1px dashed rgba(80,220,120,.9);background:#50dc7814;box-shadow:0 0 0 1px #0006 inset}.debug-hurtbox.enemy{border-color:#f06478e6;background:#f0647814}.debug-hurtbox.blocking{border-color:#78c8ff;background:#78c8ff26}.debug-hitbox{position:absolute;border:1px solid rgba(255,220,80,1);background:#ffdc502e;box-shadow:0 0 10px #ffdc5099}.debug-hitbox.heavy{border-color:#ff6450;background:#ff645038}.debug-hitbox.kick{border-color:#b48cff;background:#b48cff2e}.debug-label{position:absolute;top:-14px;left:0;font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#fffffff2;text-shadow:0 1px 2px rgba(0,0,0,1);white-space:nowrap}.debug-panel{position:absolute;top:80px;right:16px;z-index:40;background:#060408e0;color:#d4f0dc;font-family:var(--font-mono, monospace);font-size:11px;padding:10px 14px;border:1px solid rgba(140,220,160,.4);border-radius:4px;backdrop-filter:blur(6px);pointer-events:none;min-width:220px;box-shadow:0 6px 20px #0009}.debug-heading{font-size:10px;letter-spacing:.32em;color:#9fe5b2;border-bottom:1px dashed rgba(140,220,160,.3);padding-bottom:4px;margin-bottom:4px}.debug-section+.debug-section{margin-top:10px}.debug-row{display:flex;justify-content:space-between;gap:14px;line-height:1.45}.debug-row>span:first-child{color:#c8dcc8a6}.debug-ai{color:#fc6;font-weight:600}.debug-warn{color:#ff8a7a;font-weight:600}.debug-hint{margin-top:10px;font-size:9px;letter-spacing:.2em;color:#c8dcc880;text-transform:uppercase;text-align:right}.debug-hint kbd{display:inline-block;font-family:inherit;padding:1px 5px;margin:0 2px;border:1px solid rgba(200,220,200,.3);border-radius:3px;background:#ffffff0a;color:#d4f0dc}@media (max-width: 720px){.debug-panel{inset:auto 8px 180px;min-width:auto;font-size:10px}}.boss-intro{position:absolute;inset:0;z-index:60;pointer-events:none;overflow:hidden;animation:boss-intro-enter .28s ease-out}@keyframes boss-intro-enter{0%{opacity:0}to{opacity:1}}.boss-intro-bg{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,#00000040,#000000d9),linear-gradient(135deg,var(--boss-tint) 0%,rgba(10,4,12,.95) 50%,var(--boss-accent) 100%);opacity:.55}.boss-intro-stripe{position:absolute;left:-10%;right:-10%;height:26vh;background:linear-gradient(180deg,#000000f2,#0000008c);animation:stripe-in .45s cubic-bezier(.2,.8,.2,1)}.boss-intro-stripe-top{top:0;transform-origin:top}.boss-intro-stripe-bottom{bottom:0;transform-origin:bottom;background:linear-gradient(0deg,#000000f2,#0000008c)}@keyframes stripe-in{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.boss-intro-mark{position:absolute;inset:15% 0;background:linear-gradient(120deg,transparent 35%,var(--boss-accent) 48%,var(--boss-tint) 52%,transparent 65%);opacity:.25;mix-blend-mode:screen;animation:mark-sweep 1.6s ease-out}@keyframes mark-sweep{0%{transform:translate(-40%);opacity:0}40%{opacity:.35}to{transform:translate(10%);opacity:0}}.boss-intro-sweep{position:absolute;inset:0;background:linear-gradient(120deg,transparent 40%,rgba(255,255,255,.85) 50%,transparent 60%);opacity:0;animation:intro-sweep .65s ease-out .1s;mix-blend-mode:screen}@keyframes intro-sweep{0%{transform:translate(-100%);opacity:0}30%{opacity:.9}to{transform:translate(100%);opacity:0}}.boss-intro-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6em;padding:0 24px;text-align:center;animation:intro-content .5s cubic-bezier(.2,.8,.2,1) .2s backwards}@keyframes intro-content{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.boss-intro-eyes{display:flex;gap:46px;margin-bottom:18px;opacity:0;animation:eyes-in .5s cubic-bezier(.2,1,.2,1) .15s forwards}@keyframes eyes-in{0%{opacity:0;transform:scaleY(.2)}60%{opacity:1;transform:scaleY(1.15)}to{opacity:1;transform:scaleY(1)}}.boss-intro-eyes .eye{display:block;width:32px;height:5px;border-radius:3px;background:var(--boss-accent);box-shadow:0 0 18px var(--boss-accent),0 0 38px var(--boss-tint);animation:eye-glow 1.4s ease-in-out infinite .4s}@keyframes eye-glow{0%,to{opacity:.75;box-shadow:0 0 18px var(--boss-accent),0 0 38px var(--boss-tint)}50%{opacity:1;box-shadow:0 0 32px var(--boss-accent),0 0 60px var(--boss-tint)}}.boss-intro-label{display:flex;align-items:center;justify-content:center;gap:14px;font-family:var(--font-display, serif);font-size:12px;letter-spacing:.6em;text-transform:uppercase;color:#dcc8b4d9;margin-bottom:2px}.lbl-line{display:inline-block;width:42px;height:1px;background:#dcc8b499}.lbl-text{padding-left:.6em}.boss-intro-name{font-family:var(--font-display, serif);font-size:clamp(36px,7vw,76px);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#f8ecd3;margin:0;line-height:1;text-shadow:0 0 18px rgba(0,0,0,.95),0 4px 28px rgba(0,0,0,.95),0 0 60px var(--boss-accent)}.boss-intro-title{font-family:var(--font-display, serif);font-style:italic;font-size:clamp(14px,2vw,20px);letter-spacing:.12em;color:#f0dcc8d1;margin-top:2px}.boss-intro-quote{margin-top:16px;max-width:42ch;font-family:var(--font-display, serif);font-size:clamp(13px,1.6vw,17px);line-height:1.5;color:#ebd7c3bf;font-style:italic;letter-spacing:.04em}.finisher-cutscene{position:absolute;inset:0;pointer-events:none;z-index:50}.letterbox{position:absolute;left:0;right:0;height:40px;background:#000;transform:translateY(-100%);transition:transform .2s ease-out}.letterbox.top{top:0}.letterbox.bottom{bottom:0;transform:translateY(100%)}.finisher-cutscene.stage-step-in .letterbox.top,.finisher-cutscene.stage-windup .letterbox.top,.finisher-cutscene.stage-strike .letterbox.top,.finisher-cutscene.stage-explode .letterbox.top,.finisher-cutscene.stage-step-in .letterbox.bottom,.finisher-cutscene.stage-windup .letterbox.bottom,.finisher-cutscene.stage-strike .letterbox.bottom,.finisher-cutscene.stage-explode .letterbox.bottom{transform:translateY(0)}.finisher-cutscene.stage-release .letterbox{transform:translateY(-100%)}.finisher-cutscene.stage-release .letterbox.bottom{transform:translateY(100%)}.sepia-overlay{position:absolute;inset:0;background:linear-gradient(180deg,#5a3c1e59,#28190a40);mix-blend-mode:multiply;opacity:0;transition:opacity .22s ease-out}.finisher-cutscene.stage-windup .sepia-overlay,.finisher-cutscene.stage-strike .sepia-overlay,.finisher-cutscene.stage-explode .sepia-overlay{opacity:1}.finisher-cutscene.stage-release .sepia-overlay{opacity:0}.slash-arc{position:absolute;inset:0;width:100%;height:100%;opacity:0}.slash-stroke{stroke:#0a0608;stroke-width:14;stroke-linecap:round;fill:none;stroke-dasharray:2400;stroke-dashoffset:2400}.finisher-cutscene.stage-strike .slash-arc{opacity:1}.finisher-cutscene.stage-strike .slash-stroke{animation:slash-paint .25s cubic-bezier(.2,.8,.3,1) forwards}@keyframes slash-paint{to{stroke-dashoffset:0}}.finisher-cutscene.stage-explode .slash-arc,.finisher-cutscene.stage-release .slash-arc{opacity:0;transition:opacity .3s}.white-flash{position:absolute;inset:0;background:#fff;opacity:0}.finisher-cutscene.stage-strike .white-flash{animation:white-flash .25s ease-out}@keyframes white-flash{0%,to{opacity:0}20%{opacity:.85}}.game-screen{position:relative;width:100%;height:100%;overflow:hidden;background:#05060a;color:var(--ink)}.screen-vignette{position:absolute;inset:0;z-index:15;pointer-events:none;background:radial-gradient(ellipse at center,transparent 42%,rgba(0,0,0,.72) 100%),linear-gradient(to bottom,rgba(0,0,0,.35) 0%,transparent 18%,transparent 80%,rgba(0,0,0,.35) 100%)}.screen-flash{position:absolute;inset:0;z-index:16;pointer-events:none;background:radial-gradient(ellipse at 50% 55%,#ffffffe6,#ffe6b459 45%,#ff645000 75%);mix-blend-mode:screen;transition:opacity .1s linear}.slowmo-overlay{position:absolute;inset:0;z-index:14;pointer-events:none;background:radial-gradient(ellipse at center,transparent 28%,rgba(26,4,22,.55) 100%),linear-gradient(to bottom,rgba(0,0,0,.1),transparent 30%,transparent 70%,rgba(0,0,0,.2));opacity:0;transition:opacity .2s ease-out;mix-blend-mode:normal}.slowmo-overlay.active{opacity:1}.game-screen.is-slowmo .arena{filter:saturate(.55) contrast(1.12) blur(.4px);transition:filter .25s ease-out}.game-screen .arena{transition:filter .35s ease-out}.controls-hint{position:absolute;left:50%;bottom:120px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:4px;z-index:22;pointer-events:none;animation:hint-fade 5.2s ease-in-out forwards;text-align:center}.traversal-cue{position:absolute;left:50%;bottom:130px;transform:translate(-50%);display:flex;align-items:center;gap:14px;z-index:22;pointer-events:none;font-family:var(--font-display);font-size:14px;letter-spacing:.35em;text-transform:uppercase;color:#f4e6c8d9;text-shadow:0 2px 10px rgba(0,0,0,.95),0 0 14px rgba(0,0,0,.6);animation:traversal-pulse 1.6s ease-in-out infinite;user-select:none}.traversal-cue .cue-arrow{font-size:22px;color:var(--gold);filter:drop-shadow(0 0 8px rgba(244,200,120,.5));animation:cue-arrow 1.6s ease-in-out infinite}.traversal-cue .cue-arrow:first-child{animation-delay:.1s}.traversal-cue .cue-arrow:last-child{animation-delay:0s}@keyframes traversal-pulse{0%,to{opacity:.45}50%{opacity:.95}}@keyframes cue-arrow{0%,to{transform:translate(0);opacity:.65}50%{transform:translate(6px);opacity:1}}@media (max-width: 520px){.traversal-cue{bottom:150px;font-size:12px;letter-spacing:.25em}.traversal-cue .cue-arrow{font-size:18px}}.controls-hint .hint-line{font-family:var(--font-display);font-size:12px;letter-spacing:.18em;color:#f4e6c8d1;text-transform:uppercase;background:#0000008c;padding:6px 14px;border:1px solid rgba(244,200,120,.2);border-radius:2px;backdrop-filter:blur(4px);text-shadow:0 2px 8px rgba(0,0,0,.9)}.controls-hint kbd{display:inline-block;font-family:var(--font-mono, monospace);font-size:11px;padding:1px 6px;margin:0 2px;border:1px solid rgba(244,200,120,.35);border-radius:3px;background:#ffffff0d;color:var(--gold)}@keyframes hint-fade{0%{opacity:0;transform:translate(-50%,10px)}10%,80%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-6px)}}@media (max-width: 520px){.controls-hint{bottom:140px;width:calc(100% - 32px)}.controls-hint .hint-line{font-size:11px;letter-spacing:.14em}}.arena{position:absolute;top:calc(50% - var(--ui-bottom-reserve, 0px) / 2);left:0;transform-origin:0 50%;margin-top:-260px;will-change:transform}.arena-fighters{position:absolute;inset:0;z-index:8}.hit-flash{position:absolute;width:90px;height:90px;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:11;background:radial-gradient(circle,rgba(255,240,200,.8) 0%,rgba(244,120,90,.35) 40%,transparent 75%);animation:flash .22s ease-out forwards;mix-blend-mode:screen}.hit-flash.heavy{width:140px;height:140px}.hit-flash.ko{width:200px;height:200px;background:radial-gradient(circle,#fff,#ffc864cc 30%,#ff643c00 75%);animation:flash .5s ease-out forwards}@keyframes flash{0%{transform:translate(-50%,-50%) scale(.3);opacity:1}50%{opacity:1}to{transform:translate(-50%,-50%) scale(1.8);opacity:0}}.float-text{position:absolute;transform:translate(-50%,-50%);font-family:var(--font-display);font-weight:700;font-size:26px;letter-spacing:.1em;pointer-events:none;z-index:14;text-shadow:0 0 10px rgba(0,0,0,.9),0 2px 16px rgba(0,0,0,.95);animation:float-up .9s cubic-bezier(.2,.8,.3,1) forwards}.float-text.kind-ko{font-weight:900;animation:ko-pop 1.3s cubic-bezier(.2,.9,.3,1) forwards;text-shadow:0 0 28px rgba(255,200,100,1),0 4px 26px rgba(0,0,0,1)}.float-text.kind-finisher{font-weight:900;color:#ffb84a!important;animation:finisher-pop 1.1s cubic-bezier(.2,.9,.3,1) forwards;text-shadow:0 0 14px rgba(255,180,60,.95),0 0 36px rgba(255,120,40,.7),0 4px 20px rgba(0,0,0,1)}.float-text.kind-counter{font-weight:800;color:#ffe090!important;animation:crit-pop 1s cubic-bezier(.2,.9,.3,1) forwards;text-shadow:0 0 16px rgba(255,220,120,.95),0 0 34px rgba(255,180,60,.55),0 3px 18px rgba(0,0,0,1)}.float-text.kind-combo{font-weight:800;animation:combo-shake .95s cubic-bezier(.2,.9,.3,1) forwards;text-shadow:0 0 10px rgba(255,160,100,.85),0 2px 16px rgba(0,0,0,.95)}.float-text.kind-guard-break{font-weight:900;color:#ff8080!important;animation:guard-break-pop 1s cubic-bezier(.2,.9,.3,1) forwards;text-shadow:0 0 14px rgba(255,60,60,.8),0 0 28px rgba(255,40,60,.55),0 3px 16px rgba(0,0,0,1)}.float-text.kind-parry{font-weight:800;animation:parry-pop .9s cubic-bezier(.2,.9,.3,1) forwards;text-shadow:0 0 16px rgba(200,240,255,.95),0 0 32px rgba(140,200,255,.55),0 2px 16px rgba(0,0,0,.9)}.float-text.kind-block,.float-text.kind-miss{font-weight:600;opacity:.9}@keyframes float-up{0%{transform:translate(-50%,-50%) scale(.6);opacity:0}15%{transform:translate(-50%,-60%) scale(1.2);opacity:1}to{transform:translate(-50%,-120%) scale(1);opacity:0}}@keyframes ko-pop{0%{transform:translate(-50%,-50%) scale(.2);opacity:0;letter-spacing:.6em}20%{transform:translate(-50%,-70%) scale(1.4);opacity:1;letter-spacing:.2em}60%{transform:translate(-50%,-70%) scale(1);opacity:1}to{transform:translate(-50%,-100%) scale(1.1);opacity:0}}@keyframes finisher-pop{0%{transform:translate(-50%,-50%) scale(.3) rotate(-6deg);opacity:0}18%{transform:translate(-50%,-70%) scale(1.45) rotate(3deg);opacity:1}40%{transform:translate(-50%,-72%) scale(1) rotate(-1deg);opacity:1}to{transform:translate(-50%,-110%) scale(1.05);opacity:0}}@keyframes crit-pop{0%{transform:translate(-50%,-50%) scale(.4);opacity:0}18%{transform:translate(-50%,-68%) scale(1.35);opacity:1}45%{transform:translate(-50%,-70%) scale(1);opacity:1}to{transform:translate(-50%,-105%) scale(1);opacity:0}}@keyframes combo-shake{0%{transform:translate(-50%,-50%) scale(.6) rotate(-4deg);opacity:0}12%{transform:translate(-52%,-62%) scale(1.22) rotate(3deg);opacity:1}24%{transform:translate(-48%,-62%) scale(1.1) rotate(-2deg);opacity:1}to{transform:translate(-50%,-105%) scale(1);opacity:0}}@keyframes guard-break-pop{0%{transform:translate(-50%,-50%) scale(.3);opacity:0}14%{transform:translate(-50%,-68%) scale(1.5);opacity:1;letter-spacing:.32em}40%{transform:translate(-50%,-72%) scale(1.05);opacity:1}to{transform:translate(-50%,-105%) scale(1.05);opacity:0}}@keyframes parry-pop{0%{transform:translate(-50%,-50%) scale(.6);opacity:0;filter:brightness(2.2)}20%{transform:translate(-50%,-70%) scale(1.3);opacity:1;filter:brightness(1.4)}to{transform:translate(-50%,-110%) scale(1);opacity:0;filter:brightness(1)}}.phase-banner{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:40;pointer-events:none;padding:20px}.phase-banner.phase-game-over,.phase-banner.phase-victory{pointer-events:auto;background:radial-gradient(ellipse at center,#0a060c66,#020206eb);backdrop-filter:blur(4px)}.banner-kanji{font-size:140px;font-family:serif;line-height:1;color:#f4785a2e;text-shadow:0 0 60px rgba(244,120,90,.4);animation:kanji-drop .6s ease-out;margin-bottom:-20px}@keyframes kanji-drop{0%{transform:translateY(-20px) scale(.8);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.banner-sub{font-family:var(--font-display);font-size:11px;letter-spacing:.5em;color:#dcd2b4b3;text-transform:uppercase;margin-top:6px;animation:banner-fade .5s ease-out .1s both}.banner-main{font-family:var(--font-display);font-size:clamp(28px,5vw,52px);font-weight:700;color:var(--gold);letter-spacing:.12em;text-align:center;margin-top:4px;text-shadow:0 4px 24px rgba(0,0,0,.85);animation:banner-fade .6s ease-out .2s both}.banner-hint{font-size:11px;letter-spacing:.4em;color:#ffffff8c;text-transform:uppercase;margin-top:18px;animation:banner-fade .6s ease-out .4s both}@keyframes banner-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.end-card{pointer-events:auto;display:flex;flex-direction:column;align-items:center;gap:12px;padding:22px 40px 30px;border:1px solid rgba(244,200,120,.35);background:linear-gradient(to bottom,#180e16e6,#06030af5);backdrop-filter:blur(12px);position:relative;box-shadow:0 30px 80px #000c;animation:end-card-in .6s cubic-bezier(.2,.8,.3,1) .25s both;max-width:92vw;z-index:3}.phase-banner.phase-game-over:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 30%,rgba(10,0,6,.88) 95%);animation:go-darken 1.2s ease-out both;pointer-events:none}@keyframes go-darken{0%{opacity:0}to{opacity:1}}.phase-banner.phase-victory:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(244,200,120,.28) 0%,transparent 55%);animation:victory-aura 3s ease-in-out infinite;pointer-events:none}@keyframes victory-aura{0%,to{opacity:.6}50%{opacity:1}}.victory-petals{position:absolute;inset:0;overflow:hidden;pointer-events:none}.victory-petal{position:absolute;bottom:-10px;width:4px;height:10px;background:linear-gradient(to bottom,#fff6df,#e6a050);border-radius:2px 2px 0 0;box-shadow:0 0 8px #f4c87899;animation:petal-rise 8s linear infinite;mix-blend-mode:screen}@keyframes petal-rise{0%{transform:translate(0) rotate(0);opacity:0}10%{opacity:1}80%{opacity:.8}to{transform:translate(-40px,-100vh) rotate(160deg);opacity:0}}.end-card:before,.end-card:after{content:"";position:absolute;width:14px;height:14px;border:1px solid var(--gold)}.end-card:before{top:-1px;left:-1px;border-right:0;border-bottom:0}.end-card:after{bottom:-1px;right:-1px;border-left:0;border-top:0}@keyframes end-card-in{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.end-card.victory{border-color:#f4c878b3;box-shadow:0 0 120px #f4c87840,0 30px 80px #000c}.end-kanji{font-size:120px;font-family:serif;line-height:1;color:#f4785a4d;text-shadow:0 0 40px rgba(244,120,90,.4)}.end-card.victory .end-kanji{color:#f4c87866;text-shadow:0 0 60px rgba(244,200,120,.6)}.end-title{font-family:var(--font-display);font-size:28px;font-weight:700;color:var(--ink);letter-spacing:.08em;text-align:center}.end-sub{font-size:14px;color:#dcd2b4b3;text-align:center;line-height:1.6}.end-btn{margin-top:14px;padding:13px 32px;background:linear-gradient(to bottom,#2a1420,#120810);color:var(--gold);border:1px solid rgba(244,200,120,.55);font-family:var(--font-display);letter-spacing:.32em;text-transform:uppercase;font-size:12px;font-weight:600;cursor:pointer;transition:transform .15s cubic-bezier(.2,.8,.3,1),box-shadow .2s,border-color .2s;position:relative}.end-btn:before,.end-btn:after{content:"";position:absolute;width:8px;height:8px;border:1px solid rgba(244,200,120,.9);pointer-events:none}.end-btn:before{top:3px;left:3px;border-right:0;border-bottom:0}.end-btn:after{bottom:3px;right:3px;border-left:0;border-top:0}.end-btn:hover{background:linear-gradient(to bottom,#3a1c2a,#1a0c14);box-shadow:0 0 30px #f4c87859;border-color:#ffdc8cf2;transform:translateY(-2px)}.end-btn:active{transform:translateY(0)}@media (max-width: 720px){.banner-kanji{font-size:100px}.banner-main{font-size:30px}}.story-screen{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 45%,#1a0d1a,#03020a 80%);display:flex;align-items:center;justify-content:center;padding:24px;cursor:pointer;z-index:40;overflow:hidden;user-select:none}.story-screen.story-outro{background:radial-gradient(ellipse at 50% 45%,#1e1a0e,#05030a 80%)}.story-bg{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle at 20% 80%,rgba(244,120,90,.08),transparent 40%),radial-gradient(circle at 80% 20%,rgba(110,70,150,.1),transparent 40%)}.story-outro .story-bg{background-image:radial-gradient(circle at 50% 60%,rgba(244,200,120,.1),transparent 50%),radial-gradient(circle at 20% 20%,rgba(200,130,80,.08),transparent 40%)}.story-kanji{position:absolute;top:50%;left:50%;transform:translate(-50%,-60%);font-family:serif;font-size:clamp(200px,44vw,400px);line-height:1;color:#f4785a12;pointer-events:none;text-shadow:0 0 120px rgba(244,120,90,.25)}.story-outro .story-kanji{color:#f4c87817;text-shadow:0 0 120px rgba(244,200,120,.3)}.story-content{position:relative;z-index:2;text-align:center;max-width:620px}.story-subtitle{font-family:var(--font-display);font-size:11px;letter-spacing:.5em;color:#dcc8aaa6;text-transform:uppercase;margin-bottom:8px;animation:story-fade-in .5s ease-out}.story-title{font-family:var(--font-display);font-size:clamp(30px,5.5vw,52px);font-weight:700;color:var(--gold);letter-spacing:.08em;margin:0 0 30px;text-shadow:0 4px 24px rgba(0,0,0,.85);animation:story-fade-in .6s ease-out .1s both}.story-lines{display:flex;flex-direction:column;gap:16px;margin-bottom:32px}.story-line{margin:0;font-family:var(--font-display);font-size:clamp(15px,2.6vw,20px);letter-spacing:.1em;color:#f4e6c8eb;transition:opacity .9s ease-out,transform .9s ease-out;text-shadow:0 2px 14px rgba(0,0,0,.8)}.story-continue{background:linear-gradient(to bottom,#1a0e16e6,#08050bf2);color:var(--gold);border:1px solid rgba(244,200,120,.5);padding:13px 30px;font-family:var(--font-display);letter-spacing:.32em;text-transform:uppercase;font-size:12px;cursor:pointer;display:inline-flex;gap:14px;align-items:center;transition:all .15s;animation:story-fade-in .6s ease-out;position:relative}.story-continue:before,.story-continue:after{content:"";position:absolute;width:8px;height:8px;border:1px solid rgba(244,200,120,.8)}.story-continue:before{top:3px;left:3px;border-right:0;border-bottom:0}.story-continue:after{bottom:3px;right:3px;border-left:0;border-top:0}.story-continue:hover{box-shadow:0 0 28px #f4c87859;transform:translateY(-2px);border-color:#ffdc8ce6}.story-continue .arrow{transition:transform .2s}.story-continue:hover .arrow{transform:translate(4px)}@keyframes story-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.story-skip{position:absolute;bottom:20px;left:50%;transform:translate(-50%);font-size:10px;letter-spacing:.4em;color:#dcd2be59;text-transform:uppercase;pointer-events:none;min-height:12px}.skill-menu-backdrop{position:fixed;inset:0;z-index:100;background:radial-gradient(ellipse at center,#0a060c66,#020206eb);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto;animation:skill-fade .2s ease-out}@keyframes skill-fade{0%{opacity:0}to{opacity:1}}.skill-menu{width:min(680px,100%);max-height:92vh;overflow-y:auto;background:linear-gradient(to bottom,#1a1018f7,#08050bfa);border:1px solid rgba(244,200,120,.45);color:var(--ink);padding:22px 24px 20px;position:relative;box-shadow:0 40px 100px #000000d9;animation:skill-slide .3s cubic-bezier(.2,.8,.3,1)}@keyframes skill-slide{0%{transform:translateY(24px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.skill-menu:before,.skill-menu:after{content:"";position:absolute;width:14px;height:14px;border:1px solid var(--gold)}.skill-menu:before{top:-1px;left:-1px;border-right:0;border-bottom:0}.skill-menu:after{bottom:-1px;right:-1px;border-left:0;border-top:0}.skill-menu-header{display:grid;grid-template-columns:60px 1fr auto;gap:14px;align-items:center;margin-bottom:18px;padding-bottom:14px;border-bottom:1px dashed rgba(244,200,120,.18)}.skill-menu-kanji{font-family:serif;font-size:56px;color:#f4c87880;text-shadow:0 0 30px rgba(244,200,120,.2);line-height:.8}.skill-menu-subtitle{font-family:var(--font-display);font-size:10px;letter-spacing:.4em;color:#dcc8aaa6;text-transform:uppercase}.skill-menu-title{font-family:var(--font-display);font-size:26px;font-weight:700;color:var(--gold);letter-spacing:.14em;margin:0}.skill-menu-budget{text-align:center;border:1px solid rgba(244,200,120,.4);padding:6px 18px;background:#08040ab3}.budget-label{font-size:9px;letter-spacing:.35em;color:#dcc8aaa6;text-transform:uppercase}.budget-value{font-family:var(--font-display);font-size:28px;color:var(--gold);line-height:1}.skill-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.skill-row{display:grid;grid-template-columns:50px 1fr auto;align-items:center;gap:14px;padding:10px 14px;border:1px solid rgba(255,255,255,.06);background:linear-gradient(to right,#0a050eb3,#160e1666);transition:border-color .15s,background .2s}.skill-row:hover{border-color:#f4c8784d;background:linear-gradient(to right,#100812d9,#1e121c80)}.skill-row.maxed{border-color:#f4c87873;background:linear-gradient(to right,#1e140ed9,#281a0e80)}.skill-icon-wrap{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#0006;border:1px solid rgba(244,200,120,.25);box-shadow:inset 0 0 10px #0009}.skill-row-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.skill-name{font-family:var(--font-display);font-size:15px;color:var(--ink);letter-spacing:.1em}.skill-bonus{font-size:11px;color:var(--gold);letter-spacing:.15em}.skill-desc{font-size:12px;color:#dcd2beb3;margin:3px 0 6px;line-height:1.45}.skill-pips{display:flex;gap:5px}.pip{width:14px;height:6px;background:#ffffff14;border:1px solid rgba(255,255,255,.15)}.pip.filled{background:var(--gold);border-color:var(--gold);box-shadow:0 0 8px #f4c87880}.pip.saved{box-shadow:0 0 8px #f4c87880,inset 0 0 0 1px #fff6}.skill-add{background:linear-gradient(to bottom,#2a1420e6,#120a12f2);border:1px solid rgba(244,200,120,.5);color:var(--gold);font-family:var(--font-display);padding:10px 16px;font-size:13px;letter-spacing:.2em;cursor:pointer;transition:all .15s;min-width:56px}.skill-add:hover:not(:disabled){background:linear-gradient(to bottom,#3c1c2cf2,#1c0e16);box-shadow:0 0 16px #f4c8784d;transform:translateY(-1px)}.skill-add:disabled{opacity:.3;cursor:not-allowed}.skill-menu-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;padding-top:16px;border-top:1px dashed rgba(244,200,120,.18)}.skill-btn{font-family:var(--font-display);font-size:11px;letter-spacing:.3em;text-transform:uppercase;padding:10px 22px;cursor:pointer;transition:all .15s;border:1px solid rgba(244,200,120,.4);background:linear-gradient(to bottom,#160e16e6,#06040af2);color:var(--ink)}.skill-btn.primary{color:var(--gold);border-color:#f4c878b3;box-shadow:0 0 20px #f4c8782e}.skill-btn.primary:hover:not(:disabled){box-shadow:0 0 28px #f4c87859;transform:translateY(-1px)}.skill-btn.secondary{color:#dcd2bed9}.skill-btn.ghost{background:transparent;border-color:#ffffff2e}.skill-btn:disabled{opacity:.35;cursor:not-allowed}@media (max-width: 540px){.skill-menu{padding:16px 14px}.skill-menu-header{grid-template-columns:44px 1fr auto;gap:10px}.skill-menu-kanji{font-size:40px}.skill-menu-title{font-size:20px}.skill-row{grid-template-columns:40px 1fr auto;padding:8px 10px;gap:10px}.skill-icon-wrap{width:36px;height:36px}.skill-name{font-size:13px}.skill-bonus{font-size:10px}.skill-desc{font-size:11px}}.chapter-outro{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 45%,#1a130a,#05030a 80%);display:flex;align-items:center;justify-content:center;padding:24px;z-index:40;overflow:hidden}.outro-bg{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle at 50% 60%,rgba(244,200,120,.14),transparent 50%),radial-gradient(circle at 20% 20%,rgba(200,130,80,.08),transparent 40%)}.outro-kanji{position:absolute;top:50%;left:50%;transform:translate(-50%,-55%);font-family:serif;font-size:clamp(200px,42vw,380px);line-height:1;color:#f4c87814;pointer-events:none;text-shadow:0 0 120px rgba(244,200,120,.3)}.outro-content{position:relative;z-index:2;text-align:center;max-width:560px;width:100%}.outro-subtitle{font-family:var(--font-display);font-size:11px;letter-spacing:.5em;color:#dcc8aaa6;text-transform:uppercase;animation:outro-fade .6s ease-out}.outro-title{font-family:var(--font-display);font-size:clamp(28px,5vw,48px);font-weight:700;color:var(--gold);letter-spacing:.1em;margin:6px 0 24px;text-shadow:0 4px 24px rgba(0,0,0,.85);animation:outro-fade .7s ease-out .1s both}.reward-line{display:inline-flex;gap:14px;align-items:center;background:#0a060cb3;border:1px solid rgba(244,200,120,.45);padding:14px 22px;margin-bottom:20px;position:relative;animation:reward-drop .7s cubic-bezier(.2,.8,.3,1) .3s both}.reward-line:before,.reward-line:after{content:"";position:absolute;width:8px;height:8px;border:1px solid var(--gold)}.reward-line:before{top:-1px;left:-1px;border-right:0;border-bottom:0}.reward-line:after{bottom:-1px;right:-1px;border-left:0;border-top:0}.reward-dot{width:18px;height:18px;background:radial-gradient(circle,#fff6dc,#c48040);border-radius:50%;box-shadow:0 0 22px #f4c878e6;animation:reward-glow 2s ease-in-out infinite}@keyframes reward-glow{0%,to{box-shadow:0 0 22px #f4c87899}50%{box-shadow:0 0 34px #f4c878}}.reward-text{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.reward-label{font-size:10px;letter-spacing:.35em;color:#dcc8aab3;text-transform:uppercase}.reward-value{font-family:var(--font-display);font-size:22px;color:var(--gold);letter-spacing:.12em;line-height:1}@keyframes reward-drop{0%{opacity:0;transform:translateY(-12px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.achievement-list{display:flex;flex-direction:column;gap:8px;margin-bottom:22px;width:100%;max-width:440px;margin-left:auto;margin-right:auto}.achievement-heading{font-family:var(--font-display);font-size:10px;letter-spacing:.4em;color:#f4c878b3;text-transform:uppercase;margin-bottom:2px}.achievement-row{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:center;padding:10px 14px;background:linear-gradient(to right,#140a12d9,#0a050b99);border:1px solid rgba(244,200,120,.3);text-align:left;animation:ach-slide .5s cubic-bezier(.2,.8,.3,1) both}.achievement-row:nth-child(2){animation-delay:.05s}.achievement-row:nth-child(3){animation-delay:.1s}.achievement-row:nth-child(4){animation-delay:.15s}@keyframes ach-slide{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.achievement-seal{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:linear-gradient(to bottom,#3c1e14cc,#1e0e0af2);border:1px solid rgba(244,200,120,.5);font-family:serif;font-size:20px;color:var(--gold);text-shadow:0 0 10px rgba(244,200,120,.6)}.achievement-title{font-family:var(--font-display);font-size:13px;color:var(--ink);letter-spacing:.1em}.achievement-desc{font-size:11px;color:#dcd2bea6;margin-top:2px}.outro-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:8px}.outro-btn{font-family:var(--font-display);font-size:12px;letter-spacing:.3em;text-transform:uppercase;padding:13px 28px;border:1px solid rgba(244,200,120,.5);background:linear-gradient(to bottom,#160e16eb,#06040afa);color:var(--gold);cursor:pointer;display:inline-flex;align-items:center;gap:12px;transition:all .15s;position:relative;animation:outro-fade .5s ease-out}.outro-btn:before,.outro-btn:after{content:"";position:absolute;width:8px;height:8px;border:1px solid rgba(244,200,120,.85)}.outro-btn:before{top:3px;left:3px;border-right:0;border-bottom:0}.outro-btn:after{bottom:3px;right:3px;border-left:0;border-top:0}.outro-btn.primary{box-shadow:0 0 22px #f4c87833}.outro-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 0 28px #f4c87859;border-color:#ffdc8ce6}.outro-btn.ghost{background:transparent;color:#dcd2becc;border-color:#ffffff40}.outro-btn.ghost:before,.outro-btn.ghost:after{border-color:#fff6}.outro-btn:disabled{opacity:.35;cursor:not-allowed}.outro-btn .arrow{transition:transform .2s}.outro-btn:hover .arrow{transform:translate(4px)}.outro-lines{display:flex;flex-direction:column;gap:14px;margin-bottom:28px}.outro-line{margin:0;font-family:var(--font-display);font-size:clamp(15px,2.4vw,19px);letter-spacing:.08em;color:#f4e6c8e6;text-shadow:0 2px 14px rgba(0,0,0,.8);opacity:0;animation:outro-fade .8s ease-out forwards}@keyframes outro-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.outro-share{display:inline-flex;align-items:center;gap:10px;margin-top:22px;padding:9px 18px;background:transparent;border:1px solid rgba(244,200,120,.35);color:#f4e6c8c7;font-family:var(--font-display);font-size:12px;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;transition:color .2s,border-color .2s,background .2s;border-radius:1px}.outro-share:hover:not(:disabled){color:#f8ecd3;border-color:#f4c878bf;background:#f4c87814}.outro-share:disabled{opacity:.55;cursor:wait}.outro-share-icon{font-size:16px;color:#f4c878bf;transform:rotate(90deg);display:inline-block}.chapter-select-backdrop{position:fixed;inset:0;z-index:100;background:radial-gradient(ellipse at center,#0a060c66,#020206eb);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px;animation:skill-fade .2s ease-out}.chapter-select{width:min(820px,100%);max-height:92vh;overflow-y:auto;background:linear-gradient(to bottom,#1a1018f7,#08050bfa);border:1px solid rgba(244,200,120,.45);color:var(--ink);padding:22px 24px 24px;position:relative;box-shadow:0 40px 100px #000000d9;animation:skill-slide .3s cubic-bezier(.2,.8,.3,1)}.chapter-select:before,.chapter-select:after{content:"";position:absolute;width:14px;height:14px;border:1px solid var(--gold)}.chapter-select:before{top:-1px;left:-1px;border-right:0;border-bottom:0}.chapter-select:after{bottom:-1px;right:-1px;border-left:0;border-top:0}.chapter-select-header{display:grid;grid-template-columns:56px 1fr auto;gap:14px;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px dashed rgba(244,200,120,.18)}.chapter-select-kanji{font-family:serif;font-size:54px;color:#f4c87873;line-height:.85}.chapter-select-subtitle{font-family:var(--font-display);font-size:10px;letter-spacing:.4em;color:#dcc8aaa6;text-transform:uppercase}.chapter-select-title{font-family:var(--font-display);font-size:26px;font-weight:700;color:var(--gold);letter-spacing:.14em;margin:0}.chapter-close{background:transparent;border:1px solid rgba(255,255,255,.2);color:var(--ink);width:34px;height:34px;cursor:pointer;transition:border-color .15s;font-size:16px}.chapter-close:hover{border-color:var(--gold)}.chapter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.chapter-card{position:relative;text-align:left;padding:16px 18px 18px;border:1px solid rgba(244,200,120,.3);background:linear-gradient(to bottom,#1c1018d9,#0a050bf2);color:var(--ink);font-family:inherit;cursor:pointer;transition:transform .15s,border-color .15s,box-shadow .2s;overflow:hidden}.chapter-card:hover:not(:disabled){transform:translateY(-2px);border-color:#ffdc8ce6;box-shadow:0 10px 28px #f4785a40}.chapter-card.locked{opacity:.45;cursor:not-allowed;filter:grayscale(60%)}.chapter-card.done{border-color:#f4c87899;background:linear-gradient(to bottom,#24161ce6,#0e080efa)}.chapter-card.boss{border-color:#c8465a99;background:linear-gradient(to bottom,#34121ce6,#12060afa)}.chapter-card-number{font-family:var(--font-display);font-size:10px;letter-spacing:.4em;color:#f4c878a6;text-transform:uppercase;margin-bottom:6px}.chapter-card.boss .chapter-card-number{color:#e66e78d9}.chapter-card-title{font-family:var(--font-display);font-size:20px;color:var(--ink);letter-spacing:.06em;margin-bottom:2px}.chapter-card-sub{font-size:12px;color:#dcd2bea6;line-height:1.4;margin-bottom:10px}.chapter-card-meta{font-size:10px;letter-spacing:.32em;color:#dcc8aa80;text-transform:uppercase}.chapter-card-seal{position:absolute;top:14px;right:14px;font-family:serif;font-size:36px;color:#f4c87847;text-shadow:0 0 14px rgba(244,200,120,.25)}@media (max-width: 540px){.chapter-select{padding:16px 14px}.chapter-grid{grid-template-columns:1fr}.chapter-select-kanji{font-size:40px}.chapter-select-title{font-size:20px}}.toast-stack{position:fixed;top:80px;right:18px;z-index:110;display:flex;flex-direction:column;gap:10px;pointer-events:none;max-width:330px}.achievement-toast{display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:center;padding:12px 16px;background:linear-gradient(to right,#1c1014f2,#0e080eeb);border:1px solid rgba(244,200,120,.55);color:var(--ink);font-family:var(--font-body);box-shadow:0 10px 30px #000000b3,0 0 28px #f4c8782e;position:relative;animation:toast-slide 4.2s cubic-bezier(.2,.9,.3,1) forwards;backdrop-filter:blur(8px)}.achievement-toast:before,.achievement-toast:after{content:"";position:absolute;width:10px;height:10px;border:1px solid var(--gold)}.achievement-toast:before{top:-1px;left:-1px;border-right:0;border-bottom:0}.achievement-toast:after{bottom:-1px;right:-1px;border-left:0;border-top:0}@keyframes toast-slide{0%{transform:translate(120%);opacity:0}10%{transform:translate(0);opacity:1}85%{transform:translate(0);opacity:1}to{transform:translate(120%);opacity:0}}.toast-kanji{width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:linear-gradient(to bottom,#3c1e14d9,#1e0e0af2);border:1px solid rgba(244,200,120,.55);font-family:serif;font-size:22px;color:var(--gold);text-shadow:0 0 12px rgba(244,200,120,.65)}.toast-label{font-family:var(--font-display);font-size:9px;letter-spacing:.36em;color:#f4c878bf;text-transform:uppercase}.toast-title{font-family:var(--font-display);font-size:14px;color:var(--ink);letter-spacing:.1em;margin-top:2px}.toast-desc{font-size:11px;color:#dcd2beb3;line-height:1.4;margin-top:3px}@media (max-width: 520px){.toast-stack{inset:auto 12px 200px;max-width:none}}.audio-btn{position:fixed;top:calc(var(--sat, 0px) + 14px);right:calc(var(--sar, 0px) + 14px);z-index:80;width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(to bottom,#160e16cc,#06040ae0);color:#f5ebd7eb;border:1px solid rgba(244,200,120,.35);border-radius:50%;cursor:pointer;transition:transform .12s cubic-bezier(.2,.8,.3,1),border-color .2s,color .2s,box-shadow .2s;box-shadow:0 4px 14px #00000080,inset 0 1px #ffffff14;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);user-select:none;-webkit-tap-highlight-color:transparent}.audio-btn:hover{transform:scale(1.06);border-color:#ffdc8ccc;color:var(--gold);box-shadow:0 6px 22px #f4c87840,inset 0 1px #ffffff1f}.audio-btn:active{transform:scale(.94)}.audio-btn.muted{color:#ff968ce6;border-color:#ff787866}.audio-btn.muted:hover{color:#ffaaa0;border-color:#ff9696cc}.audio-btn.menu{top:calc(var(--sat, 0px) + 18px);right:calc(var(--sar, 0px) + 18px);background:#06040a66;border-color:#ffffff2e}.orientation-gate{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 30%,rgba(208,110,90,.22),transparent 60%),linear-gradient(to bottom,#06030a,#1b0a20,#06020a);color:var(--ink, #f3ecd6);padding:calc(var(--sat, 0px) + 24px) 24px calc(var(--sab, 0px) + 24px);-webkit-user-select:none;user-select:none;animation:og-fade .35s ease-out}@keyframes og-fade{0%{opacity:0}to{opacity:1}}.og-card{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.og-phone{color:#f4c878d9;filter:drop-shadow(0 0 18px rgba(244,200,120,.4));animation:og-rotate 1.8s cubic-bezier(.5,0,.4,1) infinite;transform-origin:center}@keyframes og-rotate{0%,12%{transform:rotate(0)}40%,88%{transform:rotate(-90deg)}to{transform:rotate(0)}}.og-kanji{font-family:serif;font-size:72px;line-height:1;margin-top:6px;background:linear-gradient(to bottom,#fff6df,#f0c46a 60%,#8a5a28);-webkit-background-clip:text;background-clip:text;color:transparent}.og-title{font-family:var(--font-display, serif);font-size:22px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold, #f0c46a)}.og-sub{font-size:14px;letter-spacing:.18em;color:#f4e6c8d9;margin-top:2px}.og-hint{font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:#ffffff73;margin-top:10px}@media (prefers-reduced-motion: reduce){.og-phone{animation:none;transform:rotate(-90deg)}}.app-shell{position:fixed;inset:0;overflow:hidden;background:#020203;color:var(--ink);display:flex;align-items:stretch;justify-content:center}.app-shell>:first-child{animation:phase-enter .32s cubic-bezier(.2,.8,.3,1)}@keyframes phase-enter{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.app-shell>:first-child{animation:none}}:root{--ink: #f3ecd6;--gold: #f0c46a;--accent: #d8493a;--bg: #05060a;--font-display: "Noto Serif Display", "Playfair Display", Georgia, "Times New Roman", serif;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", Menlo, Consolas, monospace;--sat: env(safe-area-inset-top, 0px);--sar: env(safe-area-inset-right, 0px);--sab: env(safe-area-inset-bottom, 0px);--sal: env(safe-area-inset-left, 0px);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}body{position:fixed;inset:0;width:100%;height:100%}button{font-family:inherit;color:inherit;background:none;border:0;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation}img,svg{display:block;-webkit-touch-callout:none;pointer-events:none}[aria-hidden=true]{-webkit-user-drag:none}button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.05s!important}}@media (display-mode: standalone){html,body{overscroll-behavior:none}}
