@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/archivo-vietnamese-700-normal.nuAQAQa7.woff2) format("woff2"),url(/_astro/archivo-vietnamese-700-normal.Bz2vkKqq.woff) format("woff");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:Archivo;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/archivo-latin-ext-700-normal.DD_nkw6b.woff2) format("woff2"),url(/_astro/archivo-latin-ext-700-normal.CgyfnKjw.woff) format("woff");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:Archivo;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/archivo-latin-700-normal.D9cHMWGj.woff2) format("woff2"),url(/_astro/archivo-latin-700-normal.lT5TFe7H.woff) format("woff");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:Archivo;font-style:normal;font-display:swap;font-weight:800;src:url(/_astro/archivo-vietnamese-800-normal.DHDgv4cm.woff2) format("woff2"),url(/_astro/archivo-vietnamese-800-normal.BKe5Z8rz.woff) format("woff");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:Archivo;font-style:normal;font-display:swap;font-weight:800;src:url(/_astro/archivo-latin-ext-800-normal.BC6piDwP.woff2) format("woff2"),url(/_astro/archivo-latin-ext-800-normal.B9NTbsU1.woff) format("woff");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:Archivo;font-style:normal;font-display:swap;font-weight:800;src:url(/_astro/archivo-latin-800-normal.cB6v3kRN.woff2) format("woff2"),url(/_astro/archivo-latin-800-normal.DZa_k145.woff) format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-cyrillic-ext-400-normal.g30qAdWV.woff2) format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-ext-400-normal.Dsrv2Tcn.woff) format("woff");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 Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-cyrillic-400-normal.DZqxrq2p.woff2) format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-400-normal.BTotfTJu.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-greek-400-normal._efipK4i.woff2) format("woff2"),url(/_astro/ibm-plex-sans-greek-400-normal.D9ESIMu3.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-vietnamese-400-normal.DG4YqDda.woff2) format("woff2"),url(/_astro/ibm-plex-sans-vietnamese-400-normal.fK1oJ5dG.woff) format("woff");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 Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-ext-400-normal.C5H60-Va.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-ext-400-normal.RBey6euL.woff) format("woff");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 Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-400-normal.CDDApCn2.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-400-normal.CYLoc0-x.woff) format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-cyrillic-ext-600-normal.DUMzJB7m.woff2) format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-ext-600-normal.Bz0x94Yp.woff) format("woff");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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-cyrillic-600-normal.71GNu3SW.woff2) format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-600-normal.BGq0mW3O.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-greek-600-normal.DzTrcv_p.woff2) format("woff2"),url(/_astro/ibm-plex-sans-greek-600-normal.D-CqTdkO.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-vietnamese-600-normal.DpPYBSTl.woff2) format("woff2"),url(/_astro/ibm-plex-sans-vietnamese-600-normal.DgdngZtN.woff) format("woff");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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-latin-ext-600-normal.DOrvGEcy.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-ext-600-normal.DIrixKbi.woff) format("woff");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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-latin-600-normal.CuJfVYMP.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-600-normal.Cu4Hd6ag.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.woff) format("woff");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;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2) format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.woff) format("woff");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;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.woff) format("woff");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;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff) format("woff");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{--bg: #0d141d;--bg-2: #111a25;--surface: #16222f;--card: #182635;--card-hi: #1d2e40;--line: rgba(148, 173, 199, .14);--line-strong: rgba(148, 173, 199, .58);--text: #e7edf4;--muted: #93a5b8;--accent: #58a6e0;--accent-deep: #2e6da4;--accent-grad: linear-gradient(120deg, #4691c9 0%, #58a6e0 60%, #7cc0ef 100%);--radius: 18px;--radius-sm: 12px;--max: 1120px;--font-display: "Archivo", system-ui, sans-serif;--font-body: "IBM Plex Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--on-accent: #0c1520;--text-prose: #cfdae5;--code-bg: #0a1119;--code-inline-bg: rgba(255, 255, 255, .07);--badge-bg: rgba(255, 255, 255, .03);--header-bg: rgba(13, 20, 29, .72);--accent-wash: rgba(88, 166, 224, .1);--accent-surface-from: #24537c;--accent-surface-to: #1a3a5a;--accent-surface-line: rgba(124, 192, 239, .35);--text-on-accent-surface: #c6dbee;--glow-1: rgba(46, 109, 164, .22);--glow-2: rgba(46, 109, 164, .1);--ok-fill: rgba(64, 190, 120, .15);--ok-fill-soft: rgba(64, 190, 120, .12);--ok-text: #6fd89b;--ok-line: rgba(64, 190, 120, .35);--ok-line-soft: rgba(64, 190, 120, .3);--info-fill: rgba(88, 166, 224, .12);--info-text: var(--accent);--info-line: rgba(88, 166, 224, .3);--warn-fill: rgba(220, 120, 90, .12);--warn-text: #eaa08a;--warn-line: rgba(220, 120, 90, .3);--err-fill: rgba(220, 90, 90, .12);--err-text: #f0a0a0;--err-line: rgba(220, 90, 90, .3);--shadow-card-hover: 0 14px 34px rgba(0, 0, 0, .35);--shadow-btn-hover: 0 8px 24px rgba(88, 166, 224, .35);--ring-portrait: 0 0 0 6px rgba(88, 166, 224, .08);--ring-field-focus: 0 0 0 3px rgba(88, 166, 224, .15)}*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}body{background:radial-gradient(900px 500px at 85% -10%,var(--glow-1),transparent 60%),radial-gradient(700px 400px at -10% 30%,var(--glow-2),transparent 55%),var(--bg);color:var(--text);font-family:var(--font-body);font-size:1.0525rem;line-height:1.65;-webkit-font-smoothing:antialiased}.wrap{max-width:var(--max);margin:0 auto;padding:0 1.25rem}a{color:inherit;text-decoration-color:var(--accent);text-decoration-thickness:1.5px;text-underline-offset:3px}a:hover{color:var(--accent)}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}h1,h2,h3{font-family:var(--font-display);line-height:1.1;letter-spacing:-.015em;text-wrap:balance}h1{font-size:clamp(2.1rem,5vw,3.4rem);font-weight:800}h2{font-size:clamp(1.4rem,2.8vw,1.9rem);font-weight:700}h3,.tile h2,.contact-card h2{font-size:1.14rem;font-weight:700}.tile.accent-tile h2{font-size:1.3rem}.label{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.label:before{content:"// ";color:var(--accent)}.site-header{position:sticky;top:0;z-index:50;background:var(--header-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:.85rem;padding-bottom:.85rem;gap:1rem;flex-wrap:wrap}.brand{font-family:var(--font-display);font-weight:800;font-size:1.1rem;text-decoration:none;color:var(--text)}.brand .dot{background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.site-nav{display:flex;gap:1.2rem;flex-wrap:wrap;align-items:center}.site-nav a{font-size:.93rem;text-decoration:none;color:var(--muted);padding:.2rem 0;transition:color .15s ease}.site-nav a:hover{color:var(--text)}.site-nav a[aria-current=page]{color:var(--text);box-shadow:inset 0 -2px 0 var(--accent)}.nav-cta{border:1px solid var(--line-strong);border-radius:999px;padding:.35rem .9rem!important;color:var(--text)!important}.nav-cta:hover{border-color:var(--accent);background:var(--accent-wash)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;line-height:1.2;padding:.72rem 1.35rem;font-family:var(--font-display);font-weight:700;font-size:.93rem;text-decoration:none;border-radius:999px;border:1px solid transparent;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;cursor:pointer}.btn.primary{background:var(--accent-grad);color:var(--on-accent)}.btn.primary:hover{transform:translateY(-1px);box-shadow:var(--shadow-btn-hover);color:var(--on-accent)}.btn.ghost{border-color:var(--line-strong);color:var(--text)}.btn.ghost:hover{border-color:var(--accent);color:var(--accent)}.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem;padding:2.2rem 0 1rem}.tile{min-width:0;background:linear-gradient(180deg,var(--card-hi) 0%,var(--card) 100%);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;display:flex;flex-direction:column;gap:.7rem;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;position:relative;overflow:hidden}.tile:hover{transform:translateY(-3px);border-color:var(--line-strong);box-shadow:var(--shadow-card-hover)}.tile>p{color:var(--muted);font-size:.96rem}.tile p.label{font-size:.7rem;color:var(--muted)}.tile .more{margin-top:auto;font-size:.9rem;font-weight:600;text-decoration:none;color:var(--accent)}.tile .more:hover{text-decoration:underline}.tile.span-7{grid-column:span 7}.tile.span-6{grid-column:span 6}.tile.span-5{grid-column:span 5}.tile.span-4{grid-column:span 4}.tile.span-8{grid-column:span 8}.tile.span-12{grid-column:span 12}.tile.hero-tile{flex-direction:column;gap:1.2rem;padding:2rem}.hero-top{display:flex;gap:1.8rem;align-items:center}.hero-tile h1{font-size:clamp(1.9rem,3.6vw,2.8rem);white-space:nowrap}.hero-badges{border-top:1px solid var(--line);padding-top:1rem;width:100%}.hero-tile .intro h1{margin:.5rem 0 .8rem}.hero-tile .intro .lead{color:var(--muted);font-size:1.08rem;max-width:32em}.hero-tile img.portrait{width:190px;height:190px;object-fit:cover;object-position:top;border-radius:50%;border:2px solid var(--line-strong);box-shadow:var(--ring-portrait);flex-shrink:0}.tile.accent-tile{background:linear-gradient(135deg,var(--accent-surface-from) 0%,var(--accent-surface-to) 100%);border-color:var(--accent-surface-line)}.tile.accent-tile p{color:var(--text-on-accent-surface)}.tile img.tile-photo{width:calc(100% + 3rem);margin:-1.5rem -1.5rem .4rem;border-radius:var(--radius) var(--radius) 0 0;aspect-ratio:16/8;object-fit:cover}.stat-row{display:flex;gap:1.6rem;flex-wrap:wrap;margin-top:.3rem}.stat{display:flex;flex-direction:column}.stat b{font-family:var(--font-display);font-size:1.5rem;font-weight:800;background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.stat span{font-size:.8rem;color:var(--muted)}.badges{display:flex;flex-wrap:wrap;gap:.45rem}.badge{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.04em;border:1px solid var(--line);background:var(--badge-bg);color:var(--muted);padding:.28rem .6rem;border-radius:999px}.reveal{opacity:1;transform:none}html:not(.no-js) .reveal{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}html:not(.no-js) .reveal.in{opacity:1;transform:none}@media(scripting:none){.reveal{opacity:1!important;transform:none!important}}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}.sprunglink{position:absolute;left:-9999px;top:0;z-index:100;padding:.7rem 1.1rem;background:var(--card);color:var(--text);border:1px solid var(--line-strong);border-radius:0 0 8px;font-family:var(--font-display);font-weight:700;font-size:.93rem;text-decoration:none}.sprunglink:focus{left:0}section.block{padding:2.8rem 0}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1.6rem;flex-wrap:wrap}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.article-head{padding-top:3rem;padding-bottom:1.6rem}.article-head time{font-family:var(--font-mono);font-size:.8rem;color:var(--muted)}.profil-grid{display:grid;grid-template-columns:1fr 240px;gap:2.5rem;align-items:start}.profil-grid>div>p,.profil-grid>div>ul,.profil-grid>div>ol{max-width:70ch}.profil-aside{position:sticky;top:5.5rem;display:flex;flex-direction:column;gap:1rem}.profil-aside .social{justify-content:center}.profil-aside img{width:100%;height:auto;aspect-ratio:3 / 4;object-fit:cover;object-position:50% 20%;border-radius:var(--radius);border:1px solid var(--line-strong)}.prose{max-width:70ch}.prose h2{margin:2rem 0 .7rem}.prose h3{margin:1.6rem 0 .5rem}.prose p,.prose ul,.prose ol{margin-bottom:1.05rem;color:var(--text-prose)}.prose ul,.prose ol{padding-left:1.3rem}.prose strong{color:var(--text)}.prose{overflow-wrap:break-word}.prose code{font-family:var(--font-mono);font-size:.87em;background:var(--code-inline-bg);padding:.1em .35em;border-radius:4px}.prose pre{background:var(--code-bg);border:1px solid var(--line);border-radius:var(--radius-sm);padding:1.1rem;overflow-x:auto;font-size:.85rem;margin-bottom:1.05rem}.prose pre code{background:none;padding:0}.prose img,.prose video{max-width:100%;height:auto;border-radius:var(--radius-sm);border:1px solid var(--line);margin:.4rem 0}.prose figure{margin:1.2rem 0}.prose figcaption{font-family:var(--font-mono);font-size:.75rem;color:var(--muted);margin-top:.4rem}.prose blockquote{border-left:3px solid var(--accent);padding-left:1rem;color:var(--muted);margin:1.2rem 0}.post-list{list-style:none;padding:0}.post-list li{border-top:1px solid var(--line);padding:1.3rem 0;display:grid;grid-template-columns:8.5rem 1fr;gap:1.4rem;align-items:baseline}.post-list li:first-child{border-top:none}.post-list time{font-family:var(--font-mono);font-size:.76rem;color:var(--muted)}.post-list h2{margin:0;font-size:1.12rem;line-height:1.3}.post-list a{font-family:var(--font-display);font-weight:700;font-size:1.12rem;text-decoration:none}.post-list p{color:var(--muted);font-size:.94rem;margin-top:.25rem}.kit-status{font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;padding:.25rem .6rem;border-radius:999px;width:fit-content}.kit-status.verfuegbar{background:var(--ok-fill);color:var(--ok-text);border:1px solid var(--ok-line)}.kit-status.vorbereitung{background:var(--info-fill);color:var(--info-text);border:1px solid var(--info-line)}.download-list{list-style:none;padding:0;display:grid;gap:.6rem;margin:1rem 0;max-width:46em}.download-list a{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.8rem 1.1rem;text-decoration:none;transition:border-color .15s ease,transform .15s ease}.download-list a:hover{border-color:var(--accent);transform:translate(3px)}.download-list .size{font-family:var(--font-mono);font-size:.75rem;color:var(--muted)}.donate{margin-top:2.2rem;border:1px dashed var(--line-strong);border-radius:var(--radius);padding:1.4rem;max-width:46em;display:flex;gap:1.2rem;align-items:center;flex-wrap:wrap;justify-content:space-between}.donate p{color:var(--muted);font-size:.94rem;max-width:28em}.contact-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:1.5rem;align-items:start}.contact-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem}.contact-list{display:grid;grid-template-columns:auto 1fr;gap:.6rem 1.4rem;margin-top:.6rem}.contact-list dt{font-family:var(--font-mono);font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);align-self:baseline}.contact-list dd{margin:0;font-size:.98rem;overflow-wrap:anywhere}.qr-box{text-align:center;display:flex;flex-direction:column;gap:.8rem;align-items:center}.qr-box img{width:180px;height:180px;border-radius:var(--radius-sm);background:#fff;padding:8px}form.contact-form{display:grid;gap:.9rem}form.contact-form .btn{justify-self:start;width:fit-content}.field{display:grid;gap:.3rem}.field label{font-family:var(--font-mono);font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.field input,.field textarea{background:var(--bg-2);border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font-body);font-size:.98rem;padding:.7rem .9rem;width:100%}.field input:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring-field-focus)}.form-note{font-size:.82rem;color:var(--muted)}.form-status{font-size:.94rem;padding:.7rem 1rem;border-radius:var(--radius-sm);display:none}.form-status.ok{display:block;background:var(--ok-fill-soft);color:var(--ok-text);border:1px solid var(--ok-line-soft)}.form-status.err{display:block;background:var(--err-fill);color:var(--err-text);border:1px solid var(--err-line)}.hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}.social{display:flex;gap:.6rem;align-items:center}.social a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--line-strong);border-radius:50%;color:var(--muted);transition:color .15s ease,border-color .15s ease,transform .15s ease}.social a:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-2px)}.social svg{width:18px;height:18px;fill:currentColor}.tool-status{font-family:var(--font-mono);font-size:.66rem;text-transform:uppercase;letter-spacing:.1em;padding:.22rem .55rem;border-radius:999px;white-space:nowrap}.tool-status.einsatz{background:var(--ok-fill);color:var(--ok-text);border:1px solid var(--ok-line)}.tool-status.evaluierung{background:var(--info-fill);color:var(--info-text);border:1px solid var(--info-line)}.tool-status.verworfen{background:var(--warn-fill);color:var(--warn-text);border:1px solid var(--warn-line)}table.tools{width:100%;border-collapse:collapse;margin:.8rem 0 2rem;font-size:.94rem;table-layout:fixed}table.tools th:nth-child(1){width:200px}table.tools th:nth-child(2){width:150px}table.tools th{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);text-align:left;padding:.5rem .8rem;border-bottom:1px solid var(--line-strong)}table.tools td{padding:.6rem .8rem;border-bottom:1px solid var(--line);color:var(--text-prose);vertical-align:top}table.tools td:first-child{font-weight:600;color:var(--text);overflow-wrap:break-word}.res-cat{margin-bottom:2.2rem}.res-links{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem;margin-top:.9rem}.res-links a{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.85rem 1.1rem;text-decoration:none;transition:border-color .15s ease}.res-links a:hover{border-color:var(--accent)}.res-links b{display:block;font-size:.97rem}.res-links span{font-size:.84rem;color:var(--muted)}.race-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.6rem 0}.race-photos img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);border:1px solid var(--line)}table.races{width:100%;border-collapse:collapse;margin:1rem 0 2rem;font-size:.95rem}table.races th{font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);text-align:left;padding:.5rem .8rem;border-bottom:1px solid var(--line-strong)}table.races td{padding:.6rem .8rem;border-bottom:1px solid var(--line);color:var(--text-prose)}.site-footer{border-top:1px solid var(--line);margin-top:3.5rem;padding:2rem 0 2.6rem}.site-footer .wrap{display:flex;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;align-items:center}.site-footer nav{display:flex;gap:1.2rem;flex-wrap:wrap}.site-footer a{font-size:.86rem;color:var(--muted);text-decoration:none;display:inline-flex;align-items:center;min-height:24px;padding-block:.15rem}.site-footer a:hover{color:var(--accent)}.site-footer .fine{font-family:var(--font-mono);font-size:.72rem;color:var(--muted)}@media(max-width:700px){table.tools,table.tools tbody,table.tools tr,table.tools td{display:block;width:100%}table.tools thead{display:none}table.tools tr{border-bottom:1px solid var(--line);padding:.8rem 0}table.tools td{border:none;padding:.15rem 0}table.races,table.races tbody,table.races tr,table.races td{display:block;width:100%}table.races thead{display:none}table.races tr{border-bottom:1px solid var(--line);padding:.7rem 0}table.races td{border:none;padding:.1rem 0}}@media(max-width:560px){.site-header .wrap{flex-wrap:nowrap;gap:.6rem}.site-nav{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;gap:.9rem;padding-bottom:.15rem;-webkit-overflow-scrolling:touch}.site-nav::-webkit-scrollbar{display:none}.site-nav a{white-space:nowrap}.brand{flex:none}}@media(max-width:900px){.tile.span-7,.tile.span-6,.tile.span-5,.tile.span-4,.tile.span-8{grid-column:span 12}.hero-top{flex-direction:column-reverse;align-items:flex-start}.hero-tile h1{white-space:normal}.hero-tile img.portrait{width:130px;height:130px}.grid-3,.grid-2,.res-links,.race-photos,.contact-grid,.profil-grid{grid-template-columns:1fr}.profil-aside{position:static}.profil-aside img{max-width:320px}.post-list li{grid-template-columns:1fr;gap:.25rem}}:root{--l-bg: #f5f8fb;--l-bg-2: #ffffff;--l-surface: #eaf0f6;--l-card: #ffffff;--l-card-hi: #f7fafd;--l-line: rgba(20, 69, 110, .16);--l-line-strong: rgba(20, 69, 110, .58);--l-text: #10202e;--l-muted: #4e6275;--l-text-prose: #24384a;--l-accent: #1c5d94;--l-accent-deep: #14456e;--l-accent-grad: linear-gradient(120deg, #14456e 0%, #1c5d94 60%, #2e6da4 100%);--l-accent-wash: rgba(28, 93, 148, .08);--l-on-accent: #ffffff;--l-accent-surface-from: #d8e7f4;--l-accent-surface-to: #c3d9ec;--l-accent-surface-line: rgba(28, 93, 148, .3);--l-text-on-accent-surface: #1a3a5a;--l-code-bg: #eef3f8;--l-code-inline-bg: rgba(13, 20, 29, .06);--l-badge-bg: rgba(13, 20, 29, .03);--l-header-bg: rgba(245, 248, 251, .78);--l-glow-1: rgba(46, 109, 164, .1);--l-glow-2: rgba(46, 109, 164, .05);--l-ok-fill: rgba(21, 105, 62, .12);--l-ok-fill-soft: rgba(21, 105, 62, .1);--l-ok-text: #15693e;--l-ok-line: rgba(21, 105, 62, .32);--l-ok-line-soft: rgba(21, 105, 62, .28);--l-info-fill: rgba(28, 93, 148, .1);--l-info-line: rgba(28, 93, 148, .3);--l-warn-fill: rgba(154, 74, 32, .1);--l-warn-text: #9a4a20;--l-warn-line: rgba(154, 74, 32, .3);--l-err-fill: rgba(176, 37, 37, .1);--l-err-text: #b02525;--l-err-line: rgba(176, 37, 37, .3);--l-shadow-card-hover: 0 14px 34px rgba(16, 32, 46, .12);--l-shadow-btn-hover: 0 8px 24px rgba(28, 93, 148, .28);--l-ring-portrait: 0 0 0 6px rgba(28, 93, 148, .1);--l-ring-field-focus: 0 0 0 3px rgba(28, 93, 148, .2);color-scheme:dark}@media(prefers-color-scheme:light){:root:not([data-theme]){color-scheme:light;--bg: var(--l-bg);--bg-2: var(--l-bg-2);--surface: var(--l-surface);--card: var(--l-card);--card-hi: var(--l-card-hi);--line: var(--l-line);--line-strong: var(--l-line-strong);--text: var(--l-text);--muted: var(--l-muted);--text-prose: var(--l-text-prose);--accent: var(--l-accent);--accent-deep: var(--l-accent-deep);--accent-grad: var(--l-accent-grad);--accent-wash: var(--l-accent-wash);--on-accent: var(--l-on-accent);--accent-surface-from: var(--l-accent-surface-from);--accent-surface-to: var(--l-accent-surface-to);--accent-surface-line: var(--l-accent-surface-line);--text-on-accent-surface: var(--l-text-on-accent-surface);--code-bg: var(--l-code-bg);--code-inline-bg: var(--l-code-inline-bg);--badge-bg: var(--l-badge-bg);--header-bg: var(--l-header-bg);--glow-1: var(--l-glow-1);--glow-2: var(--l-glow-2);--ok-fill: var(--l-ok-fill);--ok-fill-soft: var(--l-ok-fill-soft);--ok-text: var(--l-ok-text);--ok-line: var(--l-ok-line);--ok-line-soft: var(--l-ok-line-soft);--info-fill: var(--l-info-fill);--info-line: var(--l-info-line);--warn-fill: var(--l-warn-fill);--warn-text: var(--l-warn-text);--warn-line: var(--l-warn-line);--err-fill: var(--l-err-fill);--err-text: var(--l-err-text);--err-line: var(--l-err-line);--shadow-card-hover: var(--l-shadow-card-hover);--shadow-btn-hover: var(--l-shadow-btn-hover);--ring-portrait: var(--l-ring-portrait);--ring-field-focus: var(--l-ring-field-focus)}}:root[data-theme=light]{color-scheme:light;--bg: var(--l-bg);--bg-2: var(--l-bg-2);--surface: var(--l-surface);--card: var(--l-card);--card-hi: var(--l-card-hi);--line: var(--l-line);--line-strong: var(--l-line-strong);--text: var(--l-text);--muted: var(--l-muted);--text-prose: var(--l-text-prose);--accent: var(--l-accent);--accent-deep: var(--l-accent-deep);--accent-grad: var(--l-accent-grad);--accent-wash: var(--l-accent-wash);--on-accent: var(--l-on-accent);--accent-surface-from: var(--l-accent-surface-from);--accent-surface-to: var(--l-accent-surface-to);--accent-surface-line: var(--l-accent-surface-line);--text-on-accent-surface: var(--l-text-on-accent-surface);--code-bg: var(--l-code-bg);--code-inline-bg: var(--l-code-inline-bg);--badge-bg: var(--l-badge-bg);--header-bg: var(--l-header-bg);--glow-1: var(--l-glow-1);--glow-2: var(--l-glow-2);--ok-fill: var(--l-ok-fill);--ok-fill-soft: var(--l-ok-fill-soft);--ok-text: var(--l-ok-text);--ok-line: var(--l-ok-line);--ok-line-soft: var(--l-ok-line-soft);--info-fill: var(--l-info-fill);--info-line: var(--l-info-line);--warn-fill: var(--l-warn-fill);--warn-text: var(--l-warn-text);--warn-line: var(--l-warn-line);--err-fill: var(--l-err-fill);--err-text: var(--l-err-text);--err-line: var(--l-err-line);--shadow-card-hover: var(--l-shadow-card-hover);--shadow-btn-hover: var(--l-shadow-btn-hover);--ring-portrait: var(--l-ring-portrait);--ring-field-focus: var(--l-ring-field-focus)}.theme-schalter{background:none;border:none;padding:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;color:var(--text);transition:color .15s ease}.theme-schalter__flaeche{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:1px solid var(--line-strong);background:var(--bg-2);transition:background .15s ease,border-color .15s ease,transform .15s ease}.theme-schalter__bild{display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.theme-schalter__bild--mond,.theme-schalter[aria-pressed=true] .theme-schalter__bild--sonne{display:none}.theme-schalter[aria-pressed=true] .theme-schalter__bild--mond{display:block}.theme-schalter:hover{color:var(--accent)}.theme-schalter:hover .theme-schalter__flaeche{border-color:var(--accent);background:var(--accent-wash)}.theme-schalter:active .theme-schalter__flaeche{transform:scale(.94)}.theme-schalter:focus-visible{outline:none}.theme-schalter:focus-visible .theme-schalter__flaeche{outline:2px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){.theme-schalter,.theme-schalter__flaeche{transition:none}.theme-schalter:active .theme-schalter__flaeche{transform:none}}
