@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700;800&family=Noto+Sans+KR:wght@400;500;600;700;800;900&display=swap');
:root{--navy:#172b43;--gold:#e5c474;--cream:#faf4e7;--ink:#293c51;--soft:#7e8993;--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;-webkit-text-size-adjust:100%}body{height:100dvh;overflow:hidden;background:radial-gradient(ellipse at 30% 10%,#3d335e55,transparent 55%),radial-gradient(circle at 1px 1px,#8079a31c 1px,transparent 1.7px) 0 0/14px 14px,linear-gradient(125deg,#101522,#1b2032 55%,#141522);font:14px/1.5 'Noto Sans KR',system-ui,sans-serif;color:var(--ink)}body:before{content:'';position:fixed;inset:0;pointer-events:none;opacity:.3;background:linear-gradient(145deg,transparent 30%,#7b6cb730%,transparent 30.2%),linear-gradient(35deg,transparent 65%,#7b6cb765%,transparent 65.15%)}button,input{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{cursor:pointer;border:0}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #a8dbff;outline-offset:3px}button:active:not(:disabled){filter:brightness(1.1);transform:translateY(1px)}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}.ico{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle;flex-shrink:0}.phone{position:relative;isolation:isolate;width:min(100vw,calc(100dvh * .53),480px);height:100dvh;margin:auto;overflow-x:hidden;overflow-y:auto;background:var(--cream);box-shadow:0 0 0 1px #f3dc9740,0 0 110px #04060d88;scrollbar-width:none}.phone::-webkit-scrollbar{display:none}.desktop-brand{position:fixed;left:5.7vw;top:36%;max-width:28vw;color:#e4d6ef;text-shadow:0 4px 20px #0b102d}.desktop-brand>span{font:600 12px 'Cinzel',serif;letter-spacing:7px;color:#b9a5cc}.desktop-brand h1{font:600 clamp(18px,3vw,45px) 'Cinzel',serif;letter-spacing:1px;margin-top:10px;color:#e5d1a2}.desktop-brand>p{font-size:19px;letter-spacing:7px;color:#eee7f6;margin-top:5px}.desktop-brand>i{display:block;width:50px;height:1px;background:#a98ba7;margin:28px 0}.desktop-brand>small{font-size:12px;line-height:2.2;color:#a89ab9;letter-spacing:1px}.character-art{display:block;width:100%;height:100%;overflow:hidden;pointer-events:none}.character-art svg{overflow:hidden}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:46px;padding:11px 18px;border:1px solid #cfc7b5;border-radius:10px;background:#fff9ec;font-size:12px;font-weight:700;box-shadow:0 2px 0 #00000008}.button.gold{background:linear-gradient(#ffe6a4,#e8bd64);border:1px solid #c49341;color:#60421e;box-shadow:inset 0 1px #fff4d2,0 3px 0 #a77c3326}.button.wide{width:100%}.button.icon-button{width:44px;height:44px;min-height:44px;border-radius:50%;padding:10px}.button.text-button{padding:5px;background:transparent;border:0;box-shadow:none;color:inherit}.eyebrow{font:600 9px 'Cinzel',serif;letter-spacing:2.5px;color:#ab8a52}.loading{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;text-align:center;padding:30px;background:linear-gradient(#24334e,#131d30);color:#e4cf99}.loading h1{font:600 25px 'Cinzel',serif}.loading h1 small{font-size:16px;letter-spacing:4px}.loading h2{font-size:22px}.loading p{font-size:12px;color:#aab7ca}.rune{font-size:58px;animation:rune-pulse 2s ease-in-out infinite}.entry{position:relative;min-height:100%;padding:26px 25px 18px;isolation:isolate;background:url('assets/courtyard.png') center top/cover}.entry-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#1e365b55,#10243b70 40%,#142237ed 85%)}.back-site{display:block;width:max-content;padding:10px 0;min-height:44px;color:#fff7e6;font-size:11px;text-shadow:0 1px 5px #162643}.game-logo{text-align:center;color:#fff2d2;text-shadow:0 3px 12px #24374bbb;margin:15px 0 6px}.game-logo small{font:700 12px 'Cinzel',serif;letter-spacing:6px}.game-logo h1{font:600 clamp(27px,5vw,37px) 'Cinzel',serif;letter-spacing:1.5px;line-height:1.3}.game-logo>span{display:block;font-size:12px;letter-spacing:5px;margin-top:7px;color:#e9d69f}.entry-heroes{position:relative;height:210px;margin-bottom:-22px;z-index:2;pointer-events:none}.entry-heroes .character-art{position:absolute;width:65%;height:100%;bottom:0;filter:drop-shadow(0 10px 12px #12253550)}.entry-heroes .side-left{left:-12%;height:88%;bottom:10px;transform:rotate(-7deg)}.entry-heroes .side-right{right:-12%;height:88%;bottom:10px;transform:rotate(7deg)}.entry-heroes .front{left:14%;height:112%;width:75%;bottom:-10px;z-index:2}.auth-box{position:relative;z-index:3;background:linear-gradient(#fff9ecf7,#f7eedbf5);border:1px solid #fff4d3;border-radius:20px;padding:18px 20px 16px;box-shadow:0 8px 38px #111e3e40}.flow-steps{display:flex;justify-content:center;gap:16px;font-size:10px;color:#a8a296;margin-bottom:15px}.flow-steps>span{display:flex;align-items:center;gap:5px}.flow-steps b{display:inline-grid;place-items:center;border:1px solid #c9beaa;width:20px;height:20px;border-radius:50%;font-size:9px;font-weight:600}.flow-steps .current{color:#846028;font-weight:700}.flow-steps .current b{background:#c5a35e;border-color:#c5a35e;color:#fff9df}.flow-steps .done{color:#5b9076}.flow-steps .done b{border-color:#83ac95}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:0;border-bottom:1px solid #ddd2bd;margin-bottom:15px}.auth-tabs .button{background:none;border:0;border-radius:0;box-shadow:none;color:#a69b8d;min-height:38px;padding:8px}.auth-tabs .active{color:#315373;border-bottom:2px solid #5b7795}.auth-box label,.name-field{display:block;font-size:10px;color:#817568;font-weight:600;margin-top:10px}.auth-box input,.name-field input{display:block;width:100%;min-height:46px;background:#fffdf7;border:1px solid #d8d0c0;border-radius:8px;padding:11px 12px;font-size:13px;margin-top:5px;color:#34455e}.auth-box input::placeholder,.name-field input::placeholder{font-size:11px;color:#b1a79b}.form-error{font-size:11px;color:#ba6264;line-height:1.7;min-height:8px;margin:5px 0}.auth-box .wide{margin-top:8px;min-height:49px}.auth-note{font-size:9px;line-height:1.8;color:#9b8d7a;text-align:center;margin-top:12px}.entry-version{font-size:8px;letter-spacing:1px;color:#a8b7c6;text-align:center;margin-top:20px}.flow-header{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;font-size:11px;color:#fff5dc}.flow-header .icon-button{background:#25395155;border-color:#e8dab14f;color:#fff1cb}.realm-entry{padding-top:24px;display:flex;flex-direction:column}.realm-entry .game-logo{margin-top:39px;margin-bottom:45px}.flow-body{background:#f9f2e4ee;border:1px solid #f9edd3;border-radius:20px;padding:23px 18px;box-shadow:0 12px 40px #14203544}.flow-body h2{font-size:22px;letter-spacing:-1px;margin-top:8px;color:#34455b}.subcopy{font-size:11px;line-height:1.8;color:#8a8174;margin:12px 0 23px}.realm-list{display:flex;flex-direction:column;gap:12px}.realm-card{display:flex;align-items:center;gap:10px;text-align:left;min-height:84px;padding:13px 11px;background:linear-gradient(100deg,#fffdf5,#efe8d6);border:1px solid #d7c79c;border-radius:11px;box-shadow:0 3px 0 #baaa8e15}.realm-emblem{font:700 21px 'Cinzel',serif;color:#b29553;width:42px;height:44px;display:grid;place-items:center;border:1px solid #d2c49f;border-radius:14px 14px 20px 20px;background:#f5ecd2;flex-shrink:0}.realm-card>span:nth-child(2){flex:1;min-width:0}.realm-card b{display:block;font-size:14px;color:#314961}.realm-card small{display:block;font-size:9px;color:#938873;margin-top:5px}.realm-card em{font-size:9px;color:#548b6b;font-style:normal}.realm-card .ico{width:16px;color:#bda66f}.realm-card.closed{opacity:.48}.hint-box{text-align:center;font-size:11px;line-height:1.8;color:#948572;background:#e7dfcd66;border:1px solid #dcd0b975;border-radius:10px;padding:14px;margin-top:18px}.hint-box .ico{width:15px;height:15px;margin-right:3px}.realm-entry .entry-version{margin-top:auto;padding-top:25px}.hero-entry{padding-top:20px;background-position:center top}.hero-entry .entry-shade{background:linear-gradient(#213b5977,#21364a4a 30%,#17293ef5 80%)}.hero-entry>.flow-steps{margin-top:14px;color:#e3dccd}.hero-entry .flow-steps b{border-color:#d7d0bd}.hero-entry .flow-steps .current{color:#fff0c3}.character-heading{text-align:center;margin-top:24px;color:#fff1d5;text-shadow:0 2px 10px #18344c}.character-heading .eyebrow{color:#e6d3a1;font-size:8px}.character-heading h2{font-size:24px;letter-spacing:-1px;line-height:1.35;margin-top:8px}.character-preview{height:235px;position:relative;isolation:isolate;margin-top:8px}.character-preview>.character-art{width:80%;margin-left:-3%;filter:drop-shadow(0 10px 14px #0e274844);position:relative;z-index:2}.hero-aura{position:absolute;left:8%;bottom:4%;width:58%;height:13%;border:2px solid #f6e3a675;border-radius:50%;box-shadow:0 0 30px var(--hero-color),inset 0 0 25px #fff5}.character-title{position:absolute;right:7px;top:34%;text-align:right;text-shadow:0 3px 8px #142339;color:#ffedc5}.character-title>span{font-size:10px;letter-spacing:3px;color:var(--hero-color)}.character-title h3{font-size:30px;letter-spacing:-1px}.character-title>small{font-size:9px}.character-select{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}.character-select button{position:relative;min-width:0;display:flex;align-items:center;gap:2px;height:76px;border-radius:10px;border:1px solid #82939d88;background:#172a409e;color:#c7d1d6;padding:5px;overflow:hidden}.character-select .character-art{width:65%;height:86px;margin-left:-9px;margin-bottom:-24px;flex-shrink:0}.character-select button>span{font-size:11px;font-weight:700;margin-left:-4px}.character-select small{display:block;font-size:8px;margin-top:3px;color:#b7c2c9}.character-select button[aria-pressed=true]{border:2px solid #e5cd87;box-shadow:0 0 15px #f4d38a22;background:linear-gradient(#365671,#233c50);color:#fff2d0}.hero-description{padding:15px 2px 0;color:#c5d1dd;font-size:11px;line-height:1.9}.hero-description>div{display:flex;gap:20px;justify-content:center;color:#94acbe;font-size:10px;margin-top:10px}.hero-description b{color:#f5dfaa;margin-left:4px}.hero-entry form{margin-top:16px}.hero-entry .name-field{color:#c6c3b3}.hero-entry .name-field input{background:#14283e80;border-color:#71849580;color:#fff5dc;min-height:46px}.hero-entry .wide{margin-top:5px}.selection-note{font-size:9px;color:#9ba8b7;text-align:center;margin:10px 0}.play-screen{height:100%;display:flex;flex-direction:column;overflow:hidden;position:relative;background:#eee0be}.player-hud{height:calc(70px + env(safe-area-inset-top));min-height:calc(70px + env(safe-area-inset-top));padding:calc(8px + env(safe-area-inset-top)) 12px 8px 9px;display:flex;align-items:center;gap:8px;background:linear-gradient(100deg,#213b56ee,#2f5c72df);border-bottom:1px solid #dbc181;color:#fff4d7;z-index:10;box-shadow:0 2px 14px #243e4e38}.player-avatar{height:51px;width:51px;min-width:51px;background:radial-gradient(#486477,#172b45);border:2px solid #d9c28b;border-radius:50%;overflow:hidden;box-shadow:0 0 0 2px #fff4;padding:0}.player-avatar .character-art{width:83px;height:75px;transform:translate(-17px,3px)}.player-info{min-width:0;flex:1}.player-info>b{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:138px}.player-info>span{display:block;font-size:10px;color:#d0dfdf;font-weight:700}.player-info>span small{font-size:8px;font-weight:400;color:#9eb9c5;margin-left:5px}.player-info>em{display:flex;align-items:center;gap:4px;font:800 14px/1.3 'Noto Sans KR',sans-serif;color:#ffdb6b;font-style:normal}.player-info>em .ico{width:13px;height:13px;color:#e2a7c0}.wallet{display:flex;flex-direction:column;align-items:end;gap:3px;font-size:12px;min-width:90px}.wallet>span{display:flex;align-items:center;gap:8px;min-width:82px;justify-content:space-between;background:#0b233b40;border-radius:15px;padding:1px 8px 1px 4px;line-height:1.5}.wallet .ico{width:19px;height:19px;color:#edc76c}.wallet>span:nth-child(2) .ico{color:#a1dcf7}.wallet b{font-size:11px}.play-tools{position:absolute;right:10px;top:calc(80px + env(safe-area-inset-top));display:flex;gap:5px;z-index:12}.play-tools .button{min-height:35px;height:35px;font-size:11px;padding:5px 10px;border-radius:8px;background:#223c4bd9;border-color:#c8b478;color:#f4dfac}.play-tools .settings-button{width:35px;padding:7px}.play-tools .ico{width:17px;height:17px}.arena{position:relative;flex:1;min-height:180px;overflow:hidden;isolation:isolate;background:url('assets/courtyard.png') center top/100% 100%;}.arena:after{content:'';position:absolute;inset:0;box-shadow:inset 0 -20px 28px #77603a26;z-index:8;pointer-events:none}.stage-hud{position:absolute;top:13%;left:50%;transform:translateX(-50%);text-align:center;width:56%;color:#fff5d3;text-shadow:0 2px 4px #162d36;font-weight:800;z-index:4}.stage-hud>span{font-size:12px}.stage-hud>small{display:block;font:600 6px 'Cinzel',serif;letter-spacing:1.5px;color:#fff1ce;margin-top:3px}.stage-progress{height:7px;background:#1d2a32bb;border:1px solid #b59a66;border-radius:7px;margin-top:9px;overflow:hidden;box-shadow:0 2px 6px #152a3629}.stage-progress i{height:100%;display:block;background:linear-gradient(90deg,#a8d8ad,#f0d18b);transition:width .2s}.stage-hud>b{font-size:8px;display:block;margin-top:3px;color:#fcf4db}.unit{position:absolute;width:44%;height:41%;bottom:16%;z-index:5}.hero-unit{left:4%}.enemy-unit{right:1%;width:40%;height:31%;bottom:26%}.boss-unit{height:40%;width:47%;right:-3%;bottom:21%}.sprite-rig{position:absolute;inset:0;z-index:2;filter:drop-shadow(0 6px 3px #52482c38);transform-origin:center 85%}.hero-unit .sprite-rig{animation:hero-idle 3.5s ease-in-out infinite}.enemy-unit .sprite-rig{animation:monster-idle 1.8s ease-in-out infinite;transform:scaleX(-1)}.boss-unit .sprite-rig{animation:boss-idle 3s infinite}.unit-shadow{position:absolute;width:70%;height:10%;left:15%;bottom:2%;border-radius:50%;background:radial-gradient(ellipse,#66543166,transparent 70%);z-index:0}.enemy-unit .unit-shadow{bottom:-5%;opacity:.8}.unit-health{position:absolute;top:-27px;left:50%;transform:translateX(-50%);width:77px;text-align:center;color:#fffcec;text-shadow:0 1px 3px #473c22;z-index:3;pointer-events:none}.unit-health>b{font-size:8px;white-space:nowrap;color:#605344;text-shadow:0 1px 2px #fffc;display:block;line-height:1.4}.unit-health>div{height:5px;border:1px solid #5f5e51;background:#2b3c3ae0;border-radius:2px;overflow:hidden;margin:3px 5px 0}.unit-health i{height:100%;display:block;background:linear-gradient(#b9ef9d,#70c57b);transition:width .25s}.enemy-unit .unit-health i{background:linear-gradient(#ed89bf,#c94891)}.unit-health>small{font-size:7px;color:#695c4a;text-shadow:0 1px #fff8;display:block;margin-top:2px}.effects-layer{position:absolute;inset:0;z-index:15;pointer-events:none;overflow:hidden}.damage-number{position:absolute;z-index:10;font-size:28px;font-weight:900;line-height:1;transform:translate(-50%,-50%);color:#ffe297;-webkit-text-stroke:1px #493e2b;text-shadow:0 3px #59412c,0 5px 12px #382b2a44;animation:damage-float .85s forwards}.damage-number.critical{font-size:39px;color:#fff5cb}.damage-number.hurt{color:#f29d9d;font-size:20px}.damage-number.reward{font-size:15px;color:#fff0a1;-webkit-text-stroke:.5px #6b5928}.unit.hit .sprite-rig{filter:brightness(1.8) drop-shadow(0 0 6px #fff);}.unit.fainted{animation:enemy-fall .45s both}.skill-cutin{position:absolute;top:29%;left:-3%;right:0;background:linear-gradient(100deg,#15203def,#213554dd 80%,#21355400);border-top:1px solid var(--hero-color);border-bottom:1px solid #e9dcad88;color:#fff9e9;padding:11px 22px;transform:skewX(-6deg);animation:skill-enter .75s both}.skill-cutin small{font:500 7px 'Cinzel',serif;letter-spacing:2.5px;color:var(--hero-color);display:block}.skill-cutin b{font-size:23px;text-shadow:0 0 18px var(--hero-color)}.skill-wave{position:absolute;left:18%;top:48%;width:65%;height:22%;border-radius:50%;border-top:8px solid var(--hero-color);box-shadow:0 -4px 12px var(--hero-color),inset 0 13px 15px #fff8;transform:rotate(-20deg);animation:wave .6s both}.impact-particle{position:absolute;top:62%;left:73%;width:5px;height:5px;background:#fff3c3;border-radius:1px;box-shadow:0 0 8px var(--hero-color);animation:particle .6s both}.arena-bottom{position:absolute;bottom:12px;left:15px;right:13px;display:flex;align-items:end;justify-content:space-between;z-index:17}.battle-state{font-size:9px;color:#776951;background:#fff2d580;padding:4px 10px;border-radius:20px;backdrop-filter:blur(3px)}.button.auto-button{border-radius:50%;width:48px;height:48px;min-height:48px;border:2px solid #b6a366;padding:4px;display:block;background:radial-gradient(#55677b,#233950);color:#b6c5c9;font:700 11px/1.2 'Cinzel',serif;box-shadow:0 0 0 3px #f6e3a66e,0 3px 10px #715b4422}.auto-button small{font:700 8px 'Noto Sans KR',sans-serif;display:block;margin-top:2px}.button.auto-button.active{color:#fff0ba;border-color:#e8cf80;box-shadow:0 0 0 3px #f9d67459,0 0 15px #f5d58366}.control-deck{padding:0 12px 10px;z-index:18;background:linear-gradient(#eee0be,#f4e8cc);border-top:1px solid #d3bf96;box-shadow:0 -5px 18px #a1855820}.quest-ribbon{display:flex;align-items:center;gap:9px;text-align:left;width:100%;min-height:50px;background:linear-gradient(100deg,#243f50,#384b56);border:1px solid #bba56b;border-radius:12px;padding:8px 10px;margin-top:-7px;box-shadow:0 3px 0 #9f855123;color:#fff3d5}.quest-medal{flex-shrink:0;width:29px;height:29px;background:#c0a363;border:1px solid #f2dd9e;border-radius:50%;color:#fff5c8;text-align:center;font-size:18px;font-weight:800;box-shadow:0 0 0 3px #e6d08e1a}.quest-ribbon>span:nth-child(2){flex:1;min-width:0}.quest-ribbon small{display:block;font-size:7px;color:#b7b8a5;font-weight:500;letter-spacing:.4px}.quest-ribbon b{display:block;font-size:11px;letter-spacing:-.2px;margin-top:1px}.quest-ribbon em{font-size:9px;color:#efda99;font-style:normal;white-space:nowrap}.quest-ribbon.complete{border-color:#f5d471;box-shadow:0 0 15px #e4b74160,inset 0 0 15px #cdb37526}.quest-ribbon.completed small{color:#96b8a0}.skill-row{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:8px;margin-top:10px}.skill-slot{height:90px;position:relative;min-width:0;border:1px solid #c8b78d;border-radius:11px;background:linear-gradient(#243d55,#14253b);padding:8px 3px 5px;color:#f3e6c7;box-shadow:0 3px 0 #b19a6833}.skill-slot>span{width:37px;height:37px;margin:0 auto 3px;border:1px solid #8da7b1;background:radial-gradient(#72909f,#244962);border-radius:50%;display:grid;place-items:center;color:#e3eaf1}.skill-slot.signature{border-color:#b69ccc;background:linear-gradient(#5d6385,#273451)}.skill-slot.signature>span{color:var(--hero-color);background:radial-gradient(#a6b2cd,#485a82);border-color:#bcabd5;box-shadow:0 0 13px #cab8e949}.skill-slot>b{font-size:9px;display:block}.skill-slot>small{font-size:7px;color:#a9b8c2;display:block;margin-top:3px}.skill-slot.gear>span{color:#dfc88f;background:radial-gradient(#8b826d,#475b64);border-color:#c9b789}.bottom-nav{display:grid;grid-template-columns:repeat(4,1fr);height:calc(66px + var(--safe-bottom));min-height:calc(66px + var(--safe-bottom));padding:5px 7px calc(5px + var(--safe-bottom));background:linear-gradient(#1b3145,#101c2d);border-top:2px solid #b8a16e;box-shadow:0 -3px 0 #f9efce91;z-index:35}.bottom-nav button{background:transparent;border:0;color:#98a8b4;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:50px}.bottom-nav .ico{width:24px;height:24px;filter:drop-shadow(0 2px 2px #081224);stroke-width:1.5}.bottom-nav span{font-size:10px;font-weight:700;text-shadow:0 2px 2px #081224}.bottom-nav .active{color:#f1d78e;background:radial-gradient(ellipse,#e9c76e20,transparent 70%)}.bottom-nav .active:after{content:'';position:absolute;top:-8px;left:15%;right:15%;height:2px;box-shadow:0 0 10px #e7c66c;background:#f4da8e}.nav-alert{position:absolute;right:22%;top:0;width:16px;height:16px;border-radius:50%;background:#bb5656;border:1px solid #f8c4a6;color:#fff4d6;font:800 11px/14px 'Noto Sans KR',sans-serif;box-shadow:0 2px 4px #1118}.drawer-backdrop{position:absolute;inset:0 0 calc(66px + var(--safe-bottom));background:#101e354d;z-index:25}.bottom-drawer{position:absolute;bottom:calc(66px + var(--safe-bottom));left:7px;right:7px;max-height:70%;background:linear-gradient(#fff9e9,#efe5cf);border:2px solid #fff9e7;border-radius:25px 25px 4px 4px;box-shadow:0 -4px 0 #bda66d,0 -12px 35px #18253433;z-index:30;display:flex;flex-direction:column;animation:drawer-up .25s ease-out}.drawer-handle{width:38px;height:4px;border-radius:5px;background:#cfc3a9;margin:9px auto 0;flex-shrink:0}.bottom-drawer>header{display:flex;align-items:center;justify-content:space-between;padding:8px 14px 11px;border-bottom:1px solid #dfd3b8;min-height:58px;flex-shrink:0}.bottom-drawer h2{font-size:19px;letter-spacing:-.6px}.bottom-drawer .icon-button{background:#eae0ca;color:#8c784f;border-color:#d5c5a0;width:38px;height:38px;min-height:38px}.drawer-scroll{overflow-y:auto;padding:15px 13px 14px;scrollbar-width:thin}.growth-top{display:grid;grid-template-columns:42% 1fr;gap:10px}.growth-art{position:relative;min-height:245px;background:radial-gradient(#54778b,#1b3d5b);border:1px solid #b8a475;border-radius:15px;box-shadow:inset 0 0 20px #1a2944}.growth-art .character-art{position:absolute;bottom:30px;left:-14%;width:128%;height:80%;filter:drop-shadow(0 7px 5px #0d243c60)}.growth-art>span{position:absolute;bottom:14px;left:0;right:0;text-align:center;color:#fff0ce;font-size:11px;font-weight:700}.stat-list{display:grid;gap:7px}.stat-line{display:flex;justify-content:space-between;align-items:center;background:#e0d8c750;border-radius:10px;padding:5px 5px 5px 7px;gap:4px;min-height:56px;border:1px solid #d0c1a34d}.stat-line>span{display:flex;align-items:center;gap:5px;min-width:0}.stat-line .ico{width:16px;height:16px;color:#826e4c}.stat-line b{font-size:11px;white-space:nowrap}.stat-line span small{display:block;font-size:8px;font-weight:500;color:#9a886b;margin-top:2px}.stat-line>button{background:linear-gradient(#f7d792,#e6b45b);border:1px solid #c18e3b;border-radius:8px;width:62px;min-width:62px;min-height:44px;color:#72501d;padding:3px 5px}.stat-line button>small{font-size:8px;display:flex;align-items:center;justify-content:center;gap:2px;line-height:1.5}.stat-line button .ico{width:11px;height:11px;color:#fff6d5}.stat-line button>b{display:block;font-size:12px;line-height:1.4}.stat-line>button:disabled{background:#c7c9c7;border-color:#b0b4b5;color:#7c868e;opacity:.7}.xp-line{display:flex;justify-content:space-between;flex-wrap:wrap;font-size:10px;color:#8f8066;margin-top:17px;gap:7px}.xp-line>b{font-size:10px;color:#667b87}.xp-line>div{width:100%;height:7px;border-radius:6px;background:#d8d6ca;overflow:hidden}.xp-line i{display:block;height:100%;background:linear-gradient(90deg,#6fa29b,#acd2ae)}.panel-note{font-size:10px;color:#9a8a73;line-height:1.9;text-align:center;margin:15px 0}.drawer-guide{padding:10px 13px;display:flex;gap:10px;align-items:center;justify-content:space-between;background:#eee1bd;border-top:1px solid #d1bb84;flex-shrink:0}.drawer-guide small{display:block;font-size:8px;color:#a28b56}.drawer-guide b{font-size:11px}.drawer-guide .button{padding:8px 12px;min-height:44px;font-size:11px}.guide-focus{outline:2px solid #e7be50;box-shadow:0 0 13px #f6cf5955!important;animation:guide-glow 1.7s ease-in-out infinite}.weapon-feature{display:grid;grid-template-columns:1fr 1fr;gap:7px;align-items:center;min-height:220px}.weapon-feature>div{height:220px;background:radial-gradient(#c9dbdf88,transparent 70%)}.weapon-feature>span small{font:500 7px 'Cinzel',serif;letter-spacing:1px;color:#a49577}.weapon-feature h3{font-size:17px;letter-spacing:-.6px;margin:5px 0 7px}.weapon-feature em{display:inline-block;font-style:normal;font-size:9px;background:#e7dfcb;color:#8d7647;padding:4px 8px;border-radius:5px}.weapon-feature p{font-size:10px;color:#9a8a71;line-height:1.9;margin-top:11px}.gear-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:18px 0 3px}.gear-slots>span{text-align:center;background:#e8dfcd;border:1px solid #d8ccaf;border-radius:12px;padding:13px 3px;color:#9a8c70}.gear-slots .ico{width:25px;height:25px;display:block;margin:auto auto 8px}.gear-slots b{font-size:10px;display:block}.gear-slots small{font-size:8px}.world-list{display:flex;flex-direction:column;gap:8px}.world-list>button{display:flex;align-items:center;gap:13px;background:#f4eddb;border:1px solid #d9caaa;border-radius:12px;text-align:left;padding:13px 15px;min-height:66px}.world-list>button>b{font:600 25px 'Cinzel',serif;color:#b59c63}.world-list>button>span{flex:1;font-size:13px;font-weight:700}.world-list small{display:block;font-size:9px;color:#a29379;font-weight:400;margin-top:3px}.world-list .ico{width:17px;color:#b09a6a}.settings-list>div{display:flex;align-items:center;justify-content:space-between;min-height:57px;gap:15px;border-bottom:1px solid #e1d6c1;font-size:12px}.settings-list b{font-size:11px}.settings-list .button{min-height:42px;font-size:11px}.setting-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.install-link{display:flex;align-items:center;justify-content:center;gap:9px;font-size:11px;min-height:48px;margin-top:9px;color:#927c4f}.install-link .ico{width:17px}.screen-overlay{position:absolute;inset:0;background:#1320399e;backdrop-filter:blur(2px);display:grid;place-items:center;z-index:50;padding:27px}.guide-card{text-align:center;width:100%;background:linear-gradient(#fff9e9,#f1e6cf);border:1px solid #e8cc88;box-shadow:0 0 0 5px #fff4ce25,0 20px 70px #101d4266;border-radius:24px;padding:26px 20px;color:#384c61}.guide-symbol{display:block;color:#b69857;font:400 55px 'Cinzel',serif;line-height:1.3}.guide-card>small{font:600 8px 'Cinzel',serif;letter-spacing:2px;color:#ac976a;display:block;margin-top:3px}.guide-card h2{font-size:24px;line-height:1.45;letter-spacing:-1px;margin:12px 0}.guide-card p{font-size:11px;line-height:1.9;color:#96866d}.guide-route{display:flex;align-items:center;justify-content:center;gap:12px;padding:19px 0;margin:15px 0 12px;border-top:1px solid #dfd2b6;border-bottom:1px solid #dfd2b6;font-size:10px;font-weight:700;color:#9f8857}.guide-route i{font-style:normal;color:#cbb98f}.guide-card .guide-save{font:400 9px 'Noto Sans KR',sans-serif;letter-spacing:0;margin-top:14px}.result-buttons{display:flex;flex-direction:column;gap:9px;margin-top:23px}.result-overlay .guide-card h2{font-size:22px}#toast{position:fixed;left:50%;bottom:calc(83px + var(--safe-bottom));transform:translate(-50%,12px);max-width:min(420px,90vw);background:#11263eee;color:#fff0ca;border:1px solid #c4ad7166;border-radius:11px;padding:11px 16px;font-size:11px;text-align:center;pointer-events:none;z-index:100;opacity:0;transition:.2s;box-shadow:0 8px 28px #10223944}#toast.show{opacity:1;transform:translate(-50%,0)}.rotate-hint{display:none}.entry input{font-size:16px}
@keyframes rune-pulse{50%{opacity:.4;transform:rotate(10deg)}}@keyframes hero-idle{50%{translate:0 -3px}}@keyframes monster-idle{50%{translate:0 -6px;rotate:2deg}}@keyframes boss-idle{50%{scale:1.02;translate:0 -2px}}@keyframes damage-float{0%{opacity:0;translate:0 12px;scale:1.4}15%{opacity:1;scale:1.05}75%{opacity:1}100%{opacity:0;translate:0 -45px;scale:.85}}@keyframes skill-enter{0%{opacity:0;translate:-70px 0}20%,80%{opacity:1;translate:0 0}100%{opacity:0;translate:35px 0}}@keyframes wave{0%{scale:.2;opacity:0}30%{scale:1;opacity:1}100%{scale:1.4;opacity:0}}@keyframes particle{to{transform:translate(var(--dx),var(--dy));opacity:0}}@keyframes enemy-fall{to{opacity:0;transform:translateY(15px) rotate(8deg)}}@keyframes drawer-up{from{translate:0 70px;opacity:.5}}@keyframes guide-glow{50%{box-shadow:0 0 20px #ffe285b3}}
@media(max-width:900px){.desktop-brand{display:none}.phone{box-shadow:0 0 20px #0003}}@media(max-width:520px){.phone{width:100%;max-width:480px}.entry{padding-left:22px;padding-right:22px}.game-logo h1{font-size:34px}.character-preview{height:225px}.character-title h3{font-size:28px}.entry-heroes{height:185px}.auth-box{padding:17px 18px}.auth-entry{padding-top:13px}.auth-entry .game-logo{margin-top:6px}.auth-entry .game-logo small{font-size:11px}.auth-entry .game-logo>span{font-size:11px}.realm-entry .game-logo{margin-top:35px;margin-bottom:35px}.player-hud{padding-right:10px}.bottom-drawer{max-height:72%}.screen-overlay{padding:26px}.button,.skill-slot,.bottom-nav button{min-height:44px}.play-tools .button{min-height:36px}.bottom-drawer .icon-button{min-height:44px;width:44px;height:44px}.bottom-drawer>header{padding-top:5px;padding-bottom:6px}.arena{background-size:100% 100%}}
@media(max-width:360px){.entry{padding-left:17px;padding-right:17px}.entry-heroes{height:160px}.auth-box{padding:14px}.auth-note{font-size:8px}.game-logo h1{font-size:29px}.realm-entry .game-logo{margin-top:20px;margin-bottom:27px}.flow-body{padding:20px 13px}.flow-body h2{font-size:20px}.realm-card{gap:7px}.realm-card b{font-size:12px}.realm-card small{font-size:8px}.realm-card em{font-size:8px}.character-heading h2{font-size:23px}.character-preview{height:196px}.character-title h3{font-size:25px}.hero-description{font-size:10px}.character-select button>span{font-size:10px}.player-hud{gap:6px;padding-right:7px;padding-left:6px}.player-avatar{width:45px;height:45px;min-width:45px}.player-info>b{font-size:11px;max-width:115px}.player-info>span small{font-size:7px;margin-left:2px}.wallet{min-width:74px}.wallet>span{min-width:70px;gap:4px}.wallet b{font-size:10px}.quest-ribbon b{font-size:10px}.quest-ribbon em{font-size:8px}.quest-ribbon{gap:6px;padding:7px}.skill-slot>b{font-size:8px}.skill-row{gap:6px}.control-deck{padding-left:9px;padding-right:9px}.growth-top{grid-template-columns:38% 1fr;gap:7px}.stat-line{padding-left:5px}.stat-line>span{gap:3px}.stat-line span>.ico{display:none}.stat-line>button{width:58px;min-width:58px}.guide-card{padding:22px 14px}.guide-card h2{font-size:22px}}
@media(max-height:760px){.auth-entry .entry-heroes{height:150px}.auth-entry .game-logo{margin-top:0}.auth-entry .game-logo h1{font-size:29px}.auth-entry .game-logo>span{font-size:10px;margin-top:3px}.auth-box label{margin-top:7px}.auth-box input{min-height:43px}.auth-box .flow-steps{margin-bottom:8px}.auth-tabs{margin-bottom:8px}.entry-version{margin-top:13px}.hero-entry .character-heading{margin-top:9px}.hero-entry .character-preview{height:175px}.hero-entry .character-select{height:70px}.hero-entry .hero-description{padding-top:8px;font-size:10px}.hero-entry form{margin-top:8px}.hero-entry .flow-steps{margin-top:3px;margin-bottom:8px}.skill-slot{height:79px}.skill-slot>span{height:30px;width:30px}.skill-slot>span .ico{height:19px;width:19px}.control-deck{padding-bottom:8px}.quest-ribbon{min-height:46px}.player-hud{height:64px;min-height:64px}.play-tools{top:71px}.bottom-nav{height:calc(61px + var(--safe-bottom));min-height:calc(61px + var(--safe-bottom));padding-top:4px;padding-bottom:calc(4px + var(--safe-bottom))}.bottom-nav button{min-height:49px}.bottom-drawer{bottom:calc(61px + var(--safe-bottom));max-height:74%}.arena .unit{bottom:11%;height:43%}.arena .enemy-unit{height:33%;bottom:23%}.arena .boss-unit{height:44%;bottom:16%}.arena-bottom{bottom:10px}.stage-hud{top:17%}}
@media(max-height:520px) and (orientation:landscape) and (max-width:950px){.rotate-hint{position:fixed;inset:0;z-index:1000;background:#152239;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#f0ddb0;font-size:20px;gap:13px;text-align:center}.rotate-hint small{font-size:12px;color:#9eafc1}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.skill-wave,.impact-particle{display:none}}

/* Five DeckToon heroes; one character per server. */
.character-select{grid-template-columns:repeat(5,1fr);gap:6px}.character-select button{flex-direction:column;justify-content:flex-end;height:91px;padding:5px 2px;gap:0}.character-select .character-art{position:absolute;top:0;left:-16%;width:132%;height:70px;margin:0}.character-select button>span{position:relative;z-index:2;font-size:10px;margin:0;background:#172a40b3;width:100%;text-align:center;padding:2px 0;border-radius:4px}.character-select small{font-size:6px;margin:1px 0 0}.character-preview>.character-art{width:92%;margin-left:-12%}.player-avatar .character-art{width:85px;height:81px;transform:translate(-18px,0)}.entry-heroes .side-left{left:-14%}.entry-heroes .side-right{right:-14%}.entry-heroes .front{width:85%;left:7%;height:118%}.growth-art .character-art{width:155%;left:-27%;height:87%;bottom:23px}.hero-entry .character-select{height:auto}
.arena .hero-unit{height:auto;aspect-ratio:1.2;bottom:16%}.enemy-unit .sprite-rig{transform:none}.combat-shot{position:absolute;z-index:7;left:34%;top:61%;width:28px;height:28px;background:radial-gradient(#fff,var(--hero-color) 35%,transparent 70%);border-radius:50%;filter:drop-shadow(0 0 7px var(--hero-color));animation:projectile-flight .3s ease-in forwards}.combat-shot.special{width:54px;height:54px}.shot-H01,.shot-H02{left:63%;top:54%;width:83px!important;height:83px!important;background:none;border:7px solid transparent;border-top-color:var(--hero-color);border-right-color:#fff9;border-radius:50%;animation:weapon-swing .35s ease-out forwards}.shot-H01.special{border:5px solid var(--hero-color);width:120px!important;height:50px!important;top:69%;left:61%;animation:ground-shock .55s ease-out forwards}.shot-H02.special{box-shadow:12px 7px 0 -3px #dcfbff8c,-10px -7px 0 -3px #8ff4ff8c}.shot-H04{border-radius:1px;height:5px;width:55px;background:linear-gradient(90deg,transparent,#fff,var(--hero-color));rotate:-15deg}.shot-H04.special{height:7px;width:90px;box-shadow:0 16px 0 #cfa0ff,0 -16px 0 #fff4}.shot-H05{background:radial-gradient(#fff9c3,#ffce57 25%,#f87332 45%,transparent 65%)}
@keyframes projectile-flight{0%{translate:0 0;opacity:0;scale:.5}20%{opacity:1}90%{opacity:1}100%{translate:var(--travel) -28px;opacity:0;scale:1.4}}@keyframes weapon-swing{0%{rotate:-110deg;scale:.5;opacity:0}35%{opacity:1}100%{rotate:65deg;scale:1.2;opacity:0}}@keyframes ground-shock{0%{scale:.25;opacity:1}100%{scale:2;opacity:0}}
@media(prefers-reduced-motion:reduce){.combat-shot{animation-duration:.1s!important}}
.player-avatar .character-art{transform:translate(-18px,-12px)}
.panel-open .hero-unit{width:34%;bottom:64%;left:7%}.panel-open .enemy-unit{width:28%;height:auto;aspect-ratio:1;bottom:66%;right:7%}.panel-open .boss-unit{width:32%}.panel-open .stage-hud{top:2%;width:58%}.panel-open .play-tools{display:none}
/* Content Studio: configurable motion sheets, story scenes and the upcoming arena. */
.custom-art{object-fit:contain;overflow:hidden;pointer-events:none}.sprite-rig>.custom-art{width:100%;height:100%;object-fit:contain}.character-select{overflow-x:auto;display:flex!important;padding-bottom:6px}.character-select button{min-width:67px;flex:1}.character-select .custom-art{width:100%;left:0}.character-preview>.custom-art{width:80%;margin-left:0;object-fit:contain}.player-avatar>.custom-art{width:65px;height:65px;transform:translate(-5px,2px)}.growth-art>.custom-art{width:110%;left:-5%;height:85%}.entry-heroes>img{object-fit:contain}.custom-skill-effect{position:absolute;z-index:14;left:48%;top:38%;width:55%;aspect-ratio:1;pointer-events:none}.custom-skill-effect>.character-art{width:100%;height:100%;object-fit:contain}.story-overlay{z-index:55;background:#122337c9;backdrop-filter:blur(6px)}.story-card{width:89%;max-height:85%;overflow:auto;border-radius:18px;padding:26px 24px;background:linear-gradient(150deg,#fdf9ef,#e4ebf2);border:1px solid #d5bd86;box-shadow:0 20px 70px #0b192d80}.story-card .eyebrow{color:#98793e;font-size:10px}.story-card h2{font-size:23px;color:#263d54;margin:14px 0 20px}.story-card p{white-space:normal;line-height:1.9;color:#5b687b;font-size:13px;margin-bottom:24px}.story-card video{width:100%;max-height:260px;background:#142439;border-radius:8px}.pvp-preview{text-align:center;padding:28px 15px 35px}.pvp-preview>.ico{width:55px;height:55px;color:#ba9c5f}.pvp-preview>small{display:block;margin-top:20px;letter-spacing:3px;font-size:10px;color:#9a854e}.pvp-preview h3{font-size:22px;color:#254057}.pvp-preview p{font-size:12px;line-height:1.9;color:#7a879a}.story-replay{margin:0 0 12px;width:100%}.bottom-nav{grid-template-columns:repeat(5,1fr)}
