@font-face{font-family:__Space_Grotesk_dd5b2f;font-style:normal;font-weight:300 700;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Space_Grotesk_dd5b2f;font-style:normal;font-weight:300 700;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:__Space_Grotesk_dd5b2f;font-style:normal;font-weight:300 700;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,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:__Space_Grotesk_Fallback_dd5b2f;src:local("Arial");ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.00%;size-adjust:109.69%}.__className_dd5b2f{font-family:__Space_Grotesk_dd5b2f,__Space_Grotesk_Fallback_dd5b2f;font-style:normal}.__variable_dd5b2f{--font-space-grotesk:"__Space_Grotesk_dd5b2f","__Space_Grotesk_Fallback_dd5b2f"}@font-face{font-family:__IBM_Plex_Mono_05908d;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__IBM_Plex_Mono_05908d;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__IBM_Plex_Mono_05908d;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__IBM_Plex_Mono_05908d;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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_05908d;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-s.p.woff2) format("woff2");unicode-range:u+00??,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:__IBM_Plex_Mono_05908d;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__IBM_Plex_Mono_05908d;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__IBM_Plex_Mono_05908d;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__IBM_Plex_Mono_05908d;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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_05908d;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-s.p.woff2) format("woff2");unicode-range:u+00??,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:__IBM_Plex_Mono_05908d;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/704b853f32d191d5-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__IBM_Plex_Mono_05908d;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/656feb427634a431-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__IBM_Plex_Mono_05908d;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/991629005c80bdf1-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__IBM_Plex_Mono_05908d;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/46e154b2fcbd6033-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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_05908d;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/37786be940ec402b-s.p.woff2) format("woff2");unicode-range:u+00??,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:__IBM_Plex_Mono_Fallback_05908d;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_05908d{font-family:__IBM_Plex_Mono_05908d,__IBM_Plex_Mono_Fallback_05908d;font-style:normal}.__variable_05908d{--font-plex-mono:"__IBM_Plex_Mono_05908d","__IBM_Plex_Mono_Fallback_05908d"}:root{--bg:#0b0b0b;--bg-soft:#121212;--fg:#f5f5f5;--muted:#c7c7c7;--line:#2c2c2c;--line-soft:#1f1f1f;--violet-line:rgba(167,139,250,.45);--violet-glow:rgba(139,92,246,.2);--violet-bg:rgba(109,40,217,.09)}*{box-sizing:border-box}body,html{margin:0;padding:0;background:radial-gradient(circle at 10% 10%,#171717,var(--bg) 50%);color:var(--fg);min-height:100%}body{font-family:var(--font-space-grotesk),sans-serif}a{color:inherit;text-decoration:none}h1,h2,h3{margin:0;letter-spacing:-.02em}p{margin:0;color:var(--muted);line-height:1.55}.page-wrap{width:min(1080px,92vw);margin:0 auto;padding:3rem 0 4rem}.hero{border:1px solid var(--violet-line);background:linear-gradient(140deg,rgba(109,40,217,.14),transparent 35%),linear-gradient(140deg,#101010,#0b0b0b 55%);padding:2rem;border-radius:16px;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.03)}.kicker{text-transform:uppercase;font-family:var(--font-plex-mono),monospace;letter-spacing:.1em;color:#9d9d9d;font-size:.77rem;margin-bottom:.75rem}.hero h1{font-size:clamp(1.9rem,5vw,3rem)}.intro{margin-top:.9rem;max-width:60ch}.cards-grid{margin-top:1.1rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.9rem;gap:.9rem}.tech-card{border:1px solid color-mix(in srgb,var(--line) 70%,#7c3aed 30%);background:linear-gradient(160deg,rgba(139,92,246,.08),transparent 45%),var(--bg-soft);border-radius:14px;padding:1.2rem;display:flex;flex-direction:column;gap:.65rem;transition:transform .2s ease,border-color .2s ease}.tech-card:hover{transform:translateY(-2px);border-color:#8b5cf6;box-shadow:0 0 0 1px var(--violet-glow)}.tech-card h2{font-size:1.25rem}.card-link{margin-top:.2rem;color:#e1e1e1;font-size:.87rem}.card-link,.chip{font-family:var(--font-plex-mono),monospace}.chip{display:inline-flex;width:-moz-fit-content;width:fit-content;border:1px solid color-mix(in srgb,var(--line) 55%,#8b5cf6 45%);border-radius:999px;padding:.2rem .6rem;font-size:.75rem;color:#d4d4d4;background:var(--violet-bg)}.page-detail{padding-top:1.8rem}.back-link{display:inline-block;margin-bottom:1rem;color:#cecece;font-family:var(--font-plex-mono),monospace;font-size:.88rem}.tool-shell{border:1px solid var(--violet-line);border-radius:16px;padding:1.2rem;background:linear-gradient(145deg,rgba(139,92,246,.11),transparent 42%),linear-gradient(180deg,#101010,#0b0b0b)}.tool-header{display:flex;justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:1rem}.tool-header h1{font-size:clamp(1.4rem,4vw,2.2rem)}.content-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}.panel{border:1px solid color-mix(in srgb,var(--line-soft) 65%,#7c3aed 35%);border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:.7rem;background:linear-gradient(160deg,rgba(124,58,237,.08),transparent 55%)}.panel h2{font-size:1rem}label{font-size:.86rem;color:#dcdcdc}button,label,select,textarea{font-family:var(--font-plex-mono),monospace}button,select,textarea{width:100%;border:1px solid color-mix(in srgb,var(--line) 75%,#8b5cf6 25%);background:#0d0d0d;color:var(--fg);border-radius:8px;padding:.7rem;font-size:.95rem}textarea{resize:vertical}button{cursor:pointer;font-weight:600;transition:background .2s ease}button:hover:enabled{background:#171717}button:disabled{opacity:.65;cursor:wait}.hint{font-size:.8rem;color:#a6a6a6}.error{color:#f0c0c0;font-size:.87rem}.center-panel{max-width:500px;margin:2rem auto;align-items:flex-start}@media (max-width:860px){.cards-grid,.content-grid{grid-template-columns:1fr}.page-wrap{width:min(680px,93vw);padding-top:1.2rem}.hero,.tool-shell{padding:1rem}}