:root,:root[data-theme=scifi-dark]{color-scheme:dark;--canvas-rgb: 4 8 16;--surface-rgb: 8 15 28;--raised-rgb: 14 25 43;--text-rgb: 232 242 255;--muted-rgb: 151 173 199;--primary-rgb: 66 173 255;--secondary-rgb: 151 102 255;--tertiary-rgb: 58 226 188;--border-rgb: 80 151 218;--warning-rgb: 255 194 92;--danger-rgb: 255 105 126}:root[data-theme=scifi-light]{color-scheme:light;--canvas-rgb: 184 197 206;--surface-rgb: 166 183 194;--raised-rgb: 207 217 223;--text-rgb: 20 35 46;--muted-rgb: 58 79 92;--primary-rgb: 0 98 151;--secondary-rgb: 91 58 157;--tertiary-rgb: 0 116 94;--border-rgb: 65 104 126;--warning-rgb: 132 70 5;--danger-rgb: 145 35 61}:root[data-theme=fantasy-dark]{color-scheme:dark;--canvas-rgb: 15 10 6;--surface-rgb: 29 20 12;--raised-rgb: 45 31 17;--text-rgb: 246 231 199;--muted-rgb: 184 158 119;--primary-rgb: 226 170 78;--secondary-rgb: 93 156 105;--tertiary-rgb: 196 87 67;--border-rgb: 181 132 62;--warning-rgb: 238 185 87;--danger-rgb: 211 94 78}:root[data-theme=fantasy-light]{color-scheme:light;--canvas-rgb: 204 190 158;--surface-rgb: 188 170 129;--raised-rgb: 225 211 178;--text-rgb: 45 35 21;--muted-rgb: 91 72 43;--primary-rgb: 133 76 8;--secondary-rgb: 40 102 65;--tertiary-rgb: 139 55 41;--border-rgb: 121 94 52;--warning-rgb: 128 69 4;--danger-rgb: 142 45 38}:root[data-theme=cyberpunk-dark]{color-scheme:dark;--canvas-rgb: 8 2 14;--surface-rgb: 20 5 31;--raised-rgb: 34 8 52;--text-rgb: 249 234 255;--muted-rgb: 194 151 210;--primary-rgb: 0 236 255;--secondary-rgb: 255 43 214;--tertiary-rgb: 255 226 45;--border-rgb: 164 55 224;--warning-rgb: 255 215 54;--danger-rgb: 255 61 103}:root[data-theme=cyberpunk-light]{color-scheme:light;--canvas-rgb: 183 190 198;--surface-rgb: 163 173 183;--raised-rgb: 210 216 221;--text-rgb: 27 28 35;--muted-rgb: 69 73 88;--primary-rgb: 0 103 124;--secondary-rgb: 159 15 115;--tertiary-rgb: 111 84 0;--border-rgb: 83 91 112;--warning-rgb: 116 78 0;--danger-rgb: 151 25 53}:root{--canvas: rgb(var(--canvas-rgb));--surface: rgb(var(--surface-rgb));--raised: rgb(var(--raised-rgb));--text: rgb(var(--text-rgb));--muted: rgb(var(--muted-rgb));--primary: rgb(var(--primary-rgb));--secondary: rgb(var(--secondary-rgb));--tertiary: rgb(var(--tertiary-rgb));--border: rgb(var(--border-rgb));--warning: rgb(var(--warning-rgb));--danger: rgb(var(--danger-rgb));--font-interface: "IBM Plex Mono", "Cascadia Code", "SFMono-Regular", Consolas, monospace;--font-reading: Inter, ui-sans-serif, system-ui, sans-serif;--header-height: 3.25rem}*,*:before,*:after{box-sizing:border-box}html{min-width:20rem;background:var(--canvas);color:var(--text);font-family:var(--font-interface);scroll-behavior:smooth}body{min-height:100vh;margin:0;background:radial-gradient(circle at 18% 0%,rgb(var(--secondary-rgb) / 12%),transparent 32rem),radial-gradient(circle at 82% 8%,rgb(var(--primary-rgb) / 10%),transparent 28rem),var(--canvas)}:root[data-theme^=scifi] body{background:radial-gradient(circle at 17% -8%,rgb(var(--secondary-rgb) / 20%),transparent 31rem),radial-gradient(circle at 84% 3%,rgb(var(--primary-rgb) / 18%),transparent 28rem),var(--canvas)}:root[data-theme^=fantasy] body{background:repeating-radial-gradient(circle at 82% 8%,rgb(var(--primary-rgb) / 8%) 0 1px,transparent 1px 3.2rem),radial-gradient(circle at 16% 0%,rgb(var(--secondary-rgb) / 15%),transparent 29rem),var(--canvas)}:root[data-theme^=cyberpunk] body{background:repeating-linear-gradient(0deg,transparent 0 5px,rgb(var(--text-rgb) / 2.5%) 5px 6px),linear-gradient(112deg,rgb(var(--secondary-rgb) / 12%),transparent 32%,rgb(var(--primary-rgb) / 10%)),var(--canvas)}button,input{font:inherit}a{color:inherit}::selection{background:rgb(var(--primary-rgb) / 30%);color:var(--text)}:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:100;top:.5rem;left:.5rem;padding:.55rem .8rem;background:var(--text);color:var(--canvas);transform:translateY(-150%)}.skip-link:focus{transform:none}.site-header{position:sticky;z-index:40;top:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:var(--header-height);padding-inline:clamp(.8rem,2vw,2rem);border-bottom:1px solid rgb(var(--border-rgb) / 22%);background:rgb(var(--canvas-rgb) / 82%);backdrop-filter:blur(16px)}.site-header:after{position:absolute;right:0;bottom:-1px;left:0;height:1px;background:linear-gradient(90deg,transparent,rgb(var(--primary-rgb) / 45%),transparent);content:"";pointer-events:none}.site-header-start{display:flex;align-items:center;gap:clamp(.8rem,1.6vw,1.5rem);min-width:0}.site-brand{display:inline-flex;align-items:center;gap:.65rem;color:var(--text);font-size:.66rem;font-weight:700;letter-spacing:.2em;text-decoration:none}.site-brand-mark{position:relative;width:.95rem;aspect-ratio:1;border:1px solid var(--primary);border-radius:50%;box-shadow:0 0 .8rem rgb(var(--primary-rgb) / 30%)}.site-brand-mark:after{position:absolute;inset:45% -35%;border-top:1px solid var(--secondary);content:"";transform:rotate(-24deg)}.site-breadcrumbs{display:flex;align-items:center;gap:.42rem;min-width:0;padding-left:1rem;border-left:1px solid rgb(var(--border-rgb) / 25%);color:rgb(var(--muted-rgb) / 78%);font-size:.56rem;letter-spacing:.13em;text-transform:uppercase}.site-breadcrumbs a{color:inherit;text-decoration:none}.site-breadcrumbs a:hover{color:var(--primary)}.site-breadcrumbs [aria-current=page]{overflow:hidden;color:rgb(var(--text-rgb) / 82%);text-overflow:ellipsis;white-space:nowrap}.breadcrumb-root,.breadcrumb-separator{color:rgb(var(--primary-rgb) / 56%)}.site-status{display:inline-flex;align-items:center;gap:.5rem;color:rgb(var(--muted-rgb) / 62%);font-size:.52rem;letter-spacing:.15em;text-transform:uppercase}.site-status-light,.footer-pulse{width:.36rem;aspect-ratio:1;border-radius:50%;background:var(--tertiary);box-shadow:0 0 .65rem rgb(var(--tertiary-rgb) / 65%)}.control-panel{position:relative;justify-self:end}.control-panel>summary{display:inline-flex;align-items:center;gap:.55rem;padding:.34rem .52rem;border:1px solid rgb(var(--border-rgb) / 30%);color:rgb(var(--muted-rgb) / 78%);cursor:pointer;font-size:.52rem;letter-spacing:.14em;list-style:none;user-select:none}.control-panel>summary::-webkit-details-marker{display:none}.control-panel>summary:hover,.control-panel[open]>summary{border-color:rgb(var(--primary-rgb) / 62%);color:var(--primary)}.control-summary-bars{display:grid;gap:2px;width:.8rem}.control-summary-bars i{display:block;height:1px;background:currentColor}.control-summary-bars i:nth-child(2){width:65%;margin-left:auto}.control-popover{position:absolute;top:calc(100% + .65rem);right:0;width:min(20rem,calc(100vw - 1rem));padding:.8rem;border:1px solid rgb(var(--border-rgb) / 45%);background:rgb(var(--surface-rgb) / 96%);box-shadow:0 1.4rem 4rem rgb(var(--canvas-rgb) / 38%);backdrop-filter:blur(18px)}.control-popover:before{position:absolute;inset:0;border-top:2px solid rgb(var(--primary-rgb) / 55%);content:"";pointer-events:none}.control-popover-header{display:flex;align-items:start;justify-content:space-between;gap:1rem;margin-bottom:.9rem;padding-bottom:.7rem;border-bottom:1px solid rgb(var(--border-rgb) / 20%)}.control-popover-header span,.control-popover-header h2{margin:0}.control-popover-header span{color:rgb(var(--muted-rgb) / 48%);font-size:.46rem;letter-spacing:.16em}.control-popover-header h2{margin-top:.18rem;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}.control-popover-header button{padding:0;border:0;background:transparent;color:rgb(var(--muted-rgb) / 65%);cursor:pointer;font-size:1rem;line-height:1}.control-group{min-width:0;margin:0 0 .75rem;padding:0;border:0}.control-group legend{margin-bottom:.38rem;color:rgb(var(--muted-rgb) / 62%);font-size:.48rem;letter-spacing:.16em;text-transform:uppercase}.control-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.34rem}.control-themes{grid-template-columns:repeat(3,minmax(0,1fr))}.control-options button,.control-options a{min-width:0;padding:.45rem .3rem;border:1px solid rgb(var(--border-rgb) / 23%);background:rgb(var(--raised-rgb) / 58%);color:rgb(var(--muted-rgb) / 80%);cursor:pointer;font-size:.5rem;letter-spacing:.08em;text-align:center;text-decoration:none;text-transform:uppercase}.control-options button:hover,.control-options a:hover,.control-options button[aria-pressed=true],.control-options a[aria-current=true]{border-color:rgb(var(--primary-rgb) / 62%);background:rgb(var(--primary-rgb) / 11%);color:var(--primary)}.control-readout{display:flex;justify-content:space-between;gap:1rem;padding-top:.65rem;border-top:1px solid rgb(var(--border-rgb) / 18%);color:rgb(var(--muted-rgb) / 45%);font-size:.43rem;letter-spacing:.12em}.site-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:3.25rem;padding-inline:clamp(.8rem,2vw,2rem);border-top:1px solid rgb(var(--border-rgb) / 24%);background:rgb(var(--surface-rgb) / 66%);color:rgb(var(--muted-rgb) / 62%);font-size:.48rem;letter-spacing:.13em;text-transform:uppercase}.footer-telemetry,.site-footer nav,.footer-version{display:flex;align-items:center;gap:.7rem}.site-footer nav a{color:inherit;text-decoration:none}.site-footer nav a:hover{color:var(--primary)}.footer-version{justify-self:end}.footer-privacy{padding-left:.7rem;border-left:1px solid rgb(var(--border-rgb) / 24%);color:rgb(var(--tertiary-rgb) / 78%)}:root[data-theme$=-light] .site-header,:root[data-theme$=-light] .site-footer{background:rgb(var(--raised-rgb) / 88%)}:root[data-theme$=-light] .control-popover{background:rgb(var(--raised-rgb) / 97%);box-shadow:0 1.4rem 4rem rgb(var(--text-rgb) / 18%)}.placeholder-page{display:grid;place-content:center;justify-items:start;min-height:calc(100svh - var(--header-height) - 3.25rem);padding:2rem}.placeholder-page p{margin:0 0 .7rem;color:var(--tertiary);font-size:.65rem;letter-spacing:.2em}.placeholder-page h1{max-width:15ch;margin:0;font-size:clamp(2rem,5vw,4.5rem);line-height:.98}.placeholder-page span{max-width:38rem;margin-top:1rem;color:var(--muted);font-family:var(--font-reading)}.placeholder-page a{margin-top:1.5rem;color:var(--primary);font-size:.7rem;letter-spacing:.08em;text-underline-offset:.3rem}.projects-page{width:min(76rem,calc(100% - 1.6rem));min-height:calc(100svh - var(--header-height) - 3.25rem - 1.6rem);margin:.8rem auto;padding:clamp(1.4rem,4vw,4rem);border:1px solid rgb(var(--border-rgb) / 26%);background:radial-gradient(circle at 82% 12%,rgb(var(--primary-rgb) / 10%),transparent 22rem),rgb(var(--surface-rgb) / 66%)}.projects-page>header p{margin:0;color:var(--secondary);font-size:.56rem;letter-spacing:.2em;text-transform:uppercase}.projects-page>header h1{max-width:14ch;margin:.7rem 0 0;font-size:clamp(2.4rem,6vw,5.5rem);line-height:.95;letter-spacing:-.055em}.projects-page>header>span{display:block;max-width:42rem;margin-top:1.2rem;color:rgb(var(--text-rgb) / 70%);font-family:var(--font-reading);line-height:1.6}.projects-page ol{display:grid;margin:clamp(2rem,5vw,4rem) 0 2rem;padding:0;border-top:1px solid rgb(var(--border-rgb) / 25%);list-style:none}.projects-page li{display:grid;grid-template-columns:3rem minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1.35rem 0;border-bottom:1px solid rgb(var(--border-rgb) / 20%)}.projects-page-index{color:rgb(var(--primary-rgb) / 65%);font-size:.62rem}.projects-page h2,.projects-page li p{margin:0}.projects-page h2{font-size:clamp(1.1rem,2vw,1.55rem)}.projects-page li p{margin-top:.35rem;color:rgb(var(--muted-rgb) / 76%);font-family:var(--font-reading);font-size:.82rem}.projects-page-status{padding:.35rem .5rem;border:1px solid rgb(var(--tertiary-rgb) / 32%);color:rgb(var(--tertiary-rgb) / 82%);font-size:.48rem;letter-spacing:.1em;text-transform:uppercase}.projects-page>a{color:var(--primary);font-size:.65rem;letter-spacing:.1em;text-underline-offset:.3rem;text-transform:uppercase}@media(max-width:46rem){.site-header{grid-template-columns:1fr auto}.site-status{display:none}.site-breadcrumbs{max-width:8rem;padding-left:.7rem;font-size:.5rem}.site-breadcrumbs a:not(:last-of-type),.site-breadcrumbs .breadcrumb-separator{display:none}.site-footer{grid-template-columns:1fr auto}.site-footer nav{justify-self:end}.footer-version,.footer-privacy{display:none}.projects-page li{grid-template-columns:2rem minmax(0,1fr)}.projects-page-status{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
