/* Signed-out styles only; authenticated controls stay unchanged. */
body:not(.dashboard-compact){background:#101214}
body:not(.dashboard-compact) .dashboard{width:min(1080px,calc(100% - 48px));padding:28px 0 48px}
body:not(.dashboard-compact) .hero{display:none}
body:not(.dashboard-compact) .topbar{position:relative;display:flex;justify-content:center;margin:0;padding:12px 0}
#keyPanel{display:none;width:100%;max-width:none;margin:clamp(48px,10vh,100px) auto 0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;text-align:left}
#keyPanel.is-open{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);gap:64px;align-items:center}
.login-intro{position:relative;isolation:isolate;padding:48px 0}
.login-kicker{display:block;font-size:10px;font-weight:600;letter-spacing:.18em;color:#aeb4bb;margin-bottom:26px}
#keyPanel h1{position:relative;margin:0 0 26px;font-size:clamp(64px,8.8vw,112px);line-height:.9;letter-spacing:-.065em;font-weight:800;color:#f4f4ee;background:none;-webkit-text-fill-color:initial}
#keyPanel h1 span{display:block;color:#c2df91}
.login-frame{position:absolute;z-index:-1;inset:0 8% 0 12%;border:1px solid #ffffff12;transform:rotate(-6deg);pointer-events:none}
.login-frame::before,.login-frame::after{content:'';position:absolute;width:24px;height:24px;border-color:#c2df9170;border-style:solid}
.login-frame::before{left:-1px;top:-1px;border-width:1px 0 0 1px}
.login-frame::after{right:-1px;bottom:-1px;border-width:0 1px 1px 0}
.login-frame-cross{position:absolute;right:18px;top:15px;color:#ffffff30;font:24px monospace}
.login-frame-caption{position:absolute;right:16px;bottom:15px;font:9px monospace;letter-spacing:.12em;color:#8e969f}
#keyPanel .login-description{margin:0;color:#919cab;font-size:13px;line-height:1.6}
.login-card{margin:0;min-width:0;padding:36px 0 36px 36px;border-left:1px solid #ffffff20}
#keyPanel .login-card h2{color:#f4f4ee;font-size:24px;font-weight:600;letter-spacing:-.03em;margin:0 0 10px}
#keyPanel .login-account-note{font-size:12px;color:#919cab;line-height:1.6;margin:0 0 28px}
#keyPanel .dashboard-auth-options{display:grid;gap:20px}
#keyPanelGoogleSignIn{display:flex;justify-content:flex-start;min-height:44px;max-width:100%}
#keyPanel .dashboard-google-fallback{max-width:100%;font-size:12px;font-weight:500;white-space:normal;background:#191e27;border-color:#343d4c}
.login-backup{padding:0}
.login-backup summary{display:inline-block;cursor:pointer;font-size:12px;font-weight:500;color:#99a4b5;min-height:40px;padding:12px 8px;list-style:none}
.login-backup summary::-webkit-details-marker{display:none}
.login-backup summary:hover{color:#fff}
.login-backup[open] summary{color:#e0e5ee}
#dashboardKeyForm{display:grid;gap:10px;padding:8px 0 0;text-align:left}
#dashboardKeyForm label{font-size:12px;color:#aab5c6}
#keyPanelInput{width:100%;min-width:0;min-height:46px;background:#141922;color:#f4f7ff;border:1px solid #384356;border-radius:7px;padding:12px;font:inherit;font-size:16px}
#keyPanelInput::placeholder{color:#7f8a9b}
#keyPanelBtn{width:100%;min-height:46px;display:flex;justify-content:space-between;align-items:center;background:#c2df91;color:#151a22;border:0;border-radius:7px;font-size:13px;font-weight:600;padding:12px 14px}
#keyPanel :is(button,input,summary):focus-visible{outline:2px solid #a6cbff;outline-offset:4px}
#keyPanel .login-access-note{padding:0;margin:28px 0 0;font-size:11px;line-height:1.6;color:#7e8a9c}
#keyPanel .login-status{color:#f4cba3;margin:16px 0 0;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
#keyPanel .login-status:empty{display:none}
@media(max-width:800px){
  body:not(.dashboard-compact) .dashboard{width:calc(100% - 40px);padding-top:20px}
  body:not(.dashboard-compact) .topbar{padding-top:48px}
  #keyPanel{margin-top:36px}
  #keyPanel.is-open{grid-template-columns:minmax(0,1fr);gap:32px;max-width:460px}
  .login-intro{padding:28px 0}
  #keyPanel h1{font-size:clamp(60px,14vw,88px)}
  .login-card{border-left:0;border-top:1px solid #ffffff20;padding:28px 0 0}
  .login-kicker{font-size:9px;margin-bottom:22px}
}
