html{min-height:100%;background-color:#081f4a;scrollbar-width:none}
html::-webkit-scrollbar{display:none}
body.page-utility{display:block;min-width:320px;background:#081f4a url('../assets/utility-pages-v1/archive-desktop.webp') center top/cover no-repeat fixed;color:#4c321c;overflow-x:clip}
body.page-password-change{position:relative;isolation:isolate;background-image:none;background-color:#081f4a}
.password-change-scene{position:relative;isolation:isolate;min-height:85vh}
.page-password-background{position:absolute;inset:0;z-index:-1;display:block;overflow:hidden;pointer-events:none}
.page-password-background,.page-password-background img{display:block;width:100%;height:100%}
.page-password-background img{object-fit:cover;object-position:center top}
.utility-header{position:relative;display:flex;align-items:center;gap:28px;padding:28px 4%;min-height:112px;isolation:isolate}
.utility-header .home-account--mobile{display:none}
body.page-password-change .password-change-main{display:grid;place-items:start center;padding-top:0;min-height:calc(85vh - 115px)}
.password-change-panel{position:relative;width:min(90vw,550px);aspect-ratio:1199/1312;margin:-8px auto 24px;isolation:isolate;container-type:inline-size}
.password-change-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.password-change-form{position:absolute;top:calc(28% - 50px);right:17%;bottom:24px;left:17%;height:auto;color:#54351d}
.password-change-intro{margin:0 0 2px;text-align:center;color:#69441f;font:700 15px/1.4 Arial,sans-serif}
.password-change-field{display:grid;gap:6px;font:800 13px/1.2 Arial,sans-serif;color:#674626}
.password-change-input{position:relative;display:flex;align-items:center}
.password-change-input input{width:100%;height:43px;padding:9px 74px 9px 12px;border:2px solid #b88c50;border-radius:5px;background:#fff9ed;color:#49301d;font:16px/1.2 Arial,sans-serif;outline:none}
.password-change-input input:focus{border-color:#80561d;box-shadow:0 0 0 2px #c79c4626}
.password-change-input button{position:absolute;right:8px;border:0;background:none;color:#17537d;font:700 12px Arial,sans-serif;text-decoration:underline;text-underline-offset:2px}
.password-change-help{margin:-8px 0 0;color:#806345;font:12px/1.35 Arial,sans-serif}
.password-change-submit{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:1854/378;margin:2px 0 0;border:0;background:none;color:#fff3ca;font:900 clamp(16px,2vw,22px)/1 Barlow,sans-serif;text-shadow:0 2px #92400b}
.password-change-submit>img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:-1;pointer-events:none}
.password-change-submit .submit-label{display:flex;align-items:center;justify-content:center}
.password-change-cancel{justify-self:center;margin-top:-8px;color:#17537d;font:700 12px/1.2 Arial,sans-serif;text-decoration:underline;text-underline-offset:2px}
.password-change-form .password-change-intro{display:none}
.password-change-form .login-input{height:clamp(52px,9cqw,62px);margin-bottom:10px}
.password-change-form .login-input>.show-password{border:0;background:transparent}
.password-change-form .password-change-field--new{transform:translateY(20px)}
.password-change-form .password-change-field--confirm{transform:translateY(23px)}
.password-change-form .password-change-field--new{margin-bottom:4px}
.password-change-form .login-input-help{margin:-5px 0 8px;font-size:clamp(11px,2.1cqw,13px)}
.password-change-form .password-change-help{margin:-5px 0 0;transform:translateY(20px)}
.password-change-form .utility-feedback{margin:0 0 7px;padding:7px 9px;font-size:12px;line-height:1.3}
.password-change-form .login-submit{position:absolute;left:0;right:0;bottom:60px;width:100%;height:clamp(78px,7.6cqw,112px);margin:0}
.home-account__play:hover,.home-account__logout:hover{background:#d8b76a40}
.utility-brand{display:block;position:relative;width:220px;aspect-ratio:var(--ink-aspect);flex-shrink:0}
.utility-brand img{position:absolute;top:var(--image-top);left:var(--image-left);width:var(--image-width);max-width:none;height:auto}
.utility-back{right:4%;width:220px;top:0}
.utility-back .login-back-label{font-size:20px}
.utility-main{padding:0 0 70px;min-height:calc(100svh - 112px)}
.utility-heading{position:relative;width:clamp(440px,40vw,650px);aspect-ratio:2103/513;margin:0 auto 26px;isolation:isolate;filter:drop-shadow(0 5px 4px #22457b33)}
.utility-heading>img{position:absolute;width:103.281027%;left:-1.616738%;top:-15.984405%;height:auto;max-width:none;z-index:-1;pointer-events:none}
.utility-heading h1{position:absolute;inset:50% 11% 14%;margin:0;display:flex;align-items:center;justify-content:center;color:#ffedb3;text-align:center;text-transform:uppercase;font:900 clamp(30px,2.6vw,48px)/1 Barlow,sans-serif;text-shadow:0 2px #1a1420;white-space:nowrap}
.utility-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:20px;align-items:start;width:calc(100% - 120px);max-width:1260px;margin:0 auto}
.paper-panel{border:64px solid transparent;border-image:url('../assets/utility-pages-v1/document-frame-clean.webp') 285 310 285 310 fill / 64px / 0 stretch;filter:drop-shadow(0 6px 5px #16406b33);padding:0;min-width:0}
.utility-guide{border-width:43px;border-image-width:43px;position:sticky;top:18px;padding:2px 0 6px}
.utility-eyebrow{margin:0 0 12px;font:900 15px/1.25 Barlow,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#936022}
.utility-guide summary{font:900 29px/1.1 Barlow,sans-serif;color:#153d6b;cursor:pointer;list-style:none;position:relative;padding-right:42px}
.utility-guide summary::-webkit-details-marker{display:none}
.utility-guide summary::after{content:'+';position:absolute;right:0;top:50%;display:grid;place-items:center;width:32px;height:32px;transform:translateY(-50%);border:1px solid #b88b47;border-radius:50%;background:linear-gradient(#fff4d8,#e8cc91);box-shadow:inset 0 1px 0 #fff9e6,0 2px 3px #6e4a1926;color:#875a1b;font:800 21px/1 Arial,sans-serif}
.utility-guide details[open]>summary::after{content:'−'}
.utility-guide p{font:14px/1.6 Arial,sans-serif;color:#674c32;margin:14px 0 20px}
.utility-guide ul{list-style:none;margin:24px 0;padding:0;display:grid;gap:20px}
.utility-guide li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;align-items:start}
.guide-icon{display:grid;place-items:center;width:32px;height:32px;background:#e8d3a4;border:1px solid #c9a86a;border-radius:6px;color:#214d7a}
.guide-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.utility-guide li strong{display:block;font-size:14px;line-height:1.35;color:#4c321c}
.utility-guide li small{display:block;font:12px/1.5 Arial,sans-serif;color:#725b40;margin-top:4px}
.utility-guide a{color:#17547f;font:700 13px/1.5 Arial,sans-serif;text-decoration:none}
.utility-guide a:hover{text-decoration:underline}
.utility-guide .guide-help{display:block;margin-top:20px;padding-top:17px;border-top:1px solid #ceac74}
.utility-topic-nav{display:grid;gap:2px;margin:20px 0;max-height:55svh;overflow-y:auto;scrollbar-color:#b58b50 #ecdbb8;scrollbar-width:thin}
.utility-topic-nav a{display:grid;grid-template-columns:25px minmax(0,1fr);gap:8px;align-items:start;padding:9px 4px;font:13px/1.45 Arial,sans-serif;border-radius:5px}
.utility-topic-nav a:hover,.utility-topic-nav a[aria-current=true]{background:#debf8055;color:#103c6c;text-decoration:none}
.utility-topic-nav span{font:900 15px/1.3 Barlow,sans-serif;color:#99651e}
.utility-panel h2{font:900 37px/1.05 Barlow,sans-serif;color:#123b69;margin:0 0 13px}
.utility-intro{font:15px/1.6 Arial,sans-serif;color:#6c5036;margin:0 0 20px}
.utility-notice{padding:14px 17px;border:1px solid #cea35b;border-left:4px solid #aa741f;border-radius:5px;background:#e8c98733;font:14px/1.65 Arial,sans-serif;margin:20px 0 26px;color:#684321}
.utility-notice strong{color:#83530e}
.utility-form{display:grid;gap:18px}
.utility-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.utility-field{display:grid;gap:8px;min-width:0;font:700 13px/1.4 Arial,sans-serif;color:#644829}
.utility-field .optional{font-weight:400;color:#816647}
.utility-field input,.utility-field textarea{display:block;width:100%;min-width:0;min-height:51px;padding:13px 14px;border:2px solid #bb9863;border-radius:5px;background:#fff9ecc9;box-shadow:inset 0 2px 3px #aa783517;color:#463021;font:16px/1.5 Arial,sans-serif;outline:none}
.utility-field textarea{height:140px;min-height:135px;resize:vertical}
.utility-field input::placeholder,.utility-field textarea::placeholder{color:#9a8065}
.utility-field input:focus,.utility-field textarea:focus{border-color:#876023;box-shadow:0 0 0 2px #c79c4626}
.utility-confirm{display:flex;align-items:flex-start;gap:12px;font:14px/1.55 Arial,sans-serif;color:#67462a}
.utility-confirm input{width:19px;height:19px;flex-shrink:0;margin:1px 0;accent-color:#164579}
.utility-submit{position:relative;display:block;isolation:isolate;width:min(100%,430px);height:auto;aspect-ratio:var(--ink-aspect);border:0;padding:0;background:none;justify-self:center;color:#fff3ca;margin:2px 0 0}
.utility-submit>img{position:absolute;top:var(--image-top);left:var(--image-left);width:var(--image-width);max-width:none;height:auto;z-index:-1;pointer-events:none}
.utility-submit>span{position:absolute;inset:13% 16% 15%;display:flex;align-items:center;justify-content:center;gap:9px;font:900 25px/1 Barlow,sans-serif;text-shadow:0 2px #92400b;white-space:nowrap}
.utility-submit svg{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.utility-submit:hover{filter:brightness(1.08)}
.utility-submit:disabled{opacity:.6;cursor:default}
.utility-feedback{margin:0;padding:14px 16px;border:1px solid #9baf62;border-radius:5px;background:#e7efcc;color:#3c5028;font:14px/1.5 Arial,sans-serif}
.utility-alt{text-align:center;margin:22px 0 0;padding-top:18px;border-top:1px solid #ceac74;font:14px/1.6 Arial,sans-serif;color:#765337}
.utility-alt a{display:inline-block;color:#135184;font-weight:bold;margin-top:3px;min-height:30px}
.utility-legal-tabs{display:flex;gap:8px;margin:0 0 27px;padding-bottom:22px;border-bottom:1px solid #cdab70}
.utility-legal-tabs button{flex:1;display:flex;align-items:center;justify-content:center;min-height:50px;border:1px solid #b58b44;border-radius:6px;background:#ead5a7;color:#5f4528;font:900 21px/1 Barlow,sans-serif}
.utility-legal-tabs button[aria-selected=true]{border-color:#daae55;background:linear-gradient(#1d4b87,#092452);color:#fff0c0;box-shadow:0 2px 0 #916024}
.utility-legal [role=tabpanel]{outline-offset:8px}
.utility-legal .document-date{font:13px/1.5 Arial,sans-serif;color:#816647;margin:0 0 25px}
.legal-content{font:16px/1.8 Arial,sans-serif;color:#563c24;overflow-wrap:anywhere}
.legal-content h3{font:900 25px/1.2 Barlow,sans-serif;color:#173f70;border-bottom:1px solid #d4b781;padding-bottom:10px;margin:32px 0 14px;scroll-margin-top:25px}
.legal-content h3:first-child{margin-top:0}
.legal-content p{margin:0 0 15px}
.legal-content ul{padding-left:23px;margin:10px 0 19px}
.legal-content li{padding-left:3px;margin:7px 0}
.legal-content a{color:#075f90;font-weight:700;text-underline-offset:3px}
.utility-panel noscript{display:block;border:1px solid #a48145;padding:12px;margin-top:14px;font-size:13px}
.page-utility :focus-visible{outline:2px solid #9d721e;outline-offset:4px}
@media(max-width:1100px){
 .utility-header{gap:16px;padding-left:3%;padding-right:3%}
 .utility-brand{width:185px}
 .utility-back{right:3%;width:190px}
 .utility-back .login-back-label{font-size:18px}
 .utility-layout{width:calc(100% - 56px);grid-template-columns:245px minmax(0,1fr);gap:12px}
 .paper-panel{border-width:47px;border-image-width:47px}
 .utility-guide{border-width:35px;border-image-width:35px}
 .utility-guide summary{font-size:25px}
 .utility-form-row{grid-template-columns:1fr}
}
@media(max-width:850px){
 body.page-utility{isolation:isolate;background-image:none;background-attachment:scroll}
 .page-utility::before{position:fixed;inset:0;z-index:-1;height:auto;background:#081f4a url('../assets/utility-pages-v1/archive-mobile.webp') center top/cover no-repeat}
 body.page-password-change::before{content:none}
 .utility-header{min-height:90px;display:block;padding:24px 5% 0}
 /* Raise the header context above the transformed password panel. */
 .page-password-change .utility-header{z-index:2}
 .utility-header .home-account--desktop{display:none}
 .utility-header .home-account--mobile{display:block;top:18px;right:4%;width:min(43.424vw,205px)}
 .utility-header .home-account--mobile .home-account__label{font-size:clamp(14px,4vw,19px)}
 .utility-header .home-account--mobile .home-account__menu{width:max(100%,220px)}
 .utility-brand{width:42%;max-width:205px}
 .utility-back{width:155px;right:4%;top:0}
 .utility-back .login-back-label{font-size:17px;gap:6px}
 .utility-main{padding:0 0 36px;min-height:0}
 body.page-password-change .password-change-main{display:block;padding:0 0 28px;min-height:calc(85vh - 90px)}
 .password-change-panel{width:min(calc(98vw + 40px),530px);height:calc(min(107.37vw,536.5px) + 40px);aspect-ratio:auto;margin:97px auto 8px;transform:translateX(-14px)}
 .password-change-frame{object-fit:fill}
 .password-change-form{top:21%;right:14%;bottom:24px;left:14%;width:auto;height:auto}
 .password-change-form .login-input{height:54px;margin-bottom:5px}
 .password-change-form .password-change-field--new,.password-change-form .password-change-field--confirm{transform:none}
 .password-change-form .password-change-field--confirm{transform:translateY(3px)}
 .password-change-form .password-change-field--new{margin-bottom:5px}
 .password-change-form .login-input-help{margin:-5px 0 4px;font-size:11px}
 .password-change-form .password-change-help{margin:-5px 0 4px;transform:none}
 .password-change-form .login-submit{bottom:30px;height:clamp(72px,20vw,84px)}
 .utility-heading{width:94%;max-width:470px;margin:16px auto 18px}
 .utility-heading h1{font-size:clamp(25px,7vw,35px)}
 .utility-layout{display:flex;flex-direction:column;width:calc(100% - 20px);max-width:590px;gap:12px}
 .paper-panel{width:100%;border-width:33px;border-image-width:33px;padding:5px 0 9px}
 .utility-guide{position:relative;top:auto;border-width:28px;border-image-width:28px;padding:5px 0}
 .utility-guide .utility-eyebrow{font-size:13px;margin-bottom:8px}
 .utility-guide summary{font-size:25px}
 .utility-guide p{margin-top:12px}
 .utility-topic-nav{max-height:none}
 .utility-panel h2{font-size:30px}
 .utility-intro{font-size:14px;line-height:1.6;margin-bottom:15px}
 .utility-notice{font-size:13px;margin:17px 0 22px;padding:12px}
 .utility-form{gap:16px}
 .utility-form-row{gap:16px}
 .utility-field{font-size:12px}
 .utility-field input,.utility-field textarea{font-size:16px;padding:11px 12px}
 .utility-confirm{font-size:13px;gap:10px}
 .utility-submit{width:100%;margin-top:4px}
 .utility-submit>span{font-size:clamp(19px,5.5vw,24px);gap:6px}
 .utility-alt{font-size:13px}
 .utility-legal-tabs{gap:6px;padding-bottom:17px;margin-bottom:23px}
 .utility-legal-tabs button{min-height:46px;font-size:19px}
 .legal-content{font-size:15px;line-height:1.75}
 .legal-content h3{font-size:23px;margin-top:27px}
}
@media(max-width:380px){
 .utility-submit>span{font-size:17px}
}
@media(prefers-reduced-motion:no-preference){
 .utility-submit,.utility-legal-tabs button{transition:filter .15s,background-color .15s}
}

/* Inline account-deletion submission states. */
form[data-utility-form="delete"] .utility-submit.is-loading{opacity:1;cursor:wait}
form[data-utility-form="delete"] .utility-feedback[data-tone="error"]{background:#fdecec;border-color:#c16b58;color:#8b2c20}
