@font-face{font-family:Archivo;src:url(../fonts/archivo-display.woff2)format("woff2");font-display:optional;font-weight:700 900}@font-face{font-family:Archivo Fallback\: Arial Narrow;src:local(Arial Narrow),local(Arial Narrow Regular),local(ArialNarrow-Regular);size-adjust:100%;ascent-override:87.8%;descent-override:21%;line-gap-override:0%}@font-face{font-family:Archivo Fallback\: Segoe UI;src:local(Segoe UI),local(Segoe UI Regular),local(SegoeUI-Regular),local(SegoeUI);size-adjust:99.2423%;ascent-override:88.4703%;descent-override:21.1603%;line-gap-override:0%}@font-face{font-family:Archivo Fallback\: Helvetica Neue;src:local(Helvetica Neue),local(Helvetica Neue Regular),local(HelveticaNeue-Regular),local(HelveticaNeue);size-adjust:97.7778%;ascent-override:89.7955%;descent-override:21.4773%;line-gap-override:0%}@font-face{font-family:Archivo Fallback\: Arial;src:local(Arial),local(Arial Regular),local(Arial-Regular),local(ArialMT);size-adjust:98.6988%;ascent-override:88.9575%;descent-override:21.2769%;line-gap-override:0%}@font-face{font-family:Archivo Fallback\: Noto Sans;src:local(Noto Sans),local(Noto Sans Regular),local(NotoSans-Regular);size-adjust:92.827%;ascent-override:94.5845%;descent-override:22.6227%;line-gap-override:0%}@font-face{font-family:Archivo Fallback\: Liberation Sans;src:local(Liberation Sans),local(Liberation Sans Regular),local(LiberationSans-Regular);size-adjust:98.6988%;ascent-override:88.9575%;descent-override:21.2769%;line-gap-override:0%}@font-face{font-family:Atkinson Hyperlegible Mono;src:url(../fonts/atkinson-mono.woff2)format("woff2");font-display:swap;font-weight:400 700}@font-face{font-family:Atkinson Hyperlegible Mono Fallback\: Cascadia Mono;src:local(Cascadia Mono),local(Cascadia Mono Regular),local(CascadiaMono-Regular);size-adjust:107.861%;ascent-override:91.2282%;descent-override:29.2969%;line-gap-override:0%}@font-face{font-family:Atkinson Hyperlegible Mono Fallback\: Courier New;src:local(Courier New),local(Courier New Regular),local(CourierNew-Regular),local(CourierNewPSMT);size-adjust:105.316%;ascent-override:93.4329%;descent-override:30.0049%;line-gap-override:0%}@font-face{font-family:Atkinson Hyperlegible Mono Fallback\: Roboto Mono;src:local(Roboto Mono),local(Roboto Mono Regular),local(RobotoMono-Regular);size-adjust:105.316%;ascent-override:93.4329%;descent-override:30.0049%;line-gap-override:0%}@font-face{font-family:Atkinson Hyperlegible Mono Fallback\: Noto Sans Mono;src:local(Noto Sans Mono),local(Noto Sans Mono Regular),local(NotoSansMono-Regular);size-adjust:105.333%;ascent-override:93.4177%;descent-override:30%;line-gap-override:0%}@font-face{font-family:Atkinson Hyperlegible Mono Fallback\: Liberation Mono;src:local(Liberation Mono),local(Liberation Mono Regular),local(LiberationMono-Regular);size-adjust:105.316%;ascent-override:93.4329%;descent-override:30.0049%;line-gap-override:0%}@font-face{font-family:Atkinson Hyperlegible Next;src:url(../fonts/atkinson-next.woff2)format("woff2");font-display:optional;font-weight:400 800}@font-face{font-family:Atkinson Hyperlegible Next Fallback\: Segoe UI;src:local(Segoe UI),local(Segoe UI Regular),local(SegoeUI-Regular),local(SegoeUI);size-adjust:100.145%;ascent-override:98.258%;descent-override:31.5544%;line-gap-override:0%}@font-face{font-family:Atkinson Hyperlegible Next Fallback\: Helvetica Neue;src:local(Helvetica Neue),local(Helvetica Neue Regular),local(HelveticaNeue-Regular),local(HelveticaNeue);size-adjust:98.6667%;ascent-override:99.7297%;descent-override:32.027%;line-gap-override:0%}@font-face{font-family:Atkinson Hyperlegible Next Fallback\: Arial;src:local(Arial),local(Arial Regular),local(Arial-Regular),local(ArialMT);size-adjust:99.5961%;ascent-override:98.7991%;descent-override:31.7282%;line-gap-override:0%}@font-face{font-family:Atkinson Hyperlegible Next Fallback\: Noto Sans;src:local(Noto Sans),local(Noto Sans Regular),local(NotoSans-Regular);size-adjust:93.6709%;ascent-override:105.049%;descent-override:33.7351%;line-gap-override:0%}@font-face{font-family:Atkinson Hyperlegible Next Fallback\: Liberation Sans;src:local(Liberation Sans),local(Liberation Sans Regular),local(LiberationSans-Regular);size-adjust:99.5961%;ascent-override:98.7991%;descent-override:31.7282%;line-gap-override:0%}:root{--blueprint:#1d4ed8;--blueprint-deep:#1a3fb0;--navy:#0b2b57;--navy-deep:#071f40;--navy-soft:#163c70;--blue:#2563eb;--blue-ink:#1d4ed8;--sky:#60a5fa;--orange:#f97316;--orange-hover:#fb923c;--orange-ink:#c2410c;--peach:#fdba74;--peach-soft:#fff1e3;--light:#e6eeff;--ink:#0e1b33;--ink-2:#33435f;--ink-3:#56657e;--on-navy:#fff;--on-navy-2:#c3d2ea;--on-navy-3:#8fa6c8;--paper:#fff;--field:#f3f6fb;--field-blue:#eaf0fd;--rule:#dce3ee;--rule-strong:#b7c3d5;--rule-on-navy:#c3d2ea38;--line-on-blue:#ffffffeb;--line-on-blue-soft:#ffffff6b;--rule-on-blue:#ffffff47;--on-blue:#fff;--on-blue-2:#dce6ff;--selection:#ffd8b8;--scrim:#071f4099;--code-ink:#e6edf7;--code-ink-2:#d7e3fa;--syntax-string:#9cc4ff;--syntax-number:#ffc48c;--success:#15803d;--success-field:#e9f6ee;--success-rule:#9ed5b0;--danger:#b91c1c;--danger-field:#fdeded;--danger-rule:#f2b1b1;--warning:#a1580a;--warning-field:#fff5e5;--focus:var(--blue);--focus-ring:0 0 0 3px #2563eb2e;--font-display:"Archivo", "Archivo Fallback: Arial Narrow", "Archivo Fallback: Segoe UI", "Archivo Fallback: Helvetica Neue", "Archivo Fallback: Arial", "Archivo Fallback: Noto Sans", "Archivo Fallback: Liberation Sans", "Arial Narrow", system-ui, sans-serif;--font-body:"Atkinson Hyperlegible Next", "Atkinson Hyperlegible Next Fallback: Segoe UI", "Atkinson Hyperlegible Next Fallback: Helvetica Neue", "Atkinson Hyperlegible Next Fallback: Arial", "Atkinson Hyperlegible Next Fallback: Noto Sans", "Atkinson Hyperlegible Next Fallback: Liberation Sans", "Segoe UI", system-ui, sans-serif;--font-read:var(--font-body);--font-mono:"Atkinson Hyperlegible Mono", "Atkinson Hyperlegible Mono Fallback: Cascadia Mono", "Atkinson Hyperlegible Mono Fallback: Courier New", "Atkinson Hyperlegible Mono Fallback: Roboto Mono", "Atkinson Hyperlegible Mono Fallback: Noto Sans Mono", "Atkinson Hyperlegible Mono Fallback: Liberation Mono", ui-monospace, "Cascadia Mono", monospace;--display-stretch:112%;--fs-xs:.8125rem;--fs-sm:.875rem;--fs-base:1rem;--fs-md:1.0625rem;--fs-lg:1.25rem;--fs-subtitle:1.5rem;--fs-sheet-no:1.75rem;--fs-xl:calc(clamp(1.375rem, 1.2rem + .6vw, 1.625rem));--fs-2xl:calc(clamp(1.75rem, 1.4rem + 1.3vw, 2.25rem));--fs-3xl:calc(clamp(2.125rem, 1.5rem + 2.4vw, 3.125rem));--fs-display:calc(clamp(2.25rem, 1.35rem + 2.9vw, 3.75rem));--fs-numeral:calc(clamp(4rem, 3rem + 4vw, 6rem));--fs-status:calc(clamp(5.5rem, 3rem + 11vw, 11rem));--lh-tight:1.08;--lh-heading:1.25;--lh-ui:1.5;--lh-read:1.7;--s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1rem;--s-5:1.25rem;--s-6:1.5rem;--s-8:2rem;--s-10:2.5rem;--s-12:3rem;--s-16:4rem;--s-20:5rem;--s-24:6rem;--radius-xs:2px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-full:9999px;--shadow-1:0 1px 2px #0b2b570f;--shadow-2:0 12px 32px -12px #0b2b5747;--container-max:88rem;--container-pad:calc(clamp(1rem, 3vw, 2.5rem));--measure:40rem;--nav-h:4rem;--ease-out:cubic-bezier(.22, 1, .36, 1);--transition:.18s var(--ease-out)}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + var(--s-4));-webkit-text-size-adjust:100%;scrollbar-color:var(--rule-strong) transparent}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--fs-base);line-height:var(--lh-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;caret-color:var(--orange);margin:0;overflow-x:hidden}a{color:inherit;transition:color var(--transition),background-color var(--transition),border-color var(--transition);text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}img,svg{max-width:100%;display:block}::selection{background:var(--selection);color:var(--ink)}:focus{outline:none}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius-xs)}.skip-link{top:var(--s-2);left:var(--s-2);z-index:100;padding:var(--s-3) var(--s-4);background:var(--navy);color:var(--on-navy);border-radius:var(--radius-sm);font-weight:600;font-size:var(--fs-sm);transition:transform var(--transition);position:absolute;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.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}h1,h2,h3,h4{font-family:var(--font-display);font-stretch:var(--display-stretch);font-weight:800;line-height:var(--lh-heading);letter-spacing:-.015em;color:var(--ink);text-wrap:balance;margin:0}p{text-wrap:pretty;margin:0}.lede{font-family:var(--font-body);font-size:var(--fs-lg);color:var(--ink-2);line-height:1.55}.meta{font-size:var(--fs-sm);color:var(--ink-3);font-variant-numeric:tabular-nums}.link{color:var(--blue-ink);text-underline-offset:.2em;text-decoration:underline;text-decoration-thickness:1px}.link:hover{text-decoration-thickness:2px}.more-link{align-items:center;gap:var(--s-1);font-weight:600;font-size:var(--fs-sm);color:var(--blue-ink);white-space:nowrap;display:inline-flex}.more-link svg{transition:transform var(--transition)}.more-link:hover svg{transform:translate(3px)}.swatch{border-radius:var(--radius-xs);background:var(--swatch,var(--ink-3));flex:none;width:.5rem;height:.5rem;display:inline-block}.container{width:100%;max-width:var(--container-max);padding-right:var(--container-pad);padding-left:var(--container-pad);margin:0 auto}.section{padding-top:var(--s-20);padding-bottom:var(--s-20);position:relative}@media (width<=48em){.section{padding-top:var(--s-12);padding-bottom:var(--s-12)}}.section-head{justify-content:space-between;align-items:baseline;gap:var(--s-4);padding-bottom:var(--s-4);margin-bottom:var(--s-2);border-bottom:2px solid var(--ink);display:flex}.section-head h2{font-size:var(--fs-2xl)}.on-navy{--focus:var(--sky);background:var(--navy)}.on-navy,.on-navy h1,.on-navy h2,.on-navy h3{color:var(--on-navy)}.on-blue{--focus:var(--on-blue);background:var(--blueprint)}.on-blue,.on-blue h1,.on-blue h2,.on-blue h3{color:var(--on-blue)}.on-blue .btn-outline{border-color:var(--line-on-blue-soft);color:var(--on-blue);background:0 0}.on-blue .btn-outline:not(:disabled):hover{border-color:var(--on-blue);background:var(--blueprint-deep)}.sheet-head{align-items:end;gap:var(--s-2) var(--s-5);padding-bottom:var(--s-4);margin-bottom:var(--s-8);border-bottom:2px solid;grid-template-columns:auto minmax(0,1fr) auto;display:grid}.sheet-head__no{min-width:3.25rem;height:3.25rem;padding:0 var(--s-2);background:var(--blueprint);color:var(--on-blue);font-family:var(--font-display);font-stretch:var(--display-stretch);font-size:var(--fs-sheet-no);place-items:center;font-weight:800;line-height:1;display:grid}.on-blue .sheet-head__no{background:var(--on-blue);color:var(--blueprint)}.sheet-head h2{font-size:var(--fs-3xl);letter-spacing:-.02em;line-height:1}.sheet-head__meta{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.04em;text-align:right;color:var(--ink-3)}.on-blue .sheet-head__meta{color:var(--on-blue-2)}.sheet-intro{max-width:40rem;margin:calc(var(--s-4) * -1) 0 var(--s-8);font-size:var(--fs-md);color:var(--ink-2)}@media (width<=62.5em){.sheet-head h2{line-height:var(--lh-heading)}}@media (width<=40em){:root{--container-pad:1rem}.sheet-head{grid-template-columns:auto minmax(0,1fr)}.sheet-head__meta{text-align:left;grid-column:1/-1}}.ref-no{border-radius:var(--radius-full);width:1.75rem;height:1.75rem;font-family:var(--font-mono);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;border:1.5px solid;flex:none;place-items:center;font-weight:700;line-height:1;display:inline-grid}.is-lit .ref-no,.ref-no.is-lit{background:var(--orange);border-color:var(--orange);color:var(--navy)}.fig-caption{justify-content:space-between;gap:var(--s-1) var(--s-4);margin-top:var(--s-3);padding-top:var(--s-2);font-size:var(--fs-sm);border-top:1px solid;flex-wrap:wrap;display:flex}.fig-caption strong{font-family:var(--font-mono);letter-spacing:.02em;font-weight:700}.btn{justify-content:center;align-items:center;gap:var(--s-2);min-height:2.75rem;padding:var(--s-2) var(--s-5);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--fs-base);white-space:nowrap;cursor:pointer;transition:background-color var(--transition),border-color var(--transition),color var(--transition);border:1px solid #0000;font-weight:700;line-height:1;display:inline-flex}.btn>svg{flex-shrink:0}.btn:disabled,.btn[aria-disabled=true]{background:var(--field);border-color:var(--rule);color:var(--ink-3);cursor:not-allowed}.btn-ghost:disabled{background:0 0;border-color:#0000}.btn-sm{min-height:2.25rem;padding:var(--s-2) var(--s-3);font-size:var(--fs-sm)}.btn-lg{min-height:3.125rem;padding:var(--s-3) var(--s-6);font-size:var(--fs-md)}.btn-coral,.btn-primary{background:var(--orange);color:var(--navy)}.btn-coral:not(:disabled):hover,.btn-primary:not(:disabled):hover{background:var(--orange-hover)}.btn-ink{background:var(--navy);color:var(--on-navy)}.btn-ink:not(:disabled):hover{background:var(--navy-soft)}.btn-outline{background:var(--paper);border-color:var(--rule-strong);color:var(--ink)}.btn-outline:not(:disabled):hover{border-color:var(--navy);background:var(--field)}.on-navy .btn-outline{border-color:var(--rule-on-navy);color:var(--on-navy);background:0 0}.on-navy .btn-outline:not(:disabled):hover{border-color:var(--on-navy-2);background:var(--navy-soft)}.btn-ghost{color:var(--ink-2);background:0 0}.btn-ghost:not(:disabled):hover{color:var(--ink);background:var(--field)}.field-control{height:2.75rem;padding:0 var(--s-3);border:1px solid var(--rule-strong);border-radius:var(--radius-sm);background:var(--paper);font-size:var(--fs-base);color:var(--ink);transition:border-color var(--transition),box-shadow var(--transition)}.field-control:hover{border-color:var(--ink-3)}.field-control:focus{border-color:var(--blue);box-shadow:var(--focus-ring);outline:none}.on-blue .field-control:focus-visible{border-color:var(--on-blue);box-shadow:0 0 0 2px var(--on-blue)}select.field-control{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2333435F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-position:right .75rem center;background-repeat:no-repeat;padding-right:2.25rem}.field-control::placeholder{color:var(--ink-3)}.toggle{align-items:center;gap:var(--s-2);min-height:2.5rem;padding:0 var(--s-3);border:1px solid var(--rule-strong);border-radius:var(--radius-sm);background:var(--paper);font-size:var(--fs-sm);color:var(--ink-2);white-space:nowrap;font-weight:600;display:inline-flex}.toggle:hover{border-color:var(--navy);color:var(--ink)}.toggle.is-active,.toggle[aria-current=page],.toggle[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:var(--on-navy)}.state-note{padding:var(--s-12) 0;color:var(--ink-3);text-align:center}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.prose{font-family:var(--font-read);font-size:1.125rem;line-height:var(--lh-read);color:var(--ink);overflow-wrap:break-word;font-optical-sizing:auto}.prose>:first-child{margin-top:0}.prose>:last-child{margin-bottom:0}.prose blockquote,.prose ol,.prose p,.prose pre,.prose table,.prose ul{margin:0 0 1em}.prose h1,.prose h2,.prose h3,.prose h4{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink);margin:2em 0 .6em;line-height:1.3}.prose h1{font-size:var(--fs-2xl)}.prose h2{font-size:var(--fs-xl)}.prose h3{font-size:var(--fs-lg)}.prose h4{font-size:var(--fs-md)}.content-blocks>.prose h2{counter-increment:bagian;padding-top:var(--s-4);border-top:2px solid var(--ink);margin-top:1.6em}.content-blocks>.prose h2:before{content:counter(bagian);border:1.5px solid var(--orange);border-radius:var(--radius-full);width:1.75rem;height:1.75rem;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:0;color:var(--orange-ink);vertical-align:.2em;place-items:center;margin-right:.6em;font-weight:700;font-stretch:100%;line-height:1;display:inline-grid}.prose strong{font-weight:700}.prose ol,.prose ul{padding-left:1.35em}.prose ul{list-style:square}.prose ol{list-style:decimal}.prose li+li{margin-top:.35em}.prose li::marker{color:var(--blueprint)}.prose ol>li::marker{font-family:var(--font-mono);color:var(--orange-ink);font-size:.85em;font-weight:700}.prose a{color:var(--blue-ink);text-underline-offset:.2em;text-decoration:underline;text-decoration-thickness:1px}.prose a:hover{text-decoration-thickness:2px}.prose blockquote{border-left:1px solid var(--rule-strong);color:var(--ink-2);margin-left:0;padding:0 0 0 1.25em;font-style:italic}.prose img{max-width:100%;height:auto}.prose .md-video,.prose img{border-radius:var(--radius-xs)}.prose .md-video{aspect-ratio:16/9;width:100%;margin:var(--s-2) 0;background:var(--navy-deep);color:var(--on-navy);text-decoration:none;display:block;position:relative;overflow:hidden}.prose video.md-video{aspect-ratio:auto;height:auto;max-height:75vh}.prose .md-video iframe,.prose .md-video img{-o-object-fit:cover;object-fit:cover;border:0;border-radius:0;width:100%;height:100%;position:absolute;inset:0}.prose .md-video__play{left:var(--s-4);bottom:var(--s-4);align-items:center;gap:var(--s-3);min-height:2.75rem;padding:0 var(--s-4) 0 var(--s-1);border-radius:var(--radius-sm);background:var(--navy);color:var(--on-navy);font-family:var(--font-body);font-size:var(--fs-sm);transition:background-color var(--transition),color var(--transition);font-style:normal;font-weight:700;display:inline-flex;position:absolute}.prose .md-video__icon{border-radius:var(--radius-full);background:var(--orange);width:2.25rem;height:2.25rem;color:var(--navy);place-items:center;display:grid}.prose a.md-video:focus-visible .md-video__play,.prose a.md-video:hover .md-video__play{background:var(--orange);color:var(--navy)}.prose a.md-video:focus-visible .md-video__icon,.prose a.md-video:hover .md-video__icon{background:var(--navy);color:var(--orange)}.prose :not(pre)>code{font-family:var(--font-mono);background:var(--field-blue);color:var(--navy);border-radius:var(--radius-xs);padding:.08em .35em;font-size:.86em}.prose table{border-collapse:collapse;border-top:2px solid var(--navy);border-bottom:1px solid var(--navy);width:max-content;max-width:100%;font-family:var(--font-body);font-size:var(--fs-base);line-height:1.45;display:block;overflow-x:auto}.prose td,.prose th{text-align:left;vertical-align:top;border-bottom:1px solid var(--rule);padding:.55em 1.5em .55em .75em}.prose th{background:var(--field);border-bottom:1px solid var(--navy);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.03em;color:var(--ink-2);white-space:nowrap;padding-top:.65em;padding-bottom:.65em}.fig-no,.prose td:first-child,.prose th{font-weight:700}.prose tbody tr:hover td{background:var(--field-blue)}.prose tr:last-child td{border-bottom:0}.prose hr{border:0;border-top:1px solid var(--rule);margin:2.25em 0}.math-display{padding:.25em 0;display:block;overflow:auto hidden}.math-display .katex-display{margin:0}.katex{font-size:1.06em}.math-error{color:var(--danger);font-size:.85em}.code-block,.math-error{font-family:var(--font-mono)}.code-block{font-size:var(--fs-sm);background:var(--navy-deep);color:var(--code-ink);border-radius:var(--radius-sm);padding:var(--s-4) var(--s-5);scrollbar-color:var(--navy-soft) transparent;margin:0;line-height:1.7;overflow-x:auto}.code-block code{color:inherit;background:0 0;padding:0}.code-block .hljs{background:0 0;padding:0}.content-blocks{gap:var(--s-6);counter-reset:persamaan gambar kode bagian;flex-direction:column;display:flex}.content-figure{margin:var(--s-2) 0}.content-figure figcaption{margin-top:var(--s-3);font-family:var(--font-body);font-size:var(--fs-sm);color:var(--ink-2);line-height:1.5}.content-figure--numbered{counter-increment:gambar}.fig-no{font-family:var(--font-mono);letter-spacing:.02em;color:var(--ink);flex:none}.content-figure--numbered .fig-no:before{content:var(--fig-label,"Gbr.") " " counter(gambar)}.fig-caption .fig-caption__text{flex:16rem;min-width:0}.fig-caption .fig-caption__side{color:var(--ink-3)}.content-figure .fig-caption{color:var(--ink-2);border-top-color:var(--ink);justify-content:flex-start}.content-figure .fig-caption .fig-caption__side{margin-left:auto}.plate{padding:var(--s-3);background:var(--blueprint);color:var(--on-blue);border-radius:var(--radius-xs);--focus:var(--on-blue);position:relative}.plate:after{content:"";border:1px solid var(--line-on-blue-soft);pointer-events:none;position:absolute;inset:5px}.plate>*{z-index:1;position:relative}.plate img{background:var(--paper);width:100%;height:auto;display:block}.plate .model3d{border:1px solid var(--line-on-blue);border-radius:0}.plate .yt{border-radius:0}.content-card{border:1px solid var(--rule);border-radius:var(--radius-md);background:var(--paper);overflow:hidden}.parts-list,.parts-list__head{--parts-cols:3rem minmax(0, 1fr) 9.5rem 7.5rem 5.5rem 7.5rem}.parts-list--compact{--parts-cols:3rem minmax(0, 1fr) 9.5rem 7.5rem 5.5rem}.parts-list{border-top:2px solid var(--ink);margin:0;padding:0;list-style:none}.parts-list__head{grid-template-columns:var(--parts-cols);gap:var(--s-4);padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--ink);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);font-weight:700;display:grid}.parts-list__head span:nth-child(n+5){text-align:right}.parts-list>li+li{border-top:1px solid var(--rule)}@media (width<=52em){.parts-list__head{display:none}}@media (width>=80em){.reading-sheet .callout--note{padding-top:var(--s-4)}.reading-sheet .callout--note .callout__head{top:var(--s-4);right:calc(100% + var(--s-6));align-items:flex-end;gap:var(--s-1);text-align:right;width:10rem;font-size:var(--fs-sm);flex-direction:column;position:absolute}.reading-sheet .callout--note .callout__head:after{content:"";top:.55rem;left:calc(100% + var(--s-2));width:var(--s-4);border-top:1.5px solid var(--callout-ink);position:absolute}.reading-sheet .callout--note .callout__title{color:var(--callout-ink)}.reading-sheet .callout--note .callout__body{margin-top:0;padding-left:0}}.code-block .hljs-built_in,.code-block .hljs-keyword,.code-block .hljs-selector-tag,.code-block .hljs-type{color:var(--peach)}.code-block .hljs-attr,.code-block .hljs-regexp,.code-block .hljs-string{color:var(--syntax-string)}.code-block .hljs-literal,.code-block .hljs-number,.code-block .hljs-symbol{color:var(--syntax-number)}.code-block .hljs-function,.code-block .hljs-title,.code-block .hljs-title.function_{color:var(--on-navy);font-weight:700}.code-block .hljs-comment,.code-block .hljs-quote{color:var(--on-navy-3);font-style:italic}.code-block .hljs-meta,.code-block .hljs-params,.code-block .hljs-variable{color:var(--code-ink-2)}.code-block .hljs-name,.code-block .hljs-section,.code-block .hljs-selector-id{color:var(--peach);font-weight:700}.code-block .hljs-attribute,.code-block .hljs-link,.code-block .hljs-selector-attr,.code-block .hljs-selector-class,.code-block .hljs-selector-pseudo,.code-block .hljs-template-variable{color:var(--syntax-string)}.code-block .hljs-bullet,.code-block .hljs-doctag,.code-block .hljs-operator,.code-block .hljs-subst{color:var(--code-ink-2)}.code-block .hljs-emphasis{font-style:italic}.code-block .hljs-strong{font-weight:700}.code-block .hljs-addition{color:var(--success-field)}.code-block .hljs-deletion{color:var(--danger-field);text-decoration:line-through}.tool-page{padding-top:var(--s-10);padding-bottom:var(--s-20);gap:var(--s-8);flex-direction:column;display:flex}.tool-sheet{border-top:2px solid var(--ink);padding-top:var(--s-6);min-width:0}.tool-page__python{justify-content:space-between;align-items:center;gap:var(--s-3) var(--s-6);padding:var(--s-4);border:1px solid var(--rule-strong);background:var(--field-blue);flex-wrap:wrap;display:flex}.tool-page__python p{max-width:40rem;color:var(--ink-2);margin:0}.tool-about{max-width:44rem}.tool-about h2{font-size:var(--fs-xl);margin:0 0 var(--s-3);padding-bottom:var(--s-2);border-bottom:1px solid var(--ink)}.tool-about p{margin:0 0 var(--s-3);font-size:var(--fs-md);color:var(--ink-2);line-height:1.7}.tool-grid{gap:var(--s-6) var(--s-8);grid-template-columns:minmax(0,22rem) minmax(0,1fr);align-items:start;display:grid}.tool-panel{gap:var(--s-4);flex-direction:column;min-width:0;display:flex}.tool-label{font-size:var(--fs-sm);color:var(--ink);font-weight:700}.tool-hint{font-size:var(--fs-sm);color:var(--ink-3);margin:0}.tool-toggles{gap:var(--s-2);flex-wrap:wrap;display:flex}.tool-formula{padding:var(--s-4);border:1px solid var(--rule);background:var(--field);overflow-x:auto}.tool-formula .katex-display{margin:0}.tool-result{gap:var(--s-1);padding:var(--s-4);border:1px solid var(--rule-strong);background:var(--paper);flex-direction:column;display:flex}.tool-result__value{font-family:var(--font-display);font-stretch:var(--display-stretch);font-size:var(--fs-3xl);color:var(--ink);overflow-wrap:anywhere;font-weight:800;line-height:1.1}.tool-result__unit{font-family:var(--font-mono);font-size:var(--fs-md);color:var(--ink-2)}.tool-error{padding:var(--s-3);border:1px solid var(--danger-rule);background:var(--danger-field);color:var(--danger);font-size:var(--fs-sm);margin:0}.tool-table{border-collapse:collapse;width:100%}.tool-table caption{text-align:left;padding-bottom:var(--s-2);font-weight:700}.tool-table thead th{border-top:2px solid var(--ink);border-bottom:1px solid var(--ink);padding:var(--s-2) var(--s-3);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);text-align:left;font-weight:700}.tool-table td{padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--rule);vertical-align:top}.tool-table td.num{font-family:var(--font-mono);text-align:right;overflow-wrap:anywhere}.tool-table tr.is-current td{background:var(--field-blue);font-weight:700}.tool-mono{font-family:var(--font-mono)}@media (width<=56em){.tool-grid{grid-template-columns:minmax(0,1fr)}}.async-state{padding:var(--s-6) var(--s-4);font-size:var(--fs-sm);color:inherit;text-align:center;margin:0}.status[data-v-59e43f3e]{min-height:100dvh;padding:var(--s-8) 0;flex-direction:column;display:flex;position:relative}.status[data-v-59e43f3e]>:not(.status__frame){z-index:1;position:relative}.status__frame[data-v-59e43f3e]{inset:var(--s-3);z-index:0;border:1px solid var(--line-on-blue-soft);pointer-events:none;position:absolute}.status__top[data-v-59e43f3e]{justify-content:space-between;align-items:center;gap:var(--s-4);display:flex}.status__block dd[data-v-59e43f3e],.status__block dt[data-v-59e43f3e],.status__sheet[data-v-59e43f3e]{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.05em}.status__sheet[data-v-59e43f3e]{color:var(--on-blue-2)}.status__inner[data-v-59e43f3e]{align-content:center;align-items:center;gap:var(--s-10) var(--s-16);padding-top:var(--s-12);padding-bottom:var(--s-12);flex:1;grid-template-columns:minmax(0,1fr);display:grid}.status__inner.has-figure[data-v-59e43f3e]{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.status__text[data-v-59e43f3e]{max-width:38rem}.status__code[data-v-59e43f3e]{font-family:var(--font-display);font-stretch:var(--display-stretch);font-size:var(--fs-status);letter-spacing:-.04em;color:var(--on-blue);font-variant-numeric:tabular-nums;font-weight:800;line-height:.85}.status__title[data-v-59e43f3e]{margin-top:var(--s-6);font-size:var(--fs-3xl);letter-spacing:-.02em;line-height:1.25}.status__message[data-v-59e43f3e]{margin-top:var(--s-4);font-size:var(--fs-lg);color:var(--on-blue-2);line-height:1.6}.status__actions[data-v-59e43f3e]{gap:var(--s-3);margin-top:var(--s-8);flex-wrap:wrap;display:flex}.status__figure[data-v-59e43f3e]{color:var(--on-blue);margin:0}.status__figure svg[data-v-59e43f3e]{width:100%;height:auto}.status__svg-label[data-v-59e43f3e]{fill:var(--on-blue);font-family:var(--font-mono);font-size:16px}.status__svg-ink-fill[data-v-59e43f3e]{fill:var(--orange)}.status__svg-ink-stroke[data-v-59e43f3e]{stroke:var(--orange)}.status__svg-q[data-v-59e43f3e]{fill:var(--navy);font-family:var(--font-mono);font-size:18px;font-weight:700}.status__figure .fig-caption[data-v-59e43f3e]{color:var(--on-blue-2);border-top-color:var(--line-on-blue-soft)}.status__block dd[data-v-59e43f3e],.status__figure .fig-caption strong[data-v-59e43f3e]{color:var(--on-blue)}.status__block[data-v-59e43f3e]{border:1px solid var(--line-on-blue-soft);grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);margin:0;display:grid}.status__block>div[data-v-59e43f3e]{padding:var(--s-2) var(--s-3);min-width:0}.status__block>div+div[data-v-59e43f3e]{border-left:1px solid var(--line-on-blue-soft)}.status__block dt[data-v-59e43f3e]{text-transform:uppercase;color:var(--on-blue-2)}.status__block dd[data-v-59e43f3e]{font-family:var(--font-body);font-size:var(--fs-sm);letter-spacing:0;overflow-wrap:anywhere;margin:2px 0 0;font-weight:700}@media (width<=56em){.status__inner.has-figure[data-v-59e43f3e]{grid-template-columns:minmax(0,1fr)}.status__figure[data-v-59e43f3e]{max-width:28rem}}@media (width<=40em){.status[data-v-59e43f3e]{padding:var(--s-6) 0}.status__inner[data-v-59e43f3e]{padding-top:var(--s-8);padding-bottom:var(--s-8)}.status__actions .btn[data-v-59e43f3e]{width:100%}.status__block[data-v-59e43f3e]{grid-template-columns:1fr 1fr}.status__block-wide[data-v-59e43f3e]{display:none}}.error-debug[data-v-0b528c96]{z-index:3;background:var(--navy-deep);max-width:60rem;color:var(--on-navy-2);border-radius:var(--radius-sm);font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;margin:0 auto 3rem;padding:1.25rem 1.5rem;font-size:.8125rem;line-height:1.6;position:relative;overflow-x:auto}
