@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/fonts/ibm-plex-sans-latin-wght-normal.woff2) format("woff2-variations"),url(/fonts/ibm-plex-sans-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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(/fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--paper: #f4f4f2;--sheet: #fdfdfc;--raised: #ffffff;--well: #f7f7f5;--hover: rgba(24, 26, 31, .045);--press: rgba(24, 26, 31, .08);--selected: rgba(38, 72, 168, .075);--ink: #181a1f;--ink-2: #474c56;--ink-3: #6b707a;--ink-4: #a0a4ab;--rule: rgba(24, 26, 31, .09);--rule-2: rgba(24, 26, 31, .15);--rule-3: rgba(24, 26, 31, .28);--accent: #2648a8;--accent-hover: #1f3d91;--accent-ink: #fbfbfd;--accent-text: #2648a8;--accent-soft: rgba(38, 72, 168, .08);--focus: rgba(38, 72, 168, .55);--brand: #1c61b3;--ok: #1d6f3b;--ok-soft: rgba(29, 111, 59, .09);--look: #8f5300;--look-mark: #d98c1a;--look-soft: rgba(217, 140, 26, .12);--bad: #b3261e;--bad-soft: rgba(179, 38, 30, .08);--info: #2648a8;--info-soft: rgba(38, 72, 168, .07);--sh-overlay: 0 0 0 1px rgba(24, 26, 31, .08), 0 4px 8px -2px rgba(24, 26, 31, .08), 0 16px 32px -8px rgba(24, 26, 31, .14);--sh-raise: 0 0 0 1px rgba(24, 26, 31, .07), 0 1px 2px rgba(24, 26, 31, .05);--scrim: rgba(18, 20, 24, .32);--font-sans: "IBM Plex Sans Variable", "IBM Plex Sans", "Segoe UI", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--ease-out: cubic-bezier(.23, 1, .32, 1);--r-xs: 3px;--r-sm: 4px;--r-md: 6px;--r-lg: 10px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--paper: #111214;--sheet: #17181b;--raised: #1e2024;--well: #0e0f11;--hover: rgba(255, 255, 255, .045);--press: rgba(255, 255, 255, .08);--selected: rgba(125, 155, 240, .12);--ink: #ecedef;--ink-2: #b6bac1;--ink-3: #8a8f98;--ink-4: #5c616a;--rule: rgba(255, 255, 255, .075);--rule-2: rgba(255, 255, 255, .13);--rule-3: rgba(255, 255, 255, .24);--accent: #3d62cc;--accent-hover: #4a6fd8;--accent-ink: #ffffff;--accent-text: #8fa9f2;--accent-soft: rgba(125, 155, 240, .12);--focus: rgba(143, 169, 242, .65);--brand: #6fa3e6;--ok: #5cc285;--ok-soft: rgba(92, 194, 133, .12);--look: #e9a94a;--look-mark: #e09a33;--look-soft: rgba(233, 169, 74, .13);--bad: #f07a6e;--bad-soft: rgba(240, 122, 110, .12);--info: #8fa9f2;--info-soft: rgba(143, 169, 242, .12);--sh-overlay: 0 0 0 1px rgba(255, 255, 255, .09), 0 16px 40px -8px rgba(0, 0, 0, .6);--sh-raise: 0 0 0 1px rgba(255, 255, 255, .07);--scrim: rgba(0, 0, 0, .55)}}:root[data-theme=dark]{color-scheme:dark;--paper: #111214;--sheet: #17181b;--raised: #1e2024;--well: #0e0f11;--hover: rgba(255, 255, 255, .045);--press: rgba(255, 255, 255, .08);--selected: rgba(125, 155, 240, .12);--ink: #ecedef;--ink-2: #b6bac1;--ink-3: #8a8f98;--ink-4: #5c616a;--rule: rgba(255, 255, 255, .075);--rule-2: rgba(255, 255, 255, .13);--rule-3: rgba(255, 255, 255, .24);--accent: #3d62cc;--accent-hover: #4a6fd8;--accent-ink: #ffffff;--accent-text: #8fa9f2;--accent-soft: rgba(125, 155, 240, .12);--focus: rgba(143, 169, 242, .65);--brand: #6fa3e6;--ok: #5cc285;--ok-soft: rgba(92, 194, 133, .12);--look: #e9a94a;--look-mark: #e09a33;--look-soft: rgba(233, 169, 74, .13);--bad: #f07a6e;--bad-soft: rgba(240, 122, 110, .12);--info: #8fa9f2;--info-soft: rgba(143, 169, 242, .12);--sh-overlay: 0 0 0 1px rgba(255, 255, 255, .09), 0 16px 40px -8px rgba(0, 0, 0, .6);--sh-raise: 0 0 0 1px rgba(255, 255, 255, .07);--scrim: rgba(0, 0, 0, .55)}*,*:before,*:after{box-sizing:border-box}html{font-family:var(--font-sans);font-size:13px;line-height:20px;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"kern";-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background:var(--paper);min-height:100vh;min-height:100dvh}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}button,input{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}::selection{background:var(--accent-soft)}*{scrollbar-width:thin;scrollbar-color:var(--rule-2) transparent}[hidden]{display:none!important}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.mono{font-family:var(--font-mono)}.num{font-variant-numeric:tabular-nums lining-nums}.icon{width:16px;height:16px;flex-shrink:0;display:block}.page{min-height:100vh;min-height:100dvh;display:flex;justify-content:center;padding:48px 24px}.page--upload,.is-decrypt[data-view=signin] .page,.is-decrypt[data-view=loading] .page{align-items:center}.column{width:100%;max-width:480px}.column--wide{max-width:760px}.is-decrypt[data-view=signin] .column,.is-decrypt[data-view=loading] .column,.is-decrypt[data-view=problem] .column{max-width:400px}.page__brand{margin-bottom:24px;padding:0 4px}.brand{display:flex;align-items:center;gap:12px;min-width:0;user-select:none;-webkit-user-select:none}.brand__mark{height:28px;width:auto;color:var(--brand);flex-shrink:0}.brand__text{min-width:0}.brand__name{font-size:14px;line-height:20px;font-weight:600;color:var(--ink);letter-spacing:-.005em}.brand__org{font-size:12px;line-height:16px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card{background:var(--sheet);border-radius:var(--r-md);box-shadow:var(--sh-raise);padding:24px;animation:vsf-rise .22s var(--ease-out) both}.card__title{font-size:22px;line-height:28px;font-weight:600;letter-spacing:-.014em;color:var(--ink)}.card__hint{margin-top:6px;color:var(--ink-3)}.env-problem{font-size:14px;line-height:20px;color:var(--ink)}.stack{display:flex;flex-direction:column;gap:20px}.fields{display:flex;flex-direction:column;gap:16px}.actions{display:flex;flex-direction:column;gap:12px}.error-slot:empty{display:none}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;gap:6px;border:0;border-radius:var(--r-sm);font-weight:500;white-space:nowrap;cursor:pointer;background:transparent;user-select:none;-webkit-user-select:none;transition:transform .12s var(--ease-out);-webkit-tap-highlight-color:transparent}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{cursor:default;opacity:.45}.btn[aria-busy=true]{opacity:1}.btn[aria-busy=true]>svg:not(.icon--spin){display:none}.btn--sm{height:28px;padding:0 10px;font-size:12px;line-height:16px}.btn--sm .icon{width:14px;height:14px}.btn--md{height:32px;padding:0 12px;font-size:13px}.btn--lg{height:40px;padding:0 16px;font-size:14px;gap:8px}.btn--lg .icon{width:18px;height:18px}.btn--icon{padding:0}.btn--icon.btn--sm{width:28px}.btn--icon.btn--md{width:32px}.btn--icon.btn--lg{width:40px}.btn--block{width:100%}.btn--primary{background:var(--accent);color:var(--accent-ink);box-shadow:inset 0 1px #ffffff24,0 1px 1px #00000014}.btn--primary:hover:not(:disabled){background:var(--accent-hover)}.btn--secondary{background:var(--raised);color:var(--ink);box-shadow:var(--sh-raise)}.btn--secondary:hover:not(:disabled){background:var(--well)}.btn--ghost{color:var(--ink-2)}.btn--ghost:hover:not(:disabled){background:var(--hover);color:var(--ink)}.btn--ghost:active:not(:disabled){background:var(--press)}.btn--ghost[aria-pressed=true]{color:var(--accent-text)}.btn--danger{background:var(--raised);color:var(--bad);box-shadow:var(--sh-raise)}.btn--danger:hover:not(:disabled){background:var(--bad-soft)}a.btn{text-decoration:none}.icon--spin{animation:vsf-spin .9s linear infinite}.field{display:flex;flex-direction:column;min-width:0}.field__head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;min-height:16px;margin-bottom:6px}.field__head .btn--sm{margin:-6px -6px -4px 0;height:26px}.field__label{font-size:12px;line-height:16px;font-weight:500;color:var(--ink-2);user-select:none;-webkit-user-select:none}.field__error{margin-top:6px;font-size:12px;line-height:16px;color:var(--bad)}.control{display:flex;align-items:center;min-width:0;border-radius:var(--r-sm);background:var(--well);color:var(--ink);box-shadow:inset 0 0 0 1px var(--rule-2)}.control:hover{box-shadow:inset 0 0 0 1px var(--rule-3)}.control:focus-within,.control:focus-within:hover{box-shadow:inset 0 0 0 1px var(--accent),0 0 0 3px var(--accent-soft)}.control.is-invalid,.control.is-invalid:hover{box-shadow:inset 0 0 0 1px var(--bad)}.control.is-invalid:focus-within{box-shadow:inset 0 0 0 1px var(--bad),0 0 0 3px var(--bad-soft)}.control--lg{height:40px;font-size:14px}.control--md{height:32px;font-size:13px}.control__prefix{display:flex;align-items:center;padding-left:10px;color:var(--ink-3)}.control__input{flex:1;min-width:0;height:100%;border:0;margin:0;padding:0 12px;background:transparent;color:var(--ink);outline:none;border-radius:var(--r-sm)}.control__prefix+.control__input{padding-left:8px}.control__input:focus-visible{outline:none}.control__input::placeholder{color:var(--ink-4)}.control__input.mono::placeholder{font-family:var(--font-sans);letter-spacing:0}.control__input--mono{font-family:var(--font-mono);letter-spacing:.02em}.control__input:disabled{color:var(--ink-2);-webkit-text-fill-color:var(--ink-2)}.control:has(.control__input:disabled){background:var(--paper)}.control__input[readonly]{cursor:text}.control__suffix{display:flex;align-items:center;gap:2px;padding-right:6px}.control__suffix .btn--icon{color:var(--ink-3)}.control__suffix .btn--icon:hover:not(:disabled){color:var(--ink)}.callout{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:var(--r-sm);font-size:13px;line-height:20px;animation:vsf-rise .18s var(--ease-out) both}.callout>.icon{margin-top:2px}.callout:focus{outline:none}.callout:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.callout--bad{background:var(--bad-soft)}.callout--bad>.icon{color:var(--bad)}.callout--look{background:var(--look-soft)}.callout--look>.icon{color:var(--look)}.callout__text{flex:1;min-width:0;color:var(--ink)}.callout__action{flex-shrink:0;align-self:center;margin:-4px -4px -4px 0}.pill{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 7px 0 6px;border-radius:var(--r-xs);font-size:12px;line-height:16px;font-weight:500;white-space:nowrap}.pill .icon{width:12px;height:12px}.pill--look{background:var(--look-soft);color:var(--look)}.pill--bad{background:var(--bad-soft);color:var(--bad)}.pill--ok{background:var(--ok-soft);color:var(--ok)}.status{margin-top:12px;font-size:12px;line-height:16px;color:var(--ink-2);text-align:center}.status:empty{margin-top:0}.progress{display:block;height:4px;border-radius:2px;background:var(--rule);overflow:hidden}.progress__bar{display:block;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left center;transition:transform .2s var(--ease-out)}.dropzone{position:relative;border-radius:var(--r-md)}.dropzone:focus-within{outline:2px solid var(--focus);outline-offset:2px}.dropzone__label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:148px;padding:24px 16px;border:1px dashed var(--rule-3);border-radius:var(--r-md);background:var(--well);color:var(--ink-2);cursor:pointer;text-align:center;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.dropzone__label:hover,.dropzone.is-dragging .dropzone__label{border-color:var(--accent);background:var(--accent-soft)}.dropzone.is-dragging .dropzone__label{border-style:solid}.dropzone__icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--raised);box-shadow:var(--sh-raise);color:var(--accent-text);transition:transform .16s var(--ease-out)}.dropzone__icon .icon{width:22px;height:22px}.dropzone.is-dragging .dropzone__icon{transform:translateY(-2px) scale(1.04)}.dropzone__text{font-size:14px;line-height:20px;font-weight:500;color:var(--ink)}.dropzone.is-disabled{pointer-events:none}.dropzone.is-disabled .dropzone__label{opacity:.55;cursor:default}.file-list:not([hidden])+.fields{margin-top:-4px}.file-list{list-style:none;margin:0;padding:0;border-radius:var(--r-sm);box-shadow:inset 0 0 0 1px var(--rule);max-height:296px;overflow-y:auto;overscroll-behavior:contain}.file-row{display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;column-gap:10px;min-height:44px;padding:6px 6px 6px 12px;animation:vsf-fade .16s var(--ease-out) both}.file-row+.file-row{border-top:1px solid var(--rule)}.file-row__icon{color:var(--ink-3)}.file-row__main{display:flex;flex-direction:column;gap:6px;min-width:0}.file-row__line{display:flex;align-items:baseline;justify-content:space-between;gap:12px;min-width:0}.file-row__name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--ink)}.file-row__size{font-size:12px;line-height:16px;color:var(--ink-3);white-space:nowrap}.is-upload .card[data-phase=working] .file-row,.is-upload .card[data-phase=failed] .file-row{padding-right:12px}.notice{display:flex;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--rule)}.notice__icon{color:var(--ok);padding-top:2px}.notice__icon .icon{width:18px;height:18px}.notice__lead{font-size:13px;line-height:20px;font-weight:500;color:var(--ink)}.notice__sub{margin-top:4px;font-size:12px;line-height:18px;color:var(--ink-3)}.done{display:flex;flex-direction:column;gap:20px}.done__head{display:flex;flex-direction:column;align-items:center;gap:10px;padding:8px 0 4px;text-align:center}.done__icon{color:var(--ok);animation:vsf-pop .22s var(--ease-out) both}.done__icon .icon{width:44px;height:44px}.done__title{font-size:22px;line-height:28px;font-weight:600;letter-spacing:-.014em}.done__title:focus{outline:none}.done__title:focus-visible{outline:2px solid var(--focus);outline-offset:4px;border-radius:var(--r-xs)}.done__field .field__label{display:block;margin-bottom:6px}.ref-box{display:flex;align-items:center;justify-content:space-between;gap:8px;height:48px;padding:0 6px 0 14px;border-radius:var(--r-sm);background:var(--well);box-shadow:inset 0 0 0 1px var(--rule-2)}.done__ref{font-size:18px;line-height:24px;letter-spacing:.08em;color:var(--ink);user-select:all;-webkit-user-select:all}.ref-box .btn--icon{color:var(--ink-3)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px;padding:0 4px}.topbar__user{display:flex;align-items:center;gap:8px;min-width:0}.topbar__name{color:var(--ink-2);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:200px}.signin .field{margin-top:24px}.signin .btn{margin-top:16px}.code-input{font-family:var(--font-mono);font-size:18px;letter-spacing:.24em}.list-head{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:16px}.list-head__title{display:flex;align-items:baseline;gap:8px;margin-right:auto}.list-head__title h2{font-size:22px;line-height:28px;font-weight:600;letter-spacing:-.014em}.list-head__count{color:var(--ink-3);font-size:13px}.list-head__tools{display:flex;align-items:center;gap:8px}.list-head .field{width:240px}.drops{display:flex;flex-direction:column;gap:12px}.drops__empty{padding:40px 16px;text-align:center;color:var(--ink-3);background:var(--sheet);border-radius:var(--r-md);box-shadow:var(--sh-raise)}.drops__more{display:flex;justify-content:center;margin-top:16px}.drop{background:var(--sheet);border-radius:var(--r-md);box-shadow:var(--sh-raise);padding:16px 20px;animation:vsf-fade .16s var(--ease-out) both}.drop__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.drop__id{min-width:0}.drop__title{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.drop__ref{font-family:var(--font-mono);font-size:15px;line-height:24px;letter-spacing:.04em;color:var(--ink)}.drop__meta{display:flex;flex-wrap:wrap;column-gap:6px;margin-top:2px;font-size:12px;line-height:16px;color:var(--ink-3)}.drop__meta>span+span:before{content:"\b7";margin-right:6px}.drop__actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.drop__unlock{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:8px;margin-top:14px}.drop__unlock>.btn{align-self:start;margin-top:22px}.drop__files{list-style:none;margin:14px 0 0;padding:0;border-top:1px solid var(--rule)}.drop-file{display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;column-gap:12px;padding:10px 0;animation:vsf-fade .16s var(--ease-out) both}.drop-file+.drop-file{border-top:1px solid var(--rule)}.drop-file__icon{color:var(--ink-3)}.drop-file__main{display:flex;flex-direction:column;gap:4px;min-width:0}.drop-file__line{display:flex;align-items:baseline;gap:8px;min-width:0}.drop-file__name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--ink);font-weight:500}.drop-file__name--locked{color:var(--ink-3);font-weight:400;font-family:var(--font-mono);font-size:12px}.drop-file__size{font-size:12px;line-height:16px;color:var(--ink-3);white-space:nowrap}.drop-file__status{font-size:12px;line-height:16px;color:var(--ink-3)}.drop-file__status:empty{display:none}.drop-file__status.is-ok{color:var(--ok)}.drop-file__status.is-bad{color:var(--bad)}.drop-file__flags{display:flex;flex-wrap:wrap;gap:6px}.drop-file__flags:empty{display:none}.drop-file__actions{display:flex;align-items:center;gap:4px}.drop-file .progress{max-width:320px}dialog.dialog{width:min(420px,calc(100vw - 32px));padding:0;border:0;border-radius:var(--r-lg);background:var(--raised);color:var(--ink);box-shadow:var(--sh-overlay)}dialog.dialog[open]{animation:vsf-dialog .2s var(--ease-out) both}dialog.dialog::backdrop{background:var(--scrim);animation:vsf-fade .16s var(--ease-out) both}.dialog__body{padding:20px 20px 16px}.dialog__title{font-size:16px;line-height:24px;font-weight:600}.dialog__text{margin-top:4px;color:var(--ink-3)}.dialog__body .field{margin-top:16px}.dialog__foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--rule);background:var(--sheet);border-radius:0 0 var(--r-lg) var(--r-lg)}.page-error{margin-bottom:16px}@media(max-width:560px){.page{padding:24px 16px 32px}.page--upload{align-items:flex-start}.card{padding:20px 16px}.dropzone__label{min-height:128px}.topbar__name{display:none}.list-head .field,.list-head__tools{width:100%}.list-head__tools .field{flex:1}.drop{padding:14px 16px}.drop__head{flex-direction:column;align-items:stretch}.drop__actions{flex-wrap:wrap}}@media(pointer:coarse){.control__input{font-size:16px}.code-input{font-size:18px}}@keyframes vsf-fade{0%{opacity:0}to{opacity:1}}@keyframes vsf-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes vsf-pop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}@keyframes vsf-dialog{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@keyframes vsf-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.card,.callout,.done__icon,dialog.dialog[open]{animation-name:vsf-fade}.btn:active:not(:disabled){transform:none}.progress__bar,.dropzone__icon{transition:none}.dropzone.is-dragging .dropzone__icon{transform:none}}
