@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/033400d475fad6b1-s.11x_mcju407z-.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/26daee0352f50a5f-s.456c9vb2_utt8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(../media/017d9bea37084d9b-s.p.2fl0vhx7oyatw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque Fallback;src:local(Arial);ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.0%;size-adjust:105.43%}.bricolage_grotesque_47a9da3-module__yW-c6a__className{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.bricolage_grotesque_47a9da3-module__yW-c6a__variable{--font-sans:"Bricolage Grotesque", "Bricolage Grotesque Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.1zakzi6q17d4o.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.2htf8h-pf57mm.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.3skwie1wjplzh.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.3zhbgtelpa5ua.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3vf5yzuqk3fsd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.1wmoa0e_blxrz.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/04c5164763c40239-s.1zakzi6q17d4o.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/26f284dcc38c84c0-s.2htf8h-pf57mm.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7e7f32a39836f228-s.3skwie1wjplzh.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fa39153a3fc630ba-s.3zhbgtelpa5ua.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3vf5yzuqk3fsd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/051742360c26797e-s.p.1wmoa0e_blxrz.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_caea8eab-module__q9HjKa__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_caea8eab-module__q9HjKa__variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#faf9fe;--fg:#1a191f;--card:#fff;--field:#fff;--border:#e0deed;--muted:#6c6a78;--tile:#efeafc;--tile-fg:#5b3fa6;--ink:#0c0c0c;--lavender:#9d85e6;--brand:#704ec0;--on-brand:#fff;--field-border:color-mix(in srgb, var(--muted) 65%, var(--border))}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#121118;--fg:#f0eff5;--card:#1c1b23;--field:#1c1b23;--border:#2b2936;--muted:#a3a1b0;--tile:#2a2540;--tile-fg:#cbbdf7;--brand:#b4a0f0;--on-brand:#121118}}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);font-family:var(--font-sans), system-ui, sans-serif;caret-color:var(--brand);accent-color:var(--brand);margin:0}::selection{background:color-mix(in srgb, var(--lavender) 35%, transparent);color:var(--fg)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.mono{font-family:var(--font-mono), ui-monospace, monospace}.home{max-width:1160px;margin:0 auto;padding:32px clamp(16px,5vw,48px) 40px}.top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.brand{color:var(--fg);letter-spacing:-.02em;align-items:center;gap:12px;font-size:22px;font-weight:700;text-decoration:none;display:flex}.brand img{display:block}.search{background:var(--field);border:1px solid var(--field-border);min-width:0;height:46px;color:var(--muted);border-radius:12px;flex:0 320px;align-items:center;gap:10px;padding:0 16px;transition:border-color .15s,box-shadow .15s;display:flex}.search:focus-within{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}@media (max-width:560px){.search{flex-basis:100%}}.search input{min-width:0;color:var(--fg);font:inherit;background:0 0;border:0;flex:1;font-size:16px}.search input:focus{outline:none}.search input::-webkit-search-cancel-button{display:none}.search-key,.search-count{color:var(--muted);flex-shrink:0;font-size:12px}.search-key{border:1px solid var(--border);background:var(--bg);border-radius:6px;place-items:center;min-width:22px;height:22px;padding:0 6px;transition:opacity .15s;display:grid}.search-clear{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;flex-shrink:0;place-items:center;margin-right:-10px;padding:0;transition:color .15s;display:grid}.search-clear:hover{color:var(--brand)}.search-clear:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.search-enter{border:1px solid var(--border);background:var(--bg);min-width:22px;height:22px;color:var(--brand);border-radius:6px;flex-shrink:0;place-items:center;padding:0 6px;font-size:12px;display:none}@media (hover:hover){.search:focus-within .search-enter{display:grid}}.home:has(.search input:focus) .card[data-target]{border-color:color-mix(in srgb, var(--brand) 60%, var(--border))}.home:has(.search input:focus) .card[data-target] .arrow{color:var(--brand);transform:translate(2px,-2px)}.search:focus-within .search-key{opacity:0}@media (hover:none){.search-key{display:none}}.search input::placeholder{color:var(--muted)}.hero{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 24px;padding:clamp(32px,5vw,56px) 0 clamp(20px,2.5vw,28px);display:flex}.hero h1{letter-spacing:-.03em;text-wrap:balance;margin:0;font-size:clamp(26px,3.2vw,36px);font-weight:800;line-height:1.1}.hero h1 span{color:var(--brand)}.hero .count{font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.02em;color:var(--muted);white-space:nowrap;margin:0;font-size:13px}.projects{--card-chrome:114px;grid-template-columns:repeat(auto-fill, minmax(min(calc(var(--text-width,220px) + var(--card-chrome)), 100%), 1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.projects li{min-width:0;display:flex}.card{background:var(--card);border:1px solid var(--border);min-width:0;color:var(--fg);-webkit-tap-highlight-color:transparent;border-radius:16px;flex:1;align-items:flex-start;gap:16px;padding:20px;text-decoration:none;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex;position:relative}@media (hover:hover){.card:hover{border-color:color-mix(in srgb, var(--lavender) 60%, var(--border));box-shadow:0 10px 30px -18px color-mix(in srgb, var(--brand) 70%, transparent);transform:translateY(-2px)}}.card:active,.card[data-launching]{border-color:color-mix(in srgb, var(--lavender) 60%, var(--border));transition-duration:80ms;transform:scale(.98)}.card:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.tile-wrap{flex-shrink:0;padding-top:4px;position:relative}.halo{border:2.5px solid var(--lavender);opacity:0;border-radius:50%;width:32px;height:8px;transition:opacity .2s,transform .25s;position:absolute;top:-7px;left:50%;transform:translate(-50%,6px)}.card:focus-visible .halo,.card:active .halo,.card[data-launching] .halo{opacity:1;transform:translate(-50%)}.tile{background:var(--tile);width:56px;height:56px;color:var(--tile-fg);letter-spacing:-.02em;border-radius:14px;justify-content:center;align-items:center;font-size:19px;font-weight:800;display:flex;overflow:hidden}.tile img{object-fit:contain;width:100%;height:100%}.card .text{flex-direction:column;flex:1;gap:4px;min-width:0;padding-top:4px;display:flex}.card .name{letter-spacing:-.015em;white-space:nowrap;text-overflow:ellipsis;padding-right:22px;font-weight:700;line-height:1.2;overflow:hidden}.card .desc{color:var(--muted);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:14.5px;line-height:1.45;display:-webkit-box;overflow:hidden}.card .host{letter-spacing:.01em;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;padding-top:4px;font-size:12px;overflow:hidden}.card.measure{visibility:hidden;pointer-events:none;border:0;width:0;height:0;padding:0;display:block;position:absolute;top:0;left:0;overflow:hidden}.card.measure .name,.card.measure .desc{-webkit-line-clamp:none;line-clamp:none;width:max-content;display:block;overflow:visible}.card .arrow{width:18px;height:18px;color:var(--muted);transition:transform .18s,color .18s;position:absolute;top:22px;right:18px}@media (hover:hover){.card:hover .halo{opacity:1;transform:translate(-50%)}.card:hover .arrow{color:var(--brand);transform:translate(2px,-2px)}}.card[data-launching] .arrow{color:var(--brand);transform:translate(2px,-2px)}.empty{border:1.5px dashed var(--border);text-align:center;color:var(--muted);border-radius:16px;flex-direction:column;align-items:center;gap:8px;padding:56px 24px;display:flex}.empty strong{color:var(--fg);font-size:22px}.empty .clear{border:1px solid var(--field-border);background:var(--card);min-height:44px;color:var(--fg);font:inherit;cursor:pointer;border-radius:10px;margin-top:12px;padding:0 18px;font-size:15px;font-weight:600;transition:border-color .15s,color .15s}.empty .clear:hover{border-color:var(--brand);color:var(--brand)}.empty .clear:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.bottom{border-top:1px solid var(--border);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:64px;padding-top:24px;font-size:14px;display:flex}.bottom .mono{font-size:12.5px}@media (prefers-reduced-motion:reduce){.card,.halo,.card .arrow{transition:none}.card:hover,.card:active,.card[data-launching]{transform:none}}body:has(.not-found){background:radial-gradient(ellipse at 50% 35%, color-mix(in srgb, var(--lavender) 22%, transparent), transparent 60%), var(--bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.not-found{text-align:center;padding:3rem 1.5rem}.not-found img{width:160px;height:160px;filter:drop-shadow(0 0 24px color-mix(in srgb, var(--lavender) 55%, transparent));margin:0 auto;display:block}.not-found .code{letter-spacing:-.04em;margin:.5rem 0 0;font-size:6rem;font-weight:800;line-height:1}.not-found p{color:var(--muted);margin:1rem 0 1.5rem}.not-found .home-link{background:var(--brand);color:var(--on-brand);border-radius:10px;padding:.7rem 1.3rem;font-weight:600;text-decoration:none;display:inline-block}.not-found .home-link:hover{background:color-mix(in srgb, var(--brand) 85%, var(--fg))}.not-found .home-link:focus-visible{outline:2px solid var(--brand);outline-offset:2px}body:has(.theme-kitagawa){--bg:#fff6f2;--fg:#2a1a2e;--muted:#8d6b7c;--lavender:#ff8fb8;--brand:#e8336f;--on-brand:#fff;--gold:#ffc65c;--hair:linear-gradient(120deg, #ffcf5c 0%, #ff9e6b 45%, #ff4f8e 100%);background:radial-gradient(ellipse at 50% 35%, color-mix(in srgb, var(--lavender) 26%, transparent), transparent 60%), radial-gradient(circle at 85% 10%, color-mix(in srgb, var(--gold) 26%, transparent), transparent 35%), var(--bg)}@media (prefers-color-scheme:dark){body:has(.theme-kitagawa){--bg:#1c1020;--fg:#fdeef4;--muted:#c4a4b6;--lavender:#ff7fac;--brand:#ff6f9f;--on-brand:#1c1020;--gold:#ffb94a}}.theme-kitagawa ::selection{background:var(--lavender);color:#fff}.not-found.theme-kitagawa{position:relative}.not-found.theme-kitagawa:before{content:"✦  ♡  ✧";letter-spacing:.4em;white-space:nowrap;color:var(--lavender);pointer-events:none;font-size:22px;animation:2.8s ease-in-out infinite kitagawa-twinkle;position:absolute;top:1rem;left:50%;transform:translate(-50%)}.not-found.theme-kitagawa .marin{object-fit:contain;width:auto;max-width:100%;height:180px;transition:transform .3s}.not-found.theme-kitagawa .marin:hover{transform:rotate(-6deg)scale(1.04)}.not-found.theme-kitagawa .code{font-family:var(--font-pop), var(--font-sans), sans-serif;letter-spacing:0;background:var(--hair);color:#0000;-webkit-background-clip:text;background-clip:text;margin-top:1rem;font-weight:400}.not-found.theme-kitagawa .home-link{outline:1.5px dashed color-mix(in srgb, var(--on-brand) 55%, transparent);outline-offset:-5px;border-radius:999px}.not-found.theme-kitagawa .home-link:focus-visible{outline:2px solid var(--brand);outline-offset:2px}@keyframes kitagawa-twinkle{0%,to{opacity:1}50%{opacity:.4}}@media (prefers-reduced-motion:reduce){.not-found.theme-kitagawa:before{animation:none}.not-found.theme-kitagawa .marin{transition:none}}
