* { box-sizing: border-box; }
    body {
      margin: 0;
      background: #e8e0d7;
      color: var(--text);
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Pretendard, Apple SD Gothic Neo, sans-serif;
      display: flex;
      justify-content: center;
    }
    button, input, textarea { font: inherit; }
    button { border: 0; background: none; color: inherit; cursor: pointer; }
    input, textarea { outline: none; }

    .app {
      width: min(100vw, 390px);
      min-height: 100vh;
      background: var(--bg);
      position: relative;
      overflow: hidden;
    }

    .page {
      display: none;
      min-height: 100vh;
      padding: 24px 18px 104px;
    }
    .page.active { display: block; }

    .top {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      margin-bottom: 16px;
    }
    .title h1 {
      margin: 0;
      font-size: 25px;
      letter-spacing: -0.055em;
      line-height: 1.08;
    }
    .title p {
      margin: 6px 0 0;
      color: var(--sub);
      font-size: 13px;
      letter-spacing: -0.03em;
    }

    .text-btn {
      height: 38px;
      padding: 0 14px;
      border-radius: 999px;
      background: #e6f0df;
      color: var(--green-dark);
      font-size: 13px;
      font-weight: 850;
      letter-spacing: -0.03em;
    }
    .plain-btn {
      height: 38px;
      padding: 0 10px;
      color: var(--pink);
      font-weight: 850;
      font-size: 14px;
    }
    .back-btn {
      width: 38px;
      height: 38px;
      border-radius: 15px;
      display: grid;
      place-items: center;
      background: var(--paper);
      box-shadow: 0 8px 18px rgba(45,41,36,0.06);
    }

    .card {
      background: var(--paper);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
      border: 1px solid rgba(65, 59, 50, 0.05);
    }
