html,body{margin:0;width:100%;min-height:100%;background:#000}body:not(.in-world) main{display:none}.login-screen{min-height:100dvh;display:grid;place-items:center;background:#000}.login-stage{position:relative;width:min(100vw,133.333dvh);aspect-ratio:4/3;background:url("assets/client/images/310.img.png") center/100% 100% no-repeat;container-type:inline-size;image-rendering:pixelated}.parchment-copy{position:absolute;left:10.8%;top:17.3%;width:22.7%;color:#111;font-family:PMingLiU,"新細明體",serif;font-size:1.65cqw;line-height:1.16}.parchment-copy h1{font-size:1.8cqw;font-weight:400;margin:0 0 2.3cqw;white-space:nowrap}.parchment-copy p{margin:1cqw 0}.parchment-copy hr{border:0;border-top:2px solid #24201b;margin:1.4cqw 0}.connection-message{font-size:1.35cqw;overflow-wrap:anywhere;max-height:14cqw;overflow:auto}.account-label,.password-label{position:absolute;left:57.2%;font-family:PMingLiU,"新細明體",serif;color:#dbd9cc;font-weight:bold;font-size:2cqw;text-shadow:1px 1px #38372e}.account-label{top:44.1%}.password-label{top:52%}.account-input,.password-input{box-sizing:border-box;position:absolute;left:71.2%;width:17.7%;height:3.4%;margin:0;padding:0 .7cqw;border:1px solid #30302d;background:#111111d9;color:#eee;font-size:1.65cqw;border-radius:0;outline:none}.account-input{top:44.1%}.password-input{top:52%}.account-input:focus,.password-input:focus{border-color:#b1a37a;box-shadow:0 0 0 1px #716140}.original-login{position:absolute;left:73%;top:81.5%;width:12%;height:6%;margin:0;border:0;background:transparent;color:#c4c39e;font-family:PMingLiU,"新細明體",serif;font-weight:bold;font-size:2.4cqw;text-shadow:1px 1px #65644e;cursor:pointer}.original-login:hover,.original-login:focus-visible{color:#fff0b5;background:#17150d55}.preview-entry{position:absolute;left:74%;top:94%;font-family:PMingLiU,"新細明體",serif;color:#b9b797;font-size:1.65cqw;text-decoration:none}.diagnostic{position:absolute;left:55%;bottom:2%;font-size:1cqw;color:#797868}.diagnostic button{font-size:1cqw;padding:.3cqw;background:#151515;color:#c9c6ae}.in-world .login-screen,.choosing-character .login-screen{display:none}body.in-world main,body.choosing-character main{display:block;margin:0;padding:0;height:100dvh}body.in-world .game-shell,body.choosing-character .game-shell{height:100dvh;width:100%;border:0;box-shadow:none}body.choosing-character .game-shell{background:url("assets/client/images/105.img.png") center/contain no-repeat #000}body.choosing-character #game,body:not(.in-world) .game-ui{visibility:hidden}body.choosing-character .characters{position:absolute;left:8%;right:8%;bottom:8%;top:auto;background:#090909dc;padding:20px;border:1px solid #96804b}.in-world #characters.hidden{display:none}@media(max-width:600px){.login-stage{width:100vw}.account-input,.password-input{height:5%}.parchment-copy{font-size:1.9cqw}.original-login{height:9%;font-size:3cqw}}
.login-stage .parchment-copy h1,.login-stage .parchment-copy p{color:#17130e;text-shadow:none}.login-stage .parchment-copy h1{font-weight:600}

.login-stage .account-label,.login-stage .password-label{margin:0;line-height:1.5cqw;height:3.4%;display:flex;align-items:center}.login-stage .account-input,.login-stage .password-input{margin:0;line-height:normal}.login-stage .original-login{width:12%;padding:0;line-height:1;display:grid;place-items:center}
body.choosing-character main{background:#000;display:grid;place-items:center}body.choosing-character .game-shell{width:min(100vw,133.333dvh);height:auto;aspect-ratio:4/3;background:#000}body.choosing-character .characters{inset:0;padding:0;margin:0;border:0;background:transparent;display:block}.character-stage{position:absolute;inset:0;background:url('assets/client/images/105.img.png') center/100% 100%;container-type:inline-size}.character-slots{position:absolute;left:9%;right:9%;top:2%;height:56%;display:flex;justify-content:space-between;overflow-x:auto}.character-slot{flex:0 0 28%;height:100%;margin:0;padding:0;border:0;background:transparent;position:relative;opacity:.75}.character-slot.selected{opacity:1}.character-slot canvas,.character-slot img{width:100%;height:100%;object-fit:contain;background:transparent;image-rendering:pixelated}.character-slot span{position:absolute;left:0;right:0;bottom:0;color:#d2c390;font-size:1.4cqw}.character-stats{position:absolute;left:10%;top:62%;width:63%;color:#ddd;font-family:PMingLiU,serif;font-size:2cqw}.character-stats div{display:flex;gap:6%;margin:1cqw 0}.character-stats span{width:25%;color:#d4c99e}.character-stats strong{font-weight:400;background:#15151599;min-width:30%;padding:0 .6cqw}.character-enter,.character-cancel{position:absolute;left:80%;width:12%;height:4%;padding:0;margin:0;background:transparent;border:0;font:700 2.3cqw PMingLiU,serif;color:#d4c99e}.character-enter{top:84%}.character-cancel{top:89%}.character-status{position:absolute;left:9%;bottom:1%;font-size:1.2cqw;color:#ead5a0!important}

/* Original 640 × 480 selection composition; IMG frames retain native proportions. */
.character-slots{left:10.94%;right:9.69%;top:0;height:60.833%;gap:7.1875cqw;justify-content:flex-start;overflow-x:auto;scrollbar-width:thin}.character-slot{flex:0 0 20.625cqw;height:45.625cqw;opacity:1}.character-slot img{width:100%;height:100%;object-fit:contain}.character-slot.selected{background:transparent}.character-stats{left:8.594%;top:59.792%;width:68.75%;height:38.542%;background:url('assets/client/images/104c.img.png') center/100% 100% no-repeat;font:1.875cqw PMingLiU,serif;color:#eee}.character-stats .selection-value{position:absolute;display:block;margin:0;padding:0 .45cqw;box-sizing:border-box;height:3.3cqw;line-height:2.4cqw;text-align:left;white-space:nowrap;overflow:hidden;text-shadow:1px 1px #111}.character-enter,.character-cancel{left:82%;width:12.188%;height:4.375%;border:0;background:transparent;cursor:pointer}.character-enter{top:84%}.character-cancel{top:89%}.character-enter img,.character-cancel img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.character-enter:disabled{opacity:.4}.character-enter:hover,.character-cancel:hover{filter:brightness(1.35)}.character-status{left:8.6%;bottom:0;margin:0;font-size:1.3cqw;max-width:70%;background:#0009}.character-slot .portrait-unavailable{bottom:15%;font-size:1.5cqw;color:#dbc99a}.character-slot:focus-visible{outline:1px solid #dec58b;outline-offset:-2px}

body.choosing-character main{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:0;min-height:0;width:100vw;height:100dvh;overflow:hidden}body.choosing-character .game-shell{justify-self:center;align-self:center;min-height:0;max-height:100dvh;flex:none}.character-slots{left:10.9375%;right:0;gap:8.125cqw}.character-stats{left:8.594%;top:60%;height:38.542%}.character-enter,.character-cancel,.character-delete{left:79.6875%;width:17.5%;height:3.9583%;margin:0;padding:0;border:0;background:transparent}.character-enter{top:84%}.character-cancel{top:88%}.character-delete{position:absolute;top:94%;font:700 2cqw PMingLiU,serif;color:#c4c39e;letter-spacing:.35cqw;cursor:pointer;text-shadow:1px 1px #65644e}.character-delete:hover{color:#fff0b5}.character-stats .selection-value{font-size:1.875cqw;line-height:2.5cqw;height:2.8cqw}

/* Scope beats the shared game-shell button rules, including hover and padding. */
body.choosing-character .character-stage button,body.choosing-character .character-stage button:hover{border:0;background:transparent;padding:0;margin:0;box-shadow:none}body.choosing-character .character-stage .character-slot{width:20.625cqw;height:45.625cqw}body.choosing-character .character-stage .character-enter,body.choosing-character .character-stage .character-cancel,body.choosing-character .character-stage .character-delete{width:17.5cqw}body.choosing-character .character-stage .character-delete{color:#c4c39e;font:700 2cqw PMingLiU,serif}.character-stats{left:6.25%;top:59.5833%}

.character-slot img{transform:translateY(-3.75cqw)}.character-slot.empty-slot img{clip-path:inset(45% 0 0 0)}

.character-stats .selection-value{height:2.03125cqw;line-height:2.03125cqw;color:#eee;font-family:PMingLiU,"細明體",monospace}

body.choosing-character{height:100dvh;overflow:hidden}body.choosing-character main{min-height:0;overflow:hidden}.character-slots{overflow:hidden;scrollbar-width:none}.character-slots::-webkit-scrollbar{display:none}.character-slot .empty-sword{width:100%;height:100%;background:transparent;transform:translateY(-3.75cqw);image-rendering:pixelated}.character-slot.empty-slot img{clip-path:none}
.creation-stage{background-image:url('assets/client/images/310.img.png')}.creation-copy{position:absolute;left:10.8%;top:38%;width:29%;font:1.875cqw/1.25 PMingLiU,serif;color:#111}.creation-copy p{color:#111;margin:0 0 1.5cqw}.creation-portrait{position:absolute;left:63%;top:-1%;width:20.625%;height:60.833%;object-fit:contain;image-rendering:pixelated}.creation-job{position:absolute;width:10%;height:12%;cursor:pointer}.creation-job img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.creation-job:nth-of-type(1){left:51%;top:7%}.creation-job:nth-of-type(2){left:51%;top:21%}.creation-job:nth-of-type(3){left:86%;top:7%}.creation-job:nth-of-type(4){left:86%;top:21%}.creation-gender{position:absolute;top:53%;width:7%;height:7%;color:#d3c999!important;font:italic 3cqw Georgia,serif!important}.creation-gender.male{left:55%}.creation-gender.female{left:86%}.creation-values{position:absolute;left:51%;top:65%;width:44%;display:grid;grid-template-columns:1fr 1fr;gap:.7cqw 2cqw;font:1.65cqw PMingLiU,serif;color:#eee}.creation-values label{display:flex;align-items:center;gap:.6cqw;margin:0}.creation-values input{width:6cqw;height:2.5cqw;padding:0;margin:0;text-align:center;font:inherit;background:#1119}.creation-remaining{position:absolute;left:68%;top:62%;color:#d3c999;font:1.8cqw PMingLiU,serif}.creation-name-label{position:absolute;left:57%;top:79%;margin:0;font:1.875cqw PMingLiU,serif;color:#d3c999}.creation-name{position:absolute;left:71%;top:79%;width:17.7%;height:3.4%;padding:0 .5cqw;margin:0;background:#111a;color:#fff;font:1.875cqw PMingLiU,serif}.creation-stage .character-enter{left:70%;top:87%}.creation-stage .character-cancel{left:70%;top:91%}.creation-stage .character-status{left:51%;width:45%;bottom:1%}

.creation-board{position:absolute;left:52.2%;top:65.8%;width:45.625%;height:17.5%;background:url('assets/client/images/106c.img.png') center/100% 100% no-repeat;image-rendering:pixelated}.creation-values{left:52.2%;top:65.8%;width:45.625%;height:17.5%;display:block}.creation-values label{position:absolute;width:5cqw;height:2.4cqw;margin:0;gap:0}.creation-values label:nth-child(odd){left:27.4%}.creation-values label:nth-child(even){left:80%}.creation-values label:nth-child(1),.creation-values label:nth-child(2){top:0}.creation-values label:nth-child(3),.creation-values label:nth-child(4){top:19%}.creation-values label:nth-child(5),.creation-values label:nth-child(6){top:38%}.creation-values input{width:100%;height:100%;border:0;border-radius:0;padding:0;appearance:textfield;background:#0005}.creation-values input::-webkit-inner-spin-button{opacity:1}.creation-name-label{visibility:hidden}.creation-remaining{left:66%;top:62.4%;font-size:1.65cqw}.creation-name{top:79.5%}
/* Native 640 x 480 creation coordinates and original bitmap controls. */
.creation-copy{left:10.9375%;top:11.25%;width:28.125%;height:66.875%;font:1.875cqw/2.2cqw PMingLiU,serif;white-space:pre-wrap;overflow:auto;scrollbar-width:none}
.creation-copy::-webkit-scrollbar{display:none}.creation-copy p{margin:0}
.creation-portrait{left:65.625%;top:-1%;width:20.625%;height:60.833333%}
.creation-gender{top:51.666667%;width:4.6875%;height:9.166667%;padding:0!important;border:0!important;background:transparent!important}
.creation-gender.male{left:55.3125%}.creation-gender.female{left:85.9375%}.creation-gender img{width:100%;height:100%;image-rendering:pixelated}
.creation-values label{width:10.3125cqw;height:2.4cqw;gap:0}.creation-values label:nth-child(odd){left:24.66%}.creation-values label:nth-child(even){left:63.7%}
.creation-values input{width:3.4375cqw;flex:none;background:transparent;color:#eee;font:1.875cqw/2.4cqw PMingLiU,monospace;border:0;outline:none;appearance:textfield}.creation-values input::-webkit-inner-spin-button{display:none}
.creation-stat-step{width:1.5625cqw!important;height:1.5625cqw!important;padding:0!important;margin:.2cqw .15cqw!important;border:1px solid #555!important;border-radius:0!important;background:#111!important;display:grid;place-items:center}
.creation-stat-step img{width:1.09375cqw;height:1.09375cqw;image-rendering:pixelated}
.creation-remaining{left:71.875%;top:68.333333%;width:3.75%;height:4.375%;background:url('assets/client/images/714.img.png') -3.125cqw -6.875cqw/9.6875cqw 10.15625cqw no-repeat;text-align:center;color:white;font:2.5cqw/3.28125cqw PMingLiU,monospace}
.creation-name{border:0;border-radius:0;background:#111;left:71.25%;top:79.166667%;width:17.8125%;height:2.916667%}
.creation-remaining::before{content:'屬性分配點數';position:absolute;left:-4.84375cqw;top:-3.4375cqw;width:13.4375cqw;color:#d3c999;font:1.875cqw/2.1875cqw PMingLiU,serif;white-space:nowrap}
.creation-remaining{background-position:-3.28125cqw -5.15625cqw}
.creation-remaining{z-index:3}.creation-name{box-sizing:border-box}
.creation-remaining{font-size:1.875cqw}
.creation-values label:nth-child(even){left:55.1%}
.creation-values label:nth-child(even) input{order:3}
.creation-values label:nth-child(odd){left:27.4%}
.creation-remaining::before{top:-4.6875cqw}
.creation-name{background:transparent!important;outline:none!important;box-shadow:none!important;padding:0!important;color:#eee}

/* Mirror the left allocation column around the central points counter. */
.creation-board{background-image:url('assets/client/images/106c-balanced.img.png')}
.creation-values label:nth-child(odd){left:23.8%}

.creation-board::before{content:"";position:absolute;left:-3.75cqw;top:0;width:15.625cqw;height:9.375cqw;background:url("assets/client/images/106c-left-stats.img.png") center/100% 100% no-repeat;image-rendering:pixelated}

/* V47: fit original character descriptions without single-character wraps. */
.creation-copy{font-size:1.45cqw;line-height:1.8cqw;white-space:pre-wrap;overflow-wrap:normal;word-break:keep-all}.creation-name{left:72.1%;top:79.5%;width:17%;}

/* Keep typed character names inside the original name field artwork. */
.creation-name{text-indent:1.2cqw!important}

@media(pointer:coarse){.login-stage input{font-size:16px}}

/* Community link stays inside the login stage, clear of the account fields. */
.login-community-link{position:absolute;right:max(18px,2.5%);top:max(16px,2.5%);z-index:2;display:grid;place-items:center;min-width:88px;min-height:44px;line-height:0;text-decoration:none}
.login-community-link img{display:block;width:88px;height:31px;max-width:none;image-rendering:auto}
.login-community-link:focus-visible{outline:2px solid #f7d78e;outline-offset:4px}
@media(max-width:480px){.login-community-link{right:12px;top:8px}}
