.portal-account .account-drawer{max-width:none}.journey-account-form{display:grid;gap:12px}.journey-account-form h3,.registration-success h3,#journey-profile h3{font-size:clamp(24px,3vw,34px);line-height:1.2;letter-spacing:-.025em;margin:4px 0 10px}.journey-account-form p{font-size:16px;line-height:1.65;color:#b7d4df;margin:0 0 12px}.journey-account-form label{display:block;font-size:15px;font-weight:650;color:#e8f4f6}.journey-account-form input:not([type=radio]){width:100%;min-height:48px;padding:12px 14px;border:1px solid #426675;border-radius:8px;background:#091e29;color:#f1f8fa;font:inherit;font-size:16px;outline-offset:4px}.journey-account-form input:focus{outline:2px solid #61e1cb;border-color:#61e1cb}.journey-account-form input:user-invalid{border-color:#ff9292}.journey-account-form small{display:block;color:#aac5d1;font-size:13px;line-height:1.5}.journey-account-form fieldset{padding:0;margin:0;border:0;min-width:0;display:grid;gap:12px}.journey-account-form fieldset[hidden],.journey-account-form [hidden],#journey-profile[hidden],.registration-success[hidden]{display:none}.journey-account-form legend{font-size:clamp(22px,2.5vw,30px);font-weight:750;color:#f0f8f5;line-height:1.25;padding:0;margin:8px 0 16px}.account-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.account-field-grid>div{display:grid;gap:10px}.registration-steps{display:flex;justify-content:space-between;gap:12px;list-style:none;padding:0 0 24px;margin:0 0 12px;border-bottom:1px solid #2d4c59}.registration-steps li{color:#8eabb9;font-size:14px;font-weight:600}.registration-steps li span{display:block;font-size:12px;letter-spacing:.12em;margin-bottom:6px}.registration-steps li[aria-current=step]{color:#ffde60}.journey-account-form .character-sex{display:flex;flex-wrap:wrap;gap:16px;margin:10px 0}.character-sex legend{font:inherit;font-size:15px;font-weight:650;margin:0 0 14px}.character-sex label{display:flex;align-items:center;gap:12px;min-height:52px;padding:12px 22px;border:1px solid #365a68;border-radius:9px;background:#102d39;cursor:pointer}.character-sex label:has(:checked){border-color:#ffe169;background:#28444a}.character-sex input{width:18px;height:18px;accent-color:#ffde60}.starter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.starter-card{position:relative;border:1px solid #385c68;border-radius:12px;background:#0b2430;overflow:hidden;display:grid;grid-template-rows:auto 106px auto auto;padding:15px 13px 13px;gap:10px;transition:border-color .15s,background .15s}.starter-card[data-type=grass]{--type-color:#80e0a3;--type-bg:#173d36}.starter-card[data-type=fire]{--type-color:#ffb487;--type-bg:#41302e}.starter-card[data-type=water]{--type-color:#8ecfff;--type-bg:#173c54}.starter-type{justify-self:start;color:var(--type-color);background:var(--type-bg);font-size:12px;font-weight:650;padding:4px 9px;border-radius:5px}.starter-stage{display:grid;place-items:center;border-radius:50%;background:radial-gradient(ellipse, var(--type-bg) 0%,transparent 69%)}.starter-sprite{image-rendering:pixelated;max-width:none;object-fit:contain}.starter-card h4{font-size:18px;text-align:center;margin:0;color:#edf6f5}.starter-card button{border:1px solid #557482;background:#193948;color:#e7f6fa;border-radius:6px;padding:10px 8px;font:inherit;font-size:14px;font-weight:700;cursor:pointer}.starter-card button:hover{background:#244958}.starter-card.selected{border:2px solid #ffdf64;padding:14px 12px 12px;background:#16333d}.starter-card.selected button{background:#ffdf64;border-color:#ffdf64;color:#102b36}.starter-card.selected button::before{content:'✓ ';}.starter-card button:focus-visible,.account-primary:focus-visible,.account-secondary:focus-visible{outline:3px solid #6aefd4;outline-offset:4px}.starter-summary{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;padding:16px;margin-top:8px;border-left:3px solid #ffde60;background:#12343f;border-radius:5px;font-size:14px;color:#afcdd7}.starter-summary strong{color:#ffdf69}.account-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:14px}.account-primary,.account-secondary{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:48px;padding:13px 20px;border-radius:7px;font:inherit;font-size:15px;font-weight:700;text-decoration:none;cursor:pointer}.account-primary{border:1px solid #ffdf64;background:#ffdf64;color:#102c38}.account-primary:hover{background:#ffeb99}.account-secondary{border:1px solid #456776;background:transparent;color:#c2dde5}.account-primary:disabled,.account-secondary:disabled,.starter-card button:disabled{opacity:.5;cursor:wait}.account-feedback:not(:empty){margin:8px 0!important;padding:12px;border-radius:7px;background:#422c37;color:#ffd1d1!important;border:1px solid #805261;font-size:14px;line-height:1.5}.registration-review{font-size:14px!important}.registration-success{padding:12px 0 20px}.success-mark{display:grid;place-items:center;width:58px;height:58px;font-size:28px;color:#78efd0;background:#17463f;border:1px solid #4c9c89;border-radius:50%;margin-bottom:22px}.registration-success p{font-size:16px;line-height:1.7;color:#bed6dd}.profile-character{border:1px solid #3b606c;border-radius:9px;margin:16px 0;padding:18px;background:#0c2631}.profile-character strong{display:block;font-size:21px;color:#f4f8f0;margin-bottom:8px}.profile-character p{color:#acd0db;margin:0;font-size:15px}.journey-account-form .text-link{justify-self:start;margin-top:10px;font-size:14px}@media(max-width:1150px){.starter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.account-field-grid{grid-template-columns:1fr}}@media(max-width:460px){.registration-steps{gap:8px}.registration-steps li{font-size:12px}.starter-grid{gap:9px}.starter-card h4{font-size:16px}.account-primary{width:100%;padding-inline:12px;font-size:14px}.starter-card{padding-inline:9px}.starter-card.selected{padding-inline:8px}}@media(prefers-reduced-motion:reduce){.starter-card{transition:none}}
.portal-account #account-panel-register{max-width:850px}

