/* Account and game profile presentation. All character/UI art is extracted from the supplied IPA. */
.hero{height:auto;min-height:0;max-height:none;aspect-ratio:4/3}.hero-image{background-size:100% 100%;background-position:center}.hero-note,.hero-index{display:none}.hero .scroll-cue{bottom:15px}.account .online-badge{display:none}.account.online{padding:0;width:147px;min-width:105px;max-width:147px;height:59px;background:transparent;clip-path:none;filter:none;overflow:visible}.account.online>svg,.account.online>span{display:none}.account.online .online-badge{display:block;width:100%;height:100%;object-fit:contain;clip-path:polygon(0 58%,14% 24%,82% 24%,95% 58%,82% 92%,14% 92%)}
.auth-tabs{display:flex;gap:28px;justify-content:center;border-bottom:1px solid #e3dbe9;margin-bottom:26px}.auth-tabs button{font-size:12px;letter-spacing:3px;padding:10px 17px;color:#a597b1;border-bottom:2px solid transparent}.auth-tabs button[aria-pressed=true]{color:#664a7d;border-color:#846495}#register-form{text-align:left}#register-form label{display:block;font-size:11px;letter-spacing:1px;margin-bottom:18px}#register-form input{width:100%;display:block;margin-top:9px;border:0;border-bottom:1px solid #d8cfe1;background:#ffffff80;padding:13px 12px;font-size:12px}#register-form input::placeholder{color:#b5a9be}#register-form .primary{width:100%}.preview-profile-button{display:block;font-size:11px;color:#8c719e;border-bottom:1px solid #cbbbd6;margin:0 auto 20px;padding:7px 15px}
.profile-dialog{width:595px;max-width:calc(100vw - 24px);padding:0;background:#292735;color:#fff;border:0;max-height:92svh;scrollbar-width:thin;scrollbar-color:#9f8aaf #2d293a}.profile-dialog .close-dialog{z-index:5;color:#5c4d6c;top:12px;right:15px;background:#fff9;width:33px;height:33px;display:grid;place-items:center;border-radius:50%;font-size:24px;padding:0}.profile-mast{height:225px;background:linear-gradient(0deg,#ffffffd9,#ffffff15),url('/assets/game/img/world/1080/3.jpg') center 20%/cover;position:relative}.profile-heading{position:absolute;width:77%;bottom:-50px;left:11.5%;height:130px;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#faf9fc;clip-path:polygon(16% 0,84% 0,100% 50%,84% 100%,16% 100%,0 50%);color:#111;z-index:3;filter:drop-shadow(0 4px 6px #1113)}.profile-heading:before{content:'';width:58%;height:64%;position:absolute;bottom:20px;left:22%;clip-path:polygon(9% 0,0 45%,20% 100%,100% 100%,21% 90%,3% 43%);background:#34313e}.profile-heading>span{font-size:31px;font-weight:800;line-height:1.1;position:relative}.profile-heading>small{font-size:15px;font-weight:800;position:relative;margin-top:6px}.profile-character{height:580px;background:url('/assets/game/img/1080/bg_select_dark.jpg') center/cover;position:relative;overflow:hidden}.profile-character>img{position:absolute;left:50%;top:-7%;height:120%;width:auto;max-width:none;transform:translateX(-50%);object-fit:contain}.profile-character>span{position:absolute;bottom:14px;right:16px;font-size:9px;letter-spacing:1px;color:#fffa;text-shadow:0 1px 4px #222}.profile-details{position:relative;padding:0 30px 20px;text-align:center;background:linear-gradient(#292a3de0,#292a3de0),url('/assets/game/img/1080/bg_select_dark.jpg') center bottom/cover}.profile-rating{width:135px;height:94px;position:relative;top:-30px;margin:0 auto -23px;display:flex;align-items:center;flex-direction:column;justify-content:center}.profile-rating>img{position:absolute;width:94px;height:94px;object-fit:contain}.profile-rating>strong{position:relative;font-size:31px;font-weight:900;line-height:1;text-shadow:-2px -2px #4e344e,2px 2px #4e344e,-2px 2px #4e344e,2px -2px #4e344e}.profile-rating>small{font-size:7px;letter-spacing:1px;position:relative;margin-top:6px;text-shadow:0 1px 4px #222}.profile-name-row{display:flex;justify-content:center;align-items:center;margin:4px auto 0;position:relative;max-width:320px}.profile-nameplate{height:45px;display:flex;align-items:center;justify-content:center;position:relative;flex:1;min-width:0;background:#292b42;clip-path:polygon(8% 0,92% 0,100% 50%,92% 100%,8% 100%,0 50%)}.profile-nameplate>img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}.profile-nameplate>strong{position:relative;font-size:20px;text-shadow:0 2px 2px #111;overflow:hidden;text-overflow:ellipsis;max-width:86%;white-space:nowrap}.swap-banner{position:absolute;right:-12px;width:42px;height:42px;transform:rotate(45deg);background:#16151e;border:1px solid #686176;display:grid;place-items:center}.swap-banner>img{width:24px;height:24px;object-fit:contain;transform:rotate(-45deg)}.profile-user-code{font-size:12px;margin-top:10px}.profile-rule{display:flex;align-items:center;justify-content:center;gap:15px;margin:20px auto;color:#9b8fa3;font-size:9px;width:220px}.profile-rule:before,.profile-rule:after{content:'';width:80px;height:1px;background:#a69db548}.profile-completion{display:flex;gap:30px;justify-content:center;align-items:center;min-height:90px}.profile-difficulty{width:65px;height:65px;flex-shrink:0;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:#775587;display:grid;place-items:center;font-weight:800;color:white}.profile-difficulty[data-difficulty="0"]{background:#598fa6}.profile-difficulty[data-difficulty="1"]{background:#779956}.profile-difficulty[data-difficulty="2"]{background:#765187}.profile-difficulty[data-difficulty="3"]{background:#c00029}.profile-difficulty[data-difficulty="4"]{background:#9882ac}.profile-difficulty>span{font-size:14px}.completion-numbers{text-align:left;font-size:12px;line-height:1.8;min-width:195px}.completion-numbers p{display:flex;gap:9px}.completion-numbers strong{min-width:65px;font-size:13px;font-weight:800}.completion-numbers span{font-size:12px}.completion-numbers>small{font-size:9px;color:#c4b9ce}.profile-difficulty-menu{display:flex;justify-content:center;gap:9px;margin:16px 0 8px}.profile-difficulty-menu button{font-size:10px;letter-spacing:1px;color:#c3b7ce;padding:9px;background:#ffffff0c;border:1px solid #fff1}.profile-difficulty-menu button[aria-pressed=true]{background:#a78cbd50;border-color:#b7a2c9}.profile-stats-note{font-size:8px;color:#a69bb3;margin:15px 0 0;line-height:1.8}.profile-actions{display:flex;align-items:center;justify-content:center;gap:22px;padding:22px 20px;background:#222230;flex-wrap:wrap}.profile-actions button,.profile-actions a{font-size:10px;color:#b7a9c2;padding:0;margin:0;letter-spacing:.7px}.profile-dialog #logout-error{padding:0 20px;text-align:center;min-height:0}.profile-message{padding:100px 30px 60px;text-align:center;color:#c4b8ce;font-size:12px;line-height:2}.profile-dialog #profile-preview-label{background:#725982;color:#fff;font-size:11px;padding:13px;text-align:center;letter-spacing:2px}.banner-dialog{width:570px;background:#f8f5fc;padding:45px 35px 30px}.banner-dialog h2{font-size:25px;letter-spacing:3px}.banner-description{font-size:11px;color:#a698b1;margin:14px 0 27px}.banner-option{position:relative;height:61px;width:100%;display:flex;align-items:center;justify-content:center;margin:0 0 15px;background:#343043;color:#fff;border:2px solid transparent;overflow:hidden}.banner-option.selected{border-color:#bc96d5;box-shadow:0 0 0 2px #bc96d533}.banner-option>img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}.banner-option>strong{font-size:18px;text-shadow:0 2px 3px #111;position:relative}.banner-option>span{font-size:10px;margin-right:30px;color:#ccc}.banner-empty{font-size:12px;color:#a292af;line-height:2;margin:20px 0}.banner-option:disabled{opacity:.55}
@media(max-width:760px){.hero{margin-top:65px;min-height:0;height:auto;aspect-ratio:4/3}.hero .scroll-cue{font-size:7px;gap:3px;bottom:8px}.hero .scroll-line{height:12px}.account.online{width:105px;min-width:80px;height:43px}.header nav{gap:16px}.profile-mast{height:190px}.profile-heading{height:105px;bottom:-42px}.profile-heading>span{font-size:27px}.profile-heading>small{font-size:13px}.profile-heading:before{bottom:16px}.profile-character{height:480px}.profile-details{padding-left:22px;padding-right:22px}.profile-name-row{max-width:285px}.profile-nameplate>strong{font-size:18px}.profile-completion{gap:23px}.completion-numbers{min-width:180px}.completion-numbers strong{min-width:60px}.profile-dialog{max-width:calc(100vw - 20px)}.banner-dialog{padding:40px 23px 25px}.profile-actions{gap:20px}.profile-actions button,.profile-actions a{font-size:9px}}@media(max-width:420px){.profile-mast{height:165px}.profile-character{height:405px}.profile-details{padding-left:18px;padding-right:18px}.profile-completion{gap:16px}.profile-difficulty{width:59px;height:59px}.completion-numbers{min-width:165px}.completion-numbers span{font-size:10px}.completion-numbers strong{font-size:12px}.profile-name-row{max-width:255px}.profile-nameplate{height:40px}.profile-nameplate>strong{font-size:17px}.swap-banner{width:35px;height:35px}.profile-actions{gap:14px}}

.banner-option.locked{opacity:1;cursor:not-allowed}.banner-option.locked>img{filter:grayscale(.9) brightness(.45)}.banner-option.locked>strong{opacity:.35}.banner-option.locked .banner-lock{position:absolute;right:10px;margin:0;padding:4px 8px;background:#191321d9;color:#ddd0e7;font-size:10px;letter-spacing:1px;z-index:2}.banner-option.locked .banner-lock:before{content:'◇ ';}

/* V1.3: full-page archive and original 16:9 home illustration. */
.hero{aspect-ratio:16/9}.hero-image{background-image:url('/assets/hero-spring.jpg');background-size:cover;background-position:center}
.profile-body{background:#252332;min-height:100svh}.profile-body .header{position:absolute;top:0;left:0;width:100%}.profile-body .header .brand,.profile-body .header nav{background:#fcfbff}.profile-back{position:absolute;z-index:5;top:105px;left:max(24px,calc((100vw - 960px)/2));font-size:12px;color:#635371;letter-spacing:1px}
.profile-page{width:min(100%,960px);margin:0 auto;background:#292735;color:#fff;min-height:100svh;overflow:hidden;position:relative}.profile-page .profile-mast{height:265px}.profile-page .profile-heading{width:min(77%,460px);left:50%;transform:translateX(-50%);height:130px;bottom:24px}.profile-page .profile-character{height:650px}.profile-page .profile-character>img{top:0;height:115%}.profile-page .profile-details{padding-bottom:32px}.profile-page .profile-actions{padding:28px 20px}.profile-page #logout-error{text-align:center}.profile-page #profile-preview-label{padding:15px;text-align:center;background:#725982;font-size:11px}
#login-form .login-options{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:6px 0 10px}#login-form .login-options label{display:flex;align-items:center;gap:7px;margin:0;font-size:11px;letter-spacing:.3px;cursor:pointer}#login-form .login-options input{display:inline-block;width:15px;height:15px;min-width:15px;padding:0;margin:0;accent-color:#765187}.credential-note{font-size:9px;line-height:1.7;color:#aa9ab5;margin:8px 0 3px}
@media(max-width:760px){.hero{aspect-ratio:16/9}.hero-image{background-size:cover;background-position:center}.profile-body .header .brand{width:150px}.profile-body .header nav{gap:12px;padding:0 12px}.profile-back{top:84px;left:18px;font-size:10px}.profile-page .profile-mast{height:235px}.profile-page .profile-heading{height:105px;bottom:20px}.profile-page .profile-character{height:580px}.profile-page .profile-character>img{top:0;height:115%}}
@media(max-width:420px){.profile-body .header .brand{width:123px;padding-left:14px}.profile-body .header .brand>span{font-size:27px}.profile-body .header .brand small{font-size:4px}.profile-body .header nav{gap:9px;padding:0 9px}.profile-body .header nav>a{font-size:10px}.profile-body .account.online{width:85px;min-width:70px}.profile-page .profile-mast{height:215px}.profile-page .profile-heading{height:98px;bottom:18px}.profile-page .profile-character{height:440px}}

.profile-character-label{position:absolute;left:24px;bottom:26px;z-index:2;display:flex;flex-direction:column;color:#fff;text-shadow:0 1px 6px #000,0 0 14px #312035}.profile-character-label[hidden]{display:none}.profile-character-label small{font-size:11px;letter-spacing:.24em;line-height:1.8}.profile-character-label strong{font-size:23px;line-height:1.2}
