@font-face{font-family:"Helvetica Now Text";src:local("Helvetica Now Text Regular"),local("HelveticaNowText-Regular"),local("Helvetica Now Text"),local("Helvetica Now"),url("/public/fonts/helvetica-now-regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"Helvetica Now Text";src:local("Helvetica Now Text Medium"),local("HelveticaNowText-Medium");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:"Helvetica Now Text";src:local("Helvetica Now Text Bold"),local("HelveticaNowText-Bold"),url("/public/fonts/helvetica-now-bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:"Helvetica Now Display";src:local("Helvetica Now Display Regular"),local("HelveticaNowDisplay-Regular"),local("Helvetica Now Display"),local("Helvetica Now"),url("/public/fonts/helvetica-now-regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"Helvetica Now Display";src:local("Helvetica Now Display Medium"),local("HelveticaNowDisplay-Medium");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:"Helvetica Now Display";src:local("Helvetica Now Display Bold"),local("HelveticaNowDisplay-Bold"),url("/public/fonts/helvetica-now-bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg, #0a0c11);color:var(--fg, #f3f4f6);font-family:"Helvetica Now Text","Helvetica Now","Inter",-apple-system,BlinkMacSystemFont,"Helvetica Neue","Helvetica","Arial",sans-serif;font-weight:400;font-size:calc(0.95rem + 0.15vw);line-height:1.55;margin:0;min-height:100vh;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01","cv11","kern";letter-spacing:-0.005em}::selection{background:rgba(108,140,255,0.32);color:var(--fg)}h1,h2,h3,h4,h5,h6{font-family:"Helvetica Now Display","Helvetica Now","Inter",-apple-system,BlinkMacSystemFont,"Helvetica Neue","Helvetica","Arial",sans-serif;font-weight:600;letter-spacing:-0.022em;line-height:1.15;margin:1.4em 0 .55em;color:var(--fg)}h1{font-size:clamp(1.9rem, 1.3rem + 2.2vw, 2.8rem);font-weight:700;letter-spacing:-0.03em}h2{font-size:clamp(1.35rem, 1.05rem + 1vw, 1.7rem);font-weight:600}h3{font-size:1.15rem;font-weight:600}h1:first-child,h2:first-child,h3:first-child{margin-top:0}b,strong,th{font-weight:600}p{text-align:left;margin:0 0 1em;color:var(--fg);opacity:.92}a{color:var(--accent, #6c8cff);text-decoration:none;transition:color .15s ease,opacity .15s ease}a:hover{color:#8aa3ff;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px}header a,footer a,aside a{color:inherit}header a:hover,footer a:hover,aside a:hover{text-decoration:none}header time{color:var(--muted, #8a93a6);font-size:.9em;font-variant-numeric:tabular-nums}hr{border:0;border-top:1px solid var(--card-border, rgba(255,255,255,0.08));margin:2.5em 0}article:not(:last-of-type){border-bottom:1px solid var(--card-border, rgba(255,255,255,0.08));padding-bottom:1.5em}blockquote{background:var(--accent-soft, rgba(108,140,255,0.12));border-left:3px solid var(--accent, #6c8cff);padding:.6em 1.4em;border-radius:0 12px 12px 0;margin:1.5em 0;color:var(--fg)}blockquote,figure{margin:1.5em 0}img{margin:.5em 0;border-radius:12px;max-width:100%;height:auto}li{margin:.35em 0}ul,ol{padding-left:1.4em}table{display:inline-block;max-width:100%;overflow-x:auto;border-spacing:0;border-radius:12px;border:1px solid var(--card-border, rgba(255,255,255,0.08));font-size:.95em}th,td{padding:.65em 1em;border-bottom:1px solid var(--card-border, rgba(255,255,255,0.08));text-align:left}th{background:rgba(255,255,255,0.04);font-weight:600}tr:last-child td{border-bottom:0}tr:hover td{background:rgba(108,140,255,0.05)}pre{background:rgba(255,255,255,0.04);color:#e5e7ec;border:1px solid var(--card-border, rgba(255,255,255,0.08));border-radius:12px;font-family:"JetBrains Mono","SF Mono","Menlo","Monaco","Consolas",monospace;font-size:.85em;line-height:1.6;margin:1.5em 0;padding:1em 1.25em;overflow-x:auto}:not(pre)>code{font-family:"JetBrains Mono","SF Mono","Menlo","Monaco","Consolas",monospace;font-size:.88em;background:rgba(255,255,255,0.06);border:1px solid var(--card-border, rgba(255,255,255,0.08));border-radius:6px;margin:0 .1em;padding:.15em .4em;color:var(--fg)}input,textarea,button,select{font-family:inherit;font-size:inherit;color:inherit}input[type="text"],input[type="email"],input[type="number"],input[type="file"],textarea,select{width:100%;padding:.7em .9em;border:1px solid var(--card-border, rgba(255,255,255,0.08));border-radius:12px;background:var(--surface, #14171f);color:var(--fg);transition:border-color .15s ease,box-shadow .15s ease}input[type="text"]:focus,input[type="email"]:focus,input[type="number"]:focus,input[type="file"]:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent, #6c8cff);box-shadow:0 0 0 4px rgba(108,140,255,0.18)}textarea{min-height:9em;resize:vertical}label{font-weight:500;font-size:.95em;color:var(--fg)}body{display:flex;flex-direction:column}article{flex-grow:1}body>header,body>footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5em}body>header,body>article,body>footer{padding:1.5em}article header{margin-bottom:1.75em}article header h1{font-size:clamp(1.7rem, 1.2rem + 1.6vw, 2.4rem);margin:0 0 .15em;letter-spacing:-0.025em}article header h1 a{color:inherit}nav{display:flex;flex-wrap:wrap;align-items:center;gap:.25em}nav a{display:inline-flex;align-items:center;gap:.4em;margin:0;padding:.5em .85em;border-radius:8px;font-size:.94em;font-weight:500;letter-spacing:-0.005em;color:inherit;opacity:.82;transition:background .15s ease,opacity .15s ease,color .15s ease}nav a:hover{opacity:1;text-decoration:none;background:rgba(255,255,255,0.06)}nav a.selected{opacity:1;background:rgba(255,255,255,0.1)}.title{font-family:"Helvetica Now Display","Helvetica Now","Inter",-apple-system,BlinkMacSystemFont,"Helvetica Neue","Helvetica","Arial",sans-serif;font-size:1.05em;font-weight:600;letter-spacing:-0.02em;display:inline-flex;align-items:center;gap:.55em}.more{margin:2em 0 1em}.more a:not(.btn){display:inline-flex;align-items:center;gap:.4em;border-radius:12px;background:#6c8cff;color:#fff;border:1px solid #6c8cff;padding:.55em 1.05em;transition:.2s background,.2s border-color,.2s transform,.2s box-shadow;text-decoration:inherit;font-weight:500}.more a:not(.btn):hover{background:#8aa3ff;border-color:#8aa3ff;text-decoration:inherit;transform:translateY(-1px);box-shadow:0 10px 30px -10px rgba(0,0,0,0.55),0 2px 6px -2px rgba(0,0,0,0.3)}.archive{font-size:1.05em}.archive time{display:inline-block;min-width:10ch;min-height:1.75em;margin:0 .2em;color:var(--muted, #8a93a6);font-variant-numeric:tabular-nums}.icon{height:1em;width:1em;fill:currentColor;transition:.2s color;vertical-align:middle;margin-bottom:.15em}a:hover .icon{color:inherit}.muted{color:var(--muted, #8a93a6);opacity:1}.card{background:var(--card-bg, #14171f);border:1px solid var(--card-border, rgba(255,255,255,0.08));border-radius:16px;padding:1.4em 1.5em;box-shadow:0 1px 2px rgba(0,0,0,0.35)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45em;border-radius:12px;border:1px solid var(--btn-border, rgba(255,255,255,0.14));background:var(--btn-bg, #14171f);color:var(--fg, #f3f4f6);padding:.6em 1.1em;font-weight:500;letter-spacing:-0.005em;transition:.15s background,.15s color,.15s border-color,.15s transform,.15s box-shadow;text-decoration:inherit;cursor:pointer}.btn:hover{background:rgba(255,255,255,0.06);border-color:rgba(255,255,255,0.22);text-decoration:inherit;transform:translateY(-1px);box-shadow:0 1px 2px rgba(0,0,0,0.35)}.btn--primary{background:#6c8cff;border-color:#6c8cff;color:#fff;box-shadow:0 6px 20px -8px rgba(47,91,255,0.55),inset 0 1px 0 rgba(255,255,255,0.12)}.btn--primary:hover{background:#8aa3ff;border-color:#8aa3ff;color:#fff;text-decoration:inherit;box-shadow:0 10px 28px -10px rgba(47,91,255,0.65),inset 0 1px 0 rgba(255,255,255,0.14)}.btn--ghost{background:transparent;border-color:var(--card-border, rgba(255,255,255,0.08));color:var(--fg, #f3f4f6)}.btn--ghost:hover{background:rgba(255,255,255,0.05);border-color:rgba(255,255,255,0.22);color:var(--fg, #f3f4f6);text-decoration:inherit}.btn--small{padding:.42em .85em;font-size:.92em}.home{padding-top:0}.home-hero{position:relative;padding:3.25em 2em 2.75em;margin-bottom:1em;background:radial-gradient(120% 140% at 0% 0%, rgba(47,91,255,0.18) 0%, rgba(47,91,255,0) 50%),linear-gradient(180deg, #0d1018 0%, #090b10 100%);color:var(--fg, #f3f4f6);border:1px solid var(--card-border, rgba(255,255,255,0.08));border-radius:16px;overflow:hidden}.home-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 100% at 100% 0%, rgba(122,54,255,0.18) 0%, rgba(122,54,255,0) 60%);pointer-events:none}.home-hero a{color:inherit}.home-hero__inner{position:relative;max-width:62em;margin:0 auto}.home-hero__kicker{display:inline-flex;align-items:center;gap:.5em;font-family:"Helvetica Now Display","Helvetica Now","Inter",-apple-system,BlinkMacSystemFont,"Helvetica Neue","Helvetica","Arial",sans-serif;font-size:.78rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#6c8cff;background:rgba(108,140,255,0.12);border:1px solid rgba(108,140,255,0.18);padding:.35em .8em;border-radius:999px}.home-hero__title{font-family:"Helvetica Now Display","Helvetica Now","Inter",-apple-system,BlinkMacSystemFont,"Helvetica Neue","Helvetica","Arial",sans-serif;font-size:clamp(2.1em, 5vw, 3.4em);font-weight:700;letter-spacing:-0.035em;line-height:1.15;padding-top:.05em;margin:.4em 0 .35em;background:linear-gradient(180deg, #fff 0%, #b9bfcc 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.home-hero__subtitle{font-size:1.1em;max-width:56ch;margin:0;color:var(--muted, #8a93a6)}.home-cta{display:flex;flex-wrap:wrap;gap:.65em;margin-top:1.4em}.home-content{padding:2em 0}.home-content section{margin:2.5em 0}.home-split{display:grid;grid-template-columns:1.35fr .9fr;gap:1.5em;align-items:start}@media (max-width: 52em){.home-split{grid-template-columns:1fr}}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(min(22em, 100%), 1fr));gap:1.1em}@media (max-width: 56em){.feature-grid{grid-template-columns:1fr}}.feature{background:var(--card-bg, #14171f);border:1px solid var(--card-border, rgba(255,255,255,0.08));border-radius:16px;padding:1.35em 1.4em;display:flex;flex-direction:column;box-shadow:0 1px 2px rgba(0,0,0,0.35);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.feature:hover{transform:translateY(-2px);box-shadow:0 10px 30px -10px rgba(0,0,0,0.55),0 2px 6px -2px rgba(0,0,0,0.3);border-color:rgba(255,255,255,0.16)}.feature h3{font-family:"Helvetica Now Display","Helvetica Now","Inter",-apple-system,BlinkMacSystemFont,"Helvetica Neue","Helvetica","Arial",sans-serif;margin-top:0;margin-bottom:.35em;letter-spacing:-0.02em}.feature .muted{margin-bottom:.85em;color:var(--muted, #8a93a6);font-size:.96em;line-height:1.55}.feature ul{margin:0 0 .9em;padding-left:1.1em}.feature ul li{color:var(--fg);opacity:.92}.actions{margin-top:auto;padding-top:.9em;display:flex;flex-wrap:wrap;gap:.5em}.project-status{display:inline-flex;align-items:center;gap:.4em;margin-top:.6em;font-size:.82em;font-weight:500;color:var(--muted, #8a93a6)}.project-status::before{content:"";width:.55em;height:.55em;border-radius:50%;background:#6c8cff;box-shadow:0 0 0 4px rgba(108,140,255,0.18)}.stack{margin-top:.55em;display:flex;flex-wrap:wrap;gap:.35em}.stack span{font-size:.76rem;color:var(--fg, #f3f4f6);background:rgba(255,255,255,0.05);border:1px solid var(--card-border, rgba(255,255,255,0.08));padding:.2em .55em;border-radius:6px}.nft-carousel{text-align:center;padding:1em 0 0}.nft-carousel__scene{width:180px;height:200px;margin:0 auto;perspective:1200px}.nft-carousel__ring{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.4, 0, .2, 1)}.nft-carousel__card{position:absolute;inset:0;backface-visibility:hidden;display:flex;align-items:center;justify-content:center}.nft-carousel__card a{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:inherit}.nft-carousel__card img{width:140px;height:140px;object-fit:cover;border-radius:12px;box-shadow:0 6px 24px rgba(0,0,0,0.55);transition:transform .3s,box-shadow .3s;margin:0}.nft-carousel__card img:hover{transform:scale(1.04);box-shadow:0 12px 36px rgba(0,0,0,0.65)}.nft-carousel__label{margin-top:.45em;font-weight:700;font-size:.85em;letter-spacing:.02em;white-space:nowrap;color:var(--fg, #f3f4f6);text-shadow:0 1px 2px rgba(0,0,0,0.55)}.nft-carousel__arrows{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:1.5em;margin-top:.4em}.nft-carousel__arrow{appearance:none;border:1px solid var(--btn-border, rgba(255,255,255,0.14));background:var(--btn-bg, #14171f);color:inherit;width:3.6em;height:2.2em;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:1.1em;transition:.2s background,.2s border-color;padding:0}.nft-carousel__arrow:hover{background:rgba(255,255,255,0.06);border-color:rgba(255,255,255,0.22)}.nft-carousel__arrow svg{width:1.1em;height:1.1em;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}@media (min-width: 30em){.nft-carousel__scene{width:240px;height:270px;perspective:1600px}.nft-carousel__card img{width:190px;height:190px}.nft-carousel__label{font-size:.95em}}@media (min-width: 48em){.nft-carousel__scene{width:300px;height:330px;perspective:2000px}.nft-carousel__card img{width:240px;height:240px}.nft-carousel__label{font-size:1.05em}}.modal{position:fixed;inset:0;z-index:999}.modal__overlay{position:absolute;inset:0;background:rgba(0,0,0,0.75)}.modal__content{position:relative;background:var(--surface, #14171f);color:var(--fg, #f3f4f6);border-radius:16px;border:1px solid var(--card-border, rgba(255,255,255,0.08));width:90vw;height:90vh;margin:5vh auto;overflow:hidden;box-shadow:0 30px 60px -20px rgba(0,0,0,0.7),0 6px 14px -4px rgba(0,0,0,0.35)}.modal__close{position:absolute;top:.6em;right:.6em;width:2.1em;height:2.1em;border-radius:999px;border:1px solid var(--card-border, rgba(255,255,255,0.08));background:rgba(255,255,255,0.04);color:inherit;cursor:pointer;line-height:2em;font-size:1.1em}.modal__close:hover{background:rgba(255,255,255,0.08)}.modal__frame{width:100%;height:100%;border:0}.modal__fallback{position:absolute;left:1.1em;right:1.1em;bottom:1.1em;background:rgba(255,255,255,0.04);border:1px solid var(--card-border, rgba(255,255,255,0.08));border-radius:12px;padding:.85em 1em}.full table{display:table;width:100%}.katex{overflow-x:auto;overflow-y:hidden}.theme-toggle{appearance:none;border:1px solid var(--btn-border, rgba(255,255,255,0.14));background:var(--btn-bg, #14171f);color:inherit;width:2.2em;height:2.2em;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:.85em;transition:.2s background;vertical-align:middle;margin-left:.5em;padding:0;line-height:1}.theme-toggle:hover{background:rgba(255,255,255,0.06)}.theme-toggle svg{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.rouge-table,.rouge-table th,.rouge-table td,.rouge-table tr,.rouge-table pre{font-size:inherit;background:inherit !important;box-shadow:none;border:none;width:initial;margin:0;padding:0}.rouge-table .gl pre{margin:0 1.5em 0 .25em;opacity:.5}.highlight pre{background:#0c0e14;color:#e5e7ec}.highlight .c,.highlight .cm,.highlight .cp,.highlight .c1,.highlight .cs{color:#8b94a6}.highlight .err{color:#ff6b6b}.highlight .k,.highlight .kc,.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr,.highlight .kt{color:#7aa2ff}.highlight .l,.highlight .m,.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo,.highlight .il,.highlight .se{color:#c8a2ff}.highlight .n,.highlight .nb,.highlight .ni,.highlight .nl,.highlight .nn,.highlight .py,.highlight .nv,.highlight .w,.highlight .bp,.highlight .vc,.highlight .vg,.highlight .vi,.highlight .p{color:#e5e7ec}.highlight .o,.highlight .nt,.highlight .ow,.highlight .gd{color:#ff7a93}.highlight .s,.highlight .ld,.highlight .sb,.highlight .sc,.highlight .sd,.highlight .s2,.highlight .sh,.highlight .si,.highlight .sx,.highlight .sr,.highlight .s1,.highlight .ss{color:#b6f0a8}.highlight .na,.highlight .nc,.highlight .nd,.highlight .ne,.highlight .nf,.highlight .nx,.highlight .gi{color:#ffd479}.highlight .no{color:#7aa2ff}.highlight .ge{font-style:italic}.highlight .gs{font-weight:bold}.highlight .gu{color:#8b94a6}:root{--bg: #f3f4f6;--fg: #0a0c11}@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--bg: #0a0c11;--fg: #f3f4f6}}:root[data-theme="dark"]{--bg: #0a0c11;--fg: #f3f4f6}html{background:#b0b9d0;padding:0 calc(38% - 22em)}body{box-shadow:0 0 .3em #a0abc7}body>header,body>footer{background:var(--bg, #f3f4f6);color:var(--fg, #0a0c11)}@media (min-width: 32em){body>header,body>article,body>footer{padding:1.75em calc(22% - 6em)}}@media (prefers-color-scheme: dark){body,body>header,body>footer{box-shadow:0 0 0 1px #191e2b}html{background:#0a0c11}}
