:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--brand-400:#8b7bff;--brand-500:#6d5efc;--brand-600:#5546e0;--page:#f5f5f7;--page-accent:#eceafd;--surface:#fff;--surface-muted:#f3f3f7;--border:#e2e1ea;--text:#16151d;--text-muted:#5c5a68;--shadow:0 1px 2px #1412280f, 0 18px 40px -24px #14122838;--radius-lg:18px;--radius-md:12px;--radius-sm:8px;--focus:var(--brand-600);--ok:#12715a;--ok-soft:#dff5ec;--warn:#8a5300;--warn-soft:#fdf0d8;--danger:#b02a3c;--danger-soft:#fce4e7;--info:var(--brand-600);--info-soft:#e9e6fe;--neutral:#5c5a68;--neutral-soft:#ecebf1}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--page:#0c0b12;--page-accent:#14122a;--surface:#16151f;--surface-muted:#1e1d29;--border:#2b2937;--text:#f3f2f8;--text-muted:#a3a0b4;--shadow:0 1px 2px #0006, 0 24px 48px -28px #000000b3;--focus:var(--brand-400);--ok:#6ee0b8;--ok-soft:#1ec79424;--warn:#f0c26b;--warn-soft:#f0c26b24;--danger:#ff9ba8;--danger-soft:#ff788929;--info:var(--brand-400);--info-soft:#8b7bff29;--neutral:#a3a0b4;--neutral-soft:#a3a0b424}}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%}body.app-body{background:radial-gradient(1100px 520px at 50% -12%, var(--page-accent), transparent 70%), var(--page);min-height:100vh;color:var(--text);flex-direction:column;margin:0;padding:0;font-family:Instrument Sans,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.55;display:flex;overflow-x:hidden}:where(a){color:inherit;-webkit-text-decoration-color:color-mix(in srgb, currentcolor 40%, transparent);text-decoration-color:color-mix(in srgb, currentcolor 40%, transparent);text-underline-offset:2px}:where(a):hover{text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:4px}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:20;border-radius:var(--radius-sm);background:var(--surface);color:var(--text);box-shadow:var(--shadow);padding:10px 16px;font-weight:600;text-decoration:none;transition:top .12s;position:absolute;top:-60px;left:12px}.skip-link:focus-visible{top:12px}.app-header{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--surface) 72%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app-header__inner{flex-wrap:wrap;align-items:center;gap:10px 20px;max-width:1080px;margin:0 auto;padding:14px 20px;display:flex}.brand{letter-spacing:-.01em;align-items:center;gap:10px;font-weight:600;text-decoration:none;display:inline-flex}.brand__mark{background:linear-gradient(140deg, var(--brand-400), var(--brand-600));color:#fff;border-radius:10px;place-items:center;width:32px;height:32px;display:grid}.brand__mark svg{fill:currentColor;width:20px;height:20px}.brand__name{font-size:1.0625rem}.app-nav{flex-wrap:wrap;gap:4px;margin-inline-start:auto;display:flex}.app-nav__link{color:var(--text-muted);border-radius:999px;padding:7px 14px;font-size:.9375rem;font-weight:500;text-decoration:none;transition:background-color .14s,color .14s}.app-nav__link:hover{background:var(--surface-muted);color:var(--text)}.app-nav__link[aria-current=page]{background:var(--info-soft);color:var(--info)}.user-menu{position:relative}.user-menu__trigger{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:999px;align-items:center;gap:9px;padding:5px 12px 5px 5px;font-size:.9375rem;font-weight:500;list-style:none;display:inline-flex}.user-menu__trigger::-webkit-details-marker{display:none}.user-menu__avatar{background:linear-gradient(140deg, var(--brand-400), var(--brand-600));color:#fff;border-radius:50%;place-items:center;width:26px;height:26px;font-size:.75rem;font-weight:600;display:grid}.user-menu__name{text-overflow:ellipsis;white-space:nowrap;max-width:16ch;overflow:hidden}.user-menu__panel{z-index:15;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-width:220px;box-shadow:var(--shadow);gap:10px;padding:14px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.user-menu__email{color:var(--text-muted);overflow-wrap:anywhere;margin:0;font-size:.8125rem}.app-main{flex:1 0 auto;width:100%;max-width:1080px;margin:0 auto;padding:28px 20px 56px}.app-footer{border-top:1px solid var(--border)}.app-footer p{max-width:1080px;color:var(--text-muted);margin:0 auto;padding:18px 20px 26px;font-size:.8125rem}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 24px;margin-bottom:22px;display:flex}.app-main h1{letter-spacing:-.02em;overflow-wrap:anywhere;margin:0;font-size:clamp(1.375rem,1.15rem + 1vw,1.875rem);font-weight:600;line-height:1.2}.page-lead,.section-lead{max-width:62ch;color:var(--text-muted);margin:6px 0 0;font-size:.9375rem}.muted{color:var(--text-muted)}.nums{font-variant-numeric:tabular-nums}.stack{gap:20px;display:grid}.back-link{color:var(--text-muted);margin-bottom:14px;font-size:.875rem;display:inline-block}.flash-region{gap:10px;margin-bottom:20px;display:grid}.flash{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);margin:0;padding:12px 16px;font-size:.9375rem}.flash--status{border-color:color-mix(in srgb, var(--ok) 32%, var(--border));background:var(--ok-soft);color:var(--ok)}.flash--error{border-color:color-mix(in srgb, var(--danger) 32%, var(--border));background:var(--danger-soft);color:var(--danger)}.card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.card+.card{margin-top:20px}.card__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px 20px;padding:18px 22px 0;display:flex}.card__title{letter-spacing:-.01em;margin:0;font-size:1.0625rem;font-weight:600}.card__subtitle{max-width:60ch;color:var(--text-muted);margin:4px 0 0;font-size:.875rem}.card__actions{flex-wrap:wrap;gap:8px;display:flex}.card__body{padding:18px 22px 22px}.card__body--flush{padding:0}.card__foot{border-top:1px solid var(--border);background:var(--surface-muted);color:var(--text-muted);padding:14px 22px;font-size:.875rem}.card-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;display:grid}.tiles{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:0;display:grid}.tile{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted);padding:14px 16px}.tile__label,.tiles dt{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.6875rem;font-weight:500}.tile__value,.tiles dd{font-variant-numeric:tabular-nums;letter-spacing:-.01em;margin:4px 0 0;font-size:1.375rem;font-weight:600;line-height:1.2}.tile__note{color:var(--text-muted);margin:2px 0 0;font-size:.8125rem}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.table{border-collapse:collapse;width:100%;min-width:620px;font-size:.9375rem}.table caption{color:var(--text-muted);text-align:left;padding:0 22px 12px;font-size:.875rem}.table th,.table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:12px 16px}.table thead th{background:var(--surface-muted);color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;font-size:.6875rem;font-weight:600}.table tbody tr:last-child th,.table tbody tr:last-child td{border-bottom:0}.table tbody tr:hover td{background:color-mix(in srgb, var(--surface-muted) 60%, transparent)}.table td.is-numeric,.table th.is-numeric{font-variant-numeric:tabular-nums;text-align:right}.table__title{overflow-wrap:anywhere;font-weight:600;display:block}.table__meta{color:var(--text-muted);font-size:.8125rem;display:block}.table__actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.pagination-wrap{padding:14px 22px 4px;font-size:.875rem}.pagination-wrap nav>div:first-child{color:var(--text-muted)}.pagination-wrap svg{width:18px;height:18px}.badge{background:var(--neutral-soft);color:var(--neutral);letter-spacing:.01em;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:.75rem;font-weight:600;line-height:1.5;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.badge--pending_upload,.badge[data-status=pending_upload]{background:var(--neutral-soft);color:var(--neutral)}.badge--uploading,.badge[data-status=uploading]{background:var(--info-soft);color:var(--info)}.badge--processing,.badge[data-status=processing]{background:var(--warn-soft);color:var(--warn)}.badge--ready,.badge[data-status=ready]{background:var(--ok-soft);color:var(--ok)}.badge--failed,.badge[data-status=failed]{background:var(--danger-soft);color:var(--danger)}.badge--processing:before,.badge[data-status=processing]:before,.badge--uploading:before,.badge[data-status=uploading]:before{animation:1.6s ease-in-out infinite badge-pulse}@keyframes badge-pulse{50%{opacity:.25}}.button{appearance:none;background:var(--brand-500);color:#fff;font:inherit;text-align:center;cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:9px 18px;font-size:.9375rem;font-weight:600;text-decoration:none;transition:background-color .14s,border-color .14s,transform .14s;display:inline-flex}.button:hover{background:var(--brand-600)}.button:active{transform:translateY(1px)}.button[disabled],.button[aria-disabled=true]{opacity:.55;cursor:not-allowed;transform:none}.button--ghost{border-color:var(--border);background:var(--surface);color:var(--text)}.button--ghost:hover{border-color:color-mix(in srgb, var(--text-muted) 45%, var(--border));background:var(--surface-muted)}.button--danger{border-color:color-mix(in srgb, var(--danger) 30%, var(--border));background:var(--danger-soft);color:var(--danger)}.button--danger:hover{background:color-mix(in srgb, var(--danger) 18%, var(--danger-soft))}.button--quiet{color:var(--text-muted);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, currentcolor 40%, transparent);text-decoration-color:color-mix(in srgb, currentcolor 40%, transparent);background:0 0;padding-inline:4px;font-weight:500}.button--quiet:hover{color:var(--text);background:0 0}.button--small{padding:5px 12px;font-size:.8125rem}.button--block{width:100%}.button[data-copied]{border-color:color-mix(in srgb, var(--ok) 35%, var(--border));background:var(--ok-soft);color:var(--ok)}.button-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.form{gap:16px;display:grid}.form--inline{grid-auto-columns:max-content;grid-auto-flow:column;justify-content:start;align-items:end}.field{gap:6px;display:grid}.field__label,.form label{font-size:.875rem;font-weight:500}.field__input,.form input:not([type=checkbox]):not([type=radio]),.form select,.form textarea{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text);font:inherit;padding:10px 13px;font-size:.9375rem;transition:border-color .14s,box-shadow .14s}.field__input:hover,.form input:not([type=checkbox]):not([type=radio]):hover{border-color:color-mix(in srgb, var(--text-muted) 45%, var(--border))}.field__input:focus,.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--focus) 22%, transparent);outline:none}.field__input[aria-invalid=true]{border-color:var(--danger)}.field__input[readonly]{background:var(--surface-muted);color:var(--text-muted)}.field__hint{color:var(--text-muted);margin:0;font-size:.8125rem}.field__error{color:var(--danger);margin:0;font-size:.8125rem;font-weight:500}.checkbox{align-items:center;gap:9px;display:flex}.checkbox__input{width:17px;height:17px;accent-color:var(--brand-500)}.checkbox__label{font-size:.9375rem}.form-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:2px;display:flex}.code-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}code,.code{border:1px solid var(--border);background:var(--surface-muted);overflow-wrap:anywhere;border-radius:6px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.8125rem}.code--block{border-radius:var(--radius-sm);white-space:pre-wrap;padding:12px 14px;line-height:1.6;display:block}.code--secret{border-color:color-mix(in srgb, var(--warn) 34%, var(--border));background:var(--warn-soft);color:var(--text)}.notice{border:1px solid color-mix(in srgb, var(--warn) 34%, var(--border));border-radius:var(--radius-md);background:var(--warn-soft);gap:10px;padding:14px 16px;font-size:.9375rem;display:grid}.notice__title{margin:0;font-size:.9375rem;font-weight:600}.notice p{margin:0}.steps{gap:10px;margin:0;padding-left:1.3em;font-size:.9375rem;display:grid}.steps li::marker{color:var(--text-muted);font-variant-numeric:tabular-nums;font-weight:600}.empty{text-align:center;justify-items:center;gap:12px;padding:44px 24px;display:grid}.empty__mark{background:linear-gradient(140deg, var(--brand-400), var(--brand-600));color:#fff;border-radius:14px;place-items:center;width:46px;height:46px;display:grid}.empty__mark svg{fill:currentColor;width:26px;height:26px}.empty__title{letter-spacing:-.01em;margin:0;font-size:1.125rem;font-weight:600}.empty__text{max-width:52ch;color:var(--text-muted);font-size:.9375rem}.empty__text p{margin:0 0 8px}.empty__actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.retention-figure{margin:0}.retention-curve{width:100%;height:auto;display:block;overflow:visible}.retention-curve__grid,.retention-curve line{stroke:var(--border);stroke-width:1px}.retention-curve__axis{stroke:color-mix(in srgb, var(--text-muted) 55%, transparent);stroke-width:1px}.retention-curve__area,.retention-curve polygon{fill:color-mix(in srgb, var(--brand-500) 20%, transparent);stroke:none}.retention-curve__line,.retention-curve polyline,.retention-curve path{fill:none;stroke:var(--brand-500);stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;vector-effect:non-scaling-stroke}.retention-curve__point,.retention-curve circle{fill:var(--surface);stroke:var(--brand-500);stroke-width:2px}.retention-curve__label,.retention-curve text{fill:var(--text-muted);font-variant-numeric:tabular-nums;font-family:inherit;font-size:10px}@media (prefers-color-scheme:dark){.retention-curve__area,.retention-curve polygon{fill:color-mix(in srgb, var(--brand-400) 26%, transparent)}.retention-curve__line,.retention-curve polyline,.retention-curve path,.retention-curve__point,.retention-curve circle{stroke:var(--brand-400)}}.retention-legend{color:var(--text-muted);flex-wrap:wrap;gap:6px 18px;margin:10px 0 0;font-size:.8125rem;display:flex}.auth-shell{place-items:start center;padding-top:12px;display:grid}.auth-card{width:100%;max-width:26rem}.auth-card .card__body{padding:26px 24px 24px}.auth-card__title{letter-spacing:-.02em;margin:0;font-size:1.5rem;font-weight:600}.auth-card__lead{color:var(--text-muted);margin:6px 0 20px;font-size:.9375rem}.auth-card .form-actions .button{width:100%}.auth-alt{color:var(--text-muted);margin:18px 0 0;font-size:.875rem}@media (width<=720px){.app-header__inner{padding:12px 16px}.app-nav{order:3;width:100%;margin-inline-start:0}.user-menu{margin-inline-start:auto}.app-main{padding:22px 14px 44px}.card{border-radius:var(--radius-md)}.card__head{padding:16px 16px 0}.card__body{padding:16px}.card__body--flush{padding:0}.card__foot,.pagination-wrap{padding-inline:16px}.table th,.table td{padding:11px 12px}.user-menu__name{display:none}.form--inline{grid-auto-columns:auto;grid-auto-flow:row}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.skip-link{transition:none}}
