  .scale-row{display:flex; gap:4px;}
  .scale-btn{
    flex:1; border:1px solid var(--line-strong); background:var(--bg); color:var(--ink-2); border-radius:6px;
    padding:7px 0; font-size:12px; font-weight:600; cursor:pointer; text-align:center;
  }
  .scale-btn.active{background:var(--ink); color:var(--bg); border-color:var(--ink);}
  .scale-hint{font-size:10.5px; color:var(--ink-mute);}

  .modal-backdrop{
    position:fixed; inset:0; background:rgba(10,10,8,.5); display:flex; align-items:flex-start; justify-content:center;
    padding:5vh 16px; overflow-y:auto; z-index:100;
  }
  .modal-backdrop[hidden]{display:none;}
  .modal{
    background:var(--surface); border-radius:var(--radius-l); border:1px solid var(--line); box-shadow:0 30px 60px rgba(0,0,0,.3);
    width:100%; max-width:520px; padding:22px 22px 18px;
  }
  .modal-head{display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:14px;}
  .modal-head h3{font-size:20px;}
  .modal-close{border:none; background:var(--surface-2); width:30px; height:30px; border-radius:50%; cursor:pointer; color:var(--ink-2); font-size:16px; flex:none;}
  .modal-foot{display:flex; justify-content:flex-end; gap:8px; margin-top:18px;}
  .form-msg{font-size:12.5px; padding:9px 11px; border-radius:8px; margin-top:12px;}
  .form-msg.err{background:color-mix(in oklab, var(--status-critical) 14%, var(--surface)); color:var(--status-critical);}
  .form-msg.ok{background:color-mix(in oklab, var(--status-good) 14%, var(--surface)); color:var(--status-good);}
  .form-msg[hidden]{display:none;}

  footer.note{text-align:center; font-size:11.5px; color:var(--ink-mute); padding-top:30px;}

  /* auth / setup / loading screens */
  .center-wrap{min-height:100vh; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:24px;}
  .auth-brand{display:flex; align-items:center; gap:12px; margin-bottom:28px;}
  .auth-card{width:100%; max-width:400px;}
  .loading-note{color:var(--ink-mute); font-size:13.5px; padding-top:14px;}
