@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:75% 100%;font-display:swap;src:url(/fonts/bricolage-normal-200_800.woff2) format("woff2");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}@font-face{font-family:Instrument Sans;font-style:italic;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(/fonts/instrumentsans-italic-400_700.woff2) format("woff2");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}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(/fonts/instrumentsans-normal-400_700.woff2) format("woff2");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}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/jetbrains-normal-400_500.woff2) format("woff2");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}@font-face{font-family:Silkscreen;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/silkscreen-normal-400.woff2) format("woff2");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}@font-face{font-family:Silkscreen;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/silkscreen-normal-700.woff2) format("woff2");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{--paper: #fffef7;--paper-2: #f7f4e8;--paper-3: #efebdb;--ink: #33322e;--ink-2: #54534b;--ink-3: #6a685a;--line: #ded9c5;--line-strong: #c9c3ab;--leaf: #7fb069;--leaf-deep: #478036;--mint: #cde8b5;--mint-2: #e8f2d9;--star: #ffd84d;--ribbon: #4a72b0;--night: #1d241a;--night-2: #262f22;--night-3: #313b2b;--night-line: rgba(205, 232, 181, .18);--night-ink: #f4f1e3;--night-ink-2: #c2c8b3;--font-display: "Bricolage Grotesque", "Trebuchet MS", system-ui, sans-serif;--font-body: "Instrument Sans", "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "Cascadia Mono", monospace;--font-pixel: "Silkscreen", "Courier New", monospace;--wrap: 1180px;--gutter: clamp(1.15rem, 4vw, 2.5rem);--section-y: clamp(4.5rem, 9vw, 8.5rem);--radius: 18px;--radius-sm: 10px;--shadow-hard: 4px 4px 0 var(--ink);--shadow-soft: 0 18px 40px -28px rgba(51, 50, 46, .55);color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:92px;-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:clamp(1rem,.28vw + .95rem,1.075rem);line-height:1.62;font-synthesis-weight:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}body.is-locked{overflow:hidden}#konten{flex:1 0 auto;width:100%;display:flex;flex-direction:column}img,svg{display:block;max-width:100%}img{height:auto}a{color:inherit}h1,h2,h3,h4{margin:0;font-family:var(--font-display);font-weight:700;line-height:1.02;letter-spacing:-.035em;text-wrap:balance}p{margin:0}ul,ol,dl,dd{margin:0;padding:0;list-style:none}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--leaf-deep);outline-offset:3px;border-radius:2px}::selection{background:var(--mint);color:var(--ink)}.wrap{width:min(var(--wrap),100% - (var(--gutter) * 2));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.section{position:relative;padding-block:var(--section-y)}.section--tight{padding-block:clamp(3rem,6vw,5rem)}.section--paper2{background:var(--paper-2)}.section--night{background:var(--night);color:var(--night-ink)}.section--night .label,.section--night .mono{color:var(--night-ink-2)}.rule{height:1px;background:var(--line);border:0;margin:0}.mono{font-family:var(--font-mono);font-size:.73rem;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-variant-numeric:tabular-nums}.label{font-family:var(--font-mono);font-size:.73rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2)}.pixel{font-family:var(--font-pixel);font-weight:400;letter-spacing:.04em;line-height:1}.lede{font-size:clamp(1.02rem,.5vw + .95rem,1.18rem);color:var(--ink-2);max-width:54ch}.section--night .lede{color:var(--night-ink-2)}.sec-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:clamp(1.5rem,5vw,4rem);align-items:end;padding-bottom:clamp(2rem,4vw,3.25rem)}.sec-head__index{display:flex;align-items:center;gap:.75rem;margin-bottom:1.1rem}.sec-head__index .pixel{font-size:.82rem;color:var(--leaf-deep);padding:.32rem .5rem;border:1px solid var(--line-strong);border-radius:6px;background:var(--paper)}.section--night .sec-head__index .pixel{color:var(--star);border-color:var(--night-line);background:var(--night-2)}.sec-head__index:after{content:"";flex:1;height:1px;background:var(--line);max-width:120px}.section--night .sec-head__index:after{background:var(--night-line)}.sec-head :is(h1,h2){font-size:clamp(2.3rem,5.2vw,4.1rem);font-weight:700}.sec-head :is(h1,h2) em{font-style:normal;color:var(--leaf-deep)}.section--night .sec-head :is(h1,h2) em{color:var(--mint)}.sec-head__aside{display:grid;gap:1rem;justify-items:start}@media(max-width:860px){.sec-head{grid-template-columns:1fr;align-items:start}}.btn{--btn-bg: transparent;--btn-ink: var(--ink);--btn-line: var(--ink);display:inline-flex;align-items:center;gap:.55rem;padding:.78rem 1.15rem;border:1px solid var(--btn-line);border-radius:999px;background:var(--btn-bg);color:var(--btn-ink);font-family:var(--font-body);font-size:.94rem;font-weight:600;letter-spacing:-.005em;text-decoration:none;cursor:pointer;transition:transform .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease}.btn:hover{transform:translateY(-2px)}.btn .arw{transition:transform .2s ease}.btn:hover .arw{transform:translate(3px)}.btn--solid{--btn-bg: var(--ink);--btn-ink: var(--paper);--btn-line: var(--ink)}.btn--leaf{--btn-bg: var(--leaf-deep);--btn-ink: #fff;--btn-line: var(--leaf-deep)}.btn--ghost-light{--btn-ink: var(--night-ink);--btn-line: rgba(244, 241, 227, .4)}.btn--sm{padding:.55rem .85rem;font-size:.85rem}.tlink{display:inline-flex;align-items:center;gap:.4rem;color:var(--leaf-deep);font-weight:600;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:1px;transition:gap .18s ease,color .18s ease}.tlink:hover{gap:.65rem;color:var(--ink)}.section--night .tlink{color:var(--mint)}.section--night .tlink:hover{color:#fff}.chip{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .6rem;border:1px solid var(--line-strong);border-radius:6px;background:var(--paper);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.05em;color:var(--ink-2);white-space:nowrap}.section--night .chip{border-color:var(--night-line);background:var(--night-2);color:var(--night-ink-2)}.chips{display:flex;flex-wrap:wrap;gap:.4rem}.dashed{border:1px dashed var(--line-strong);border-radius:var(--radius)}.pixlist{display:grid;gap:.55rem}.pixlist li{position:relative;padding-left:1.35rem;color:var(--ink-2);font-size:1rem;line-height:1.55}.pixlist li:before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;background:var(--leaf);box-shadow:2px 2px #7fb06947}.section--night .pixlist li{color:var(--night-ink-2)}.section--night .pixlist li:before{background:var(--mint);box-shadow:2px 2px #cde8b533}.tape{position:absolute;width:128px;height:30px;background:repeating-linear-gradient(-45deg,#ffd84d 0 7px,#ffeaa6 7px 14px);box-shadow:0 3px 8px #33322e29;opacity:.94;clip-path:polygon(2% 6%,100% 0,98% 94%,0 100%);pointer-events:none}.tape--mint{background:repeating-linear-gradient(-45deg,var(--mint) 0 7px,#edf6e2 7px 14px)}.dotfield{position:absolute;inset:0;background-image:radial-gradient(rgba(51,50,46,.14) 1px,transparent 1px);background-size:22px 22px;opacity:.5;mask-image:radial-gradient(ellipse 70% 60% at 70% 20%,#000 0%,transparent 72%);pointer-events:none}html.js [data-reveal]{opacity:0;transform:translateY(18px)}html.js [data-reveal=left]{transform:translate3d(-22px,0,0)}html.js [data-reveal=right]{transform:translate3d(22px,0,0)}html.js [data-reveal=scale]{transform:scale(.965) translateY(10px);transform-origin:50% 60%}html.js [data-reveal].is-in{opacity:1;transform:none;transition:opacity .6s ease,transform .75s cubic-bezier(.2,.75,.25,1);transition-delay:var(--r-delay, 0ms)}.sec-head__index:after{transform:scaleX(0);transform-origin:0 50%;transition:transform .8s cubic-bezier(.3,.8,.2,1) .1s}[data-reveal].is-in .sec-head__index:after,.is-in.sec-head__index:after{transform:scaleX(1)}.case,.gcase{transition:translate .3s cubic-bezier(.2,.7,.3,1)}@media(hover:hover){.case:hover,.gcase:hover{translate:0 -3px}}.tlink{background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:0 100%;background-size:0% 1px;border-bottom-color:transparent;transition:background-size .3s ease,color .2s ease}.tlink:hover{background-size:100% 1px}html[data-motion=calm]{scroll-behavior:auto}html[data-motion=calm] [data-reveal],html[data-motion=calm] [data-reveal=left],html[data-motion=calm] [data-reveal=right],html[data-motion=calm] [data-reveal=scale]{transform:none}html[data-motion=calm] [data-reveal].is-in{transform:none;transition:opacity .3s ease;transition-delay:0ms}html[data-motion=static] [data-reveal],html[data-motion=static] [data-reveal=left],html[data-motion=static] [data-reveal=right],html[data-motion=static] [data-reveal=scale]{opacity:1;transform:none;transition:none}html[data-motion=calm] .sec-head__index:after,html[data-motion=static] .sec-head__index:after{transform:scaleX(1);transition:none}html[data-motion=calm] .case,html[data-motion=calm] .gcase,html[data-motion=calm] .tlink,html[data-motion=static] .case,html[data-motion=static] .gcase,html[data-motion=static] .tlink{transition:none}html[data-motion=static] .case:hover,html[data-motion=static] .gcase:hover{translate:none}.nav.svelte-1jnx671{position:sticky;top:0;z-index:60;background:color-mix(in srgb,var(--paper) 82%,transparent);backdrop-filter:blur(10px) saturate(120%);border-bottom:1px solid transparent;transition:border-color .25s ease,background .25s ease;animation:svelte-1jnx671-navIn .5s cubic-bezier(.2,.8,.25,1) both}@keyframes svelte-1jnx671-navIn{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}.nav--scrolled.svelte-1jnx671{border-bottom-color:var(--line);background:color-mix(in srgb,var(--paper) 94%,transparent)}.nav__inner.svelte-1jnx671{width:min(var(--wrap),100% - (var(--gutter) * 2));margin-inline:auto;display:flex;align-items:center;gap:clamp(1rem,3vw,2.5rem);height:72px}.brand.svelte-1jnx671{display:flex;align-items:center;gap:.65rem;text-decoration:none;margin-right:auto}.brand__mark.svelte-1jnx671{width:46px;height:46px;display:block;object-fit:contain;flex:none;transition:transform .25s cubic-bezier(.2,.78,.25,1)}.brand.svelte-1jnx671:hover .brand__mark:where(.svelte-1jnx671){transform:rotate(-7deg) scale(1.06)}.brand__text.svelte-1jnx671{display:grid;gap:.1rem;line-height:1.1}.brand__name.svelte-1jnx671{font-family:var(--font-display);font-weight:700;font-size:.98rem;letter-spacing:-.02em}.nav__links.svelte-1jnx671{display:flex;align-items:center;gap:.35rem}.nav__link.svelte-1jnx671{position:relative;padding:.4rem .6rem;font-size:.88rem;font-weight:500;color:var(--ink-2);text-decoration:none;border-radius:6px;transition:color .18s ease,background .18s ease}.nav__link.svelte-1jnx671:hover{color:var(--ink);background:var(--paper-2)}.nav__link.is-active.svelte-1jnx671{color:var(--ink);font-weight:600}.nav__link.svelte-1jnx671:after{content:"";position:absolute;left:.6rem;right:.6rem;bottom:.1rem;height:3px;background:var(--leaf);border-radius:1px;transform:scaleX(0);transform-origin:0 50%;transition:transform .28s cubic-bezier(.3,.8,.2,1)}.nav__link.is-active.svelte-1jnx671:after{transform:scaleX(1)}.nav__end.svelte-1jnx671{display:flex;align-items:center;gap:.6rem}.nav__progress.svelte-1jnx671{position:absolute;left:0;bottom:-1px;width:100%;height:2px;transform-origin:0 50%;background:linear-gradient(90deg,var(--leaf-deep),var(--star));transition:transform .1s linear}.toggle.svelte-1jnx671{display:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;padding:0 9px;background:transparent;border:1px solid var(--line-strong);border-radius:8px;cursor:pointer}.toggle__bar.svelte-1jnx671{display:block;height:2px;width:100%;background:var(--ink);transition:transform .25s ease,opacity .2s ease}.toggle[aria-expanded=true].svelte-1jnx671 .toggle__bar:where(.svelte-1jnx671):first-child{transform:translateY(3.5px) rotate(45deg)}.toggle[aria-expanded=true].svelte-1jnx671 .toggle__bar:where(.svelte-1jnx671):last-child{transform:translateY(-3.5px) rotate(-45deg)}.sheet.svelte-1jnx671{position:fixed;inset:72px 0 0;z-index:55;display:none;flex-direction:column;justify-content:space-between;padding:2rem var(--gutter) 2.5rem;background:var(--paper);overflow-y:auto}.sheet.is-open.svelte-1jnx671{display:flex;animation:svelte-1jnx671-sheetIn .3s cubic-bezier(.2,.8,.25,1)}@keyframes svelte-1jnx671-sheetIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}.sheet.is-open.svelte-1jnx671 .sheet__nav:where(.svelte-1jnx671) a:where(.svelte-1jnx671){animation:svelte-1jnx671-sheetRow .4s cubic-bezier(.2,.8,.25,1) both;animation-delay:calc(var(--i, 0) * 45ms + 60ms)}@keyframes svelte-1jnx671-sheetRow{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:none}}.sheet__nav.svelte-1jnx671{display:grid;gap:.15rem}.sheet__nav.svelte-1jnx671 a:where(.svelte-1jnx671){display:flex;align-items:baseline;gap:.9rem;padding:.75rem 0;border-bottom:1px solid var(--line);font-family:var(--font-display);font-size:1.9rem;font-weight:700;letter-spacing:-.03em;text-decoration:none}.sheet__nav.svelte-1jnx671 .mono:where(.svelte-1jnx671){font-size:.66rem;color:var(--leaf-deep)}.sheet__foot.svelte-1jnx671{display:grid;gap:1.1rem;padding-top:1.8rem;border-top:1px solid var(--line)}.sheet__mail.svelte-1jnx671{font-size:.95rem}.sheet__socials.svelte-1jnx671{display:flex;align-items:center;gap:1.1rem;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase}.sheet__socials.svelte-1jnx671 a:where(.svelte-1jnx671){color:var(--ink-3);text-decoration:none;padding-bottom:2px;border-bottom:1px solid transparent;transition:color .2s ease,border-color .2s ease}.sheet__socials.svelte-1jnx671 a:where(.svelte-1jnx671):hover{color:var(--ink);border-bottom-color:var(--leaf)}@keyframes svelte-1jnx671-navFade{0%{opacity:0}to{opacity:1}}@media(max-width:980px){.nav__links.svelte-1jnx671{display:none}.toggle.svelte-1jnx671{display:flex}}@media(max-width:520px){.brand__text.svelte-1jnx671{display:none}}.foot[data-astro-cid-sz7xmlte]{background:#151a12;color:var(--night-ink);border-top:1px solid var(--night-line);padding-block:1.6rem}.foot__inner[data-astro-cid-sz7xmlte]{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;justify-content:space-between}.foot__brand[data-astro-cid-sz7xmlte]{display:flex;align-items:center;gap:.6rem}.foot__mark[data-astro-cid-sz7xmlte]{width:46px;height:46px;display:block;object-fit:contain;flex:none}.foot__name[data-astro-cid-sz7xmlte]{font-family:var(--font-display);font-weight:600;font-size:.92rem;letter-spacing:-.01em}.foot__role[data-astro-cid-sz7xmlte]{font-size:.64rem;letter-spacing:.1em;color:var(--night-ink-2)}.foot__build[data-astro-cid-sz7xmlte]{font-size:.64rem;letter-spacing:.1em;color:var(--night-ink-2);text-transform:none}.foot__end[data-astro-cid-sz7xmlte]{display:flex;align-items:center;gap:1rem}.foot__end[data-astro-cid-sz7xmlte] .mono[data-astro-cid-sz7xmlte]{font-size:.66rem;color:var(--night-ink-2)}.foot__top[data-astro-cid-sz7xmlte]{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;color:var(--night-ink);text-decoration:none;border-bottom:1px solid var(--night-line);padding-bottom:1px}.foot__top[data-astro-cid-sz7xmlte]:hover{color:var(--mint);border-color:var(--mint)}@media(max-width:620px){.foot__inner[data-astro-cid-sz7xmlte]{justify-content:flex-start}.foot__build[data-astro-cid-sz7xmlte]{order:3;width:100%}}.skip[data-astro-cid-5hce7sga]{position:fixed;top:0;left:50%;translate:-50% -120%;z-index:200;padding:.6rem 1rem;background:var(--ink);color:var(--paper);border-radius:0 0 10px 10px;font-size:.85rem;text-decoration:none}.skip[data-astro-cid-5hce7sga]:focus-visible{translate:-50% 0}
