[hidden]{display:none!important}#account-gate{position:fixed;inset:0;z-index:200;background:#111625;color:#e8ddc6;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:6vw;padding:6vh 9vw;font-family:'Malgun Gothic',sans-serif;overflow:auto}.login-landscape{position:absolute;inset:0;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 27% 20%,#455165 0,transparent 42%),linear-gradient(#111827,#23293a 60%,#161b20)}.login-moon{position:absolute;left:24%;top:11%;width:135px;height:135px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#f4ead1,#c8b899);box-shadow:0 0 90px #ead7a133,0 0 160px #ead7a11a}.mountain{position:absolute;left:-10%;bottom:0;width:130%;height:53%;clip-path:polygon(0 65%,12% 45%,20% 51%,37% 9%,48% 35%,60% 4%,72% 42%,82% 20%,100% 68%,100% 100%,0 100%);background:#182129}.mountain.far{bottom:12%;background:#323b47;opacity:.6}.mountain.near{transform:scaleX(-1);height:42%;background:#0d171f}.login-pavilion{position:absolute;bottom:8%;left:9%;width:280px;height:190px;border-bottom:10px solid #090e12}.login-pavilion i{position:absolute;top:0;left:-40px;width:360px;height:90px;background:#10141a;clip-path:polygon(0 60%,23% 42%,50% 0,77% 42%,100% 60%,95% 82%,5% 82%)}.login-pavilion b{position:absolute;left:30px;right:30px;top:68px;bottom:0;border-left:12px solid #111417;border-right:12px solid #111417;background:repeating-linear-gradient(90deg,transparent 0 37px,#172028 37px 45px)}.login-title,.login-card,.login-footer{position:relative;z-index:1}.login-title small{letter-spacing:12px;font-size:17px;color:#ccb787}.login-title h1{font:64px Batang,serif;letter-spacing:12px;margin:20px 0 30px;color:#f4e2b5;text-shadow:0 3px 20px #000}.login-title p{font-size:17px;line-height:2;color:#c4c7c9}.login-heroes{display:flex;align-items:end;height:185px;margin-top:32px}.login-heroes svg{width:140px;height:180px;filter:drop-shadow(0 7px 5px #0008);image-rendering:pixelated}.login-heroes svg:nth-child(2){transform:scale(1.15)}.login-card{width:100%;max-width:430px;justify-self:end;background:#201f1eee;border:1px solid #9f8960;padding:28px 32px;box-shadow:0 0 0 5px #11182099,0 20px 90px #0007}.login-card-top{font-size:12px;letter-spacing:3px;color:#b9a078;margin-bottom:22px}.login-card nav{display:flex;gap:20px;border-bottom:1px solid #544b3a}.login-card nav button{border:0;border-radius:0;background:none;padding:10px 0;color:#a99f8e}.login-card nav .active{border-bottom:2px solid #ddbd76;color:#efdbb1}.login-card h2{font-size:20px;font-weight:400;margin:24px 0}.login-card label{display:block;font-size:13px;color:#c8bca4;margin:15px 0}.login-card input{display:block;width:100%;margin-top:8px;background:#11171c;border:1px solid #514c42;color:#f4ecd9;padding:12px 13px;font-size:15px;box-sizing:border-box;outline:none;border-radius:3px}.login-card input:focus{border-color:#d9bb7c;box-shadow:0 0 0 2px #c9a86e22}.login-card button{cursor:pointer}.login-card button:disabled{cursor:default;opacity:.55}.login-submit{width:100%;padding:14px;background:linear-gradient(#bda16b,#897040);color:#171814;border:1px solid #d4ba82;border-radius:3px;font:16px 'Malgun Gothic',sans-serif}.login-social{margin-top:22px;padding-top:16px;border-top:1px solid #4c4333;font-size:12px;color:#a99f8e}.login-social>div{display:flex;gap:8px;margin-top:12px}.login-social button{flex:1;padding:9px 3px;background:#343229;border:1px solid #67604d;color:#dfd4bd;border-radius:3px}.local-account-note{font-size:11px;line-height:1.8;color:#aaa293;margin:18px 0 0}#account-error{font-size:13px;line-height:1.5;color:#f2a299;min-height:18px}.login-footer{position:absolute;bottom:22px;left:9vw;right:9vw;font-size:11px;color:#96998f;display:flex;justify-content:space-between}.login-stars{position:absolute;left:12%;top:16%;color:#e1d1a3}.login-stars span{position:absolute;left:400px;top:40px}.login-stars em{position:absolute;left:220px;top:210px;font-size:10px}@media(max-width:800px){#account-gate{grid-template-columns:1fr;padding:24px;gap:12px;align-content:start}.login-title{text-align:center}.login-title h1{font-size:36px;margin:10px 0}.login-title p,.login-heroes,.login-title small,.login-footer{display:none}.login-card{justify-self:center;padding:20px;box-sizing:border-box}.login-card h2{font-size:18px}.login-moon{width:85px;height:85px;left:12%;top:4%}}

