    body {
      margin: 0;
      font-family: helvetica, Arial, Helvetica, sans-serif;
      background: #121212;
      color: #e1e1e1;
    }

    main {
      max-width: 1200px;
      margin: 0;
      padding: 5vw 20vw 80px 20vw;
    }

    /*
    .meta {
      display: flex;
      gap: 12px;
      align-items: baseline;
      margin-bottom: 18px;
      opacity: 0.75;
      font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
      font-size: 12px;
    }
    .node-id {
      padding: 4px 8px;
      border: 1px solid rgba(0,0,0,0.15);
      border-radius: 999px;
      background: rgba(0,0,0,0.03);
    }
    .node-type { opacity: 0.8; }
    
    */
    .text {
      white-space: pre-wrap;
      line-height: 1.7;
      text-transform: lowercase;
      font-size: 16px;
    }

    .choices {
      position: fixed;
      right: 20vw;
      top: 75%;
      transform: translateY(-80%);
      display: flex;
      flex-direction: column;
      gap: 12px;
      align-items: flex-end;
    }

    button.choice {
      text-align: right;
      text-transform: uppercase;
      cursor: pointer;
      color: red;
      background: none;
      border: none;
      font-size: 15px;
      line-height: 1.3;
    }

    button.choice:hover {
      transform: translateY(-2px);

    }

    #summaryView {
      padding-top: 24px;
    }

    .summary-header {
      display: flex;
      justify-content: space-between;
      align-items: baseline;
      gap: 16px;
      margin-bottom: 16px;
    }

    .summary-title {
      color: #e1e1e1;
      font-size: 18px;
      letter-spacing: 0.02em;
      text-transform: uppercase;
    }

    button.restart {
      cursor: pointer;
      background: none;
      border: none;
      color: #e1e1e1;
      /* padding: 8px 12px; */
      /* border-radius: 999px; */
      font-size: 16px;
      text-transform: uppercase;
      text-decoration: underline;

    }

    button.restart:hover {
      transform: translateY(-2px);
      color: red;
      text-decoration: underline;
    }

    .summary-scroll {
      max-height: 75vh;
      overflow-y: auto;
      padding-right: 10px;
    }

    .summary-block {
      margin-bottom: 18px;
    }

    .summary-text {
      white-space: pre-wrap;
      line-height: 1.7;
      font-size: 16px;
      padding-right: 30px;
      color: #e1e1e1;
      /* story text in white */
      text-transform: lowercase;
    }

    .summary-choice {
      margin-top: 0px;
      margin-bottom: 40px;
      padding-right: 10px;
      font-size: 18px;
      text-align: right;
      text-transform: uppercase;
      color: red;
      /* user choices in red */
      letter-spacing: 0.02em;
    }

    .summary-divider {
      height: 1px;
      background: rgba(225, 225, 225, 0.12);
      margin: 18px 0;
    }