@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-page-light: #FBFBFD;--color-surface-light: #FFFFFF;--color-base-light: #1A1D2E;--color-muted-light: #6B7280;--color-faint-light: #9CA3AF;--color-border-light: #E5E7EB;--color-accent-light: #5B63F5;--color-page-dark: #0D0F14;--color-surface-dark: #14171F;--color-base-dark: #E2E4ED;--color-muted-dark: #9CA3AF;--color-faint-dark: #6B7280;--color-border-dark: #252836;--color-accent-dark: #9BA1FD;--font-sans: "Inter Variable", system-ui, "Noto Sans JP", sans-serif;--logo-magenta: #f803fe;--logo-cyan: #0ecbde;--r18: #e0245e}:root{--color-page: var(--color-page-light);--color-surface: var(--color-surface-light);--color-base: var(--color-base-light);--color-muted: var(--color-muted-light);--color-faint: var(--color-faint-light);--color-border: var(--color-border-light);--color-accent: var(--color-accent-light)}html.dark{--color-page: var(--color-page-dark);--color-surface: var(--color-surface-dark);--color-base: var(--color-base-dark);--color-muted: var(--color-muted-dark);--color-faint: var(--color-faint-dark);--color-border: var(--color-border-dark);--color-accent: var(--color-accent-dark)}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:var(--font-sans);background:var(--color-page);color:var(--color-base);-webkit-font-smoothing:antialiased;transition:background-color .3s,color .3s}.container{max-width:440px;margin:0 auto;padding:48px 24px 72px}.topbar{display:flex;justify-content:flex-end;margin-bottom:16px}.theme-toggle{background:transparent;border:none;color:var(--color-faint);width:36px;height:36px;border-radius:10px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:color .2s}.theme-toggle:hover{color:var(--color-base)}.theme-toggle svg{width:18px;height:18px}html:not(.dark) .icon-sun{display:none}html.dark .icon-moon{display:none}.hero{text-align:center;margin-bottom:32px}.hero__avatar{width:72px;height:72px;margin:0 auto 16px}.hero__avatar svg{width:100%;height:100%}.hero__name{font-size:26px;font-weight:700;margin:0 0 6px;letter-spacing:.01em}.hero__lead{font-size:13px;color:var(--color-muted);margin:0}.follow{margin-bottom:40px}.follow__row{list-style:none;padding:0;margin:0;display:flex;justify-content:center;flex-wrap:wrap;gap:12px}.icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid var(--color-border);border-radius:50%;color:var(--color-muted);text-decoration:none;transition:color .2s,border-color .2s,transform .2s}.icon-btn:hover,.icon-btn:focus-visible{color:var(--color-base);border-color:var(--color-faint);transform:translateY(-2px)}.icon-btn svg{width:20px;height:20px}.icon-btn__label{position:absolute;left:50%;top:100%;transform:translate(-50%);margin-top:7px;white-space:nowrap;font-size:10px;color:var(--color-faint);opacity:0;transition:opacity .12s;pointer-events:none}.icon-btn:hover .icon-btn__label,.icon-btn:focus-visible .icon-btn__label{opacity:1}.icon-btn__badge{position:absolute;top:-3px;right:-3px;background:var(--r18);color:#fff;font-size:7px;font-weight:700;line-height:1;letter-spacing:.02em;padding:2px 3px;border-radius:5px;border:1.5px solid var(--color-page)}.icon-btn.is-r18{color:var(--r18)}.icon-btn.is-r18:hover{border-color:color-mix(in srgb,var(--r18) 55%,transparent)}.alt{text-align:center;margin:0}.alt details{display:inline-block}.alt summary{list-style:none;cursor:pointer;font-size:12px;color:var(--color-faint);padding:4px 8px;border-radius:8px;transition:color .2s}.alt summary::-webkit-details-marker{display:none}.alt summary:hover{color:var(--color-muted)}.alt summary:after{content:" ▾"}.alt details[open] summary:after{content:" ▴"}.alt__list{margin:10px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.alt__list a{font-size:12px;color:var(--color-muted);text-decoration:none}.alt__list a:hover{color:var(--color-accent)}.alt__list .tag{color:var(--color-faint)}.rows{list-style:none;padding:0;margin:0 0 24px}.rows li{border-top:1px solid var(--color-border)}.rows li:last-child{border-bottom:1px solid var(--color-border)}.row{display:flex;align-items:center;gap:13px;padding:14px 4px;text-decoration:none;color:var(--color-base);transition:padding-left .2s}.row:hover{padding-left:8px}.row__icon{flex-shrink:0;width:21px;height:21px;color:var(--color-faint);display:inline-flex;transition:color .2s}.row__icon svg{width:100%;height:100%}.row:hover .row__icon{color:var(--color-muted)}.row__title{flex:1;font-size:14px;font-weight:600}.row__arrow{color:var(--color-faint);font-size:13px;transition:color .2s}.row:hover .row__arrow{color:var(--color-accent)}.blog{margin:0 0 24px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface);overflow:hidden}.blog__head{display:flex;align-items:center;gap:11px;padding:14px 16px 10px}.blog__icon{width:21px;height:21px;color:var(--color-faint);display:inline-flex}.blog__icon svg{width:100%;height:100%}.blog__title{font-size:14px;font-weight:600}.blog__home{margin-left:auto;font-size:11px;color:var(--color-faint);text-decoration:none}.blog__home:hover{color:var(--color-accent)}.blog__latest{display:flex;gap:13px;align-items:center;padding:12px 16px 14px;text-decoration:none;color:var(--color-base);border-top:1px solid var(--color-border);transition:background-color .2s}.blog__latest:hover{background:color-mix(in srgb,var(--color-accent) 7%,transparent)}.blog__thumb{flex-shrink:0;width:84px;height:56px;border-radius:8px;object-fit:cover;background:var(--color-border)}.blog__text{flex:1;min-width:0}.blog__badge{display:inline-block;font-size:9px;font-weight:700;letter-spacing:.08em;color:var(--color-accent);margin-bottom:4px}.blog__post{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;font-weight:600;line-height:1.4}.blog__meta{display:flex;align-items:center;gap:8px;margin-top:6px}.blog__date{font-size:11px;color:var(--color-faint)}.blog__cta{margin-left:auto;font-size:11px;color:var(--color-accent)}.footer{text-align:center;margin-top:40px;font-size:11px;color:var(--color-faint);letter-spacing:.04em}.footer p{margin:0}@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms!important}}
