:root { --ink:#111114; --sub:#6B6B70; --mute:#8A8A8F; --line:#EBEBEE; --bg:#F7F7F8; --card:#FFFFFF; --chip:#F3F3F5; --warn-bg:#FFF0CC; --warn:#683C00; color-scheme: light; }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:var(--ink); text-underline-offset:3px; }
header.site { max-width:760px; margin:0 auto; padding:24px 20px 0; display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.mark { font-weight:700; font-size:20px; letter-spacing:-0.3px; text-decoration:none; }
.mark::before { content:"\25CF"; margin-right:8px; }
nav a { color:var(--sub); text-decoration:none; font-size:14px; margin-left:16px; }
nav a:hover { color:var(--ink); }
main { max-width:760px; margin:0 auto; padding:16px 20px 64px; }
.card { background:var(--card); border-radius:24px; padding:28px; margin-top:20px; }
h1 { font-size:34px; line-height:1.15; letter-spacing:-0.8px; margin:8px 0 4px; }
h2 { font-size:22px; letter-spacing:-0.3px; margin:36px 0 8px; }
h3 { font-size:17px; margin:24px 0 6px; }
.meta { color:var(--mute); font-size:14px; margin:0; }
.draft { background:var(--warn-bg); color:var(--warn); border-radius:16px; padding:12px 16px; font-size:14px; margin-top:16px; }
.todo { background:var(--warn-bg); color:var(--warn); border-radius:6px; padding:0 4px; }
.glance { background:var(--card); border-radius:24px; padding:20px 24px; margin-top:20px; }
.glance ul { margin:8px 0 0; padding-left:20px; }
.glance li { margin:6px 0; }
.consent { background:var(--chip); border-radius:16px; padding:14px 18px; margin:10px 0; font-size:15px; }
.consent b { display:block; margin-bottom:4px; }
.consent .purpose { display:block; margin-bottom:6px; }
.consent ul { margin:6px 0 10px; padding-left:20px; }
table { width:100%; border-collapse:collapse; margin:12px 0; font-size:14px; background:var(--card); border-radius:16px; overflow:hidden; }
th, td { text-align:left; vertical-align:top; padding:10px 12px; border-bottom:1px solid var(--line); }
th { background:var(--chip); font-weight:600; }
.table-wrap { overflow-x:auto; }
footer.site { max-width:760px; margin:0 auto; padding:0 20px 40px; color:var(--mute); font-size:13px; }
footer.site a { color:var(--mute); margin-right:14px; }
@media (max-width:520px) { h1 { font-size:28px; } .card { padding:20px; } nav a { margin:0 14px 0 0; } }
.shots { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:14px; margin:24px 0; }
.shots img { width:100%; height:auto; border-radius:22px; display:block; box-shadow:0 6px 20px -10px rgba(17,17,20,.25); }
.steps { padding-left:20px; }
.steps li { margin:6px 0; }
