:root{--paper:#f7f2e6;--paper2:#fbf7ee;--card:#fbf7ee;--line:#cbbfa8;--line2:#e0d6c2;--ink:#1e2a38;--ink-strong:#111b26;--muted:#5d6b7a;--accent:#1f5fa0;--warn:#8a6a1f;--dead:#8c3a3a;--good:#2f7a53;--pen:"Klee One","Klee","Yu Kyokasho","YuKyokasho Yoko","游教科書体","Hiragino Mincho ProN","Yu Mincho",serif}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;background-color:var(--paper);color:var(--ink);line-height:1.9;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-color:var(--paper);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/><feColorMatrix type='saturate' values='0'/></filter><rect width='180' height='180' filter='url(%23g)' opacity='0.06'/></svg>"),radial-gradient(120vw 80vh at 50% -20%,rgba(255,255,255,.55),transparent 60%)}
a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(31,95,160,.35)}
a:hover{color:#173f6b;border-bottom-color:#173f6b}
.wrap{max-width:940px;margin:0 auto;padding:0 20px}
nav{display:flex;align-items:center;justify-content:space-between;padding:20px 0;font-size:14px}
header{padding:28px 0 8px}
h1{font-family:var(--pen);font-weight:600;color:var(--ink-strong);font-size:31px;line-height:1.45;letter-spacing:.01em}
.lead{color:var(--muted);margin-top:12px;font-size:15px}
.meta{color:var(--muted);font-size:13px;margin-top:10px}
h2{font-family:var(--pen);font-weight:600;color:var(--ink-strong);font-size:22px;margin:44px 0 6px;padding-top:12px;border-top:1px solid var(--line)}
h2 .n{color:var(--muted);font-size:14px;font-weight:400;margin-left:8px}
details.grp>summary,details.sub>summary,details.sect>summary{list-style:none;cursor:pointer}
details.grp>summary::-webkit-details-marker,details.sub>summary::-webkit-details-marker,
details.sect>summary::-webkit-details-marker{display:none}
details.grp>summary h2,details.sub>summary h3,details.sect>summary h2{display:flex;align-items:baseline;gap:8px}
details.grp>summary h2,details.sect>summary h2{margin:22px 0 4px}
details.grp[open]>summary h2,details.sect[open]>summary h2{margin:44px 0 6px}
details.sub>summary h3{margin:14px 0 4px}
details.sub[open]>summary h3{margin:22px 0 8px}
details.grp:not([open]),details.sub:not([open]),details.sect:not([open]){padding-bottom:2px}
details.sect>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}
details.grp>summary h2::before,details.sub>summary h3::before,details.sect>summary h2::before{
  content:"▸";color:var(--muted);font-size:13px;font-family:inherit}
details.grp[open]>summary h2::before,details.sub[open]>summary h3::before,
details.sect[open]>summary h2::before{content:"▾"}
details.grp>summary:hover h2,details.sub>summary:hover h3,
details.sect>summary:hover h2{color:var(--accent)}
details.grp>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}
details.sub>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}
details.sub{margin-left:2px}
h3 .n{color:var(--muted);font-size:12px;font-weight:400;margin-left:6px}
h3{font-family:var(--pen);font-size:16px;margin:22px 0 8px;color:var(--ink-strong);font-weight:600}
p.note{color:var(--muted);font-size:14px;margin:8px 0 4px}
code,.cmd{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.cmd{color:var(--ink-strong);font-weight:600;white-space:nowrap}
table{width:100%;border-collapse:collapse;font-size:14px;margin:6px 0 4px}
th,td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--line2);vertical-align:top}
th{color:var(--muted);font-weight:600;font-size:12px;white-space:nowrap}
td.c1{width:1%;white-space:nowrap}
.tag{display:inline-block;font-size:11px;padding:1px 7px;border-radius:999px;border:1px solid var(--line);color:var(--muted);white-space:nowrap;background:var(--paper2)}
.tag.skill{border-color:#7d94c4;color:#2b4a7a}
.tag.flow{border-color:#b08cc4;color:#6b3f77}
.tag.cond{border-color:#c4a85a;color:var(--warn)}
.card{background:var(--card);border:1px solid var(--line);border-radius:4px;padding:16px 18px;margin:14px 0;box-shadow:1px 2px 0 rgba(30,42,56,.05)}
.top{display:grid;grid-template-columns:1fr;gap:8px}
.top .row{display:grid;grid-template-columns:130px 1fr;gap:10px;align-items:baseline;padding:7px 0;border-bottom:1px solid var(--line2)}
.top .row:last-child{border-bottom:0}
.why{color:var(--muted);font-size:14px}
#q{width:100%;padding:11px 14px;border-radius:3px;border:1px solid var(--line);background:#fffdf7;color:var(--ink-strong);font-size:15px}
#q::placeholder{color:#9aa5b1}
.hide{display:none}
.dead h3{color:var(--dead)}
.dead .card{border-color:#d3aba9}
.k{color:var(--muted);font-size:13px}
.hrow{display:grid;grid-template-columns:160px 1fr;gap:10px;align-items:baseline;padding:5px 0;border-bottom:1px dotted var(--line2)}
.hrow:last-of-type{border-bottom:0}
.chips{margin-top:6px;display:flex;flex-wrap:wrap;gap:6px}
.chips .chip{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;border:1px solid var(--line2);border-radius:3px;padding:1px 7px;background:var(--paper2);border-bottom-width:1px}
.card.promo{border-color:var(--line);background:var(--paper2);margin-top:44px}
.card.promo p{margin:0}
footer{text-align:center;color:var(--muted);font-size:13px;margin:56px 0 40px;padding-top:18px;border-top:1px solid var(--line)}
footer a{color:var(--muted)}
@media(max-width:640px){h1{font-size:24px}.top .row{grid-template-columns:1fr;gap:2px}td.c1{white-space:normal}}