/* Calm login spacing; shared components retain their existing layout. */
.login-card { padding-block:clamp(32px,6vh,72px); }
.brand-login { margin-bottom:clamp(40px,8vh,88px); cursor:default; }
.login-copy { margin:0 0 32px; }
.login-copy h1 { font-family:inherit; font-weight:650; line-height:1.2; letter-spacing:-.045em; font-size:clamp(36px,3.8vw,54px); }
.login-copy > p:last-child { margin-top:20px; line-height:1.8; max-width:32em; }
.login-form { gap:12px; }
.login-actions { margin-top:12px; }
.login-actions button { min-height:56px; }
.forgot-entry { justify-self:end; min-height:36px; margin:0; padding:6px 0 6px 16px; color:var(--muted); }
.guest-entry { margin-top:20px; }
.vip-entry { display:flex; flex-wrap:wrap; align-items:center; gap:0 8px; }
.vip-entry #vipOpen { width:auto; flex-shrink:0; padding-left:0; }
.vip-expiry { color:var(--muted); font-size:10px; white-space:nowrap; font-variant-numeric:tabular-nums; }
.mobile-membership { display:none; }
.payment-warm-frame { position:fixed !important; left:-10000px !important; top:0 !important; width:260px; height:260px; border:0; visibility:hidden; pointer-events:none; }
.cloud-scan { grid-template-columns:260px minmax(0,1fr); gap:24px; }
.cloud-qr-box { width:260px; height:260px; min-height:260px; padding:0; overflow:hidden; border-radius:12px; background:white; }
.cloud-qr-box iframe { width:260px; height:260px; border:0; display:block; }
.cloud-qr-box > span { padding:20px; }
.cloud-scan-amount { font-variant-numeric:tabular-nums; }
#cloudCheck { transition:background .15s; }
:root[data-vip] {
  --ink:#302b22; --muted:#706652; --line:#d4ccba; --line-soft:#e3ddcf;
  --paper:#f7f5ef; --white:#fffefa; --sidebar:#f4f1e9;
  --brand:#806018; --brand-dark:#65490f; --brand-soft:#efe7d0;
  --shadow:0 22px 60px rgba(73,57,24,.10);
}
:root[data-vip][data-theme="dark"] {
  --ink:#eee8d9; --muted:#b9af98; --line:#645a43; --line-soft:#494331;
  --paper:#191814; --white:#222019; --sidebar:#1d1b16;
  --brand:#d8b96d; --brand-dark:#edcf85; --brand-soft:#3c3320;
  --shadow:0 22px 60px rgba(0,0,0,.32);
}
[data-vip] .mobile-topbar { background:var(--sidebar); }
[data-vip] .brand-mark { color:var(--white); box-shadow:none; }
[data-vip][data-theme="dark"] .brand-mark { color:#241e10; }
[data-vip] .file-table-head { background:var(--sidebar); color:var(--muted); }
[data-vip] .file-icon, [data-vip] .file-icon.folder { color:var(--brand); background:var(--white); border-color:var(--line); }
[data-vip] .primary-button, [data-vip] .mobile-upload { background:var(--brand); color:var(--white); box-shadow:none; }
[data-vip][data-theme="dark"] .primary-button, [data-vip][data-theme="dark"] .mobile-upload { color:#241e10; }
[data-vip] .primary-button:hover { background:var(--brand-dark); }
[data-vip] .secondary-button, [data-vip] .icon-button.bordered { background:var(--white); color:var(--ink); border-color:var(--line); }
[data-vip] .secondary-button:hover, [data-vip] .icon-button:hover, [data-vip] .side-utility:hover { background:var(--brand-soft); color:var(--brand-dark); }
[data-vip] .progress { background:var(--line-soft); }
[data-vip] .row-selector, [data-vip] .upload-select { border-color:var(--muted); }
[data-vip] .file-row:hover, [data-vip] .file-row.selected { background:var(--brand-soft); }
[data-vip] .search-box:focus-within { border-color:var(--brand); }
[data-vip] :focus-visible { outline:2px solid var(--brand); outline-offset:3px; }
[data-vip] .toast:not(.error) { background:var(--ink); color:var(--paper); }
[data-vip] .loading-list i { background:var(--brand-soft); }
[data-vip] .player-controls, [data-vip] .player-shell > header, [data-vip] .subtitle-menu { background:#222019; color:#eee8d9; }
[data-vip] .player-shell > header p, [data-vip] .player-shell .icon-button { color:#d8b96d; }
[data-vip] .player-controls input[type="range"] { accent-color:#d8b96d; }
[data-vip] .player-controls select, [data-vip] .subtitle-menu button { background:#302b22; color:#eee8d9; border-color:#645a43; }
[data-vip] .subtitle-drop-hint { border-color:#d8b96d; background:#302b22ee; color:#eee8d9; }
@media(max-width:900px) {
  .login-card { justify-content:center; padding-block:40px; }
  .brand-login { margin-bottom:48px; }
  .login-copy { margin-top:0; }
  .mobile-membership { display:flex; gap:8px; align-items:center; }
  .mobile-membership button { min-height:36px; color:var(--brand); padding:4px 0; }
}
@media(max-width:600px) {
  .account-dialog { padding:28px 20px; }
  .account-dialog h2 { font-size:23px; }
  .cloud-scan { grid-template-columns:minmax(0,1fr); justify-items:center; gap:16px; }
  .cloud-scan-actions { width:100%; }
  .cloud-scan #cloudPayStatus { min-height:0; }
  .vip-plans { gap:8px; }
  .vip-plans label { padding:12px 8px; }
  .vip-plans strong { font-size:25px; }
  .vip-plans em { font-size:10px; }
  .login-copy h1 { font-size:38px; }
}
