  *{box-sizing:border-box}
  html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
  body{min-height:100vh;-webkit-font-smoothing:antialiased;overflow:hidden}
  button,input,select,textarea{font:inherit;color:inherit}
  button{cursor:pointer}
  a{color:var(--orange-dark);text-decoration:none}
  a:hover{color:#a96900}

  /* ---------- screens ---------- */
  .screen{display:none;min-height:100vh}
  .screen.active{display:block}
  #loginScreen.active{display:flex !important;align-items:center;justify-content:center;padding:24px;background:linear-gradient(180deg,#fbfaf6,#f1efe7)}

  /* ---------- buttons + inputs ---------- */
  .btn{border:none;background:var(--orange);color:#fff;border-radius:10px;padding:10px 14px;font-weight:600;display:inline-flex;align-items:center;gap:8px;transition:background .15s, transform .05s}
  .btn:hover{background:var(--orange-dark)}
  .btn:active{transform:translateY(1px)}
  .btn:disabled{opacity:.6;cursor:not-allowed}
  .btn.secondary{background:var(--panel);color:var(--ink);border:1px solid var(--border)}
  .btn.secondary:hover{border-color:var(--orange);color:var(--orange-dark)}
  .btn.danger{background:var(--danger)}
  .btn.danger:hover{background:#b91c1c}
  .btn.ghost{background:transparent;color:var(--ink-2);padding:8px 10px}
  .btn.ghost:hover{background:var(--orange-tint);color:var(--orange-dark)}
  .btn.sm{padding:6px 10px;font-size:13px;border-radius:8px}
  .input{width:100%;padding:11px 13px;border-radius:11px;border:1px solid var(--border);background:var(--panel);color:var(--ink);transition:border-color .15s, box-shadow .15s}
  .input:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 4px var(--orange-soft)}
  .label{display:block;margin-bottom:6px;font-size:12px;font-weight:700;color:#434343;text-transform:uppercase;letter-spacing:.04em}
  .field{margin-bottom:14px}
  .hint{font-size:12px;color:var(--muted);margin-top:6px}
  .platform-choice{display:flex;gap:10px}
  .platform-choice .pc-opt{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:11px 10px;border:1.5px solid var(--border);border-radius:10px;cursor:pointer;font-weight:700;font-size:14px;color:var(--ink-2);transition:border-color .12s,background .12s}
  .platform-choice .pc-opt:hover{border-color:var(--orange)}
  .platform-choice .pc-opt.active{border-color:var(--orange);background:rgba(247,148,30,.08);color:var(--ink)}
  .platform-choice .pc-opt input{position:absolute;opacity:0;width:0;height:0}
  .tg-2fa{text-align:center;padding:6px 2px}
  .tg-2fa-icon{font-size:34px;color:#229ed9;margin-bottom:6px}
  .tg-2fa-title{font-size:17px;font-weight:800;color:var(--ink);margin-bottom:6px}
  .tg-2fa-sub{font-size:13.5px;color:var(--muted);margin:0 0 16px}
  .icon-btn{border:none;background:transparent;width:36px;height:36px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;color:var(--ink-2);font-size:18px;flex:0 0 36px}
  .icon-btn:hover{background:var(--orange-tint);color:var(--orange-dark)}

