/* HQ / Velvet dusk. Shared entrance; deliberately independent of app themes.
   Desktop fits the entire 1573 x 1000 artwork. The form stays on its cream panel. */
html body:has(#horizon-login.hq-main-login:not([hidden])){padding:0;min-height:100svh;display:grid;place-items:center;background:#191523;color-scheme:light}
html body #horizon-login.hq-main-login{display:block;position:relative;container-type:inline-size;box-sizing:border-box;width:min(100vw,157.3svh);height:auto;aspect-ratio:1573/1000;min-height:0;max-width:none;padding:0;margin:0 auto;border:0;border-radius:0;background:#211a31 url('/hq-login-velvet.png') center/100% 100% no-repeat;overflow:visible;color-scheme:light}
html body #horizon-login.hq-main-login[hidden]{display:none}
html body #horizon-login.hq-main-login :is(.ha-login-art,.ha-login-identity,.ha-login-card>img){display:none}
html body #horizon-login.hq-main-login .ha-login-card{position:absolute;left:60.08%;top:14.7%;width:35.73%;height:71.2%;max-width:none;margin:0;padding:7.3% 3.7% 3%;background:transparent;border:0;border-radius:0;box-shadow:none;color:#302c43;box-sizing:border-box}
html body #horizon-login.hq-main-login h1{font:400 clamp(28px,3.25cqw,52px)/1.12 Georgia,'Times New Roman',serif;letter-spacing:-1.5px;color:#302c43;margin:0 0 3.25cqw;white-space:nowrap}
html body #horizon-login.hq-main-login form{margin:0}
html body #horizon-login.hq-main-login label{display:block;font:400 clamp(14px,1.2cqw,19px)/1.3 Georgia,serif;color:#494156;margin:0 0 1.85cqw}
html body #horizon-login.hq-main-login label[hidden]{display:none}
html body #horizon-login.hq-main-login input{display:block;box-sizing:border-box;width:100%;margin-top:.55cqw;height:3.35cqw;min-height:38px;padding:8px 12px;font:16px/1.2 'Segoe UI',sans-serif;color:#302b43;background:#fffcf34d;border:1px solid #a9a0ad;box-shadow:inset 0 1px 3px #3120400a;border-radius:4px;color-scheme:light}
html body #horizon-login.hq-main-login :is(input,button,a,summary):focus-visible{outline:2px solid #71588e;outline-offset:3px}
html body #horizon-login.hq-main-login button[type=submit]{height:4.25cqw;min-height:42px;margin:.9cqw 0 0;padding:9px;width:100%;font:400 clamp(16px,1.5cqw,24px)/1.2 Georgia,serif;background:linear-gradient(120deg,#4f385f,#2d2e4f);color:#fff7e9;border:1px solid #4a3b59;box-shadow:inset 0 1px #efdcff26,0 3px 7px #30213921;border-radius:4px;cursor:pointer}
html body #horizon-login.hq-main-login button[type=submit]:hover:not(:disabled){background:linear-gradient(120deg,#624471,#38385c)}
html body #horizon-login.hq-main-login button[type=submit]:disabled{opacity:.6;cursor:wait}
html body #horizon-login.hq-main-login [role=alert]{color:#912f36;font:13px/1.4 'Segoe UI',sans-serif;margin:10px 0 0;overflow-wrap:anywhere}
html body #horizon-login.hq-main-login [role=alert]:empty{display:none}
html body #horizon-login.hq-main-login .hqc-login-help{display:block;margin:1.8cqw 0 0;color:#66556e;font:400 clamp(13px,1.1cqw,17px)/1.4 Georgia,serif}
html body #horizon-login.hq-main-login .hqc-login-help summary{list-style:none;text-decoration:underline;text-underline-offset:3px;cursor:pointer;width:fit-content}
html body #horizon-login.hq-main-login .hqc-login-help summary::-webkit-details-marker{display:none}
html body #horizon-login.hq-main-login .hqc-login-help p{position:absolute;left:9%;right:9%;padding:14px;background:#f2ecdf;border:1px solid #b4a5b7;border-radius:5px;color:#463a50;font:13px/1.5 'Segoe UI',sans-serif;box-shadow:0 5px 15px #0002;z-index:2}
html body #horizon-login.hq-main-login.hqc-setup .ha-login-card{padding-top:3.7%}
html body #horizon-login.hq-main-login.hqc-setup h1{white-space:normal;font-size:2.5cqw;margin-bottom:2cqw}
html body #horizon-login.hq-main-login .ha-login-card:has(.hw-shared-login){padding-top:4.6%}
html body #horizon-login.hq-main-login .hw-shared-login{display:block;margin:0 0 1.4cqw;padding:10px 12px;border:1px solid #a99aac;border-radius:4px;color:#473352;background:#e5dce98c;font:14px/1.4 'Segoe UI',sans-serif;text-align:center;text-decoration:none}
@media(min-width:901px) and (max-height:600px){
 html body #horizon-login.hq-main-login{width:min(100vw,1200px)}
 html body:has(#horizon-login.hq-main-login:not([hidden])){align-items:start}
}
/* Small screens retain the textured entrance above a comfortably sized form. */
@media(max-width:900px){
 html body #horizon-login.hq-main-login{width:100%;height:auto;aspect-ratio:auto;min-height:100svh;padding:230px 20px 40px;background-size:800px auto;background-position:calc(50% + 190px) top;background-color:#211a31}
 html body #horizon-login.hq-main-login .ha-login-card{position:relative;left:auto;top:auto;height:auto;width:100%;max-width:410px;margin:auto;padding:38px 28px 32px;background:radial-gradient(ellipse at 0 0,#fffaf0,#eee5d8);border:1px solid #fff5e2a8;border-radius:6px;box-shadow:0 14px 40px #0006,inset 0 1px #fff9}
 html body #horizon-login.hq-main-login h1{font-size:34px;margin-bottom:32px;letter-spacing:-1px;white-space:normal}
 html body #horizon-login.hq-main-login label{font-size:15px;margin-bottom:22px}
 html body #horizon-login.hq-main-login input{height:45px;margin-top:7px}
 html body #horizon-login.hq-main-login button[type=submit]{height:47px;margin-top:6px;font-size:18px}
 html body #horizon-login.hq-main-login .hqc-login-help{font-size:14px;margin-top:22px}
 html body #horizon-login.hq-main-login .hqc-login-help p{position:static;margin:14px 0 0}
 html body #horizon-login.hq-main-login.hqc-setup .ha-login-card,html body #horizon-login.hq-main-login .ha-login-card:has(.hw-shared-login){padding:32px 26px}
 html body #horizon-login.hq-main-login.hqc-setup h1{font-size:28px;margin-bottom:26px}
 html body #horizon-login.hq-main-login .hw-shared-login{margin-bottom:24px}
}

/* Keep Show/Hide quiet while retaining the original desktop entrance. */
html body #horizon-login.hq-main-login .hq-password-field .hq-password-toggle{right:7px;min-width:54px;min-height:32px;padding:6px 10px;margin:0;border:1px solid #b8a6b4;border-radius:5px;background:#ebe1e9;color:#594354;font:600 12px/1.2 system-ui,sans-serif;box-shadow:inset 0 1px #fff9;cursor:pointer}
html body #horizon-login.hq-main-login .hq-password-field .hq-password-toggle:hover{background:#ddd0dc;border-color:#8b6a84}
/* Phone entrance: show the room and the full doorway above the form. The crop
   ends before the artwork's desktop form panel, so it is never duplicated. */
@media(max-width:900px){
 html body #horizon-login.hq-main-login{width:100%;padding:0 16px 32px;min-height:100svh;background:#211a31}
 html body #horizon-login.hq-main-login div.ha-login-art{display:block;position:relative;box-sizing:border-box;width:100%;max-width:410px;height:auto;min-height:0;aspect-ratio:940/1000;margin:0 auto -12px;padding:0;border:0;border-radius:0;box-shadow:none;overflow:hidden;background:url('/hq-login-velvet.png') left top/167.340426% auto no-repeat}
 html body #horizon-login.hq-main-login .ha-login-art>*{display:none}
 html body #horizon-login.hq-main-login .ha-login-art::after{content:'';position:absolute;inset:75% 0 0;background:linear-gradient(transparent,#211a31)}
 html body #horizon-login.hq-main-login .ha-login-card{position:relative;z-index:1;max-width:410px;margin:0 auto;padding:30px 26px 28px}
 html body #horizon-login.hq-main-login h1{margin-bottom:24px}
 html body #horizon-login.hq-main-login label{margin-bottom:19px}
}
