:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#040707;--surface:#091011;--surface-2:#0e191a;--text:#e5f4f2;--soft:#9bb7b3;--muted:#627d79;--line:#294441;--fine:#142624;--cyan:#48efd0;--secondary:var(--cyan);--violet:#777fc4;--ink:#020606;--mono:"IBM Plex Mono", "SFMono-Regular", "Cascadia Code", Consolas, monospace;--sans:"IBM Plex Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;--display:var(--sans);--max:1460px;--header:72px;--page-top-space:clamp(32px, 3vw, 48px)}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#e6efed;--surface:#f3f8f7;--surface-2:#d4e2df;--text:#071311;--soft:#314b47;--muted:#5d7470;--line:#758e89;--fine:#c0d1ce;--cyan:#006f68;--secondary:var(--cyan);--violet:#50568d;--ink:#f4fffd}*{box-sizing:border-box}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}html{background:var(--bg);scroll-behavior:smooth;scrollbar-color:var(--cyan) var(--bg);min-width:320px}body{background:linear-gradient(90deg, transparent 49.8%, var(--fine) 50%, transparent 50.2%) 0 0 / 104px 104px, linear-gradient(0deg, transparent 49.8%, var(--fine) 50%, transparent 50.2%) 0 0 / 104px 104px, var(--bg);min-width:320px;min-height:100vh;color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden}body:before{z-index:-2;background:radial-gradient(circle, color-mix(in srgb, var(--cyan) 46%, transparent) 0 .8px, transparent 1px) 0 0 / 5px 5px;content:"";opacity:.22;pointer-events:none;position:fixed;inset:0;-webkit-mask-image:radial-gradient(58% 42% at 86% 3%,#000 0 18%,#0000 70%),radial-gradient(44% 35% at 7% 82%,#000,#0000 72%);mask-image:radial-gradient(58% 42% at 86% 3%,#000 0 18%,#0000 70%),radial-gradient(44% 35% at 7% 82%,#000,#0000 72%)}button,a,summary{-webkit-tap-highlight-color:transparent}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit}::selection{background:var(--cyan);color:var(--ink)}:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}.particle-field{z-index:-1;pointer-events:none;opacity:.44;position:fixed;inset:0}.dither-wash{z-index:0;aspect-ratio:1;background:radial-gradient(circle, var(--violet) 0 .75px, transparent .95px) 0 0 / 4px 4px;opacity:.15;pointer-events:none;width:min(75vw,1100px);position:fixed;top:-18vh;right:-16vw;-webkit-mask-image:radial-gradient(circle,#000,#0000 67%);mask-image:radial-gradient(circle,#000,#0000 67%)}.render-overlay{z-index:0;background:repeating-linear-gradient(0deg, color-mix(in srgb, var(--ink) 9%, transparent) 0 1px, transparent 1px 3px), radial-gradient(ellipse 78% 94% at 50% 48%, transparent 46%, color-mix(in srgb, var(--ink) 58%, transparent));mix-blend-mode:multiply;opacity:.64;pointer-events:none;position:fixed;inset:0;overflow:hidden}.render-overlay:before,.render-overlay:after{content:"";pointer-events:none;position:absolute}.render-overlay:before{opacity:0;inset:0}.render-overlay:after{background:linear-gradient(180deg, transparent, color-mix(in srgb, var(--cyan) 6%, transparent) 46%, color-mix(in srgb, var(--text) 4%, transparent) 52%, transparent);mix-blend-mode:screen;opacity:.42;height:22vh;animation:12s linear infinite phosphor-sweep;top:-24vh;left:0;right:0}:root[data-theme=light] .render-overlay{mix-blend-mode:normal;opacity:.24}.route-frame{filter:contrast(1.025)saturate(1.045)}.oscilloscope-grid,.heading-field,.topic-ascii,.contact-field{text-shadow:0 0 3px color-mix(in srgb, var(--cyan) 54%, transparent), 0 0 11px color-mix(in srgb, var(--cyan) 19%, transparent)}@keyframes phosphor-sweep{to{transform:translateY(148vh)}}:root[data-renderer=dither] body{background:linear-gradient(90deg, transparent 49.6%, var(--fine) 50%, transparent 50.4%) 0 0 / 64px 64px, linear-gradient(0deg, transparent 49.6%, var(--fine) 50%, transparent 50.4%) 0 0 / 64px 64px, var(--bg)}:root[data-renderer=dither] body:before{opacity:.38;background-size:4px 4px}:root[data-renderer=dither] .render-overlay{opacity:.6}:root[data-renderer=dither] .render-overlay:before{background:radial-gradient(circle, color-mix(in srgb, var(--cyan) 72%, transparent) 0 .6px, transparent .8px) 0 0 / 4px 4px, radial-gradient(circle, color-mix(in srgb, var(--violet) 54%, transparent) 0 .6px, transparent .8px) 2px 2px / 4px 4px;mix-blend-mode:screen;opacity:.1;inset:0;-webkit-mask-image:linear-gradient(115deg,#000,#0000 36%,#000 76%,#0000);mask-image:linear-gradient(115deg,#000,#0000 36%,#000 76%,#0000)}:root[data-renderer=dither] .oscilloscope-grid,:root[data-renderer=dither] .heading-field,:root[data-renderer=dither] .topic-ascii,:root[data-renderer=dither] .contact-field{text-shadow:none}:root[data-renderer=dither] .page-heading,:root[data-renderer=dither] .showcase-row,:root[data-renderer=dither] .project-card,:root[data-renderer=dither] .system-row,:root[data-renderer=dither] .now-row{background-image:radial-gradient(circle, color-mix(in srgb, var(--cyan) 13%, transparent) 0 .55px, transparent .8px);background-size:4px 4px}@keyframes glitch-scan{0%,82%,to{transform:translate(0)}83%{transform:translate(9px)}84%{transform:translate(-6px)}85%{transform:translate(2px)}86%{transform:translate(-1px)}}@keyframes glitch-band{0%,68%,to{clip-path:inset(0 0 100%);transform:translate(0)}69%{clip-path:inset(14% 0 77%);transform:translate(15px)}70%{clip-path:inset(54% 0 34%);transform:translate(-11px)}71%{clip-path:inset(78% 0 14%);transform:translate(7px)}72%{clip-path:inset(0 0 100%)}}:root[data-renderer=glitch] body{background:repeating-linear-gradient(90deg, transparent 0 31px, color-mix(in srgb, var(--cyan) 4%, transparent) 31px 32px, transparent 32px 47px, color-mix(in srgb, var(--violet) 5%, transparent) 47px 49px), linear-gradient(90deg, transparent 49.8%, var(--fine) 50%, transparent 50.2%) 0 0 / 104px 104px, linear-gradient(0deg, transparent 49.8%, var(--fine) 50%, transparent 50.2%) 0 0 / 104px 104px, var(--bg)}:root[data-renderer=glitch] .render-overlay{background:repeating-linear-gradient(0deg, color-mix(in srgb, var(--ink) 12%, transparent) 0 1px, transparent 1px 3px), repeating-linear-gradient(0deg, transparent 0 37px, color-mix(in srgb, var(--violet) 16%, transparent) 37px 40px, transparent 40px 71px, color-mix(in srgb, var(--cyan) 14%, transparent) 71px 73px), radial-gradient(ellipse 82% 94% at 50% 48%, transparent 44%, color-mix(in srgb, var(--ink) 64%, transparent));mix-blend-mode:normal;opacity:.78;animation:4.2s step-end infinite glitch-scan}:root[data-renderer=glitch] .render-overlay:before,:root[data-renderer=glitch] .render-overlay:after{background:repeating-linear-gradient(90deg, color-mix(in srgb, var(--cyan) 18%, transparent) 0 7%, transparent 7% 18%, color-mix(in srgb, var(--violet) 14%, transparent) 18% 22%, transparent 22% 37%);content:"";mix-blend-mode:screen;opacity:.72;height:auto;animation:3.4s step-end infinite glitch-band;position:absolute;inset:0}:root[data-renderer=glitch] .render-overlay:after{background:repeating-linear-gradient(90deg, transparent 0 12%, color-mix(in srgb, var(--violet) 19%, transparent) 12% 23%, transparent 23% 29%, color-mix(in srgb, var(--cyan) 12%, transparent) 29% 31%);animation-duration:4.7s;animation-delay:-1.8s}:root[data-renderer=glitch] .route-frame{filter:contrast(1.12)saturate(1.18)}:root[data-renderer=glitch] .site-header,:root[data-renderer=glitch] .page-heading,:root[data-renderer=glitch] .showcase-row,:root[data-renderer=glitch] .project-card,:root[data-renderer=glitch] .system-row,:root[data-renderer=glitch] .now-row,:root[data-renderer=glitch] .contact-links a,:root[data-renderer=glitch] .site-footer{border-color:color-mix(in srgb, var(--cyan) 68%, var(--line));background-image:repeating-linear-gradient(90deg, transparent 0 17%, color-mix(in srgb, var(--cyan) 3%, transparent) 17% 17.4%, transparent 17.4% 41%, color-mix(in srgb, var(--violet) 4%, transparent) 41% 41.5%);box-shadow:inset 3px 0 color-mix(in srgb, var(--cyan) 24%, transparent), inset -2px 0 color-mix(in srgb, var(--violet) 21%, transparent)}:root[data-renderer=glitch] .wordmark,:root[data-renderer=glitch] .page-heading h1,:root[data-renderer=glitch] .hero h1{text-shadow:3px 0 color-mix(in srgb, var(--cyan) 62%, transparent), -3px 0 color-mix(in srgb, var(--violet) 66%, transparent), 0 0 12px color-mix(in srgb, var(--cyan) 18%, transparent)}:root[data-renderer=glitch] .oscilloscope-grid,:root[data-renderer=glitch] .heading-field,:root[data-renderer=glitch] .topic-ascii,:root[data-renderer=glitch] .contact-field{text-shadow:2px 0 color-mix(in srgb, var(--cyan) 82%, transparent), -2px 0 color-mix(in srgb, var(--violet) 74%, transparent), 0 0 16px color-mix(in srgb, var(--cyan) 28%, transparent)}:root[data-renderer=particles] body:before{opacity:.07}:root[data-renderer=particles] .particle-field{opacity:.82}:root[data-renderer=particles] .dither-wash{opacity:.06}:root[data-renderer=particles] .render-overlay{opacity:.58}:root[data-renderer=particles] .render-overlay:before{background:radial-gradient(circle, color-mix(in srgb, var(--cyan) 58%, transparent) 0 .75px, transparent 1px) 0 0 / 19px 19px, radial-gradient(circle, color-mix(in srgb, var(--violet) 44%, transparent) 0 .65px, transparent 1px) 9px 12px / 31px 31px;mix-blend-mode:screen;opacity:.19;inset:0;-webkit-mask-image:radial-gradient(90% 72% at 50% 46%,#000,#0000 88%);mask-image:radial-gradient(90% 72% at 50% 46%,#000,#0000 88%)}:root[data-renderer=particles] .page-heading,:root[data-renderer=particles] .scope-shell,:root[data-renderer=particles] .project-card{background:color-mix(in srgb, var(--surface) 84%, transparent)}:root[data-renderer=crt] body{background:radial-gradient(ellipse 90% 96% at 50% 45%, transparent 48%, color-mix(in srgb, var(--ink) 46%, transparent)), linear-gradient(90deg, transparent 49.8%, var(--fine) 50%, transparent 50.2%) 0 0 / 104px 104px, linear-gradient(0deg, transparent 49.8%, var(--fine) 50%, transparent 50.2%) 0 0 / 104px 104px, var(--bg)}:root[data-renderer=crt] .render-overlay{background:repeating-linear-gradient(0deg, color-mix(in srgb, var(--ink) 9%, transparent) 0 1px, transparent 1px 3px), repeating-linear-gradient(90deg, color-mix(in srgb, var(--cyan) 3%, transparent) 0 1px, transparent 1px 3px, color-mix(in srgb, var(--violet) 2%, transparent) 3px 4px, transparent 4px 6px), radial-gradient(ellipse 74% 92% at 50% 48%, transparent 44%, color-mix(in srgb, var(--ink) 72%, transparent));mix-blend-mode:multiply;opacity:.82}:root[data-renderer=crt] .render-overlay:before{background:repeating-linear-gradient(90deg, color-mix(in srgb, var(--cyan) 38%, transparent) 0 1px, transparent 1px 3px, color-mix(in srgb, var(--violet) 24%, transparent) 3px 4px, transparent 4px 6px);mix-blend-mode:screen;opacity:.055;inset:0}:root[data-renderer=crt] .render-overlay:after{opacity:.7;animation-duration:7.5s}:root[data-theme=light][data-renderer=crt] .render-overlay{mix-blend-mode:normal;opacity:.34}:root[data-renderer=crt] .route-frame{filter:contrast(1.09)saturate(1.14)brightness(1.015)}:root[data-renderer=crt] .oscilloscope-grid,:root[data-renderer=crt] .heading-field,:root[data-renderer=crt] .topic-ascii,:root[data-renderer=crt] .contact-field{text-shadow:0 0 4px color-mix(in srgb, var(--cyan) 86%, transparent), 0 0 12px color-mix(in srgb, var(--cyan) 46%, transparent), 0 0 24px color-mix(in srgb, var(--cyan) 20%, transparent)}.section-shell{width:min(calc(100% - 64px), var(--max));margin-inline:auto}.skip-link{z-index:200;border:1px solid var(--text);background:var(--cyan);color:var(--ink);font:700 .75rem/1 var(--mono);padding:10px 14px;position:fixed;top:12px;left:12px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:100;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);position:sticky;top:0}.header-inner{width:min(calc(100% - 64px), var(--max));min-height:var(--header);grid-template-columns:minmax(160px,.8fr) minmax(600px,2fr) auto;align-items:stretch;margin-inline:auto;display:grid}.wordmark{border-right:1px solid var(--line);font:900 .82rem/1 var(--mono);letter-spacing:.06em;align-items:center;display:flex}.wordmark:before{color:var(--cyan);content:"▓";margin-right:10px}.site-nav{align-items:stretch;display:flex}.nav-link{border-right:1px solid var(--fine);min-width:70px;color:var(--soft);font:700 .66rem/1.1 var(--mono);flex-direction:column;flex:1;justify-content:center;gap:5px;padding:0 12px;transition:background .14s,color .14s;display:flex}.nav-link span{color:var(--muted);font-size:.48rem;font-weight:500}.nav-link:hover{background:var(--surface);color:var(--text)}.nav-link.active{background:var(--cyan);color:var(--ink)}.nav-link.active span{color:var(--ink)}.header-actions{align-items:stretch;display:flex}.render-control{border-left:1px solid var(--line);border-right:1px solid var(--line);align-items:stretch;min-width:94px;display:flex;position:relative}.render-control:after{color:var(--cyan);content:"⌄";font:700 .62rem/1 var(--mono);pointer-events:none;position:absolute;top:50%;right:10px;transform:translateY(-58%)}.render-select{appearance:none;width:100%;color:var(--cyan);cursor:pointer;font:800 .58rem/1 var(--mono);letter-spacing:.04em;text-transform:uppercase;background:0 0;border:0;border-radius:0;padding:0 24px 0 11px}.render-select:hover{background:var(--surface)}.render-select option{background:var(--surface);color:var(--text)}.plain-button{border:0;border-right:1px solid var(--line);cursor:pointer;min-width:68px;font:700 .64rem/1 var(--mono);background:0 0;padding:0 12px}.plain-button:hover{background:var(--surface)}.icon-control{min-width:52px;color:var(--text);font:500 1.12rem/1 var(--mono);padding:0}.icon-control:hover{color:var(--cyan)}.menu-toggle{display:none}main{z-index:1;min-height:calc(100vh - var(--header));position:relative}.route-frame{overflow:clip}.label{color:var(--muted);font:700 .64rem/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;margin:0}.label span{color:var(--secondary);margin-right:14px}.button{border:1px solid var(--line);background:var(--surface);min-height:44px;font:700 .7rem/1 var(--mono);justify-content:center;align-items:center;padding:0 18px;transition:transform .14s,border-color .14s,background .14s;display:inline-flex}.button:hover{border-color:var(--text);transform:translate(-3px,-3px)}.button.primary{border-color:var(--cyan);background:var(--cyan);color:var(--ink);box-shadow:4px 4px 0 color-mix(in srgb, var(--cyan) 28%, transparent)}.text-link{color:var(--text);font:800 .72rem/1 var(--mono);align-items:center;gap:12px;display:inline-flex}.text-link span{color:var(--cyan)}.hero{min-height:calc(100vh - var(--header));padding-block:var(--page-top-space) 38px;grid-template-rows:minmax(680px,1fr) auto;grid-template-columns:repeat(12,1fr);align-items:stretch;display:grid}.hero-art{z-index:1;border:1px solid var(--line);background:linear-gradient(90deg, transparent 49.8%, color-mix(in srgb, var(--cyan) 7%, transparent) 50%, transparent 50.2%) 0 0 / 48px 48px, linear-gradient(0deg, transparent 49.8%, color-mix(in srgb, var(--cyan) 7%, transparent) 50%, transparent 50.2%) 0 0 / 48px 48px, var(--surface);grid-area:1/1/auto/7;min-width:0;margin:0;position:relative;overflow:hidden}.hero-art:before{z-index:4;background:repeating-linear-gradient(0deg, transparent 0 3px, color-mix(in srgb, var(--bg) 24%, transparent) 3px 4px);content:"";pointer-events:none;position:absolute;inset:0}.hero-art:after{z-index:3;background:radial-gradient(circle at center, transparent 0 62%, color-mix(in srgb, var(--bg) 68%, transparent) 100%), linear-gradient(90deg, transparent 72%, color-mix(in srgb, var(--secondary) 9%, transparent));content:"";pointer-events:none;position:absolute;inset:0}.scope-header,.scope-footer{z-index:6;color:var(--soft);font:700 .55rem/1 var(--mono);letter-spacing:.08em;justify-content:space-between;display:flex;position:absolute;left:16px;right:16px}.scope-header{border-bottom:1px solid color-mix(in srgb, var(--line) 70%, transparent);padding-bottom:11px;top:15px}.scope-header span:last-child{color:var(--cyan)}.scope-footer{border-top:1px solid color-mix(in srgb, var(--line) 70%, transparent);padding-top:11px;bottom:15px}.scope-footer span:first-child{color:var(--cyan)}.scope-footer span:last-child{color:var(--secondary)}.scope-stage{z-index:2;position:absolute;inset:48px 15px 205px;overflow:hidden}.oscilloscope-grid{width:max-content;color:var(--cyan);font:800 var(--scope-font-size,.7rem)/.91 var(--mono);letter-spacing:0;text-shadow:0 0 5px color-mix(in srgb, var(--cyan) 72%, transparent), 0 0 18px color-mix(in srgb, var(--cyan) 26%, transparent);white-space:pre;margin:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.scope-axis{z-index:-1;opacity:.58;pointer-events:none;position:absolute}.scope-axis-x{background:repeating-linear-gradient(90deg, color-mix(in srgb, var(--cyan) 26%, transparent) 0 2px, transparent 2px 8px);height:1px;top:50%;left:0;right:0}.scope-axis-y{background:repeating-linear-gradient(0deg, color-mix(in srgb, var(--cyan) 26%, transparent) 0 2px, transparent 2px 8px);width:1px;top:0;bottom:0;left:50%}.scope-origin{color:var(--muted);font:600 .45rem/1 var(--mono);position:absolute;top:calc(50% + 7px);left:calc(50% + 7px)}.scope-controls{z-index:7;border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 92%, transparent);box-shadow:3px 3px 0 color-mix(in srgb, var(--cyan) 14%, transparent);grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:absolute;bottom:41px;left:15px;right:15px}.scope-control{border-right:1px solid var(--fine);grid-template-columns:auto minmax(42px,1fr) auto;align-items:center;gap:8px;min-width:0;min-height:55px;padding:8px 10px;display:grid}.scope-controls>*{border-bottom:1px solid var(--fine)}.scope-controls>:nth-child(5){border-right:0}.scope-controls>.scope-actions{border-bottom:0}.scope-shape-select select{min-width:0;font-size:.52rem}.scope-control>span{color:var(--muted);font:700 .48rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}.scope-control select{background:var(--surface);width:100%;min-height:30px;color:var(--cyan);cursor:pointer;font:700 .54rem/1 var(--mono);text-transform:uppercase;border:0;border-radius:0;padding:0 5px}.scope-control input[type=range]{width:100%;min-width:42px;accent-color:var(--cyan);cursor:ew-resize;margin:0}.scope-control output{min-width:58px;color:var(--soft);font:700 .5rem/1 var(--mono);text-align:right}.scope-actions{border-right:0;grid-column:1/-1;grid-template-columns:repeat(4,1fr);min-width:0;min-height:55px;display:grid}.scope-actions button{border:0;border-right:1px solid var(--fine);background:var(--surface-2);min-width:0;min-height:55px;color:var(--soft);cursor:pointer;font:800 .48rem/1 var(--mono);letter-spacing:.04em;text-transform:uppercase;place-items:center;padding:0 6px;display:grid}.scope-action-icon{color:currentColor;width:18px;height:18px;display:block;position:relative}.scope-icon-3d{color:currentColor;font:900 .62rem/1 var(--mono);letter-spacing:.05em;display:block}.scope-icon-pause:before{content:"";background:linear-gradient(90deg,currentColor 0 4px,#0000 4px 8px,currentColor 8px 12px);position:absolute;inset:2px 3px}.scope-icon-play:before{content:"";border-top:7px solid #0000;border-bottom:7px solid #0000;border-left:11px solid;position:absolute;top:2px;left:4px}.scope-icon-shuffle{overflow:visible}.scope-icon-audio-on:before,.scope-icon-audio-off:before{clip-path:polygon(0 32%,32% 32%,72% 0,72% 100%,32% 68%,0 68%);content:"";background:currentColor;width:13px;height:12px;position:absolute;top:3px;left:1px}.scope-icon-audio-on:after{content:"";border-right:2px solid;border-radius:50%;width:6px;height:12px;position:absolute;top:3px;right:0}.scope-icon-audio-off:after{content:"";transform-origin:50%;background:currentColor;width:10px;height:2px;position:absolute;bottom:3px;right:0;transform:rotate(-45deg)}.scope-actions button:last-child{border-right:0}.scope-actions button:hover,.scope-actions button[aria-pressed=true]{color:var(--cyan)}.scope-audio{min-width:0}.scope-actions button.scope-dimension[aria-pressed=true],.scope-actions button.scope-audio[aria-pressed=true]{background:var(--cyan);color:var(--ink)}.scope-audio:disabled{color:var(--muted);cursor:not-allowed}.hero-copy{z-index:3;border:1px solid var(--line);background:var(--bg);border-left:0;flex-direction:column;grid-area:1/7/auto/-1;justify-content:center;padding:clamp(32px,5vw,74px);display:flex;position:relative;container-type:inline-size}.hero-copy:before{background:var(--cyan);content:"";width:25%;height:8px;position:absolute;top:-1px;right:-1px}.hero h1{max-width:100%;font:900 clamp(2.7rem, 10cqw, 6.2rem)/.98 var(--mono);letter-spacing:-.1em;text-transform:uppercase;white-space:nowrap;margin:28px 0 0}.hero h1 span{white-space:nowrap;display:block}.hero h1 span:last-child{color:#0000;-webkit-text-stroke:1.5px var(--cyan)}.hero-socials{gap:8px;margin-top:26px;display:flex}.hero-social-link{border:1px solid var(--line);width:42px;height:42px;color:var(--soft);place-items:center;transition:border-color .16s,color .16s,background .16s,transform .16s;display:grid}.hero-social-link svg{width:18px;height:18px}.hero-social-link:hover,.hero-social-link:focus-visible{border-color:var(--cyan);background:color-mix(in srgb, var(--cyan) 10%, transparent);color:var(--cyan);transform:translateY(-2px)}.hero-deck{max-width:52ch;color:var(--soft);margin:42px 0 0;font-size:clamp(.96rem,1.4vw,1.16rem);line-height:1.65}.hero-actions{justify-content:flex-start;gap:10px;margin:32px 0 0;display:flex}.hero-index{border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-left:1px solid var(--line);grid-area:2/1/auto/-1;grid-template-columns:160px 1fr auto;align-items:center;display:grid}.hero-index>.label,.hero-index>p:last-child{padding:18px}.hero-index>.label{border-right:1px solid var(--line)}.hero-index>p:last-child{border-left:1px solid var(--line);color:var(--soft);font:600 .66rem/1 var(--mono);margin:0}.hero-index ol{grid-template-columns:repeat(4,1fr);margin:0;padding:0;list-style:none;display:grid}.hero-index li{border-right:1px solid var(--fine);color:var(--text);font:700 .66rem/1 var(--mono);padding:18px}.hero-index li span{color:var(--secondary);margin-right:10px;font-size:.52rem}.home-index{padding-block:clamp(100px,12vw,180px)}.ascii-divider{color:var(--muted);font:600 .54rem/1 var(--mono);white-space:nowrap;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin-bottom:78px;display:grid}.ascii-divider i{background:repeating-linear-gradient(90deg, var(--line) 0 2px, transparent 2px 7px);height:1px}.section-title{grid-template-columns:1fr 3fr;align-items:end;margin-bottom:42px;display:grid}.section-title h2{font:900 clamp(4rem, 10vw, 10rem)/.72 var(--mono);letter-spacing:-.1em;text-transform:uppercase;margin:0}.index-list{border-top:1px solid var(--line)}.index-list>div{border-bottom:1px solid var(--line)}.index-row{background:color-mix(in srgb, var(--bg) 92%, transparent);grid-template-columns:70px minmax(180px,.7fr) 1fr auto;align-items:center;gap:24px;min-height:105px;padding:18px 20px;display:grid}.index-row:hover{background:radial-gradient(circle, color-mix(in srgb, var(--cyan) 42%, transparent) 0 .8px, transparent 1px) 0 0 / 4px 4px, var(--surface)}.index-row>span{color:var(--secondary);font:700 .58rem/1 var(--mono)}.index-row h3{font:850 clamp(1.55rem, 3vw, 3rem)/1 var(--mono);letter-spacing:-.07em;text-transform:uppercase;margin:0}.index-row p{max-width:42ch;color:var(--soft);margin:0;font-size:.92rem;line-height:1.5}.index-row i{color:var(--cyan);font:normal 1rem/1 var(--mono)}.current{border:1px solid var(--line);background:var(--surface);grid-template-columns:1fr 1fr auto;align-items:end;gap:40px;min-height:300px;margin-bottom:130px;padding:clamp(30px,5vw,68px);display:grid;position:relative;overflow:hidden}.current-art{color:color-mix(in srgb, var(--cyan) 17%, transparent);font:900 clamp(4rem, 13vw, 13rem)/.56 var(--mono);letter-spacing:-.2em;pointer-events:none;flex-direction:column;justify-content:space-around;display:flex;position:absolute;inset:0}.current>:not(.current-art){z-index:2;position:relative}.current h2{font:900 clamp(2.8rem, 6vw, 6rem)/.82 var(--mono);letter-spacing:-.09em;text-transform:uppercase;margin:16px 0 0}.current>p{max-width:45ch;color:var(--soft);margin:0;font-size:1rem;line-height:1.65}.page-section{padding-block:var(--page-top-space) clamp(70px, 9vw, 140px)}.page-heading{border:1px solid var(--line);grid-template-columns:minmax(0,1.5fr) minmax(360px,.7fr);min-height:390px;margin-bottom:clamp(70px,9vw,135px);display:grid}.heading-copy{flex-direction:column;justify-content:space-between;padding:clamp(30px,5vw,74px);display:flex}.page-heading h1{font:900 clamp(5rem, 12vw, 12rem)/.68 var(--mono);letter-spacing:-.12em;text-transform:uppercase;margin:44px 0 0}.page-intro{max-width:62ch;color:var(--soft);margin:54px 0 0;font-size:clamp(.96rem,1.35vw,1.12rem);line-height:1.65}.heading-field{--art:var(--cyan);border-left:1px solid var(--line);background:var(--surface);min-width:0;color:var(--art);font:800 clamp(.48rem, .72vw, .68rem)/1.05 var(--mono);font-variant-ligatures:none;letter-spacing:.04em;text-shadow:0 0 18px color-mix(in srgb, var(--art) 30%, transparent);white-space:pre;justify-content:center;align-items:center;margin:0;padding:28px;display:flex;overflow:hidden}.art-work{background:radial-gradient(circle, color-mix(in srgb, var(--cyan) 44%, transparent) 0 .7px, transparent .9px) 0 0 / 5px 5px, var(--surface)}.art-projects{--art:var(--secondary);background:repeating-linear-gradient(135deg, transparent 0 9px, color-mix(in srgb, var(--secondary) 12%, transparent) 9px 10px), var(--surface)}.art-systems{--art:var(--cyan);background:linear-gradient(90deg, transparent 49.7%, color-mix(in srgb, var(--cyan) 15%, transparent) 50%, transparent 50.3%) 0 0 / 44px 44px, linear-gradient(0deg, transparent 49.7%, color-mix(in srgb, var(--cyan) 15%, transparent) 50%, transparent 50.3%) 0 0 / 44px 44px, var(--surface)}.art-gear{--art:var(--cyan);background:linear-gradient(90deg, transparent 49.7%, color-mix(in srgb, var(--cyan) 12%, transparent) 50%, transparent 50.3%) 0 0 / 28px 28px, linear-gradient(0deg, transparent 49.7%, color-mix(in srgb, var(--cyan) 12%, transparent) 50%, transparent 50.3%) 0 0 / 28px 28px, radial-gradient(circle, color-mix(in srgb, var(--violet) 38%, transparent) 0 .65px, transparent .9px) 0 0 / 7px 7px, var(--surface)}.art-now{background:repeating-linear-gradient(0deg, transparent 0 20px, color-mix(in srgb, var(--cyan) 12%, transparent) 20px 21px), var(--surface)}.art-about{--art:var(--violet);background:repeating-linear-gradient(45deg, transparent 0 16px, color-mix(in srgb, var(--violet) 13%, transparent) 16px 17px), repeating-linear-gradient(-45deg, transparent 0 16px, color-mix(in srgb, var(--violet) 10%, transparent) 16px 17px), var(--surface)}.art-contact{--art:var(--secondary);background:radial-gradient(circle, color-mix(in srgb, var(--secondary) 44%, transparent) 0 .8px, transparent 1px) 0 0 / 5px 5px, var(--surface)}.showcase-list{border-top:1px solid var(--line)}.showcase-row{--tone:var(--cyan);border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-left:1px solid var(--line);background:color-mix(in srgb, var(--bg) 94%, transparent);grid-template-columns:90px minmax(300px,.85fr) minmax(420px,1.15fr);min-height:430px;display:grid;position:relative}.tone-violet{--tone:var(--violet)}.tone-cyan{--tone:var(--cyan)}.showcase-row>*{z-index:2;position:relative}.showcase-row:after{z-index:1;background:radial-gradient(circle, color-mix(in srgb, var(--tone) 50%, transparent) 0 .7px, transparent .9px) 0 0 / 5px 5px;content:"";opacity:.25;position:absolute;inset:0 0 0 58%;-webkit-mask-image:linear-gradient(90deg,#0000,#000);mask-image:linear-gradient(90deg,#0000,#000)}.row-number{border-right:1px solid var(--line);color:var(--tone,var(--secondary));font:800 .62rem/1 var(--mono);padding:24px 18px}.showcase-copy{border-right:1px solid var(--line);flex-direction:column;justify-content:center;padding:clamp(32px,5vw,68px);display:flex}.showcase-copy h2{font:900 clamp(2.4rem, 5vw, 5.5rem)/.84 var(--mono);letter-spacing:-.09em;text-transform:uppercase;margin:20px 0 24px}.showcase-copy>p:not(.label){max-width:48ch;color:var(--soft);margin:0;line-height:1.65}.tag-list{flex-wrap:wrap;gap:7px;margin:28px 0 0;padding:0;list-style:none;display:flex}.tag-list li{border:1px solid var(--line);background:var(--surface);color:var(--soft);font:600 .58rem/1 var(--mono);padding:7px 9px}.topic-ascii{min-width:0;color:var(--tone);font:700 clamp(.62rem, 1.05vw, .9rem)/1.55 var(--mono);text-shadow:0 0 18px color-mix(in srgb, var(--tone) 34%, transparent);justify-content:center;align-items:center;margin:0;padding:34px;display:flex;overflow:auto hidden}.showcase-row:nth-child(2){grid-template-columns:90px minmax(420px,1.15fr) minmax(300px,.85fr)}.showcase-row:nth-child(2) .topic-ascii{border-right:1px solid var(--line);grid-area:1/2}.showcase-row:nth-child(2) .showcase-copy{border-right:0;grid-area:1/3}.plain-note{border:1px dashed var(--line);grid-template-columns:130px 1fr;margin-top:24px;padding:24px;display:grid}.plain-note p:last-child{max-width:58ch;color:var(--soft);margin:0;line-height:1.6}.project-list{border-top:1px solid var(--line)}.project-row{border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-left:1px solid var(--line);background:color-mix(in srgb, var(--bg) 94%, transparent);min-height:340px;color:inherit;grid-template-columns:130px minmax(300px,1fr) minmax(330px,.8fr);text-decoration:none;transition:background .2s;display:grid}.project-row:hover{background:color-mix(in srgb, var(--cyan) 5%, var(--bg))}.project-row:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.project-row:hover .project-main h2,.project-row:focus-visible .project-main h2{color:var(--cyan)}.project-index{border-right:1px solid var(--line);flex-direction:column;justify-content:space-between;padding:24px 18px;display:flex;overflow:hidden}.project-index span{color:var(--secondary);font:800 .62rem/1 var(--mono)}.project-index i{color:color-mix(in srgb, var(--cyan) 42%, transparent);font:normal 900 4.8rem/.6 var(--mono);letter-spacing:-.25em;writing-mode:vertical-rl}.project-main,.project-detail{padding:clamp(28px,4vw,56px)}.project-main{border-right:1px solid var(--line)}.project-meta{color:var(--muted);font:700 .58rem/1 var(--mono);justify-content:space-between;display:flex}.status{color:var(--text)}.status-in-progress{color:var(--cyan)}.status-planned{color:var(--violet)}.project-main h2{font:900 clamp(2.6rem, 5.6vw, 5.6rem)/.8 var(--mono);letter-spacing:-.1em;text-transform:uppercase;margin:54px 0 24px}.project-main>p{max-width:50ch;color:var(--soft);margin:0;line-height:1.65}.project-detail{flex-direction:column;justify-content:space-between;display:flex}.project-detail .tag-list{margin-top:0}.project-detail details{border-top:1px solid var(--line);margin-top:40px}.project-detail summary{cursor:pointer;min-height:48px;font:800 .65rem/1 var(--mono);justify-content:space-between;align-items:center;list-style:none;display:flex}.project-detail summary::-webkit-details-marker{display:none}.project-detail details[open] summary span{transform:rotate(45deg)}.project-detail summary span{color:var(--cyan);font-size:1.2rem;transition:transform .14s}.project-detail details p{color:var(--soft);margin:0;padding:4px 0 20px;font-size:.9rem;line-height:1.65}.project-link-label{border-top:1px solid var(--line);font:800 .65rem/1 var(--mono);margin-top:40px;padding:17px 0}.project-link-label span{color:var(--cyan);margin-left:6px;transition:transform .14s;display:inline-block}.project-row:hover .project-link-label span,.project-row:focus-visible .project-link-label span{transform:translate(3px,-3px)}.project-page{max-width:1060px}.back-link{color:var(--muted);font:600 .75rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:46px;display:inline-block}.back-link:hover{color:var(--cyan)}.project-page-header{border-bottom:1px solid var(--line);max-width:900px;padding-bottom:clamp(40px,7vw,82px)}.project-page-header .project-meta{justify-content:flex-start;margin:18px 0 0}.project-page-header h1{max-width:11ch;font:900 clamp(3.5rem, 10vw, 8rem)/.82 var(--mono);letter-spacing:-.1em;text-transform:uppercase;margin:28px 0}.project-page-header>p:last-child{max-width:58ch;color:var(--soft);margin:0;font-size:clamp(1rem,1.8vw,1.25rem);line-height:1.6}.project-page-content{grid-template-columns:minmax(180px,.45fr) 1fr;gap:clamp(40px,8vw,130px);padding-top:clamp(40px,7vw,82px);display:grid}.project-page-content .tag-list{margin-top:16px}.project-story{max-width:68ch;color:var(--soft);margin:16px 0 0;line-height:1.75}.future-panel{border:1px solid var(--line);background:radial-gradient(circle, color-mix(in srgb, var(--violet) 42%, transparent) 0 .7px, transparent .95px) 0 0 / 5px 5px, var(--surface);grid-template-columns:1fr 1fr;margin-top:80px;display:grid}.future-panel>div{border-right:1px solid var(--line);background:color-mix(in srgb, var(--bg) 78%, transparent);padding:clamp(30px,5vw,68px)}.future-panel h2{font:900 clamp(3rem, 6vw, 6rem)/.8 var(--mono);letter-spacing:-.09em;text-transform:uppercase;margin:32px 0 20px}.future-panel>div>p:last-child{max-width:42ch;color:var(--soft);line-height:1.6}.future-panel ul{background:color-mix(in srgb, var(--bg) 68%, transparent);margin:0;padding:0;list-style:none}.future-panel li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:58px;padding:0 20px;font-size:.9rem;display:flex}.future-panel li span:last-child{color:var(--muted);font:600 .54rem/1 var(--mono)}.hermes-intro{max-width:68ch;color:var(--soft);margin-bottom:60px;font-size:1.05rem;line-height:1.7}.hermes-sections{border-top:1px solid var(--line)}.hermes-architecture{border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 90%, transparent);margin-top:60px;overflow-x:auto}.hermes-architecture pre{color:var(--cyan);font:600 .68rem/1.5 var(--mono);white-space:pre;margin:0;padding:clamp(24px,4vw,48px)}.gear-categories{gap:48px;display:grid}.gear-category-heading{justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:20px;display:flex}.gear-category h2{font:900 clamp(1.5rem, 3vw, 2.5rem)/1 var(--mono);letter-spacing:-.06em;text-transform:uppercase;margin:0}.gear-category-heading span{color:var(--muted);font:600 .6rem/1 var(--mono);text-transform:uppercase;white-space:nowrap}.gear-table{border:1px solid var(--line)}.gear-row{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg) 94%, transparent);grid-template-columns:1fr 2fr auto;align-items:center;min-height:52px;font-size:.85rem;display:grid}.gear-row:last-child{border-bottom:0}.gear-name{color:var(--text);font:700 .78rem/1 var(--mono);padding:14px 18px;text-decoration:none;display:block}.gear-name:hover,.gear-name:focus-visible{color:var(--cyan);text-underline-offset:4px;text-decoration:underline}.gear-role{color:var(--soft);border-left:1px solid var(--line);padding:14px 18px;font-size:.82rem;line-height:1.4}.gear-status{font:600 .54rem/1 var(--mono);text-transform:uppercase;padding:14px 18px}.gear-status-active{color:var(--cyan)}.gear-status-lent,.gear-status-stored{color:var(--muted)}.gear-status-available,.gear-status-sale-planned{color:var(--violet)}.gear-status-archived{color:var(--muted)}.gear-status-sold{color:var(--muted);text-decoration:line-through}.gear-detail-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:38px;display:grid}.gear-detail-page .page-heading h1{font-size:clamp(3.6rem,6.4vw,6.5rem)}.gear-detail-grid>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--surface) 68%, transparent);min-width:0;min-height:150px;padding:clamp(24px,4vw,48px)}.gear-detail-grid>div>p:last-child{color:var(--soft);margin:24px 0 0;line-height:1.55}.gear-detail-note{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 68%, transparent);max-width:78ch;margin:0 0 38px;padding:clamp(24px,4vw,48px)}.gear-detail-note>p:last-child{color:var(--soft);margin:24px 0 0;line-height:1.65}.gear-detail-status{font:800 1.3rem/1 var(--mono);text-transform:uppercase}.gear-related-links{gap:12px;margin:24px 0 0;padding:0;list-style:none;display:grid}.gear-related-links .text-link{font-size:.7rem}.gear-detail-muted{font:.72rem/1.5 var(--mono);color:var(--muted)!important}.writeup-list{border-top:1px solid var(--line)}.writeup-row{border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-left:1px solid var(--line);background:color-mix(in srgb, var(--bg) 94%, transparent);grid-template-columns:260px 1fr;min-height:140px;display:grid}.writeup-meta{border-right:1px solid var(--line);flex-direction:column;gap:12px;padding:clamp(20px,3vw,36px);display:flex}.writeup-meta time{color:var(--muted);font:600 .62rem/1 var(--mono);text-transform:uppercase}.writeup-main{padding:clamp(20px,3vw,36px)}.writeup-main h2{font:700 clamp(1.2rem, 2.5vw, 1.8rem)/1.1 var(--mono);letter-spacing:-.04em;margin:0 0 12px}.writeup-main p{max-width:52ch;color:var(--soft);margin:0;font-size:.88rem;line-height:1.6}.plain-note{border:1px solid var(--line);background:color-mix(in srgb, var(--violet) 6%, var(--surface));margin-top:60px;padding:clamp(24px,4vw,48px)}.plain-note .label{margin-bottom:8px}.plain-note p:last-child{max-width:48ch;color:var(--soft);line-height:1.6}.writeup-link{color:inherit;grid-column:1/-1;grid-template-columns:260px 1fr;text-decoration:none;transition:background .2s;display:grid}.writeup-link:hover{background:color-mix(in srgb, var(--lime) 5%, transparent)}.writeup-link:hover .writeup-main h2{color:var(--lime)}.article-page{max-width:860px}.article-back{font:600 .75rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:40px;text-decoration:none;display:inline-block}.article-back:hover{color:var(--lime)}.article-header{border-bottom:1px solid var(--line);margin-bottom:48px;padding-bottom:40px}.article-header h1{font:700 clamp(1.8rem, 4.5vw, 3rem)/1.05 var(--mono);letter-spacing:-.04em;margin:12px 0 16px}.article-summary{max-width:60ch;color:var(--soft);margin:0 0 24px;font-size:1.05rem;line-height:1.6}.article-body{flex-direction:column;gap:36px;display:flex}.article-block{flex-direction:column;gap:14px;display:flex}.article-block h2{font:700 clamp(1.1rem, 2.2vw, 1.5rem)/1.15 var(--mono);letter-spacing:-.03em;margin:12px 0 0}.article-block p{max-width:62ch;color:var(--soft);margin:0;font-size:.95rem;line-height:1.7}.article-block ul{color:var(--soft);margin:0;padding-left:20px;font-size:.95rem;line-height:1.7}.article-table-wrap{border:1px solid var(--line);overflow-x:auto}.article-table{border-collapse:collapse;width:100%;font-size:.85rem}.article-table th,.article-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:12px 16px}.article-table th{font:600 .68rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:color-mix(in srgb, var(--surface) 80%, transparent)}.article-table td{color:var(--soft);line-height:1.5}.article-table tr:last-child td{border-bottom:0}.article-callout{border-left:3px solid var(--lime);background:color-mix(in srgb, var(--lime) 6%, var(--surface));padding:16px 20px}.article-ascii{border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 96%, transparent);font:400 .78rem/1.45 var(--mono);color:var(--soft);white-space:pre;margin:8px 0;padding:clamp(16px,3vw,28px);overflow-x:auto}.systems-list{border-top:1px solid var(--line)}.system-row{border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-left:1px solid var(--line);background:color-mix(in srgb, var(--bg) 94%, transparent);grid-template-columns:110px minmax(350px,1.2fr) minmax(280px,.8fr);min-height:265px;display:grid}.system-row>div,.system-row>ul{padding:clamp(28px,4vw,52px)}.system-row>div{border-right:1px solid var(--line)}.system-row h2{font:900 clamp(2.6rem, 5vw, 5.2rem)/.8 var(--mono);letter-spacing:-.09em;text-transform:uppercase;margin:0 0 20px}.system-row p{max-width:46ch;color:var(--soft);margin:0 0 30px;line-height:1.6}.system-row small{color:var(--muted);font:700 .54rem/1 var(--mono);text-transform:uppercase;margin-bottom:8px;display:block}.system-row code{color:var(--cyan);font:600 .68rem/1.4 var(--mono)}.system-row ul{align-content:center;gap:12px;margin:0;list-style:none;display:grid}.system-row li{border-bottom:1px dotted var(--line);color:var(--soft);font:600 .68rem/1 var(--mono);padding-bottom:12px}.system-row li:before{color:var(--cyan);content:"▪";margin-right:12px}.system-band{background:var(--cyan);min-height:112px;color:var(--ink);font:900 clamp(1rem, 2.5vw, 2.5rem)/1 var(--mono);text-transform:uppercase;justify-content:space-around;align-items:center;margin-top:34px;padding:20px;display:flex;overflow:hidden}.system-band i{font-style:normal}.now-meta{border:1px solid var(--line);color:var(--muted);font:700 .6rem/1 var(--mono);text-transform:uppercase;justify-content:space-between;margin-bottom:18px;padding:16px 18px;display:flex}.now-list{border-top:1px solid var(--line)}.now-row{border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-left:1px solid var(--line);background:color-mix(in srgb, var(--bg) 94%, transparent);grid-template-columns:70px minmax(230px,.75fr) minmax(300px,1fr) auto;align-items:center;gap:36px;min-height:235px;padding:clamp(28px,4vw,54px);display:grid}.now-row-link{color:inherit;text-decoration:none;transition:background .16s,box-shadow .16s}.now-row-link:hover,.now-row-link:focus-visible{background:color-mix(in srgb, var(--cyan) 6%, var(--bg));box-shadow:inset 3px 0 var(--cyan)}.now-row-link:hover h3,.now-row-link:focus-visible h3,.now-row-link:hover .now-project-link,.now-row-link:focus-visible .now-project-link{color:var(--cyan)}.now-project-link{color:var(--muted);font:700 .64rem/1.3 var(--mono);text-transform:uppercase}.now-project-link span{margin-left:4px;transition:transform .16s;display:inline-block}.now-row-link:hover .now-project-link span,.now-row-link:focus-visible .now-project-link span{transform:translate(3px,-3px)}.now-row:nth-child(2n){background:radial-gradient(circle, color-mix(in srgb, var(--cyan) 32%, transparent) 0 .7px, transparent .95px) 0 0 / 5px 5px, color-mix(in srgb, var(--bg) 88%, transparent)}.now-row>span{color:var(--secondary);font:800 .62rem/1 var(--mono)}.now-row h2{font:900 clamp(2rem, 4vw, 4rem)/.82 var(--mono);letter-spacing:-.08em;text-transform:uppercase;margin:16px 0 0}.now-row>p{max-width:50ch;color:var(--soft);margin:0;line-height:1.65}.now-row code{max-width:190px;color:var(--cyan);font:600 .6rem/1.6 var(--mono)}.now-end{flex-direction:column;align-items:flex-start;gap:14px;min-width:0;display:flex}.now-link{color:var(--cyan);font:700 .64rem/1.3 var(--mono);text-decoration:none}.now-link:hover,.now-link:focus-visible{text-underline-offset:4px;text-decoration:underline}.now-footnote{color:var(--muted);margin:24px 0 0;font-size:.78rem}.now-footnote a{border-bottom:1px solid var(--muted);color:var(--soft)}.about-layout{border:1px solid var(--line);grid-template-columns:1.2fr .8fr;display:grid}.about-story{border-right:1px solid var(--line);padding:clamp(32px,6vw,86px)}.about-story p{max-width:68ch;color:var(--soft);margin:0 0 28px;font-size:clamp(1rem,1.45vw,1.18rem);line-height:1.8}.about-story p:first-child{color:var(--text);font-size:clamp(1.25rem,2.1vw,1.75rem);line-height:1.55}.about-profile{background:radial-gradient(circle, color-mix(in srgb, var(--cyan) 52%, transparent) 0 .7px, transparent .95px) 0 0 / 4px 4px, var(--surface);flex-direction:column;justify-content:flex-end;padding:clamp(28px,5vw,70px);display:flex;overflow:hidden}.ascii-monogram{color:var(--cyan);margin:auto 0}.ascii-monogram pre{width:145%;font:900 clamp(.54rem, 1.1vw, .95rem)/1 var(--mono);letter-spacing:-.05em;transform-origin:0;margin:0;transform:scaleX(.7)}.about-profile>p{font:900 clamp(1.5rem, 3vw, 3rem)/1 var(--mono);letter-spacing:-.07em;text-transform:uppercase;margin:40px 0 7px}.about-profile>span{color:var(--soft);font:600 .68rem/1 var(--mono)}.about-data{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:1.2fr 1fr .8fr;margin-top:32px;display:grid}.about-data>section{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg) 94%, transparent);min-width:0;padding:clamp(24px,4vw,48px)}.about-data dl{margin:36px 0 0}.about-data dl div{border-bottom:1px dotted var(--line);padding:18px 0}.about-data dt{font:800 .76rem/1 var(--mono);margin-bottom:7px}.about-data dd{color:var(--soft);margin:0;font-size:.86rem}.large-tags,.interest-list{flex-wrap:wrap;gap:7px;margin:36px 0 0;padding:0;list-style:none;display:flex}.large-tags li,.interest-list li{border:1px solid var(--line);background:var(--surface);font:600 .62rem/1 var(--mono);padding:9px 11px}.interest-list{gap:0;display:grid}.interest-list li{background:0 0;border-width:0 0 1px}.contact-field{border:1px solid var(--line);background:radial-gradient(circle, color-mix(in srgb, var(--cyan) 46%, transparent) 0 .7px, transparent .95px) 0 0 / 5px 5px, var(--surface);color:var(--cyan);font:900 clamp(.62rem, 1.75vw, 1.5rem)/1.15 var(--mono);letter-spacing:.06em;text-align:center;margin:0;padding:clamp(30px,7vw,90px);overflow:hidden}.contact-links{border-left:1px solid var(--line);grid-template-columns:repeat(2,1fr);display:grid}.contact-links a{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg) 94%, transparent);grid-template-columns:1fr auto;align-content:space-between;min-height:190px;padding:clamp(26px,4vw,52px);transition:background .14s,color .14s;display:grid}.contact-links a:hover{background:var(--cyan);color:var(--ink)}.contact-links span{font:700 .62rem/1 var(--mono);text-transform:uppercase}.contact-links strong{overflow-wrap:anywhere;font:900 clamp(1.5rem, 4vw, 4rem)/.9 var(--mono);letter-spacing:-.07em;grid-column:1/-1;align-self:end}.contact-links i{color:var(--cyan);font-style:normal}.contact-links a:hover i{color:var(--ink)}.not-found{min-height:calc(100vh - var(--header));flex-direction:column;justify-content:center;align-items:flex-start;display:flex}.not-found:before{color:color-mix(in srgb, var(--cyan) 14%, transparent);font:900 clamp(8rem, 28vw, 30rem)/.7 var(--mono);content:"404";pointer-events:none;position:absolute;right:4vw}.not-found h1,.error-screen h1{z-index:1;font:900 clamp(4rem, 11vw, 11rem)/.78 var(--mono);letter-spacing:-.1em;text-transform:uppercase;margin:28px 0;position:relative}.not-found>p:not(.label){color:var(--soft);margin:0 0 30px}.site-footer{z-index:1;border-top:1px solid var(--line);background:var(--surface);position:relative}.footer-texture{border-bottom:1px solid var(--line);background:var(--cyan);height:44px;color:var(--ink);font:900 1.3rem/44px var(--mono);letter-spacing:.16em;white-space:nowrap;overflow:hidden}.footer-inner{min-height:118px;font:700 .66rem/1 var(--mono);grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.footer-inner p{margin:0}.footer-inner p:nth-child(2){color:var(--muted)}.footer-inner a{justify-self:end}.error-screen{background:var(--bg);flex-direction:column;justify-content:center;align-items:flex-start;min-height:100vh;padding:8vw;display:flex}.error-screen button{border:1px solid var(--cyan);background:var(--cyan);min-height:44px;color:var(--ink);cursor:pointer;font:700 .7rem/1 var(--mono);padding:0 18px}@media (width<=1120px){.header-inner{grid-template-columns:150px 1fr auto}.nav-link{min-width:0;padding-inline:8px}.hero{grid-template-rows:minmax(700px,1fr) auto}.hero-art{grid-column:1/7}.hero-copy{grid-column:7/-1}.hero-index{grid-template-columns:120px 1fr}.hero-index>p:last-child{display:none}.page-heading{grid-template-columns:1fr 320px}.showcase-row,.showcase-row:nth-child(2){grid-template-columns:72px 1fr}.showcase-row .topic-ascii,.showcase-row:nth-child(2) .topic-ascii{border-top:1px solid var(--line);border-right:0;grid-area:2/2;min-height:240px}.showcase-row .showcase-copy,.showcase-row:nth-child(2) .showcase-copy{border-right:0;grid-area:1/2}.row-number{grid-row:1/span 2}.project-row{grid-template-columns:90px 1fr .75fr}.now-row{grid-template-columns:50px .7fr 1fr}.now-row>.now-end{grid-column:2/-1;max-width:none}}@media (width<=900px){:root{--header:62px;--page-top-space:28px}.section-shell,.header-inner{width:min(calc(100% - 32px), var(--max))}.header-inner{grid-template-columns:1fr auto;position:relative}.wordmark{border-right:0}.site-nav{border:1px solid var(--line);background:var(--bg);box-shadow:8px 8px 0 color-mix(in srgb, var(--cyan) 18%, transparent);grid-template-columns:repeat(2,1fr);padding:10px;display:none;position:absolute;top:100%;left:0;right:0}.site-nav.is-open{display:grid}.nav-link{border-right:1px solid var(--fine);border-bottom:1px solid var(--fine);min-height:52px}.header-actions{grid-area:1/2}.menu-toggle{display:block}.hero{grid-template-rows:640px auto auto;min-height:auto;padding-block:34px 24px}.hero-art{grid-area:1/1/auto/-1}.hero-copy{border-top:0;border-left:1px solid var(--line);grid-area:2/1/auto/-1;align-self:stretch;padding:38px}.hero h1{font-size:clamp(3rem,11vw,6.5rem)}.hero-index{grid-area:3/1/auto/-1;grid-template-columns:1fr}.hero-index>.label{display:none}.section-title{grid-template-columns:1fr;gap:24px}.index-row{grid-template-columns:44px minmax(150px,.8fr) 1fr auto;gap:14px}.current{grid-template-columns:1fr auto}.current>p{grid-area:2/1/auto/-1}.page-heading{grid-template-columns:1fr 240px;min-height:330px}.page-heading h1{font-size:clamp(4rem,13vw,8rem)}.project-row{grid-template-columns:70px 1fr}.project-index{grid-row:1/span 2}.project-main{border-right:0;border-bottom:1px solid var(--line)}.project-detail{grid-column:2}.system-row{grid-template-columns:70px 1fr}.system-row>div{border-right:0;border-bottom:1px solid var(--line)}.system-row>ul{grid-column:2}.now-row{grid-template-columns:50px 1fr}.now-row>p,.now-row>.now-end{grid-column:2}.about-data{grid-template-columns:1fr 1fr}.about-data section:first-child{grid-column:1/-1}}@media (width<=650px){.section-shell,.header-inner{width:min(calc(100% - 20px), var(--max))}.plain-button{min-width:58px;padding-inline:8px}.render-control{min-width:76px}.render-control:after{right:7px}.render-select{padding-left:7px;padding-right:19px;font-size:.5rem}.icon-control{min-width:52px;padding:0}.hero{flex-direction:column;align-items:stretch;padding-top:22px;display:flex}.hero-art{min-height:780px}.oscilloscope-grid{font-size:var(--scope-font-size,.62rem)}.scope-header,.scope-footer{font-size:.48rem;left:10px;right:10px}.scope-stage{bottom:338px;inset-inline:8px}.scope-controls{grid-template-columns:repeat(2,minmax(0,1fr));left:8px;right:8px}.scope-controls>.scope-control,.scope-controls>.scope-actions{border-right:1px solid var(--fine)}.scope-controls>:nth-child(2n),.scope-controls>.scope-actions{border-right:0}.scope-actions{border-bottom:0;grid-column:1/-1}.scope-control{min-height:52px;padding-inline:8px}.hero-copy{border-top:0;border-left:1px solid var(--line);width:100%;margin:0;padding:28px 22px}.hero h1{margin-top:24px;font-size:clamp(2.75rem,14vw,4.6rem)}.hero-deck{margin-top:32px;font-size:.94rem}.hero-actions{grid-template-columns:1fr 1fr;display:grid}.hero-index{margin-top:24px}.hero-index ol{grid-template-columns:1fr 1fr}.hero-index li{border-bottom:1px solid var(--fine)}.home-index{padding-block:90px}.ascii-divider{margin-bottom:54px;overflow:hidden}.ascii-divider span:last-child{display:none}.section-title h2{font-size:clamp(3.8rem,21vw,7rem)}.index-row{grid-template-columns:34px 1fr auto;min-height:108px;padding-inline:12px}.index-row p{display:none}.index-row h3{font-size:1.7rem}.current{grid-template-columns:1fr;align-content:end;min-height:360px;margin-bottom:90px;padding:28px 20px}.current>p,.current .text-link{grid-area:auto/1}.page-section{padding-block:52px 90px}.page-heading{grid-template-columns:1fr;min-height:0;margin-bottom:70px}.heading-copy{min-height:310px;padding:28px 20px}.page-heading h1{font-size:clamp(3.8rem,21vw,7rem)}.page-intro{margin-top:44px}.heading-field{border-top:1px solid var(--line);border-left:0;min-height:230px;font-size:clamp(.48rem,2.4vw,.64rem)}.showcase-row,.showcase-row:nth-child(2){grid-template-columns:44px 1fr}.row-number{padding-inline:12px}.showcase-copy{padding:34px 22px}.showcase-copy h2{font-size:clamp(2.7rem,14vw,4.4rem)}.topic-ascii{min-height:210px;padding:20px 12px;font-size:clamp(.5rem,2.3vw,.68rem)}.plain-note{grid-template-columns:1fr;gap:18px}.project-row{grid-template-columns:44px 1fr}.project-index{padding-inline:12px}.project-index i{font-size:3rem}.project-main,.project-detail{padding:30px 20px}.project-main h2{margin-top:44px;font-size:clamp(2.6rem,13vw,4rem)}.back-link{margin-bottom:32px}.project-page-header h1{font-size:clamp(3.2rem,17vw,5.5rem)}.project-page-content{grid-template-columns:1fr;gap:40px}.future-panel{grid-template-columns:1fr;margin-top:60px}.future-panel>div{border-right:0;border-bottom:1px solid var(--line)}.system-row{grid-template-columns:44px 1fr}.system-row .row-number{padding-inline:12px}.system-row>div,.system-row>ul{padding:28px 20px}.system-row h2{font-size:clamp(2.7rem,14vw,4rem)}.system-band{flex-wrap:wrap;gap:10px 20px;min-height:170px;font-size:1rem}.now-row{grid-template-columns:34px 1fr;gap:24px 14px;padding:28px 18px}.now-row h2{font-size:clamp(2rem,11vw,3rem)}.about-layout{grid-template-columns:1fr}.about-story{border-right:0;border-bottom:1px solid var(--line);padding:34px 22px}.about-profile{min-height:330px;padding:30px 22px}.ascii-monogram pre{font-size:clamp(.5rem,2.7vw,.7rem)}.about-data{grid-template-columns:1fr}.about-data section:first-child{grid-column:1}.contact-field{padding:38px 8px;font-size:clamp(.44rem,2.15vw,.62rem)}.contact-links{grid-template-columns:1fr}.contact-links a{min-height:150px}.hermes-architecture pre{font-size:.58rem}.gear-row{grid-template-columns:1fr;min-height:auto}.gear-detail-grid{grid-template-columns:1fr}.gear-detail-page .page-heading h1{font-size:clamp(3rem,15vw,5.4rem)}.gear-role{border-left:0;border-top:1px solid var(--fine)}.gear-status{border-top:1px solid var(--fine)}.writeup-row{grid-template-columns:1fr;min-height:auto}.writeup-link{grid-template-columns:1fr}.writeup-meta{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;padding:14px 18px}.footer-inner{grid-template-columns:1fr auto;min-height:140px}.footer-inner a{grid-column:1/-1;justify-self:start}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.render-overlay:after,:root[data-renderer=glitch] .render-overlay,:root[data-renderer=glitch] .render-overlay:before,:root[data-renderer=glitch] .render-overlay:after{animation:none}}.journal-ascii{color:var(--secondary);-webkit-user-select:none;user-select:none;margin:2rem 0 .5rem;font-size:.78rem;line-height:1.2;overflow-x:auto}.journal-month{margin:2.5rem 0 1rem}.journal-month h2{letter-spacing:.08em;text-transform:uppercase;color:var(--secondary);margin-bottom:.75rem;font-size:1.05rem}.journal-grid{border-collapse:collapse;table-layout:fixed;width:100%;max-width:660px}.journal-grid th{text-align:center;text-transform:uppercase;letter-spacing:.12em;opacity:.5;padding:.3rem 0;font-size:.68rem;font-weight:400}.journal-grid td{text-align:center;border:1px solid var(--fine);height:2.5rem;padding:0}.journal-day{opacity:.55;font-size:.85rem}.journal-day.empty{border-color:#0000}.journal-day.has-entry a{width:100%;height:100%;color:var(--secondary);background:color-mix(in srgb, var(--secondary) 9%, transparent);border:1px solid color-mix(in srgb, var(--secondary) 35%, transparent);justify-content:center;align-items:center;font-weight:600;text-decoration:none;display:flex}.journal-day.has-entry a:hover{background:color-mix(in srgb, var(--secondary) 20%, transparent)}.journal-list{border-top:1px dashed var(--line);margin-top:3rem;padding-top:1.5rem}.journal-entry{border-bottom:1px dashed var(--fine);scroll-margin-top:calc(var(--header) + 1rem);padding:1.25rem 0}.journal-entry h3{color:var(--secondary);margin:0 0 .4rem;font-size:1rem}.journal-entry p{opacity:.85;max-width:62ch;margin:0 0 .4rem}.journal-entry ul{opacity:.72;margin:.35rem 0 0;padding-left:1.15rem;font-size:.9rem}.journal-entry li{max-width:62ch;margin:.15rem 0}.journal-note{opacity:.5;max-width:62ch;margin-top:2rem;font-size:.85rem}.spotify-home-signal{border:1px solid var(--line);background:linear-gradient(90deg, color-mix(in srgb, var(--cyan) 6%, transparent), transparent 52%), var(--surface);width:min(100%,520px);min-width:0;min-height:92px;color:var(--text);grid-template-columns:76px minmax(0,1fr);align-items:center;gap:14px;margin-top:26px;padding:8px 42px 8px 8px;transition:border-color .18s,background .18s,box-shadow .18s;display:grid;position:relative;overflow:hidden}.spotify-home-signal.is-linked:hover{border-color:color-mix(in srgb, var(--cyan) 72%, var(--line));box-shadow:4px 4px 0 color-mix(in srgb, var(--cyan) 16%, transparent)}.spotify-home-copy{gap:4px;min-width:0;display:grid}.spotify-home-meta{min-width:0;color:var(--cyan);font:700 .49rem/1 var(--mono);letter-spacing:.07em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:10px;display:flex}.spotify-home-meta i{border:1px solid var(--fine);color:var(--muted);padding:4px 5px;font-style:normal}.spotify-home-copy>strong,.spotify-home-copy>small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.spotify-home-copy>strong{font:720 .92rem/1.18 var(--display)}.spotify-home-copy>small{color:var(--soft);font:600 .62rem/1.2 var(--mono)}.spotify-home-fallback{aspect-ratio:1;border:1px solid var(--line);width:76px;color:var(--cyan);font:700 1.8rem/1 var(--display);place-items:center;display:grid}.spotify-home-progress{background:var(--fine);height:2px;position:absolute;bottom:6px;left:98px;right:42px;overflow:hidden}.spotify-home-progress i{background:var(--cyan);height:100%;display:block}.spotify-home-arrow{color:var(--cyan);font:700 .75rem/1 var(--mono);position:absolute;top:50%;right:15px;transform:translateY(-50%)}.activity-connections{border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 96%, transparent);margin-top:clamp(42px,7vw,92px)}.activity-connections>header{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(260px,.72fr);gap:18px 48px;padding:clamp(28px,5vw,60px);display:grid}.activity-connections>header .label{grid-column:1/-1}.activity-connections>header h2{max-width:14ch;font:800 clamp(2rem, 5vw, 5rem)/.94 var(--display);letter-spacing:-.055em;text-transform:uppercase;margin:0}.activity-connections>header>p:last-child{max-width:54ch;color:var(--soft);align-self:end;margin:0;line-height:1.65}.activity-grid{grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.activity-grid article{border-right:1px solid var(--line);min-width:0;min-height:220px;padding:clamp(20px,2.5vw,34px)}.activity-grid article:last-child{border-right:0}.activity-grid article>div{justify-content:space-between;align-items:center;gap:12px;display:flex}.activity-grid article span,.activity-grid article i{font:700 .56rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase}.activity-grid article span{color:var(--cyan)}.activity-grid article i{border:1px solid var(--line);color:var(--muted);padding:5px 7px;font-style:normal}.activity-grid h3{font:800 clamp(1.25rem, 2.1vw, 2.1rem)/1 var(--display);letter-spacing:-.04em;margin:50px 0 12px}.activity-grid p{color:var(--soft);margin:0;font-size:.78rem;line-height:1.55}.activity-grid .spotify-card{background:radial-gradient(circle at 82% 16%, color-mix(in srgb, var(--cyan) 14%, transparent) 0 1px, transparent 2px), linear-gradient(135deg, color-mix(in srgb, var(--cyan) 5%, transparent), transparent 54%);background-size:20px 20px,auto;grid-column:span 2;transition:background .18s,border-color .18s,box-shadow .18s;position:relative;overflow:hidden}.spotify-card>a{min-height:inherit;color:inherit;text-decoration:none;display:block}.activity-grid .spotify-card .activity-card-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.spotify-card.is-linked:hover{background-color:color-mix(in srgb, var(--cyan) 5%, transparent)}.spotify-playback{grid-template-columns:minmax(76px,112px) minmax(0,1fr);align-items:end;gap:18px;margin-top:30px;display:grid}.spotify-artwork-renderer{aspect-ratio:1;border:1px solid var(--line);background:var(--bg);isolation:isolate;width:100%;display:block;position:relative;overflow:hidden}.spotify-artwork-renderer.is-compact{width:76px}.spotify-artwork-image,.spotify-artwork-canvas,.spotify-artwork-effect{width:100%;height:100%;position:absolute;inset:0}.spotify-artwork-image{object-fit:cover;filter:saturate(.72)contrast(1.12);opacity:.88;transition:filter .18s,opacity .18s;display:block}.spotify-artwork-image-fallback{background:linear-gradient(135deg, color-mix(in srgb, var(--cyan) 12%, transparent), transparent), var(--surface);color:var(--cyan);font:700 2rem/1 var(--display);place-items:center;display:grid}.spotify-artwork-canvas{z-index:1;opacity:0;image-rendering:pixelated;transition:opacity .18s;display:block}.spotify-artwork-renderer.is-ready .spotify-artwork-canvas{opacity:1}.spotify-artwork-renderer.is-ready .spotify-artwork-image{opacity:.12}.spotify-artwork-effect{z-index:2;pointer-events:none}.spotify-artwork-fallback{aspect-ratio:1;border:1px solid var(--line);width:100%;color:var(--cyan);font:700 2rem/1 var(--display);place-items:center;display:grid}.activity-grid .spotify-copy h3{margin:0 0 14px}.spotify-copy strong,.spotify-copy small{display:block}.spotify-copy strong{font:700 .92rem/1.25 var(--display);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.activity-grid .spotify-copy p{text-overflow:ellipsis;white-space:nowrap;margin-top:5px;overflow:hidden}.spotify-copy small{color:var(--muted);font:600 .58rem/1.2 var(--mono);letter-spacing:.04em;text-transform:uppercase;margin-top:9px}.spotify-progress{background:var(--line);height:2px;position:absolute;bottom:20px;left:clamp(20px,2.5vw,34px);right:clamp(20px,2.5vw,34px);overflow:hidden}.spotify-progress span{background:var(--cyan);height:100%;display:block}:root[data-renderer=ascii] :is(.spotify-home-signal,.activity-grid .spotify-card){background:linear-gradient(90deg, transparent 49.6%, color-mix(in srgb, var(--cyan) 7%, transparent) 50%, transparent 50.4%) 0 0 / 24px 24px, linear-gradient(0deg, transparent 49.6%, color-mix(in srgb, var(--cyan) 7%, transparent) 50%, transparent 50.4%) 0 0 / 24px 24px, linear-gradient(120deg, color-mix(in srgb, var(--cyan) 7%, var(--surface)), var(--bg))}:root[data-renderer=ascii] .spotify-artwork-effect{background:repeating-linear-gradient(0deg, transparent 0 5px, color-mix(in srgb, var(--cyan) 14%, transparent) 5px 6px);mix-blend-mode:screen;opacity:.4;animation:4.8s linear infinite spotify-art-scan}:root[data-renderer=dither] :is(.spotify-home-signal,.activity-grid .spotify-card){background:radial-gradient(circle, color-mix(in srgb, var(--cyan) 28%, transparent) 0 .7px, transparent .9px) 0 0 / 4px 4px, linear-gradient(132deg, color-mix(in srgb, var(--cyan) 13%, var(--surface)) 0 33%, transparent 33% 66%, color-mix(in srgb, var(--violet) 9%, var(--bg)) 66%)}:root[data-renderer=dither] .spotify-artwork-effect{background:radial-gradient(circle, color-mix(in srgb, var(--text) 26%, transparent) 0 .7px, transparent .9px) 0 0 / 4px 4px;mix-blend-mode:overlay;opacity:.55}:root[data-renderer=glitch] :is(.spotify-home-signal,.activity-grid .spotify-card){border-color:color-mix(in srgb, var(--cyan) 70%, var(--line));background:repeating-linear-gradient(90deg, color-mix(in srgb, var(--cyan) 8%, transparent) 0 7%, transparent 7% 21%, color-mix(in srgb, var(--violet) 8%, transparent) 21% 24%, transparent 24% 47%), var(--surface);box-shadow:inset 3px 0 color-mix(in srgb, var(--cyan) 32%, transparent), inset -3px 0 color-mix(in srgb, var(--violet) 28%, transparent)}:root[data-renderer=glitch] .spotify-artwork-effect{background:repeating-linear-gradient(0deg, transparent 0 17%, color-mix(in srgb, var(--cyan) 22%, transparent) 17% 20%, transparent 20% 49%, color-mix(in srgb, var(--violet) 24%, transparent) 49% 53%, transparent 53% 100%);mix-blend-mode:screen;opacity:.72;animation:3.8s step-end infinite spotify-glitch-slices}:root[data-renderer=particles] :is(.spotify-home-signal,.activity-grid .spotify-card){background:radial-gradient(circle at 14% 24%, color-mix(in srgb, var(--cyan) 42%, transparent) 0 1px, transparent 1.5px) 0 0 / 19px 19px, radial-gradient(circle at 68% 72%, color-mix(in srgb, var(--violet) 34%, transparent) 0 1px, transparent 1.5px) 6px 9px / 27px 27px, radial-gradient(ellipse at 18% 50%, color-mix(in srgb, var(--cyan) 15%, transparent), transparent 58%), color-mix(in srgb, var(--surface) 84%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}:root[data-renderer=particles] .spotify-artwork-effect{background:radial-gradient(circle, color-mix(in srgb, var(--cyan) 70%, transparent) 0 1px, transparent 1.5px) 0 0 / 17px 17px, radial-gradient(circle, color-mix(in srgb, var(--violet) 58%, transparent) 0 .8px, transparent 1.3px) 8px 11px / 29px 29px;mix-blend-mode:screen;opacity:.34;animation:5.2s ease-in-out infinite spotify-particle-breathe}:root[data-renderer=crt] :is(.spotify-home-signal,.activity-grid .spotify-card){background:repeating-linear-gradient(0deg, color-mix(in srgb, var(--ink) 13%, transparent) 0 1px, transparent 1px 3px), radial-gradient(ellipse at 44% 46%, color-mix(in srgb, var(--cyan) 12%, var(--surface)), var(--bg) 74%);box-shadow:inset 0 0 24px color-mix(in srgb, var(--cyan) 10%, transparent), inset 0 0 0 1px color-mix(in srgb, var(--cyan) 16%, transparent)}:root[data-renderer=crt] .spotify-artwork-renderer{box-shadow:0 0 8px color-mix(in srgb, var(--cyan) 32%, transparent), inset 0 0 16px color-mix(in srgb, var(--ink) 48%, transparent)}:root[data-renderer=crt] .spotify-artwork-effect{background:repeating-linear-gradient(0deg, color-mix(in srgb, var(--ink) 20%, transparent) 0 1px, transparent 1px 3px), radial-gradient(ellipse, transparent 52%, color-mix(in srgb, var(--ink) 62%, transparent));mix-blend-mode:multiply;opacity:.75;animation:6s linear infinite spotify-crt-beam}@keyframes spotify-art-scan{0%{transform:translateY(-12%)}to{transform:translateY(12%)}}@keyframes spotify-glitch-slices{0%,76%,to{clip-path:inset(0);transform:translate(0)}77%{clip-path:inset(16% 0 66%);transform:translate(5px)}79%{clip-path:inset(58% 0 22%);transform:translate(-4px)}81%{clip-path:inset(0);transform:translate(0)}}@keyframes spotify-particle-breathe{0%,to{opacity:.24;transform:scale(.98)}50%{opacity:.48;transform:scale(1.025)}}@keyframes spotify-crt-beam{0%{background-position:0 0,0 -140px}to{background-position:0 0,0 140px}}@media (width<=900px){.activity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-grid article{border-bottom:1px solid var(--line)}.activity-grid article:nth-child(2n){border-right:0}.activity-grid article:last-child{border-bottom:0}.activity-grid .spotify-card{grid-column:span 2}}@media (width<=650px){.spotify-home-signal{grid-template-columns:70px minmax(0,1fr);gap:11px;width:100%;min-height:88px;padding-right:36px}.spotify-artwork-renderer.is-compact,.spotify-home-fallback{width:70px}.spotify-home-progress{left:89px;right:36px}.spotify-home-arrow{right:12px}.activity-connections>header,.activity-grid{grid-template-columns:1fr}.activity-grid article{border-right:0;border-bottom:1px solid var(--line);min-height:170px}.activity-grid article:last-child{border-bottom:0}.activity-grid h3{margin-top:34px}.activity-grid .spotify-card{grid-column:auto}.spotify-playback{grid-template-columns:88px minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.spotify-home-signal,.activity-grid .spotify-card{animation:none}.spotify-artwork-effect{animation:none!important}}.about-taste{scroll-margin-top:calc(var(--header) + 24px);margin-top:clamp(68px,9vw,132px)}.about-taste-heading{border:1px solid var(--line);grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);min-height:320px;display:grid}.about-taste-copy{flex-direction:column;justify-content:space-between;padding:clamp(28px,5vw,64px);display:flex}.about-taste-copy h2{max-width:8ch;font:900 clamp(3.7rem, 8vw, 8rem)/.72 var(--mono);letter-spacing:-.12em;text-transform:uppercase;margin:36px 0 0}.about-taste-copy .page-intro{margin-top:38px}.about-taste-art{min-height:320px}.taste-panels{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:28px;display:grid}.taste-panel{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg) 94%, transparent);min-width:0;padding:clamp(24px,4vw,48px)}.taste-panel-wide{grid-column:1/-1}.taste-note{color:var(--muted);font-family:var(--mono);font-size:.8rem}.taste-meta{margin-top:.9rem;font-size:.7rem}.taste-genre-bars{flex-direction:column;gap:.45rem;margin-top:1.1rem;display:flex}.taste-genre-row{grid-template-columns:minmax(110px,180px) minmax(0,1fr) 3.5rem;align-items:center;gap:.8rem;display:grid}.taste-genre-name{font-family:var(--mono);color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.taste-genre-track{background:var(--surface);border:1px solid var(--line);height:10px;overflow:hidden}.taste-genre-fill{background:linear-gradient(90deg, var(--cyan), var(--violet));height:100%;box-shadow:0 0 8px color-mix(in srgb, var(--cyan) 55%, transparent);transition:width .6s}.taste-genre-share{font-family:var(--mono);color:var(--muted);text-align:right;font-size:.7rem}.taste-artist-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.6rem;margin:1.1rem 0 0;padding:0;list-style:none;display:grid}.taste-artist{background:var(--surface);border:1px solid var(--line);flex-direction:column;gap:.15rem;padding:.7rem .85rem;display:flex}.taste-artist-rank{font-family:var(--mono);color:var(--cyan);font-size:.65rem}.taste-artist-name{color:var(--text);font-weight:600}.taste-artist-genres{font-family:var(--mono);color:var(--muted);font-size:.68rem}.taste-elo-list{border-top:1px solid var(--line);flex-direction:column;margin:1.1rem 0 0;padding:0;list-style:none;display:flex}.taste-elo-row{border-bottom:1px solid var(--line);grid-template-columns:2.5rem minmax(0,1fr) auto;align-items:baseline;gap:.9rem;padding:.7rem .4rem;display:grid}.taste-elo-rank{font-family:var(--mono);color:var(--muted);font-size:.75rem}.taste-elo-row:nth-child(-n+3) .taste-elo-rank{color:var(--cyan)}.taste-elo-copy{flex-direction:column;gap:.1rem;min-width:0;display:flex}.taste-elo-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:600;text-decoration:none;overflow:hidden}.taste-elo-title:hover{color:var(--cyan)}.taste-elo-artist{font-family:var(--mono);color:var(--muted);font-size:.7rem}.taste-elo-rating{font-family:var(--mono);color:var(--violet);font-size:.9rem}.taste-elo-rating small{color:var(--muted);font-size:.65rem}@media (width<=650px){.about-taste-heading{grid-template-columns:1fr}.about-taste-art{border-top:1px solid var(--line);border-left:0;min-height:230px}.taste-panels{grid-template-columns:1fr}.taste-panel-wide{grid-column:auto}.taste-genre-row{grid-template-columns:minmax(90px,1fr) 3rem}.taste-genre-name{grid-column:1/-1}.taste-elo-row{grid-template-columns:2rem minmax(0,1fr) auto;gap:.6rem}}.project-current,.projects-context,.systems-embedded,.about-contact{margin-top:clamp(58px,8vw,112px)}.project-current{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 70%, transparent);padding:clamp(24px,4vw,48px)}.project-current .section-title,.projects-context .section-title,.systems-embedded .section-title{margin-bottom:28px}.project-current .section-title p:last-child,.projects-context .section-title p:last-child,.systems-embedded .section-title p:last-child{max-width:58ch;color:var(--soft);margin:12px 0 0;line-height:1.6}.project-current .now-list{margin-top:28px}.project-current .now-row{min-height:190px}.project-current .now-row h3{font:900 clamp(1.5rem, 3vw, 3rem)/.88 var(--mono);letter-spacing:-.08em;text-transform:uppercase;margin:16px 0 0}.systems-embedded,.projects-context{padding-top:8px}.systems-embedded .system-row h3{font:900 clamp(2rem, 4vw, 4rem)/.84 var(--mono);letter-spacing:-.09em;text-transform:uppercase;margin:0 0 20px}.project-row-featured{background:linear-gradient(90deg, color-mix(in srgb, var(--cyan) 8%, transparent), transparent 42%), color-mix(in srgb, var(--bg) 94%, transparent)}.project-case-link{color:var(--cyan);font:700 .68rem/1.4 var(--mono);margin-top:30px}.journal-intro{max-width:64ch;color:var(--soft);margin:-40px 0 54px;font-size:1.05rem;line-height:1.7}.writeup-link{position:relative}.writeup-arrow{color:var(--cyan);font:900 1.2rem/1 var(--mono);position:absolute;top:28px;right:28px}.writeup-link:hover .writeup-arrow{transform:translate(3px,-3px)}.article-markdown{display:block}.article-markdown>*{max-width:68ch}.article-markdown h2{font:800 clamp(1.2rem, 2.4vw, 1.7rem)/1.15 var(--mono);letter-spacing:-.04em;margin:48px 0 18px}.article-markdown p,.article-markdown li{color:var(--soft);font-size:.98rem;line-height:1.75}.article-markdown p{margin:0 0 22px}.article-markdown ul,.article-markdown ol{margin:0 0 26px;padding-left:24px}.article-markdown li+li{margin-top:8px}.article-markdown code{background:var(--surface);color:var(--cyan);font:.85em var(--mono);padding:2px 5px}.article-markdown pre{border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 96%, transparent);max-width:none;color:var(--cyan);font:.78rem/1.5 var(--mono);white-space:pre;margin:28px 0;padding:clamp(18px,3vw,30px);overflow-x:auto}.article-markdown pre code{color:inherit;background:0 0;padding:0}.article-markdown blockquote{border-left:3px solid var(--cyan);color:var(--soft);margin:28px 0;padding:4px 20px}.article-markdown table{border-collapse:collapse;width:100%;margin:28px 0;font-size:.85rem}.article-markdown th,.article-markdown td{text-align:left;vertical-align:top;border:1px solid var(--line);padding:12px 14px}.article-markdown th{color:var(--text);font:700 .68rem/1.3 var(--mono);text-transform:uppercase}.article-markdown td{color:var(--soft);line-height:1.5}.article-markdown a{border-bottom:1px solid var(--cyan);color:var(--cyan)}.fleet-chart{border:1px solid var(--line);background:color-mix(in srgb, var(--bg) 96%, transparent);margin:28px 0;padding:clamp(18px,3vw,30px)}.fleet-row{grid-template-columns:minmax(120px,26%) minmax(0,1fr) 7.6rem;align-items:center;gap:.85rem;padding:5.5px 0;display:grid}.fleet-name{font:600 .7rem/1.2 var(--mono);color:var(--soft);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.fleet-track{background:var(--surface);border:1px solid var(--line);height:11px;display:block;overflow:hidden}.fleet-fill{background:linear-gradient(90deg, var(--cyan), var(--violet));height:100%;display:block}.fleet-value{font:500 .7rem/1.2 var(--mono);color:var(--soft);text-align:right;white-space:nowrap}@media (width<=520px){.fleet-row{grid-template-columns:minmax(96px,34%) minmax(0,1fr) 6.4rem;gap:.6rem}}.about-contact{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 68%, transparent);grid-template-columns:minmax(250px,.7fr) minmax(0,1.3fr);display:grid}.contact-intro{border-right:1px solid var(--line);padding:clamp(28px,5vw,62px)}.contact-stack{min-width:0;display:grid}.about-contact .contact-field{border:0;border-bottom:1px solid var(--line);padding:clamp(24px,4vw,52px);font-size:clamp(.62rem,1.35vw,1.1rem)}.about-contact h2{font:900 clamp(2rem, 4vw, 4rem)/.84 var(--mono);letter-spacing:-.09em;text-transform:uppercase;margin:24px 0 14px}.contact-intro>p:last-child{color:var(--soft);margin:0;line-height:1.6}.about-contact .contact-links{border-left:0}@media (width<=820px){.project-row,.system-row,.now-row{grid-template-columns:64px minmax(0,1fr)}.project-row>.project-detail,.system-row>ul,.now-row>p,.now-row>code{grid-column:2}.project-row>.project-detail,.system-row>ul{border-top:1px solid var(--line)}.project-main,.system-row>div{border-right:0}.project-main h2{margin-top:30px}.system-row>ul{min-height:0}.about-contact{grid-template-columns:1fr}.contact-intro{border-right:0;border-bottom:1px solid var(--line)}}.project-status-jumps{flex-wrap:wrap;gap:8px;margin:clamp(38px,6vw,72px) 0 18px;display:flex}.project-status-jumps a{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 64%, transparent);min-height:44px;color:var(--text);font:700 .66rem/1 var(--mono);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:12px;padding:0 14px;text-decoration:none;transition:border-color .16s,color .16s,background .16s;display:inline-flex}.project-status-jumps a:hover,.project-status-jumps a:focus-visible{border-color:var(--cyan);background:color-mix(in srgb, var(--cyan) 8%, var(--surface));color:var(--cyan)}.project-status-jumps small{color:var(--muted);font:600 .58rem/1 var(--mono);text-transform:none;letter-spacing:0}.project-status-jumps i{color:var(--cyan);font-size:.9rem;font-style:normal}.project-status-group{scroll-margin-top:108px}.project-status-overview{border:1px solid var(--line);background:var(--surface);grid-template-columns:repeat(3,1fr);margin:clamp(42px,7vw,86px) 0 18px;display:grid}.project-status-overview>div{border-right:1px solid var(--line);flex-direction:column;justify-content:space-between;min-height:92px;padding:18px 22px;display:flex}.project-status-overview>div:last-child{border-right:0}.project-status-overview span,.project-status-count{color:var(--cyan);font:800 1.8rem/1 var(--mono)}.project-status-overview p{font:700 .66rem/1.2 var(--mono);text-transform:uppercase;letter-spacing:.08em;margin:10px 0 0}.project-status-overview>div:first-child span{color:var(--lime)}.project-status-overview>div:nth-child(3) span{color:var(--violet)}.project-status-groups{gap:clamp(62px,9vw,118px);margin-top:54px;display:grid}.project-status-group{min-width:0}.project-status-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px;padding-bottom:20px;display:flex}.project-status-header h2{font:900 clamp(2.2rem, 5vw, 5rem)/.85 var(--mono);letter-spacing:-.09em;text-transform:uppercase;margin:12px 0 0}.project-status-header p:last-child{max-width:52ch;color:var(--soft);margin:14px 0 0;line-height:1.55}.project-status-count{color:var(--muted);letter-spacing:-.08em;font-size:clamp(2.5rem,6vw,5.5rem)}.project-status-group-deployed .project-status-count{color:var(--lime)}.project-status-group-in-progress .project-status-count{color:var(--cyan)}.project-status-group-planned .project-status-count{color:var(--violet)}.project-row-deployed .status{color:var(--lime)}.project-row-in-progress .status{color:var(--cyan)}.project-row-planned .status{color:var(--violet)}.project-card-links{border-top:1px solid var(--line);justify-content:space-between;align-items:end;gap:18px;display:flex}.project-availability{max-width:24ch;color:var(--muted);font:600 .62rem/1.35 var(--mono);text-transform:uppercase;letter-spacing:.06em;padding-top:17px}.project-card-links .project-link-label{white-space:nowrap;border-top:0;margin-top:0}.project-page-article{max-width:1160px}.project-page-article .project-page-header .project-meta{flex-wrap:wrap;gap:20px}.project-page-article .project-page-header .project-meta>span:last-child{color:var(--muted)}.project-page-article .project-page-content{grid-template-columns:minmax(190px,.34fr) minmax(0,1fr);align-items:start}.project-facts{gap:24px;display:grid;position:sticky;top:28px}.project-facts>div{border-top:1px solid var(--line);padding-top:16px}.project-facts>div:first-child{border-top:0;padding-top:0}.project-facts p:not(.label){color:var(--soft);margin:8px 0 0;font-size:.9rem;line-height:1.5}.project-facts .tag-list{margin-top:12px}.project-fact-links{gap:10px;margin:10px 0 0;padding:0;list-style:none;display:grid}.project-fact-links .text-link{font-size:.68rem}.project-page-article .article-markdown{min-width:0}.project-page-article .article-markdown h2:first-child{margin-top:0}@media (width<=820px){.project-status-overview{grid-template-columns:1fr}.project-status-overview>div{border-right:0;border-bottom:1px solid var(--line);min-height:70px}.project-status-overview>div:last-child{border-bottom:0}.project-status-header{align-items:start}.project-status-count{font-size:3rem}.project-card-links{flex-direction:column;align-items:start;gap:0}.project-card-links .project-link-label{width:100%}.project-page-article .project-page-content{grid-template-columns:1fr}.project-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;position:static}.project-facts>div{padding-top:14px}}@media (width<=520px){.project-status-header h2{font-size:clamp(2rem,12vw,3.2rem)}.project-facts{grid-template-columns:1fr}}@media (width<=560px){.journal-intro{margin-top:-24px}.writeup-arrow{top:16px;right:16px}.article-markdown table{white-space:nowrap;display:block;overflow-x:auto}.article-markdown pre{border-left:0;border-right:0;margin-inline:-10px}}body{font-synthesis:none;text-rendering:optimizelegibility}main :is(h1,h2,h3,h4,h5,h6){font-kerning:none;font-variant-ligatures:none;overflow-wrap:normal;text-wrap:pretty;min-width:0;max-width:100%;font-family:var(--display)!important;letter-spacing:0!important;line-height:1.08!important}main :is(p,li,dt,dd,a,button,summary,code,time,label){overflow-wrap:break-word;min-width:0}main :is(.hero,.hero-copy,.page-heading,.heading-copy,.project-row,.project-main,.project-detail,.system-row,.system-row>div,.system-row>ul,.now-row,.future-panel,.future-panel>*,.about-layout,.about-layout>*,.about-data,.about-data>*,.about-contact,.about-contact>*,.about-taste-heading,.about-taste-heading>*,.taste-panels,.taste-panels>*,.writeup-link,.writeup-link>*,.article-page){min-width:0}.hero h1,.section-title h2,.current h2,.page-heading h1,.showcase-copy h2,.project-main h2,.future-panel h2,.writeup-main h2,.article-header h1,.article-block h2,.article-markdown h2,.system-row h2,.now-row h2,.about-profile>p,.about-contact h2,.about-taste-copy h2,.not-found h1,.error-screen h1{font-family:var(--display);letter-spacing:-.02em;line-height:.98}.hero h1 span:last-child{-webkit-text-stroke-width:1px}.current-art{letter-spacing:.02em;opacity:.65;line-height:.86}.project-index i{letter-spacing:.02em;opacity:.7;max-width:100%;line-height:.82;overflow:hidden}.now-row code{font-family:var(--mono);letter-spacing:.02em;font-size:clamp(.78rem,1.4vw,1.1rem);line-height:1.3}.contact-links strong{font-family:var(--display);letter-spacing:-.02em;line-height:1.02}.contact-links a{container-type:inline-size}.contact-links strong{overflow-wrap:normal;white-space:nowrap;letter-spacing:-.04em;min-width:0;font-size:clamp(.75rem,6.25cqw,2.25rem)}.system-band{text-align:center;flex-wrap:wrap;gap:12px 24px;min-width:0}.future-panel{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.future-panel>.project-list{border-right:0;padding:0}.future-panel>ul,.project-list,.systems-list,.now-list,.writeup-list{min-width:0}.project-main h2,.system-row h2,.now-row h2,.future-panel h2,.about-contact h2{overflow-wrap:normal;word-break:normal}.project-current .section-title h2,.projects-context .section-title h2,.systems-embedded .section-title h2{font-size:clamp(2.4rem,4.5vw,4.9rem);line-height:.98}.page-heading h1{font-size:clamp(3.6rem,8.5vw,8rem)}.future-panel h2{font-size:clamp(2.4rem,5vw,4.4rem)}.system-row h2{font-size:clamp(2rem,3.6vw,4rem)}.about-taste-copy h2{max-width:100%;font-size:clamp(2.8rem,4.8vw,5.2rem)}.contact-field{min-width:0;max-width:100%;font-size:clamp(.55rem,1.1vw,.95rem);overflow:auto hidden}.ascii-monogram{min-width:0;max-width:100%;overflow:hidden}.ascii-monogram pre{letter-spacing:0;width:100%;max-width:100%;font-size:clamp(.46rem,.9vw,.78rem);transform:none}@media (width<=650px){.future-panel{grid-template-columns:minmax(0,1fr)}.future-panel>div{border-right:0}.future-panel>ul{border-top:1px solid var(--line)}.about-taste-copy h2{max-width:none}.project-current .section-title h2,.projects-context .section-title h2,.systems-embedded .section-title h2{font-size:clamp(2.4rem,11vw,4.2rem)}.page-heading h1{font-size:clamp(3rem,16vw,5.2rem)}.future-panel h2,.system-row h2{font-size:clamp(2rem,10vw,3.6rem)}.about-taste-copy h2{font-size:clamp(2.4rem,11vw,4.6rem)}}@media (width>=821px){.future-panel .project-row{grid-template-columns:64px minmax(0,1fr) minmax(0,.85fr);min-height:250px}.future-panel .project-index{padding-inline:14px}.future-panel .project-main,.future-panel .project-detail{padding:28px 20px}.future-panel .project-main h2{margin-top:28px;font-size:clamp(1.5rem,2.4vw,2.6rem)}}@media (width>=651px){.scope-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.scope-stage{bottom:260px}}.scope-control{gap:5px}.scope-control>span,.scope-control output{white-space:nowrap;min-width:0}.scope-control output{font-size:.44rem}@media (width<=650px){.scope-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.scope-stage{bottom:338px}.scope-controls>.scope-units{grid-column:auto}}.renderer-page .scope-stage{border:1px solid var(--line);background:var(--surface);height:clamp(320px,52vh,560px);position:relative;overflow:hidden}.renderer-page .renderer-grid{width:100%;height:100%;font-family:var(--mono);white-space:pre;margin:0;font-size:.72rem;line-height:1.15;display:block}.renderer-page .renderer-canvas{width:100%;height:100%;display:block}.renderer-page [data-mode=particles] .renderer-canvas,.renderer-page [data-mode=glitch] .renderer-canvas,.renderer-page [data-mode=crt] .renderer-canvas,.renderer-page [data-mode=dither] .renderer-canvas{color:var(--cyan)}.renderer-page .scope-readout{font-family:var(--mono);letter-spacing:.08em;color:var(--muted);pointer-events:none;z-index:1;justify-content:space-between;font-size:11px;display:flex;position:absolute;top:10px;left:12px;right:12px}.renderer-controls{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-top:16px;display:grid}.renderer-mode-buttons{flex-wrap:wrap;gap:6px;display:flex}.renderer-mode-buttons button{font-family:var(--mono);border:1px solid var(--line);color:var(--soft);cursor:pointer;background:0 0;padding:6px 10px;font-size:12px}.renderer-mode-buttons button:hover{border-color:var(--cyan);color:var(--text)}.renderer-mode-buttons button.active{border-color:var(--cyan);color:var(--cyan);background:#48efd014}.journal-calendar{margin:0 0 8px}.jcal-head{border-bottom:1px dashed var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 24px;margin-bottom:18px;padding-bottom:16px;display:flex}.jcal-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.jcal-toggle,.jcal-nav{border:1px solid var(--line);background:var(--surface);align-items:stretch;display:inline-flex}.jcal-toggle button,.jcal-nav button{cursor:pointer;min-height:36px;color:var(--muted);font:700 .6rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;background:0 0;border:0;transition:background .14s,color .14s}.jcal-toggle button{border-right:1px solid var(--line);padding:0 14px}.jcal-toggle button:last-child{border-right:0}.jcal-toggle button:hover,.jcal-nav button:hover{color:var(--text);background:color-mix(in srgb, var(--cyan) 9%, transparent)}.jcal-toggle button[aria-pressed=true],.jcal-toggle button[aria-pressed=true]:hover{background:var(--cyan);color:var(--ink)}.jcal-nav button{min-width:36px;color:var(--text);padding:0;font-size:.82rem}.jcal-period{min-width:150px;color:var(--text);font:700 .68rem/1 var(--mono);justify-content:center;align-items:center;padding:0 10px;display:inline-flex}.jcal-latest{border:1px solid var(--line);background:var(--surface);min-height:36px;color:var(--muted);cursor:pointer;font:700 .6rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:0 14px;transition:background .14s,color .14s,border-color .14s}.jcal-latest:hover:not(:disabled){color:var(--text);border-color:var(--text)}.jcal-latest:disabled{opacity:.45;cursor:default}.jcal-body{grid-template-columns:minmax(0,1.55fr) minmax(300px,.85fr);align-items:start;gap:18px;display:grid}.jcal-panel{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 62%, transparent);padding:clamp(14px,2.2vw,22px)}.jcal-weekdays{color:var(--muted);font:700 .55rem/1 var(--mono);letter-spacing:.12em;text-align:center;text-transform:uppercase;grid-template-columns:24px repeat(7,minmax(0,1fr));gap:5px;margin-bottom:7px;display:grid}.jcal-grid{grid-template-columns:24px repeat(7,minmax(0,1fr));gap:5px;display:grid}.jcal-cell{min-height:52px;color:var(--muted);font:600 .78rem/1 var(--mono);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:flex;position:relative}.jcal-cell .jcal-daynum,.jcal-mini-cell .jcal-mini-day{z-index:1;position:relative}button.jcal-cell{border-color:var(--line);background:color-mix(in srgb, var(--cyan) 5%, transparent);color:var(--text);cursor:pointer;transition:border-color .14s,background .14s}button.jcal-cell:hover,button.jcal-cell:focus-visible,.jcal-cell.is-preview{border-color:var(--cyan)}button.jcal-cell:hover,button.jcal-cell:focus-visible{background:color-mix(in srgb, var(--cyan) 14%, transparent)}button.jcal-cell:focus-visible{outline:1px solid var(--cyan);outline-offset:2px}.jcal-cell.is-selected{border-color:var(--cyan);box-shadow:inset 0 0 0 1px var(--cyan)}.jcal-cell.is-today .jcal-daynum{color:var(--violet);font-weight:800}button.jcal-cell.is-today{border-color:color-mix(in srgb, var(--violet) 55%, var(--line))}.jcal-dot{background:var(--cyan);border-radius:50%;width:5px;height:5px;margin-left:-2.5px;position:absolute;bottom:7px;left:50%}.jcal-blank{visibility:hidden}.jcal-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.jcal-week-cell{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 62%, transparent);text-align:left;flex-direction:column;gap:7px;min-height:168px;padding:12px 11px;display:flex}button.jcal-week-cell{cursor:pointer;transition:border-color .14s,background .14s}button.jcal-week-cell:hover,button.jcal-week-cell:focus-visible,.jcal-week-cell.is-preview{border-color:var(--cyan)}button.jcal-week-cell:hover,button.jcal-week-cell:focus-visible{background:color-mix(in srgb, var(--cyan) 7%, transparent)}button.jcal-week-cell:focus-visible{outline:1px solid var(--cyan);outline-offset:2px}.jcal-week-cell.is-selected{border-color:var(--cyan);box-shadow:inset 0 0 0 1px var(--cyan)}.jcal-weekday{color:var(--muted);font:700 .55rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase}.jcal-daynum{color:var(--text);font:700 .95rem/1.1 var(--mono)}.jcal-week-empty .jcal-daynum{color:var(--muted)}.jcal-snippet{-webkit-line-clamp:5;color:var(--soft);-webkit-box-orient:vertical;font-size:.72rem;line-height:1.55;display:-webkit-box;overflow:hidden}.jcal-week-empty .jcal-snippet{color:var(--muted)}.jcal-year{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.jcal-mini{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 62%, transparent);padding:10px}.jcal-mini header{margin-bottom:8px}.jcal-mini-title{color:var(--muted);cursor:pointer;font:700 .6rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;background:0 0;border:0;padding:0}.jcal-mini-title:hover{color:var(--cyan)}.jcal-mini-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid}.jcal-mini-cell{min-height:20px;color:var(--muted);font:600 .5rem/1 var(--mono);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:flex;position:relative}button.jcal-mini-cell{color:var(--soft);cursor:pointer}button.jcal-mini-cell:hover,button.jcal-mini-cell:focus-visible{background:color-mix(in srgb, var(--cyan) 16%, transparent)}button.jcal-mini-cell:focus-visible{outline:1px solid var(--cyan);outline-offset:1px}button.jcal-mini-cell.is-selected{border-color:var(--cyan)}.jcal-mini-cell.is-today .jcal-mini-day{color:var(--violet);font-weight:800}.jcal-mini-cell .jcal-dot{width:4px;height:4px;margin-left:-2px;bottom:2px}.jcal-detail{top:calc(var(--header) + 18px);border:1px solid var(--line);background:color-mix(in srgb, var(--violet) 5%, var(--surface));flex-direction:column;gap:14px;padding:clamp(18px,2.4vw,26px);display:flex;position:sticky}.jcal-detail-date{color:var(--cyan);font:700 .66rem/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;margin:0}.jcal-detail-summary{color:var(--text);margin:0;font-size:.95rem;line-height:1.65}.jcal-highlights{color:var(--soft);flex-direction:column;gap:9px;margin:0;padding-left:18px;font-size:.84rem;line-height:1.6;display:flex}.jcal-highlights strong{color:var(--text)}.jcal-empty{color:var(--muted);margin:0;font-size:.85rem;line-height:1.65}@media (width<=1120px){.jcal-body{grid-template-columns:1fr}.jcal-detail{position:static}.jcal-year{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=900px){.jcal-week{grid-template-columns:1fr}.jcal-week-cell{min-height:0}}@media (width<=650px){.jcal-year{grid-template-columns:repeat(2,minmax(0,1fr))}.jcal-cell{min-height:42px;font-size:.7rem}.jcal-period{min-width:0}}.jcal-gutter-gap{visibility:hidden}.jcal-weekbtn{color:var(--muted);cursor:pointer;font:700 .6rem/1 var(--mono);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;transition:border-color .14s,color .14s;display:flex;position:relative}.jcal-weekbtn:hover,.jcal-weekbtn:focus-visible,.jcal-weekbtn.is-open{border-color:var(--cyan);color:var(--cyan)}.jcal-weekbtn:focus-visible{outline:1px solid var(--cyan);outline-offset:1px}.jcal-weekbtn.has-review:after{content:"";background:var(--cyan);border-radius:50%;width:4px;height:4px;margin-left:-2px;position:absolute;bottom:4px;left:50%}.jcal-cell.is-week{background:color-mix(in srgb, var(--cyan) 8%, transparent)}button.jcal-cell.is-week{border-color:color-mix(in srgb, var(--cyan) 45%, var(--line))}.jcal-week-bar{justify-content:flex-end;margin-bottom:9px;display:flex}.jcal-weeklink{border:1px solid var(--line);color:var(--muted);cursor:pointer;font:700 .58rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;background:0 0;align-self:flex-start;padding:6px 10px;transition:border-color .14s,color .14s}.jcal-weeklink:hover,.jcal-weeklink:focus-visible,.jcal-weeklink[aria-pressed=true]{border-color:var(--cyan);color:var(--cyan)}.jcal-weeklink:focus-visible{outline:1px solid var(--cyan);outline-offset:2px}.jcal-review{flex-direction:column;gap:12px;display:flex}.jcal-review-lead{color:var(--soft);margin:0;font-size:.82rem;line-height:1.6}.jcal-review-section{flex-direction:column;gap:7px;display:flex}.jcal-review-heading{color:var(--cyan);font:700 .62rem/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;margin:6px 0 0}.jcal-review-items{color:var(--soft);flex-direction:column;gap:8px;margin:0;padding-left:16px;font-size:.82rem;line-height:1.6;display:flex}.jcal-review-items strong{color:var(--text)}.jcal-review-stamp{color:var(--muted);font:600 .56rem/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;margin:2px 0 0}.jcal-week-days{border-top:1px dashed var(--line);flex-direction:column;gap:14px;padding-top:14px;display:flex}.jcal-week-day{flex-direction:column;gap:6px;display:flex}.jcal-week-day-title{color:var(--text);font:700 .62rem/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;margin:0}.jcal-week-day-summary{color:var(--soft);margin:0;font-size:.82rem;line-height:1.6}@media (width<=650px){.jcal-weekdays,.jcal-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.jcal-gutter-gap,.jcal-weekbtn{display:none}}
