  :root{
    --green:#16281c; --green2:#234534; --gold:#b99146; --gold-l:#e8d9b8;
    --cream:#f7f4ec; --card:#ffffff; --ink:#22301f; --muted:#6b7a68;
    --amber-bg:#fdf6e3; --amber-bd:#e0c060; --red:#a04030;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  body{font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",-apple-system,sans-serif;background:var(--cream);color:var(--ink);line-height:1.8;-webkit-text-size-adjust:100%}
  header{background:var(--green);color:#fff;padding:28px 18px 20px}
  header h1{font-size:1.15rem;font-weight:700;letter-spacing:.04em}
  header .sub{color:var(--gold-l);font-size:.8rem;margin-top:6px}
  header .en{color:#9db39f;font-size:.72rem;margin-top:2px}
  .wrap{max-width:860px;margin:0 auto;padding:0 14px 80px}
  .pillars{background:var(--green2);color:#fff;border-radius:14px;padding:18px 16px;margin:16px 0 8px}
  .pillars h2{font-size:.95rem;color:var(--gold-l);margin-bottom:10px;letter-spacing:.05em}
  .pillars ol{margin-left:20px;font-size:.85rem}
  .pillars li{margin-bottom:8px}
  .pillars b{color:#ffe9b8}
  .pillars .p-en{display:none;font-size:.74rem;color:#b9c9ba;margin-top:1px}
  .controls{position:sticky;top:0;z-index:20;background:var(--cream);padding:12px 0 8px;border-bottom:1px solid #e2ddcf}
  #search{width:100%;padding:12px 14px;font-size:1rem;border:1.5px solid #cfc8b4;border-radius:10px;background:#fff}
  #search:focus{outline:2px solid var(--gold)}
  .chips{display:flex;gap:6px;overflow-x:auto;padding:10px 0 4px;-webkit-overflow-scrolling:touch}
  .chip{flex:0 0 auto;font-size:.74rem;padding:6px 12px;border-radius:999px;border:1px solid #c8c1ac;background:#fff;color:var(--ink);cursor:pointer;white-space:nowrap}
  .chip.active{background:var(--green);color:#fff;border-color:var(--green)}
  .section-title{font-size:1rem;font-weight:700;color:var(--green);margin:26px 2px 4px;padding-left:10px;border-left:4px solid var(--gold)}
  .section-title .en{display:block;font-size:.7rem;font-weight:400;color:var(--muted)}
  .card{background:var(--card);border-radius:12px;padding:14px 16px;margin:10px 0;box-shadow:0 1px 3px rgba(30,40,28,.08)}
  .card .q{font-weight:700;font-size:.92rem;color:var(--green)}
  .card .q-en{font-size:.78rem;color:var(--muted);margin-top:2px;font-style:italic}
  .card .a{font-size:.86rem;margin-top:8px;white-space:pre-line}
  .card .a .lbl,.card .script .lbl,.card .note .lbl{font-size:.68rem;font-weight:700;letter-spacing:.06em;display:block;margin-bottom:2px}
  .card .a .lbl{color:var(--muted)}
  .card .script{margin-top:10px;background:#eef3ee;border-left:3px solid var(--green2);border-radius:0 8px 8px 0;padding:8px 12px;font-size:.82rem;white-space:pre-line}
  .card .script .lbl{color:var(--green2)}
  .card .note{margin-top:10px;background:var(--amber-bg);border:1px dashed var(--amber-bd);border-radius:8px;padding:8px 12px;font-size:.8rem;white-space:pre-line}
  .card .note .lbl{color:#8a6d1f}
  .flag{display:inline-block;font-size:.66rem;font-weight:700;color:#fff;background:var(--red);border-radius:4px;padding:1px 7px;margin-left:6px;vertical-align:2px}
  #noresult{display:none;text-align:center;color:var(--muted);padding:30px 0;font-size:.85rem}
  footer{max-width:860px;margin:0 auto;padding:20px 16px 40px;font-size:.72rem;color:var(--muted);text-align:center}
  footer ul{margin:6px 0 0 18px}
  footer div{margin-bottom:6px}
  footer div:last-child{margin-bottom:0}
  footer a,footer .contact{color:var(--green2)}
  .l-en-only{display:none}
  .langsw{display:flex;gap:6px;margin-top:14px}
  .langsw button{font-size:.78rem;padding:6px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:transparent;color:var(--gold-l);cursor:pointer;letter-spacing:.03em}
  .langsw button.active{background:var(--gold);color:var(--green);border-color:var(--gold);font-weight:700}
  body.lang-en .l-ja{display:none}
  body.lang-en .l-en-only{display:inline!important}
  body.lang-en .pillars .p-en{display:block;font-size:.85rem;color:#fff;margin-top:0;line-height:1.75}
  @media(min-width:700px){header h1{font-size:1.35rem}.card .q{font-size:1rem}.card .a{font-size:.9rem}}
