*{margin:0;padding:0;box-sizing:border-box}:root{--crimson: #c9182f;--crimson-glow: #ff2742;--gold: #c8a24a;--gold-dim: #8a7136;--bone: #e8ddd0}html,body{height:100%;overflow:hidden;background:#050203;touch-action:none;-webkit-user-select:none;user-select:none;font-family:Nanum Myeongjo,"Noto Serif KR",AppleMyungjo,serif;color:var(--bone);overscroll-behavior:none}#game{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.hidden{display:none!important}#ctl-hint{position:fixed;left:50%;bottom:21vh;transform:translate(-50%);z-index:40;pointer-events:none;white-space:nowrap;font-size:clamp(.68rem,2.2vh,.92rem);letter-spacing:.14em;text-indent:.14em;color:#ecdcc2;background:#08030594;border:1px solid rgba(190,140,90,.4);padding:.55em 1.3em;text-shadow:0 1px 6px #000;animation:hint-in .45s ease backwards}@keyframes hint-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#05020359 30%,#050203e0)}.title-block{text-align:center;padding:0 5vw}.title-block h1{font-size:clamp(3rem,10vh,6rem);font-weight:700;letter-spacing:.18em;color:#f2e6d8;text-shadow:0 0 40px rgba(201,24,47,.8),0 4px 24px #000}.title-block h1 .hanja{font-size:.32em;vertical-align:super;color:var(--crimson-glow);margin-left:.4em;letter-spacing:.3em}.title-block h2{font-weight:400;letter-spacing:.5em;text-indent:.5em;font-size:clamp(.8rem,2.4vh,1rem);color:var(--gold);margin:1rem 0 2.4rem}.title-block p{opacity:.75;margin-top:1.6rem;letter-spacing:.1em;font-size:.85rem}.title-block .hint{opacity:.45;font-size:.72rem}.title-block .privacy-link{display:inline-block;margin-top:.9rem;font-size:.62rem;letter-spacing:.08em;color:inherit;opacity:.28;text-decoration:none}.title-block .privacy-link:hover{opacity:.6;text-decoration:underline}.btn{font-family:inherit;font-size:1rem;letter-spacing:.35em;text-indent:.35em;color:var(--bone);background:linear-gradient(180deg,#1e1012f2,#0e0709f2);border:1px solid var(--gold);padding:.9em 2.4em;cursor:pointer;transition:all .25s ease}.btn:active,.btn:hover{color:#fff;box-shadow:0 0 24px #c9182f73}#look-reveal.strip-mode img{width:min(92vw,1400px);height:auto;max-height:60vh;object-fit:contain}#look-reveal.s-grade img{animation:s-reveal 3.8s ease-out forwards;box-shadow:0 0 60px #e23a4e80,0 0 120px #c9182f40}@keyframes s-reveal{0%{transform:scale(.94);filter:brightness(1.6) saturate(.6)}12%{transform:scale(1);filter:none}to{transform:scale(1.05)}}.reveal-motto{display:block;margin-top:.4em;font-size:1.02rem;font-style:italic;color:#decebee6;letter-spacing:.1em;text-align:center;text-shadow:0 0 16px rgba(201,24,47,.45)}.char-col{display:flex;flex-direction:column;align-items:center}.char-wardrobe{display:flex;flex-wrap:wrap;gap:.3em;margin-top:.5em;justify-content:center;width:0;min-width:100%}.char-wardrobe i{font-style:normal;font-size:.72rem;letter-spacing:.04em;cursor:pointer;padding:.15em .55em;border:1px solid rgba(190,140,90,.3);border-radius:2px;color:#c8b9aab3;background:#08030580}.char-wardrobe i.on{color:#f0dcc4;border-color:var(--accent, #e23a4e);box-shadow:0 0 8px #e23a4e59}.char-wardrobe .wl{display:inline-block;margin-right:.5em;font-weight:400;font-size:.66rem;letter-spacing:.1em;opacity:.45;border:none}.cutin-line{margin-top:.35em;font-size:.95rem;color:#dccdbed9;letter-spacing:.12em;font-style:italic;text-shadow:0 0 14px rgba(201,24,47,.5)}.up-card{position:relative}.up-num{position:absolute;top:6px;left:8px;z-index:2;font-size:.85rem;color:#e6cdaabf;letter-spacing:.05em;border:1px solid rgba(190,140,90,.4);padding:0 .45em;border-radius:2px;background:#08030599}#ui-codex{z-index:35;background:#040203f0;overflow-y:auto}.codex-frame{width:min(1180px,94vw);margin:3vh auto}.codex-head{display:flex;align-items:center;gap:1.2rem;margin-bottom:1.2rem}.codex-head h2{font-size:2rem;letter-spacing:.3em;color:#e8d9c8;text-shadow:0 0 24px rgba(201,24,47,.6)}.codex-tabs{display:flex;gap:.5rem;flex:1}.codex-tabs button{font-size:.95rem;letter-spacing:.1em;padding:.3em 1em;cursor:pointer;background:#0a0406cc;border:1px solid rgba(190,140,90,.3);color:#d2c3b4bf}.codex-tabs button.on{color:#f0dcc4;border-color:var(--accent, #e23a4e);box-shadow:0 0 10px #e23a4e4d}.codex-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.7rem}.codex-cell{position:relative;cursor:pointer;border:1px solid rgba(190,140,90,.25);background:#0a0405;aspect-ratio:7/10;overflow:hidden}.codex-cell img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.codex-cell:hover img{transform:scale(1.05)}.codex-cell.locked img{filter:brightness(.07) saturate(.3)}.codex-cell.locked:after{content:"?";position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#dcc8b459;font-size:2rem}.codex-cell .cdx-label{position:absolute;left:0;right:0;bottom:0;padding:.3em .5em;font-size:.78rem;letter-spacing:.08em;color:#e2d2c2;background:linear-gradient(transparent,#040203e6)}#codex-detail{position:fixed;top:0;right:0;bottom:0;left:0;z-index:36;background:#030102f5;display:flex;flex-direction:column;align-items:center;gap:.8rem;padding:2.5vh 2vw;overflow-y:auto;cursor:pointer}#codex-detail .cdx-art{max-height:66vh;max-width:92vw;box-shadow:0 0 60px #c9182f59}#codex-detail .cdx-name{font-size:1.3rem;letter-spacing:.2em;color:#ffb9c4}#codex-detail .cdx-motto{display:block;margin-top:.35em;font-style:italic;color:#decebee6;letter-spacing:.1em}.cdx-caption{text-align:center}.cdx-extras{display:flex;flex-direction:column;gap:.7rem;align-items:center}.cdx-extras .cdx-strip{max-width:min(92vw,1100px)}.cdx-extras .cdx-macro{max-width:min(60vw,480px)}#ui-pause{z-index:40;background:#050203d1}.pause-menu{display:flex;flex-direction:column;gap:.7rem;align-items:stretch;min-width:min(420px,84vw);padding:2rem 2.4rem;border:1px solid rgba(190,140,90,.35);background:#0a0406e6}.pause-menu h2{text-align:center;font-size:1.5rem;letter-spacing:.14em;margin-bottom:.6rem;color:#e8d9c8}.pause-row{display:flex;align-items:center;gap:1rem}.pause-row label{flex:0 0 6.2em;color:#c9b8a6;font-size:.95rem;letter-spacing:.06em}.pause-row input[type=range]{flex:1;accent-color:#e23a4e}.pause-menu .btn{margin-top:.2rem}#ui-end .end-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-position:center;background-size:cover;background-repeat:no-repeat;opacity:0;transition:opacity 1.2s ease}#ui-end .end-bg.show{opacity:1;animation:end-breathe 16s ease-in-out infinite alternate}@keyframes end-breathe{0%{transform:scale(1) translateY(0)}to{transform:scale(1.06) translateY(-.8%)}}@media (prefers-reduced-motion: reduce){#ui-end .end-bg.show{animation:none}}#ui-end .title-block{position:relative;z-index:1}#ui-end #end-desc{margin-bottom:.4rem}#ui-end .btn{margin-top:2.4rem}#ui-end #end-home{margin-left:12px;font-size:.78rem;padding:.8em 1.6em;opacity:.7;border-color:var(--gold-dim)}.rotate-msg{font-size:1.1rem;letter-spacing:.2em}#ui-loading{background:linear-gradient(180deg,#05020333 40%,#050203b8),url(/ui/title.jpg) center / cover no-repeat #050203}#ui-title{background:#050203;overflow:hidden}#ui-title .title-bg{position:absolute;top:-3%;right:-3%;bottom:-3%;left:-3%;background:50% 14% / cover no-repeat #050203;opacity:0;transition:opacity 1.5s ease;animation:title-drift 28s ease-in-out infinite alternate}#ui-title .title-bg.show{opacity:1}@keyframes title-drift{0%{transform:scale(1) translate(0)}to{transform:scale(1.06) translate(-1.2%)}}#ui-title .title-block{position:relative;z-index:2;transform:translate(-16vw)}#ui-title h1{animation:title-glow 5.6s ease-in-out infinite}@keyframes title-glow{0%,to{text-shadow:0 0 40px rgba(201,24,47,.8),0 4px 24px #000}50%{text-shadow:0 0 68px rgba(255,39,66,.95),0 0 26px rgba(201,24,47,.5),0 4px 24px #000}}#ui-title .btn.primary{animation:btn-breathe 3.4s ease-in-out infinite}@keyframes btn-breathe{0%,to{box-shadow:0 0 #c9182f00}50%{box-shadow:0 0 22px #c9182f66}}.embers{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:1}.embers i{position:absolute;bottom:-3vh;border-radius:50%;background:#ff6a3e;box-shadow:0 0 6px 1.5px #ff502d99;opacity:0;animation:ember-rise linear infinite}@keyframes ember-rise{0%{transform:translate(0);opacity:0}10%{opacity:var(--o, .5)}70%{opacity:calc(var(--o, .5) * .8)}to{transform:translate(var(--dx, 0),-108vh);opacity:0}}.load-block{text-align:center}.load-block h2{font-size:clamp(1.6rem,6vh,2.6rem);font-weight:700;letter-spacing:.3em;text-indent:.3em;color:#f2e6d8;text-shadow:0 0 28px rgba(201,24,47,.8),0 2px 14px #000}.load-block .hanja{font-size:.5em;vertical-align:super;color:var(--crimson-glow);margin-left:.3em}.load-block .load-error{margin-top:1.2rem;color:#cbb6a6;font-size:.92rem;line-height:1.7}.load-block .btn{margin-top:1.4rem}#btn-fullscreen{position:absolute;top:max(14px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));width:44px;height:44px;border-radius:10px;background:#0803058c;border:1px solid rgba(232,221,208,.22);color:#cbb6a6;font-size:1.3rem;line-height:1;cursor:pointer;transition:color .15s,border-color .15s}#btn-fullscreen:hover{color:#f2e6d8;border-color:var(--crimson-glow)}#pause-veil{z-index:40;background:#030102b8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.pause-block{text-align:center}.pause-block h2{font-size:clamp(1.2rem,4.5vh,1.9rem);font-weight:700;letter-spacing:.3em;text-indent:.3em;color:#f2e6d8;text-shadow:0 0 22px rgba(201,24,47,.7),0 2px 12px #000}.pause-block p{margin-top:.7rem;color:#9a8a80;font-size:.88rem;letter-spacing:.08em}#load-bar{width:min(44vw,380px);height:3px;margin:1.4rem auto 0;background:#e8ddd029}#load-bar i{display:block;height:100%;width:0%;background:linear-gradient(90deg,#7e1020,var(--crimson-glow));box-shadow:0 0 12px #ff2742cc;transition:width .12s ease}#ui-end.victory{background:linear-gradient(90deg,#050203c7,#0502034d 55%,#05020326),url(/ui/end-victory.jpg) center / cover no-repeat #050203}#ui-end.defeat{background:linear-gradient(90deg,#050203d1,#05020361 55%,#05020333),url(/ui/end-defeat.jpg) center / cover no-repeat #050203}#ui-end.victory .title-block,#ui-end.defeat .title-block{transform:translate(-16vw)}#ui-intro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:22;background:#000;cursor:pointer;overflow:hidden}#intro-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .35s ease;animation:intro-kenburns 5.4s ease-out forwards}#intro-img.on{opacity:1}@keyframes intro-kenburns{0%{transform:scale(1)}to{transform:scale(1.055)}}#intro-text{position:absolute;left:50%;bottom:12vh;transform:translate(-50%);width:min(84vw,940px);text-align:center;font-size:clamp(.95rem,3.8vh,1.4rem);letter-spacing:.16em;line-height:1.7;color:var(--bone);text-shadow:0 0 20px rgba(201,24,47,.7),0 2px 12px #000}#intro-hint{position:absolute;left:50%;bottom:4.6vh;transform:translate(-50%);font-size:.68rem;letter-spacing:.32em;text-indent:.32em;opacity:.45}#intro-skip{position:absolute;top:max(14px,env(safe-area-inset-top));right:18px;background:#0a04068c;border:1px solid rgba(200,162,74,.4);color:var(--bone);font-family:inherit;font-size:.7rem;letter-spacing:.22em;padding:.55em 1.2em;cursor:pointer;opacity:.8}#boss-cutin{position:fixed;top:0;right:0;bottom:0;left:0;z-index:15;pointer-events:none;overflow:hidden}#boss-cutin .cutin-slash{position:absolute;left:-6%;right:-6%;top:50%;height:40vh;transform:translateY(-50%) skewY(-3.5deg);background:linear-gradient(180deg,#c9182f00,#5a040ee0 16%,#1e0206f0,#5a040ee0 84%,#c9182f00);animation:cutin-slash 1.5s ease-out forwards}#boss-cutin img{position:absolute;right:7vw;bottom:12vh;height:76vh;filter:drop-shadow(0 0 34px rgba(201,24,47,.6));animation:cutin-img 1.5s cubic-bezier(.16,1,.3,1) forwards}#boss-cutin .cutin-name{position:absolute;left:9vw;top:44%;font-size:clamp(1.5rem,7.5vh,3rem);font-weight:700;letter-spacing:.45em;color:#f2e6d8;text-shadow:0 0 30px rgba(255,39,66,.9),0 3px 16px #000;animation:cutin-name 1.5s ease-out forwards}@keyframes cutin-slash{0%{opacity:0;transform:translateY(-50%) skewY(-3.5deg) scaleY(.1)}12%{opacity:1;transform:translateY(-50%) skewY(-3.5deg) scaleY(1)}82%{opacity:1}to{opacity:0}}@keyframes cutin-img{0%{opacity:0;transform:translate(46vw)}16%{opacity:1;transform:translate(0)}82%{opacity:1;transform:translate(-1.5vw)}to{opacity:0;transform:translate(-3vw)}}@keyframes cutin-name{0%,10%{opacity:0;transform:translate(-4vw);letter-spacing:.7em}26%{opacity:1;transform:translate(0);letter-spacing:.45em}82%{opacity:1}to{opacity:0}}#ult-cutin{position:fixed;left:0;right:0;top:50%;transform:translateY(-50%);z-index:16;pointer-events:none;display:flex;flex-direction:column;gap:6px}.cutin-strip{--cutin-accent: #ff2742;height:min(36vh,300px);overflow:hidden;border-top:1px solid color-mix(in srgb,var(--cutin-accent) 80%,white 8%);border-bottom:1px solid color-mix(in srgb,var(--cutin-accent) 80%,white 8%);box-shadow:0 0 42px color-mix(in srgb,var(--cutin-accent) 55%,transparent);background:#050203;animation:ult-cutin-box .72s ease-out both}.cutin-strip:first-child:nth-last-child(2),.cutin-strip:first-child:nth-last-child(2)~.cutin-strip{height:min(21vh,180px)}.cutin-strip:first-child:nth-last-child(3),.cutin-strip:first-child:nth-last-child(3)~.cutin-strip{height:min(15vh,128px)}.cutin-strip img{width:100%;height:100%;object-fit:cover;animation:ult-cutin-pan .72s linear both;animation-delay:inherit}.cutin-strip:nth-child(2n) img{animation-name:ult-cutin-pan-rev}@keyframes ult-cutin-box{0%{opacity:0;transform:scaleY(.04)}10%{opacity:1;transform:scaleY(1)}78%{opacity:1}to{opacity:0;transform:scaleY(.9)}}@keyframes ult-cutin-pan{0%{transform:translate(2.5%) scale(1.08)}to{transform:translate(-2.5%) scale(1.08)}}@keyframes ult-cutin-pan-rev{0%{transform:translate(-2.5%) scale(1.08)}to{transform:translate(2.5%) scale(1.08)}}#look-reveal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:18;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2vh;animation:reveal-bg 2.45s ease forwards}#look-reveal img{height:68vh;border:1px solid var(--gold-dim);box-shadow:0 0 56px #c9182f73,0 10px 40px #000000b3;animation:reveal-img 2.45s cubic-bezier(.16,1,.3,1) forwards}#look-reveal span{font-size:clamp(1rem,4.6vh,1.7rem);letter-spacing:.5em;text-indent:.5em;color:#ff9daa;text-shadow:0 0 22px rgba(201,24,47,.9),0 2px 10px #000;animation:reveal-name 2.45s ease forwards}@keyframes reveal-bg{0%{background:#03010200}10%{background:#030102d6}86%{background:#030102d6}to{background:#03010200}}@keyframes reveal-img{0%{opacity:0;transform:scale(.9)}7%{opacity:0}17%{opacity:1;transform:scale(1)}87%{opacity:1;transform:scale(1.025)}to{opacity:0;transform:scale(1.04)}}@keyframes reveal-name{0%,14%{opacity:0}25%{opacity:1}87%{opacity:1}to{opacity:0}}#controls{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;pointer-events:none}#stick-zone{position:absolute;left:0;bottom:0;width:42%;height:62%;pointer-events:auto}#stick-base{position:absolute;width:96px;height:96px;border-radius:50%;border:1.5px solid rgba(200,162,74,.45);background:radial-gradient(circle,#14080c59,#14080c99);display:none;transform:translate(-50%,-50%)}#stick-nub{position:absolute;left:50%;top:50%;width:42px;height:42px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#c9182fd9,#500812e6);border:1px solid var(--gold-dim);transform:translate(-50%,-50%)}#buttons{position:absolute;right:max(12px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));display:flex;align-items:flex-end;gap:12px;pointer-events:auto;transition:opacity .25s ease}#controls.locked #buttons{pointer-events:none;opacity:.35}.ctl-btn{position:relative;border-radius:50%;overflow:hidden;border:1.5px solid var(--gold-dim);background:#14060b;cursor:pointer;box-shadow:0 4px 16px #0009;-webkit-tap-highlight-color:transparent;padding:0}.ctl-btn img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:.85;pointer-events:none}.ctl-btn span{position:absolute;left:0;right:0;bottom:6%;font-family:inherit;font-size:.66rem;letter-spacing:.2em;text-indent:.2em;color:var(--bone);text-shadow:0 1px 3px #000,0 0 8px #000;pointer-events:none}.ctl-btn:active{transform:scale(.93);border-color:var(--gold)}.ctl-btn.atk{width:clamp(64px,12vh,92px);height:clamp(64px,12vh,92px)}.ctl-btn.dash{width:clamp(50px,9.5vh,72px);height:clamp(50px,9.5vh,72px)}.ctl-btn.ult{width:clamp(50px,9.5vh,72px);height:clamp(50px,9.5vh,72px);filter:grayscale(.9) brightness(.55)}.ctl-btn.ult.ready{filter:none;border-color:var(--crimson-glow);animation:ult-pulse 1.1s infinite}@keyframes ult-pulse{0%,to{box-shadow:0 0 10px #ff274280}50%{box-shadow:0 0 26px #ff2742f2}}.ctl-btn.skill{width:clamp(46px,8.6vh,64px);height:clamp(46px,8.6vh,64px)}.ctl-btn .cd{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:conic-gradient(#ffc88200,#ffc88200 calc((1 - var(--cdk, 0)) * 1turn - .3turn),#ffc8826b calc((1 - var(--cdk, 0)) * 1turn - .035turn),#ffe2aafa calc((1 - var(--cdk, 0)) * 1turn),#030102eb calc((1 - var(--cdk, 0)) * 1turn),#030102eb 1turn);display:none;pointer-events:none}.ctl-btn.on-cd .cd{display:block}.ctl-btn.skill.pop{animation:skill-pop .55s cubic-bezier(.25,1.2,.4,1)}@keyframes skill-pop{0%{transform:scale(1)}26%{transform:scale(1.3);box-shadow:0 0 32px #ffd696;border-color:var(--gold);filter:brightness(1.65)}62%{transform:scale(.97);box-shadow:0 0 10px #ffd69666;filter:brightness(1.08)}to{transform:scale(1);box-shadow:0 4px 16px #0009;filter:brightness(1)}}#ui-upgrade{background:linear-gradient(180deg,#050203b8,#0502038c 55%,#050203cc),url(/ui/upgrade-bg.jpg) center / cover no-repeat #050203}.upgrade-wrap{text-align:center;width:100%;padding:0 3vw}.upgrade-wrap h3{font-weight:600;letter-spacing:.4em;text-indent:.4em;color:var(--gold);font-size:clamp(.85rem,3vh,1.15rem);margin-bottom:clamp(10px,3vh,22px);text-shadow:0 0 18px rgba(201,24,47,.6)}#upgrade-cards{display:flex;justify-content:center;gap:clamp(10px,2.5vw,26px)}.up-card{width:clamp(120px,24vw,210px);background:linear-gradient(180deg,#1a0d10f7,#0a0406f7);border:1px solid rgba(200,162,74,.55);box-shadow:inset 0 0 0 1px #c8a24a24,0 6px 24px #0000008c;cursor:pointer;padding:0;text-align:center;font-family:inherit;color:var(--bone);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;-webkit-tap-highlight-color:transparent}.up-card:hover,.up-card:active{transform:translateY(-6px);border-color:var(--crimson-glow);box-shadow:0 8px 30px #c9182f66}.up-card img{width:100%;aspect-ratio:1;object-fit:cover;display:block;border-bottom:1px solid rgba(200,162,74,.35)}.up-card .up-name{display:block;font-size:clamp(.8rem,2.6vh,1rem);letter-spacing:.24em;text-indent:.24em;color:#f2e6d8;margin:.55em 0 .25em}.up-card .up-kind{display:block;font-size:.62rem;letter-spacing:.2em;color:var(--crimson-glow)}.up-card .up-desc{display:block;font-size:clamp(.6rem,1.9vh,.74rem);opacity:.75;line-height:1.45;padding:.4em .7em .9em;word-break:keep-all}.char-card .char-trait,.char-card p{word-break:keep-all}#ui-charsel{background:linear-gradient(180deg,#050203c7,#05020399 55%,#050203d9),url(/ui/upgrade-bg.jpg) center / cover no-repeat #050203}.charsel-wrap{position:relative;z-index:2;text-align:center;width:100%;padding:0 3vw}.charsel-wrap h3{font-weight:600;letter-spacing:.4em;text-indent:.4em;color:var(--gold);font-size:clamp(.85rem,3.4vh,1.3rem);margin-bottom:clamp(10px,3vh,24px);text-shadow:0 0 18px rgba(201,24,47,.6);animation:card-in .55s ease backwards}.charsel-wrap .btn{margin-top:clamp(8px,2.4vh,18px);font-size:.8rem;padding:.6em 1.8em}#charsel-cards{display:flex;justify-content:center;gap:clamp(12px,2.6vw,30px)}.char-card{--accent: #e23a4e;position:relative;overflow:hidden;height:clamp(200px,56vh,540px);aspect-ratio:5 / 8;max-width:27vw;display:flex;flex-direction:column;justify-content:flex-end;padding:0 0 clamp(10px,2.6vh,24px);background:#0a0406;border:1px solid color-mix(in srgb,var(--accent) 55%,#241014);box-shadow:0 8px 30px #0009;cursor:pointer;text-align:center;font-family:inherit;color:var(--bone);transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s ease,border-color .3s ease;-webkit-tap-highlight-color:transparent;animation:card-in .65s cubic-bezier(.16,1,.3,1) backwards}.char-col:nth-child(2) .char-card{animation-delay:.09s}.char-col:nth-child(3) .char-card{animation-delay:.18s}@keyframes card-in{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}.char-card:hover,.char-card:active{transform:translateY(-8px);border-color:var(--accent);box-shadow:0 14px 40px color-mix(in srgb,var(--accent) 40%,rgba(0,0,0,.6))}.char-card img,.char-card .char-sil{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:50% 14%;filter:saturate(.78) brightness(.82);transition:transform .5s cubic-bezier(.16,1,.3,1),filter .35s ease}.char-card:hover img,.char-card:active img{transform:scale(1.05);filter:none}.char-card:after{content:"";position:absolute;left:0;right:0;bottom:0;height:46%;background:linear-gradient(180deg,transparent,rgba(5,2,3,.55) 45%,rgba(5,2,3,.92));pointer-events:none}.char-card .char-sil{background:radial-gradient(ellipse 42% 55% at 50% 62%,rgba(0,0,0,.9) 40%,transparent 75%),radial-gradient(ellipse at 50% 30%,color-mix(in srgb,var(--accent) 26%,#0a0406),#0a0406 80%)}.char-card .char-name{position:relative;z-index:2;display:block;font-size:clamp(1rem,3.8vh,1.5rem);letter-spacing:.34em;text-indent:.34em;color:#f6ece0;margin-bottom:.25em;text-shadow:0 2px 10px #000,0 0 18px color-mix(in srgb,var(--accent) 55%,transparent)}.char-card .char-tag{position:relative;z-index:2;display:block;font-size:clamp(.6rem,2vh,.8rem);letter-spacing:.14em;color:color-mix(in srgb,var(--accent) 78%,#f2e6d8);opacity:.95}.char-card .char-trait{position:relative;z-index:2;display:block;margin-top:.55em;font-size:clamp(.52rem,1.7vh,.7rem);letter-spacing:.06em;line-height:1.45;color:#f2e6d8bf;padding:0 .6em}.char-card .char-trait b{display:block;font-weight:600;letter-spacing:.22em;text-indent:.22em;color:color-mix(in srgb,var(--accent) 50%,#f2e6d8);margin-bottom:.15em}.char-card .char-trait i{font-style:normal;opacity:.6;font-size:.86em}.char-card.loading{animation:card-loading .9s ease-in-out infinite}@keyframes card-loading{0%,to{filter:brightness(1)}50%{filter:brightness(1.4)}}.char-card.locked{cursor:not-allowed;filter:saturate(.35) brightness(.7)}.char-card.locked:hover,.char-card.locked:active{transform:none;box-shadow:none}.char-card.deny{animation:card-deny .3s ease}@keyframes card-deny{0%,to{transform:translate(0)}25%{transform:translate(-6px)}60%{transform:translate(5px)}}
