    *, *::before, *::after { box-sizing: border-box; }
    html, body { min-height: 100%; margin: 0; }
    body {
      font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial;
      color: #f3e7c9;
      background: #0b0f14;
      overflow-x: hidden;
    }
    #app { min-height: 100vh; display: grid; place-items: start center; padding: clamp(14px, 2vw, 30px); }
    .panel {
      width: min(1160px, 96vw);
      background: rgba(60, 48, 30, 0.52);
      border: 1px solid rgba(255, 230, 180, .22);
      border-radius: 18px;
      box-shadow: 0 18px 40px rgba(165, 90, 0,.25), inset 0 0 0 1px rgba(255,255,255,.08);
      overflow: hidden;
    }
    .content { display: grid; gap: 18px; padding: clamp(18px, 3vw, 30px); }
    .header {
      display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap: wrap;
      border: 1px solid rgba(255,230,180,0.24);
      border-radius: 14px;
      padding: 14px;
      background: linear-gradient(180deg, rgba(255,230,180,0.25), rgba(0,0,0,0));
    }
    .brand { display:flex; align-items:center; gap:14px; }
    .brand-copy { display: grid; gap: 6px; }
    .logo { width: 86px; height: 86px; object-fit: contain; }
    h1 { margin: 0; font-size: clamp(22px, 3.2vw, 38px); text-transform: uppercase; letter-spacing: .7px; }
    .lede { margin: 0; color: #d2bf95; line-height: 1.55; }
    .tag { display:inline-block; font-size:12px; border:1px solid rgba(255,230,180,0.3); border-radius:999px; padding:4px 10px; }
    .sections {
      display:grid;
      gap: 16px;
    }
    .section {
      border: 1px solid rgba(255,230,180,0.22);
      border-radius: 14px;
      padding: 12px;
      background: rgba(0,0,0,0.14);
    }
    .section-head {
      display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap;
      margin: 0;
    }
    .section h2 {
      margin: 0;
      font-size: 13px;
      text-transform: uppercase;
      letter-spacing: 1.2px;
    }
    .section summary {
      list-style:none;
      cursor:pointer;
      padding: 2px 0;
      border-radius: 8px;
    }
    .section summary::-webkit-details-marker { display:none; }
    .section summary::marker { display:none; }
    .section-caret {
      display:inline-block;
      width: 1.1em;
      color:#d2bf95;
      font-size: 12px;
      transform-origin:center;
      transition: transform .18s ease;
    }
    .section[open] .section-caret { transform: rotate(90deg); }
    .section-body {
      margin-top: 10px;
      display:grid;
      gap: 10px;
    }
    .section-summary {
      margin: 0 0 10px;
      color: #d2bf95;
      font-size: 13px;
      line-height: 1.5;
    }
    .section-count {
      font-size: 11px;
      color: #d2bf95;
      border: 1px solid rgba(255,230,180,0.24);
      border-radius: 999px;
      padding: 2px 8px;
    }
    .subsections {
      display:grid;
      gap: 10px;
    }
    .subsection {
      border: 1px solid rgba(255,230,180,0.16);
      border-radius: 10px;
      padding: 10px;
      background: rgba(0,0,0,0.10);
    }
    .subsection summary {
      list-style:none;
      cursor:pointer;
    }
    .subsection summary::-webkit-details-marker { display:none; }
    .subsection summary::marker { display:none; }
    .subsection-caret {
      display:inline-block;
      width: 1.1em;
      color:#d2bf95;
      font-size: 11px;
      transform-origin:center;
      transition: transform .18s ease;
    }
    .subsection[open] .subsection-caret { transform: rotate(90deg); }
    .subsection h3 {
      margin: 0 0 10px;
      font-size: 12px;
      text-transform: uppercase;
      letter-spacing: 1px;
      color: #d2bf95;
    }
    .subsection-meta {
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      flex-wrap:wrap;
      margin-bottom: 8px;
    }
    .subsection h3 { margin: 0; }
    .subsection .details-btn {
      border:1px solid rgba(255,230,180,0.28);
      border-radius:999px;
      background:rgba(0,0,0,0.2);
      color:#f3e7c9;
      font-size:12px;
      padding:5px 10px;
      cursor:pointer;
    }
    .subsection-summary {
      margin: 0 0 10px;
      color: #d2bf95;
      font-size: 13px;
      line-height: 1.5;
    }
    .subsubsections {
      display:grid;
      gap:10px;
    }
    .subsubsection {
      border: 1px solid rgba(255,230,180,0.14);
      border-radius: 10px;
      padding: 10px;
      background: rgba(0,0,0,0.08);
    }
    .subsubsection h4 {
      margin: 0 0 8px;
      font-size: 12px;
      letter-spacing: .9px;
      text-transform: uppercase;
      color: #d2bf95;
    }
    .subsubsection-summary {
      margin: 0 0 10px;
      color: #d2bf95;
      font-size: 13px;
      line-height: 1.5;
    }
    .cards {
      display:grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 14px;
    }
    .topic {
      border: 1px solid rgba(255,230,180,0.22);
      border-radius: 14px;
      overflow: hidden;
      background: rgba(0,0,0,0.16);
      display:flex;
      flex-direction: column;
      min-height: 100%;
    }
    .topic img {
      width: 100%;
      aspect-ratio: 6 / 5;
      object-fit: cover;
      object-position: center 20%;
      border-bottom: 1px solid rgba(255,230,180,0.22);
    }
    .topic .body { padding: 12px; display:flex; flex-direction:column; gap: 8px; flex: 1 1 auto; }
    .topic h3 { margin: 0; font-size: 14px; text-transform: uppercase; letter-spacing: .8px; }
    .topic .path { margin:0; font-size:11px; color:#d2bf95; opacity:.9; }
    .topic .overview { margin:0; color:#f3e7c9; line-height:1.45; font-size:14px; flex: 1 1 auto; }
    .topic button {
      margin-top: auto; width: 100%; border: 1px solid rgba(255,230,180,0.3);
      border-radius: 10px; background: rgba(0,0,0,0.22); color:#f3e7c9;
      padding: 10px; cursor: pointer; font-weight: 600;
    }
    .modal {
      position: fixed; inset: 0; z-index: 200;
      display: none; align-items: flex-start; justify-content: center;
      background: rgba(5, 6, 8, .78); padding: 12px;
      overflow-y: auto;
    }
    .modal.open { display: flex; }
    .modal-box {
      width: min(900px, 100%);
      max-height: calc(100vh - 24px);
      overflow: auto;
      background: rgba(20,16,10,0.95);
      border: 1px solid rgba(255,230,180,0.28);
      border-radius: 14px;
      box-shadow: 0 20px 50px rgba(0,0,0,0.5);
      padding: 16px;
    }
    .modal-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px; }
    .modal-title { margin:0; font-size: 17px; text-transform: uppercase; letter-spacing: .8px; }
    .modal-close {
      border:1px solid rgba(255,230,180,0.35); background: transparent; color:#f3e7c9;
      border-radius: 999px; padding: 6px 10px; cursor: pointer;
    }
    .modal-content img { max-width: 100%; height: auto; border-radius: 8px; border:1px solid rgba(255,230,180,0.2); }
    .modal-content .popup-hero {
      width: 100%;
      max-height: 380px;
      object-fit: cover;
      object-position: center 20%;
      margin-bottom: 10px;
    }
    .modal-content .detail-slogan {
      margin: -2px 0 18px;
      padding: 12px 16px;
      border-left: 3px solid rgba(245, 195, 90, 0.95);
      border-radius: 12px;
      background:
        linear-gradient(180deg, rgba(0, 0, 0, 0.34), rgba(20, 14, 8, 0.92)),
        rgba(0, 0, 0, 0.6);
      box-shadow:
        inset 0 0 0 1px rgba(255, 230, 180, 0.08),
        0 10px 24px rgba(0, 0, 0, 0.18);
    }
    .modal-content .detail-slogan-label {
      display: block;
      margin-bottom: 6px;
      font-size: 11px;
      letter-spacing: 1.3px;
      text-transform: uppercase;
      color: #cfb06d;
    }
    .modal-content .detail-slogan-text {
      margin: 0;
      font-size: clamp(18px, 2.2vw, 26px);
      line-height: 1.15;
      font-weight: 500;
      font-style: normal;
      color: #f3c76a;
      overflow-wrap: anywhere;
    }
    .modal-content .group-banner {
      float: right;
      width: min(280px, 40%);
      margin: 0 0 16px 20px;
      object-fit: contain;
      object-position: top right;
      display: block;
      background: rgba(0,0,0,0.18);
    }
    .modal-content h2 { clear: none; }
    .modal-content h2:nth-of-type(2) { clear: both; }
    .modal-content .popup-gallery {
      display: grid;
      gap: 12px;
      margin-top: 14px;
      clear: both;
    }
    .modal-content .popup-gallery img {
      width: 100%;
      max-height: 360px;
      object-fit: cover;
      object-position: center 24%;
    }
    .modal-content a { color: #f59e0b; }
    .modal-content pre { overflow-x:auto; background: rgba(0,0,0,0.25); padding:10px; border-radius:8px; }
    .footer { font-size: 12px; color: #d2bf95; display:flex; justify-content:space-between; gap:8px; flex-wrap:wrap; }
    .signature {
      margin: 4px 0 0;
      text-align: center;
      color: #d2bf95;
      font-size: 13px;
      letter-spacing: .2px;
    }
    @media (max-width: 980px) { .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
    @media (max-width: 640px) {
      .cards { grid-template-columns: 1fr; }
      .logo { width: 66px; height: 66px; }
      .topic img { aspect-ratio: 16 / 10; }
      .modal { padding: 6px; }
      .modal-box { max-height: calc(100vh - 12px); border-radius: 10px; }
      .modal-content .group-banner {
        float: none;
        width: 100%;
        margin: 0 0 16px 0;
      }
      .section { padding: 10px; }
      .section summary { padding: 6px 2px; }
      .section-head { gap: 6px; }
    }
