:root,[data-palette=jantar]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--pf-color-bg:oklch(15% .006 70);--pf-color-surface:oklch(19% .01 70);--pf-color-surface-2:oklch(22% .012 70);--pf-color-border:oklch(29% .015 70);--pf-color-grid:oklch(25% .02 70/.55);--pf-color-text:oklch(95% .015 80);--pf-color-text-muted:oklch(74% .02 80);--pf-color-text-dim:oklch(66% .02 80);--pf-color-primary:oklch(82% .17 70);--pf-color-primary-ink:oklch(17% .02 70);--pf-color-primary-glow:oklch(82% .17 70/.5);--pf-color-glow-soft:oklch(60% .14 65/.3);--pf-color-secondary:oklch(88% .2 135);--pf-color-tag-bg:oklch(25% .05 135);--pf-color-pill-bg:oklch(30% .06 70);--pf-color-term-bg:oklch(12% .006 70);--pf-syntax-prop:var(--pf-color-secondary);--pf-syntax-string:var(--pf-color-primary);--pf-syntax-number:oklch(78% .16 20);--pf-color-term-text:oklch(93% .01 130);--pf-color-term-dim:oklch(68% .02 150);--pf-color-term-border:var(--pf-color-border);--pf-color-dot-red:oklch(70% .19 28);--pf-color-dot-yellow:oklch(83% .15 85);--pf-color-dot-green:oklch(74% .19 148);--pf-syntax-keyword:oklch(74% .14 300);--pf-syntax-punct:var(--pf-color-term-text);--pf-color-ok:oklch(78% .17 150);--pf-color-warn:oklch(84% .15 85);--pf-color-danger:oklch(72% .18 25);--pf-color-shadow:oklch(0% 0 0/.6);--pf-matrix-glyph:var(--pf-color-primary);--pf-matrix-head:var(--pf-color-text);--pf-matrix-accent:var(--pf-color-secondary);--pf-ozadje-koda-alpha:.12;--pf-ozadje-agenti-alpha:.1;--pf-media-edge:28%;--pf-shadow-lift:0 18px 50px -18px var(--pf-color-primary-glow);--pf-shadow-term:0 30px 80px -30px var(--pf-color-shadow);--pf-font-mono:"JetBrains Mono Variable", ui-monospace, "Cascadia Code", menlo, monospace;--pf-font-sans:"Space Grotesk Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--pf-space-1:4px;--pf-space-2:8px;--pf-space-3:12px;--pf-space-4:16px;--pf-space-5:24px;--pf-space-6:32px;--pf-space-7:40px;--pf-space-8:56px;--pf-space-9:72px;--pf-space-10:104px;--pf-radius-sm:4px;--pf-radius-md:6px;--pf-radius-lg:10px;--pf-radius-xl:14px;--pf-radius-pill:99px;--pf-dur-fast:.15s;--pf-dur-base:.2s;--pf-dur-slow:.3s;--pf-ease:cubic-bezier(.2, .7, .2, 1);--pf-admin-surface:color-mix(in oklch, var(--pf-color-surface) 60%, oklch(20% 0 0));--pf-admin-surface-2:color-mix(in oklch, var(--pf-color-surface-2) 60%, oklch(24% 0 0));--pf-admin-border:color-mix(in oklch, var(--pf-color-border) 60%, oklch(30% 0 0));--pf-admin-topbar-h:56px;--pf-admin-sidebar-w:220px;--pf-admin-overlay:oklch(0% 0 0/.55);--pf-header-h:64px;--pf-content-max:1180px;--pf-gutter:calc(clamp(18px, 4vw, 64px))}@media (width>=1536px){:root,[data-palette=jantar]{--pf-content-max:1360px}}@media (width>=1920px){:root,[data-palette=jantar]{--pf-content-max:1560px}}@media (width>=2400px){:root,[data-palette=jantar]{--pf-content-max:1720px}}[data-palette=fosfor]{--pf-color-bg:oklch(17% .012 165);--pf-color-surface:oklch(21% .015 165);--pf-color-surface-2:oklch(24% .017 165);--pf-color-border:oklch(31% .02 165);--pf-color-grid:oklch(27% .03 160/.55);--pf-color-text:oklch(95% .012 150);--pf-color-text-muted:oklch(76% .02 150);--pf-color-text-dim:oklch(67% .02 150);--pf-color-primary:oklch(89% .21 140);--pf-color-primary-ink:oklch(20% .04 150);--pf-color-primary-glow:oklch(89% .21 140/.45);--pf-color-glow-soft:oklch(60% .15 145/.28);--pf-color-secondary:oklch(78% .16 55);--pf-color-tag-bg:oklch(27% .06 55);--pf-color-pill-bg:oklch(30% .07 145);--pf-color-term-bg:oklch(13% .01 165)}[data-palette=led]{--pf-color-bg:oklch(16% .014 245);--pf-color-surface:oklch(20% .02 245);--pf-color-surface-2:oklch(23% .022 245);--pf-color-border:oklch(30% .03 245);--pf-color-grid:oklch(26% .04 240/.5);--pf-color-text:oklch(96% .01 230);--pf-color-text-muted:oklch(76% .02 235);--pf-color-text-dim:oklch(66% .02 235);--pf-color-primary:oklch(84% .12 215);--pf-color-primary-ink:oklch(18% .03 240);--pf-color-primary-glow:oklch(84% .12 215/.45);--pf-color-glow-soft:oklch(55% .12 225/.3);--pf-color-secondary:oklch(78% .15 25);--pf-color-tag-bg:oklch(27% .06 25);--pf-color-pill-bg:oklch(30% .06 215);--pf-color-term-bg:oklch(12% .014 245);--pf-syntax-number:oklch(82% .13 95)}@media (prefers-contrast:more){:root{--pf-color-border:oklch(37% .015 70);--pf-color-text-dim:var(--pf-color-text-muted)}}[data-tema=po-meri]{--pf-color-bg:var(--pf-tema-bg);--pf-color-surface:var(--pf-tema-surface);--pf-color-border:var(--pf-tema-border);--pf-color-text:var(--pf-tema-text);--pf-color-text-muted:var(--pf-tema-text-muted);--pf-color-primary:var(--pf-tema-primary);--pf-color-secondary:var(--pf-tema-secondary);--pf-color-surface-2:color-mix(in oklch, var(--pf-tema-surface) 94%, var(--pf-tema-text));--pf-color-term-bg:color-mix(in oklch, var(--pf-tema-bg) 75%, oklch(0% 0 0));--pf-color-grid:color-mix(in oklch, var(--pf-tema-border) 55%, transparent);--pf-color-text-dim:color-mix(in oklch, var(--pf-tema-text-muted) 75%, var(--pf-tema-bg));--pf-color-primary-glow:color-mix(in oklch, var(--pf-tema-primary) 50%, transparent);--pf-color-glow-soft:color-mix(in oklch, color-mix(in oklch, var(--pf-tema-primary) 70%, oklch(0% 0 0)) 30%, transparent);--pf-color-tag-bg:color-mix(in oklch, var(--pf-tema-secondary) 18%, var(--pf-tema-bg));--pf-color-pill-bg:color-mix(in oklch, var(--pf-tema-primary) 20%, var(--pf-tema-bg));--pf-color-primary-ink:oklch(17% .02 70);--pf-syntax-prop:var(--pf-tema-secondary);--pf-syntax-string:var(--pf-tema-primary)}@supports (color:oklch(from red l c h)){[data-tema=po-meri]{--pf-color-primary-ink:oklch(from var(--pf-tema-primary) clamp(.17, 100 * (.65 - l), .97) .02 h)}}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAfsABQAAAAAEAwAAAeCAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoP0hWQVJbBmA/U1RBVIFiJyYAdC9qEQgKhGSEAAsgADCGCAE2AiQDOgQgBYlMB4EUDAcbLQ4onoexrSC/2ZyLAa8p8VHB8/x3Vue+V0hVJalMJg2nx/TCrQXxBeqLjQG7FyM1WEa/X1tEXN7cFz9EJEMmMUz3RihWSSKeQCbcIou0izz/C8v+fq3VfajEa9gDD11CImXS7qL/RJFVzC1qiB6KmKeD6TZdQ6IRGv78dL6uSVVCfgni5mzu7kcgQBgAEAQTQRCoL++STTYybkJxNfQxAAIAGu8OdEB9teW2jh4BpgDqFjAeSEByW3zFP0CBBgNMsMCGEDjgggdhiEAUAeIIED7ABTDUEnkIE9Q9ahFgKttcVhApo4ACB4qobHaccgDfEjFO6aaWUhjMLt2SyIvHKoDqoA4CSUwEIYQCEjhAO9R1G6keDeDZGjNo+AhxOjCEGTr1WeIF3kYBiLAOKvkJSMiKX0VdAyQt3SDJClCkxJCHkCzfqyVTriJZLcolS32JZHUekq2TYNkYtCtjYHMQXSxGjXDz2t/yLWXzDzxz+o3zFwDEaN23F+13pyMdQAEaSKAR9vcGq4A4MTSKCElGW+M7UcY7xqkggITb28ZJhlqc9q2twYKTt0NjixBgYvO9BIihEBLYuOFXQzfIQ7dXGUEEEgFDooBfAzqiQbpJrhiWSuKJCRFKYbHCyJKI2G5GiZbNAvgAu5pc3vwx4G+g3aDkhklABiSz0BICXrYghtYhx/cdJ+44rY2oZ0aMNRFz3VZjb6W33F3gzltqtOCV8tTHSpOeXuItfvr5lCdfzFpqtEitvqdcdGGFd28ZqqC0tPbeChGXgrIlnhSWu/eUso4uKWFLugyDzQJhflY4659+WjQ++6x72WUMv9G8mw6QJl7BVxX5fe/kpUsOvnZwee9uQ0cGXYd0o89XB2748sDSnt8d2VphdOTTgceDVvOds0v9P/s7HPq15aGun/6Vllb56f1dl0t1LejqrNkpdRZsG8TOnM5vkBG5oiVyVGnS8LHps5cfNWJs6qKPfaNSxiQNBUm3cKNWROr0GSur7Za31k1vieq7LH11VF+jXdRIasRKflc7jkobm1Z9te1IyZA0pDkhLR98+H37Zf1c/8at+dB7x+7GfVyTfJMPiYztsnl59Y5l4j+0n1RXlpHnF3Tq7HecmNF/CJodEMAikruxiyJaGLvHOdAfoA+oDvpjBm2b91cHGRZMU9n25xEU0A8fgEEAdKI3Q1iDtc034sug5YVMkE2jsE+BIkwSoQ3gxXMqz9tELp48bd0cFKOKS7xYjEuXBnZP5ia7DyiO/X/YI+PQSbt2uSdqAkWL9nQbV1XB94/+uPfdZz8dnXYFBYrcTl2SIR/ybxJNJPz/Gupb0JaZeens2ekC7EKr8t+Ls/P5VJPYJdHKyqfg2nqU6bhlidzcddQV/7MmecTzJ5VPcKXkNKSEogHjYFx6QZ7rQ+FSe8njaiNuOnXS8H2ScQ619c2mC3VTtauL0rRbXd/CkSOP37FY9Zkjz8+GibYUMOEWF+RdrFS8Ecv1SHOpPUPZGEIpjPvFyU5cXKjd6OXqorTqy9GwRd++HVufPGnVsW+aO3vggKZ18jR9sXaTC1PWTEsVUaK0FkNySbTQDqlm2PfDjZcu4aalnSLKjnOoYQ0nUlqqXcGpPu/4VgV/xU2pAqW4BW3qzhQ8/hFKhV2qE3+BKAtDqBXjfgnVdH4y0wg5tbVNRenNdTWOrenWLcupQdmsbq5b+18piTe/xRdp1xbILxNPJGInm2z6hoB21Lal0i+ePTtd7B45+3XhFJ329evskXm7qurUVREotqSluSo/L29d3qDhI4YOQqWhI4YNvBNfsMHeXKemXrxQfKeuPOGRVayA3JtkJKEgbPp+dXUDluddutRYLFoXGXWX6N3WFaGLbQtRSitVYNacTNSdy7AaG/HSaUEANcBoGXNdcZvZsOqQ1icBDv21/gzAoYPHH/WDW0qNR3QTYKEAEHig6o13NXbND06CQPlRtYjGNnSktRc09k1mAMDvAlDKfQjgy6fssInlfzmNAjKkDxoxHOBLdVRAIVt9j4qo+hA1w9T1aNBNTUOTTNUHLbqokE+UAfJXCIGw/IxCSL5GRUJeR40rL/UxTm4Q08H6MbCs70ObuNyIIXrINHQYInF06UUlevTjbQzTh5upiDMzMMogUtEnjPs/Y7jAHCJeB0GBHh04tC6FiB6ZFB1oArUSIoFoqhzCeAN6lHwm0T4C3VVPWvjpSMXReuWesMEcoqrmgtNBGd2noWeV0hNAz9rFeShNJxHGsPa3HXeKTk8b55hahySYHaYKKFFLpCfN8rsoaJn01CR04Gkc+5k7KVTCmClX8Q10HCrUEkVlSX+XO33oQR9609tJ516H497WSobWs5Up6TLaS10/dessIskgJSLiDlWvHVUywpkQ7hdPZqGyiEF0uVQerVcPamT1A3eKXdyI1vG9OoflrSXihZ1qqGE3nhmAgiIbRCQgPLEPtOM3UQwTLYaYYomNlpA44opnjV6jkD6id80OOrzf6BzmMD6eEa1zKyeYG1fzfEf16V6jw9XYOaar1/b2kP/IYX8oR2mcFvv2GtBV3JXgd437AQAA)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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-latin-wght-normal.B9CIFXIH.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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(./space-grotesk-vietnamese-wght-normal.D0rl6rjA.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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(./space-grotesk-latin-ext-wght-normal.D9tNdqV9.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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(./space-grotesk-latin-wght-normal.BhU9QXUp.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}*,:after,:before{box-sizing:border-box}*{margin:0}html{scroll-behavior:smooth;scroll-padding-top:calc(16px + var(--pf-header-h));-webkit-text-size-adjust:100%}body,html{background:var(--pf-color-bg)}body{min-height:100vh;color:var(--pf-color-text);-webkit-font-smoothing:antialiased;transition:background-color var(--pf-dur-base),color var(--pf-dur-base);font-size:16px;line-height:1.6;overflow-x:clip}body,h1,h2,h3{font-family:var(--pf-font-sans)}h1,h2,h3{font-weight:700}a{color:inherit;text-decoration:none}ol,ul{padding:0;list-style:none}canvas,img,svg{max-width:100%;display:block}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}:focus-visible{outline:2px solid var(--pf-color-primary);outline-offset:3px}::selection{background:var(--pf-color-primary);color:var(--pf-color-primary-ink)}.pf-container{width:100%;max-width:var(--pf-content-max);padding-inline:var(--pf-gutter);margin-inline:auto}.pf-sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pf-skip-link{z-index:100;border-radius:var(--pf-radius-md);background:var(--pf-color-primary);color:var(--pf-color-primary-ink);transition:transform var(--pf-dur-fast) var(--pf-ease);font-weight:600;font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;padding:10px 16px;font-size:13px;line-height:1.4;position:fixed;top:8px;left:8px;transform:translateY(-200%)}.pf-skip-link:focus-visible{transform:none}[data-reveal]{transition:opacity var(--pf-dur-slow) var(--pf-ease),transform var(--pf-dur-slow) var(--pf-ease)}.is-pending{opacity:0;transform:translateY(16px)}.pf-site-main{z-index:1;position:relative}.pf-blink-cursor{color:var(--pf-color-primary);animation:1.1s steps(2,start) infinite pf-blink}.pf-blink-cursor--block{vertical-align:text-bottom;background:var(--pf-color-primary);width:.6em;height:1.1em;margin-left:2px;display:inline-block}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.is-pending{opacity:1;transform:none}.pf-blink-cursor{animation:none}}@keyframes pf-blink{to{visibility:hidden}}.pf-terminal-button{font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;border-radius:var(--pf-radius-md);white-space:nowrap;cursor:pointer;min-height:44px;transition:background-color var(--pf-dur-base) var(--pf-ease),color var(--pf-dur-base) var(--pf-ease),border-color var(--pf-dur-base) var(--pf-ease),box-shadow var(--pf-dur-base) var(--pf-ease),transform var(--pf-dur-base) var(--pf-ease);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:13px 20px;font-size:13px;font-weight:600;line-height:1.4;display:inline-flex}.pf-terminal-button--lg{min-height:56px;padding:18px 32px;font-size:18px}.pf-terminal-button--outline{border-color:var(--pf-color-primary);color:var(--pf-color-primary)}.pf-terminal-button--outline:hover,.pf-terminal-button--solid{background:var(--pf-color-primary);color:var(--pf-color-primary-ink)}.pf-terminal-button--solid:hover{box-shadow:var(--pf-shadow-lift);transform:translateY(-2px)}.pf-terminal-button--ghost{color:var(--pf-color-text-muted)}.pf-terminal-button--ghost:hover{color:var(--pf-color-primary);text-underline-offset:4px;text-decoration:underline}.pf-terminal-button:active{box-shadow:none;transition-duration:.1s;transform:translateY(0)}.pf-site-logo{font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;color:var(--pf-color-primary);white-space:nowrap;border-radius:var(--pf-radius-sm);font-size:15px;font-weight:600;line-height:1.4}.pf-site-logo__punct{color:var(--pf-color-text-dim);transition:color var(--pf-dur-base) var(--pf-ease)}.pf-site-logo:hover .pf-site-logo__punct{color:var(--pf-color-primary)}.pf-palette,.pf-palette__option{align-items:center;display:inline-flex}.pf-palette__option{border-radius:var(--pf-radius-pill);justify-content:center;width:44px;height:44px}.pf-palette__option:focus-visible{outline:2px solid var(--pf-color-primary);outline-offset:3px}.pf-palette__swatch{border-radius:var(--pf-radius-pill);background:linear-gradient(135deg,var(--pf-color-primary) 50%,var(--pf-color-secondary) 50%);width:20px;height:20px;box-shadow:0 0 0 1px var(--pf-color-border);transition:box-shadow var(--pf-dur-fast) var(--pf-ease);display:block}.pf-palette__option:hover .pf-palette__swatch{box-shadow:0 0 0 2px var(--pf-color-text-muted)}.pf-palette__option[aria-checked=true] .pf-palette__swatch{box-shadow:0 0 0 2px var(--pf-color-primary)}.pf-site-header{z-index:50;border-bottom:1px solid var(--pf-color-border);position:sticky;top:0}.pf-site-header:before{content:"";z-index:-1;background:color-mix(in oklch,var(--pf-color-bg) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:absolute;inset:0}.pf-site-header__bar{width:100%;max-width:var(--pf-content-max);padding-inline:var(--pf-gutter);justify-content:space-between;align-items:center;gap:var(--pf-space-5);height:var(--pf-header-h);margin-inline:auto;display:flex}.pf-site-header__nav{margin-left:auto;display:none}.pf-site-header__list{align-items:center;gap:var(--pf-space-4);display:flex}.pf-site-header__sep{background:var(--pf-color-border);width:1px;height:16px}.pf-site-header__link{font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--pf-color-text-muted);transition:color var(--pf-dur-fast) var(--pf-ease);padding-block:6px;font-size:13px;line-height:1.4;display:inline-block;position:relative}.pf-site-header__link:after{content:"";background:var(--pf-color-primary);transform-origin:0;height:2px;transition:transform var(--pf-dur-base) var(--pf-ease);position:absolute;inset:auto 0 0;transform:scaleX(0)}.pf-site-header__link:hover,.pf-site-header__link[aria-current=page],.pf-site-header__link[aria-current=true]{color:var(--pf-color-text)}.pf-site-header__link[aria-current=page]:after,.pf-site-header__link[aria-current=true]:after{transform:scaleX(1)}.pf-site-header__num{color:var(--pf-color-primary)}.pf-site-header__cta,.pf-site-header__palette{display:none}.pf-site-header__toggle{border-radius:var(--pf-radius-md);width:44px;height:44px;color:var(--pf-color-text);justify-content:center;align-items:center;margin-left:auto;margin-right:-10px;display:inline-flex}.pf-site-header__bars{width:20px;height:2px;transition:background-color var(--pf-dur-fast) var(--pf-ease);background:currentColor;position:relative}.pf-site-header__bars:after,.pf-site-header__bars:before{content:"";width:100%;height:2px;transition:transform var(--pf-dur-base) var(--pf-ease);background:currentColor;position:absolute;left:0}.pf-site-header__bars:before{transform:translateY(-6px)}.pf-site-header__bars:after{transform:translateY(6px)}.pf-site-header__toggle.is-open .pf-site-header__bars{background:0 0}.pf-site-header__toggle.is-open .pf-site-header__bars:before{transform:rotate(45deg)}.pf-site-header__toggle.is-open .pf-site-header__bars:after{transform:rotate(-45deg)}@media (width>=1240px){.pf-site-header__nav{display:block}.pf-site-header__palette{display:inline-flex}.pf-site-header__cta{min-height:38px;padding:9px 16px;display:inline-flex}.pf-site-header__toggle{display:none}}html.pf-nav-open{overflow:hidden}.pf-site-nav-mobile{inset:var(--pf-header-h) 0 0;z-index:49;background:var(--pf-color-bg);opacity:0;visibility:hidden;transition:opacity var(--pf-dur-base) var(--pf-ease),transform var(--pf-dur-base) var(--pf-ease),visibility 0s linear var(--pf-dur-base);position:fixed;overflow-y:auto;transform:translateY(-8px)}.pf-site-nav-mobile.is-open{opacity:1;visibility:visible;transition-delay:0s;transform:none}.pf-site-nav-mobile__nav{width:100%;max-width:var(--pf-content-max);padding-inline:var(--pf-gutter);gap:var(--pf-space-6);padding-block:var(--pf-space-6);margin-inline:auto}.pf-site-nav-mobile__list,.pf-site-nav-mobile__nav{flex-direction:column;display:flex}.pf-site-nav-mobile__link{font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;border-bottom:1px solid var(--pf-color-border);color:var(--pf-color-text-muted);transition:color var(--pf-dur-fast) var(--pf-ease);padding-block:14px;font-size:22px;line-height:1.4;display:block}.pf-site-nav-mobile__link:hover,.pf-site-nav-mobile__link[aria-current=page],.pf-site-nav-mobile__link[aria-current=true]{color:var(--pf-color-text)}.pf-site-nav-mobile__num{color:var(--pf-color-primary)}.pf-site-nav-mobile__cta{align-self:flex-start}@media (width>=1240px){.pf-site-nav-mobile{display:none}}@media (prefers-reduced-motion:reduce){.pf-site-nav-mobile{transition-duration:0s;transform:none}}.pf-hero{isolation:isolate;min-height:calc(100svh - var(--pf-header-h));padding-block:var(--pf-space-9) 0;flex-direction:column;justify-content:center;display:flex;position:relative;overflow:clip}.pf-hero__bg{z-index:-1;pointer-events:none;background-image:linear-gradient(to right,var(--pf-color-grid) 1px,transparent 1px),linear-gradient(to bottom,var(--pf-color-grid) 1px,transparent 1px);-webkit-mask-image:radial-gradient(ellipse 60% 55% at 50% 40%,var(--pf-color-bg),transparent);-webkit-mask-image:radial-gradient(ellipse 60% 55% at 50% 40%,var(--pf-color-bg),transparent);mask-image:radial-gradient(ellipse 60% 55% at 50% 40%,var(--pf-color-bg),transparent);background-size:40px 40px;position:absolute;inset:0}.pf-hero__bg:after{content:"";background:radial-gradient(closest-side,var(--pf-color-glow-soft),transparent);filter:blur(20px);width:min(640px,100%);height:420px;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}.pf-hero__inner{gap:var(--pf-space-8);align-items:center;display:grid}@media (width>=900px){.pf-hero__inner{grid-template-columns:.95fr 1.05fr;align-items:stretch}.pf-hero__text{align-self:center}}@media (width>=1536px){.pf-hero__inner{grid-template-columns:.9fr 1.1fr}}.pf-hero__side{gap:var(--pf-space-4);flex-direction:column;min-width:0;display:flex}.pf-hero .pf-hero-terminal,.pf-hero__text{min-width:0}.pf-hero .pf-hero-terminal{flex:1}.pf-hero__title{margin-top:var(--pf-space-5);letter-spacing:-.03em;overflow-wrap:anywhere;font-size:calc(clamp(48px,7vw,88px));line-height:1}@media (width>=1920px){.pf-hero__title{font-size:calc(clamp(48px,7vw,112px))}}.pf-hero__role{font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;margin-top:var(--pf-space-4);color:var(--pf-color-secondary);font-size:calc(clamp(15px,1.6vw,19px));font-weight:500;line-height:1.4}.pf-hero__intro{max-width:46ch;margin-top:var(--pf-space-5);color:var(--pf-color-text-muted);font-size:18px}.pf-hero__actions{gap:var(--pf-space-3);margin-top:var(--pf-space-6);flex-wrap:wrap;display:flex}.pf-hero-badge{font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;border:1px solid var(--pf-color-border);border-radius:var(--pf-radius-pill);background:color-mix(in oklch,var(--pf-color-pill-bg) 55%,transparent);color:var(--pf-color-primary);align-items:center;gap:10px;padding:6px 14px;font-size:12px;line-height:1.4;display:inline-flex}.pf-hero-badge__dot{background:var(--pf-color-primary);width:7px;height:7px;box-shadow:0 0 10px var(--pf-color-primary-glow);border-radius:50%;animation:1.6s ease-in-out infinite pf-pulse}@media (prefers-reduced-motion:reduce){.pf-hero-badge__dot{animation:none}}@keyframes pf-pulse{50%{opacity:.25}}.pf-hero-terminal{border:1px solid var(--pf-color-term-border);border-radius:var(--pf-radius-lg);background:var(--pf-color-term-bg);box-shadow:var(--pf-shadow-term);flex-direction:column;margin:0;display:flex;overflow:hidden}.pf-hero-terminal__bar{align-items:center;gap:var(--pf-space-4);border-bottom:1px solid var(--pf-color-term-border);padding:12px 16px;display:flex}.pf-hero-terminal__dots{gap:7px;display:flex}.pf-hero-terminal__dot{border-radius:50%;width:11px;height:11px}.pf-hero-terminal__dot--red{background:var(--pf-color-dot-red)}.pf-hero-terminal__dot--yellow{background:var(--pf-color-dot-yellow)}.pf-hero-terminal__dot--green{background:var(--pf-color-dot-green)}.pf-hero-terminal__tabs{gap:var(--pf-space-1);min-width:0;display:flex;overflow-x:auto}.pf-hero-terminal__tab{font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;border-radius:var(--pf-radius-sm);color:var(--pf-color-term-dim);cursor:pointer;white-space:nowrap;transition:color var(--pf-dur-fast) var(--pf-ease),border-color var(--pf-dur-fast) var(--pf-ease);background:0 0;border:1px solid #0000;padding:6px 10px;font-size:12px;line-height:1.4}.pf-hero-terminal__tab:hover{color:var(--pf-color-term-text)}.pf-hero-terminal__tab.is-active{color:var(--pf-color-primary);border-color:var(--pf-color-term-border)}.pf-hero-terminal__tab:focus-visible{outline:2px solid var(--pf-color-primary);outline-offset:3px}@media (prefers-reduced-motion:reduce){.pf-hero-terminal__tab{transition:none}}.pf-hero-terminal__panels{flex:1;min-height:0;display:grid}.pf-hero-terminal__body{padding:var(--pf-space-5);visibility:hidden;grid-area:1/1;overflow-x:auto}.pf-hero-terminal__body.is-active{visibility:visible}.pf-hero-terminal__code{font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;white-space:pre;color:var(--pf-color-term-text);margin:0;font-size:14px;line-height:1.85}@media (width<=520px){.pf-hero-terminal__code{font-size:12px}}@media (width>=1536px){.pf-hero-terminal__code{font-size:15px}}.pf-hero-terminal__line{display:block}.pf-hero-terminal__line:empty:before{content:"​"}.pf-tok--keyword{color:var(--pf-syntax-keyword)}.pf-tok--key{color:var(--pf-syntax-prop)}.pf-tok--string{color:var(--pf-syntax-string)}.pf-tok--bool,.pf-tok--number{color:var(--pf-syntax-number)}.pf-tok--punct{color:var(--pf-syntax-punct)}.pf-hero-now{padding:var(--pf-space-4) 20px;border:1px solid var(--pf-color-term-border);border-radius:var(--pf-radius-lg);background:var(--pf-color-term-bg);display:none}@media (width>=1100px){.pf-hero-now{display:block}}.pf-hero-now__title{font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;margin:0 0 var(--pf-space-3);color:var(--pf-color-primary);font-size:12px;font-weight:600;line-height:1.4}.pf-hero-now__list{gap:var(--pf-space-2);margin:0;display:grid}.pf-hero-now__row{font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;gap:0 var(--pf-space-3);flex-wrap:wrap;font-size:14px;line-height:1.4;display:flex}.pf-hero-now__key{min-width:9ch;color:var(--pf-color-text-dim)}.pf-hero-now__value{color:var(--pf-color-text);margin:0}.pf-section-rail{display:none}@media (width>=1536px){.pf-section-rail{top:50%;right:max(8px,-14px + .25 * (100vw - var(--pf-content-max)));z-index:5;gap:var(--pf-space-4);display:grid;position:fixed;transform:translateY(-50%)}}.pf-section-rail__link{font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;color:var(--pf-color-text-dim);transition:color var(--pf-dur-fast) var(--pf-ease),border-color var(--pf-dur-fast) var(--pf-ease);border-right:2px solid #0000;padding:4px 6px 4px 10px;font-size:12px;line-height:1.4;text-decoration:none}.pf-section-rail__link.is-active,.pf-section-rail__link:hover{color:var(--pf-color-primary)}.pf-section-rail__link.is-active{border-right-color:var(--pf-color-primary)}.pf-section-rail__link:focus-visible{outline:2px solid var(--pf-color-primary);outline-offset:3px}.pf-experience-card{align-content:start;gap:var(--pf-space-4);padding:var(--pf-space-5);border:1px solid var(--pf-color-border);border-radius:var(--pf-radius-lg);background:var(--pf-color-surface);display:none}@media (width>=1100px){.pf-experience-card{top:calc(var(--pf-header-h) + var(--pf-space-5));display:grid;position:sticky}}.pf-experience-card__status{font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;align-items:center;gap:var(--pf-space-2);color:var(--pf-color-text);margin:0;font-size:13px;line-height:1.4;display:flex}.pf-experience-card__dot{background:var(--pf-color-ok);border-radius:50%;width:8px;height:8px}.pf-experience-card__status.is-busy .pf-experience-card__dot{background:var(--pf-color-warn)}.pf-section{border-top:1px solid var(--pf-color-border);padding-block:56px}@media (width>=520px){.pf-section{padding-block:var(--pf-space-9)}}@media (width>=900px){.pf-section{padding-block:var(--pf-space-10)}}.pf-section-heading{margin-bottom:var(--pf-space-7)}.pf-section-heading__eyebrow{font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;color:var(--pf-color-primary);font-size:13px;line-height:1.4}.pf-section-heading__title{margin-top:var(--pf-space-2);letter-spacing:-.02em;font-size:calc(clamp(28px,4vw,40px));line-height:1.15}.pf-empty{font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;padding:var(--pf-space-5);color:var(--pf-color-text-dim);border:1px dashed var(--pf-color-border);border-radius:var(--pf-radius-lg);font-size:13px;line-height:1.4}.pf-marquee{border-block:1px solid var(--pf-color-border);height:48px;-webkit-mask-image:linear-gradient(to right,transparent,var(--pf-color-bg) 48px,var(--pf-color-bg) calc(100% - 48px),transparent);-webkit-mask-image:linear-gradient(to right,transparent,var(--pf-color-bg) 48px,var(--pf-color-bg) calc(100% - 48px),transparent);mask-image:linear-gradient(to right,transparent,var(--pf-color-bg) 48px,var(--pf-color-bg) calc(100% - 48px),transparent);overflow:hidden}@media (width>=520px){.pf-marquee{height:56px}}.pf-marquee__track{width:max-content;height:100%;animation:38s linear infinite pf-marquee;display:flex}.pf-marquee__group{flex-shrink:0;align-items:center;display:flex}.pf-marquee__item{font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;padding-right:var(--pf-space-8);white-space:nowrap;color:var(--pf-color-text-muted);font-size:13px;line-height:1.4}.pf-marquee__diamond{margin-right:var(--pf-space-2);color:var(--pf-color-primary)}.pf-marquee:focus-within .pf-marquee__track,.pf-marquee:hover .pf-marquee__track{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.pf-section-rail__link{transition:none}.pf-marquee{height:auto;padding-block:var(--pf-space-3);-webkit-mask-image:none;mask-image:none}.pf-marquee__track{width:auto;animation:none}.pf-marquee__group{padding-inline:var(--pf-gutter);flex-wrap:wrap;justify-content:center}.pf-marquee__group[aria-hidden=true]{display:none}.pf-marquee__item{padding-right:var(--pf-space-5)}}@keyframes pf-marquee{to{transform:translate(-50%)}}.pf-about__grid{gap:var(--pf-space-8);align-items:center;display:grid}@media (width>=900px){.pf-about__grid{grid-template-columns:1.2fr .8fr}}.pf-about__statement{letter-spacing:-.015em;font-size:calc(clamp(24px,3.2vw,36px));font-weight:500;line-height:1.3}.pf-about__em{color:var(--pf-color-primary);font-style:normal}.pf-about__stats{gap:var(--pf-space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.pf-stat-card{padding:var(--pf-space-4);background:var(--pf-color-surface);border:1px solid var(--pf-color-border);border-radius:var(--pf-radius-lg);transition:border-color var(--pf-dur-base) var(--pf-ease),transform var(--pf-dur-base) var(--pf-ease)}@media (width>=520px){.pf-stat-card{padding:22px}}.pf-stat-card:hover{border-color:var(--pf-color-primary);transform:translateY(-2px)}.pf-stat-card__value{font-variant-numeric:tabular-nums;color:var(--pf-color-primary);font-size:calc(clamp(30px,3vw,40px));font-weight:700;line-height:1.1}.pf-stat-card__label{font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;margin-top:var(--pf-space-2);color:var(--pf-color-text-muted);font-size:12px;line-height:1.4}@media (prefers-reduced-motion:reduce){.pf-stat-card:hover{transform:none}}.pf-media{aspect-ratio:16/9;background:var(--pf-color-term-bg);width:100%;position:relative;overflow:hidden}.pf-media__img{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;width:100%;height:100%;display:block}.pf-media--cover:after{content:"";pointer-events:none;background:linear-gradient(90deg,color-mix(in oklch,var(--pf-color-surface) var(--pf-media-edge),transparent) 0,transparent 22%,transparent 78%,color-mix(in oklch,var(--pf-color-surface) var(--pf-media-edge),transparent) 100%);transition:opacity var(--pf-dur-base) var(--pf-ease);position:absolute;inset:0}.pf-media--cover:not(.pf-media--placeholder):after{background:linear-gradient(90deg,color-mix(in oklch,var(--pf-color-surface) var(--pf-media-edge),transparent) 0,transparent 8%,transparent 92%,color-mix(in oklch,var(--pf-color-surface) var(--pf-media-edge),transparent) 100%)}:is(.pf-project-card,.pf-blog-card):is(:hover,:focus-within) .pf-media--cover:after{opacity:.3}.pf-media--hero{border:1px solid var(--pf-color-border);border-radius:var(--pf-radius-xl)}.pf-media__ph{padding:36px var(--pf-space-4) var(--pf-space-3);background-image:linear-gradient(var(--pf-color-grid) 1px,transparent 1px),linear-gradient(90deg,var(--pf-color-grid) 1px,transparent 1px);background-size:40px 40px;flex-direction:column;justify-content:center;gap:2px;display:flex;position:absolute;inset:0;overflow:hidden}.pf-media__ph-bar{height:28px;padding:0 var(--pf-space-3);border-bottom:1px solid var(--pf-color-term-border);background:var(--pf-color-term-bg);align-items:center;gap:6px;display:flex;position:absolute;inset:0 0 auto}.pf-media__ph-dot{border-radius:50%;width:8px;height:8px}.pf-media__ph-dot--r{background:var(--pf-color-dot-red)}.pf-media__ph-dot--y{background:var(--pf-color-dot-yellow)}.pf-media__ph-dot--g{background:var(--pf-color-dot-green)}.pf-media__ph-name{margin-left:var(--pf-space-2);color:var(--pf-color-term-dim);font-size:11px}.pf-art__tag,.pf-media__ph-line,.pf-media__ph-name,.pf-project-card__badge,.pf-project-card__num,.pf-project-card__platform{font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;line-height:1.4}.pf-media__ph-line{color:var(--pf-syntax-punct);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.pf-media__ph-key{color:var(--pf-syntax-prop)}.pf-media__ph-val{color:var(--pf-syntax-string)}.pf-art{position:absolute;inset:0;overflow:hidden}.pf-art__svg{width:100%;height:100%;display:block}.pf-art__mreza{fill:var(--pf-color-term-bg)}.pf-art__stop-a{stop-color:color-mix(in oklch,var(--pf-color-primary) 70%,var(--pf-color-term-bg))}.pf-art__stop-b{stop-color:color-mix(in oklch,var(--pf-color-primary) 12%,var(--pf-color-term-bg))}.pf-art__glow-a{stop-color:var(--pf-color-glow-soft)}.pf-art__glow-b{stop-color:transparent}.pf-art__line{stroke:var(--pf-color-primary);stroke-width:1.4px}.pf-art__thin{fill:none;stroke:color-mix(in oklch,var(--pf-color-primary) 55%,transparent);stroke-width:.8px}.pf-art__nofill{fill:none}.pf-art__layer{fill:color-mix(in oklch,var(--pf-color-primary) calc(14% + var(--i,0) * 9%),var(--pf-color-term-bg));stroke:var(--pf-color-primary);stroke-width:1.1px}.pf-art__dot{fill:var(--pf-color-text)}.pf-art__tag{top:var(--pf-space-3);left:var(--pf-space-3);color:var(--pf-color-text-muted);background:color-mix(in oklch,var(--pf-color-term-bg) 80%,transparent);border-radius:var(--pf-radius-sm);padding:3px 8px;font-size:11px;position:absolute}.pf-projects__grid,.pf-projekti__list{align-items:stretch;gap:var(--pf-space-5);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=520px){.pf-projects__grid,.pf-projekti__list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1180px){.pf-projects__grid,.pf-projekti__list{grid-template-columns:repeat(3,minmax(0,1fr))}}.pf-project-card{background:var(--pf-color-surface);border:1px solid var(--pf-color-border);border-radius:var(--pf-radius-xl);transition:transform var(--pf-dur-base) var(--pf-ease),border-color var(--pf-dur-base) var(--pf-ease),box-shadow var(--pf-dur-base) var(--pf-ease);flex-direction:column;min-width:0;display:flex;position:relative;overflow:hidden}.pf-project-card__media{border-bottom:1px solid var(--pf-color-border);flex:none}.pf-project-card__body{gap:var(--pf-space-3);min-width:0;padding:var(--pf-space-5);flex-direction:column;flex:1;display:flex}.pf-project-card__platform{color:var(--pf-color-text-muted);border:1px solid var(--pf-color-border);border-radius:var(--pf-radius-pill);padding:2px 8px;font-size:11px}.pf-project-card__meta{align-items:center;gap:var(--pf-space-2);display:flex}.pf-project-card:focus-within,.pf-project-card:hover{border-color:var(--pf-color-primary);box-shadow:var(--pf-shadow-lift);transform:translateY(-4px)}.pf-project-card__top{justify-content:space-between;align-items:center;gap:var(--pf-space-3);display:flex}.pf-project-card__num{color:var(--pf-color-text-dim);font-size:13px}.pf-project-card__badge{color:var(--pf-color-primary);background:var(--pf-color-pill-bg);border-radius:var(--pf-radius-pill);padding:3px 10px;font-size:12px;font-weight:600}.pf-project-card__name{font-family:var(--pf-font-mono);overflow-wrap:anywhere;font-size:22px;font-weight:600;line-height:1.2}.pf-project-card__link:after{content:"";border-radius:inherit;position:absolute;inset:0}.pf-project-card__link:focus-visible{outline:none}.pf-project-card:has(.pf-project-card__link:focus-visible){outline:2px solid var(--pf-color-primary);outline-offset:3px}.pf-project-card__arrow{color:var(--pf-color-primary);transition:transform var(--pf-dur-base) var(--pf-ease);display:inline-block}.pf-project-card:focus-within .pf-project-card__arrow,.pf-project-card:hover .pf-project-card__arrow{transform:translate(6px)}.pf-project-card__desc{max-width:52ch;color:var(--pf-color-text-muted);line-clamp:3;-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.pf-project-card__spark{padding-top:var(--pf-space-4);margin-top:auto}.pf-project-card__spark-bars{font-family:var(--pf-font-mono);letter-spacing:.15em;color:var(--pf-color-primary);font-size:20px;line-height:1;display:block}.pf-project-card__spark-note{font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;margin-top:var(--pf-space-2);color:var(--pf-color-text-dim);font-size:12px;line-height:1.4;display:block}.pf-project-card__tags{gap:var(--pf-space-2);flex-wrap:wrap;margin-top:auto;display:flex}.pf-project-card__spark+.pf-project-card__tags{margin-top:var(--pf-space-3)}@media (prefers-reduced-motion:reduce){.pf-project-card:focus-within,.pf-project-card:hover,.pf-project-card:focus-within .pf-project-card__arrow,.pf-project-card:hover .pf-project-card__arrow{transform:none}}.pf-tag{font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;color:var(--pf-color-secondary);background:var(--pf-color-tag-bg);border-radius:var(--pf-radius-sm);padding:2px 8px;font-size:12px;line-height:1.4}.pf-tag--more{color:var(--pf-color-text-muted);border:1px solid var(--pf-color-border);background:0 0}.pf-projects__more{margin-top:var(--pf-space-6)}.pf-projects__more-link{font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;color:var(--pf-color-primary);font-size:13px;line-height:1.4}.pf-projects__more-link:hover,.pf-projekt__crumbs a:hover,.pf-projekti__links a:hover{text-decoration:underline}.pf-platform-filter{justify-content:space-between;align-items:center;gap:var(--pf-space-3);margin-bottom:var(--pf-space-6);flex-wrap:wrap;display:flex}.pf-platform-filter__chips{gap:var(--pf-space-2);flex-wrap:wrap;display:flex}.pf-platform-filter__count{color:var(--pf-color-text-dim);font-size:12px}.pf-platform-filter__count,.pf-projects__empty,.pf-projekti__chip{font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;line-height:1.4}.pf-projects__empty{align-items:flex-start;gap:var(--pf-space-3);padding:var(--pf-space-6);color:var(--pf-color-text-muted);border:1px dashed var(--pf-color-border);border-radius:var(--pf-radius-lg);flex-direction:column;font-size:13px;display:flex}.pf-projekti__filters{gap:var(--pf-space-2);margin-bottom:var(--pf-space-6);flex-wrap:wrap;display:flex}.pf-projekti__chip{min-height:36px;color:var(--pf-color-text-muted);border:1px solid var(--pf-color-border);border-radius:var(--pf-radius-pill);cursor:pointer;transition:border-color var(--pf-dur-base) var(--pf-ease),color var(--pf-dur-base) var(--pf-ease),background-color var(--pf-dur-base) var(--pf-ease);background:0 0;padding:0 12px;font-size:12px}.pf-projekti__chip:hover{color:var(--pf-color-primary);border-color:var(--pf-color-primary)}.pf-projekti__chip.is-active{color:var(--pf-color-primary-ink);background:var(--pf-color-primary);border-color:var(--pf-color-primary)}.pf-projekti__chip:focus-visible{outline:2px solid var(--pf-color-primary);outline-offset:3px}.pf-projekti__count{opacity:.7;font-variant-numeric:tabular-nums}.pf-projekti__links{font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;gap:var(--pf-space-4);font-size:13px;line-height:1.4;display:flex}.pf-projekti__links a{color:var(--pf-color-primary)}.pf-projekti__links a:focus-visible{outline:2px solid var(--pf-color-primary);outline-offset:3px}.pf-blog__intro{max-width:52ch;margin-top:var(--pf-space-3);font-size:17px;line-height:1.6}.pf-blog__empty,.pf-blog__intro{color:var(--pf-color-text-muted)}.pf-blog__empty{font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;align-items:flex-start;gap:var(--pf-space-4);padding:var(--pf-space-6);background:var(--pf-color-term-bg);border:1px dashed var(--pf-color-border);border-radius:var(--pf-radius-lg);flex-direction:column;font-size:15px;line-height:1.4;display:flex}.pf-blog__empty-title{font-size:18px;font-weight:500}.pf-blog-grid{align-items:stretch;gap:var(--pf-space-4);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=900px){.pf-blog-grid{gap:var(--pf-space-5);grid-template-columns:repeat(2,minmax(0,1fr))}}.pf-blog-meta{font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;align-items:center;gap:var(--pf-space-2) var(--pf-space-3);color:var(--pf-color-text-dim);flex-wrap:wrap;font-size:12px;line-height:1.4;display:flex}.pf-blog-meta__cat{color:var(--pf-color-text-muted);border-radius:var(--pf-radius-pill);padding:2px 8px}.pf-blog-card,.pf-blog-meta__cat{border:1px solid var(--pf-color-border)}.pf-blog-card{background:var(--pf-color-surface);border-radius:var(--pf-radius-xl);min-width:0;transition:border-color var(--pf-dur-base) var(--pf-ease);flex-direction:column;display:flex;position:relative;overflow:hidden}.pf-blog-card__media{border-bottom:1px solid var(--pf-color-border);flex:none}.pf-blog-card__body{gap:var(--pf-space-3);min-width:0;padding:var(--pf-space-5);flex-direction:column;flex:1;display:flex}.pf-blog-card__title{letter-spacing:-.01em;overflow-wrap:anywhere;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:22px;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.pf-blog-card__link{color:var(--pf-color-text)}.pf-blog-card__link:after{content:"";z-index:1;border-radius:inherit;position:absolute;inset:0}.pf-blog-card__link:focus-visible{outline:none}.pf-blog-card__link:focus-visible:after{outline:2px solid var(--pf-color-primary);outline-offset:3px}.pf-blog-card__desc{color:var(--pf-color-text-muted);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;font-size:15px;line-height:1.55;display:-webkit-box;overflow:hidden}.pf-blog-card__more{font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;color:var(--pf-color-primary);margin-top:auto;font-size:13px;line-height:1.4}.pf-blog-card--code,.pf-blog-card:focus-within,.pf-blog-card:hover{border-color:var(--pf-color-primary)}.pf-blog-card__code{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.pf-blog-card__code.is-reduced{opacity:0;transition:opacity .12s linear}.pf-blog-card__code.is-reduced.is-on{opacity:1}.pf-blog-card__toggle{font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;top:var(--pf-space-3);right:var(--pf-space-3);z-index:3;min-width:44px;min-height:44px;color:var(--pf-color-primary);background:color-mix(in oklch,var(--pf-color-bg) 80%,transparent);border:1px solid var(--pf-color-border);border-radius:var(--pf-radius-md);cursor:pointer;transition:border-color var(--pf-dur-fast) var(--pf-ease),background-color var(--pf-dur-fast) var(--pf-ease);justify-content:center;align-items:center;font-size:12px;line-height:1.4;display:none;position:absolute}.pf-blog-card__toggle[aria-pressed=true]{color:var(--pf-color-primary-ink);background:var(--pf-color-primary);border-color:var(--pf-color-primary)}.pf-blog-card__toggle:focus-visible{outline:2px solid var(--pf-color-primary);outline-offset:3px}@media (hover:none){.pf-blog-card__toggle{display:inline-flex}}@media (width>=1180px){.pf-blog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pf-blog-card--wide{flex-direction:row;grid-column:1/-1}.pf-blog-card--wide>.pf-blog-card__media{border-right:1px solid var(--pf-color-border);border-bottom:0;flex:1.1 1 0;align-self:center}.pf-blog-card--wide>.pf-blog-card__body{flex:1 1 0}}.pf-clanek__top{gap:var(--pf-space-6);padding-bottom:var(--pf-space-6);display:grid}@media (width>=900px){.pf-clanek__top--s-sliko{grid-template-columns:minmax(0,1fr) minmax(0,420px);align-items:start}.pf-projekt__body{grid-template-columns:minmax(0,1fr) 320px}}.pf-clanek__head{gap:var(--pf-space-4);flex-direction:column;display:flex}.pf-clanek__title{letter-spacing:-.025em;overflow-wrap:anywhere;font-size:calc(clamp(32px,5vw,56px));font-weight:700;line-height:1.08}.pf-clanek__lead{color:var(--pf-color-text-muted);font-size:20px;line-height:1.5}.pf-clanek__foot{justify-content:space-between;align-items:center;gap:var(--pf-space-3);margin-top:var(--pf-space-8);padding-top:var(--pf-space-5);border-top:1px solid var(--pf-color-border);flex-wrap:wrap;display:flex}.pf-clanek__date{font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;color:var(--pf-color-text-dim);font-size:12px;line-height:1.4}.pf-blog-body{margin-top:var(--pf-space-7);color:var(--pf-color-text);font-size:18px;line-height:1.7}.pf-blog-body>*+*{margin-top:var(--pf-space-5)}.pf-blog-body>.pf-blog-body__h2{margin-top:var(--pf-space-8)}.pf-blog-body__h2{letter-spacing:-.02em;font-size:28px;font-weight:700;line-height:1.2}.pf-blog-body__h2:before{content:"// ";color:var(--pf-color-primary)}.pf-blog-body__list{padding-left:var(--pf-space-5)}.pf-blog-body__list li+li{margin-top:var(--pf-space-2)}.pf-blog-body__list--ul{list-style:none}.pf-blog-body__list--ul li{position:relative}.pf-blog-body__list--ul li:before{content:"◆";left:calc(-1 * var(--pf-space-5));color:var(--pf-color-secondary);font-size:.7em;line-height:2.4;position:absolute}.pf-blog-body__list--ol{list-style:decimal}.pf-blog-body__list--ol li::marker{font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;color:var(--pf-color-primary);font-size:15px;line-height:1.4}.pf-blog-body__code{background:var(--pf-color-term-bg);border:1px solid var(--pf-color-border);border-radius:var(--pf-radius-lg);overflow:hidden}.pf-blog-body__code-bar{height:28px;padding:0 var(--pf-space-3);border-bottom:1px solid var(--pf-color-term-border);align-items:center;gap:6px;display:flex}.pf-blog-body__code-lang{margin-left:var(--pf-space-2);color:var(--pf-color-term-dim);font-size:11px;line-height:1.4}.pf-blog-body__code-lang,.pf-blog-body__pre,.pf-blog-body__quote footer,.pf-contact__links,.pf-copy-email,.pf-experience-item__period,.pf-project-card .pf-pixel-toggle,.pf-projekt__cmd,.pf-projekt__crumbs,.pf-projekt__meta dd,.pf-projekt__meta dt,.pf-projekt__techs li,.pf-projekt__title,.pf-skill-bar__pct,.pf-skill-group__title{font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums}.pf-blog-body__pre{padding:var(--pf-space-5);color:var(--pf-color-term-text);white-space:pre;margin:0;font-size:14px;line-height:1.7;overflow-x:auto}.pf-blog-body__pre:focus-visible{outline:2px solid var(--pf-color-primary);outline-offset:3px}.pf-blog-body__quote{padding-left:var(--pf-space-5);border-left:2px solid var(--pf-color-primary);font-size:22px;font-weight:500;line-height:1.4}.pf-blog-body__quote footer{margin-top:var(--pf-space-3);color:var(--pf-color-text-dim);font-size:13px;line-height:1.4}.pf-pixel-code{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.pf-pixel-code.is-reduced{opacity:0;transition:opacity .12s linear}.pf-pixel-code.is-reduced.is-on{opacity:1}.pf-project-card .pf-pixel-toggle{top:var(--pf-space-3);left:var(--pf-space-3);z-index:3;min-width:44px;min-height:44px;color:var(--pf-color-primary);background:color-mix(in oklch,var(--pf-color-bg) 80%,transparent);border:1px solid var(--pf-color-border);border-radius:var(--pf-radius-md);cursor:pointer;transition:border-color var(--pf-dur-fast) var(--pf-ease),background-color var(--pf-dur-fast) var(--pf-ease);justify-content:center;align-items:center;font-size:12px;line-height:1.4;display:none;position:absolute}.pf-project-card .pf-pixel-toggle[aria-pressed=true]{color:var(--pf-color-primary-ink);background:var(--pf-color-primary);border-color:var(--pf-color-primary)}.pf-project-card .pf-pixel-toggle:focus-visible{outline:2px solid var(--pf-color-primary);outline-offset:3px}@media (hover:none){.pf-project-card .pf-pixel-toggle{display:inline-flex}}.pf-projekt__crumbs{margin-bottom:var(--pf-space-7);color:var(--pf-color-text-dim);font-size:13px;line-height:1.4}.pf-projekt__crumbs a{color:var(--pf-color-primary)}.pf-projekt__head{padding-bottom:var(--pf-space-6);border-bottom:1px solid var(--pf-color-border)}.pf-projekt__tags{gap:var(--pf-space-2);margin-bottom:var(--pf-space-4);flex-wrap:wrap;display:flex}.pf-projekt__title{letter-spacing:-.02em;overflow-wrap:anywhere;font-size:calc(clamp(32px,5vw,56px));font-weight:600;line-height:1.1}.pf-projekt__lead{margin-top:var(--pf-space-4);color:var(--pf-color-text);font-size:calc(clamp(18px,2vw,22px));font-weight:500;line-height:1.5}.pf-projekt__hero{margin-top:var(--pf-space-6)}.pf-projekt__body{gap:var(--pf-space-8);margin-top:var(--pf-space-7);display:grid}.pf-projekt__body--solo{grid-template-columns:minmax(0,420px)}.pf-projekt__about{gap:var(--pf-space-5);max-width:62ch;color:var(--pf-color-text-muted);flex-direction:column;font-size:17px;line-height:1.7;display:flex}.pf-projekt__stack{padding:var(--pf-space-5);background:var(--pf-color-term-bg);border:1px solid var(--pf-color-border);border-radius:var(--pf-radius-lg);align-self:start}@media (width>=900px){.pf-projekt__stack{position:sticky;top:88px}.pf-skills__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.pf-projekt__cmd{color:var(--pf-color-text-dim);font-size:12px;line-height:1.4}.pf-projekt__techs{gap:var(--pf-space-2);margin:var(--pf-space-4) 0;flex-direction:column;display:flex}.pf-projekt__techs li{color:var(--pf-color-primary);font-size:14px;line-height:1.4}.pf-projekt__techs li:before{content:"◆ ";color:var(--pf-color-secondary)}.pf-projekt__meta{gap:var(--pf-space-2);padding-top:var(--pf-space-4);border-top:1px solid var(--pf-color-border);flex-direction:column;display:flex}.pf-projekt__meta div{justify-content:space-between;gap:var(--pf-space-3);display:flex}.pf-projekt__meta dd,.pf-projekt__meta dt{font-size:12px;line-height:1.4}.pf-projekt__meta dt{color:var(--pf-color-text-dim)}.pf-projekt__meta dd{color:var(--pf-color-text);text-align:right}.pf-projekt__actions{gap:var(--pf-space-3);margin-top:var(--pf-space-5);flex-wrap:wrap;display:flex}.pf-projekt__missing{align-items:flex-start;gap:var(--pf-space-4);flex-direction:column;max-width:520px;display:flex}.pf-skill-group__list,.pf-skills__grid{gap:var(--pf-space-4);display:grid}.pf-skill-group{padding:var(--pf-space-5);background:var(--pf-color-surface);border:1px solid var(--pf-color-border);border-radius:var(--pf-radius-lg)}.pf-skill-group__title{margin-bottom:var(--pf-space-5);color:var(--pf-color-primary);font-size:14px;font-weight:600;line-height:1.4}.pf-skill-bar__row{justify-content:space-between;align-items:baseline;gap:var(--pf-space-3);display:flex}.pf-skill-bar__name{font-weight:500}.pf-skill-bar__pct{color:var(--pf-color-text-muted);font-size:12px;line-height:1.4}.pf-skill-bar__track{height:6px;margin-top:var(--pf-space-2);background:var(--pf-color-surface-2);border-radius:2px}.pf-skill-bar__fill{background:var(--pf-color-primary);transform-origin:0;height:100%;transition:transform .6s var(--pf-ease);border-radius:2px;position:relative}.pf-skill-bar__fill:after{content:"";background:var(--pf-color-text);border-radius:1px;width:2px;height:100%;position:absolute;top:0;right:0}.pf-skill-bar.is-pending{opacity:1;transform:none}.pf-skill-bar.is-pending .pf-skill-bar__fill{transform:scaleX(0)}@media (prefers-reduced-motion:reduce){.pf-skill-bar__fill{transition:none}.pf-skill-bar.is-pending .pf-skill-bar__fill{transform:none}}.pf-experience__layout{gap:var(--pf-space-8);align-items:start;display:grid}@media (width>=1100px){.pf-experience__layout{grid-template-columns:minmax(0,1fr) 340px}}.pf-experience__list{max-width:860px;margin:0;padding:0;list-style:none}.pf-experience-item{padding:0 0 var(--pf-space-7) var(--pf-space-6);border-left:1px solid var(--pf-color-border);margin-left:5px;position:relative}.pf-experience-item:last-child{padding-bottom:0}.pf-experience-item:before{content:"";background:var(--pf-color-primary);border-radius:50%;width:11px;height:11px;position:absolute;top:4px;left:-6px}.pf-experience-item.is-current:before{box-shadow:0 0 0 4px var(--pf-color-glow-soft)}.pf-experience-item__period{color:var(--pf-color-text-muted);margin-bottom:var(--pf-space-2);font-size:13px;line-height:1.4}.pf-experience-item__role{font-size:22px;font-weight:600;line-height:1.25}.pf-experience-item__company{margin-top:var(--pf-space-1);color:var(--pf-color-primary);font-weight:500}.pf-experience-item__text{margin-top:var(--pf-space-2);max-width:52ch;color:var(--pf-color-text-muted)}@media (width>=900px){.pf-experience-item{gap:var(--pf-space-6);border-left:0;grid-template-columns:148px 1fr;margin-left:0;padding-left:0;display:grid}.pf-experience-item:after{content:"";top:0;bottom:0;left:calc(148px + var(--pf-space-6) / 2);background:var(--pf-color-border);width:1px;position:absolute}.pf-experience-item:first-child:after{top:10px}.pf-experience-item:last-child:after{height:10px;bottom:auto}.pf-experience-item:before{left:calc(143px + var(--pf-space-6) / 2);z-index:1}.pf-experience-item__period{text-align:right;margin:3px 0 0}}.pf-contact{padding-block:80px}@media (width>=900px){.pf-contact{padding-block:128px}}.pf-contact__inner{text-align:center;align-items:center;gap:var(--pf-space-5);flex-direction:column;display:flex}.pf-contact__title{letter-spacing:-.035em;overflow-wrap:anywhere;font-size:calc(clamp(40px,9vw,112px));line-height:1}.pf-contact__accent{color:var(--pf-color-primary)}.pf-contact__text{max-width:48ch;color:var(--pf-color-text-muted);font-size:18px}.pf-contact__links{margin:var(--pf-space-4) 0 0;flex-wrap:wrap;justify-content:center;padding:0;font-size:14px;line-height:1.4;list-style:none}.pf-contact__item,.pf-contact__links{align-items:center;gap:var(--pf-space-3);display:flex}.pf-contact__sep{color:var(--pf-color-text-dim)}.pf-contact__link{color:var(--pf-color-text-muted);transition:color var(--pf-dur-fast) var(--pf-ease);padding:10px 6px;text-decoration:none;display:inline-block}.pf-contact__link:hover{color:var(--pf-color-primary);text-underline-offset:4px;text-decoration:underline}.pf-contact__link:focus-visible{outline:2px solid var(--pf-color-primary);outline-offset:3px}.pf-copy-email{justify-content:center;align-items:center;gap:var(--pf-space-3);color:var(--pf-color-text-dim);flex-wrap:wrap;font-size:13px;line-height:1.4;display:flex}.pf-copy-email__button{font:inherit;min-height:36px;color:var(--pf-color-text-muted);border:1px solid var(--pf-color-border);border-radius:var(--pf-radius-sm);cursor:pointer;transition:color var(--pf-dur-fast) var(--pf-ease),border-color var(--pf-dur-fast) var(--pf-ease);background:0 0;padding:8px 12px}.pf-copy-email__button:hover{color:var(--pf-color-primary);border-color:var(--pf-color-primary)}.pf-copy-email__button:focus-visible{outline:2px solid var(--pf-color-primary);outline-offset:3px}.pf-copy-email__toast{min-width:14ch;color:var(--pf-color-primary);text-align:left}.pf-contact-form{gap:var(--pf-space-4);text-align:left;width:100%;max-width:520px;display:grid}.pf-contact-form__field{gap:6px;display:grid}.pf-contact-form__label{font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;color:var(--pf-color-text-muted);font-size:12px;line-height:1.4}.pf-contact-form__input{border:1px solid var(--pf-color-border);border-radius:var(--pf-radius-md);background:var(--pf-color-surface);width:100%;min-height:44px;color:var(--pf-color-text);font:inherit;transition:border-color var(--pf-dur-fast) var(--pf-ease);padding:10px 12px}.pf-contact-form__input:hover{border-color:var(--pf-color-text-dim)}.pf-contact-form__input[aria-invalid=true]{border-color:var(--pf-color-danger)}.pf-contact-form__input--area{resize:vertical}.pf-contact-form__error{color:var(--pf-color-danger);font-size:13px}.pf-contact-form__status{min-height:1.4em;color:var(--pf-color-primary);font-size:14px}.pf-contact-form__status.is-error{color:var(--pf-color-danger)}.pf-footer{padding-block:var(--pf-space-6);border-top:1px solid var(--pf-color-border)}.pf-footer__list{justify-content:center;gap:var(--pf-space-2) var(--pf-space-5);margin-bottom:var(--pf-space-3);flex-wrap:wrap;display:flex}.pf-footer__link{font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;color:var(--pf-color-text-muted);transition:color var(--pf-dur-fast) var(--pf-ease);padding-block:6px;font-size:12px;line-height:1.4;display:inline-block}.pf-footer__link:hover,.pf-footer__link[aria-current=page]{color:var(--pf-color-primary)}.pf-footer__login-link,.pf-footer__text{color:var(--pf-color-text-dim)}.pf-footer__login,.pf-footer__text{font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;text-align:center;font-size:12px;line-height:1.4}.pf-footer__login{margin-top:var(--pf-space-2)}.pf-footer__login-link{text-underline-offset:3px;transition:color var(--pf-dur-fast) var(--pf-ease);text-decoration:underline}.pf-footer__login-link:hover{color:var(--pf-color-primary)}.pf-matrix{z-index:0;pointer-events:none;opacity:0;width:100%;height:100%;transition:opacity .6s var(--pf-ease);position:fixed;inset:0}.pf-matrix.is-ready{opacity:1}.pf-matrix__canvas{width:100%;height:100%;display:block}.pf-section[data-ghost]{isolation:isolate;position:relative;overflow-x:clip}.pf-section[data-ghost]:before{content:attr(data-ghost);z-index:-2;font-family:var(--pf-font-mono);letter-spacing:-.04em;white-space:nowrap;color:#0000;-webkit-text-stroke:1px var(--pf-color-border);pointer-events:none;-webkit-user-select:none;user-select:none;font-size:calc(clamp(120px,22vw,320px));font-weight:700;line-height:1;position:absolute;top:3%;right:-2vw}@supports (animation-timeline:view()){html[data-matrix=polet] .pf-section[data-ghost]:before{animation:linear both pf-ghost-drift;animation-timeline:view()}@media (prefers-reduced-motion:reduce){html[data-matrix=polet] .pf-section[data-ghost]:before{animation:none}}}@keyframes pf-ghost-drift{0%{transform:translateY(-14vh)}to{transform:translateY(14vh)}}.pf-contact:after,.pf-hero:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(closest-side,color-mix(in oklch,var(--pf-color-bg) 88%,transparent) 55%,transparent);position:absolute}.pf-hero:before{width:min(880px,110%);inset:0 auto 0 -10%}.pf-contact{isolation:isolate;position:relative}.pf-contact:after{inset:8% 10%}.pf-matrix-toggle{font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;min-height:44px;padding:0 var(--pf-space-4);color:var(--pf-color-text-dim);border:1px solid var(--pf-color-border);border-radius:var(--pf-radius-pill);transition:color var(--pf-dur-fast) var(--pf-ease),border-color var(--pf-dur-fast) var(--pf-ease);font-size:12px;line-height:1.4}.pf-matrix-toggle:hover{color:var(--pf-color-primary);border-color:var(--pf-color-primary)}.pf-footer__matrix{margin-top:var(--pf-space-4);text-align:center}.pf-error-terminal{align-items:flex-start;gap:var(--pf-space-5);flex-direction:column;justify-content:center;min-height:100svh;display:flex}.pf-error-terminal__code{font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;color:var(--pf-color-primary);font-size:calc(clamp(48px,10vw,96px));font-weight:700;line-height:1.4}.pf-error-terminal__window{width:min(100%,520px);padding:var(--pf-space-5);border:1px solid var(--pf-color-term-border);border-radius:var(--pf-radius-lg);background:var(--pf-color-term-bg);box-shadow:var(--pf-shadow-term)}.pf-error-terminal__line{font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;color:var(--pf-color-term-text);font-size:14px;line-height:1.4}.pf-error-terminal__line--err{margin-top:var(--pf-space-2);color:var(--pf-color-primary)}.pf-error-terminal__prompt{color:var(--pf-color-secondary)}.pf-admin{--pf-admin-gutter:16px;background:var(--pf-color-bg);min-height:100vh;color:var(--pf-color-text);font-size:14px;line-height:1.5}.pf-admin__main{padding-top:var(--pf-admin-topbar-h)}.pf-admin__main:focus{outline:none}@media (width>=900px){.pf-admin__main{padding-left:64px}}@media (width>=1180px){.pf-admin__main{padding-left:var(--pf-admin-sidebar-w)}}.pf-admin__content{width:100%;padding:var(--pf-admin-gutter)}.pf-admin--auth{place-items:center;display:grid}.pf-admin-topbar{z-index:40;height:var(--pf-admin-topbar-h);background:var(--pf-admin-surface);border-bottom:1px solid var(--pf-admin-border);align-items:center;gap:12px;padding-inline:12px;display:flex;position:fixed;inset:0 0 auto}.pf-admin-topbar__menu{border-radius:var(--pf-radius-md);width:44px;height:44px;transition:background-color var(--pf-dur-fast) var(--pf-ease);place-items:center;font-size:22px;display:inline-grid}.pf-admin-topbar__menu:hover{background:var(--pf-admin-surface-2)}@media (width>=900px){.pf-admin-topbar__menu{display:none}}.pf-admin-topbar__logo{color:var(--pf-color-primary);white-space:nowrap;font-weight:600;font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;align-items:center;gap:8px;font-size:14px;line-height:1.4;display:inline-flex}.pf-admin-sidebar__link,.pf-admin-topbar__badge,.pf-admin-topbar__name,.pf-admin-topbar__punct{color:var(--pf-color-text-muted)}.pf-admin-topbar__badge{border:1px solid var(--pf-admin-border);border-radius:var(--pf-radius-pill);padding:1px 8px;font-size:11px;font-weight:400}.pf-admin-topbar__search{flex:1;max-width:360px;margin-inline:auto 0;display:none}@media (width>=520px){.pf-admin{--pf-admin-gutter:24px}.pf-admin-topbar__search{display:block}}.pf-admin-topbar__user{align-items:center;gap:8px;margin-left:auto;display:flex}.pf-admin-topbar__name{font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;font-size:12px;line-height:1.4;display:none}@media (width>=1180px){.pf-admin-topbar__name{display:inline}}@media (width>=900px){.pf-admin-topbar{padding-inline:16px}}.pf-admin-overlay{z-index:44;background:var(--pf-admin-overlay);position:fixed;inset:0}.pf-admin-sidebar{top:var(--pf-admin-topbar-h);z-index:45;background:var(--pf-admin-surface);border-right:1px solid var(--pf-admin-border);width:280px;transition:transform var(--pf-dur-base) var(--pf-ease);flex-direction:column;justify-content:space-between;padding:12px 8px;display:flex;position:fixed;bottom:0;left:0;transform:translate(-100%)}.pf-admin-sidebar.is-open{transform:none}@media (width>=900px){.pf-admin-sidebar{z-index:30;width:64px;transform:none}}@media (width>=1180px){.pf-admin-sidebar{width:var(--pf-admin-sidebar-w)}}.pf-admin-sidebar__list{gap:2px;display:grid}.pf-admin-sidebar__link{border-radius:var(--pf-radius-md);min-height:40px;transition:background-color var(--pf-dur-fast) var(--pf-ease),color var(--pf-dur-fast) var(--pf-ease);align-items:center;gap:12px;padding:0 12px;display:flex}.pf-admin-sidebar__link:hover{background:var(--pf-admin-surface-2);color:var(--pf-color-text)}.pf-admin-sidebar__link.is-active{background:var(--pf-admin-surface-2);color:var(--pf-color-primary);box-shadow:inset 2px 0 0 var(--pf-color-primary)}.pf-admin-sidebar__icon{text-align:center;width:20px;font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;flex:none;font-size:15px;line-height:1.4}@media (width>=900px){.pf-admin-sidebar__label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@media (width>=1180px){.pf-admin-sidebar__label{clip-path:none;width:auto;height:auto;position:static;overflow:visible}}.pf-admin-btn{border:1px solid var(--pf-admin-border);border-radius:var(--pf-radius-md);min-height:36px;color:var(--pf-color-text);white-space:nowrap;cursor:pointer;transition:background-color var(--pf-dur-fast) var(--pf-ease),border-color var(--pf-dur-fast) var(--pf-ease),color var(--pf-dur-fast) var(--pf-ease);font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:13px;line-height:1.4;display:inline-flex}.pf-admin-btn:hover:not(:disabled){border-color:var(--pf-color-primary);color:var(--pf-color-primary)}.pf-admin-btn:disabled{opacity:.45;cursor:not-allowed}.pf-admin-btn--ghost{color:var(--pf-color-text-muted);border-color:#0000}.pf-admin-btn--solid{border-color:var(--pf-color-primary);background:var(--pf-color-primary);color:var(--pf-color-primary-ink);font-weight:600}.pf-admin-btn--solid:hover:not(:disabled){color:var(--pf-color-primary-ink);box-shadow:var(--pf-shadow-lift)}.pf-admin-btn--block,.pf-admin-input{width:100%;min-height:40px}.pf-admin-field{gap:6px;min-width:0;display:grid}.pf-admin-field--inline{align-items:center;gap:8px;display:flex}.pf-admin-field__error{color:var(--pf-color-danger);font-size:13px}.pf-admin-label{color:var(--pf-color-text-muted);font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;font-size:12px;line-height:1.4}.pf-admin-input{border:1px solid var(--pf-admin-border);border-radius:var(--pf-radius-md);background:var(--pf-color-bg);color:var(--pf-color-text);font:inherit;transition:border-color var(--pf-dur-fast) var(--pf-ease);padding:0 12px}.pf-admin-input::placeholder{color:var(--pf-color-text-dim)}.pf-admin-input:hover{border-color:var(--pf-color-text-dim)}.pf-admin-input.has-error{border-color:var(--pf-color-danger)}.pf-admin-select{width:auto;min-height:36px;font-family:var(--pf-font-mono);font-size:13px}.pf-admin-alert{border:1px solid var(--pf-color-danger);border-radius:var(--pf-radius-md);background:color-mix(in oklch,var(--pf-color-danger) 12%,transparent);color:var(--pf-color-text);padding:10px 12px}.pf-admin-auth{width:100%;min-height:100vh;padding:var(--pf-admin-gutter);place-items:center;display:grid}.pf-admin-auth__card{border:1px solid var(--pf-admin-border);border-radius:var(--pf-radius-lg);background:var(--pf-admin-surface);gap:16px;width:100%;max-width:400px;padding:24px;display:grid}.pf-admin-auth__logo{color:var(--pf-color-primary);font-weight:600;font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;font-size:14px;line-height:1.4}.pf-admin-auth__title{font-size:24px;line-height:1.2}.pf-admin-auth__back{color:var(--pf-color-text-muted);text-align:center;font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;font-size:12px;line-height:1.4}.pf-admin-auth__back:hover{color:var(--pf-color-primary)}.pf-admin-page{gap:24px;display:grid}.pf-admin-page__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.pf-admin-page__title{letter-spacing:-.01em;font-size:24px;line-height:1.2}.pf-admin-page__sub{color:var(--pf-color-text-muted);font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;font-size:12px;line-height:1.4}.pf-admin-page__tools{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.pf-admin-page__tools .pf-terminal-button{min-height:36px;padding:0 14px}.pf-admin-kpis{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=520px){.pf-admin-topbar__user{margin-left:0}.pf-admin-kpis{grid-template-columns:repeat(2,1fr)}}@media (width>=1180px){.pf-admin-kpis{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.pf-admin-grid{grid-template-columns:2fr 1fr}}.pf-admin-kpi{border:1px solid var(--pf-admin-border);border-radius:var(--pf-radius-lg);background:var(--pf-admin-surface);min-width:0;padding:16px}.pf-admin-kpi__label{color:var(--pf-color-text-muted);font-weight:400;font-family:var(--pf-font-mono);font-size:12px;line-height:1.4}.pf-admin-kpi__delta,.pf-admin-kpi__label,.pf-admin-kpi__value{font-variant-numeric:tabular-nums}.pf-admin-kpi__value{font-family:var(--pf-font-sans);text-overflow:ellipsis;white-space:nowrap;margin-top:6px;font-size:32px;font-weight:700;line-height:1.15;overflow:hidden}.pf-admin-kpi__delta{font-family:var(--pf-font-mono);margin-top:4px;font-size:12px;line-height:1.4}.pf-admin-kpi__delta--ok{color:var(--pf-color-ok)}.pf-admin-kpi__delta--danger{color:var(--pf-color-danger)}.pf-admin-kpi__delta--neutral{color:var(--pf-color-text-dim)}.pf-admin-grid{gap:24px;display:grid}.pf-admin-card{border:1px solid var(--pf-admin-border);border-radius:var(--pf-radius-lg);background:var(--pf-admin-surface);min-width:0;padding:16px 20px}.pf-admin-card--flush{padding:0;overflow:hidden}.pf-admin-card__title{color:var(--pf-color-text-muted);margin-bottom:12px;font-size:12px;font-weight:400}.pf-admin-card__empty,.pf-admin-card__title,.pf-admin-chart__tip{font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;line-height:1.4}.pf-admin-card__empty{color:var(--pf-color-text-dim);font-size:13px}.pf-admin-chart{margin:0}.pf-admin-chart__tip{min-height:20px;color:var(--pf-color-text-muted);margin-bottom:4px;font-size:12px}.pf-admin-chart__svg{width:100%;height:auto;overflow:visible}.pf-admin-chart__grid{stroke:var(--pf-admin-border);stroke-width:1px;vector-effect:non-scaling-stroke}.pf-admin-chart__axis{fill:var(--pf-color-text-dim);font-family:var(--pf-font-mono);font-size:10px}.pf-admin-chart__bar{fill:var(--pf-color-primary);opacity:.85;transition:opacity var(--pf-dur-fast) var(--pf-ease)}.pf-admin-chart__bar.is-active,.pf-admin-chart__bar:hover{opacity:1}.pf-admin-chart__bar:focus-visible{outline:2px solid var(--pf-color-text);outline-offset:1px}.pf-admin-table-wrap{overflow-x:auto}.pf-admin-table td.pf-admin-table__dolgo{white-space:normal;min-width:12ch;max-width:48ch}.pf-admin-table__vec{overflow-wrap:anywhere;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;max-width:48ch;display:-webkit-box;overflow:hidden}.pf-admin-table{border-collapse:collapse;width:100%}.pf-admin-table td,.pf-admin-table th{text-align:left;white-space:nowrap;height:40px;padding:8px 12px}.pf-admin-table thead th{z-index:1;background:var(--pf-admin-surface);border-bottom:1px solid var(--pf-admin-border);height:36px;color:var(--pf-color-text-muted);font-weight:400;font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;font-size:12px;line-height:1.4;position:sticky;top:0}.pf-admin-table tbody tr{border-bottom:1px solid var(--pf-admin-border);transition:background-color var(--pf-dur-fast) var(--pf-ease)}.pf-admin-table tbody tr:hover{background:var(--pf-admin-surface-2)}.pf-admin-table .is-num{text-align:right;font-variant-numeric:tabular-nums}.pf-admin-table .is-mono{font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;font-size:13px;line-height:1.4}.pf-admin-table--compact td,.pf-admin-table--compact th{padding-inline:0}.pf-admin-table__sort{color:inherit;font:inherit;gap:6px;display:inline-flex}.pf-admin-table__sort:hover{color:var(--pf-color-primary)}.pf-admin-badge{border-radius:var(--pf-radius-pill);height:22px;font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;align-items:center;padding:0 8px;font-size:12px;line-height:1.4;display:inline-flex}.pf-admin-badge--ok{background:color-mix(in oklch,var(--pf-color-ok) 16%,transparent);color:var(--pf-color-ok)}.pf-admin-badge--neutral{background:var(--pf-admin-surface-2);color:var(--pf-color-text-muted)}.pf-admin-filters{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.pf-admin-filters .pf-admin-field:first-child{flex:200px;max-width:320px}.pf-admin-filters .pf-admin-input{min-height:36px}.pf-admin-filters .pf-admin-select{min-width:110px}.pf-admin-pager{border-top:1px solid var(--pf-admin-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.pf-admin-pager__info{color:var(--pf-color-text-muted);font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;font-size:12px;line-height:1.4}.pf-admin-pager__controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pf-admin-skeleton{gap:8px;display:grid}.pf-admin-skeleton__row{border-radius:var(--pf-radius-md);background:var(--pf-admin-surface-2);height:40px;animation:1.2s ease-in-out infinite alternate pf-admin-pulse}@media (prefers-reduced-motion:reduce){.pf-admin-skeleton__row{animation:none}}@keyframes pf-admin-pulse{0%{opacity:.6}to{opacity:1}}.pf-admin-state{border:1px dashed var(--pf-admin-border);border-radius:var(--pf-radius-lg);justify-items:start;gap:12px;padding:20px;display:grid}.pf-admin-state__line{color:var(--pf-color-text-muted);font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;font-size:13px;line-height:1.4}.pf-admin-state__actions{flex-wrap:wrap;gap:8px;display:flex}.pf-admin-state--error{border-style:solid;border-color:var(--pf-color-danger)}.pf-admin-state--error .pf-admin-state__line{color:var(--pf-color-danger)}.pf-admin-toasts{z-index:60;gap:8px;max-width:calc(100vw - 32px);display:grid;position:fixed;bottom:16px;right:16px}.pf-admin-toast{border:1px solid var(--pf-admin-border);border-radius:var(--pf-radius-md);background:var(--pf-admin-surface-2);box-shadow:var(--pf-shadow-term);align-items:center;gap:10px;padding:10px 12px;display:flex}.pf-admin-toast--ok>:first-child{color:var(--pf-color-ok)}.pf-admin-btn--danger,.pf-admin-confirm,.pf-admin-toast--danger{border-color:var(--pf-color-danger)}.pf-admin-toast--danger>:first-child{color:var(--pf-color-danger)}.pf-admin-toast__close{color:var(--pf-color-text-muted);margin-left:auto;padding:0 4px;font-size:18px;line-height:1}.pf-admin-confirm__text,.pf-admin-toast__close:hover{color:var(--pf-color-text)}.pf-admin-availability{gap:6px;display:grid}.pf-admin-form{max-width:1120px;margin-bottom:var(--pf-space-4)}.pf-admin-form,.pf-admin-form__grid{gap:var(--pf-space-4);display:grid}.pf-admin-form__actions{gap:var(--pf-space-2);flex-wrap:wrap;display:flex}.pf-admin-textarea{resize:vertical;min-height:96px;padding:10px 12px;line-height:1.5}.pf-admin-confirm{gap:var(--pf-space-3);margin-bottom:var(--pf-space-4);display:grid}.pf-admin-btn--danger{color:var(--pf-color-danger)}.pf-admin-btn--danger:hover:not(:disabled){color:var(--pf-color-bg);background:var(--pf-color-danger)}.pf-admin-table td.pf-admin-table__actions{text-align:right;white-space:nowrap;width:1%}.pf-admin-table td.pf-admin-table__actions>*+*{margin-left:var(--pf-space-2)}.pf-admin-sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pf-admin-fieldset{gap:var(--pf-space-3);border:0;min-width:0;margin:0;padding:0;display:grid}.pf-admin-rows{gap:var(--pf-space-2);margin:0;padding:0;list-style:none;display:grid}.pf-admin-rows__item{align-items:center;gap:var(--pf-space-2);flex-wrap:wrap;display:flex}.pf-admin-rows__item>.pf-admin-input{flex:180px;min-width:0}.pf-admin-rows__item>.pf-admin-select{flex:none}.pf-admin-rows__short{flex:0 120px!important}.pf-admin-rows__grow{flex:180px}.pf-admin-check{align-items:center;gap:var(--pf-space-2);color:var(--pf-color-text-muted);font-family:var(--pf-font-mono);white-space:nowrap;font-size:13px;display:inline-flex}.pf-admin-slika{min-width:0;padding:var(--pf-space-4);border:1px solid var(--pf-admin-border);border-radius:var(--pf-radius-md);margin:0}.pf-admin-slika__body{gap:var(--pf-space-4);margin-top:var(--pf-space-2);display:grid}@media (width>=900px){.pf-admin-form__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pf-admin-form__wide{grid-column:1/-1}.pf-admin-slika__body{grid-template-columns:240px minmax(0,1fr);align-items:start}.pf-admin-slika__body.is-obrez{grid-template-columns:minmax(0,1fr)}}.pf-admin-slika__okvir{aspect-ratio:16/9;border:1px solid var(--pf-admin-border);border-radius:var(--pf-radius-md);background:var(--pf-admin-surface-2);overflow:hidden}.pf-admin-slika__okvir.is-prazno{place-items:center;display:grid}.pf-admin-slika__img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.pf-admin-slika__placeholder{color:var(--pf-color-text-muted);font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;font-size:12px;line-height:1.4}.pf-admin-obrez,.pf-admin-slika__polja{gap:var(--pf-space-3);display:grid}.pf-admin-predogled{padding:var(--pf-space-4);border:1px dashed var(--pf-admin-border);border-radius:var(--pf-radius-md)}.pf-admin-obrez{min-width:0}.pf-admin-obrez__okvir{aspect-ratio:16/9;box-shadow:0 0 0 1px var(--pf-admin-border);border-radius:var(--pf-radius-md);background:var(--pf-color-term-bg);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.pf-admin-obrez__okvir.is-vlecenje{cursor:grabbing}.pf-admin-obrez__okvir:focus-visible{outline:2px solid var(--pf-color-primary);outline-offset:2px}.pf-admin-obrez__img{pointer-events:none;max-width:none;position:absolute}.pf-admin-obrez__mreza{pointer-events:none;background-image:linear-gradient(90deg,transparent calc(33.333% - .5px),var(--pf-admin-border) calc(33.333% - .5px),var(--pf-admin-border) calc(33.333% + .5px),transparent calc(33.333% + .5px),transparent calc(66.666% - .5px),var(--pf-admin-border) calc(66.666% - .5px),var(--pf-admin-border) calc(66.666% + .5px),transparent calc(66.666% + .5px)),linear-gradient(transparent calc(33.333% - .5px),var(--pf-admin-border) calc(33.333% - .5px),var(--pf-admin-border) calc(33.333% + .5px),transparent calc(33.333% + .5px),transparent calc(66.666% - .5px),var(--pf-admin-border) calc(66.666% - .5px),var(--pf-admin-border) calc(66.666% + .5px),transparent calc(66.666% + .5px));opacity:.6;position:absolute;inset:0}.pf-admin-obrez__kontrole{align-items:center;gap:var(--pf-space-2) var(--pf-space-3);flex-wrap:wrap;display:flex}.pf-admin-obrez__povecava{align-items:center;gap:var(--pf-space-2);flex:200px;margin:0;display:flex}.pf-admin-obrez__povecava input{min-width:0;accent-color:var(--pf-color-primary);flex:1}.pf-admin-obrez__namig{color:var(--pf-color-text-muted);font-family:var(--pf-font-mono);font-variant-numeric:tabular-nums;margin:0;font-size:11px;line-height:1.4}.pf-poudarek{color:var(--pf-color-primary);font-weight:inherit;background:0 0}.pf-bogato__povezava{color:var(--pf-color-primary);text-underline-offset:.2em;text-decoration:underline;text-decoration-thickness:1px}.pf-bogato__povezava:hover{text-decoration-thickness:2px}.pf-admin-bogato{gap:var(--pf-space-2);min-width:0;display:grid}.pf-admin-bogato__orodja{gap:var(--pf-space-1);flex-wrap:wrap;display:flex}.pf-admin-bogato__gumb{border:1px solid var(--pf-admin-border);border-radius:var(--pf-radius-md);background:var(--pf-color-bg);min-width:36px;min-height:32px;color:var(--pf-color-text);font:inherit;cursor:pointer;padding:0 10px}.pf-admin-bogato__gumb:hover:not(:disabled){border-color:var(--pf-color-text-dim)}.pf-admin-bogato__gumb[aria-pressed=true]{border-color:var(--pf-color-primary);color:var(--pf-color-primary)}.pf-admin-bogato__gumb:disabled{opacity:.45;cursor:not-allowed}.pf-admin-bogato__urejevalnik{min-height:calc(20px + var(--pf-bogato-vrstice,4) * 1.5em);white-space:pre-wrap;overflow-wrap:anywhere;cursor:text}.pf-admin-bogato__urejevalnik p{margin:0}.pf-admin-bogato__urejevalnik p+p{margin-top:.75em}.pf-admin-bogato__urejevalnik.ProseMirror-focused{border-color:var(--pf-color-primary);outline:none}.pf-admin-bogato__povezava{gap:var(--pf-space-2);padding:var(--pf-space-3);border:1px solid var(--pf-admin-border);border-radius:var(--pf-radius-md);display:grid}.pf-admin-bogato__povezava-gumbi{gap:var(--pf-space-2);flex-wrap:wrap;display:flex}.pf-admin-bogato__stevec{color:var(--pf-color-text-dim);justify-self:end;font-size:12px}.pf-admin-bogato__stevec.is-over{color:var(--pf-color-danger)}.pf-admin-clanek__urejevalnik h2{margin:1em 0 .35em;font-size:1.25em;font-weight:600;line-height:1.3}.pf-admin-clanek__urejevalnik>:first-child{margin-top:0}.pf-admin-clanek__urejevalnik ol,.pf-admin-clanek__urejevalnik ul{margin:.5em 0;padding-left:1.5em}.pf-admin-clanek__urejevalnik ul{list-style:outside}.pf-admin-clanek__urejevalnik ol{list-style:decimal}.pf-admin-clanek__urejevalnik li+li{margin-top:.25em}.pf-admin-clanek__urejevalnik pre{padding:var(--pf-space-3);border:1px solid var(--pf-admin-border);border-radius:var(--pf-radius-md);background:var(--pf-admin-surface-2);font-family:var(--pf-font-mono);white-space:pre;margin:.75em 0;font-size:13px;overflow-x:auto}.pf-admin-clanek__urejevalnik blockquote{padding-left:var(--pf-space-3);border-left:3px solid var(--pf-color-primary);color:var(--pf-color-text-muted);margin:.75em 0}.pf-admin-clanek__kontekst{gap:var(--pf-space-1);max-width:320px;display:grid}
