@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4f6667dd39116621-s.00az9qtie3ho1.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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/07935285219a259d-s.3j-a226dh71aj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/f58031ded4338640-s.2gwoz23eiro2t.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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/77814b00d5ca94a4-s.0i3h3th1vs4m7.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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/605ce01b664af129-s.p.0zr6hhvz-h9nw.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:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.u8MhCG_className{font-family:Geist,Geist Fallback;font-style:normal}.u8MhCG_variable{--font-geist:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b0c6b664fd57c2c6-s.27spqqad3wyeo.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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6e342921ee4dcd9d-s.3f4zuumv8svu0.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bb852295097cd96-s.34r5yzckw0h2s.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9eb5a876700c0028-s.2jyz_zw3a8jit.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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2a04751c893bf294-s.30bdpjkrtcces.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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/07a39a8a4660cc7c-s.p.1v5bejj26fx9h.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:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.Gb1_vG_className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.Gb1_vG_variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0a0a;--surface:#141414;--ink:#f5f5f5;--muted:#a3a3a3;--unread:#383838;--line:#262626;--accent:#fff;--accent-soft:#1f1f1f;--on-accent:#0a0a0a;--dur-fast:.12s;--dur-base:.2s;--dur-slow:.35s;--dur-story:.7s;--ease-out:cubic-bezier(.2, .7, .2, 1);--stagger:70ms;--rise:14px;--rise-scroll:56px;--blur-in:10px;--scale-in:.96;--fill-start:40vh;--fill-span:85vh;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-12:48px;--s-16:64px;--s-24:96px;--s-30:120px;--r-1:6px;--r-2:9px;--r-3:12px;--r-4:16px;--r-5:22px;--r-full:999px;--font-mono:var(--font-geist-mono);--header-h:64px;--container:1200px;--gutter:clamp(20px, 5vw, 48px);--split-gap:clamp(48px, 7vw, 112px)}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fafafa;--surface:#fff;--ink:#0a0a0a;--muted:#525252;--unread:#d0d0d0;--line:#e5e5e5;--accent:#0a0a0a;--accent-soft:#ededed;--on-accent:#fafafa}
*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:120px}body{background:var(--bg);color:var(--ink);font-family:var(--font-geist), system-ui, sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:18px;line-height:1.75}h1,h2,h3,h4,p,ul,ol,figure,blockquote,pre{margin:0}ul,ol{padding:0;list-style:none}img,svg{max-width:100%;display:block}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--r-1)}::selection{background:var(--ink);color:var(--bg)}.container{width:100%;max-width:calc(var(--container) + var(--gutter) * 2);padding-inline:var(--gutter);margin-inline:auto}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--accent);color:var(--on-accent);border-radius:var(--r-full);transition:top var(--dur-base) var(--ease-out);padding:12px 20px;font-weight:500;position:fixed;top:-80px;left:16px}.skip-link:focus{top:12px}.display{letter-spacing:-.04em;font-size:clamp(40px,5.6vw,76px);font-weight:600;line-height:1.03}.h2{letter-spacing:-.03em;font-size:clamp(30px,4vw,48px);font-weight:600;line-height:1.08}.h3{letter-spacing:-.02em;font-size:24px;font-weight:600;line-height:1.2}.lead{color:var(--muted);font-size:clamp(17px,1.5vw,19px);line-height:1.6}.label{font-family:var(--font-mono), ui-monospace, monospace;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:12.5px;font-weight:500}.mono{font-family:var(--font-mono), ui-monospace, monospace}main{min-height:60vh}@media print{:root{--unread:var(--ink)}}
.link{transition:background-size var(--dur-base) var(--ease-out), background-position var(--dur-base) var(--ease-out);background:linear-gradient(currentColor,currentColor) 100% 100%/0 1px no-repeat;align-items:center;gap:6px;padding-bottom:2px;display:inline-flex}.link:hover,.link:focus-visible{background-position:0 100%;background-size:100% 1px}.muted{color:var(--muted)}.btn{border-radius:var(--r-full);white-space:nowrap;cursor:pointer;min-height:44px;transition:box-shadow var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out), transform var(--dur-fast) var(--ease-out), background-color var(--dur-base) var(--ease-out);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:15px;font-weight:500;line-height:22px;list-style:none;display:inline-flex}.btn::-webkit-details-marker{display:none}.btn-sm{min-height:44px;padding:0 16px;font-size:14px}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover{box-shadow:0 0 0 4px var(--accent-soft)}.btn-primary:active{transform:scale(.98)}.btn-primary .nudge{transition:transform var(--dur-base) var(--ease-out)}.btn-primary:hover .nudge{transform:translate(3px)}.btn-ghost{border-color:var(--line);color:var(--ink)}.btn-ghost:hover{border-color:var(--ink)}.btn-ghost:active{transform:scale(.96)}.btn-icon{border-radius:var(--r-full);border:1px solid var(--line);width:44px;height:44px;color:var(--ink);transition:border-color var(--dur-base) var(--ease-out), transform var(--dur-fast) var(--ease-out);place-items:center;display:inline-grid}.btn-icon:hover{border-color:var(--ink)}.btn-icon:active{transform:scale(.96)}.swap{transition:transform var(--dur-fast) var(--ease-out);display:inline-grid}.swap[data-done=true]{transform:scale(1.1)}.copyrow{font-family:var(--font-mono), monospace;flex-wrap:wrap;align-items:center;gap:12px;font-size:14px;display:inline-flex}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{min-height:28px;font:500 12.5px/1 var(--font-mono), monospace;color:var(--muted);border:1px solid var(--line);border-radius:var(--r-full);align-items:center;padding:0 10px;display:inline-flex}.pill{border-radius:var(--r-full);border:1px solid var(--line);background:var(--surface);color:var(--ink);align-items:center;gap:8px;width:fit-content;padding:6px 12px;font-size:13px;line-height:1.2;display:inline-flex}.pill-dot{background:var(--ink);border-radius:50%;width:8px;height:8px;position:relative}.pill-dot:after{content:"";background:var(--ink);opacity:0;animation:pulse 2.4s var(--ease-out) infinite;border-radius:50%;position:absolute;inset:0}@keyframes pulse{0%{opacity:.5;transform:scale(1)}70%,to{opacity:0;transform:scale(3)}}.site-header{z-index:20;height:var(--header-h);background:color-mix(in oklab, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);position:sticky;top:0}.header-row{justify-content:space-between;align-items:center;gap:16px;height:100%;display:flex}.brand{align-items:center;gap:12px;min-height:44px;font-size:15px;font-weight:600;display:inline-flex}.brand-mark{background:var(--accent);width:32px;height:32px;color:var(--on-accent);letter-spacing:-.02em;border-radius:9px;place-items:center;font-size:14px;font-weight:600;display:grid}.nav{gap:28px;font-size:15px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.nav .link{min-height:44px}.header-actions{align-items:center;gap:8px;display:flex}.show-sm{display:none}@media (max-width:759.98px){.nav,.hide-sm{display:none}.show-sm{display:inline-grid}.brand-name{font-size:15px}}@media (min-width:760px) and (max-width:1279px){.nav{gap:18px}.header-actions .pill{display:none}}.popmenu{position:relative}.popmenu summary{cursor:pointer}.popmenu-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-3);z-index:30;min-width:240px;padding:6px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 40px #00000059}.popmenu-panel a{border-radius:var(--r-2);gap:2px;min-height:44px;padding:10px 12px;display:grid}.popmenu-panel a:hover{background:var(--accent-soft)}.popmenu-panel strong{font-size:15px;font-weight:500}.popmenu-panel .mono{color:var(--muted);font-size:12px}.site-footer{border-top:1px solid var(--line);padding-block:28px}.footer-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.footer-copy{color:var(--muted);font-size:12.5px;line-height:1.5}.footer-links{flex-wrap:wrap;gap:20px;font-size:14px;display:flex}.footer-links .link{min-height:44px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-4);transition:background-color var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out);padding:24px;position:relative}.card-link{color:inherit;gap:12px;display:grid}.card-link:after{content:"";border-radius:inherit;position:absolute;inset:0}.corner{color:var(--muted);transition:transform var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out);position:absolute;top:22px;right:22px}.card:hover .corner,.card:focus-within .corner{color:var(--ink);transform:translate(3px,-3px)}.log-card:hover,.oss .card:hover{background:color-mix(in oklab, var(--surface) 70%, var(--accent-soft))}.meta{margin:0}.project-card{gap:14px;display:grid}.project-card .h3{margin-top:4px}.card-actions{flex-wrap:wrap;align-items:center;gap:20px;margin-top:4px;display:flex}.cover{border-radius:var(--r-3);border:1px solid var(--line);background:var(--bg);overflow:hidden}.cover img{aspect-ratio:16/10;object-fit:cover;width:100%;height:auto}.log-title{letter-spacing:-.015em;padding-right:28px;font-size:21px;line-height:1.3}.h3.sm{letter-spacing:-.015em;font-size:19px;line-height:1.3}.at{font-weight:400}.bp{aspect-ratio:16/10;background:repeating-linear-gradient(135deg, transparent 0 10px, color-mix(in oklab, var(--ink) 5%, transparent) 10px 11px), var(--bg);grid-template-rows:auto 1fr auto;gap:12px;padding:18px;display:grid;position:relative;container-type:inline-size}.bp-tag{color:var(--muted);letter-spacing:.04em;margin:0;font-size:11.5px}.bp-flow{flex-wrap:wrap;place-content:center;gap:10px 22px;display:flex}.bp-flow li{border:1px solid var(--line);border-radius:var(--r-2);background:var(--surface);font:500 13px/1.2 var(--font-mono), monospace;padding:9px 14px;position:relative}.bp-flow li:nth-child(2){border-color:var(--ink)}.bp-flow li:not(:last-child):after{content:"→";color:var(--muted);font-size:12px;position:absolute;top:50%;right:-19px;transform:translateY(-50%)}.bp-stats{flex-wrap:wrap;gap:10px;display:flex}.bp-stats li{border:1px solid var(--line);border-radius:var(--r-2);background:var(--bg);flex:1;gap:2px;min-width:80px;padding:8px 12px;display:grid}.bp-stats strong{letter-spacing:-.02em;font-size:18px;font-weight:600;line-height:1.1}.bp-stats .mono{color:var(--muted);font-size:11px;line-height:1.3}@container (max-width:420px){.bp-flow li{padding:7px 10px;font-size:12px}.bp-stats strong{font-size:15px}}.dialog{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--r-5);overscroll-behavior:contain;opacity:0;width:min(560px,100vw - 32px);max-height:min(86vh,720px);transition:opacity var(--dur-base) var(--ease-out), transform var(--dur-slow) var(--ease-out), overlay var(--dur-slow) allow-discrete, display var(--dur-slow) allow-discrete;padding:0;overflow:auto;transform:translateY(24px)}.dialog[open]{opacity:1;transform:none}@starting-style{.dialog[open]{opacity:0;transform:translateY(24px)}}.dialog::backdrop{opacity:0;transition:opacity var(--dur-base) var(--ease-out), overlay var(--dur-base) allow-discrete, display var(--dur-base) allow-discrete;background:#0009}.dialog[open]::backdrop{opacity:1}@starting-style{.dialog[open]::backdrop{opacity:0}}.dialog-body{gap:20px;padding:24px;display:grid}.sheet-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.sheet-actions{flex-wrap:wrap;gap:12px;display:flex}body:has(dialog[open]){overflow:hidden}.facts{gap:14px;margin:0;display:grid}.facts>div{grid-template-columns:110px 1fr;align-items:start;gap:12px;font-size:15px;line-height:1.5;display:grid}.facts dt{padding-top:3px}.facts dd{margin:0}.bullets{color:var(--muted);gap:8px;font-size:14.5px;line-height:1.5;display:grid}.bullets li{padding-left:16px;position:relative}.bullets li:before{content:"–";position:absolute;left:0}.booklist{gap:10px;display:grid}.bookitem{border:1px solid var(--line);border-radius:var(--r-3);transition:background-color var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out);gap:6px;padding:16px 44px 16px 16px;display:grid;position:relative}.bookitem:hover{background:var(--accent-soft);border-color:var(--ink)}.bookitem:hover .corner,.bookitem:focus-visible .corner{color:var(--ink);transform:translate(3px,-3px)}.bookitem .corner{top:16px;right:16px}.bookitem-top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;font-size:16px;display:flex}.dur{color:var(--muted);align-items:center;gap:4px;font-size:12.5px;display:inline-flex}.bookitem-sum{color:var(--ink);font-size:14.5px;line-height:1.5}.bookitem-ideal{color:var(--muted);font-size:13.5px;line-height:1.5}.dialog-menu{background:var(--bg);border:0;border-radius:0;width:100vw;max-width:none;height:100dvh;max-height:none;transform:none}.dialog-menu .dialog-body{align-content:start;gap:28px;min-height:100%}.menu-links{display:grid}.menu-links a{letter-spacing:-.03em;border-bottom:1px solid var(--line);opacity:0;padding:12px 0;font-size:clamp(32px,9vw,44px);font-weight:600;line-height:1.2;transform:translateY(8px)}.dialog-menu[open] .menu-links a{opacity:1;transition:opacity var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out);transition-delay:calc(var(--i) * 40ms + 80ms);transform:none}@starting-style{.dialog-menu[open] .menu-links a{opacity:0;transform:translateY(8px)}}@media (max-width:759.98px){.dialog:not(.dialog-menu){border-radius:var(--r-5) var(--r-5) 0 0;border-bottom:0;width:100%;max-width:none;margin:auto 0 0}.facts>div{grid-template-columns:1fr;gap:4px}}.hero{padding-block:clamp(48px,7vw,96px) clamp(32px,5vw,64px)}.hero-grid{grid-template-columns:minmax(0,1fr);gap:40px;display:grid}@media (min-width:960px){.hero-grid{grid-template-columns:minmax(0,1fr) 400px;align-items:center;gap:56px}}.hero-eyebrow{margin-bottom:24px;line-height:1.6}.hero .display{letter-spacing:-.04em;font-size:clamp(38px,4.8vw,66px)}.hero-h{display:grid}.hero-h-word,.hero-h-rest{display:block}.hero-h .flip-item{white-space:normal}.hero .dim{color:var(--muted)}.hero-lead{max-width:56ch;margin-top:28px}.scroll-hint{margin-top:32px;font-size:11.5px}.flip{display:grid}.flip-title{vertical-align:bottom;display:inline-grid}.flip-item{opacity:0;white-space:nowrap;will-change:opacity, filter;grid-area:1/1}.flip-item[data-active]{opacity:1}@media (prefers-reduced-motion:no-preference){.flip[data-anim] .flip-item[data-active]{animation:morph-in .7s var(--ease-out) .14s both}.flip[data-anim] .flip-item[data-leaving]{animation:.48s ease-in both morph-out}}@keyframes morph-in{0%{opacity:0;filter:blur(14px);transform:scale(1.035)translateY(6px)}to{opacity:1;filter:blur();transform:none}}@keyframes morph-out{0%{opacity:1;filter:blur();transform:none}to{opacity:0;filter:blur(14px);transform:scale(.97)translateY(-6px)}}.hero-more{min-height:44px;font-size:15px;font-weight:500}.hero-actions{flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:32px;display:flex}.hero-card{border-radius:var(--r-5);gap:22px;padding:24px;display:grid}.hero-card-actions{gap:10px;display:grid}.hero-card-actions .btn-primary{width:100%}.hero-card-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.hero-card-row .btn,.hero-card-row summary{width:100%;padding-inline:12px}.hero-card-row .popmenu{display:block}.popmenu[data-align=left] .popmenu-panel{left:0;right:auto}.opento{border-top:1px solid var(--line);gap:12px;padding-top:18px;display:grid}.opento dl{gap:14px;margin:0;display:grid}.opento dt{color:var(--muted);margin-bottom:8px;font-size:13px;line-height:1.4}.opento dd{margin:0}.aside-link{text-align:left;border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding-top:14px;font-size:15px;font-weight:500;display:flex}.aside-link .nudge{transition:transform var(--dur-base) var(--ease-out)}.aside-link:hover .nudge{transform:translate(3px)}.social-row{gap:8px;display:flex}@media (prefers-reduced-motion:no-preference){.hero-card{animation:card-in .8s var(--ease-out) .2s both}}@keyframes card-in{0%{opacity:0;transform:translate(96px)}}@media (max-width:959.98px){@keyframes card-in{0%{opacity:0;transform:translateY(40px)}}}.flow{align-content:start;gap:20px;display:grid}.flow-label{margin-top:20px}.principles .card,.exp .card{gap:8px;padding:20px;display:grid}@media (min-height:720px){.flow .sticky-card{top:calc(112px + min(var(--i,0) * 16px, 64px));position:sticky}}@media (max-width:759.98px) and (min-height:760px){.flow .sticky-card{top:calc(var(--header-h) + 60px + min(var(--i,0) * 10px, 40px))}}.stack-group{gap:14px;padding:20px;display:grid}.contact{border-top:1px solid var(--line);padding-block:clamp(64px,10vw,120px)}.contact-grid{grid-template-columns:minmax(0,1fr);gap:56px;display:grid}@media (min-width:900px){.contact-grid{grid-template-columns:minmax(0,1fr) 360px;gap:96px}}.contact-title{max-width:14ch;margin:16px 0 20px}.contact-email{margin-top:28px}.elsewhere{gap:10px;margin-top:16px;display:grid}.elsewhere-item{border-radius:var(--r-3);justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:14px 18px;font-size:15px;display:flex}.elsewhere-item:hover{background:var(--accent-soft);border-color:var(--ink)}.elsewhere-name{align-items:center;gap:10px;font-weight:500;display:inline-flex}.closing{border-top:1px solid var(--line);padding-block:clamp(48px,7vw,72px)}.closing-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:28px;display:flex}.closing .h2{letter-spacing:-.03em;max-width:22ch;font-size:clamp(26px,3.2vw,36px)}.closing p{max-width:52ch;color:var(--muted);margin-top:12px;font-size:16px;line-height:1.6}.filters{flex-wrap:wrap;gap:10px;display:flex}.filter{border-radius:var(--r-full);border:1px solid var(--line);min-height:44px;font:500 14px/1 var(--font-mono), monospace;transition:background-color var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out);padding:0 18px}.filter:hover{border-color:var(--ink)}.filter[aria-pressed=true]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}@media (prefers-reduced-motion:reduce){.pill-dot:after{animation:none}.dialog,.dialog::backdrop,.menu-links a{transition:none!important}*{scroll-behavior:auto!important}}.cover-art{aspect-ratio:16/10;width:100%;height:auto;display:block}.preview-row{border-radius:var(--r-3);transition:background-color var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out);gap:6px;padding:22px 56px 22px 22px;display:grid;position:relative}.preview-row:hover{background:var(--accent-soft);border-color:var(--ink)}.preview-row .corner{position:absolute;top:22px;right:22px}.page-body{padding-bottom:clamp(48px,8vw,96px)}.page-body .flow{max-width:880px}.tool-card,.project-card{gap:12px;padding:22px;display:grid}.about-links{flex-wrap:wrap;align-items:center;gap:20px;margin-top:12px;display:flex}.modes{gap:8px;margin:0;padding:0;list-style:none;display:grid}.modes li{gap:2px;font-size:14px;line-height:1.45;display:grid}.modes strong{font-weight:500}.email-line{text-align:left;flex-wrap:wrap;align-items:baseline;gap:4px 12px;padding:0;font-size:14px;display:inline-flex}.email-line .mono{border-bottom:1px dashed var(--line);transition:border-color var(--dur-base) var(--ease-out)}.email-line:hover .mono,.email-line:focus-visible .mono{border-color:var(--ink)}.email-hint{font:500 12px/1 var(--font-mono), monospace;color:var(--muted);opacity:0;transition:opacity var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out);transform:translate(-4px)}.email-line:hover .email-hint,.email-line:focus-visible .email-hint,.email-line[data-done] .email-hint{opacity:1;transform:none}@media (hover:none){.email-hint{opacity:1;transform:none}}.qualities-label{margin:22px 0 10px}.qualities{counter-reset:q;gap:14px;margin:0;padding:0;list-style:none;display:grid}.qualities li{counter-increment:q;gap:3px;padding-left:28px;font-size:14.5px;line-height:1.5;display:grid;position:relative}.qualities li:before{content:counter(q);font:500 12px/1.6 var(--font-mono), monospace;color:var(--muted);position:absolute;top:1px;left:0}.qualities strong{font-weight:500}.open-chips{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tip-wrap{position:relative}.chip.tip{cursor:help;min-height:36px;transition:border-color var(--dur-base) var(--ease-out);padding:0 16px;font-size:13px}.chip.tip:hover,.chip.tip:focus-visible{border-color:var(--ink)}.tooltip{z-index:6;border:1px solid var(--line);border-radius:var(--r-3);background:var(--surface);width:max-content;max-width:min(280px,70vw);color:var(--ink);opacity:0;pointer-events:none;transition:opacity var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out);padding:10px 12px;font-size:13px;line-height:1.5;position:absolute;top:calc(100% + 8px);left:0;transform:translateY(-4px)}.tip-wrap:hover .tooltip,.tip-wrap:focus-within .tooltip{opacity:1;transform:none}.tip-wrap:last-child .tooltip{left:auto;right:0}.dialog:not(.dialog-menu){background:color-mix(in oklab, var(--surface) 80%, transparent);-webkit-backdrop-filter:blur(24px)saturate(1.3);backdrop-filter:blur(24px)saturate(1.3)}.dialog-menu{background:color-mix(in oklab, var(--bg) 78%, transparent);-webkit-backdrop-filter:blur(28px)saturate(1.3);backdrop-filter:blur(28px)saturate(1.3)}.dialog::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#00000073}.tooltip{background:color-mix(in oklab, var(--surface) 70%, transparent);-webkit-backdrop-filter:blur(24px)saturate(1.3);backdrop-filter:blur(24px)saturate(1.3)}.rumi-ball-btn,.rumi-bubble{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.rumi-ball-btn{background:color-mix(in oklab, var(--surface) 70%, transparent)}.popmenu-panel{background:color-mix(in oklab, var(--surface) 68%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.site-header,.hero-card{-webkit-backdrop-filter:none;backdrop-filter:none;isolation:isolate;background:0 0}.site-header:before,.hero-card:before{content:"";z-index:-1;border-radius:inherit;pointer-events:none;-webkit-backdrop-filter:blur(18px)saturate(1.4);backdrop-filter:blur(18px)saturate(1.4);position:absolute;inset:0}.site-header:before{background:color-mix(in oklab, var(--bg) 50%, transparent)}.hero-card{border:1px solid var(--line);position:relative}.hero-card:before{background:color-mix(in oklab, var(--surface) 72%, transparent)}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.site-header:before{background:var(--bg)}.hero-card:before,.dialog,.tooltip,.popmenu-panel{background:var(--surface)}}
.story{padding-block:clamp(64px,10vw,120px)}.split{gap:28px var(--split-gap);grid-template-columns:minmax(0,1fr);display:grid}.chap{align-items:center;gap:16px;margin:0 0 24px;font-size:12.5px;display:flex}.chap .bar{background:var(--line);flex:0 220px;height:1px;display:block;overflow:hidden}.chap .bar>span{background:var(--ink);transform-origin:0;width:100%;height:1px;display:block}.stmt{letter-spacing:-.032em;margin:0;font-size:clamp(30px,3.3vw,46px);font-weight:500;line-height:1.16}.stmt .w{color:var(--ink)}.stick-cta{margin-top:28px;font-size:15px}@media (min-width:760px){.split{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}.stick{align-self:start;position:sticky;top:112px}}@media (max-width:759.98px){.stick{display:contents}.stmt{font-size:clamp(28px,8vw,36px)}.chap{top:var(--header-h);z-index:5;margin:0 calc(var(--gutter) * -1);padding:12px var(--gutter);background:color-mix(in oklab, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky}.chap .bar{flex:1}.story,.story .split{padding-top:0}}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.story{view-timeline-name:--sec}.story .w{animation:linear both fill;animation-timeline:--sec;animation-range:cover calc(var(--fill-start) + var(--p0) * var(--fill-span)) cover calc(var(--fill-start) + 5vh + var(--p1) * var(--fill-span))}.story .bar>span{animation:linear both grow;animation-timeline:--sec;animation-range:cover var(--fill-start) exit 0%}.story .morph{animation:linear both morph;animation-timeline:view();animation-range:entry cover 32%}@media (max-width:759.98px){.story .stmt{view-timeline-name:--stmt}.story .w{animation-timeline:--stmt;animation-range:cover calc(12% + var(--p0) * 38%) cover calc(12% + var(--p1) * 38% + 3%)}}}.js-fill .stmt{--fp:0}.js-fill .stmt .w{--k:clamp(0, (var(--fp) - var(--p0)) / (var(--p1) - var(--p0) + .0001), 1);color:color-mix(in oklab, var(--ink) calc(var(--k) * 100%), var(--unread));transition:color var(--dur-base) linear}.js-fill .morph{opacity:0;transform:translateY(var(--rise-scroll)) scale(var(--scale-in));filter:blur(var(--blur-in))}.js-fill .morph.in{opacity:1;filter:none;transition:opacity var(--dur-story) var(--ease-out), transform var(--dur-story) var(--ease-out), filter var(--dur-story) var(--ease-out);transform:none}}@keyframes fill{0%{color:var(--unread)}}@keyframes grow{0%{transform:scaleX(0)}}@keyframes morph{0%{opacity:0;transform:translateY(var(--rise-scroll)) scale(.96);filter:blur(10px)}}@media (prefers-reduced-motion:no-preference){.hero-copy>*{animation:rise var(--dur-story) var(--ease-out) both}.hero-copy>:nth-child(2){animation-delay:calc(var(--stagger) * 1)}.hero-copy>:nth-child(3){animation-delay:calc(var(--stagger) * 2)}.hero-copy>:nth-child(4){animation-delay:calc(var(--stagger) * 3)}}@keyframes rise{0%{opacity:0;transform:translateY(var(--rise))}}
.page-head{gap:16px;padding-top:clamp(40px,6vw,72px);padding-bottom:clamp(32px,5vw,56px);display:grid}.back{width:fit-content;min-height:44px;color:var(--muted);font-size:14px}.page-title{letter-spacing:-.045em;font-size:clamp(44px,7vw,88px)}.page-lead{max-width:56ch}.logs-lead-row{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:24px;margin-bottom:16px;display:flex}.meta-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px 24px;margin:24px 0 8px;display:grid}.meta-row>div{border-top:1px solid var(--line);gap:4px;padding-top:12px;display:grid}.meta-row dd{margin:0;font-size:15px;font-weight:500;line-height:1.5}.meta-row .links{flex-wrap:wrap;gap:14px;display:flex}.hero-cover{margin-top:24px}.hero-cover .cover{border-radius:var(--r-4)}.hero-cover .bp{padding:clamp(18px,4vw,40px)}.hero-cover .bp-flow li{padding:12px 18px;font-size:clamp(12px,1.6vw,16px)}.hero-cover .bp-stats strong{font-size:clamp(18px,2.6vw,28px)}.doc{gap:32px;padding-block:24px 72px;display:grid}@media (min-width:1000px){.doc{grid-template-columns:200px minmax(0,720px);gap:64px}}.doc-side{display:none}@media (min-width:1000px){.doc-side{display:block}.doc-side .toc{position:sticky;top:112px}}.toc{gap:14px;display:grid}.toc ol{border-left:1px solid var(--line);display:grid}.toc a{color:var(--muted);min-height:32px;transition:border-color var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out);border-left:1px solid #0000;align-items:baseline;gap:10px;margin-left:-1px;padding:6px 0 6px 14px;font-size:14px;line-height:1.4;display:flex}.toc a .mono{font-size:11.5px}.toc a:hover{color:var(--ink)}.toc a[aria-current=true]{border-left-color:var(--ink);color:var(--ink)}.prose{counter-reset:chapter;font-size:18px;line-height:1.75}.prose>*+*{margin-top:20px}.prose h2{counter-increment:chapter;letter-spacing:-.03em;margin-top:64px;font-size:clamp(26px,3vw,34px);font-weight:600;line-height:1.15}.prose h2:before{content:counter(chapter, decimal-leading-zero) " · CHAPTER";font:500 12px/1 var(--font-mono), monospace;letter-spacing:.04em;color:var(--muted);margin-bottom:10px;display:block}.prose h2:first-child{margin-top:0}.prose h3{letter-spacing:-.02em;margin-top:36px;font-size:22px;font-weight:600}.prose a{text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--muted);text-decoration-color:var(--muted)}.prose a:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.prose strong{font-weight:600}.prose ul{gap:8px;display:grid}.prose ul li{padding-left:20px;position:relative}.prose ul li:before{content:"–";color:var(--muted);position:absolute;left:0}.prose ol{counter-reset:n;gap:8px;display:grid}.prose ol li{counter-increment:n;padding-left:28px;position:relative}.prose ol li:before{content:counter(n) ".";color:var(--muted);font-family:var(--font-mono), monospace;font-size:14px;position:absolute;left:0}.prose :not(pre)>code{font:500 .88em var(--font-mono), monospace;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:2px 6px}.prose blockquote{border-left:2px solid var(--ink);color:var(--muted);padding-left:20px}.decision{border:1px solid var(--line);background:var(--surface);border-radius:var(--r-4);padding:20px;position:relative}.decision-tag{border:1px solid var(--ink);border-radius:var(--r-full);align-items:center;min-height:24px;margin-bottom:14px;padding:0 10px;font-size:12px;font-weight:500;line-height:1;display:inline-flex}.decision dl{gap:12px;margin:0;display:grid}.decision dl>div{color:var(--muted);gap:4px;font-size:15.5px;line-height:1.55;display:grid}.decision dl>div .chose{color:var(--ink);font-weight:500}.decision dd{margin:0}@media (min-width:640px){.decision dl>div{grid-template-columns:90px 1fr;gap:16px}.decision dt{padding-top:3px}}.codeblock{border:1px solid var(--line);background:var(--surface);border-radius:var(--r-4);overflow:hidden}.codeblock figcaption{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;padding:8px 8px 8px 16px;font-size:12.5px;display:flex}.codeblock pre{font:400 13.5px/1.7 var(--font-mono), monospace;color:var(--ink);padding:16px;overflow-x:auto}.copy-code{min-height:44px;padding:0 12px;font-size:13px}.figure img,.figure-ph{border-radius:var(--r-3);border:1px solid var(--line);width:100%}.figure-ph{aspect-ratio:16/8;text-align:center;color:var(--muted);background:repeating-linear-gradient(135deg, transparent 0 10px, color-mix(in oklab, var(--ink) 5%, transparent) 10px 11px), var(--surface);place-items:center;padding:24px;font-size:12.5px;display:grid}.figure figcaption,.flowfig figcaption{color:var(--muted);margin-top:10px;font-size:12.5px;line-height:1.5}.metrics{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.prose .metrics li{border:1px solid var(--line);background:var(--surface);border-radius:var(--r-3);gap:6px;padding:18px;display:grid}.prose .metrics li:before{display:none}.metrics strong{letter-spacing:-.03em;font-size:26px;line-height:1.1}.metrics span{color:var(--muted);font-size:14px;line-height:1.5}.flowfig ol{border:1px solid var(--line);background:var(--surface);border-radius:var(--r-4);flex-wrap:wrap;gap:12px 28px;padding:20px;display:flex}.prose .flowfig ol li{border:1px solid var(--line);border-radius:var(--r-2);background:var(--bg);gap:2px;padding:12px 16px;display:grid;position:relative}.prose .flowfig ol li:before{display:none}.flowfig li[data-hl=true]{border-color:var(--ink)}.flowfig li strong{font-size:15px;font-weight:500}.flowfig li .mono{color:var(--muted);font-size:12px}.flow-arrow{color:var(--muted);position:absolute;top:50%;right:-21px;transform:translateY(-50%)}.flowfig ol li:last-child .flow-arrow{display:none}.next-wrap{padding-bottom:56px}.next-card{border-radius:var(--r-4);justify-content:space-between;align-items:center;gap:16px;padding:24px 28px;display:flex}.next-card:hover{background:var(--accent-soft)}.next-title{margin-top:6px;display:block}.prevnext{gap:16px;padding-bottom:72px;display:grid}@media (min-width:640px){.prevnext{grid-template-columns:1fr 1fr}}.prevnext .card{border-radius:var(--r-3);gap:6px;padding:20px;display:grid}.prevnext .card:hover{background:var(--accent-soft)}.prevnext .right{text-align:right}.post-head{text-align:center;justify-items:center;gap:20px;padding-top:clamp(32px,5vw,56px);display:grid}.post-head .back{justify-self:start}.post-title{letter-spacing:-.04em;text-wrap:balance;max-width:20ch;font-size:clamp(34px,5.2vw,60px)}.post-lead{max-width:56ch}.chips.center{justify-content:center}.byline{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 14px;font-size:14px;display:flex}.byline .brand-mark{border-radius:50%;width:28px;height:28px;font-size:12px}.post-cover,.featured-cover{aspect-ratio:16/7;text-align:left;border:1px solid var(--line);border-radius:var(--r-4);background:repeating-linear-gradient(135deg, transparent 0 10px, color-mix(in oklab, var(--ink) 5%, transparent) 10px 11px), var(--surface);align-content:end;gap:8px;width:100%;padding:clamp(20px,4vw,40px);display:grid;overflow:hidden}.post-cover strong{letter-spacing:-.03em;max-width:22ch;font-size:clamp(20px,3.4vw,40px);line-height:1.1}.post-cover .mono,.featured-cover .mono{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.author-card{border-radius:var(--r-4);flex-wrap:wrap;align-items:center;gap:16px;margin-top:56px;padding:18px 20px;font-size:15px;line-height:1.5;display:flex}.author-card .btn{margin-left:auto}.reading-progress{top:var(--header-h);z-index:19;background:0 0;height:2px;margin-top:-2px;position:sticky}.reading-progress span{background:var(--ink);transform-origin:0;height:2px;display:block;transform:scaleX(0)}@supports (animation-timeline:scroll()){@media (prefers-reduced-motion:no-preference){.reading-progress span{animation:linear both grow-x;animation-timeline:scroll(root)}}}@media (prefers-reduced-motion:reduce){.reading-progress{display:none}}@keyframes grow-x{to{transform:scaleX(1)}}.filters{margin-top:24px}.featured-log{border-radius:var(--r-5);gap:24px;margin-top:28px;padding:24px;display:grid}@media (min-width:900px){.featured-log{grid-template-columns:1.05fr 1fr;align-items:center;gap:32px}}.featured-cover{aspect-ratio:16/9}.featured-cover strong{letter-spacing:-.02em;max-width:22ch;font-size:clamp(18px,2.2vw,26px);line-height:1.15}.featured-body{align-content:center;gap:14px;display:grid}.featured-body .lead{font-size:17px}.sm-h2{letter-spacing:-.03em;font-size:clamp(26px,3vw,36px)}.stretch:after{content:"";position:absolute;inset:0}.chip.inline{color:var(--ink);border-color:var(--ink);text-transform:none;min-height:24px}.earlier{margin:48px 0 12px}.log-rows{border-top:1px solid var(--line)}.log-row{border-bottom:1px solid var(--line);transition:background-color var(--dur-base) var(--ease-out);align-items:center;gap:8px 20px;padding:22px 12px;display:grid}.log-row:hover{background:var(--surface)}.log-row-main{gap:4px;font-size:16px;line-height:1.4;display:grid}.log-row-main strong{font-size:19px;font-weight:500}.log-row .when,.log-row .mins{font-size:13px}@media (min-width:900px){.log-row{grid-template-columns:140px minmax(0,1fr) 70px 130px 24px}}.fade-list{animation:crossfade var(--dur-base) var(--ease-out)}@keyframes crossfade{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.fade-list{animation:none}}.notfound{text-align:center;place-content:center;justify-items:center;gap:20px;min-height:60vh;padding:64px 20px;display:grid}.notfound .display{font-size:clamp(80px,16vw,180px)}.tool-title{font-family:var(--font-mono), monospace;letter-spacing:-.04em}.doc-single{grid-template-columns:minmax(0,720px);justify-content:center}@media (min-width:1000px){.doc-single{grid-template-columns:minmax(0,720px)}}
@view-transition{navigation:auto}::view-transition-old(root){animation-duration:.25s}::view-transition-new(root){animation-duration:.25s}::view-transition-group(*){animation-duration:.4s;animation-timing-function:cubic-bezier(.2,.7,.2,1)}.theme-vt::view-transition-old(root){mix-blend-mode:normal;animation:none}.theme-vt::view-transition-new(root){mix-blend-mode:normal;animation:none}.theme-vt::view-transition-new(root){z-index:2}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}
:root{--rumi-body:#e8dccb;--rumi-points:#4b302b;--rumi-eye:#72b9e6;--rumi-pupil:#2a2225;--rumi-nose:#a96f72}:root[data-theme=light]{--rumi-body:#e2d3bd;--rumi-points:#432a26;--rumi-eye:#5fa8d8;--rumi-pupil:#2a2225;--rumi-nose:#a96f72}.rumi-layer{z-index:15;pointer-events:none;position:fixed;inset:0;overflow:hidden}.rumi-host{will-change:transform;position:absolute;top:0;left:0}.rumi-actor{pointer-events:auto;cursor:default;touch-action:manipulation;display:block;position:relative}.rumi-sprite{display:block}.rumi-bubble{white-space:nowrap;border-radius:var(--r-3);border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:6px 10px;font-size:12px;line-height:1.2;position:absolute;bottom:calc(100% + 6px);left:50%;translate:-50%}.rumi-sprite .f2{visibility:hidden}[data-walking] .rumi-sprite .f1{animation:.34s step-end infinite rumi-f1}[data-walking] .rumi-sprite .f2{animation:.34s step-end infinite rumi-f2}@keyframes rumi-f1{0%{visibility:visible}50%{visibility:hidden}}@keyframes rumi-f2{0%{visibility:hidden}50%{visibility:visible}}.rumi-paw{opacity:0;margin:-7px 0 0 -7px;animation:4.2s ease-out forwards paw-fade;position:absolute}@keyframes paw-fade{0%{opacity:.7}60%{opacity:.35}to{opacity:0}}.rumi-rain{opacity:0;animation:2.6s cubic-bezier(.3,.1,.5,1) forwards paw-rain;position:absolute;top:-30px}@keyframes paw-rain{0%{opacity:0;transform:translateY(0)rotate(0)}10%{opacity:.8}to{opacity:0;transform:translateY(105vh)rotate(220deg)}}.rumi-hearts{color:var(--rumi-nose);letter-spacing:6px;pointer-events:none;font-size:14px;animation:1.4s ease-out infinite hearts;position:absolute;bottom:calc(100% - 2px);left:50%;translate:-50%}@keyframes hearts{0%{opacity:0;transform:translateY(6px)}30%{opacity:1}to{opacity:0;transform:translateY(-14px)}}.rumi-actor[data-play] .rumi-sprite{transform-origin:50% 100%;animation:.18s steps(2,end) infinite wiggle}@keyframes wiggle{0%{transform:translate(-2px)scaleY(.92)}to{transform:translate(2px)scaleY(.92)}}.rumi-ball{will-change:transform;background:radial-gradient(circle at 35% 30%,#fff 0 35%,#e8e6e0 36% 70%,#cfcbc2 71%);border-radius:50%;width:18px;height:18px;position:absolute;top:0;left:0;box-shadow:0 2px #00000040}.rumi-ball-btn{z-index:16;border:1px solid var(--line);border-radius:var(--r-full);background:var(--surface);min-height:44px;color:var(--ink);transition:border-color var(--dur-base) var(--ease-out), transform var(--dur-fast) var(--ease-out);align-items:center;gap:10px;padding:0 14px 0 10px;font-size:12px;display:inline-flex;position:fixed;bottom:16px;right:16px}.rumi-ball-btn:hover,.rumi-ball-btn[aria-pressed=true]{border-color:var(--ink)}.rumi-ball-btn:active{transform:scale(.97)}.rumi-ball-icon{border:1px solid var(--line);background:radial-gradient(circle at 35% 30%,#fff 0 35%,#e8e6e0 36% 70%,#cfcbc2 71%);border-radius:50%;width:20px;height:20px}body:has(.rumi-ball-btn[aria-pressed=true]){cursor:crosshair}@media (max-width:759.98px){.rumi-ball-hint{display:none}.rumi-ball-btn{padding:0 10px}}@media (prefers-reduced-motion:reduce),print{.rumi-ball-btn,.rumi-ball{display:none!important}}.footer-rumi{flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;gap:12px;display:flex;position:relative}.rumi-perch{min-width:44px;min-height:44px;transition:transform var(--dur-base) var(--ease-out);place-items:end center;margin-bottom:-28px;display:grid}.rumi-perch:hover{transform:translateY(-3px)}.rumi-voice{border:1px solid var(--line);border-radius:var(--r-full);min-height:44px;color:var(--muted);transition:border-color var(--dur-base) var(--ease-out);padding:0 12px;font-size:12px}.rumi-voice:hover{border-color:var(--ink)}.rumi-line{text-align:right;min-height:1.4em;color:var(--muted);flex-basis:100%;margin:0;font-size:12px}@media (prefers-reduced-motion:reduce){.rumi-perch{transition:none}.rumi-perch:hover{transform:none}.rumi-layer{display:none}}@media print{.rumi-layer,.footer-rumi{display:none}}.rumi-care{text-align:right;color:var(--muted);flex-basis:100%;font-size:12px}.rumi-care summary{cursor:pointer;min-height:24px;list-style:none;display:inline-block}.rumi-care summary::-webkit-details-marker{display:none}.rumi-care summary:hover{color:var(--ink)}.rumi-care[open]{text-align:left;border:1px solid var(--line);border-radius:var(--r-3);background:color-mix(in oklab, var(--surface) 75%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);max-width:420px;margin-left:auto;padding:14px 16px}.rumi-care ol{color:var(--muted);gap:8px;margin:10px 0 0;padding-left:18px;font-size:13px;line-height:1.5;display:grid}.rumi-care strong{color:var(--ink);font-weight:500}.rumi-care-intro{margin:10px 0 0;font-size:13px;line-height:1.5}.rumi-voice[data-shake]{animation:.4s steps(4,end) no}@keyframes no{25%{transform:translate(-4px)}75%{transform:translate(4px)}}@media (prefers-reduced-motion:reduce){.rumi-voice[data-shake]{animation:none}}
