/* Ashwell Works — ashwell.dev(外部 JS なし・フォントは自前で配る) */
@font-face{font-family:"Geist";font-style:normal;font-weight:300;font-display:swap;
  src:url(/assets/fonts/geist-300.woff2) format("woff2")}
@font-face{font-family:"Geist";font-style:normal;font-weight:600;font-display:swap;
  src:url(/assets/fonts/geist-600.woff2) format("woff2")}

:root{
  color-scheme:light;
  --bg:#f6f6f4; --paper:#ffffff; --ink:#161616; --sub:#5d5d5b; --line:#dcdcd8;
  --accent:#1e4fb5; --note-bg:#eef2fa; --note-line:#c9d5ee;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --bg:#111213; --paper:#18191b; --ink:#ececea; --sub:#a2a29f; --line:#2e3034;
    --accent:#8fb0ff; --note-bg:#1a2233; --note-line:#2c3a57;
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#111213; --paper:#18191b; --ink:#ececea; --sub:#a2a29f; --line:#2e3034;
  --accent:#8fb0ff; --note-bg:#1a2233; --note-line:#2c3a57;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);
  font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic",system-ui,-apple-system,sans-serif;
  font-size:16px;line-height:1.8;overflow-wrap:anywhere}
a{color:var(--accent)}
.wrap{max-width:46rem;margin:0 auto;padding:28px 16px 64px}

/* ワードマーク A01: Geist 600「Ashwell」+ Geist 300「Works」を1行 */
.m{display:inline-block;line-height:1;white-space:nowrap;font-kerning:normal;
  font-family:"Geist",system-ui,sans-serif;font-weight:600;letter-spacing:-.025em}
.m .w{font-weight:300;margin-left:.2em;letter-spacing:-.01em}
.brand{color:var(--ink);text-decoration:none;font-size:20px}
.site-head{padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:28px}

h1{font-size:24px;line-height:1.4;margin:0 0 6px;letter-spacing:.01em}
h2{font-size:18px;line-height:1.5;margin:36px 0 8px;padding-top:4px}
h3{font-size:16px;margin:22px 0 4px}
p,ul,ol,table{margin:0 0 12px}
ul,ol{padding-left:1.4em}
li{margin:2px 0}
.meta{color:var(--sub);font-size:14px;margin:0 0 20px}
.lang-en{color:var(--sub);font-size:14.5px;line-height:1.65}
.summary{background:var(--note-bg);border:1px solid var(--note-line);border-radius:6px;padding:14px 16px;margin:0 0 20px}
.summary h2{margin:0 0 6px;font-size:16px}
.summary ul{margin:0}
.summary[lang="en"]{line-height:1.6;font-size:15px}
table{border-collapse:collapse;width:100%;font-size:14.5px;line-height:1.65}
th,td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
th{background:var(--paper);font-weight:600;white-space:nowrap}
.tbl{overflow-x:auto;margin:0 0 12px}
@media (max-width:520px){
  .stack table,.stack tbody,.stack tr,.stack th,.stack td{display:block;width:100%}
  .stack tr{border:1px solid var(--line);border-bottom:none}
  .stack tr:last-child{border-bottom:1px solid var(--line)}
  .stack th,.stack td{border:none;white-space:normal}
  .stack th{padding-bottom:0}
}
code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em}
.site-foot{margin-top:48px;padding-top:14px;border-top:1px solid var(--line);color:var(--sub);font-size:13.5px}
.site-foot a{color:var(--sub)}

/* トップ */
.home{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center}
.home .logo{font-size:clamp(34px,10vw,56px);color:var(--ink);margin:0 0 36px}
.apps{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.apps li{border-bottom:1px solid var(--line);padding:14px 0;margin:0}
.apps .name{font-weight:700;display:block}
.apps .plat{color:var(--sub);font-size:13.5px;font-weight:400;margin-left:.5em}
.apps .links{font-size:15px}
.apps .links a{margin-right:1.2em}
