@font-face{font-family:Helvetica Neue;src:url(/fonts/HelveticaNeue-Roman.ttf)format("truetype");font-weight:400;font-display:block}@font-face{font-family:Helvetica Neue;src:url(/fonts/HelveticaNeue-Bold.ttf)format("truetype");font-weight:700;font-display:block}@font-face{font-family:Helvetica Neue;src:url(/fonts/HelveticaNeue-Black.ttf)format("truetype");font-weight:900;font-display:block}@font-face{font-family:Helvetica Neue;src:url(/fonts/HelveticaNeue-BoldExt.ttf)format("truetype");font-weight:700;font-stretch:125%;font-display:block}:root{--bg:#f3eada;--fg:#0f474a;--text:#333;--text-secondary:#999;--grid-line:#0f474a09;--code-bg:#e1ddce;--font-heading:"Helvetica Neue", Helvetica, Arial, sans-serif;--font-body:"Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, monospace}*{box-sizing:border-box}.fill-layer{pointer-events:none}body:after{content:"";z-index:-1;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");background-size:160px 160px;position:fixed;inset:0}html,body{margin:0;padding:0}body{background-color:var(--bg);background-image:linear-gradient(var(--grid-line) 1.9px, transparent 1.9px), linear-gradient(90deg, var(--grid-line) 1.9px, transparent 1.9px);color:var(--text);font-family:var(--font-body);letter-spacing:-.02em;background-size:30px 30px;line-height:1.5}h1,h2,h3{font-family:var(--font-heading);letter-spacing:-.02em;margin:0 0 .5em;font-weight:900;line-height:.95}.section-title{font-family:var(--font-heading);text-transform:uppercase;font-size:clamp(2.5rem,6vw,2.5rem);font-weight:700;font-stretch:125%;display:inline-block}h2.section-title{padding:.15em .5em;position:relative}h2.section-title:before,h2.section-title:after{content:"";border:1px solid var(--fg);width:10px;height:10px;position:absolute}h2.section-title:before{border-bottom:0;border-right:0;top:-1px;left:-1px}h2.section-title:after{border-top:0;border-left:0;bottom:-1px;right:-1px}.card-title{font-family:var(--font-heading);letter-spacing:-.02em;text-transform:uppercase;color:var(--fg);font-size:1.125rem;font-weight:700;line-height:.95;text-decoration:none;display:inline-block}a{color:var(--fg)}:not(pre)>code{background-color:var(--code-bg);color:var(--fg);font-family:var(--font-mono);border-radius:3px;padding:.15em .4em;font-size:.9em}pre{background-color:var(--code-bg);white-space:pre;font-family:var(--font-mono);padding:1rem 1.5rem;font-size:.9em;line-height:1.5;overflow-x:auto}pre code{background:0 0;padding:0}.eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;font-size:.875rem}.spec-table{grid-template-columns:auto 1fr;gap:.4rem 1.25rem;margin:0;font-size:.9375rem;display:grid}.spec-table dt{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);padding-top:.2rem;font-size:.75rem}.spec-table dd{margin:0}.class-tag{background-color:var(--fg);color:var(--bg);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;padding:.25rem .6rem;font-size:.75rem;line-height:1.5}.spec-price{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);white-space:nowrap;flex-shrink:0;padding-top:.2rem;font-size:.875rem}.button{background-color:var(--fg);color:var(--bg);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;border:none;border-radius:0;padding:.6em 1.2em;font-size:.875rem;text-decoration:none;transition:transform .15s,box-shadow .15s;display:inline-block;position:relative}.button:hover{transform:translateY(-2px);box-shadow:0 6px 8px #0003}.button:active{filter:brightness(.8);transform:translateY(1px)}.subtype-file-card{background-color:var(--fg);color:var(--bg);padding:1rem 1.25rem;text-decoration:none;transition:transform .15s,box-shadow .15s;display:block;position:relative}.subtype-file-card:hover{transform:translateY(-2px);box-shadow:0 6px 8px #0003}.subtype-file-card:active{filter:brightness(.8);transform:translateY(1px)}.subtype-file-card:before,.subtype-file-card:after{content:"";border:1px solid var(--bg);width:8px;height:8px;position:absolute}.subtype-file-card:before{border-bottom:0;border-right:0;top:6px;left:6px}.subtype-file-card:after{border-top:0;border-left:0;bottom:6px;right:6px}.subtype-file-card-title{font-family:var(--font-heading);font-size:1.05rem;font-weight:900;display:block}.subtype-file-card-caption{opacity:.85;margin-top:.25rem;display:block}.subtype-file-card-meta{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.03em;margin-top:.75rem;font-size:.875rem;display:block}.subtype-file-card-meta:before{content:"↓ "}.subtype-bookmark-card{border:1px solid var(--fg);background-color:var(--bg);color:var(--text);align-items:stretch;min-height:148px;text-decoration:none;transition:transform .15s;display:flex;position:relative}.subtype-bookmark-card:active{transform:translateY(1px)}.subtype-bookmark-card:before,.subtype-bookmark-card:after{content:"";z-index:2;border:1px solid var(--fg);width:10px;height:10px;position:absolute}.subtype-bookmark-card:before{border-bottom:0;border-right:0;top:-1px;left:-1px}.subtype-bookmark-card:after{border-top:0;border-left:0;bottom:-1px;right:-1px}.subtype-bookmark-content{flex:1;min-width:0;padding:1rem 1.25rem;position:relative;overflow:hidden}.subtype-bookmark-fill{z-index:2;left:var(--fill-x);top:var(--fill-y);background-color:var(--fg);pointer-events:none;will-change:width, height;border-radius:50%;width:0;height:0;transition:width .25s,height .25s;position:absolute;overflow:hidden;transform:translate(-50%,-50%)}.subtype-bookmark-fill-content{left:calc(50% - var(--fill-x));top:calc(50% - var(--fill-y));width:var(--card-width);height:var(--card-height);pointer-events:none;padding:1rem 1.25rem;position:absolute}.subtype-bookmark-text{z-index:1;flex-direction:column;justify-content:space-between;gap:.75rem;height:100%;display:flex;position:relative}.subtype-bookmark-text--inverted .subtype-bookmark-title,.subtype-bookmark-text--inverted .subtype-bookmark-caption,.subtype-bookmark-text--inverted .subtype-bookmark-meta{color:var(--bg)}.subtype-bookmark-title{-webkit-line-clamp:2;line-clamp:2;font-family:var(--font-heading);color:var(--fg);-webkit-box-orient:vertical;font-size:1.05rem;font-weight:700;display:-webkit-box;overflow:hidden}.subtype-bookmark-caption{-webkit-line-clamp:2;line-clamp:2;opacity:.85;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.subtype-bookmark-meta{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.03em;opacity:.85;align-items:center;gap:.4rem;font-size:.75rem;display:flex}.subtype-bookmark-meta img{width:16px;height:16px}.subtype-bookmark-thumb{background-color:var(--fg);flex-shrink:0;width:260px;position:relative;overflow:hidden}.subtype-bookmark-thumb img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}@media (width<=500px){.subtype-bookmark-thumb{display:none}}.wrap{max-width:1000px;margin:0 auto;padding:0 1.5rem}.nav-btn[data-astro-cid-kaa7cs4x]{border:1px solid var(--fg);background-color:var(--bg);justify-content:center;align-items:center;min-width:7.5rem;padding:.5em 1em;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.nav-btn[data-astro-cid-kaa7cs4x]:before,.nav-btn[data-astro-cid-kaa7cs4x]:after{content:"";z-index:2;border:1px solid var(--fg);pointer-events:none;opacity:0;width:6px;height:6px;transition:opacity .15s;position:absolute}.nav-btn[data-astro-cid-kaa7cs4x]:hover:before,.nav-btn[data-astro-cid-kaa7cs4x]:hover:after{opacity:1;border-color:var(--bg)}.nav-btn[data-astro-cid-kaa7cs4x]:before{border-bottom:0;border-right:0;top:2px;left:2px}.nav-btn[data-astro-cid-kaa7cs4x]:after{border-top:0;border-left:0;bottom:2px;right:2px}.nav-btn[data-astro-cid-kaa7cs4x].is-active:before,.nav-btn[data-astro-cid-kaa7cs4x].is-active:after{opacity:1;border-color:var(--bg)}.nav-btn-fill[data-astro-cid-kaa7cs4x]{z-index:1;left:var(--fill-x);top:var(--fill-y);width:var(--fill-size);height:var(--fill-size);background-color:var(--fg);pointer-events:none;will-change:width, height;border-radius:50%;transition:width .25s,height .25s;position:absolute;overflow:hidden;transform:translate(-50%,-50%)}.nav-btn-fill-content[data-astro-cid-kaa7cs4x]{left:calc(50% - var(--fill-x));top:calc(50% - var(--fill-y));width:var(--card-width);height:var(--card-height);pointer-events:none;position:absolute}.nav-btn-label[data-astro-cid-kaa7cs4x]{position:relative}.nav-btn[data-astro-cid-kaa7cs4x]>.nav-btn-label[data-astro-cid-kaa7cs4x]{z-index:0}.nav-btn-label--inverted[data-astro-cid-kaa7cs4x]{color:var(--bg);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.nav-btn[data-astro-cid-kaa7cs4x].is-active{background-color:var(--fg)}.nav-btn[data-astro-cid-kaa7cs4x].is-active>.nav-btn-label[data-astro-cid-kaa7cs4x]{color:var(--bg)}.nav-btn[data-astro-cid-kaa7cs4x]:active{filter:brightness(.8)}.nav-btn[data-astro-cid-kaa7cs4x]:active>.nav-btn-label[data-astro-cid-kaa7cs4x],.nav-btn[data-astro-cid-kaa7cs4x]:active .nav-btn-label--inverted[data-astro-cid-kaa7cs4x]{transform:translateY(1px)}@media (prefers-reduced-motion:reduce){.nav-btn[data-astro-cid-kaa7cs4x]:active>.nav-btn-label[data-astro-cid-kaa7cs4x],.nav-btn[data-astro-cid-kaa7cs4x]:active .nav-btn-label--inverted[data-astro-cid-kaa7cs4x]{transform:none}}.site-header[data-astro-cid-ju4pidww]{z-index:100;--bg:#0f474a;--fg:#f3eada;background-color:#0f474a;position:sticky;top:0}.site-header-inner[data-astro-cid-ju4pidww]{padding-block:1.5rem;transition:padding-block .2s}.site-header[data-astro-cid-ju4pidww].is-scrolled .site-header-inner[data-astro-cid-ju4pidww]{padding-block:.6rem}.is-scrolled[data-astro-cid-ju4pidww] .logo-mark[data-astro-cid-ju4pidww]{height:28px}main[data-astro-cid-ju4pidww]{transition:opacity .15s}body.is-page-transitioning main[data-astro-cid-ju4pidww]{opacity:0}.site-header-inner[data-astro-cid-ju4pidww]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.header-right[data-astro-cid-ju4pidww]{flex-wrap:wrap;align-items:center;gap:.5rem 1.5rem;display:flex}.site-footer[data-astro-cid-ju4pidww]{--bg:#0f474a;--fg:#f3eada;background-color:var(--bg);color:var(--fg);border-top:3px solid var(--fg);margin-top:2rem;padding:1.5rem;position:relative}.site-footer[data-astro-cid-ju4pidww]:before,.site-footer[data-astro-cid-ju4pidww]:after{content:"";z-index:1;border:1px solid var(--fg);pointer-events:none;width:10px;height:10px;position:absolute}.site-footer[data-astro-cid-ju4pidww]:before{border-bottom:0;border-right:0;top:8px;left:-1px}.site-footer[data-astro-cid-ju4pidww]:after{border-bottom:0;border-left:0;top:8px;right:-1px}.site-footer[data-astro-cid-ju4pidww] a[data-astro-cid-ju4pidww]{color:var(--fg)}.site-footer-row[data-astro-cid-ju4pidww]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;display:flex}.footer-tail[data-astro-cid-ju4pidww]{text-align:center;font-family:var(--font-mono);letter-spacing:.02em;opacity:.6;margin:6px 0 0;font-size:11px}.logo[data-astro-cid-ju4pidww]{align-items:center;display:inline-flex}.logo-mark[data-astro-cid-ju4pidww]{width:auto;height:44px;transition:height .2s;display:block}nav[data-astro-cid-ju4pidww]{flex-wrap:wrap;gap:1.25rem;display:flex}nav[data-astro-cid-ju4pidww] a[data-astro-cid-ju4pidww]{text-decoration:none}nav[data-astro-cid-ju4pidww] a[data-astro-cid-ju4pidww]:not(.nav-btn){border-bottom:1px solid #0000;padding-bottom:3px}nav[data-astro-cid-ju4pidww] a[data-astro-cid-ju4pidww]:not(.nav-btn):hover{border-bottom-color:currentColor}.site-header[data-astro-cid-ju4pidww] nav[data-astro-cid-ju4pidww]{gap:.75rem}
