 :root {
      --bg: #f2f2f2;
      --primary: #7affa0;
      --btn: #ffffff;
      --btn-text: #333;
      --btn-op: #4caf50;
      --btn-op-text: #fff;
      --btn-red: #e53935;
      --btn-red-text: #fff;
    }

    * {
      box-sizing: border-box;
    }

    body {
      margin: 0;
      padding: 0;
      background: var(--bg);
      display: flex;
      justify-content: center;
      align-items: center;
      height: 100vh;
      font-family: sans-serif;
    }

    .calculator {
      width: 350px;
      background: #fff;
      border-radius: 16px;
      box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
      overflow: hidden;
    }

    .header {
      background: var(--primary);
      padding: 20px;
    }

    .display {
      width: 100%;
      font-size: 2.2rem;
      font-weight: bold;
      text-align: right;
      border: none;
      background: transparent;
      color: #000;
    }

    .buttons {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 10px;
      padding: 20px;
    }

    button {
      height: 60px;
      font-size: 1.4rem;
      border: none;
      border-radius: 50%;
      background: var(--btn);
      color: var(--btn-text);
      cursor: pointer;
      transition: transform 0.1s;
    }

    button:active {
      transform: scale(0.95);
    }

    .op {
      background: var(--btn-op);
      color: var(--btn-op-text);
    }

    .equal {
      background: var(--primary);
      color: #000;
    }

    .clear {
      background: var(--btn-red);
      color: var(--btn-red-text);
    }
