:root{--paper: oklch(.988 .003 250);--card: #ffffff;--ink: oklch(.25 .03 250);--ink-2: oklch(.44 .03 250);--ink-3: oklch(.52 .025 250);--line: oklch(.91 .008 250);--line-2: oklch(.84 .012 250);--accent: oklch(.42 .11 255);--accent-deep: oklch(.33 .1 255);--accent-soft: oklch(.955 .02 255);--bg: var(--paper);--fg: var(--ink);--muted: var(--ink-3);--swim: oklch(.55 .1 210);--bike: oklch(.6 .13 60);--run: oklch(.55 .15 25);--font-sans: "Noto Sans JP", "Hiragino Sans", system-ui, sans-serif;--font-sans-system: "Noto Sans JP", "Hiragino Sans", system-ui, sans-serif;--font-heading: "Zen Kaku Gothic New", "Hiragino Sans", system-ui, sans-serif;--font-mono: "Space Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--max: 1120px;--pad-page: 56px;--radius: 2px;--ease-out: cubic-bezier(.22, .61, .36, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{margin:0;padding:0}body{font-family:var(--font-sans-system);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;line-height:1.8}h1,h2,h3{font-weight:700;margin-top:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad-page)}.site-header{position:sticky;top:12px;z-index:20;margin:16px auto 0;max-width:var(--max);padding:0 var(--pad-page)}.site-header-in{display:flex;align-items:center;gap:18px;padding:10px 12px 10px 22px;border:1px solid var(--line);border-radius:999px;background:color-mix(in oklch,var(--card) 82%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 2px #19233c0a,0 8px 24px -12px #19233c24}.site-header .shb{font:900 19px/1 var(--font-heading);letter-spacing:-.01em;color:var(--ink);text-decoration:none;white-space:nowrap}.site-header .shb:hover{text-decoration:none}.site-header .shn{display:flex;gap:4px;margin-left:8px}.site-header .shn a{padding:8px 15px;border-radius:999px;font:500 13px var(--font-sans);color:var(--ink-2);text-decoration:none;white-space:nowrap;transition:background .18s var(--ease-out, ease),color .18s var(--ease-out, ease)}.site-header .shn a:hover{background:var(--accent-soft);color:var(--accent-deep);text-decoration:none}.site-header .shs{margin-left:auto;display:inline-flex;align-items:center;gap:8px;padding:9px 18px;border-radius:999px;background:var(--accent);color:var(--paper);font:700 13px var(--font-sans);text-decoration:none;white-space:nowrap;transition:background .18s var(--ease-out, ease)}.site-header .shs:hover{background:var(--accent-deep);text-decoration:none}footer.site{border-top:1px solid var(--line);margin-top:64px;padding:32px var(--pad-page);color:var(--ink-3);font:13px var(--font-sans);line-height:1.9}footer.site .feed{margin-top:12px;font:500 12px var(--font-mono);letter-spacing:.06em}.eyebrow{font:700 11px var(--font-mono);letter-spacing:.14em;color:var(--accent)}.ev-dots{display:inline-flex;align-items:center;gap:8px}.ev-dots-track{display:inline-flex;gap:3px}.ev-dot{width:6px;height:6px;border-radius:50%;background:transparent;box-shadow:inset 0 0 0 1px var(--line-2);flex-shrink:0}.ev-dot.filled{background:var(--accent);box-shadow:none}.ev-label{font:500 10.5px var(--font-mono);letter-spacing:.08em;color:var(--ink-3)}.tag{display:inline-block;font:11px var(--font-mono);color:var(--ink-2);border:1px solid var(--line-2);border-radius:var(--radius);padding:2px 8px;margin:2px 3px 2px 0}.discipline{font:700 .78rem var(--font-sans);letter-spacing:.04em}.discipline[data-d=swim]{color:var(--swim)}.discipline[data-d=bike]{color:var(--bike)}.discipline[data-d=run]{color:var(--run)}.discipline[data-d=all]{color:var(--ink-3)}.summary-box{background:var(--accent-soft);padding:24px 28px;margin-bottom:36px}.summary-box .sum-label{font:700 12px var(--font-mono);letter-spacing:.14em;color:var(--accent-deep);margin:0 0 14px}.summary-box ol{list-style:none;margin:0;padding:0;display:grid;gap:11px}.summary-box li{display:grid;grid-template-columns:22px 1fr;gap:10px;font:15px/1.7 var(--font-sans);color:var(--ink)}.sum-num{font:700 13px var(--font-mono);color:var(--accent);padding-top:2px}.citation-box{padding:20px 24px;border:1px solid var(--line-2);font:12.5px/1.8 var(--font-sans);color:var(--ink-2);margin-top:32px}.citation-box .cite-label{font:700 11px var(--font-mono);letter-spacing:.1em;color:var(--ink);display:block;margin-bottom:4px}article.post{font-family:var(--font-sans);color:var(--ink)}article.post h1{font:800 40px/1.34 var(--font-heading);letter-spacing:-.015em;margin:0 0 22px}article.post h2{font:700 21px/1.5 var(--font-heading);margin:36px 0 12px;padding-left:14px;border-left:3px solid var(--accent)}article.post h3{font:700 17px/1.5 var(--font-heading);margin:28px 0 10px}article.post p{font:15.5px/2 var(--font-sans)}article.post ul,article.post ol{font:15px/1.75 var(--font-sans);padding-left:1.4em}article.post li{margin-bottom:4px}article.post img{max-width:100%;height:auto}article.post hr{border:none;border-top:1px solid var(--line);margin:2em 0}article.post a{color:var(--accent);overflow-wrap:anywhere}article.post blockquote{border-left:3px solid var(--accent);margin-left:0;padding-left:18px;color:var(--ink-2)}article.post code{font-family:var(--font-mono);font-size:.9em;background:var(--accent-soft);padding:1px 5px;border-radius:var(--radius)}article.post pre{margin:1.5em 0;padding:16px 18px;border:1px solid var(--line);border-radius:4px;overflow-x:auto;line-height:1.7}article.post pre code{font-size:.86em;background:none;padding:0;border-radius:0}article.post table{display:block;overflow-x:auto;width:100%;border-collapse:collapse;font-size:.92rem;margin:1.5em 0}article.post th,article.post td{border:1px solid var(--line);padding:8px 10px;text-align:left}article.post th{background:var(--accent-soft);font-weight:700}article.post th:not(:first-child),article.post td:not(:first-child){white-space:nowrap}article.post th:first-child,article.post td:first-child{min-width:8em}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}.card{background:var(--card);border:1px solid var(--line);padding:22px;display:block;color:var(--ink);text-decoration:none;transition:box-shadow .15s}.card:hover{box-shadow:0 4px 18px #19233c17;text-decoration:none}.card h3{margin:0 0 8px;font:700 17px/1.45 var(--font-heading);color:var(--ink);text-wrap:pretty}.card p{margin:0 0 10px;color:var(--ink-2);font-size:.88rem;line-height:1.7}.card .meta{font-size:.78rem;color:var(--ink-3)}.section-label{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:4px}.section-label h2{font:700 14px var(--font-mono);letter-spacing:.16em;color:var(--ink);margin:0}.section-label span{font:12px var(--font-sans);color:var(--ink-3)}.hero{background:var(--accent-soft);border-bottom:1px solid var(--line);padding:48px 0}.hero h1{margin:0 0 8px;font:800 2rem var(--font-heading)}.hero p{margin:0;color:var(--ink-2)}input[type=search],input[type=text]{width:100%;padding:12px 16px;border:1px solid var(--line);border-radius:var(--radius);font-size:1rem;font-family:var(--font-sans);background:var(--card);color:var(--ink)}input[type=search]:focus,input[type=text]:focus{outline:2px solid var(--accent);outline-offset:1px}.pager{display:flex;gap:12px;justify-content:center;margin:32px 0}.pager a{padding:8px 16px;border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:.9rem}@media(max-width:860px){.site-header .shn{display:none}}@media(max-width:768px){.site-header{padding:0 16px;top:8px;margin-top:12px}.site-header-in{gap:10px;padding:9px 10px 9px 18px}.site-header .shs{padding:8px 15px}footer.site{padding:32px 20px}.wrap{padding:0 20px}}
