:root{--bg:#f8fbf8;--bg-wash:#eef6f0;--sunlight:#fffdf29e;--leaf-shadow:#86a97d29;--sky-wash:#d1e7ed80;--surface:#fffffc75;--line:#435d4f21;--text:#273029;--muted:#647166;--accent:#5f8f58;--accent-mint:#4f8d78;--light-line:#83be719e;--font-body:"Hiragino Sans", "Yu Gothic Medium", "Yu Gothic", "Noto Sans JP", sans-serif;--font-display:"Hiragino Mincho ProN", "Yu Mincho", "BIZ UDPMincho", serif;--content-width:min(100% - 3rem, 51rem);color-scheme:light}*,:before,:after{box-sizing:border-box}html{background:linear-gradient(112deg, #fff0 0 16%, var(--sunlight) 16% 28%, #fff0 28% 44%), linear-gradient(112deg, #fff0 0 58%, #ffffff8a 58% 70%, #fff0 70%), radial-gradient(ellipse at 84% 11%, var(--sky-wash), transparent 36%), radial-gradient(ellipse at 12% 22%, #e1efde70, transparent 32%), linear-gradient(180deg, var(--bg) 0%, var(--bg-wash) 100%);color:var(--text);font-family:var(--font-body);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-feature-settings:"palt" 1, "kern" 1;font-size:16.5px;line-height:1.8}body{background:linear-gradient(#ffffff94,#fff0),0 0;min-height:100vh;margin:0;position:relative}body:before,body:after{content:"";pointer-events:none;z-index:0;position:fixed;inset:auto}body:before{opacity:.58;background:linear-gradient(100deg,#fff0 0 32%,#ffffff75 32% 39%,#fff0 39% 100%),repeating-linear-gradient(100deg,#ffffff2e 0 1px,#fff0 1px 4.25rem);width:min(44rem,68vw);height:100vh;top:0;right:0}body:after{background:radial-gradient(ellipse at 0% 8%, var(--leaf-shadow), transparent 56%), radial-gradient(ellipse at 10% 48%, #6f9a691a, transparent 54%);filter:blur(12px);opacity:.62;width:min(19rem,42vw);height:34rem;top:5rem;left:0}a{color:inherit;text-underline-offset:.16em;text-decoration-color:#5f8f5857;text-decoration-thickness:1px;transition:color .18s,opacity .18s,text-decoration-color .18s,border-color .18s,background-color .18s,box-shadow .18s}a:hover{text-decoration-color:var(--accent)}p,ul,ol{margin:0}h1,h2,h3{letter-spacing:0;margin:0;line-height:1.35}h1{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(1.85rem,4.5vw,2.8rem);font-weight:600;line-height:1.22}h2{font-family:var(--font-display);letter-spacing:-.015em;font-size:clamp(1.45rem,3.8vw,1.95rem);font-weight:600;line-height:1.28}h3{font-size:1.08rem;font-weight:600}small,.muted,.meta,.section-eyebrow,.hero-eyebrow,.hero-handle,.writing-date,.link-grid small{color:var(--muted)}.page-shell{z-index:1;width:var(--content-width);margin:0 auto;padding:4.75rem 0 6rem;position:relative}.page-shell:before{content:"";pointer-events:none;z-index:-1;background:linear-gradient(112deg,#fff0 0 42%,#ffffff4d 42% 47%,#fff0 47% 100%),linear-gradient(#ffffff52,#fff0 58%);position:fixed;inset:0}.site-header{z-index:10;backdrop-filter:blur(24px)saturate(165%);background:#f8fbf8d1;width:100%;position:sticky;top:0;box-shadow:0 1px 8px #2f292412}.site-header-inner{width:var(--content-width);justify-content:center;align-items:baseline;margin:0 auto;padding:.85rem 0;display:flex}.site-nav{flex-wrap:wrap;gap:.25rem;padding:0;list-style:none;display:flex}.site-nav a{color:var(--muted);align-items:center;padding:.42rem .65rem;font-size:.92rem;text-decoration:none;transition:opacity .18s;display:inline-flex}.site-nav a:hover{opacity:.6}.site-nav a[aria-current=page]{color:var(--text);font-weight:600;position:relative}.site-nav a[aria-current=page]:after{content:"";background:linear-gradient(90deg, transparent, var(--light-line), transparent);border-radius:1px;height:2px;position:absolute;bottom:.15rem;left:.65rem;right:.65rem;box-shadow:0 0 12px #83be7161}.page-main{gap:5.35rem;display:grid;position:relative}.page-main:before{content:"";pointer-events:none;background:linear-gradient(#0000,#83be7161 5rem,#83be712e 42%,#83be710f,#0000);width:1px;position:absolute;top:26rem;bottom:0;left:-1.55rem;box-shadow:0 0 14px #83be7129}.page-header{gap:.7rem;padding:.8rem 0 1.2rem;display:grid;position:relative}.page-header:after{content:"";background:linear-gradient(90deg, var(--light-line), #c8e5dbcc, transparent);width:6.5rem;height:1px;margin-top:.35rem;box-shadow:0 0 12px #83be7142}.page-header-eyebrow{border-left:2px solid var(--accent);color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin:0;padding-left:.65rem;font-size:.72rem;font-weight:500}.page-header-title{font-size:clamp(2.05rem,5vw,3rem);line-height:1.18}.page-header-lead{color:var(--muted);text-wrap:pretty}.hero{backdrop-filter:blur(28px)saturate(165%);background:linear-gradient(112deg,#fff0 0 18%,#ffffff85 18% 32%,#fff0 32%),radial-gradient(at 100% 0,#d7edea8f,#0000 42%),radial-gradient(at 0 100%,#dceedc75,#0000 36%),linear-gradient(#ffffff5c 0%,#fafff838 100%);border:1px solid #ffffff85;border-radius:2rem;padding:2.3rem 2.35rem 2.45rem;position:relative;overflow:hidden;box-shadow:0 12px 34px #41634b0a,inset 0 1px #ffffffd1,inset 0 -1px #ffffff38}.hero-content{z-index:1;gap:0;display:grid;position:relative}.hero-identity{align-items:center;gap:1.25rem;margin-bottom:.2rem;display:flex}.hero-avatar{object-fit:cover;border:2px solid #ffffffb3;border-radius:50%;flex-shrink:0;width:4.5rem;height:4.5rem;box-shadow:0 4px 16px #41634b14,inset 0 1px #fff9}.hero-tags{flex-wrap:wrap;gap:.45rem;margin-top:1.15rem;display:flex}.hero-tag{color:var(--accent);letter-spacing:.02em;background:#ffffff8c;border:1px solid #435d4f14;border-radius:999px;padding:.22rem .72rem;font-size:.78rem;font-weight:500;display:inline-block}.hero:after{content:"";z-index:0;pointer-events:none;background:linear-gradient(112deg,#fff0 0 54%,#ffffff1f 54% 60%,#fff0 60%),linear-gradient(135deg,#ffffff38,#0000 40%),linear-gradient(#ffffff14,#0000 45%),repeating-linear-gradient(115deg,#ffffff14 0 1px,#fff0 1px 16px);position:absolute;inset:0}.hero-eyebrow,.section-eyebrow,.meta{letter-spacing:.12em;text-transform:uppercase;font-size:.72rem}.hero-eyebrow{margin-bottom:.6rem}.section-eyebrow{border-left:2px solid var(--accent);padding-left:.6rem;font-weight:500}.hero-handle{margin-top:.72rem;font-size:.92rem}.hero-role{color:var(--accent-mint);letter-spacing:.01em;margin-top:.75rem;font-size:clamp(.96rem,2vw,1.14rem);font-weight:500}.hero-copy{max-width:38rem;margin-top:1rem}.section-block{border-top:1px solid #435d4f14;gap:.75rem;padding-top:1rem;display:grid;position:relative}.section-block:before{content:"";background:#83be71a8;border-radius:50%;width:.45rem;height:.45rem;position:absolute;top:-.28rem;left:-1.78rem;box-shadow:0 0 0 .28rem #83be7114,0 0 13px #83be7152}.page-header+.section-block{padding-top:1.5rem}.section-lead{color:var(--muted);text-wrap:pretty;font-size:.98rem}.section-body{gap:1.3rem;margin-top:.25rem;display:grid}.section-body>p{text-wrap:pretty}.plain-list,.writing-items{gap:.95rem;padding-left:1.15rem;display:grid}.plain-list li::marker{color:#5f8f589e}.icon-list{gap:.75rem;padding:0;list-style:none;display:grid}.icon-list li{background:var(--surface);backdrop-filter:blur(12px);border:1px solid #ffffff8f;border-radius:1rem;align-items:center;gap:.7rem;padding:.55rem .85rem;display:flex}.icon-list-icon{width:2rem;height:2rem;color:var(--accent);background:#fff9;border-radius:.6rem;flex-shrink:0;justify-content:center;align-items:center;display:flex}.icon-list-icon svg{width:1.05rem;height:1.05rem}.compact-list{gap:.6rem;margin-top:.75rem}.stack-list{gap:1rem;display:grid}.stack-card,.link-grid li,.writing-list{background:linear-gradient(180deg, #ffffff3d, #ffffff24), var(--surface);backdrop-filter:blur(24px)saturate(150%);border:1px solid #ffffff8f;border-radius:1.5rem;position:relative;box-shadow:0 8px 22px #41634b07,inset 0 1px #ffffffc7}.stack-card:before,.link-grid li:before,.writing-list:before{content:"";background:linear-gradient(90deg, var(--light-line), #bedfcfdb, #cee5ebb8, transparent);opacity:.8;border-radius:999px;width:5rem;height:2px;position:absolute;inset:0 auto auto 1.15rem;box-shadow:0 0 14px #83be7133}.stack-card:after,.link-grid li:after,.writing-list:after{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 1px #ffffffb8,inset 0 -1px #ffffff24}.stack-card{padding:1.45rem 1.5rem}.stack-card h3{margin-top:.15rem;margin-bottom:.55rem;font-size:1.16rem}.stack-card p{text-wrap:pretty}.link-grid{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.95rem;padding:0;list-style:none;display:grid}.link-grid li{overflow:hidden}.link-grid a{gap:.32rem;padding:1rem 1.15rem;text-decoration:none;display:grid}.link-icon{width:2.2rem;height:2.2rem;color:var(--accent);background:#fff9;border:1px solid #435d4f0f;border-radius:.65rem;justify-content:center;align-items:center;margin-bottom:.25rem;display:flex}.link-icon svg{width:1.1rem;height:1.1rem}.writing-list{padding:.8rem 1.1rem .75rem}.writing-list-status{color:var(--muted);padding:.35rem .15rem}.writing-items{padding:0;list-style:none}.writing-item{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:1rem;padding:.85rem 0;display:flex}.writing-item:hover,.link-grid a:hover,.stack-card a:hover{opacity:.7}.writing-item:last-child{border-bottom:0}.writing-link{flex-wrap:wrap;align-items:baseline;gap:.72rem;text-decoration:none;display:inline-flex}.writing-source{color:var(--accent);letter-spacing:.07em;text-transform:uppercase;background:#ffffff8c;border:1px solid #435d4f14;border-radius:999px;padding:.14rem .58rem;font-size:.72rem}.writing-title{flex:1;line-height:1.7}.writing-date{white-space:nowrap;font-size:.87rem}.site-footer{color:#6e655fc7;border-top:1px solid #435d4f14;gap:1.8rem;margin-top:6rem;padding-top:2rem;font-size:.9rem;display:grid}.footer-main{text-align:center;justify-items:center;gap:.45rem;display:grid}.footer-name{font-family:var(--font-display);color:var(--text);font-size:1.05rem;font-weight:600}.footer-bio{color:var(--muted);font-size:.85rem}.footer-social{gap:.5rem;margin-top:.5rem;padding:0;list-style:none;display:flex}.footer-social a{background:var(--surface);width:2.4rem;height:2.4rem;color:var(--muted);border:1px solid #ffffff80;border-radius:50%;justify-content:center;align-items:center;text-decoration:none;transition:opacity .18s;display:flex}.footer-social a:hover{opacity:.6}.footer-social-icon{width:1.05rem;height:1.05rem}.footer-nav ul{flex-wrap:wrap;justify-content:center;gap:.35rem;padding:0;list-style:none;display:flex}.footer-nav a{color:var(--muted);border-radius:999px;padding:.3rem .65rem;font-size:.82rem;text-decoration:none;transition:opacity .18s;display:inline-block}.footer-nav a:hover{opacity:.6}@media (prefers-reduced-motion:no-preference){.hero,.page-header,.section-block{animation:.68s both rise-fade}.page-header{animation-delay:60ms}.section-block:nth-of-type(2){animation-delay:.11s}.section-block:nth-of-type(3){animation-delay:.15s}}@keyframes rise-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.writing-list:before{background:linear-gradient(90deg,#83be71d9,#b4d8e0e6,#0000)}.link-grid li:before{background:linear-gradient(90deg,#c8e5dbf2,#b4d8e0c7,#0000)}@media (width<=720px){html{font-size:16px}.site-header-inner{padding:.6rem 1rem}.site-nav{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;gap:0;margin:0 -1rem;padding:0 1rem;overflow-x:auto}.site-nav::-webkit-scrollbar{display:none}.site-nav a{white-space:nowrap;padding:.3rem .45rem;font-size:.82rem}.writing-item{flex-direction:column;align-items:flex-start;gap:.25rem}.site-footer{gap:1.4rem}.footer-nav ul{gap:.2rem}.page-shell{padding-top:2.2rem}.page-main{gap:3.85rem}.page-main:before{top:22rem;left:-.85rem}.section-block:before{left:-1.08rem}.hero{border-radius:1.8rem;padding:1.95rem 1.3rem 2.05rem}.hero-identity{flex-direction:column;align-items:flex-start;gap:1.1rem}.hero-avatar{width:3.5rem;height:3.5rem}.page-header{padding-top:.35rem}.icon-list li{padding:.45rem .7rem;font-size:.93rem}.link-grid{grid-template-columns:repeat(2,1fr);gap:.65rem}.link-grid a{gap:.2rem;padding:.8rem .75rem .7rem;font-size:.88rem}.link-icon{width:1.8rem;height:1.8rem;margin-bottom:.15rem}.link-icon svg{width:.95rem;height:.95rem}.writing-list{padding:.65rem .85rem .6rem}.writing-link{gap:.45rem}.writing-title{flex:unset;width:100%;font-size:.95rem}.hero-tags{gap:.35rem}.hero-tag{padding:.18rem .58rem;font-size:.72rem}.stack-card{padding:1.15rem 1.1rem}.stack-card h3{font-size:1.05rem}}
