@import"https://fonts.googleapis.com/css2?family=Cinzel:wght@600;700&family=Noto+Sans+KR:wght@400;500;600;700&display=swap";/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.flex{display:flex}.hidden{display:none}.table{display:table}.resize{resize:both}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{color:#e8e5df;font-synthesis:none;--gold:#caa969;--panel:#111317;--line:#282a2f;background:#08090b;font-family:Noto Sans KR,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 50% -10%,#252014 0,#0000 35%),#08090b;min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer;color:inherit}.app-shell{max-width:1440px;min-height:100vh;margin:auto;padding:0 32px}.game-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:112px;display:flex}.eyebrow,.section-heading span,.onboarding>p{color:var(--gold);letter-spacing:.28em;margin:0 0 8px;font:600 10px Cinzel}.game-header h1{margin:0;font:700 25px Cinzel}.game-header h1 span{color:#898b90;margin-left:8px;font:500 12px Noto Sans KR}.header-stats{gap:8px;display:flex}.header-stats>div{border-left:1px solid var(--line);grid-template-columns:20px 1fr;align-items:center;min-width:115px;padding:3px 18px;display:grid}.header-stats svg{color:#777}.header-stats span{color:#73767c;font-size:10px}.header-stats b{grid-column:2;font:600 15px Cinzel}.header-stats .gold b,.header-stats .gold svg{color:var(--gold)}nav{border-bottom:1px solid var(--line);align-items:end;gap:8px;height:70px;display:flex}nav button{color:#777b82;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:9px;height:54px;padding:0 24px;font-size:13px;display:flex}nav button svg{width:17px}nav button:hover,nav button.active{color:#eee}nav button.active{border-color:var(--gold)}nav .reset{color:#5d6065;margin-left:auto;font-size:11px}main{min-height:650px;padding:36px 0 50px}.battle-grid{grid-template-columns:minmax(0,1fr) 350px;gap:24px;display:grid}.battle-main,.log-card,.slot,.item-card,.chapter-card,.table-wrap,.achievement-grid article{border:1px solid var(--line);background:linear-gradient(145deg,#131519,#0d0f12)}.battle-main{padding:30px}.stage-heading,.section-heading{justify-content:space-between;align-items:center;display:flex}.stage-heading span{color:#7b7e84;letter-spacing:.18em;font-size:10px}.stage-heading h2,.section-heading h2{margin:6px 0;font:700 26px Cinzel}.stage-progress,.capacity{border:1px solid var(--line);color:#a7a8aa;align-items:center;gap:7px;padding:8px 12px;font-size:11px;display:flex}.monster-card{text-align:center;background:radial-gradient(circle,#262118 0,#0000 65%);border:1px solid #302c25;margin:24px 0;padding:36px;position:relative}.monster-card.boss{border-color:#58472a}.monster-emblem{width:76px;height:76px;color:var(--gold);background:#16140f;border:1px solid #514326;border-radius:50%;place-items:center;margin:auto;display:grid}.monster-emblem svg{width:34px;height:34px}.monster-meta{color:#73757a;letter-spacing:.17em;justify-content:center;gap:12px;margin-top:18px;font-size:9px;display:flex}.monster-meta .element{color:#d1b574}.monster-card h2{margin:10px;font:700 26px Cinzel}.hp-row{color:#888;justify-content:space-between;max-width:520px;margin:18px auto 7px;font-size:10px;display:flex}.bar{background:#25272b;height:6px;overflow:hidden}.bar i{background:#8c733e;height:100%;transition:width .2s;display:block}.monster-hp{max-width:520px;margin:auto}.monster-hp i{background:linear-gradient(90deg,#78362f,#c25b4f)}.player-panel{border:1px solid var(--line);background:#0c0e10;padding:18px}.player-panel>div:first-child{color:#888;justify-content:space-between;font-size:11px;display:flex}.player-panel b{color:#ccc}.player-hp{margin:9px 0 16px}.player-hp i{background:#507c61}.xp-line{color:#777;grid-template-columns:35px 1fr 80px;align-items:center;gap:10px;font-size:9px;display:grid}.xp-line b{text-align:right;font-size:9px}.battle-actions{gap:10px;margin-top:18px;display:flex}.battle-actions button,.chapter-card button,.primary{background:#17191d;border:1px solid #3b3d41;justify-content:center;align-items:center;gap:8px;padding:13px 20px;font-size:12px;display:flex}.battle-actions button:disabled,.chapter-card button:disabled{opacity:.35;cursor:not-allowed}.primary{font-weight:700;color:#0b0b0b!important;background:linear-gradient(#b08a49,#81632f)!important;border-color:#c09a58!important}.battle-actions svg{width:16px}.log-card{padding:24px}.card-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:16px;font:600 13px Cinzel;display:flex}.card-title i{color:#85b48d;font:700 8px Cinzel}.logs{flex-direction:column;height:470px;display:flex;overflow:hidden}.logs p{color:#6f7277;border-bottom:1px solid #1b1d21;margin:0;padding:10px 0;font-size:11px}.logs p:before{content:"›";color:#444;margin-right:8px}.logs .reward{color:#c9ac73}.equipped-grid{grid-template-columns:repeat(7,1fr);gap:10px;margin:24px 0 32px;display:grid}.slot{min-height:190px;padding:12px}.slot>span{color:#777;letter-spacing:.12em;font-size:9px}.slot>p{color:#444;text-align:center;margin-top:65px;font-size:11px}.slot .item-card{background:0 0;border:0;padding:10px 0}.slot .item-actions button:not(:nth-child(2)){display:none}.inventory-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}.inventory-toolbar h3{font:600 15px Cinzel}.inventory-toolbar div{color:#777;font-size:11px}.inventory-toolbar label{margin-left:14px}.inventory-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px;display:grid}.item-card{border-top:2px solid #888;min-height:180px;padding:16px}.item-top{color:#999;justify-content:space-between;font-size:9px;display:flex}.item-card h3{margin:9px 0 16px;font-size:13px}.item-stats p{color:#777;margin:5px 0;font-size:10px}.item-stats b{float:right;color:#bbb}.item-actions{gap:5px;margin-top:14px;display:flex}.item-actions button{background:#16181c;border:1px solid #303237;align-items:center;gap:4px;padding:6px 8px;font-size:9px;display:flex}.item-actions svg{width:11px}.rarity-uncommon{border-top-color:#60a56b}.rarity-rare{border-top-color:#4f8fd1}.rarity-epic{border-top-color:#a361cb}.rarity-legendary{border-top-color:#d89845}.rarity-mythic{border-top-color:#e45d5d;box-shadow:0 -4px 20px #b8393920}.empty{text-align:center;color:#555;grid-column:1/-1;padding:80px}.chapter-grid{grid-template-columns:repeat(5,1fr);gap:14px;margin-top:28px;display:grid}.chapter-card{padding:22px;position:relative;overflow:hidden}.chapter-number{color:#ffffff05;font:700 70px Cinzel;position:absolute;top:0;right:10px}.chapter-card>span{color:var(--gold);letter-spacing:.15em;font:600 9px Cinzel}.chapter-card h3{margin:12px 0;font:700 19px Cinzel}.chapter-card p{color:#777;min-height:42px;font-size:10px}.boss-name{border-top:1px solid var(--line);color:#b7a57f;padding-top:15px;font-size:10px}.chapter-card small{color:#5e6065;min-height:44px;margin:12px 0;font-size:9px;line-height:1.6;display:block}.chapter-card button{width:100%;padding:9px}.chapter-card.active{border-color:#75623c}.chapter-card.locked{filter:grayscale();opacity:.48}.segmented{margin:24px 0 16px;display:flex}.segmented button{border:1px solid var(--line);color:#777;background:#111317;padding:10px 18px;font-size:11px}.segmented button.active{color:#111;background:var(--gold)}.table-wrap{padding:8px 20px}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);padding:15px 12px;font-size:11px}th{color:#5f6267;letter-spacing:.12em;font-size:9px}td{color:#aaa}.rank{font:700 14px Cinzel}.r1{color:#e1bd69}.r2{color:#b9bec8}.r3{color:#a77554}.lead{color:#777;font-size:11px}.achievement-grid{grid-template-columns:repeat(2,1fr);gap:14px;margin-top:26px;display:grid}.achievement-grid article{grid-template-columns:48px 1fr;gap:16px;padding:20px;display:grid}.achievement-icon{border:1px solid var(--line);color:#555;place-items:center;width:44px;height:44px;display:grid}.achievement-grid h3{margin:5px 0;font:600 15px Cinzel}.achievement-grid span,.achievement-grid p,.achievement-grid small{color:#777;font-size:9px}.achievement-grid .bar{margin:12px 0 5px}.achievement-grid small{float:right}.achievement-grid article.done{border-color:#5e573b}.achievement-grid article.done .achievement-icon{color:var(--gold)}footer{border-top:1px solid var(--line);color:#52555a;justify-content:space-between;padding:18px 0;font-size:9px;display:flex}.modal-backdrop{z-index:10;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#000c;place-items:center;display:grid;position:fixed;top:0;right:0;bottom:0;left:0}.modal{text-align:center;background:#111317;border:1px solid #4a402c;width:min(460px,90vw);padding:36px;position:relative}.close{color:#777;background:0 0;border:0;position:absolute;top:14px;right:14px}.moon{width:64px;height:64px;color:var(--gold);border:1px solid #625333;border-radius:50%;place-items:center;margin:auto;display:grid}.modal>span{color:var(--gold);letter-spacing:.2em;margin:20px;font:600 9px Cinzel;display:block}.modal h2{font:700 23px Cinzel}.modal p{color:#777;font-size:11px}.reward-grid{border:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin:24px 0;display:grid}.reward-grid div{border-right:1px solid var(--line);padding:15px}.reward-grid div:last-child{border:0}.reward-grid span{color:#666;font-size:9px;display:block}.reward-grid b{color:#d3b878;font:600 14px Cinzel}.wide{width:100%}.onboarding{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.brand-mark{width:80px;height:80px;color:var(--gold);border:1px solid #653;border-radius:50%;place-items:center;margin-bottom:25px;display:grid}.brand-mark svg{width:36px}.onboarding h1{margin:8px;font:700 44px Cinzel}.onboarding>span{color:#777;font-size:12px}.onboarding form{width:min(420px,90vw);margin-top:30px;display:flex}.onboarding input{color:#eee;background:#111317;border:1px solid #36383d;outline:none;flex:1;padding:13px}.onboarding form button{border:0;padding:0 25px}@media(max-width:1000px){.header-stats>div:nth-child(-n+2){display:none}.battle-grid{grid-template-columns:1fr}.logs{height:240px}.equipped-grid{grid-template-columns:repeat(3,1fr)}.chapter-grid{grid-template-columns:repeat(2,1fr)}.inventory-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.app-shell{padding:0 14px}.game-header{min-height:90px}.header-stats>div:not(.gold){display:none}.header-stats .gold{min-width:auto}.game-header h1{font-size:20px}nav{height:62px;overflow-x:auto}nav button{white-space:nowrap;padding:0 14px}nav .reset{display:none}main{padding-top:22px}.battle-main{padding:16px}.monster-card{padding:24px 14px}.monster-card h2{font-size:21px}.battle-actions{flex-direction:column}.equipped-grid,.inventory-grid,.chapter-grid,.achievement-grid{grid-template-columns:1fr}.inventory-toolbar{flex-direction:column;align-items:start;gap:10px}.achievement-grid article{grid-template-columns:38px 1fr}.table-wrap{padding:4px;overflow-x:auto}table{min-width:560px}.section-heading h2{font-size:22px}.onboarding h1{font-size:34px}}.character-portrait{background-image:url(/assets/monster-atlas.png);background-repeat:no-repeat;background-size:500% 500%}.monster-card{background:#08090b;height:350px;padding:0;overflow:hidden}.battle-portrait{position:absolute;top:0;right:0;bottom:0;left:0}.battle-portrait:after{content:"";background:linear-gradient(#0000 30%,#090a0d55 52%,#090a0df5 82%);position:absolute;top:0;right:0;bottom:0;left:0}.monster-overlay{z-index:2;position:absolute;bottom:24px;left:28px;right:28px}.boss-crown{z-index:3;color:#e2bf70;background:#090a0dcc;border:1px solid #806b3d;border-radius:50%;place-items:center;width:38px;height:38px;display:grid;position:absolute;top:18px;right:18px}.boss-crown svg{width:18px}.monster-meta{color:#aaa}.monster-card h2{text-shadow:0 2px 10px #000}.hp-row{color:#bbb}.hp-row b{color:#eee}.player-panel{grid-template-columns:84px 1fr;padding:0;display:grid;overflow:hidden}.hero-avatar{border-right:1px solid var(--line);background:url(/assets/hero.png) 50% 18%/cover;min-height:86px}.player-status{padding:15px}.player-status>div:first-child{color:#888;justify-content:space-between;font-size:11px;display:flex}.chapter-card{padding:0}.chapter-boss-art{border-bottom:1px solid var(--line);height:185px}.chapter-content{padding:18px;position:relative}.chapter-content>span{color:var(--gold);letter-spacing:.15em;font:600 9px Cinzel}.achievement-grid article{grid-template-columns:100px 42px 1fr;align-items:center;padding:0;overflow:hidden}.collection-portrait{align-self:stretch;width:100px;height:120px}.achievement-grid article>div:last-child{padding:14px 14px 14px 0}@media(max-width:640px){.monster-card{height:320px;padding:0}.achievement-grid article{grid-template-columns:90px 38px 1fr}.collection-portrait{width:90px}}.battlefield{isolation:isolate;background:radial-gradient(circle at 50% 52%,#49371d 0,#19160f 30%,#080a0c 74%);height:410px}.battle-ambience{z-index:-1;background:radial-gradient(circle at 18% 35%,#c58c2c22,#0000 22%),radial-gradient(circle at 82% 38%,#9d302522,#0000 26%),linear-gradient(#05070822,#07080bf2);position:absolute;top:0;right:0;bottom:0;left:0}.battle-ambience:before,.battle-ambience:after{content:"";background:#e6b04f;border-radius:50%;width:4px;height:4px;animation:3.5s linear infinite embers;position:absolute;box-shadow:70px 40px #b27735,140px -20px #dba63e,310px 30px #8c642e,480px -15px #d49b37,620px 48px #8c5528}.battle-ambience:before{filter:blur(.3px);bottom:20%;left:6%}.battle-ambience:after{animation-delay:-1.8s;bottom:10%;right:8%;transform:scale(.7)}.ground-glow{filter:blur(11px);opacity:.5;border-radius:50%;width:230px;height:34px;position:absolute;bottom:69px}.hero-ground{background:#c39545;left:5%}.enemy-ground{background:#9d3b31;right:3%}.hero-fighter-wrap{transform-origin:bottom;z-index:2;width:31%;height:300px;position:absolute;bottom:69px;left:7%}.hero-fighter{clip-path:polygon(14% 0,83% 0,100% 100%,0 100%);filter:drop-shadow(0 8px 10px #000);background:url(/assets/hero.png) 50% 23%/cover no-repeat;position:absolute;top:0;right:0;bottom:0;left:0}.hero-weapon-glow{transform-origin:100%;opacity:0;background:#f4cf79;width:155px;height:3px;position:absolute;top:44%;right:0;transform:rotate(-35deg);box-shadow:0 0 12px #fff,0 0 24px #e7ad3b}.enemy-fighter-wrap{z-index:2;transform-origin:bottom;width:36%;height:280px;position:absolute;bottom:83px;right:5%}.is-fighting .enemy-fighter-wrap{animation:2.1s ease-in-out infinite enemyIdle}.hero-fighter-wrap[style]{animation:none}.damage-number{z-index:8;color:#fff1b0;text-shadow:0 2px 3px #000,0 0 12px #d3502e;font:800 22px Cinzel;animation:.75s ease-out forwards damageFloat;position:absolute;top:29%;right:23%}.damage-number.critical{color:#ffd35f;font-size:27px}.slash-effect{z-index:7;width:250px;height:180px;animation:.5s ease-out forwards slashFlash;position:absolute;top:25%;right:18%;transform:rotate(-12deg)}.slash-effect i{background:linear-gradient(90deg,#0000,#fff6c9,#e4a936,#0000);border-radius:50%;width:85%;height:4px;position:absolute;top:50%;left:10%;transform:rotate(-32deg);box-shadow:0 0 10px #fff,0 0 22px #d28d24}.slash-effect i:nth-child(2){opacity:.7;top:38%;transform:rotate(-20deg)}.slash-effect i:nth-child(3){opacity:.5;top:62%;transform:rotate(-44deg)}.enemy-slash{z-index:7;background:linear-gradient(90deg,#0000,#ed5b4d,#fff,#0000);width:180px;height:5px;animation:.55s ease-out forwards enemySlash;position:absolute;top:32%;left:20%;transform:rotate(28deg);box-shadow:0 0 15px #d63e32}.enemy-fighter-wrap{animation:.55s ease-out enemyHit}.hero-label{z-index:4;text-align:left;position:absolute;bottom:22px;left:8%}.hero-label span{color:#bba779;letter-spacing:.18em;font:600 8px Cinzel;display:block}.hero-label b{font-size:13px}.versus-mark{z-index:6;color:#bfa66c55;text-shadow:0 0 20px #d5a847;font:800 22px Cinzel;position:absolute;top:43%;left:50%;transform:translate(-50%,-50%)}.monster-overlay{width:42%;bottom:17px;left:auto;right:4%}.monster-overlay .monster-meta{justify-content:flex-end}.monster-overlay h2{text-align:right;font-size:20px}.monster-overlay .hp-row{margin-top:8px}.boss-crown{z-index:9}@keyframes heroIdle{50%{transform:translateY(-5px)rotate(.5deg)}}@keyframes enemyIdle{50%{transform:translateY(-4px)scale(1.015)}}@keyframes heroStrike{0%{transform:translate(0)rotate(0)}35%{transform:translate(25%)rotate(7deg)scale(1.06)}55%{transform:translate(42%)rotate(-4deg)scale(1.08)}to{transform:translate(0)rotate(0)}}@keyframes enemyHit{0%,35%{filter:none;transform:translate(0)}48%{filter:brightness(2)sepia();transform:translate(18px)}62%{transform:translate(-10px)}to{transform:translate(0)}}@keyframes damageFloat{0%{opacity:0;transform:translateY(18px)scale(.7)}20%{opacity:1;transform:translateY(0)scale(1.15)}to{opacity:0;transform:translateY(-55px)scale(.9)}}@keyframes slashFlash{0%{opacity:0;transform:scale(.3)rotate(-12deg)}25%{opacity:1;transform:scale(1.15)rotate(-12deg)}to{opacity:0;transform:scale(1.4)rotate(-12deg)}}@keyframes enemySlash{0%{opacity:0;transform:translate(100px)rotate(28deg)scaleX(.2)}35%{opacity:1;transform:translate(0)rotate(28deg)scaleX(1)}to{opacity:0;transform:translate(-130px)rotate(28deg)scaleX(.5)}}@keyframes embers{0%{opacity:0;transform:translateY(20px)}20%{opacity:.8}to{opacity:0;transform:translateY(-220px)}}@media(max-width:640px){.battlefield{height:340px}.hero-fighter-wrap{width:40%;height:245px;left:1%}.enemy-fighter-wrap{width:43%;height:220px;right:0}.monster-overlay{width:54%;right:3%}.monster-overlay h2{font-size:15px}.hero-label{left:4%}.versus-mark{font-size:16px}.damage-number{font-size:17px;right:15%}.slash-effect{width:180px;right:5%}}.battlefield{background:linear-gradient(#111721 0,#14120d 54%,#080909 55%,#050606);overflow:hidden}.battlefield:before{content:"";z-index:-1;background:radial-gradient(at 50% 100%,#a5762b25,#0000 54%),linear-gradient(90deg,#06090dcc,#0000 25%,#0000 75%,#06090dcc);position:absolute;top:0;right:0;bottom:0;left:0}.battlefield:after{content:"";background:linear-gradient(90deg,#0000,#6e5834,#b18a46,#6e5834,#0000);height:2px;position:absolute;bottom:64px;left:0;right:0;box-shadow:0 12px 25px #bd893944}.hero-fighter-wrap{width:36%;height:310px;bottom:67px;left:4%}.hero-fighter{clip-path:none;filter:drop-shadow(0 10px 8px #000);background:url(/assets/hero-sprite.png) 50%/contain no-repeat}.enemy-fighter-wrap{transform-origin:bottom;z-index:2;width:270px;height:270px;animation:1.15s cubic-bezier(.18,.8,.28,1) both enemyWalkIn;bottom:68px;right:4%;overflow:hidden}.enemy-fighter-wrap.flying{animation:1.35s cubic-bezier(.18,.8,.28,1) both enemyFlyIn;bottom:104px}.enemy-attack-motion{width:100%;height:100%}.battle-sprite{background-image:url(/assets/monster-sprites.png)}.enemy-fighter{clip-path:none;filter:drop-shadow(0 10px 8px #000);border-radius:0;width:100%;height:100%}.walking .enemy-fighter{animation:.42s ease-in-out 2 walkBob}.flying .enemy-fighter{animation:1.15s ease-in-out infinite flyHover}.enemy-attack-motion.enemy-attacking{animation:.55s ease-out enemyLunge}.is-fighting .hero-fighter-wrap{animation:1.3s ease-in-out infinite heroBreathe}.hero-fighter-wrap:not(:only-child){animation:.62s cubic-bezier(.2,.8,.2,1) heroSpriteStrike}.enemy-fighter-wrap .enemy-fighter{animation-name:enemySpriteHit;animation-duration:.45s;animation-timing-function:ease-out}.enemy-fighter-wrap.flying .enemy-fighter{animation-name:enemySpriteHit,flyHover;animation-duration:.45s,1.15s;animation-iteration-count:1,infinite}.hero-weapon-glow{width:190px;top:59%;right:-8%}.hero-label{bottom:18px;left:5%}.monster-overlay{bottom:13px;right:3%}.versus-mark{display:none}.ground-glow{bottom:60px}.hero-ground{left:4%}.enemy-ground{right:4%}@keyframes enemyWalkIn{0%{transform:translate(140%)scale(.85)}20%{transform:translate(112%)translateY(-5px)rotate(-2deg)}38%{transform:translate(83%)translateY(2px)rotate(2deg)}56%{transform:translate(55%)translateY(-5px)rotate(-2deg)}74%{transform:translate(28%)translateY(1px)rotate(1deg)}to{transform:translate(0)}}@keyframes enemyFlyIn{0%{transform:translate(150%,-55px)scale(.75)}30%{transform:translate(96%,18px)scale(.85)}58%{transform:translate(53%,-13px)scale(.94)}82%{transform:translate(18%,8px)}to{transform:translate(0)}}@keyframes walkBob{50%{transform:translateY(-8px)rotate(-1deg)}}@keyframes flyHover{50%{transform:translateY(-12px)rotate(1.5deg)}}@keyframes heroBreathe{50%{transform:translateY(-4px)rotate(.4deg)}}@keyframes heroSpriteStrike{0%{transform:translate(0)rotate(0)}30%{transform:translate(20%)translateY(-4px)rotate(-3deg)}54%{transform:translate(55%)rotate(5deg)scale(1.06)}68%{transform:translate(44%)rotate(-2deg)}to{transform:translate(0)}}@keyframes enemyLunge{0%,to{transform:translate(0)}42%{transform:translate(-45%)rotate(-3deg)scale(1.05)}65%{transform:translate(-36%)}}@keyframes enemySpriteHit{0%,35%{filter:drop-shadow(0 10px 8px #000);transform:translate(0)}48%{filter:brightness(2)drop-shadow(0 0 12px #ef4b3c);transform:translate(18px)rotate(4deg)}68%{transform:translate(-7px)rotate(-2deg)}to{transform:translate(0)}}@media(max-width:640px){.hero-fighter-wrap{width:48%;height:245px;left:-3%}.enemy-fighter-wrap{width:210px;height:210px;right:-2%}.enemy-fighter-wrap.flying{bottom:95px}.hero-weapon-glow{width:120px}.monster-overlay{width:48%}}.battle-canvas{z-index:1;position:absolute;top:0;right:0;bottom:0;left:0}.battle-canvas canvas{display:block;width:100%!important;height:100%!important}.battlefield .slash-effect,.battlefield .enemy-slash,.battlefield .damage-number,.battlefield .hero-label,.battlefield .monster-overlay,.battlefield .boss-crown{z-index:6}.battlefield .hero-label{display:none}.scene-2d{z-index:1;background:linear-gradient(#10151b,#10100e 64%,#050606);position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.scene-2d:before{content:"";background:radial-gradient(circle at 50% 20%,#c79b5530,#0000 42%),linear-gradient(90deg,#020305aa,#0000 28%,#0000 72%,#020305aa);position:absolute;top:0;right:0;bottom:0;left:0}.chapter-bg-2{background:linear-gradient(#161711,#11100c 64%,#050606)}.chapter-bg-3{background:linear-gradient(#10131c,#0b1018 64%,#040507)}.chapter-bg-4{background:linear-gradient(#28100d,#160a08 65%,#050303)}.chapter-bg-5{background:linear-gradient(#0d1d29,#0a1219 65%,#030608)}.scene-moon{opacity:.22;background:#dbca9d;border-radius:50%;width:74px;height:74px;position:absolute;top:7%;left:48%;box-shadow:0 0 45px #d5b76e66}.scene-ruins{opacity:.25;background:linear-gradient(90deg,#0000 5%,#1e2428 5%,#1e2428 10%,#0000 10%,#0000 22%,#191e22 22%,#191e22 27%,#0000 27%,#0000 72%,#1a1f23 72%,#1a1f23 78%,#0000 78%,#0000 88%,#20262a 88%,#20262a 94%,#0000 94%);height:72%;position:absolute;bottom:62px;left:-5%;right:-5%}.ruins-back{filter:blur(2px);opacity:.18;bottom:95px;transform:scale(.85)}.ruins-front{clip-path:polygon(0 35%,8% 20%,13% 40%,21% 8%,27% 42%,70% 38%,76% 12%,82% 42%,91% 18%,100% 34%,100% 100%,0 100%)}.scene-mist{filter:blur(24px);background:#ced6d51a;border-radius:50%;width:65%;height:80px;animation:8s ease-in-out infinite mistDrift;position:absolute;bottom:68px}.mist-a{left:-15%}.mist-b{animation-delay:-4s;right:-20%}.scene-2d:after{content:"";background:linear-gradient(90deg,#0000,#9f7a3d,#e0b45c,#9f7a3d,#0000);height:2px;position:absolute;bottom:64px;left:0;right:0;box-shadow:0 9px 25px #ad763a55}.fighter-shadow{filter:blur(9px);opacity:.75;background:#000;border-radius:50%;width:225px;height:28px;position:absolute;bottom:55px}.hero-shadow{left:5%}.monster-shadow{right:5%}.hero-sprite-wrap{z-index:4;transform-origin:45% 100%;width:43%;height:330px;animation:1.8s ease-in-out infinite heroBreath;position:absolute;bottom:61px;left:3%}.hero-sprite-2d{filter:drop-shadow(0 14px 10px #000);background:url(/assets/hero-sprite.png) 50%/contain no-repeat;position:absolute;top:0;right:0;bottom:0;left:0}.hero-attacking{animation:.78s cubic-bezier(.19,.7,.18,1) both heroAttackSequence}.blade-arc{z-index:6;opacity:0;filter:drop-shadow(0 0 6px #fff)drop-shadow(0 0 15px #d5952c);border:8px solid #fff4c4;border-color:#fff4c4 #d5a63e #0000 #0000;border-radius:50%;width:285px;height:225px;position:absolute;top:26%;right:-38%;transform:rotate(28deg)}.hero-attacking .blade-arc{animation:.5s ease-out .2s both swordArc}.blade-glint{opacity:0;background:linear-gradient(90deg,#0000,#fff,#e1ad43,#0000);width:170px;height:3px;position:absolute;top:57%;right:-6%;box-shadow:0 0 13px #ffe09a}.hero-attacking .blade-glint{animation:.45s ease-out .18s bladeGlint}.monster-entry{z-index:3;transform-origin:50% 100%;width:275px;height:275px;position:absolute;bottom:82px;right:3%;overflow:visible}.ground-entry{animation:1.25s cubic-bezier(.2,.78,.25,1) both foeWalkIn}.flying-entry{animation:1.35s cubic-bezier(.2,.78,.25,1) both foeFlyIn;bottom:112px}.monster-attack,.monster-hit{position:absolute;top:0;right:0;bottom:0;left:0}.monster-sprite-2d{filter:drop-shadow(0 13px 10px #000);background-color:#0000;width:100%;height:100%}.ground-entry .monster-sprite-2d{animation:1.45s ease-in-out infinite foeIdle}.flying-entry .monster-sprite-2d{animation:1.4s ease-in-out infinite foeFloat}.monster-striking{animation:.62s ease-in-out foeStrike}.monster-hit{animation:.48s ease-out foeHit}.impact-burst{z-index:8;background:radial-gradient(circle,#fff 0,#ffd36d 12%,#d65d2c88 35%,#0000 69%);border-radius:50%;width:85px;height:85px;animation:.55s ease-out both impactPop;position:absolute;top:37%;right:26%}.impact-burst i{transform-origin:0;background:linear-gradient(90deg,#0000,#ffd274,#0000);width:125px;height:3px;position:absolute;top:50%;left:50%}.impact-burst i:nth-child(2){transform:rotate(45deg)}.impact-burst i:nth-child(3){transform:rotate(90deg)}.impact-burst i:nth-child(4){transform:rotate(135deg)}.impact-burst.critical{filter:hue-rotate(-20deg)brightness(1.4);transform:scale(1.35)}.enemy-impact{z-index:8;background:radial-gradient(circle,#fff,#d84c3f55 35%,#0000 68%);border-radius:50%;width:70px;height:70px;animation:.5s ease-out both impactPop;position:absolute;top:44%;left:25%}.scene-vignette{z-index:9;pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:inset 0 0 70px 18px #000}@keyframes heroBreath{50%{transform:translateY(-5px)rotate(.35deg)}}@keyframes heroAttackSequence{0%{transform:translate(0)rotate(0)}16%{transform:translate(-4%)rotate(-4deg)}34%{transform:translate(8%)rotate(2deg)}58%{transform:translate(72%)rotate(7deg)scale(1.04)}72%{transform:translate(60%)rotate(-2deg)}to{transform:translate(0)rotate(0)}}@keyframes swordArc{0%{opacity:0;transform:rotate(-42deg)scale(.45)}25%{opacity:1}to{opacity:0;transform:rotate(40deg)scale(1.2)}}@keyframes bladeGlint{0%,to{opacity:0;transform:rotate(-20deg)scaleX(.2)}35%{opacity:1;transform:rotate(-32deg)scaleX(1.2)}}@keyframes foeWalkIn{0%{transform:translate(140%)translateY(0)}18%{transform:translate(112%)translateY(-9px)rotate(-2deg)}36%{transform:translate(84%)translateY(2px)rotate(2deg)}54%{transform:translate(56%)translateY(-9px)rotate(-2deg)}72%{transform:translate(29%)translateY(1px)rotate(1deg)}to{transform:translate(0)}}@keyframes foeFlyIn{0%{transform:translate(145%,-45px)scale(.75)}32%{transform:translate(95%,16px)scale(.85)}60%{transform:translate(49%,-14px)scale(.94)}84%{transform:translate(15%,8px)}to{transform:translate(0)}}@keyframes foeIdle{50%{transform:translateY(-5px)scaleY(.985)}}@keyframes foeFloat{50%{transform:translateY(-15px)rotate(1.5deg)}}@keyframes foeStrike{0%,to{transform:translate(0)}26%{transform:translate(8%)rotate(3deg)}56%{transform:translate(-78%)rotate(-7deg)scale(1.07)}72%{transform:translate(-62%)rotate(2deg)}}@keyframes foeHit{0%,32%{filter:none;transform:translate(0)}44%{filter:brightness(2.4)sepia()saturate(3);transform:translate(25px)rotate(6deg)}64%{transform:translate(-10px)rotate(-3deg)}to{transform:translate(0)}}@keyframes impactPop{0%{opacity:0;transform:scale(.1)}28%{opacity:1;transform:scale(1.35)}to{opacity:0;transform:scale(2)}}@keyframes mistDrift{50%{transform:translate(25%)scaleX(1.15)}}@media(max-width:640px){.hero-sprite-wrap{width:57%;height:270px;left:-7%}.monster-entry{width:220px;height:220px;right:-5%}.blade-arc{width:190px;height:150px;right:-25%}.impact-burst{right:21%}}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