#account-gate.character-gate{display:block;padding:4vh 6vw}.character-roster{position:relative;z-index:1;max-width:1100px;margin:auto;padding:24px;background:#201f1eee;border:2px solid #aa8b54;box-shadow:0 15px 70px #0008}.character-roster header,.character-roster footer{display:flex;justify-content:space-between;align-items:center;gap:18px}.character-roster h1{font-size:30px;font-weight:400;margin:8px 0}.character-roster p{font-size:13px;line-height:1.7;color:#c4bba8}.character-roster button{background:#483923;color:#f4dfb3;border:1px solid #aa8b54;padding:10px;cursor:pointer}.character-roster button:disabled{opacity:.45;cursor:default}.character-slots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:18px 0}.character-roster .character-slot{display:flex;flex-direction:column;align-items:center;min-height:174px;padding:8px;background:radial-gradient(ellipse at 50% 65%,#414734,#20241e 80%)}.character-slot.selected{outline:2px solid #edcf82;box-shadow:0 0 20px #d0a64b33}.character-slot small{align-self:start;color:#a5977c;font-size:11px}.character-slot b{font-size:14px;font-weight:400}.character-slot span{font-size:12px;margin:4px 0}.character-slot canvas{width:100px;height:100px;image-rendering:pixelated}.character-roster .empty-character{font-size:50px;color:#86744f;margin:22px 0}.character-roster form{display:flex;gap:12px;align-items:end}.character-roster label{font-size:13px}.character-roster input{margin-left:12px;background:#11171c;border:1px solid #817052;color:#f0e3c9;padding:12px;max-width:220px}#character-enter{font-size:17px;padding:16px 26px;background:linear-gradient(#c7ab70,#94733c);color:#201a10}#character-error{color:#f4aba1;min-height:20px}@media(max-width:700px){#account-gate.character-gate{padding:12px}.character-roster{padding:14px}.character-slots{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.character-roster form,.character-roster footer{align-items:stretch;flex-direction:column}.character-roster input{margin:8px 0 0;width:100%;max-width:none}.character-roster label{display:block}.character-roster h1{font-size:24px}}

#account-gate .character-roster>header{height:auto;min-height:0;padding:0 0 12px;margin:0;background:none;border:0;box-shadow:none;position:relative}#account-gate .character-roster>header p{margin:8px 0 0}#account-gate .character-roster>header small{display:block}

#character-delete{color:#ffb8a9;border-color:#a96652;white-space:nowrap}.character-delete-dialog{max-width:440px;width:calc(100% - 48px);box-sizing:border-box;background:#24211d;color:#eadbc0;border:2px solid #ba9258;padding:26px;box-shadow:0 20px 80px #000b}.character-delete-dialog::backdrop{background:#080c12cc}.character-delete-dialog h2{font-size:22px;font-weight:400;margin:0 0 20px}.character-delete-dialog p{font-size:14px;line-height:1.8}.character-delete-dialog label{display:block;font-size:13px}.character-delete-dialog input{display:block;box-sizing:border-box;width:100%;padding:12px;margin-top:8px;background:#121619;color:#fff;border:1px solid #a18760;font:16px 'Malgun Gothic',sans-serif}.character-delete-dialog button{padding:12px 18px;background:#493d2b;color:#eddfc5;border:1px solid #ab8b57;cursor:pointer}.character-delete-dialog form>div{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}#character-delete-confirm{background:#833b2c;border-color:#c7765a}#character-delete-confirm:disabled{opacity:.4;cursor:default}#character-delete-error{color:#ffb8a9}#account-level-bonus{color:#e8cc85}

