:root{--bg:#ede6d6;--ink:#1c1b19;--mute:#6e685c;--rule:#1c1b191a;--panel:#e4dbc7;--code-bg:#1c1b19;--code-ink:#ede6d6;--accent:#5e7a3a;--on-accent:#ede6d6;--fd:"Shippori Mincho", Georgia, serif;--fdw:800;--fm:"JetBrains Mono", ui-monospace, Menlo, monospace;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--bg:#141312;--ink:#e6dfcf;--mute:#8c8576;--rule:#e6dfcf1f;--panel:#1e1d1b;--code-bg:#0d0c0b;--code-ink:#e6dfcf}}*,:before,:after{box-sizing:border-box}html{background:var(--bg)}body{background:var(--bg);color:var(--ink);font-family:var(--fm);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit}img{max-width:100%;height:auto;display:block}.wrap{max-width:720px;margin:0 auto;padding:0 clamp(20px,6vw,48px)}.nav{flex-wrap:wrap;align-items:center;gap:12px 28px;padding:40px 0 0;display:flex}.nav .home{color:var(--ink);font-size:.95rem;text-decoration:none}.nav .links{flex-wrap:wrap;gap:8px 24px;margin-left:auto;font-size:.9rem;display:flex}.nav .links a{color:var(--mute);text-decoration:none}.nav .links a[aria-current=page],.nav .links a:hover{color:var(--ink)}.footer{border-top:1px solid var(--rule);color:var(--mute);flex-wrap:wrap;gap:12px 24px;padding:32px 0 56px;font-size:.85rem;display:flex}.footer a{color:var(--mute)}.footer .mail{margin-left:auto}.dot{color:var(--accent)}.title{font-family:var(--fd);letter-spacing:-.01em;color:var(--ink);margin:0;font-size:clamp(2.25rem,5vw,3.25rem);font-weight:400;line-height:1.1}.title.post{font-size:clamp(2rem,4.5vw,2.75rem);line-height:1.15}.lead{max-width:30rem;color:var(--mute);margin:0;font-size:.95rem;line-height:1.7}.label{font-family:var(--fm);letter-spacing:.06em;text-transform:uppercase;color:var(--mute);margin:0 0 12px;font-size:.85rem;font-weight:400}.muted{color:var(--mute)}.small{font-size:.85rem}.back{color:var(--mute);margin-top:96px;font-size:.85rem;text-decoration:none;display:inline-block}.page-head{flex-direction:column;gap:20px;padding:140px 0 64px;display:flex}.home-head{flex-direction:column;gap:28px;padding:160px 0 120px;display:flex}.hero-mark{width:104px;height:104px;color:var(--ink);display:block}.marks{color:var(--ink)}.section{padding-bottom:96px}.section.last{padding-bottom:140px}.row{border-top:1px solid var(--rule);color:var(--ink);align-items:center;gap:20px;padding:20px 0;text-decoration:none;display:flex}.row .name{font-family:var(--fd);font-weight:var(--fdw);font-size:1.25rem}.row .info{flex-wrap:wrap;flex:auto;align-items:baseline;gap:4px 16px;min-width:0;display:flex}.row .info.stack{flex-direction:column;gap:6px}.row .desc{color:var(--mute);font-size:.9rem}.row .status{color:var(--mute);font-size:.85rem}.pm{color:var(--ink);transition:transform .5s cubic-bezier(.2,.7,.2,1);display:block}.pm svg{display:block}.row:hover .pm,.row:focus-visible .pm{transform:scale(1.18)rotate(-8deg)}.entry{color:var(--ink);flex-wrap:wrap;gap:4px 24px;padding:14px 0;font-size:.95rem;text-decoration:none;display:flex}.entry .date{width:110px;color:var(--mute)}.entry .what{flex:240px}.entry .tag{color:var(--mute);font-size:.85rem}.entry .ver{width:80px;color:var(--accent)}.post-card{border-top:1px solid var(--rule);color:var(--ink);flex-direction:column;gap:8px;padding:28px 0;text-decoration:none;display:flex}.post-card .date{color:var(--mute);font-size:.85rem}.post-card .name{font-family:var(--fd);font-weight:var(--fdw);font-size:1.4rem;line-height:1.25}.post-card .desc{color:var(--mute);font-size:.92rem;line-height:1.6}.buttons{flex-wrap:wrap;gap:12px;margin-top:8px;display:flex}.btn{border-radius:10px;padding:14px 22px;font-size:.9rem;text-decoration:none}.btn.primary{background:var(--accent);color:var(--on-accent)}.btn.ghost{box-shadow:inset 0 0 0 1px var(--rule);color:var(--ink)}.shot{aspect-ratio:16/10;background:var(--panel);box-shadow:inset 0 0 0 1px var(--rule);color:var(--mute);border-radius:14px;justify-content:center;align-items:center;font-size:.85rem;display:flex;overflow:hidden}.shot img{object-fit:cover;width:100%;height:100%}.feature{border-top:1px solid var(--rule);flex-wrap:wrap;gap:4px 24px;padding:18px 0;display:flex}.feature .name{width:220px;font-family:var(--fd);font-weight:var(--fdw);font-size:1.15rem}.feature .desc{color:var(--mute);flex:260px;font-size:.92rem;line-height:1.6}.reqs{grid-template-columns:max-content 1fr;gap:6px 20px;font-size:.95rem;display:grid}.prose{flex-direction:column;gap:24px;font-size:.95rem;line-height:1.8;display:flex}.prose>*{margin:0}.prose h2,.prose h3{font-family:var(--fd);font-weight:var(--fdw);margin-top:24px;font-size:1.35rem;line-height:1.3}.prose h3{font-size:1.15rem}.prose a{color:var(--accent)}.prose pre{background:var(--code-bg);color:var(--code-ink);border-radius:12px;padding:20px 22px;font-size:.85rem;line-height:1.7;overflow-x:auto}.prose code{font-family:var(--fm)}.prose blockquote{box-shadow:inset 3px 0 0 var(--accent);font-family:var(--fd);padding:4px 0 4px 20px;font-size:1.2rem;line-height:1.5}.prose ul,.prose ol{padding-left:20px}.prose img{border-radius:12px}.prose hr{border:0;border-top:1px solid var(--rule)}.article{flex-direction:column;gap:24px;padding:40px 0 120px;display:flex}.article .meta{color:var(--mute);gap:16px;font-size:.85rem;display:flex}.article .meta .accent{color:var(--accent)}.pager{border-top:1px solid var(--rule);justify-content:space-between;gap:16px;margin-top:32px;padding-top:32px;font-size:.85rem;display:flex}.pager a{color:var(--mute)}.big-line{font-family:var(--fd);font-weight:var(--fdw);margin:0;font-size:1.6rem;line-height:1.3}.links-list a,.links-list .row{border-top:1px solid var(--rule);color:var(--ink);gap:24px;padding:14px 0;font-size:.95rem;text-decoration:none;display:flex}.links-list .k{width:130px;color:var(--mute)}.nf{flex-direction:column;justify-content:center;gap:36px;max-width:760px;min-height:100vh;display:flex}.nf-art{width:100%;max-width:560px;height:auto;color:var(--ink);display:block}.nf-arm{transform-box:view-box;transform-origin:42px 74px;animation:7s cubic-bezier(.45,0,.35,1) infinite nf-search}.nf-dot{transform-box:view-box;animation:7s cubic-bezier(.45,0,.35,1) infinite nf-flee}@keyframes nf-search{0%{transform:rotate(0)scale(1)}22%{transform:rotate(-15deg)scale(1.05)}30%{transform:rotate(-13deg)scale(1.02)}55%{transform:rotate(11deg)scale(1.06)}63%{transform:rotate(9deg)scale(1.02)}82%{transform:rotate(-3deg)scale(1)}to{transform:rotate(0)scale(1)}}@keyframes nf-flee{0%{transform:translate(0)}18%{transform:translate(0)}28%{transform:translate(9px,11px)}50%{transform:translate(8px,10px)}62%{transform:translate(-3px,-12px)}84%{transform:translate(-2px,-10px)}to{transform:translate(0)}}.up{animation:.8s cubic-bezier(.2,.7,.2,1) both up}.d1{animation-delay:.15s}.d2{animation-delay:.3s}.d3{animation-delay:.45s}.home-head .up.t{animation-delay:.9s}.home-head .up.s{animation-delay:1.05s}@keyframes up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.up,.nf-arm,.nf-dot{animation:none}.pm{transition:none}}
