:root{font-family:Zen Kaku Gothic New,Hiragino Kaku Gothic ProN,Hiragino Sans,Yu Gothic,sans-serif;line-height:1.85;--bg: #fbfaf7;--text: #221d16;--muted: #5d5546;--surface: #ffffff;--surface-elevated: #f7e9e2;--border: #e3ddd0;--link: #b23a1f;--link-active: #8f2a12;--error: #b91c1c;--primary: #b23a1f;color-scheme:light dark}@media (prefers-color-scheme: dark){:root{--bg: #17140f;--text: #f2ecdf;--muted: #c2b8a4;--surface: #211c15;--surface-elevated: #33231b;--border: #3a332a;--link: #ec7a52;--link-active: #f0936f;--error: #fca5a5;--primary: #ec7a52}}*{box-sizing:border-box}html,body,#app{min-height:100%}body{margin:0;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;transition:background .2s,color .2s}::selection{background:var(--surface-elevated)}.layout{max-width:820px;margin:0 auto;padding:28px 20px 56px}.site-nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(16px,4vw,40px);height:56px;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.site-nav .brand{font-family:Shippori Mincho B1,Hiragino Mincho ProN,Yu Mincho,serif;font-weight:700;font-size:15px;color:var(--text);letter-spacing:.04em;white-space:nowrap;text-decoration:none}.site-nav ul{display:flex;gap:clamp(14px,3vw,30px);list-style:none;margin:0;padding:0}.site-nav ul a{color:var(--muted);font-size:13.5px;font-weight:500;letter-spacing:.05em;white-space:nowrap;text-decoration:none}.site-nav ul a:hover{color:var(--text)}.hero{position:relative;display:flex;align-items:flex-end;min-height:300px;color:#fdfbf7;overflow:hidden;background:#241a12 url(https://freddiefujiwara.com/assets/hero-koinobori.jpg) center 38% / cover no-repeat}.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,#100b06e0,#100b0673 45%,#100b0626 75%)}.hero-inner{position:relative;z-index:2;width:100%;max-width:820px;margin:0 auto;padding:96px 20px 36px}a.hero-inner{color:inherit;text-decoration:none;cursor:pointer}.hero-place{display:inline-flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.22em;font-weight:700;margin:0 0 14px}.hero-place:before{content:"";width:34px;height:2px;background:#f0764f}.hero h1{margin:0;font-family:Shippori Mincho B1,Hiragino Mincho ProN,Yu Mincho,serif;font-weight:800;letter-spacing:.03em;line-height:1.35}.hero h1 .h1-sep{display:none}.hero h1 .h1-name{display:block;font-size:clamp(2rem,6vw,2.9rem)}.hero h1 .h1-role{display:block;font-size:clamp(1.05rem,3.4vw,1.45rem);font-weight:700;letter-spacing:.06em;margin-top:10px}.site-footer{margin-top:56px;padding-top:24px;border-top:1px solid var(--border)}.site-footer .foot-links{display:flex;flex-wrap:wrap;gap:10px 22px;margin-bottom:14px}.site-footer .foot-links a{color:var(--muted);text-decoration:none;font-size:.92rem}.site-footer .foot-links a:hover{color:var(--link)}.site-footer .copy{color:var(--muted);font-size:.85rem;margin:0}@media (max-width: 560px){.site-nav{justify-content:center}.site-nav .brand{display:none}.site-nav ul{width:100%;justify-content:space-between;gap:8px}.site-nav ul a{font-size:13px}}.btn-pill{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:8px 16px;font:inherit;font-size:.92rem;cursor:pointer;transition:all .2s;white-space:nowrap;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btn-pill:hover{border-color:var(--link);color:var(--link)}.btn-pill:disabled{opacity:.5;cursor:not-allowed}article{line-height:1.9}article h1{font-family:Shippori Mincho B1,Hiragino Mincho ProN,Yu Mincho,serif;font-size:clamp(1.6rem,4.5vw,2.1rem);font-weight:800;letter-spacing:.02em;margin-bottom:1.75rem;line-height:1.45}article p{margin-bottom:1.4rem}article h2{font-family:Shippori Mincho B1,Hiragino Mincho ProN,Yu Mincho,serif;font-size:1.45rem;font-weight:700;margin-top:2.6rem;margin-bottom:1rem;border-bottom:1px solid var(--border);padding-bottom:.5rem;line-height:1.5}article h3{font-size:1.15rem;font-weight:700;margin-top:2rem;margin-bottom:.75rem;line-height:1.6}article a{color:var(--link);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}article a:hover{color:var(--link-active)}article img{max-width:100%;height:auto;border-radius:12px}article blockquote{margin:1.5rem 0;padding:.25rem 0 .25rem 1.1rem;border-left:3px solid var(--primary);color:var(--muted)}article code{background:var(--surface-elevated);border-radius:6px;padding:.15em .4em;font-size:.88em}article pre{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;overflow-x:auto;line-height:1.6}article pre code{background:transparent;padding:0}article hr{border:none;border-top:1px solid var(--border);margin:2.5rem 0}article ul,article ol{margin-bottom:1.4rem;padding-left:1.5rem}article li{margin-bottom:.4rem}article table{border-collapse:collapse;margin-bottom:1.5rem;width:100%}article th,article td{border:1px solid var(--border);padding:8px 12px;text-align:left}article th{background:var(--surface)}.navigation{display:flex;justify-content:space-between;gap:12px;margin:20px 0}.navigation-top{margin-top:0;margin-bottom:24px}.footer-link{margin-top:48px;padding-top:20px;border-top:1px solid var(--border);color:var(--muted);font-size:.9rem}.footer-link a{color:var(--link);text-decoration:none}.footer-link a:hover{text-decoration:underline}.copy-link{cursor:pointer}.copy-link.disabled{opacity:.5;cursor:default;pointer-events:none}.status{color:var(--muted);font-size:.95rem}@media (max-width: 768px){.navigation{flex-direction:column}.navigation .btn-pill{width:100%}}
