:root{--bg:#F3F5EC;--surface:#FFFFFF;--border:#DCE3CB;--text:#1F241A;--muted:#5C6551;--gold:#7A9A3E; --gold-3:#c9a84c;
    --gold-4:#e4c979;}
  *{margin:0;padding:0;box-sizing:border-box;}
  body{background:var(--bg);color:var(--text);font-family:'Inter','Noto Sans JP',sans-serif;line-height:1.65;}
  .wrap{max-width:820px;margin:0 auto;padding:0 24px;}
  a{color:var(--gold);text-decoration:none;}
  nav{border-bottom:1px solid var(--border);position:sticky;top:0;background:rgba(243,245,236,.82);backdrop-filter:blur(14px);z-index:30;}
  nav .wrap{width:100%;max-width:none;display:flex;align-items:center;justify-content:space-between;height:66px;padding:0 48px;}
  .nav-actions{display:flex;align-items:center;gap:18px;}
  .nav-actions .link{color:var(--muted);font-weight:600;font-size:14px;}
  .nav-actions .link:hover{color:var(--text);}
  /* Brand */
  .brand{
  display:flex;
  align-items:center;
  gap:5px;
  font-weight:800;
  font-size:20px;
  letter-spacing:-.3px;

  /* Dark rounded background */
  background:#0c0f15;
  color:#fff;
  padding:8px 14px;
  border-radius:14px;
}

.brand img{
  height:30px;
  width:30px;
  border-radius:8px;
  object-fit:cover;
}
  /* Japanese text serif styling only */
  .jp-serif{
    font-family:'Source Serif 4','Noto Serif JP',serif;
  }

  .brand-name{
    color:#fff;
  }

  /* Brand JP gold styling */
  .brand-name .jp{
    color:var(--gold-3);
    font-family:'Source Serif 4','Noto Serif JP',serif;
  }
  .lang-toggle{display:inline-flex;border:1px solid var(--border);border-radius:999px;overflow:hidden;font-size:13px;font-weight:600;}
  .lang-toggle button{background:transparent;color:var(--muted);border:0;padding:6px 13px;cursor:pointer;font-family:inherit;}
  .lang-toggle button.active{background:var(--gold);color:#fff;}
  header{padding:56px 0 20px;}
  h1{font-family:'Source Serif 4','Noto Sans JP',serif;font-size:32px;font-weight:700;letter-spacing:-.5px;margin-bottom:8px;}
  .eff{color:var(--muted);font-size:14px;margin-bottom:32px;}
  .note{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px 18px;font-size:14.5px;color:var(--muted);margin-bottom:28px;}
  table{width:100%;border-collapse:collapse;margin-bottom:24px;}
  th,td{text-align:left;vertical-align:top;padding:14px 12px;border-bottom:1px solid var(--border);font-size:15px;}
  th{width:34%;color:var(--muted);font-weight:700;font-size:14px;}
  td{color:#2f3627;}
  .fill{color:var(--gold);}
  footer{border-top:1px solid var(--border);margin-top:50px;padding:30px 0;color:var(--muted);font-size:13px;text-align:center;}
  [data-en]{display:none;}
  html[lang="en"] [data-jp]{display:none;}
  html[lang="en"] [data-en]{display:revert;}

@media (max-width: 768px){
  nav .wrap{
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    height: auto;
    min-height: 0;
    padding: 10px 16px 12px;
    gap: 10px;
  }

  .brand{
    align-self: flex-start;
    font-size: 16px;
    padding: 7px 12px;
    border-radius: 12px;
  }

  .brand img{
    width: 26px;
    height: 26px;
  }

  .nav-actions{
    width: 100%;
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 8px 10px;
  }

  .nav-actions .link{
    display: inline-flex !important;
    align-items: center;
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: rgba(255,255,255,.56);
    font-size: 12px;
    line-height: 1;
    white-space: nowrap;
  }

  .page-menu{
    min-width: 0;
    max-width: 100%;
  }

  .page-menu__primary{
    display: inline-flex;
    align-items: center;
    max-width: none;
    overflow: visible;
    text-overflow: clip;
    white-space: nowrap;
  }

  .lang-toggle{
    margin-left: auto;
    font-size: 12px;
  }

  .lang-toggle button{
    padding: 6px 10px;
  }
}

@media (max-width: 420px){
  nav .wrap{
    padding: 10px 12px 12px;
    gap: 8px;
  }

  .brand{
    font-size: 15px;
  }

  .nav-actions{
    gap: 8px;
  }

  .nav-actions .link{
    min-height: 32px;
    padding: 0 10px;
    font-size: 11.5px;
  }

  .page-menu{
    max-width: calc(100vw - 120px);
  }

  .page-menu__primary{
    max-width: 100%;
  }

  .lang-toggle button{
    padding: 6px 8px;
  }
}

