@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@300;400;500&family=Hanken+Grotesk:wght@400;500;600;700&display=swap";:root{--vv-ink:#08090b;--vv-night:#141416;--vv-well:#15171b;--vv-paper:#f2efe9;--vv-amber:#efa457;--vv-amber-hover:#f6c089;--vv-amber-text:#f8d5a8;--vv-amber-pressed:#fff1dd;--vv-amber-badge:#f6cd9c;--vv-amber-ink:#17120c;--vv-amber-deep:#c97a1f;--vv-print-paper:linear-gradient(148deg, #fbfaf7, #eceae4);--vv-print-stamp:#5a5449;--vv-print-stamp-faint:#9a9588;--vv-glow-amber:#efa45729;--vv-glow-blue:#7aa7d91f;--vv-text-1:#f2efe9;--vv-text-values:#f2efe9b8;--vv-text-2:#f2efe999;--vv-text-hint:#f2efe973;--vv-text-placeholder:#f2efe952;--vv-glass-fill:#ffffff1a;--vv-glass-border:#ffffff29;--vv-card-fill:#ffffff0d;--vv-card-border:#ffffff17;--vv-input-fill:#ffffff12;--vv-input-border:#ffffff21;--vv-amber-fill:#efa45726;--vv-amber-border:#efa45773;--vv-amber-fill-pressed:#efa45757;--vv-amber-border-pressed:#efa457cc;--vv-selected-fill:#efa4571f;--vv-selected-border:#efa45766;--vv-badge-fill:#efa45738;--vv-badge-border:#efa45780;--vv-divider:#ffffff12;--vv-font-sans:"Hanken Grotesk", -apple-system, system-ui, sans-serif;--vv-font-mono:"DM Mono", ui-monospace, monospace;--vv-space-1:4px;--vv-space-2:8px;--vv-space-3:12px;--vv-space-4:16px;--vv-space-5:24px;--vv-space-6:34px;--vv-gutter:16px;--vv-top-inset:58px;--vv-bottom-clear:118px;--vv-r-print:5px;--vv-r-xs:10px;--vv-r-btn:16px;--vv-r-card:19px;--vv-r-sheet:28px;--vv-r-pill:999px;--vv-glass-blur:blur(20px) saturate(160%);--vv-highlight:inset 0 1px 0 #ffffff24;--vv-shadow-float:0 18px 44px #0009;--vv-shadow-print:0 14px 32px #0000008c;--vv-scrim:#050608b8;--vv-ease-glide:cubic-bezier(.22, 1, .36, 1);--vv-ease-spring:cubic-bezier(.34, 1.56, .64, 1);--vv-dur-press:.15s}*,:before,:after{box-sizing:border-box}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:var(--vv-ink);min-height:100dvh;color:var(--vv-paper);font:400 14px / 1.5 var(--vv-font-sans);-webkit-font-smoothing:antialiased;margin:0}a{color:var(--vv-amber)}h1,h2,p{margin:0}:root{--gutter:clamp(16px, 3.2vw, 48px);--content-max:1480px;--sidebar:264px}.backdrop{isolation:isolate;min-height:100dvh;position:relative}.backdrop-glow{z-index:-1;filter:blur(90px);pointer-events:none;border-radius:50%;position:fixed}.backdrop-glow.amber{background:#efa45738;width:46vmax;height:46vmax;top:-16vmax;left:-12vmax}.backdrop-glow.blue{background:#7aa7d929;width:42vmax;height:42vmax;bottom:-18vmax;right:-10vmax}.backdrop-glow.warm{background:#c97a1f1a;width:26vmax;height:26vmax;top:38%;left:52%}.glass .glass-surface__content{justify-content:flex-start;align-items:stretch;padding:0;display:block}.glass.pad .glass-surface__content{padding:clamp(16px,1.6vw,24px)}.glass.center-text .glass-surface__content{text-align:center}.glass-button{width:auto;display:inline-flex}.glass-button .glass-surface__content{align-items:center;padding:0;display:flex}.glass-button-inner{height:100%;color:var(--vv-paper);font:550 13.5px var(--vv-font-sans);white-space:nowrap;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0 18px;text-decoration:none;display:inline-flex}.glass-button-inner:disabled{opacity:.45;cursor:default}.portal{max-width:calc(var(--content-max) + var(--sidebar));grid-template-columns:1fr;margin:0 auto;display:grid}.portal-nav{z-index:10;margin:12px var(--gutter) 0;border:1px solid var(--vv-glass-border);background:color-mix(in srgb, var(--vv-ink) 70%, transparent);-webkit-backdrop-filter:blur(18px)saturate(160%);backdrop-filter:blur(18px)saturate(160%);border-radius:26px;align-items:center;gap:12px;padding:8px 10px 8px 16px;display:flex;position:sticky;top:12px}.portal-links{scrollbar-width:none;flex:1;gap:4px;min-width:0;display:flex;overflow-x:auto}.portal-link{color:var(--vv-text-values);white-space:nowrap;border-radius:16px;font-weight:550;text-decoration:none;display:block}.portal-link-label{align-items:center;height:42px;padding:0 14px;display:flex}.portal-link:hover,.portal-link.active{color:var(--vv-paper)}.portal-link-glass .glass-surface__content{align-items:center;padding:0;display:flex}.portal-new{min-height:38px}.portal-new-label{margin-left:.35em}@media (width<=639px){.portal-new{padding:0 14px}.portal-new-label{display:none}}.portal-main{min-width:0;padding:clamp(20px, 3vw, 40px) var(--gutter) 80px}.user-menu{position:relative}.user-chip{width:100%;color:var(--vv-paper);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:16px;align-items:center;gap:10px;padding:6px;display:flex}.user-chip:hover,.user-menu.open .user-chip{background:var(--vv-card-fill)}.user-chip-text{flex-direction:column;min-width:0;display:none}.user-chip-text strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-menu-popup{z-index:20;opacity:0;visibility:hidden;width:200px;transition:opacity .18s,transform .18s cubic-bezier(.22,1,.36,1),visibility .18s;position:absolute;top:calc(100% + 8px);right:0;transform:translateY(-4px)}.user-menu-popup:after{content:"";z-index:-1;position:absolute;inset:-10px 0}.user-menu:hover .user-menu-popup,.user-menu:focus-within .user-menu-popup,.user-menu.open .user-menu-popup{opacity:1;visibility:visible;transform:none}.user-menu-glass .glass-surface__content{flex-direction:column;padding:6px;display:flex}.user-menu-item{height:40px;color:var(--vv-paper);font:550 13.5px var(--vv-font-sans);cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;padding:0 12px;text-decoration:none;display:flex}.user-menu-item:hover,.user-menu-item:focus-visible{background:var(--vv-card-fill)}@media (width>=1024px){.portal{grid-template-columns:var(--sidebar) minmax(0, 1fr)}.portal-nav{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;flex-direction:column;align-items:stretch;gap:22px;height:calc(100dvh - 40px);margin:20px 0 20px 20px;padding:10px 0;top:20px}.portal-nav>.wordmark{padding:6px 10px}.portal-links{flex-direction:column;flex:0;overflow:visible}.user-menu{margin-top:auto}.user-chip-text{display:flex}.user-menu-popup{width:100%;inset:auto auto calc(100% + 8px) 0;transform:translateY(4px)}}.public-header{max-width:var(--content-max);padding:20px var(--gutter);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.public-main{max-width:var(--content-max);padding:clamp(12px, 4vw, 56px) var(--gutter) 80px;margin:0 auto}.narrow-center{width:min(520px,100%);margin:0 auto}.split{align-items:center;gap:clamp(24px,5vw,80px);max-width:1080px;margin:0 auto;display:grid}@media (width>=900px){.split{grid-template-columns:1.1fr 1fr;min-height:60dvh}}.split-copy{flex-direction:column;gap:14px;display:flex}.landing{max-width:var(--content-max);padding:clamp(24px, 8vw, 120px) var(--gutter) 96px;flex-direction:column;gap:clamp(40px,8vw,96px);margin:0 auto;display:flex}.landing-hero{flex-direction:column;gap:20px;max-width:820px;display:flex}.landing-title{letter-spacing:-.03em;font-size:clamp(34px,6vw,68px);font-weight:600;line-height:1.04}.landing-points{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.landing-points h2{margin-bottom:8px;font-size:16px;font-weight:600}.stack{flex-direction:column;gap:14px;display:flex}.stack-sm{flex-direction:column;gap:10px;display:flex}.glass.stack .glass-surface__content,.glass.stack-sm .glass-surface__content{gap:inherit;flex-direction:column;display:flex}.stack-lg{flex-direction:column;gap:clamp(24px,3vw,36px);display:flex}.row{align-items:center;gap:10px;display:flex}.row.wrap,.row.wrap-start{flex-wrap:wrap}.row.wrap{justify-content:space-between}.row.center{justify-content:center}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.page-head>div:first-child{flex-direction:column;gap:6px;min-width:0;display:flex}.section-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.with-aside{align-items:start;gap:20px;display:grid}@media (width>=1100px){.with-aside{grid-template-columns:minmax(0,1fr) clamp(300px,26vw,380px)}.aside-sticky{position:sticky;top:24px}}@media (width<=1099px){.with-aside>aside{order:-1}}.card-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));align-items:start;gap:18px;display:grid}.form-grid{gap:16px;display:grid}@media (width>=720px){.form-grid{grid-template-columns:1fr 1fr}}.span-all{grid-column:1/-1}.wordmark{color:var(--vv-paper);text-decoration:none;display:inline-flex}.logo{color:var(--vv-paper);border:1.2px solid #f2efe9bf;border-radius:3px;align-items:center;gap:6px;padding:4px 8px;display:inline-flex}.logo-word{font:500 15px / 1 var(--vv-font-mono);letter-spacing:.12em;padding-right:.12em}.logo-dot{background:var(--vv-amber);border-radius:1px;width:4px;height:4px}.logo-stamp{color:var(--vv-paper);background:#ffffff08;border:1.5px solid #f2efe9cc;border-radius:4px;flex-direction:column;align-self:flex-start;gap:7px;padding:16px 20px 14px;display:inline-flex}.logo-sprockets{gap:6px;display:flex}.logo-sprockets>span{background:#f2efe947;border-radius:1px;width:9px;height:5px}.logo-sprockets>.on{background:var(--vv-amber)}.logo-stamp-word{font:500 clamp(40px, 5vw, 62px) / .95 var(--vv-font-mono);letter-spacing:.14em;padding-right:.14em}.logo-exposure{font:400 10px var(--vv-font-mono);letter-spacing:.34em;color:#efa457f2;padding-left:.06em}.display{letter-spacing:-.02em;font-size:clamp(24px,2.6vw,34px);font-weight:600;line-height:1.12}.section-title{letter-spacing:-.2px;font-size:15px;font-weight:600}.lede{color:var(--vv-text-2);max-width:46ch;font-size:clamp(14px,1.3vw,17px)}.label{font:400 10px var(--vv-font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--vv-text-2)}.label.amber{color:var(--vv-amber)}.meta{color:var(--vv-text-2);font-size:12.5px}.hint{color:var(--vv-text-hint);font-size:12.5px;display:block}.mono{font-family:var(--vv-font-mono);font-weight:500}.code{letter-spacing:.16em;font-size:22px}.error{color:#ff9a8a;font-size:13px;display:block}.notice{border-radius:var(--vv-r-btn);background:var(--vv-amber-fill);border:1px solid var(--vv-amber-border);color:var(--vv-amber-text);padding:10px 12px;font-size:12.5px}.state{color:var(--vv-text-2);font-size:12.5px}.state-live{color:var(--vv-amber)}.empty{text-align:center}.empty .glass-surface__content{color:var(--vv-text-2);flex-direction:column;gap:14px;padding:36px 20px;display:flex}.details{grid-template-columns:auto 1fr;gap:8px 16px;margin:0;font-size:13px;display:grid}.details dt{color:var(--vv-text-2)}.details dd{text-align:right;margin:0}.button{border-radius:var(--vv-r-btn);border:1px solid var(--vv-glass-border);background:var(--vv-glass-fill);min-height:42px;color:var(--vv-paper);font:550 13.5px var(--vv-font-sans);white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;padding:0 18px;text-decoration:none;display:inline-flex}.button.primary{background:var(--vv-amber-fill);border-color:var(--vv-amber-border);color:var(--vv-amber-text)}.button.primary:hover{background:#efa45738}.button.primary:active{background:var(--vv-amber-fill-pressed);border-color:var(--vv-amber-border-pressed)}.button.big{min-height:50px;padding:0 26px;font-size:15px}.button.danger{color:#ffb3a7;background:#ff78640f;border-color:#ff786466}.button:disabled,.button.disabled{opacity:.45;cursor:default}.input{border-radius:var(--vv-r-btn);border:1px solid var(--vv-input-border);background:var(--vv-input-fill);width:100%;min-height:44px;color:var(--vv-paper);font:400 15px var(--vv-font-sans);padding:0 14px}.input::placeholder{color:var(--vv-text-placeholder)}.input:disabled{opacity:.5}.field{flex-direction:column;gap:6px;display:flex}.field>span{color:var(--vv-text-2);font-size:12px}input[type=range]{accent-color:var(--vv-amber)}.toggle{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.toggle input{accent-color:var(--vv-amber);margin-top:3px}.toggle.small{color:var(--vv-text-2);font-size:12.5px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--vv-card-border);background:var(--vv-card-fill);color:var(--vv-text-values);font:550 12.5px var(--vv-font-sans);cursor:pointer;border-radius:999px;padding:8px 14px}.chip:hover{color:var(--vv-paper)}.chip.on{background:var(--vv-selected-fill);border-color:var(--vv-selected-border);color:var(--vv-amber-text)}.badge{background:var(--vv-badge-fill);border:1px solid var(--vv-badge-border);color:var(--vv-paper);white-space:nowrap;border-radius:999px;align-self:flex-start;align-items:baseline;gap:6px;padding:6px 12px;font-size:11px;display:inline-flex}.badge .mono{color:var(--vv-amber-badge);font-size:18px}.avatar{background:var(--vv-glass-fill);border:1px solid var(--vv-glass-border);width:36px;height:36px;color:var(--vv-paper);border-radius:12px;flex:none;place-items:center;font-weight:600;display:grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.stat-row{gap:10px;display:flex}.stat{white-space:nowrap;width:auto;min-width:104px}.stat .glass-surface__content{flex-direction:column;padding:12px 14px;display:flex}.stat-value{font-size:22px}.tiles{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:16px;display:grid}.tile-link{color:var(--vv-paper);border-radius:17px;text-decoration:none;transition:transform .2s cubic-bezier(.22,1,.36,1);display:block}.tile-link:hover{transform:translateY(-3px)}.tile-title{letter-spacing:-.2px;font-size:15px;font-weight:600}.glass.live .glass-surface__content{flex-direction:column;gap:8px;display:flex}.roll-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:clamp(28px,3vw,44px) clamp(20px,2.4vw,36px);display:grid}@media (width>=640px){.roll-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}.roll{color:var(--vv-paper);flex-direction:column;gap:16px;text-decoration:none;display:flex}.roll-stack{margin:6px 10% 0;transition:transform .25s cubic-bezier(.22,1,.36,1);position:relative}.roll:hover .roll-stack{transform:translateY(-4px)}.roll-sheet{position:absolute;inset:0}.roll-sheet.back{filter:brightness(.72);transform:rotate(-6deg)}.roll-sheet.middle{filter:brightness(.86);transform:rotate(3.5deg)}.roll.lifted .roll-stack{visibility:hidden}.roll-info{transition:opacity .3s}.roll.lifted .roll-info{opacity:0}.roll-front{position:relative}.roll:hover .roll-sheet.back{transform:rotate(-8deg)translate(-4px)}.roll:hover .roll-sheet.middle{transform:rotate(5deg)translate(3px)}.roll-count{letter-spacing:0;font-size:30px}.roll-info{flex-direction:column;gap:3px;display:flex}.uploads{margin:0;padding:0;font-size:12.5px;list-style:none}.uploads li{justify-content:space-between;gap:8px;padding:4px 0;display:flex}.uploads li[data-status=failed] .meta{color:#ff9a8a}.list{margin:0;padding:0;list-style:none}.list-row{border-bottom:1px solid var(--vv-divider);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 16px;padding:14px 18px;display:grid}.list-row:last-child{border-bottom:0}.list-row .glass-button{grid-area:span 2/2}.instax{border-radius:var(--vv-r-print);background:var(--vv-print-paper);margin:0;padding:6.5% 6.5% 0;transition:transform .25s cubic-bezier(.22,1,.36,1);box-shadow:inset 0 1px #fff9,0 10px 26px #00000080}.instax-well{aspect-ratio:46/62;background:var(--vv-well);border-radius:1px;overflow:hidden;box-shadow:inset 0 0 0 1px #0000001f}.instax-well.fit{aspect-ratio:auto}.instax-well img{object-fit:cover;width:100%;height:100%;display:block}.instax-well.fit img{object-fit:contain;max-height:72dvh}.instax-lip{min-height:1em;font:400 9px var(--vv-font-mono);letter-spacing:.12em;color:var(--vv-print-stamp);text-transform:uppercase;white-space:nowrap;justify-content:space-between;align-items:center;gap:6px;padding:7% 1.5% 12%;display:flex;overflow:hidden}.instax-who{color:var(--vv-print-stamp-faint);text-overflow:ellipsis;overflow:hidden}.instax-undeveloped{background:radial-gradient(circle at 50% 45%, #3a2f22, var(--vv-well) 72%);width:100%;height:100%;min-height:120px;font:400 8.5px var(--vv-font-mono);letter-spacing:.2em;color:var(--vv-amber-badge);flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex}::view-transition-group(*){animation-duration:.42s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-old(root){animation-duration:.24s}::view-transition-new(root){animation-duration:.24s}::view-transition-old(*){object-fit:fill;height:100%}::view-transition-new(*){object-fit:fill;height:100%}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation:none}::view-transition-old(*){animation:none}::view-transition-new(*){animation:none}}.album-overlay{z-index:40;position:fixed;inset:0}.album-scrim{-webkit-backdrop-filter:blur(18px)saturate(120%);backdrop-filter:blur(18px)saturate(120%);cursor:zoom-out;background:#08090b94;border:0;animation:.3s both fade-in;position:absolute;inset:0}.album-layout{height:100%;padding:clamp(20px, 3vw, 40px) var(--gutter);pointer-events:none;gap:24px;display:grid;position:relative;overflow-y:auto}.album-side,.album-center{flex-direction:column;gap:14px;min-width:0;display:flex}.album-side>*,.stack-stage,.stack-bar>*,.album-center>p{pointer-events:auto}.album-center{order:-1;justify-content:center;align-items:center;gap:18px}@media (width>=1100px){.album-layout{grid-template-columns:minmax(240px,320px) minmax(0,1fr) minmax(260px,340px);align-items:center;overflow:hidden}.album-center{order:0}}.stack-bar{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.counter{color:var(--vv-text-2);font-size:13px}.center-text{text-align:center}.album-center{container-type:inline-size}.stack-stage{touch-action:pan-y;-webkit-user-select:none;user-select:none;width:min(380px,50cqi,42.16dvh);position:relative}@media (width<=1099px){.stack-stage{width:min(380px,66cqi,38.08dvh)}}.stage-spacer{visibility:hidden}.deck-card{transform-origin:50% 60%;width:100%;transition:transform .55s cubic-bezier(.22,1,.36,1),filter .55s;position:absolute;top:0;left:0}.deck-card.front{cursor:grab}.deck-card[data-dragging=true]{cursor:grabbing;transition:none}.deck-card.seen{cursor:grab}.deck-card .instax{box-shadow:inset 0 1px #fff9,0 24px 60px #0000008c}.deck-card img{pointer-events:none}.materialize{animation:.6s cubic-bezier(.22,1,.36,1) both materialize;animation-delay:calc(var(--i,0) * 70ms + .14s)}@keyframes materialize{0%{opacity:0;filter:blur(14px);transform:scale(.96)translateY(8px)}}@keyframes fade-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.materialize,.album-scrim{animation:none}.deck-card{transition:none}}.glass-surface{justify-content:center;align-items:center;transition:opacity .26s ease-out;display:flex;position:relative;overflow:hidden}.glass-surface__filter{pointer-events:none;opacity:0;z-index:-1;width:100%;height:100%;position:absolute;inset:0}.glass-surface__content{border-radius:inherit;z-index:1;justify-content:center;align-items:center;width:100%;height:100%;padding:.5rem;display:flex;position:relative}.glass-surface--svg{background:var(--lightningcss-light,hsl(0 0% 100%/var(--glass-frost,0)))var(--lightningcss-dark,hsl(0 0% 0%/var(--glass-frost,0)));-webkit-backdrop-filter:var(--filter-id) saturate(var(--glass-saturation,1));backdrop-filter:var(--filter-id) saturate(var(--glass-saturation,1));box-shadow:inset 0 0 2px 1px var(--lightningcss-light,oklch(0% none none/.15))var(--lightningcss-dark,oklch(100% 5.96046e-8 none/.35)),inset 0 0 10px 4px var(--lightningcss-light,oklch(0% none none/.1))var(--lightningcss-dark,oklch(100% 5.96046e-8 none/.15)),0 4px 16px #11111a0d,0 8px 24px #11111a0d,0 16px 56px #11111a0d,inset 0 4px 16px #11111a0d,inset 0 8px 24px #11111a0d,inset 0 16px 56px #11111a0d}.glass-surface--fallback{-webkit-backdrop-filter:blur(12px)saturate(1.8)brightness(1.1);background:#ffffff40;border:1px solid #ffffff4d;box-shadow:0 8px 32px #1f268733,0 2px 16px #1f26871a,inset 0 1px #fff6,inset 0 -1px #fff3}@media (prefers-color-scheme:dark){.glass-surface--fallback{-webkit-backdrop-filter:blur(12px)saturate(1.8)brightness(1.2);background:#ffffff1a;border:1px solid #fff3;box-shadow:inset 0 1px #fff3,inset 0 -1px #ffffff1a}}@supports not ((-webkit-backdrop-filter:blur(10px)) or (backdrop-filter:blur(10px))){.glass-surface--fallback{background:#fff6;box-shadow:inset 0 1px #ffffff80,inset 0 -1px #ffffff4d}.glass-surface--fallback:before{content:"";border-radius:inherit;z-index:-1;background:#ffffff26;position:absolute;inset:0}}@supports not ((-webkit-backdrop-filter:blur(10px)) or (backdrop-filter:blur(10px))){@media (prefers-color-scheme:dark){.glass-surface--fallback{background:#0006}.glass-surface--fallback:before{background:#ffffff0d}}}.glass-surface:focus-visible{outline-offset:2px;outline:2px solid var(--lightningcss-light,#007aff)var(--lightningcss-dark,#0a84ff)}
