/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer theme{:root,:host{--font-sans:"Overpass Variable", sans-serif;--font-mono:"IBM Plex Mono", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--text-step--1:clamp(.8rem, .77rem + .13vw, .88rem);--text-step-0:clamp(1rem, .95rem + .22vw, 1.13rem);--text-step-2:clamp(1.56rem, 1.43rem + .57vw, 1.89rem);--text-step-3:clamp(1.95rem, 1.76rem + .86vw, 2.46rem);--text-step-4:clamp(2.44rem, 2.16rem + 1.29vw, 3.2rem);--text-step-5:clamp(3.05rem, 2.64rem + 1.91vw, 4.16rem)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.static{position:static}.block{display:block}.contents{display:contents}.hidden{display:none}}@font-face{font-family:Overpass Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/portofolio/_astro/overpass-cyrillic-ext-wght-normal.B1PfurAb.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Overpass Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/portofolio/_astro/overpass-cyrillic-wght-normal.Bb0oHPsy.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Overpass Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/portofolio/_astro/overpass-vietnamese-wght-normal.BfgOsjc9.woff2)format("woff2-variations");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:Overpass Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/portofolio/_astro/overpass-latin-ext-wght-normal.DvafStyF.woff2)format("woff2-variations");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Overpass Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/portofolio/_astro/overpass-latin-wght-normal.qAR8M_co.woff2)format("woff2-variations");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/portofolio/_astro/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2)format("woff2"),url(/portofolio/_astro/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/portofolio/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2)format("woff2"),url(/portofolio/_astro/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/portofolio/_astro/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2)format("woff2"),url(/portofolio/_astro/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/portofolio/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2)format("woff2"),url(/portofolio/_astro/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.woff)format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/portofolio/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/portofolio/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff");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}:root{color-scheme:light;--rail-width:3rem;--paper:#e9e5db;--ink:#171c24;--survey:#0b4f9e;--werk:#f2b705;--rust:#a93e1f;--graphite:#6b6f76;--secondary-ink:var(--graphite)}@supports (color:color-mix(in lab,red,red)){:root{--secondary-ink:color-mix(in srgb, var(--graphite) 55%, var(--ink))}}:root{--grid-line:var(--graphite)}@supports (color:color-mix(in lab,red,red)){:root{--grid-line:color-mix(in srgb, var(--graphite) 16%, transparent)}}:root{--grid-major:var(--graphite)}@supports (color:color-mix(in lab,red,red)){:root{--grid-major:color-mix(in srgb, var(--graphite) 30%, transparent)}}:root{--focus-ring:var(--survey)}:root[data-theme=night]{color-scheme:dark;--paper:#12161c;--ink:#e9e5db;--survey:#75abe8;--werk:#f2b705;--rust:#e47455;--graphite:#a8abb1;--secondary-ink:var(--graphite);--grid-line:var(--graphite)}@supports (color:color-mix(in lab,red,red)){:root[data-theme=night]{--grid-line:color-mix(in srgb, var(--graphite) 12%, transparent)}}:root[data-theme=night]{--grid-major:var(--graphite)}@supports (color:color-mix(in lab,red,red)){:root[data-theme=night]{--grid-major:color-mix(in srgb, var(--graphite) 25%, transparent)}}:root[data-theme=night]{--focus-ring:var(--werk)}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-synthesis:none;text-rendering:optimizelegibility;scroll-padding-top:5rem;font-family:Overpass Variable,sans-serif}body{background-color:var(--paper);background-image:linear-gradient(var(--grid-major) 1px,transparent 1px),linear-gradient(90deg,var(--grid-major) 1px,transparent 1px),linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-position:var(--rail-width) 0;min-width:20rem;min-height:100vh;font-size:var(--text-step-0);background-size:8rem 8rem,8rem 8rem,2rem 2rem,2rem 2rem;margin:0;line-height:1.6}button,a,input,textarea,select{font:inherit}a,button{color:inherit}:focus-visible{outline:.2rem solid var(--focus-ring);outline-offset:.2rem}::selection{background:var(--werk);color:#171c24}.skip-link{z-index:20;background:var(--ink);color:var(--paper);padding:.5rem .75rem;position:fixed;inset:.75rem auto auto .75rem;transform:translateY(-200%)}.skip-link:focus{transform:none}.section-rail{z-index:10;width:var(--rail-width);border-right:1px solid var(--graphite);background:var(--paper);position:fixed;inset:0 auto 0 0}@supports (color:color-mix(in lab,red,red)){.section-rail{background:color-mix(in srgb,var(--paper) 94%,transparent)}}.section-rail nav,.section-rail ol{height:100%}.section-rail ol{grid-template-rows:repeat(7,1fr);margin:0;padding:0;list-style:none;display:grid}.section-rail li{border-bottom:1px solid var(--grid-major);min-height:0}.section-rail a{align-content:center;justify-items:center;height:100%;min-height:3rem;text-decoration:none;display:grid}.rail-mark{color:var(--secondary-ink);writing-mode:vertical-rl;font-family:IBM Plex Mono,monospace;font-size:.62rem}.rail-label{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.section-rail a[aria-current=location]{background:var(--werk);color:#171c24}.section-rail a[aria-current=location] .rail-mark{color:#171c24}.drawing-sheet{margin-left:var(--rail-width);padding-bottom:8rem}.sheet-section{border-bottom:1px solid var(--graphite);min-height:72vh;padding:clamp(2rem,6vw,6rem) clamp(1.25rem,6vw,7rem);position:relative}.hero-shell{text-align:center;place-items:start center;min-height:100svh;padding-top:6rem;padding-bottom:8rem;display:grid;overflow:hidden}.hero-shell__reference{color:var(--secondary-ink);font-size:var(--text-step--1);justify-content:space-between;display:flex;position:absolute;inset:1.25rem 1.25rem auto}.hero-shell__title{z-index:1;max-width:58rem;position:relative}.coordinate{color:var(--survey);font-family:IBM Plex Mono,monospace;font-size:var(--text-step--1);margin:0 0 1rem}.hero-shell h1{font-size:var(--text-step-5);letter-spacing:-.045em;margin:0;font-weight:800;line-height:.95}.hero-headline{max-width:30ch;font-size:var(--text-step-3);margin:1.25rem auto 0;font-weight:700;line-height:1.05}.hero-introduction{max-width:48ch;color:var(--secondary-ink);margin:1.5rem auto 0}.hero-figure{width:min(100%,58rem);margin:3rem 0 0}.hero-diagram{width:100%;height:auto}.hero-diagram text{fill:currentColor;font-family:IBM Plex Mono,monospace;font-size:11px}.hero-label--road{fill:var(--ink)}.hero-label--network{fill:var(--survey)}.hero-caption{color:var(--secondary-ink);font-size:var(--text-step--1);margin:.75rem 0 0}.hero-control{max-width:28rem;margin:2rem auto 0}.hero-control__label{font-family:IBM Plex Mono,monospace;font-size:var(--text-step--1);margin-bottom:.75rem;font-weight:600;display:block}.hero-control__track{grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;display:grid}.hero-control__end{font-family:IBM Plex Mono,monospace;font-size:var(--text-step--1)}.hero-control__input{width:100%;height:1.75rem;accent-color:var(--survey);cursor:pointer}.hero-control__hint{max-width:44ch;color:var(--secondary-ink);font-size:var(--text-step--1);margin:.75rem auto 0}.hero-control--static{border:1px dashed var(--graphite);padding:1rem}.hero-aside{margin-top:2rem}.hero-aside dl{text-align:left;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 2rem;max-width:42rem;margin:0 auto;display:grid}.hero-aside dt{font-family:IBM Plex Mono,monospace;font-weight:600}.hero-aside dd{color:var(--secondary-ink);margin:0}.section-stub{grid-template-columns:minmax(3rem,.25fr) minmax(0,1fr) auto;align-items:start;gap:clamp(1rem,4vw,4rem);display:grid}.section-stub__number{color:var(--survey);font-family:IBM Plex Mono,monospace;font-size:var(--text-step-2)}.section-stub h2{max-width:14ch;font-size:var(--text-step-4);letter-spacing:-.035em;margin:0;font-weight:800;line-height:1}.section-stub p{max-width:48ch;color:var(--secondary-ink);margin:1rem 0 0}.section-stub__status{border:1px solid var(--graphite);color:var(--secondary-ink);font-size:var(--text-step--1);padding:.25rem .5rem}.title-block{z-index:8;width:min(31rem,calc(100% - var(--rail-width)));border:1px solid var(--ink);background:var(--paper);font-size:var(--text-step--1);border-bottom:0;border-right:0;grid-template-columns:1.5fr 1fr;display:grid;position:fixed;bottom:0;right:0}.title-block__identity{align-content:center;padding:.7rem .85rem;display:grid}.title-block__identity strong{font-size:var(--text-step-0);line-height:1.2}.title-block__identity span{color:var(--secondary-ink)}.title-block dl{border-left:1px solid var(--ink);grid-template-columns:1fr 1fr;margin:0;display:grid}.title-block dl div{padding:.35rem .5rem}.title-block dl div+div{border-left:1px solid var(--ink)}.title-block dt{color:var(--secondary-ink)}.title-block dd{white-space:nowrap;margin:0;font-family:IBM Plex Mono,monospace}.theme-toggle{z-index:12;border:1px solid var(--ink);border-top:.25rem solid var(--werk);background:var(--paper);cursor:pointer;border-radius:0;justify-content:center;align-items:center;gap:.6rem;min-width:8.5rem;min-height:3rem;padding:.4rem .8rem;display:flex;position:fixed;top:1rem;right:1rem}.theme-toggle svg{fill:none;stroke:currentColor;stroke-linecap:square;stroke-width:1.7px;width:1.2rem}.theme-toggle__night,[data-theme=night] .theme-toggle__day{display:none}[data-theme=night] .theme-toggle__night{display:block}@media(min-width:64rem){:root{--rail-width:7.5rem}.section-rail a{grid-template-columns:2.1rem minmax(0,1fr);justify-items:start;gap:.35rem;padding:.75rem .65rem}.rail-mark{writing-mode:initial;align-self:center;font-size:.7rem}.rail-label{clip-path:none;align-self:center;width:auto;height:auto;font-size:.8rem;font-weight:650;line-height:1.15;position:static;overflow:visible}.hero-shell h1{font-size:clamp(4rem,7vw,6.75rem)}.title-block{width:min(37rem,calc(100% - var(--rail-width)))}.title-block__identity{padding:.85rem 1rem}}@media(max-width:47.99rem){html{scroll-padding-top:4rem}body{background-position:0 3.5rem}.section-rail{border-right:0;border-bottom:1px solid var(--graphite);width:100%;height:3.5rem;inset:0 0 auto}.section-rail ol{grid-template-rows:1fr;grid-template-columns:repeat(7,1fr)}.section-rail li{border-right:1px solid var(--grid-major);border-bottom:0}.rail-mark{writing-mode:initial}.drawing-sheet{margin-left:0;padding-top:3.5rem}.sheet-section{min-height:65vh;padding:4rem 1.25rem}.hero-shell{min-height:calc(100svh - 3.5rem)}.hero-shell__reference{top:4.25rem}.section-stub{grid-template-columns:3rem 1fr}.section-stub__status{grid-column:2;justify-self:start}.title-block{border-left:0;grid-template-columns:1fr 1fr;width:100%}.title-block__identity span,.title-block dl div:last-child{display:none}.title-block dl{grid-template-columns:1fr}.theme-toggle{min-width:3rem;padding-inline:.75rem;top:4.25rem}.theme-toggle span{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
