*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    :root {
      --bg: #141413;
      --surface: #1e1e1c;
      --surface-strong: #252522;
      --border: rgba(255,255,255,0.08);
      --text-primary: #f0f0ed;
      --text-tertiary: #6b6b67;
      --accent-home: #1D9E75;
      --error: #D85A30;
      --shadow: 0 20px 70px rgba(0,0,0,0.45);
    }
    html, body {
      min-height: 100%;
      background: var(--bg);
      color: var(--text-primary);
      font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
      -webkit-font-smoothing: antialiased;
    }
    body {
      display: flex;
      align-items: center;
      justify-content: center;
      min-height: 100vh;
      padding: 1.25rem;
      background: radial-gradient(circle at 50% 35%, rgba(29,158,117,0.10), transparent 32rem), var(--bg);
    }
    .lock-card {
      width: min(100%, 360px);
      background: var(--surface);
      border: 0.5px solid var(--border);
      border-radius: 20px;
      padding: 2rem;
      box-shadow: var(--shadow);
      text-align: center;
    }
    .lock-mark { font-size: 28px; margin-bottom: .75rem; }
    .lock-title { font-size: 24px; line-height: 1.1; font-weight: 500; letter-spacing: -0.03em; margin-bottom: .5rem; }
    .lock-sub { color: var(--text-tertiary); font-size: 12.5px; margin-bottom: 1.25rem; }
    .pin-form { display: flex; flex-direction: column; gap: .8rem; }
    .pin-input {
      width: 100%;
      background: var(--surface-strong);
      color: var(--text-primary);
      border: 0.5px solid var(--border);
      border-radius: 12px;
      padding: 1rem;
      text-align: center;
      letter-spacing: .28em;
      font-size: 21px;
      outline: none;
    }
    .pin-input:focus { border-color: var(--accent-home); }
    .unlock-btn {
      width: 100%;
      border: 0;
      border-radius: 12px;
      padding: .85rem 1rem;
      background: var(--accent-home);
      color: white;
      font-weight: 500;
      cursor: pointer;
    }
    .pin-error { min-height: 18px; color: var(--error); font-size: 12px; }