:root{--bg:#090907;--bg-alt:#14140f;--fg:#d8cdb0;--fg-dim:#9f9373;--accent:#e8a33d;--accent-2:#8fae6e;--accent-3:#b3735a;--accent-4:#6e93a0;--accent-5:#9c7ab0;--border:#4a4430;--font-mono:"Courier New",Courier,ui-monospace,"Cascadia Code","SFMono-Regular",Menlo,Consolas,"Liberation Mono",monospace;--glow-text:#fff4de;--glow-color:var(--accent);--glow-blur-1:4px;--glow-blur-2:10px;--glow-blur-3:22px;--glow-blur-4:40px}*{box-sizing:border-box}body{margin:0;background:var(--bg) url("/assets/noir-alley-bg.0be2e4c8.svg") repeat-x bottom center fixed;color:var(--fg);font-family:var(--font-mono);line-height:1.6}a{color:var(--accent);text-decoration:underline;text-underline-offset:0.15em}main a:not(:hover){color:var(--accent-2)}main a:hover{--glow-color:var(--accent-2)}.breadcrumb a:hover{--glow-color:var(--accent)}a:hover{color:var(--glow-text);text-shadow:0 0 var(--glow-blur-1) var(--glow-color),0 0 var(--glow-blur-2) var(--glow-color),0 0 var(--glow-blur-3) var(--glow-color),0 0 var(--glow-blur-4) var(--glow-color);animation:neon-flicker 5s infinite}@keyframes neon-flicker{0%,20%,32%,60%,100%{filter:brightness(1)}26%{filter:brightness(0.85)}46%{filter:brightness(1.2)}}@media (prefers-reduced-motion:reduce){a:hover{animation:none}}.skip-link{position:absolute;left:-9999px;top:0;z-index:10;padding:0.75rem 1rem;background:var(--accent);color:var(--bg)}.skip-link:focus{left:0}.site-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding:1rem 1.5rem;border-bottom:2px dashed var(--border)}.site-header .brand{font-size:1.6rem;font-weight:bold;text-decoration:none}.site-header .brand:not(:hover){color:var(--accent)}.site-header nav{display:flex;gap:1.25rem;flex-wrap:wrap}.site-header nav a{font-size:1rem;text-decoration:none}.site-header nav a:not(:hover){color:var(--fg-dim)}.site-header nav a[aria-current="page"]{border-bottom:2px solid var(--accent)}.site-header nav a[aria-current="page"]:not(:hover){color:var(--fg)}main{max-width:780px;margin:0 auto;padding:2rem 1.5rem 3rem}.breadcrumb{display:block;margin-bottom:1.5rem;font-size:0.85rem;color:var(--fg-dim)}.breadcrumb a:not(:hover){color:var(--fg-dim)}.breadcrumb [aria-current="page"]{color:var(--fg)}h1,h2,h3{font-weight:bold;color:var(--accent);margin-bottom:1rem}h2{margin-top:3.5rem}h3{margin-top:2rem}h1{border-bottom:2px double var(--border);padding-bottom:0.5rem;margin-top:0}img{max-width:100%;height:auto;filter:sepia(0.15) contrast(1.05)}img[alt="Giacomo Scarpellini"]{max-width:200px}:not(pre) > code{background:var(--bg-alt);border:1px solid var(--border);padding:0.05em 0.4em;color:var(--accent-2)}pre{margin:1.5rem 0;padding:1rem;overflow-x:auto;border:1px dashed var(--border);background:var(--bg-alt)}pre code{color:var(--fg)}blockquote{border:1px dashed var(--border);background:var(--bg-alt);margin:1.5rem 0;padding:0.75rem 1rem;color:var(--fg-dim)}blockquote strong{color:var(--accent-2)}hr{border:none;border-top:1px dashed var(--border);margin:2rem 0}.site-footer{border-top:2px dashed var(--border);padding:1.5rem;text-align:center;color:var(--fg-dim);font-size:0.85rem}.site-footer a{display:inline-block;margin:0 0.3rem;padding:0.5rem 0.4rem}.site-footer a:not(:hover){color:var(--fg-dim)}.newsletter-form{margin-top:2rem}.newsletter-form label[for="newsletter-email"]{display:block;margin-bottom:0.5rem;font-weight:bold}.newsletter-form-row{display:flex;gap:0.5rem;flex-wrap:wrap}.newsletter-form input[type="email"]{background:var(--bg-alt);border:1px solid var(--border);color:var(--fg);font-family:var(--font-mono);font-size:0.9rem;padding:0.4rem 0.6rem;min-width:220px}.newsletter-form button{background:transparent;border:1px solid var(--accent);color:var(--accent);font-family:var(--font-mono);font-size:0.9rem;padding:0.4rem 0.9rem;cursor:pointer}.newsletter-form button:hover{background:var(--accent);color:var(--bg)}.newsletter-form-consent{display:flex;align-items:flex-start;gap:0.5rem;margin-top:0.75rem;font-size:0.8rem;color:var(--fg-dim)}.newsletter-form-consent input[type="checkbox"]{margin-top:0.2rem;flex-shrink:0}.newsletter-form-consent span{min-width:0}.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.formula{margin:1.5rem 0;padding:1rem;overflow-x:auto;border:1px dashed var(--border);background:var(--bg-alt);text-align:center}.formula math{color:var(--fg);font-size:1.3rem}.formula math mstyle{color:var(--fg-dim)}.steps-nav{margin-top:2rem;padding-top:1rem;border-top:1px dashed var(--border)}.steps-nav-position{display:block;margin-bottom:0.75rem;color:var(--fg-dim);font-size:0.85rem}.steps-nav-links{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem}.steps-nav-prev{text-align:left}.steps-nav-next{text-align:right}.steps-nav-index{text-align:center;white-space:nowrap;color:var(--fg-dim)}.steps-nav-index:not(:hover){color:var(--fg-dim)}@media (max-width:32rem){.steps-nav-links{grid-template-columns:1fr;justify-items:start;gap:0.5rem}.steps-nav-next{text-align:left}.steps-nav-index{order:3}}.a11y-badge{display:inline-block;margin-left:0.5rem;padding:0.1rem 0.5rem;border:1px solid var(--border);font-size:0.75rem}.ref-type-badge{display:inline-block;margin-right:0.5rem;padding:0.1rem 0.5rem;border:1px solid var(--border);font-size:0.75rem;text-transform:uppercase;letter-spacing:0.03em}.ref-type-badge--book{border-color:var(--accent-5);color:var(--accent-5)}.ref-type-badge--article{border-color:var(--accent-3);color:var(--accent-3)}.ref-type-badge--incollection{border-color:var(--accent-4);color:var(--accent-4)}.ref-type-badge--misc{border-color:var(--fg-dim);color:var(--fg-dim)}p:has(.ref-type-badge--book) a:not(:hover){color:var(--accent-5)}p:has(.ref-type-badge--book) a:hover{--glow-color:var(--accent-5)}p:has(.ref-type-badge--article) a:not(:hover){color:var(--accent-3)}p:has(.ref-type-badge--article) a:hover{--glow-color:var(--accent-3)}p:has(.ref-type-badge--incollection) a:not(:hover){color:var(--accent-4)}p:has(.ref-type-badge--incollection) a:hover{--glow-color:var(--accent-4)}p:has(.ref-type-badge--misc) a:not(:hover){color:var(--fg-dim)}p:has(.ref-type-badge--misc) a:hover{--glow-color:var(--fg-dim)}p:has(.ref-type-badge){margin-bottom:1.75rem}.releases-status{color:var(--fg-dim)}.app-release-card{border:1px dashed var(--border);background:var(--bg-alt);margin:1.5rem 0;padding:1rem 1.25rem}.app-release-card h2{margin-top:0}.latest-badge{display:block;width:fit-content;margin-top:0.25rem;border:1px solid var(--accent);color:var(--accent);padding:0.1rem 0.5rem;font-weight:bold;font-size:0.75rem;text-decoration:none}.release-table{width:100%;margin:1rem 0 0;border-collapse:collapse;font-size:0.9rem}.release-table th,.release-table td{padding:0.45rem 1.5rem 0.45rem 0;text-align:left;vertical-align:middle}.version-cell,.date-cell{white-space:nowrap}.release-table thead th{border-bottom:1px solid var(--border);color:var(--fg-dim);font-weight:600;font-size:0.8rem;text-transform:uppercase;letter-spacing:0.03em}.release-table tbody tr.changelog-row{border-bottom:1px solid var(--border)}.release-table tbody tr:last-child{border-bottom:none}.date-cell{color:var(--fg-dim)}.date-cell time{display:flex;flex-direction:column}.date-day{font-size:0.9rem}.date-time{font-size:0.75rem;color:var(--fg-dim)}.release-source{display:inline-block;color:var(--fg-dim);font-size:0.75rem}.changelog-cell{padding-top:0}.changelog-unavailable{margin:0.35rem 0 0;color:var(--fg-dim);font-size:0.8rem;font-style:italic}.changelog-cell details summary{cursor:pointer;color:var(--accent);font-size:0.85rem}.changelog-cell details ul{margin:0.35rem 0 0;padding-left:1.1rem;font-size:0.85rem}@media (max-width:32rem){.release-table thead{display:none}.release-table,.release-table tbody,.release-table tr,.release-table td{display:block;width:auto}.release-table tr{padding:0.5rem 0}.release-table td{padding:0.1rem 0}}.a11y-badge:hover{border-color:var(--accent)}.known-bugs-picker{display:flex;align-items:center;gap:0.5rem;margin:1rem 0}.known-bugs-picker select{background:var(--bg-alt);color:var(--fg);border:1px solid var(--border);padding:0.3rem 0.5rem;font-family:inherit}.bug-section{margin:1.5rem 0}.bug-card{border:1px dashed var(--border);background:var(--bg-alt);margin:0.75rem 0;padding:1rem 1.25rem}.bug-title{margin:0 0 0.4rem}.bug-meta{margin:0 0 0.5rem;display:flex;flex-wrap:wrap;gap:0.5rem}.bug-severity-badge,.bug-component-badge{display:inline-block;border:1px solid var(--border);color:var(--fg-dim);padding:0.1rem 0.5rem;font-size:0.75rem;text-transform:uppercase;letter-spacing:0.03em}.bug-severity-high .bug-severity-badge{border-color:var(--accent-3);color:var(--accent-3)}.bug-severity-medium .bug-severity-badge{border-color:var(--accent);color:var(--accent)}.bug-severity-low .bug-severity-badge{border-color:var(--accent-2);color:var(--accent-2)}.bug-description{margin:0 0 0.5rem}.bug-workaround{margin:0;color:var(--fg-dim);font-size:0.9rem}.deployer-policy-pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:1rem;line-height:1.6;border:1px solid var(--border);background:var(--bg-alt);border-radius:6px;padding:1.25rem 1.5rem;margin:1.5rem 0 0}