@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-cyrillic-ext-400-normal-o8fRvAFQ.woff2)format("woff2"),url(/assets/eb-garamond-cyrillic-ext-400-normal-DG8lny6_.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-cyrillic-400-normal-DDLP67lu.woff2)format("woff2"),url(/assets/eb-garamond-cyrillic-400-normal-C0kVTdou.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-greek-ext-400-normal-K8pwR3tn.woff2)format("woff2"),url(/assets/eb-garamond-greek-ext-400-normal-BaZl8BIK.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-greek-400-normal-CVAbzS9p.woff2)format("woff2"),url(/assets/eb-garamond-greek-400-normal-d4JlP2QH.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-vietnamese-400-normal-CLvJdMEL.woff2)format("woff2"),url(/assets/eb-garamond-vietnamese-400-normal-ifvNSiWx.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-latin-ext-400-normal-o4A__6QZ.woff2)format("woff2"),url(/assets/eb-garamond-latin-ext-400-normal-B4EmgUmt.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-latin-400-normal-BCNrxLz_.woff2)format("woff2"),url(/assets/eb-garamond-latin-400-normal-maQnHeKB.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-cyrillic-ext-400-italic-Bz1w3xqM.woff2)format("woff2"),url(/assets/eb-garamond-cyrillic-ext-400-italic-CYS3phfl.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-cyrillic-400-italic-BGIwiowF.woff2)format("woff2"),url(/assets/eb-garamond-cyrillic-400-italic-BZInx2ys.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-greek-ext-400-italic-CHZOQEtG.woff2)format("woff2"),url(/assets/eb-garamond-greek-ext-400-italic-BL1XYHtS.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-greek-400-italic-Dqr5KC66.woff2)format("woff2"),url(/assets/eb-garamond-greek-400-italic-BamGE6QP.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-vietnamese-400-italic-DQ8HKnks.woff2)format("woff2"),url(/assets/eb-garamond-vietnamese-400-italic-ORtyMVfw.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-latin-ext-400-italic-V7s3nWfX.woff2)format("woff2"),url(/assets/eb-garamond-latin-ext-400-italic-DUSsnRSD.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/eb-garamond-latin-400-italic-DSEbMgZu.woff2)format("woff2"),url(/assets/eb-garamond-latin-400-italic-CDFyLPXJ.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/eb-garamond-cyrillic-ext-500-normal-DcO3I2lp.woff2)format("woff2"),url(/assets/eb-garamond-cyrillic-ext-500-normal-I3TfTkSf.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/eb-garamond-cyrillic-500-normal-c5LjvaqX.woff2)format("woff2"),url(/assets/eb-garamond-cyrillic-500-normal-CLHyttEY.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/eb-garamond-greek-ext-500-normal-DkhmZW4r.woff2)format("woff2"),url(/assets/eb-garamond-greek-ext-500-normal-CMJ7zNBO.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/eb-garamond-greek-500-normal-BtA0fbXC.woff2)format("woff2"),url(/assets/eb-garamond-greek-500-normal-BjSCMh1N.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/eb-garamond-vietnamese-500-normal-BCT1_K6u.woff2)format("woff2"),url(/assets/eb-garamond-vietnamese-500-normal-B0TRhMco.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/eb-garamond-latin-ext-500-normal-BFuc0jzo.woff2)format("woff2"),url(/assets/eb-garamond-latin-ext-500-normal-obw7ZvB_.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/eb-garamond-latin-500-normal-DehAIUv0.woff2)format("woff2"),url(/assets/eb-garamond-latin-500-normal-DZU8xF9o.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--glass:#0d0c0a;--card:#131210;--lit:#eae5d6;--mid:#938d7c;--dim:#5a5546;--afterglow:198, 204, 156;--halo:234, 229, 214;--error:#c96f5f;--ribbon:#7e8ffa;--serif:"EB Garamond", Georgia, serif;--mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--excite:70ms;--decay:2.4s}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--glass);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{color:var(--lit);font-family:var(--serif);-webkit-font-smoothing:antialiased;font-size:17px;line-height:1.55}body:after{content:"";pointer-events:none;z-index:100;background:radial-gradient(130% 100% at 50% 42%,#0000 58%,#00000080 100%);position:fixed;inset:0}::selection{background:var(--lit);color:var(--glass)}a{color:inherit}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--lit);outline-offset:3px}img{image-rendering:pixelated;display:block}.page{flex-direction:column;min-height:100vh;animation:1.1s ease-out backwards warm-up;display:flex}@keyframes warm-up{0%{opacity:0;filter:brightness(2.4)}30%{opacity:1}to{opacity:1;filter:brightness()}}.page-body{flex:1}.masthead{justify-content:space-between;align-items:baseline;padding:28px clamp(20px,5vw,64px) 0;display:flex}.masthead-id{align-items:baseline;gap:16px;display:flex}.wordmark{font-family:var(--mono);letter-spacing:.34em;color:inherit;text-shadow:0 0 14px rgba(var(--halo), .3);font-size:15px;font-weight:500;text-decoration:none;position:relative}.wordmark:after{content:attr(data-burn) / "";color:rgb(var(--afterglow));opacity:.13;text-shadow:none;pointer-events:none;position:absolute;top:0;left:0;transform:translate(2px,3px)}.masthead-tag{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mid);font-size:11px}.masthead-actions{align-items:center;gap:10px;display:flex}.ghost-button{font-family:var(--mono);letter-spacing:.04em;color:var(--mid);border:1px solid rgba(var(--halo), .16);white-space:nowrap;transition:color var(--decay) ease-out, border-color var(--decay) ease-out, box-shadow var(--decay) ease-out, text-shadow var(--decay) ease-out;border-radius:2px;padding:7px 14px;font-size:12px;text-decoration:none}.ghost-button:hover:not(:disabled){color:var(--lit);border-color:rgba(var(--halo), .7);box-shadow:0 0 18px rgba(var(--halo), .1);text-shadow:0 0 10px rgba(var(--halo), .4);transition-duration:var(--excite)}.ghost-button:disabled{color:var(--dim);border-color:rgba(var(--halo), .08);cursor:default}.ghost-button.active{color:var(--lit);border-color:rgba(var(--halo), .7)}.intro-text{font-size:clamp(19px,2.2vw,23px);line-height:1.6}.prose{max-width:62ch}.prose p+p{margin-top:1em}.prose em{color:var(--mid)}.section-label{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--mid);margin-bottom:18px;font-size:11.5px}.ribbon{color:var(--ribbon);vertical-align:1px;white-space:nowrap;align-items:baseline;gap:6px;margin-left:10px;display:inline-flex}.ribbon svg{filter:drop-shadow(0 0 6px #7e8ffa73);align-self:center}.ribbon-label{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;text-shadow:0 0 10px #7e8ffa59;font-size:10.5px}.proj-head .ribbon{margin:8px 0 0;display:flex}@media (width<=560px){.work-main .ribbon{margin:4px 0 0;display:flex}}.hero{border-bottom:1px solid rgba(var(--halo), .08);justify-content:center;align-items:center;min-height:min(86vh,780px);padding:48px clamp(20px,5vw,64px);display:flex;position:relative;overflow:hidden}.field{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));grid-auto-rows:78px;gap:4px;display:grid;position:absolute;inset:-4px}.field-cell{display:block;overflow:hidden}.field-cell img{object-fit:cover;opacity:.28;filter:saturate(.4);width:100%;height:100%;transition:opacity var(--decay) ease-out, filter var(--decay) ease-out}.field-cell:hover img{opacity:1;filter:none;transition-duration:var(--excite)}.field-cell.flare img{opacity:.75;filter:saturate(.9);transition-duration:var(--excite)}@media (prefers-reduced-motion:reduce){.field-cell img{opacity:.35}}.hero-scrim{pointer-events:none;background:radial-gradient(56% 68%,#0d0c0af0 24%,#0d0c0ab8 62%,#0000 100%);position:absolute;inset:0}.hero-text{z-index:1;text-align:center;pointer-events:none;max-width:760px;position:relative}.hero-text h1{font-family:var(--serif);text-shadow:0 0 22px rgba(var(--halo), .22);margin-bottom:22px;font-size:clamp(28px,4.4vw,46px);font-style:italic;font-weight:400;line-height:1.2}.hero-text .intro-text{color:var(--mid)}.hero-text .intro-text b{color:var(--lit);font-weight:500}.hero-hint{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--dim);margin-top:28px;font-size:10.5px}.works{max-width:1240px;margin-inline:auto;padding:0 clamp(20px,5vw,64px) clamp(48px,8vh,80px)}.works:first-of-type{padding-top:clamp(40px,7vh,64px)}.work-row{border-top:1px solid rgba(var(--halo), .1);transition:background-color var(--decay) ease-out, box-shadow var(--decay) ease-out;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:18px;margin:0 -10px;padding:15px 10px 13px;text-decoration:none;display:grid}.work-row:last-child{border-bottom:1px solid rgba(var(--halo), .1)}.work-row:hover{background:rgba(var(--halo), .045);box-shadow:0 0 24px rgba(var(--halo), .05) inset;transition-duration:var(--excite)}.work-year{font-family:var(--mono);color:var(--dim);letter-spacing:.05em;font-size:11.5px}.work-main{min-width:0}.work-title{transition:text-shadow var(--decay) ease-out;font-size:20px}.work-row:hover .work-title{text-shadow:0 0 12px rgba(var(--halo), .45);transition-duration:var(--excite)}.work-sub{color:var(--mid);margin-top:2px;font-size:15px;font-style:italic}.work-meta{font-family:var(--mono);letter-spacing:.06em;color:var(--dim);margin-top:6px;font-size:11px}.work-meta .onchain{color:rgb(var(--afterglow));opacity:.8}.work-strip{justify-content:flex-end;gap:4px;max-width:min(36vw,376px);display:flex;overflow:hidden}.work-strip img{object-fit:cover;border:1px solid rgba(var(--halo), .08);opacity:.16;filter:saturate(.4);width:58px;height:58px;transition:opacity var(--decay) ease-out, filter var(--decay) ease-out;flex:none}.work-row:hover .work-strip img{opacity:1;filter:none;transition-duration:var(--excite)}.work-row:hover .work-strip img:nth-child(2){transition-delay:45ms}.work-row:hover .work-strip img:nth-child(3){transition-delay:90ms}.work-row:hover .work-strip img:nth-child(4){transition-delay:.135s}.work-row:hover .work-strip img:nth-child(5){transition-delay:.18s}.work-row:hover .work-strip img:nth-child(6){transition-delay:.225s}@media (hover:none){.work-strip img{opacity:.6;filter:saturate(.8)}}.minor-list{columns:2;column-gap:48px}@media (width>=1100px){.minor-list{columns:3}}.minor-item{break-inside:avoid;border-top:1px solid rgba(var(--halo), .07);padding:9px 0}.minor-item a{text-decoration:none}.minor-name{font-size:17px}.minor-facts{font-family:var(--mono);letter-spacing:.05em;color:var(--dim);margin-top:1px;font-size:10.5px}.minor-item a:hover .minor-name{text-shadow:0 0 10px rgba(var(--halo), .45)}.tools-strip{flex-wrap:wrap;gap:12px;display:flex}.proj-head{max-width:980px;margin-inline:auto;padding:clamp(40px,7vh,72px) clamp(20px,5vw,64px) 8px}.proj-head h1{text-shadow:0 0 22px rgba(var(--halo), .25);font-size:clamp(30px,4.6vw,50px);font-style:italic;font-weight:400;line-height:1.15}.proj-head .proj-dek{color:var(--mid);max-width:62ch;margin-top:10px;font-size:clamp(17px,1.9vw,20px);font-style:italic}.facts-strip{border:1px solid rgba(var(--halo), .22);flex-wrap:wrap;align-items:baseline;gap:18px;width:min(940px,100% - 2*clamp(20px,5vw,64px));margin:26px auto;padding:12px 16px;display:flex}.fact{font-family:var(--mono);letter-spacing:.05em;color:var(--mid);font-size:11.5px}.fact b{color:var(--lit);font-weight:500}.fact.live b{color:rgb(var(--afterglow));text-shadow:0 0 10px rgba(var(--afterglow), .4)}.proj-section{max-width:980px;margin-inline:auto;padding:clamp(20px,4vh,36px) clamp(20px,5vw,64px)}.proj-section.wide{max-width:1280px}.proj-links{flex-wrap:wrap;gap:10px;display:flex}.schematic-frame{border:1px solid rgba(var(--halo), .18);background:var(--card);box-shadow:0 0 32px rgba(var(--halo), .05) inset;overflow:auto hidden}.schematic-frame svg{font-family:var(--mono);display:block}.sch-edge{fill:none;stroke:rgba(var(--halo), .22);stroke-width:1px;transition:stroke var(--decay) ease-out}.sch-edge.dashed{stroke-dasharray:3 4}.sch-edge.on{stroke:rgba(var(--afterglow), .9);transition-duration:var(--excite)}.sch-arrow{fill:rgba(var(--halo), .35)}.sch-node rect{fill:rgba(var(--halo), .03);stroke:rgba(var(--halo), .3);stroke-width:1px;transition:stroke var(--decay) ease-out, fill var(--decay) ease-out, filter var(--decay) ease-out}.sch-node text{fill:var(--lit);letter-spacing:.04em;font-size:11px}.sch-node .sch-sub{fill:var(--mid);font-size:9px}.sch-node{cursor:pointer}.sch-node.kind-actor rect{stroke-dasharray:1 3;rx:14}.sch-node.kind-data rect{stroke-dasharray:5 3}.sch-node.kind-offchain rect{stroke:rgba(var(--halo), .14)}.sch-node.kind-offchain text{fill:var(--mid)}.sch-node.on rect,.sch-node:hover rect{stroke:rgba(var(--halo), .85);fill:rgba(var(--halo), .06);filter:drop-shadow(0 0 8px rgba(var(--halo), .25));transition-duration:var(--excite)}.sch-node.selected rect{stroke:rgb(var(--afterglow));filter:drop-shadow(0 0 10px rgba(var(--afterglow), .35))}.sch-caption{font-family:var(--mono);letter-spacing:.02em;color:var(--mid);border:1px solid rgba(var(--halo), .14);background:var(--card);border-top:none;min-height:64px;padding:12px 16px;font-size:12px;line-height:1.6}.sch-caption b{color:var(--lit);font-weight:500}.sch-hint{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin-top:8px;font-size:10px}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:6px;display:grid}.gallery-cell{aspect-ratio:1;border:1px solid rgba(var(--halo), .1);background:var(--card);transition:border-color var(--decay) ease-out, box-shadow var(--decay) ease-out;display:block;overflow:hidden}.gallery-cell img{object-fit:cover;width:100%;height:100%}.gallery-cell:hover{border-color:rgba(var(--halo), .75);box-shadow:0 0 14px rgba(var(--halo), .18);transition-duration:var(--excite)}.gallery-more{margin-top:14px}.gallery-cell{position:relative}.gallery-frags{font-family:var(--mono);color:var(--mid);opacity:0;transition:opacity var(--decay) ease-out;background:#0d0c0abf;padding:2px 4px;font-size:9px;line-height:1;position:absolute;bottom:3px;right:3px}.gallery-cell:hover .gallery-frags{opacity:1;transition-duration:var(--excite)}.gallery-complete{border-color:rgba(var(--afterglow), .55);box-shadow:0 0 10px rgba(var(--afterglow), .18)}.gallery-complete .gallery-frags{color:rgb(var(--afterglow));opacity:1}.gallery-featured{grid-template-columns:repeat(2,1fr);gap:clamp(10px,2vw,18px);max-width:780px;margin-inline:auto;display:grid}.gallery-featured-cell{border:1px solid rgba(var(--halo), .18);background:var(--card);transition:border-color var(--decay) ease-out, box-shadow var(--decay) ease-out;display:block;position:relative}.gallery-featured-cell img{aspect-ratio:2/3;object-fit:cover;width:100%;display:block}.gallery-featured-cell:hover{border-color:rgba(var(--halo), .75);box-shadow:0 0 22px rgba(var(--halo), .22);transition-duration:var(--excite)}.gallery-featured-name{font-family:var(--mono);letter-spacing:.06em;color:var(--mid);border-top:1px solid rgba(var(--halo), .12);padding:8px 10px;font-size:11px;font-style:italic;display:block}.gallery-featured-cell:hover .gallery-featured-name{color:var(--lit)}.instrument{border:1px solid rgba(var(--halo), .22);background:var(--card)}.instrument+.instrument{margin-top:16px}.instrument-rail{border-bottom:1px solid rgba(var(--halo), .14);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;font-size:10.5px;display:flex}.rail-left{color:var(--mid);align-items:center;gap:8px;display:flex}.rail-dot{background:var(--dim);border-radius:50%;flex:none;width:7px;height:7px}.rail-dot.live{background:rgb(var(--afterglow));box-shadow:0 0 8px rgba(var(--afterglow), .6);animation:2.6s ease-in-out infinite breathe}@keyframes breathe{50%{opacity:.55}}.instrument-rail a{color:var(--mid);transition:color var(--decay) ease-out;text-decoration:none}.instrument-rail a:hover{color:var(--lit);transition-duration:var(--excite)}.instrument .schematic-frame{border:none}.instrument .sch-caption{border:none;border-top:1px solid rgba(var(--halo), .14)}.instrument .chain-panel{border:none;max-width:none}.crt-screen{position:relative}.crt-screen:after{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#0000 0 2px,#00000014 2px 3px);position:absolute;inset:0}.crt-embed iframe{background:#000;border:none;width:100%;height:min(72vh,640px);display:block}.crt-embed-off{background:repeating-linear-gradient(0deg,#0000 0 2px,#00000059 2px 3px),#000;flex-direction:column;justify-content:center;align-items:center;gap:10px;width:100%;height:min(40vh,320px);display:flex}.crt-embed-power{color:var(--dim);text-shadow:0 0 14px rgba(var(--halo), .2);transition:color var(--decay) ease-out, text-shadow var(--decay) ease-out;font-size:30px}.crt-embed-off:hover .crt-embed-power{color:var(--lit);text-shadow:0 0 20px rgba(var(--halo), .55);transition-duration:var(--excite)}.crt-embed-label{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mid);font-size:12px}.crt-embed-note{font-family:var(--mono);letter-spacing:.05em;color:var(--dim);font-size:10.5px}.fnd-wrap{background:#000;position:relative}.fnd-canvas{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.fnd-grid{grid-template-columns:repeat(7,1fr);gap:10px;padding:14px;display:grid;position:relative}.fnd-cell{aspect-ratio:2/3;cursor:grab;touch-action:none}.fnd-cell:active{cursor:grabbing}@media (width<=900px){.fnd-grid{grid-template-columns:repeat(2,1fr)}}.fnd-loading{text-align:center;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);pointer-events:none;font-size:10.5px;position:absolute;inset:auto 0 8px}.fnd-hint{border-top:1px solid rgba(var(--halo), .14);font-family:var(--mono);letter-spacing:.05em;color:var(--dim);padding:8px 12px;font-size:10.5px}.rail-right{align-items:center;gap:14px;display:flex}.fnd-sound{font:inherit;letter-spacing:inherit;text-transform:inherit;color:var(--mid);border:1px solid rgba(var(--halo), .22);cursor:pointer;transition:color var(--decay) ease-out;background:0 0;padding:3px 8px}.fnd-sound:hover{color:var(--lit);transition-duration:var(--excite)}.fnd-sound.live{color:rgb(var(--afterglow));border-color:rgba(var(--afterglow), .5)}.chain-panel{border:1px solid rgba(var(--halo), .22);max-width:640px;padding:18px}.chain-panel .readout{font-family:var(--mono);color:var(--lit);white-space:pre-wrap;word-break:break-word;font-size:13px;line-height:1.7}.chain-panel .readout .ghost{color:var(--mid)}.chain-error{font-family:var(--mono);color:var(--error);font-size:12px}.token-peek{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.token-peek input{font-family:var(--mono);color:var(--lit);border:1px solid rgba(var(--halo), .25);background:0 0;border-radius:2px;width:90px;padding:7px 10px;font-size:12px}.token-peek input:focus{outline:2px solid var(--lit);outline-offset:2px}.token-img{border:1px solid rgba(var(--halo), .2);background:#000;width:100%;max-width:360px}.token-name{font-family:var(--mono);color:var(--mid);margin-top:8px;font-size:12px}.blink{animation:1.1s step-end infinite blink}@keyframes blink{50%{opacity:.25}}.cv{max-width:820px;margin-inline:auto;padding:clamp(40px,7vh,72px) clamp(20px,5vw,64px) 72px}.cv h1{text-shadow:0 0 22px rgba(var(--halo), .22);margin-bottom:34px;font-size:clamp(28px,4vw,42px);font-style:italic;font-weight:400}.cv-block{margin-bottom:44px}.cv-row{border-top:1px solid rgba(var(--halo), .08);grid-template-columns:92px 1fr;align-items:baseline;gap:18px;padding:10px 0;display:grid}.cv-when{font-family:var(--mono);letter-spacing:.05em;color:var(--dim);font-size:11px}.cv-what{font-size:17px}.cv-what .cv-detail{color:var(--mid);font-size:15px;font-style:italic}.cv-note{font-family:var(--mono);color:var(--dim);letter-spacing:.05em;margin-top:10px;font-size:10.5px}.footer{border-top:1px solid rgba(var(--halo), .08);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:14px;margin-top:40px;padding:28px clamp(20px,5vw,64px) 34px;display:flex}.footer-links{flex-wrap:wrap;gap:18px;display:flex}.footer a{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mid);transition:color var(--decay) ease-out, text-shadow var(--decay) ease-out;font-size:11px;text-decoration:none}.footer a:hover{color:var(--lit);text-shadow:0 0 10px rgba(var(--halo), .4);transition-duration:var(--excite)}.footer-sig{font-family:var(--mono);letter-spacing:.06em;color:var(--dim);font-size:10.5px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media (width<=720px){.minor-list{columns:1}.work-row{grid-template-columns:48px minmax(0,1fr)}.work-strip{grid-column:1/-1;justify-content:flex-start;max-width:none}.work-strip img{width:48px;height:48px}.field{grid-template-columns:repeat(auto-fill,minmax(56px,1fr));grid-auto-rows:62px}}@media (width<=560px){.masthead{flex-wrap:wrap;gap:12px}.masthead-id{gap:12px}.ghost-button{padding:6px 11px;font-size:11px}.cv-row{grid-template-columns:1fr;gap:2px}}