/* Original moonlit village illustration, shared with the character hall. */
#account-gate{--account-frame:url('../../assets/rpg/antique-frame-v2.png');padding:6vh 8vw;gap:7vw}
.login-landscape{position:fixed;background:linear-gradient(90deg,#08101c14,#09111d00 43%,#080d1880),url('../../assets/rpg/title-village-v2.png') center/cover no-repeat}
.login-landscape>div{display:none}
.login-title{align-self:start;margin-top:7vh;padding:22px 0;text-shadow:0 3px 8px #070b15,0 0 24px #050a12}
.login-title small{letter-spacing:10px;font-size:15px;color:#f0d192}
.login-title h1{font-family:'Batang',serif;font-size:72px;line-height:1.3;letter-spacing:14px;margin:12px 0 24px;color:#ffedbd;text-shadow:0 2px #714928,0 5px 12px #030712}
.login-title p{font-size:15px;color:#dfd7c9;line-height:2.1;letter-spacing:2px}
.login-heroes{display:none}
.login-card,.character-roster{box-sizing:border-box;background:linear-gradient(135deg,#302b25f5,#151d26f5);border:10px solid #a58148;border-image:var(--account-frame) 10% / 10px stretch;box-shadow:0 18px 70px #0009,inset 0 0 25px #0c0e13a0}
.login-card{max-width:430px;padding:24px 28px}
.login-card-top{color:#d4b67c;letter-spacing:4px}
.login-card nav{gap:26px}
.login-card input{background:#0c1420c9;border-color:#74603d;box-shadow:inset 0 2px 6px #0005}
.login-card input::placeholder{color:#94948c;font-size:13px}
.login-submit,#character-enter{background:linear-gradient(#ebcf90,#c19951 48%,#94642f);border-color:#f0d294;color:#2c2015;text-shadow:0 1px #fff4;box-shadow:inset 0 0 0 1px #775127,0 3px 7px #0007}
.login-submit:hover,#character-enter:hover{filter:brightness(1.1)}
.login-footer{color:#ded2b8;text-shadow:0 2px 3px #030712}
#account-gate.character-gate{padding:4vh 5vw}
.character-roster{padding:22px 28px;background:linear-gradient(145deg,#252c32ed,#1b2029f5)}
.character-roster h1{font-family:'Batang',serif;color:#f3dbab;letter-spacing:4px}
.character-roster .character-slot{position:relative;overflow:hidden;border-color:#806438;background:radial-gradient(ellipse at 50% 66%,#b6a16733,transparent 43%),linear-gradient(145deg,#36403e80,#15212a);box-shadow:inset 0 0 12px #0007;transition:border-color .12s,background-color .12s}
.character-roster .character-slot::after{content:'';position:absolute;left:15%;right:15%;height:9px;top:114px;border:1px solid #bd935b55;border-radius:50%;background:#ab945216;pointer-events:none}
.character-roster .character-slot>*{position:relative;z-index:1}
.character-roster .character-slot.selected{outline:1px solid #ffdf88;outline-offset:2px;border-color:#e0bc76;background:radial-gradient(ellipse at 50% 63%,#ddbd7650,transparent 56%),linear-gradient(145deg,#4b4536,#202a2c);box-shadow:inset 0 0 12px #e1b86422,0 0 14px #b2894133}
.character-slot:hover{border-color:#e2c18b}
.character-slot b{color:#f3dfb7}
.character-slot span{color:#c2c7c2}
.character-roster .empty-character{color:#a08861;text-shadow:0 1px #151819}
.character-roster form{padding-top:12px;border-top:1px solid #8d734744}
@media(max-width:800px){#account-gate{padding:20px;gap:8px}.login-landscape{background-position:37% center}.login-title{margin:0;padding:8px 0}.login-title h1{font-size:38px;letter-spacing:7px;margin:4px 0 10px}.login-card{padding:18px}.login-footer{display:none}}
@media(max-width:700px){#account-gate.character-gate{padding:12px}.character-roster{padding:14px}.character-roster>header{flex-wrap:wrap}.character-roster h1{font-size:24px}.character-roster form{flex-direction:column;align-items:stretch}.character-roster input{box-sizing:border-box}.character-roster footer{gap:10px}}

#account-gate .login-footer{height:auto;min-height:0;background:none;border:0;box-shadow:none;padding:0;align-items:center}
