:root{--bg: #0b0e0c;--surface: #121611;--surface-2: #171c15;--border: #232b21;--border-strong: #34402f;--text: #e7ece5;--text-muted: #7d8a78;--accent: #f2b134;--accent-dim: #8a6a2a;--danger: #e2645a;--danger-dim: #6e332e;--ok: #7dbf6a;--mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--radius: 3px;--chart-1: #c08722;--chart-2: #3199b8;--grid: #1e2a1c;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);background-image:linear-gradient(var(--surface) 1px,transparent 1px),linear-gradient(90deg,var(--surface) 1px,transparent 1px);background-size:48px 48px;background-position:-1px -1px;color:var(--text);font-family:var(--mono);-webkit-font-smoothing:antialiased}a{color:inherit}button{font-family:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.glyph{color:var(--accent);font-weight:600}.muted{color:var(--text-muted)}.accent{color:var(--accent)}.page{max-width:720px;margin:0 auto;padding:56px 20px 96px;display:flex;flex-direction:column;gap:40px}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.topbar__brand{display:flex;flex-direction:column;gap:6px}.session-bar{display:flex;align-items:center;gap:6px;font-size:13px}.session-bar__who{max-width:22ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn--on{background:var(--surface-2);border-color:var(--border);color:var(--text)}.btn--admin{color:var(--accent)}.section-title{font-size:13px;font-weight:500;color:var(--text-muted);margin:0}.quota-line{font-size:12px;margin:-28px 0 0}.notice{align-items:flex-start}.wordmark{font-size:28px;font-weight:700;letter-spacing:-.02em;text-decoration:none;color:var(--text)}a.wordmark:hover{color:var(--accent)}.tagline{color:var(--text-muted);font-size:14px}.dropzone-wrap{display:flex;flex-direction:column;gap:14px}.dropzone{border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface);padding:40px 24px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;cursor:pointer;transition:border-color .12s ease,background-color .12s ease}.dropzone:hover{border-color:var(--accent-dim)}.dropzone--active{border-color:var(--accent);border-style:solid;background:var(--surface-2)}.dropzone__prompt{font-size:16px;font-weight:500}.dropzone__hint{font-size:12px;color:var(--text-muted)}.retention-picker{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:12px;color:var(--text-muted);cursor:pointer}.retention-picker__select{font-family:var(--mono);font-size:12px;background:transparent;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);padding:2px 6px;cursor:pointer;transition:border-color .12s ease,color .12s ease}.retention-picker__select:hover,.retention-picker__select:focus{border-color:var(--accent-dim);color:var(--text)}.retention-picker__select:focus{outline:none}.retention-picker__select:disabled{opacity:.5;cursor:default}.file-row__error{display:block;margin-top:4px;font-size:12px;color:var(--danger)}.upload-progress-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.upload-progress-row{display:flex;align-items:center;gap:10px;font-size:13px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px}.upload-progress-name{flex:0 0 auto;max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-progress-bar{flex:1;height:6px;background:var(--surface-2);border:1px solid var(--border);border-radius:2px;overflow:hidden}.upload-progress-bar__fill{height:100%;background:var(--accent);transition:width .12s ease}.upload-progress-pct{color:var(--text-muted);width:3.5ch;text-align:right}.upload-progress-error{color:var(--danger);font-size:12px}.file-list-section{display:flex;flex-direction:column;gap:12px}.file-list{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.file-row{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--surface);border-bottom:1px solid var(--border)}.file-row:last-child{border-bottom:none}.glyph--row{opacity:0;transition:opacity .1s ease;flex:none}.file-row:hover .glyph--row,.file-row:focus-within .glyph--row{opacity:1}.file-row__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.file-row__name{text-decoration:none;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-row__name:hover{color:var(--accent)}.file-row__meta{font-size:12px;color:var(--text-muted)}.file-row__actions{display:flex;gap:6px;flex:none}.btn{font-family:var(--mono);font-size:13px;color:var(--text);background:transparent;border:1px solid var(--border-strong);border-radius:var(--radius);padding:8px 14px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px;transition:border-color .12s ease,color .12s ease,background-color .12s ease}.btn:hover{border-color:var(--accent);color:var(--accent)}.btn--ghost{border-color:transparent;padding:6px 10px;color:var(--text-muted)}.btn--ghost:hover{background:var(--surface-2);color:var(--accent);border-color:var(--border)}.btn--danger:hover{color:var(--danger)}.btn--confirming{color:var(--danger);border-color:var(--danger-dim)}.btn--primary{background:var(--accent);border-color:var(--accent);color:#1b1404;font-weight:600}.btn--primary:hover{color:#1b1404;filter:brightness(1.08)}.share-page{max-width:560px;margin:0 auto;padding:72px 20px;display:flex;flex-direction:column;align-items:flex-start;gap:32px}.card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:28px;width:100%;display:flex;flex-direction:column;gap:12px}.share-card__eyebrow{color:var(--text-muted);font-size:13px;margin:0}.share-card__name{font-size:22px;margin:0;word-break:break-word}.share-card .btn{align-self:flex-start;margin-top:8px}.share-card__expiry{color:var(--accent);font-size:13px;margin:0}.file-row__expiry{color:var(--accent-dim)}.dropzone__hint--upsell{opacity:.75}.auth-page{max-width:460px;margin:0 auto;padding:72px 20px;display:flex;flex-direction:column;align-items:flex-start;gap:32px}.auth-card{gap:20px}.auth-tabs,.admin-tabs,.scope-tabs{display:flex;gap:4px}.auth-tab,.admin-tab{font-family:var(--mono);font-size:13px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-muted);padding:6px 10px;cursor:pointer}.auth-tab--on,.admin-tab--on{color:var(--text);border-bottom-color:var(--accent)}.auth-form{display:flex;flex-direction:column;gap:16px}.field{display:flex;flex-direction:column;gap:6px}.field--inline{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.field__label,.field__hint{font-size:12px;color:var(--text-muted)}.field__hint--bad{color:var(--danger)}.field input{font-family:var(--mono);font-size:14px;background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text);padding:9px 11px}.field--inline input{width:12ch;text-align:right}.field input:focus{border-color:var(--accent);outline:none}.numfield{position:relative;display:inline-flex;font-size:14px}.field .numfield input[type=number]{width:100%}.numfield input[type=number]{width:100%;-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield;padding-right:28px}.numfield input[type=number]::-webkit-outer-spin-button,.numfield input[type=number]::-webkit-inner-spin-button{-moz-appearance:none;appearance:none;-webkit-appearance:none;margin:0}.numfield__steps{position:absolute;top:1px;right:1px;bottom:1px;width:20px;display:flex;flex-direction:column;border-left:1px solid var(--border);border-radius:0 var(--radius) var(--radius) 0;overflow:hidden}.numfield__step{flex:1;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:11px;line-height:1;padding:0;background:var(--surface-2);border:none;color:var(--text-muted);cursor:pointer;transition:color .12s ease,background-color .12s ease}.numfield__step+.numfield__step{border-top:1px solid var(--border)}.numfield__step:hover{background:var(--border);color:var(--accent)}.numfield__step:disabled{opacity:.35;cursor:not-allowed}.numfield__step:disabled:hover{background:var(--surface-2);color:var(--text-muted)}.field--inline .numfield{width:12ch}.limit-editor .field--inline .numfield{width:14ch}.check{display:flex;align-items:center;gap:10px;font-size:13px;cursor:pointer}.check input{accent-color:var(--accent);width:15px;height:15px}.form-error{color:var(--danger);font-size:13px;margin:0}.form-ok{color:var(--accent);font-size:13px;margin:0}.field__label--row{display:flex;align-items:center;gap:8px}.pw-help{position:relative;display:inline-flex}.pw-help__btn{font-family:var(--mono);font-size:11px;line-height:1;width:16px;height:16px;padding:0;background:transparent;color:var(--text-muted);border:1px solid var(--border-strong);border-radius:50%;cursor:pointer}.pw-help__btn:hover,.pw-help__btn[aria-expanded=true]{color:var(--accent);border-color:var(--accent-dim)}.pw-help__popover{position:absolute;z-index:5;top:calc(100% + 6px);left:0;width:max-content;max-width:260px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius);padding:10px 12px;box-shadow:0 6px 18px #00000073}.pw-help__title{font-size:12px;color:var(--text-muted);margin:0 0 6px}.pw-help__list,.pw-check__list{font-size:12px;margin:0;padding-left:16px;display:flex;flex-direction:column;gap:3px}.pw-check{display:flex;flex-direction:column;gap:3px;margin-top:2px}.pw-check__caption,.pw-check__list{color:var(--danger)}.pw-check__caption{font-size:12px;margin:0}.pw-check__ok{font-size:12px;margin:0;color:var(--ok)}.auth-foot{font-size:12px;margin:0;border-top:1px solid var(--border);padding-top:16px}.account-page{max-width:560px;margin:0 auto;padding:48px 20px 96px;display:flex;flex-direction:column;gap:28px}.account-current{font-size:14px;margin:0;word-break:break-all}.account-note{display:flex;flex-direction:column;align-items:flex-start;gap:10px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;font-size:13px}.account-note p{margin:0}.panel--danger{border-color:var(--danger-dim)}.panel--danger .panel__title{color:var(--danger)}.admin-page{max-width:980px;margin:0 auto;padding:48px 20px 96px;display:flex;flex-direction:column;gap:28px}.admin-stack{display:flex;flex-direction:column;gap:20px}.admin-actions{display:flex;align-items:center;gap:12px}.panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:20px;display:flex;flex-direction:column;gap:14px}.panel--note{background:transparent;border-style:dashed}.panel__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.panel__title{font-size:13px;font-weight:500;margin:0}.panel__head .muted{font-size:12px}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.tile{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:16px;display:flex;flex-direction:column;gap:4px}.tile__label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.tile__value{font-size:26px;font-weight:600;letter-spacing:-.02em}.tile__note{font-size:12px;color:var(--text-muted)}.tile--warn .tile__value{color:var(--accent)}.split{display:flex;flex-direction:column;gap:12px}.split__track{display:flex;height:14px;gap:2px;border-radius:2px;overflow:hidden;background:var(--surface-2)}.split__seg--anon{background:var(--chart-1)}.split__seg--owned{background:var(--chart-2)}.split__legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 20px;font-size:12px;color:var(--text-muted)}.split__legend li{display:flex;align-items:center;gap:8px}.swatch{width:10px;height:10px;border-radius:2px;flex:none}.swatch--anon{background:var(--chart-1)}.swatch--owned{background:var(--chart-2)}.hist{display:flex;flex-direction:column;gap:10px}.hist__plot{display:flex;align-items:stretch;gap:2px;height:180px}.hist__slot{flex:1;display:flex;flex-direction:column;cursor:default;min-width:0}.hist__half{height:50%;display:flex}.hist__half--up{align-items:flex-end;border-bottom:1px solid var(--grid)}.hist__half--down{align-items:flex-start}.hist__bar{width:100%;transition:background-color .12s ease}.hist__bar--in{background:var(--chart-1);border-radius:4px 4px 0 0}.hist__bar--out{background:var(--chart-2);border-radius:0 0 4px 4px}.hist__slot:hover .hist__bar,.hist__slot--on .hist__bar,.hist__slot:focus-visible .hist__bar{background:var(--accent)}.hist__axis,.hist__readout{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:var(--text-muted)}.hist__readout{justify-content:flex-start;border-top:1px solid var(--border);padding-top:10px;font-size:12px;min-height:32px}.chart__legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 20px;font-size:12px;color:var(--text-muted)}.chart__legend li{display:flex;align-items:center;gap:8px}.swatch--in{background:var(--chart-1)}.swatch--out{background:var(--chart-2)}.chart__controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.seg{display:flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.seg__btn{font:inherit;font-size:11px;background:transparent;color:var(--text-muted);border:none;padding:5px 10px;cursor:pointer}.seg__btn+.seg__btn{border-left:1px solid var(--border)}.seg__btn:hover{color:var(--text)}.seg__btn--on{background:var(--surface-2);color:var(--accent)}.panel__head--wrap{align-items:center}.panel__subtitle{font-size:12px;font-weight:500;color:var(--text-muted);margin:4px 0 0}.hero{display:flex;flex-direction:column;gap:14px}.hero__figure{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.hero__value{font-size:40px;font-weight:600;letter-spacing:-.03em}.hero__of{font-size:13px;color:var(--text-muted)}.meter{display:flex;flex-direction:column;gap:6px}.meter__head{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:var(--text-muted)}.meter__value{font-variant-numeric:tabular-nums;color:var(--text)}.meter__track{height:10px;border-radius:2px;background:var(--surface-2);overflow:hidden}.meter__fill{height:100%;background:var(--chart-1);border-radius:2px;transition:width .2s ease}.meter__fill--warn{background:var(--accent)}.tile--ok .tile__value{color:var(--ok)}.panel .tile{background:var(--surface-2)}.tiles--stack{grid-template-columns:1fr}.admin-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;align-items:start}.abuse{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}.abuse__breakdown{display:flex;flex-direction:column;gap:12px}.abuse__total{display:flex;flex-direction:column;gap:4px}.abuse__anon{display:flex;flex-direction:column;gap:12px}.cell__note{display:block;font-size:11px;color:var(--text-muted)}.cell--meter{min-width:110px}.row--quiet td{color:var(--text-muted)}.data-table{width:100%;border-collapse:collapse;font-size:12px}.data-table th{text-align:left;font-weight:500;color:var(--text-muted);border-bottom:1px solid var(--border);padding:0 10px 8px 0}.data-table td{padding:8px 10px 8px 0;border-bottom:1px solid var(--border)}.data-table tr:last-child td{border-bottom:none}.data-table .num{text-align:right;font-variant-numeric:tabular-nums}.data-table--files{display:block;overflow-x:auto}.cell-name a{text-decoration:none}.cell-name a:hover{color:var(--accent)}.pager{display:flex;align-items:center;gap:12px;font-size:12px}.user-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.user-row{border-bottom:1px solid var(--border);padding:14px 0;display:flex;flex-direction:column;gap:12px}.user-row:last-child{border-bottom:none}.user-row--suspended{opacity:.6}.user-row__head{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap}.user-row__id{display:flex;flex-direction:column;gap:3px;min-width:0}.user-row__email{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px}.user-row__meta{font-size:12px}.user-row__actions{display:flex;gap:4px;align-items:flex-start;flex-wrap:wrap}.badge{font-size:10px;text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--border-strong);border-radius:2px;padding:1px 5px;color:var(--text-muted)}.badge--admin{color:var(--accent);border-color:var(--accent-dim)}.badge--suspended{color:var(--danger);border-color:var(--danger-dim)}.btn--on{color:var(--accent);border-color:var(--border);background:var(--surface-2)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn:disabled:hover{border-color:var(--border-strong);color:var(--text);background:transparent}.limit-editor{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.limit-editor .field--inline{flex-direction:column;align-items:flex-start;gap:5px}.limit-editor .field--inline input{text-align:left;width:14ch}@media (prefers-reduced-motion: reduce){*{transition:none!important}}@media (max-width: 560px){.topbar{flex-direction:column}.quota-line{margin-top:-24px}.user-row__actions{width:100%}.field--inline{flex-direction:column;align-items:flex-start}.field--inline input{width:100%;text-align:left}.field--inline .numfield,.limit-editor .field--inline .numfield{width:100%}.file-row{flex-wrap:wrap}.file-row__actions{width:100%;justify-content:flex-end}.glyph--row{opacity:1}}
