/* Bota-Log — 紹介・サポート・プライバシーポリシー・系統書の照合 共通
   アプリと同じ「標本台帳」の意匠：生成りの紙に、墨・ワイン・真鍮。見出しは明朝。 */
*{box-sizing:border-box}
:root{
  --paper:#f3eee3; --card:#fffdf7; --ink:#1f281c; --ink2:#6b6b5e; --rule:rgba(31,40,28,.13);
  --wine:#7a2a38; --brass:#8b6a2e; --moss:#3f6a3a;
  color-scheme:light dark;
}
@media (prefers-color-scheme:dark){
  :root{ --paper:#161a15; --card:#20251f; --ink:#ece6d6; --ink2:#a6a08f; --rule:rgba(236,230,214,.14);
         --wine:#d27a88; --brass:#c9a465; --moss:#8fbf84; }
}
html{-webkit-text-size-adjust:100%; background:var(--paper)}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  font-size:15px; line-height:1.95; letter-spacing:.02em;
}
.serif,h1,h2,.lead{font-family:"Hiragino Mincho ProN","Yu Mincho","Noto Serif JP",serif}
.wrap{max-width:700px; margin:0 auto; padding:0 16px 72px}
.top{display:flex; flex-wrap:wrap; gap:6px 18px; padding:16px 0 0; font-size:12px; letter-spacing:.14em}
.top a{color:var(--ink2); text-decoration:none}
.top a:hover{color:var(--ink)}

.hero{text-align:center; padding:52px 0 34px}
.hero .icon{width:104px; height:104px; border-radius:24px; display:block; margin:0 auto 22px;
  box-shadow:0 0 0 1px var(--rule), 0 16px 40px rgba(88,27,42,.22)}
.kicker{font-size:11.5px; letter-spacing:.32em; color:var(--brass); margin:0 0 8px}
h1{font-weight:700; font-size:clamp(30px,8.5vw,42px); letter-spacing:.04em; line-height:1.3; margin:0}
.hero .sub{margin:12px 0 0; color:var(--ink2); font-size:15px}
.badge{display:inline-block; margin-top:24px; padding:10px 26px; border-radius:99px; text-decoration:none;
  background:var(--wine); color:#fff; font-size:14px; letter-spacing:.12em}
a.badge:hover{filter:brightness(1.08)}
.langs{margin-top:16px; font-size:13px}

.shots{display:flex; gap:14px; overflow-x:auto; scroll-snap-type:x mandatory;
  margin:0 -16px 12px; padding:6px 16px 18px; scrollbar-width:thin}
.shots figure{margin:0; flex:none; width:min(46vw,220px); scroll-snap-align:start}
.shots img{width:100%; height:auto; aspect-ratio:1179/2556; display:block; border-radius:18px;
  border:1px solid var(--rule); background:var(--card)}
.shots figcaption{font-size:12px; color:var(--ink2); text-align:center; margin-top:6px}

.lead{font-size:18px; line-height:2; text-align:center; margin:28px 0 10px}
h2{font-weight:700; font-size:18px; letter-spacing:.06em; margin:44px 0 12px; text-wrap:balance;
  display:flex; align-items:center; gap:12px}
h2::after{content:""; flex:1; height:1px; background:var(--rule)}
h3{font-weight:600; font-size:15px; margin:26px 0 6px}
p, ul, ol{margin:0 0 12px}
ul, ol{padding-left:1.3em}
li{margin:3px 0}
a{color:var(--wine)}
a:focus-visible{outline:2px solid var(--wine); outline-offset:3px; border-radius:4px}
.card{padding:18px 20px; margin:14px 0; border-radius:18px; border:1px solid var(--rule); background:var(--card)}
.card > :last-child{margin-bottom:0}
.card h3{margin-top:0; color:var(--brass); letter-spacing:.04em}
.q{font-weight:600; margin:0 0 4px}
.meta{color:var(--ink2); font-size:13px}
.plans{display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px; margin:14px 0}
.plans .card{margin:0}
.plans .card h3{margin-bottom:4px}
.links{display:flex; flex-wrap:wrap; gap:10px; list-style:none; padding:0; margin:18px 0 0}
.links a{display:inline-block; padding:6px 18px; border-radius:99px; border:1px solid var(--rule);
  background:var(--card); color:var(--ink); text-decoration:none; font-size:14px}
.links a:hover{border-color:var(--wine)}
hr{border:0; height:1px; background:var(--rule); margin:60px 0 0}
.page-title{padding:44px 0 8px; text-align:center}
.page-title h1{font-size:clamp(24px,6.5vw,32px)}
.page-title p{color:var(--ink2); margin:8px 0 0; font-size:13px; letter-spacing:.2em}
.ok{background:rgba(63,106,58,.12); color:var(--moss); border-radius:14px; padding:14px 16px; font-weight:700}
.ng{background:rgba(122,42,56,.1); color:var(--wine); border-radius:14px; padding:14px 16px; font-weight:700}
dl{display:grid; grid-template-columns:auto 1fr; gap:6px 16px; margin:6px 0}
dt{color:var(--ink2)} dd{margin:0; text-align:right; word-break:break-all}
.mono{font-family:ui-monospace,"SFMono-Regular",Menlo,monospace}
.lv2{padding-left:18px}
footer{margin-top:56px; text-align:center; font-size:12px; color:var(--ink2); line-height:2}
footer a{color:var(--ink2)}
.clips{display:flex; gap:12px; overflow-x:auto; margin:4px 0 12px; padding-bottom:4px}
.clips video{flex:none; width:min(52vw,240px); aspect-ratio:360/782; border-radius:22px; border:4px solid var(--card);
  box-shadow:0 0 0 1px var(--rule), 0 8px 22px rgba(0,0,0,.12); background:var(--paper)}
