@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-ext-wght-normal-BOFOeGcA.woff2)format("woff2-variations");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:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-wght-normal-Xz1IZZA0.woff2)format("woff2-variations");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:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-mono-latin-ext-400-normal-C2zvOubV.woff2)format("woff2"),url(/assets/dm-mono-latin-ext-400-normal-1aZr6b2b.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:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-mono-latin-400-normal-4GdczIuU.woff2)format("woff2"),url(/assets/dm-mono-latin-400-normal--0xN8mdc.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{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--font-sans);color:#f3eef8;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--background:#09070f;--surface:#15101d;--surface-raised:#20182b;--line:#3d304e;--muted:#b6a9c2;--soft:#dfd5e8;--accent:#c77dff;--accent-dark:#35194b;--warning:#ffcf6e;--error:#ff9690;--font-sans:"DM Sans Variable";--font-mono:"DM Mono";background:#09070f}*{box-sizing:border-box}html{scroll-behavior:smooth;min-width:320px}body{background:var(--background);min-width:320px;min-height:100vh;margin:0}button,a{font:inherit}input,select,textarea{font-family:var(--font-sans)}code,kbd,pre,samp{font-family:var(--font-mono)}a{color:inherit}a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.skip-link{z-index:10;background:var(--accent);color:#1b0d28;border-radius:.5rem;padding:.75rem 1rem;font-weight:700;position:fixed;top:.75rem;left:.75rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.app-shell{flex-direction:column;width:min(100% - 3rem,1180px);min-height:100vh;margin-inline:auto;display:flex}.app-shell.landing-page{isolation:isolate;position:relative}.app-shell.landing-page:before,.app-shell.landing-page:after{z-index:-1;pointer-events:none;content:"";position:fixed;inset:0}.app-shell.landing-page:before{opacity:.62;background-image:radial-gradient(1px 1px at 7% 13%,#e2ebffcc 99%,#0000),radial-gradient(1px 1px at 16% 48%,#e2ebffb3 99%,#0000),radial-gradient(1.5px 1.5px at 25% 25%,#d2e1ffcc 99%,#0000),radial-gradient(1px 1px at 33% 76%,#e2ebff99 99%,#0000),radial-gradient(1px 1px at 42% 18%,#e2ebffbf 99%,#0000),radial-gradient(1px 1px at 54% 64%,#e2ebffa6 99%,#0000),radial-gradient(1.5px 1.5px at 63% 29%,#d2e1ffd9 99%,#0000),radial-gradient(1px 1px at 71% 84%,#e2ebffa6 99%,#0000),radial-gradient(1px 1px at 79% 12%,#e2ebffcc 99%,#0000),radial-gradient(1px 1px at 88% 57%,#e2ebffb8 99%,#0000),radial-gradient(1.5px 1.5px at 96% 34%,#d2e1ffcc 99%,#0000);background-repeat:no-repeat}.app-shell.landing-page:after{background:radial-gradient(at 66% 34%,#7a3ba524,#0000 38rem),radial-gradient(at 46% 58%,#4c27701f,#0000 34rem)}.topbar{border-bottom:1px solid #bcadcf26;justify-content:space-between;align-items:center;gap:1.5rem;min-height:76px;display:flex}.brand{letter-spacing:-.03em;align-items:center;gap:.7rem;font-weight:750;text-decoration:none;display:inline-flex}.brand-logo{object-fit:contain;flex:none;width:28px;height:28px}.topbar nav{align-items:center;gap:clamp(1rem,3.5vw,2.75rem);display:flex}.nav-link{color:var(--muted);font-size:.88rem;text-decoration:none;transition:color .15s}.nav-link:hover{color:#fbf7ff}.section-wrap{width:min(100%,990px);margin-inline:auto}main{flex:1}.hero{place-items:center;min-height:calc(100vh - 154px);padding-block:2.5rem;display:grid}.hero-copy{text-align:center;max-width:820px;margin-inline:auto}.project-page-intro{padding-block:3.5rem 1rem}.project-page-intro h1{margin-bottom:1rem;font-size:clamp(2.5rem,6vw,4.5rem);line-height:1.05}.project-page-intro>p:not(.eyebrow),.not-found>p:not(.eyebrow){max-width:600px;color:var(--muted);margin-bottom:0;font-size:.95rem;line-height:1.7}.not-found{padding-block:4rem}.not-found h1{max-width:700px;font-size:clamp(2.75rem,6vw,4.5rem)}.not-found .primary-link{margin-top:1.5rem}.eyebrow{color:var(--accent);letter-spacing:.14em;align-items:center;gap:.55rem;margin:0 0 1rem;font-size:.69rem;font-weight:750;display:flex}.eyebrow-dot,.local-label span{background:var(--accent);border-radius:50%;width:7px;height:7px;box-shadow:0 0 12px #c77dffa6}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.075em;margin-bottom:1.2rem;font-size:clamp(3.25rem,8vw,5.75rem);line-height:.99}.hero h1{margin-bottom:2.25rem;font-size:clamp(3.5rem,10vw,7rem)}h1 span{color:var(--accent)}.hero-actions{flex-wrap:wrap;justify-content:center;gap:.65rem;display:flex}.primary-link{border:1px solid var(--accent);background:var(--accent);color:#1b0d28;border-radius:7px;align-items:center;gap:1rem;min-height:46px;padding:.72rem 1rem;font-size:.86rem;font-weight:750;text-decoration:none;transition:background .15s,transform .15s;display:inline-flex}.primary-link:hover{background:#d9a5ff;transform:translateY(-2px)}.primary-link span{font-size:1rem}.secondary-link{border:1px solid var(--line);min-height:46px;color:var(--soft);border-radius:7px;align-items:center;padding:.72rem 1rem;font-size:.86rem;font-weight:650;text-decoration:none;display:inline-flex}.secondary-link:hover{border-color:var(--accent);color:#fbf7ff}.page-intro{padding-block:3.5rem 1.5rem}.page-intro h1{margin-bottom:.75rem;font-size:clamp(2.5rem,6vw,4.5rem);line-height:1.05}.page-intro>p:last-child{max-width:680px;color:var(--muted);margin-bottom:0;font-size:.95rem;line-height:1.7}.project-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1rem;padding-bottom:3rem;display:grid}.project-card{border:1px solid var(--line);background:linear-gradient(145deg,#1e152aeb,#140f1df5);border-radius:12px;flex-direction:column;align-items:flex-start;min-height:260px;padding:1.3rem;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}.project-card:hover{border-color:var(--accent);transform:translateY(-3px)}.project-category-label{color:var(--accent);letter-spacing:.11em;text-transform:uppercase;margin-bottom:.8rem;font-size:.68rem;font-weight:750}.project-card h2{margin-bottom:.75rem;font-size:1.35rem}.project-card>p{color:var(--muted);margin-bottom:1rem;font-size:.82rem;line-height:1.6}.project-status{border:1px solid var(--line);color:var(--soft);border-radius:999px;padding:.35rem .6rem;font-size:.68rem;font-weight:650;display:inline-flex}.project-status-active{color:var(--accent);background:#c77dff17;border-color:#c77dff66}.project-card-action{width:100%;color:var(--soft);justify-content:space-between;gap:.5rem;margin-top:auto;padding-top:1.3rem;font-size:.8rem;font-weight:650;display:flex}.project-card:hover .project-card-action{color:var(--accent)}.capability-groups{gap:2rem;padding-bottom:3rem;display:grid}.capability-group{border-top:1px solid var(--line);padding-top:1.2rem}.capability-group>h2{margin-bottom:.75rem}.capability-group>p{color:var(--muted);font-size:.82rem;line-height:1.6}.capability-detail-list{color:var(--muted);gap:.8rem;margin:0;padding-left:1.2rem;font-size:.84rem;line-height:1.65;display:grid}.capability-detail-list strong{color:var(--soft)}.capability-facts{gap:.8rem;margin:0;display:grid}.capability-facts>div{border-bottom:1px solid #bcadcf1f;grid-template-columns:minmax(120px,.35fr) minmax(0,1fr);gap:.8rem;padding-bottom:.8rem;display:grid}.capability-facts dt{color:var(--soft);font-size:.82rem;font-weight:700}.capability-facts dd{color:var(--muted);margin:0;font-size:.82rem;line-height:1.65}.inline-link{color:var(--accent);text-underline-offset:3px;margin-top:.9rem;font-size:.82rem;display:inline-block}.project-package-note{padding-block:1rem 3rem}.project-package-note h2{margin-bottom:.8rem}.project-package-note p{max-width:720px;color:var(--muted);font-size:.85rem;line-height:1.7}.section-heading{justify-content:space-between;align-items:end;gap:1.5rem;margin-bottom:1rem;display:flex}.section-heading .eyebrow{margin-bottom:.4rem}h2{letter-spacing:-.05em;margin-bottom:0;font-size:clamp(1.55rem,3vw,2rem)}.capability-summary{color:var(--soft);margin:0 0 .15rem;font-size:.82rem}.capability-panel{border:1px solid var(--line);background:linear-gradient(120deg,#1e152aeb,#140f1df5);border-radius:12px;overflow:hidden}.capability-list{margin:0;padding:0;list-style:none}.capability-row{justify-content:space-between;align-items:center;gap:1rem;min-height:82px;padding:1rem 1.25rem;display:flex}.capability-row+.capability-row{border-top:1px solid #bcadcf1f}.capability-name{align-items:center;gap:.9rem;display:flex}.capability-icon{border:1px solid var(--line);width:31px;height:31px;color:var(--soft);border-radius:9px;flex:none;place-items:center;font-size:1rem;display:grid}.icon-available{color:var(--accent);background:#c77dff17;border-color:#c77dff59}.icon-permission-denied,.icon-error{color:var(--error);background:#ff969014;border-color:#ff969059}.capability-name h3{margin-bottom:.25rem;font-size:.9rem;font-weight:650}.capability-name p{color:var(--muted);margin-bottom:0;font-size:.76rem;line-height:1.45}.status{border:1px solid var(--line);color:var(--soft);background:#ffffff08;border-radius:999px;flex:none;padding:.38rem .65rem;font-size:.7rem;font-weight:650}.status-available{color:var(--accent);background:#c77dff17;border-color:#c77dff59}.status-permission-denied,.status-error{color:var(--error);background:#ff969014;border-color:#ff969059}.loading-state{color:var(--muted);margin:0;padding:1.5rem}.capability-note{color:var(--muted);margin:.8rem 0 0;font-size:.75rem;line-height:1.6}.digit-workspace{padding-block:1rem 3.4rem}.digit-layout{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:1rem;display:grid}.digit-panel,.digit-history{border:1px solid var(--line);background:linear-gradient(120deg,#1e152aeb,#140f1df5);border-radius:12px;min-width:0;padding:1.2rem}.digit-panel h3,.digit-history h3{margin-bottom:.55rem;font-size:1rem}.digit-panel>p,.digit-history>p{color:var(--muted);font-size:.8rem;line-height:1.6}.digit-provenance{gap:.65rem;margin:1rem 0;display:grid}.digit-provenance div{border-top:1px solid #bcadcf1f;grid-template-columns:minmax(95px,.35fr) minmax(0,1fr);gap:.7rem;padding-top:.55rem;display:grid}.digit-provenance dt{color:var(--soft);font-size:.75rem;font-weight:650}.digit-provenance dd{min-width:0;color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:.75rem;line-height:1.5}.digit-provenance code{color:var(--soft);overflow-wrap:anywhere;font-size:.68rem}.digit-panel a{color:var(--accent);overflow-wrap:anywhere}.digit-model-status{color:var(--soft)!important}.digit-consent{color:var(--soft);align-items:start;gap:.55rem;margin-bottom:.8rem;font-size:.78rem;line-height:1.5;display:flex}.digit-consent input{accent-color:var(--accent);margin-top:.15rem}.digit-actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.8rem;display:flex}.digit-button,.secondary-button{cursor:pointer;min-height:40px}.digit-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.5;transform:none}.secondary-button,.digit-file-label{border:1px solid var(--line);background:var(--surface-raised);min-height:40px;color:var(--soft);border-radius:7px;align-items:center;padding:.55rem .75rem;font-size:.75rem;font-weight:650;display:inline-flex}.secondary-button:hover:not(:disabled),.digit-file-label:hover{border-color:var(--accent);color:#fbf7ff}.digit-file-label input{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.digit-file-label:focus-within{outline:2px solid var(--accent);outline-offset:3px}.digit-progress{width:100%;height:.55rem;accent-color:var(--accent)}.digit-canvas{aspect-ratio:1;border:1px solid var(--line);touch-action:none;cursor:crosshair;background:#000;border-radius:8px;width:min(100%,280px);height:auto;display:block}.digit-canvas:focus-visible,.digit-button:focus-visible,.secondary-button:focus-visible,.digit-consent input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.digit-alert,.digit-error{border-left:3px solid var(--error);color:#ffd2ce;overflow-wrap:anywhere;background:#ff969014;padding:.7rem .8rem;font-size:.78rem;line-height:1.55}.digit-alert ul{margin:.4rem 0 0;padding-left:1.2rem}.digit-result{border-left:3px solid var(--accent);background:#c77dff0f;margin-top:1rem;padding:.75rem .85rem}.digit-result p{color:var(--soft);margin-bottom:.45rem;font-size:.78rem;line-height:1.5}.digit-result p:last-child{color:var(--muted);margin-bottom:0}.digit-history{margin-top:1rem}.digit-history ul{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.digit-history li{color:var(--muted);overflow-wrap:anywhere;border-top:1px solid #bcadcf1f;gap:.25rem;padding-top:.6rem;font-size:.73rem;display:grid}.digit-history li span:first-child{color:var(--soft);text-transform:capitalize;font-weight:650}.digit-history time{color:var(--soft)}.footer{min-height:48px;color:var(--muted);justify-content:flex-end;align-items:center;margin-top:auto;padding-block:.75rem;font-size:.8rem;display:flex}.footer p{margin-bottom:0}.footer p a{color:var(--accent);text-underline-offset:3px}.footer p a:hover{color:var(--accent)}@media (width<=760px){.app-shell{width:min(100% - 2rem,760px)}.topbar{flex-wrap:wrap;gap:.5rem 1rem;min-height:72px;padding-block:.8rem}.topbar nav{justify-content:space-between;width:100%;min-height:36px}.hero{min-height:calc(100svh - 154px);padding-block:2rem}.hero h1{font-size:clamp(3.1rem,12vw,4.6rem)}.section-heading{flex-direction:column;align-items:start;gap:.65rem}.digit-layout{grid-template-columns:1fr}.digit-provenance div{grid-template-columns:1fr;gap:.25rem}.capability-row{align-items:flex-start;padding:1rem}.capability-name{align-items:flex-start}.capability-name p{max-width:220px}.footer{min-height:48px}.capability-facts>div{grid-template-columns:1fr;gap:.25rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
