/* Ninja Idle account experience — accessible preview dialogs only.
   Never changes the hero artwork, hotspots, camera, or smooth scrolling. */
.account-dialog{position:fixed;inset:0;margin:auto;padding:0;max-width:min(94vw,535px);width:535px;max-height:min(92dvh,830px);overflow:auto;border:1px solid #b25743;background:#0d090a;color:#ead7c2;box-shadow:0 25px 110px #000c,0 0 0 5px rgba(17,9,9,.9);z-index:100;overscroll-behavior:contain}
.account-dialog::backdrop{background:rgba(5,4,6,.81);backdrop-filter:blur(5px)}
.account-dialog[open]{animation:auth-enter .22s ease-out}
@keyframes auth-enter{from{transform:translateY(9px);opacity:.6}to{transform:translateY(0);opacity:1}}
.auth-window{position:relative;background:linear-gradient(170deg,#251314 0,#130d0f 35%,#0a090b 100%);min-height:380px;border:1px solid #5e2c26}
.auth-window::before{content:"";pointer-events:none;position:absolute;inset:10px;border:1px solid rgba(191,108,80,.12)}
.auth-edge{position:absolute;right:28px;top:51px;color:rgba(182,63,55,.16);font:128px Georgia,serif;pointer-events:none;line-height:1}
.auth-close{position:absolute;right:18px;top:15px;z-index:2;width:40px;height:40px;background:#241517;border:1px solid #69382f;font:27px Georgia,serif;color:#dac0a7;transition:border-color .16s,color .16s}
.auth-close:hover{border-color:#d66853;color:#fff0da}
.auth-banner{position:relative;padding:33px 39px 24px;border-bottom:1px solid #66372d}
.auth-eyebrow{font:700 10px 'Cinzel',Georgia,serif;letter-spacing:.13em;color:#c69c7f;display:flex;align-items:center;gap:10px;max-width:calc(100% - 40px)}
.auth-chapter{display:grid;place-items:center;width:29px;height:29px;border:1px solid #a75845;font:20px Georgia,serif;color:#db654c}
.auth-serial{margin-left:auto;color:#795247;font:700 10px 'Barlow Condensed',sans-serif;white-space:nowrap}
.auth-banner h2{font:900 64px/.86 'Barlow Condensed',Impact,sans-serif;letter-spacing:.045em;color:#f2dcc0;margin:23px 0 16px}
.auth-banner h2 em{color:#d64339;font-style:normal}
.auth-banner p{font:12px/1.65 'Noto Serif',serif;color:#b7a08f;margin:0}
.auth-panel{padding:25px 39px 22px;position:relative}
.auth-form{display:flex;flex-direction:column;gap:13px}
.auth-field-pair{display:flex;flex-direction:column;gap:13px}
.auth-field{min-width:0}
.auth-field label{display:block;margin-bottom:7px;color:#dab18d;font:700 11px 'Cinzel',Georgia,serif;letter-spacing:.075em}
.auth-field input{width:100%;height:45px;display:block;outline:none;border:1px solid #735043;border-radius:0;background:#100c0e;color:#f2e1cc;padding:0 13px;font:14px 'Noto Serif',serif;transition:border-color .17s,background .17s}
.auth-field input::placeholder{color:#816b60;font-size:12px;opacity:1}
.auth-field input:focus{border-color:#dfa175;background:#1b1113}
.auth-field input[aria-invalid="true"]{border-color:#db705e}
.auth-field small{display:block;margin:6px 0 0;color:#9a8372;font:10px/1.6 'Noto Serif',serif}
.auth-password-wrap{position:relative}
.auth-password-wrap input{padding-right:95px}
.auth-eye{position:absolute;right:2px;top:3px;height:39px;padding:0 10px;border:0;background:none;color:#c4a188;font:700 11px 'Barlow Condensed',sans-serif;letter-spacing:.09em}
.auth-eye:hover{color:#efceb0}
.auth-password-strength{display:flex;gap:5px;margin-top:-7px}
.auth-password-strength span{height:3px;background:#49312d;flex:1;transition:background .2s}
.auth-password-strength[data-score="1"] span:nth-child(-n+1){background:#ae4941}
.auth-password-strength[data-score="2"] span:nth-child(-n+2){background:#c87d44}
.auth-password-strength[data-score="3"] span:nth-child(-n+3){background:#d5ab67}
.auth-password-strength[data-score="4"] span{background:#82a382}
.auth-password-hint{font:10px/1.65 'Noto Serif',serif;color:#9b8778;margin:-6px 0 0}
.auth-error{border-left:2px solid #d45f4e;background:#3a1b1a;padding:10px 12px;color:#f3b6a5;font:11px/1.6 'Noto Serif',serif;margin:0}
.auth-primary{margin-top:3px;min-height:51px;padding:12px 20px;display:flex;justify-content:space-between;align-items:center;border:1px solid #bc3934;color:#f9e3ce;background:linear-gradient(95deg,#6d1f22,#b6292e 55%,#832024);clip-path:polygon(3% 0,97% 0,100% 17%,97% 100%,3% 100%,0 83%);font:800 17px 'Barlow Condensed',sans-serif;letter-spacing:.13em;text-align:left;transition:filter .18s;width:100%}
.auth-primary:hover{filter:brightness(1.17)}
.auth-primary span{font:23px Georgia,serif}
.auth-switch{margin-top:15px;text-align:center;color:#aa9584;font:700 10px 'Cinzel',serif;line-height:1.9;letter-spacing:.03em}
.auth-switch button{display:inline;background:none;border:0;color:#edb48d;padding:6px;font:700 10px 'Cinzel',serif;text-decoration:underline;text-underline-offset:4px}
.auth-switch button:hover{color:#ffddbc}
.auth-bottom{padding:15px 38px 17px;border-top:1px solid #63392e;color:#9d8472;font:700 10px 'Barlow Condensed',sans-serif;letter-spacing:.14em;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.auth-status-indicator{height:6px;width:6px;border:1px solid #ce674a;transform:rotate(45deg)}.auth-bottom-sep{color:#d16b55}
.auth-helper{margin:0 0 9px;font:12px/1.9 'Noto Serif',serif;color:#bca28e}
.auth-message-panel{text-align:center;padding:40px 39px 30px}
.auth-message-symbol{display:grid;place-items:center;margin:auto;width:76px;height:76px;border:1px solid #b5684f;background:#351d1b;color:#da8260;font:42px Georgia,serif}
.auth-message-panel h3{font:900 35px 'Barlow Condensed',sans-serif;margin:19px auto 6px;color:#f0d9bd;letter-spacing:.05em}
.auth-message-panel>p{color:#c6a995;font:12px/1.8 'Noto Serif',serif}
.auth-callout{background:#24191a;border-left:2px solid #b46250;padding:12px;text-align:left}
.auth-character-link{display:block;margin-top:20px;font:700 11px 'Cinzel',serif;text-decoration:none;color:#f0b98c}
.auth-character-link:hover{text-decoration:underline}
.account-dialog :focus-visible{outline:2px solid #f2c59c;outline-offset:2px}
@media(max-width:600px){.account-dialog{max-width:calc(100vw - 22px);max-height:calc(100dvh - 22px)}.auth-banner{padding:26px 24px 18px}.auth-banner h2{font-size:56px;margin-top:18px}.auth-edge{font-size:95px;right:20px;top:48px}.auth-panel{padding:20px 23px}.auth-bottom{padding:14px 23px;font-size:9px}}
@media(max-width:400px){.auth-banner h2{font-size:48px}.auth-eyebrow{font-size:9px}.auth-serial{display:none}}
@media(prefers-reduced-motion:reduce){.account-dialog[open]{animation:none}.auth-password-strength span,.auth-primary{transition:none}}

/* Keep the complete sign-up form visible in common 720px desktop viewports. */
@media(min-width:821px) and (max-height:760px){
  .account-dialog{max-height:calc(100dvh - 24px)}
  .auth-banner{padding:13px 28px 11px}
  .auth-banner h2{font-size:45px;margin:10px 0 7px}
  .auth-banner p{font-size:11px;line-height:1.4}
  .auth-eyebrow{font-size:9px}
  .auth-chapter{width:24px;height:24px;font-size:17px}
  .auth-edge{top:25px;font-size:78px}
  .auth-panel{padding:11px 29px 9px}
  .auth-form,.auth-field-pair{gap:7px}
  .auth-field label{font-size:10px;margin-bottom:4px}
  .auth-field input{height:36px;font-size:12px}
  .auth-field small{margin-top:3px;font-size:9px}
  .auth-eye{height:31px;top:3px}
  .auth-password-strength{margin-top:-3px}
  .auth-password-hint{font-size:9px;margin-top:-3px;line-height:1.4}
  .auth-primary{min-height:40px;padding:8px 17px;font-size:15px}
  .auth-switch{margin-top:7px;font-size:9px}
  .auth-bottom{padding:8px 28px 9px;font-size:9px}
}

/* Signup handoff is available only after validating the registration UI.
   Never show a character transition for password-recovery outcomes. */
.auth-character-link[hidden]{display:none!important}
