* {
        box-sizing: border-box;
      }
      body {
        margin: 0;
        background: #f3f4f6;
        color: #172033;
        font: 16px system-ui, -apple-system, sans-serif;
      }
      main {
        max-width: 760px;
        margin: auto;
        padding: 18px 15px 70px;
      }
      header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 12px;
      }
      small,
      .muted {
        color: #687386;
      }
      .bar {
        height: 7px;
        background: #dfe3e8;
        border-radius: 8px;
        margin: 17px 0;
      }
      .bar div {
        height: 100%;
        background: #172033;
        border-radius: 8px;
      }
      .card {
        background: #fff;
        padding: 23px;
        border-radius: 18px;
        box-shadow: 0 8px 30px #0001;
      }
      .tag {
        font-size: 12px;
        font-weight: 800;
        letter-spacing: 0.05em;
      }
      .pill {
        display: inline-block;
        background: #edf0f4;
        border-radius: 999px;
        padding: 5px 9px;
        font-size: 12px;
        font-weight: 700;
        margin: 2px 5px 2px 0;
      }
      h1 {
        font-size: 23px;
        line-height: 1.25;
      }
      h2 {
        font-size: 22px;
        line-height: 1.3;
      }
      h3 {
        font-size: 17px;
        line-height: 1.4;
      }
      p {
        line-height: 1.58;
      }
      button {
        width: 100%;
        padding: 14px;
        margin: 6px 0;
        border: 1px solid #d5dbe2;
        border-radius: 12px;
        background: #fff;
        color: #172033;
        font: inherit;
        text-align: left;
      }
      .primary {
        background: #172033;
        color: #fff;
        border: 0;
        text-align: center;
      }
      .ok {
        background: #eefaf1;
        border-color: #27833e;
      }
      .mid {
        background: #fff9e8;
        border-color: #b58a24;
      }
      .bad {
        background: #fff1f1;
        border-color: #b43a3a;
      }
      .explain {
        padding-top: 12px;
        line-height: 1.55;
      }
      .grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
      }
      .grid button {
        text-align: center;
        margin: 0;
      }
      .tool,
      .concept {
        background: #f7f8fa;
        padding: 15px;
        border-radius: 12px;
        margin: 8px 0;
      }
      .note {
        font-size: 13px;
        background: #f6f7f9;
        padding: 12px;
        border-radius: 12px;
        line-height: 1.45;
        margin-top: 15px;
      }
      .scoregrid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 6px;
        margin: 14px 0;
      }
      .scorebox {
        background: #f6f7f9;
        border-radius: 10px;
        padding: 9px 5px;
        text-align: center;
      }
      .scorebox b {
        display: block;
        font-size: 19px;
      }
      .scorebox small {
        font-size: 10px;
      }
      .caseintro {
        border-left: 4px solid #172033;
        padding-left: 13px;
        margin: 12px 0 18px;
      }
      .trade {
        font-size: 13px;
        margin-top: 8px;
      }
      .back {
        display: block;
        width: max-content;
        margin: 0 0 14px auto;
        padding: 9px 12px;
      }
      @media (max-width: 500px) {
        .grid {
          grid-template-columns: 1fr;
        }
        .card {
          padding: 20px;
        }
        .scoregrid {
          grid-template-columns: 1fr 1fr;
        }
      }