/* Authenticated trainer profile: isolated portraits, one clear account action. */
.portal-account [hidden],.account-signed-in .portal-sidebar [data-portal-link="criar-conta"],.account-signed-in .portal-sidebar [data-portal-link="recuperar-conta"]{display:none!important}
.portal-account[data-authenticated="true"] .drawer-head{margin-bottom:0;padding-bottom:22px}
#journey-profile{width:100%;max-width:none}
.profile-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0 26px}
.profile-account{margin:0;color:#a9c9d4;font-size:14px}.profile-account strong{display:inline-block;margin-left:7px;color:#f2f8f5;font-weight:700}
.profile-logout{min-height:44px;font-size:14px;padding:10px 16px;white-space:nowrap}
.profile-picker{display:flex;align-items:center;gap:16px;margin-bottom:20px;font-size:14px}.profile-picker select{background:#0a2632;border:1px solid #476a76;border-radius:8px;color:#f2f8f5;min-height:44px;padding:10px;font:inherit;min-width:160px}
.trainer-profile{display:grid;grid-template-columns:minmax(210px,.85fr) minmax(0,1.35fr);overflow:hidden;border:1px solid #41626c;border-radius:16px;background:#0c2834}
.trainer-stage{position:relative;min-height:300px;padding:32px 20px 26px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid #365660;background:radial-gradient(ellipse at 50% 65%,#235357 0%,#153943 32%,#0c2834 72%)}
#journey-profile .trainer-nickname{position:relative;z-index:1;margin:0 0 8px;font-size:22px;font-weight:750;letter-spacing:0;text-align:center;color:#e6ffe9;text-shadow:0 2px 0 #051820;overflow-wrap:anywhere}
.trainer-portrait{display:flex;align-items:flex-end;justify-content:center;width:160px;height:150px;margin-bottom:16px;border-bottom:3px solid #82a985;border-radius:50%;background:radial-gradient(ellipse at 50% 98%,#709a744d 0%,transparent 56%)}
.trainer-portrait img{image-rendering:pixelated;object-fit:contain;width:144px;height:144px;max-width:none;filter:drop-shadow(0 5px 1px #03191a88)}
.profile-status{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:#b7cbd0;border:1px solid #41616b;border-radius:999px;padding:5px 12px;background:#0b222b}.profile-status::before{content:'';width:6px;height:6px;border-radius:50%;background:#91a8b1}.profile-status.is-online{color:#91ecd0;border-color:#347466}.profile-status.is-online::before{background:#65e2b4}
.trainer-summary{min-width:0;padding:34px 30px;display:flex;flex-direction:column;justify-content:center}
.profile-eyebrow{color:#73dfca;font-size:12px;font-weight:750;letter-spacing:.11em;line-height:1.5;margin:0 0 8px}
#journey-profile .trainer-heading{font-size:clamp(22px,2.2vw,29px);line-height:1.2;margin:0 0 26px;color:#f4f6ee;letter-spacing:-.025em}
.trainer-stats{display:grid;grid-template-columns:.75fr 1.3fr 1fr;gap:16px;margin:0 0 26px}.trainer-stats>div{min-width:0}.trainer-stats dt{font-size:13px;color:#93b6c2;margin-bottom:7px}.trainer-stats dd{margin:0;font-weight:700;font-size:16px;color:#e6f2f2;overflow-wrap:anywhere}.trainer-stats>div:first-child dd{font-size:30px;color:#ffdc62;line-height:1}
.trainer-progress{border-top:1px solid #31505c;padding-top:18px}.trainer-progress-heading{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:13px;color:#a9c9d4}.trainer-progress-heading strong{color:#dff2ee;font-weight:600}
.trainer-progress progress{display:block;width:100%;height:8px;border:0;border-radius:10px;overflow:hidden;margin:12px 0;background:#061d29;accent-color:#6de5cb}.trainer-progress progress::-webkit-progress-bar{background:#061d29;border-radius:10px}.trainer-progress progress::-webkit-progress-value{background:#6de5cb;border-radius:10px}.trainer-progress progress::-moz-progress-bar{background:#6de5cb;border-radius:10px}.trainer-progress>p{margin:0;font-size:13px;line-height:1.5;color:#a0bdc7}
.profile-team{margin-top:30px}.profile-section-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:17px}#journey-profile .profile-section-title h3{font-size:24px;margin:0;color:#edf6f4}.profile-section-title .profile-eyebrow{margin-bottom:4px}.team-count{color:#adccd6;font-size:13px;border:1px solid #385c69;border-radius:6px;padding:6px 10px}
.profile-team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;padding:0;margin:0}
.team-member{position:relative;display:flex;align-items:center;flex-direction:column;min-width:0;min-height:194px;padding:22px 10px 18px;background:#0c2632;border:1px solid #385967;border-radius:12px}.team-position{position:absolute;top:12px;left:13px;font-size:12px;font-weight:600;color:#789ca9}
.team-portrait{width:100%;height:96px;display:grid;place-items:center;margin:3px 0 7px;background:radial-gradient(ellipse at center,#214e504d,transparent 66%)}.team-portrait img{width:96px;height:96px;image-rendering:pixelated;object-fit:contain;max-width:none}.team-member h4{font-size:16px;font-weight:700;text-align:center;overflow-wrap:anywhere;color:#eef6f5;margin:0 0 6px;line-height:1.35}.team-level{font-size:13px;color:#9bc6d1;margin:0}.team-member.is-empty{background:#0d25302e;border-style:dashed;border-color:#36535e;justify-content:center}.team-empty-mark{font-size:38px;color:#3b6372;font-weight:300}.team-empty-label{font-size:13px;color:#88a9b6;margin:12px 0 0}.profile-image-missing{font-size:12px;color:#95b4bf;text-align:center;max-width:110px}
.profile-save-note{font-size:13px;line-height:1.6;color:#91adb9;margin:20px 0 0}.profile-loading,.profile-empty{padding:40px 22px;border:1px solid #375867;border-radius:12px;background:#0a2631;color:#b9d5de;font-size:16px;line-height:1.6;margin:0}
@media(max-width:1100px){.trainer-profile{grid-template-columns:1fr}.trainer-stage{min-height:256px;border-right:0;border-bottom:1px solid #365660;padding:26px 20px 20px}.trainer-summary{padding:26px}.trainer-stats{grid-template-columns:1fr 1fr 1fr}.profile-team-grid{gap:10px}}
@media(max-width:560px){.profile-team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trainer-summary{padding:23px 18px}.trainer-stats{gap:10px}.trainer-stats dd{font-size:14px}.profile-toolbar{gap:10px;align-items:flex-start}.profile-account{max-width:45%;overflow-wrap:anywhere}.profile-account strong{display:block;margin:4px 0 0}.profile-picker{flex-direction:column;align-items:stretch}.profile-team{margin-top:24px}}

/* Soft shine, clipped to the actual XP fill; no gameplay or API changes. */
.trainer-xp-track{position:relative;height:12px;margin:14px 0 12px;border-radius:999px;background:#061d29;box-shadow:inset 0 1px 3px #020e18b3,0 1px 0 #46677366;isolation:isolate}
.trainer-progress .trainer-xp-native{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;clip-path:inset(50%);overflow:hidden}
.trainer-xp-fill{position:absolute;inset:0 auto 0 0;width:0;max-width:100%;border-radius:inherit;overflow:hidden;background:linear-gradient(90deg,#269faa,#53dccc 55%,#9cf4df);box-shadow:inset 0 1px 0 #e3fff4aa,0 0 12px #52e2cd40;transition:width .65s cubic-bezier(.22,.61,.36,1)}
.trainer-xp-fill::after{content:'';position:absolute;inset:-1px;width:100%;border-radius:inherit;background:linear-gradient(105deg,transparent 25%,#eafff46b 45%,#fffde3c9 50%,#eafff46b 55%,transparent 75%);transform:translateX(-115%);animation:trainer-xp-shine 3.8s ease-in-out infinite;animation-play-state:paused;pointer-events:none}
.trainer-xp-track[data-running="true"] .trainer-xp-fill::after{animation-play-state:running}
@keyframes trainer-xp-shine{0%,18%{transform:translateX(-115%);opacity:0}28%{opacity:.9}65%{transform:translateX(115%);opacity:.9}75%,100%{transform:translateX(115%);opacity:0}}
.effects-off .trainer-xp-fill{transition:none}.effects-off .trainer-xp-fill::after{animation:none;opacity:0}
@media(prefers-reduced-motion:reduce){.trainer-xp-fill{transition:none}.trainer-xp-fill::after{animation:none;opacity:0}}

/* Additional characters share the existing account visual language. */
.character-creator{margin:0 0 26px;padding:22px;border:1px solid #41626c;border-radius:14px;background:#0c2834}
.character-creator-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.character-creator-heading [data-character-count]{margin:0;color:#f1f8f4;font-size:22px;font-weight:700}
.character-creation-note{color:#b7d4df;font-size:14px;line-height:1.6;margin:14px 0 0}
#journey-new-character{margin-top:22px;padding-top:20px;border-top:1px solid #365660}
.character-starter-field{min-width:0;border:0;padding:0;margin:8px 0}
.character-starter-field legend{font-weight:700;font-size:16px;color:#e8f4f6;margin-bottom:16px}
.character-starter-field .starter-stage img{image-rendering:pixelated;object-fit:contain}
.character-creator button:disabled{cursor:not-allowed}
.character-creator [data-character-review]{color:#ffdf69}
#journey-new-character .account-sex{display:flex;flex-wrap:wrap;gap:12px 24px;margin:8px 0;padding:0;border:0}
#journey-new-character .account-sex legend{font-size:16px;line-height:1.5;margin-bottom:10px;font-weight:700}
#journey-new-character .account-sex label{display:flex;align-items:center;gap:8px;margin:0;min-height:44px}
#journey-new-character input[type=radio]{width:18px;height:18px;min-height:0;margin:0;accent-color:#ffdf64}
#journey-new-character .starter-card{min-height:0;padding:16px 12px;gap:8px;grid-template-rows:92px auto auto}
#journey-new-character .starter-stage{height:92px;min-height:92px;margin:0}
#journey-new-character .starter-card h4{margin:6px 0 8px;font-size:17px}
#journey-new-character .starter-card button{margin-top:8px;min-height:44px}
@media(max-width:560px){.character-creator{padding:16px}.character-creator-heading{align-items:stretch}.character-creator-heading>button{width:100%}.character-creator .account-actions>button{width:100%}.character-starter-field .starter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Successful creation has its own gold confirmation; errors keep their red style. */
.account-feedback[data-state="success"]:not(:empty){
  display:flex;align-items:center;gap:16px;padding:18px 20px;
  border:1px solid #ad9146;border-left:3px solid #f4cf64;border-radius:12px;
  background:linear-gradient(115deg,#302b1b,#182e2b);color:#ecdfb9!important;
  box-shadow:inset 0 1px 0 #ffe59814,0 4px 16px #00000012;
}
.account-feedback-icon{display:grid;place-items:center;flex:0 0 38px;height:38px;border:1px solid #d6b65466;border-radius:50%;background:#f1cd6017;color:#ffe395;font-size:23px;font-weight:700;line-height:1}
.account-feedback-copy{display:block;min-width:0;overflow-wrap:anywhere}
.account-feedback-title{display:block;margin-bottom:4px;color:#ffe395;font-size:16px;font-weight:750;line-height:1.4}
.account-feedback-detail{display:block;color:#ecdfb9;font-size:14px;line-height:1.6}
.account-feedback[data-state="pending"]:not(:empty){background:#13333c;border-color:#456976;color:#c5e1e7!important}
@media(max-width:560px){.account-feedback[data-state="success"]:not(:empty){align-items:flex-start;gap:12px;padding:16px 14px}.account-feedback-icon{flex-basis:32px;height:32px;font-size:21px}}
