*,:before,:after{box-sizing:border-box}:root{--glass-thin-bg:#ffffff8c;--glass-thin-border:#00000014;--glass-thin-border-inner:#fff9;--glass-thin-shadow:0 1px 3px #0000000f, 0 4px 16px #0000000d;--glass-thin-blur:blur(20px) saturate(180%);--glass-regular-bg:#ffffffb3;--glass-regular-border:#00000014;--glass-regular-border-inner:#ffffffb3;--glass-regular-shadow:0 1px 2px #0000000a, 0 8px 28px #00000014;--glass-regular-blur:blur(30px) saturate(180%);--glass-thick-bg:#ffffffd9;--glass-thick-border:#0000001a;--glass-thick-shadow:0 2px 4px #0000000d, 0 12px 40px #0000001a;--glass-thick-blur:blur(40px) saturate(180%);--glass-thin-bg-fallback:#ffffffeb;--glass-regular-bg-fallback:#fffffff5;--glass-thick-bg-fallback:#fffffffc;--accent:#ffd500;--accent-strong:#e8c000;--accent-soft:#ffd50080;--accent-glow:#ffd5002e;--fg:#0a0a0a;--fg-secondary:#3d3d3f;--fg-tertiary:#6e6e73;--fg-quaternary:#8e8e93;--surface:#fff;--ease-ios:cubic-bezier(.32, .72, 0, 1);--dur-fast:.18s;--dur-base:.24s;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}@media (prefers-color-scheme:dark){:root{--glass-thin-bg:#1c1c1e8c;--glass-thin-border:#ffffff1a;--glass-thin-border-inner:#ffffff1f;--glass-thin-shadow:0 1px 3px #0006, 0 4px 16px #0000004d;--glass-regular-bg:#1c1c1eb3;--glass-regular-border:#ffffff1a;--glass-regular-border-inner:#ffffff14;--glass-regular-shadow:0 1px 2px #0006, 0 8px 28px #00000059;--glass-thick-bg:#1c1c1ed9;--glass-thick-border:#ffffff1f;--glass-thick-shadow:0 2px 4px #0006, 0 12px 40px #0006;--glass-thin-bg-fallback:#1c1c1ef0;--glass-regular-bg-fallback:#1c1c1ef7;--glass-thick-bg-fallback:#1c1c1efc;--fg:#f5f5f7;--fg-secondary:#ebebf0;--fg-tertiary:#aeaeb2;--fg-quaternary:#8e8e93;--surface:#0a0a0a}}html,body{background:var(--surface);color:var(--fg);font-feature-settings:"cv11", "ss01", "ss03";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,Inter,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.5}@supports (font-variation-settings:normal){html,body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,Inter var,Inter,Segoe UI,Roboto,Helvetica,Arial,sans-serif}}button{font-family:inherit;font-size:inherit;color:inherit}.wordmark{top:calc(var(--safe-top) + 16px);left:calc(var(--safe-left) + 16px);letter-spacing:-.01em;color:var(--fg);background:var(--glass-thin-bg-fallback);border:1px solid var(--glass-thin-border);box-shadow:var(--glass-thin-shadow);z-index:9999;border-radius:999px;padding:6px 12px;font-size:18px;font-weight:600;position:fixed}@supports ((-webkit-backdrop-filter:blur(10px)) or (backdrop-filter:blur(10px))){.wordmark{background:var(--glass-thin-bg);-webkit-backdrop-filter:var(--glass-thin-blur)}}.page{max-width:700px;margin:0 auto;padding:96px 24px}.page h1{letter-spacing:-.01em;text-align:center;margin:0 0 12px;font-size:26px;font-weight:600}.dropzone{background:var(--glass-regular-bg-fallback);color:var(--fg-quaternary);text-align:center;cursor:pointer;transition:border-color var(--dur-base) var(--ease-ios), background var(--dur-base) var(--ease-ios), color var(--dur-base) var(--ease-ios), box-shadow var(--dur-base) var(--ease-ios), transform var(--dur-base) var(--ease-ios);-webkit-user-select:none;user-select:none;box-shadow:0 1px 2px #0000000a, inset 0 1px 0 var(--glass-regular-border-inner);border:1.5px dashed #0000002e;border-radius:18px;outline:none;justify-content:center;align-items:center;padding:32px 24px;display:flex;position:relative}@supports ((-webkit-backdrop-filter:blur(10px)) or (backdrop-filter:blur(10px))){.dropzone{background:var(--glass-regular-bg);-webkit-backdrop-filter:var(--glass-regular-blur)}}@media (prefers-color-scheme:dark){.dropzone{color:var(--fg-tertiary);border-color:#ffffff2e}}.dropzone:hover,.dropzone:focus-visible{color:var(--fg-secondary);box-shadow:0 8px 32px #00000014, inset 0 1px 0 var(--glass-regular-border-inner), inset 0 0 80px #ffd50014;border-color:#0000004d}@media (prefers-color-scheme:dark){.dropzone:hover,.dropzone:focus-visible{color:var(--fg-secondary);box-shadow:0 8px 32px #0006, inset 0 1px 0 var(--glass-regular-border-inner), inset 0 0 80px #ffd5001a;border-color:#ffffff4d}}.dropzone.drag-active{border-color:var(--accent);color:var(--fg);box-shadow:0 12px 40px #ffd5002e, inset 0 1px 0 var(--glass-regular-border-inner), inset 0 0 120px #ffd5002e;transform:scale(1.005)}.dropzone .folder-icon{aspect-ratio:1;width:50%;min-width:96px;max-width:220px;height:auto;color:inherit;transition:transform var(--dur-base) var(--ease-ios), filter var(--dur-base) var(--ease-ios);filter:drop-shadow(0 1px 1px #0000000a);display:block}.dropzone:hover .folder-icon,.dropzone:focus-visible .folder-icon{transform:scale(1.04)}.dropzone.drag-active .folder-icon{filter:drop-shadow(0 4px 10px #ffd5004d);transform:scale(1.08)}.btn{border:1px solid var(--glass-thin-border);background:var(--glass-thin-bg-fallback);color:var(--fg);cursor:pointer;min-height:36px;transition:background var(--dur-fast) var(--ease-ios), border-color var(--dur-fast) var(--ease-ios), box-shadow var(--dur-fast) var(--ease-ios), transform var(--dur-fast) var(--ease-ios);box-shadow:inset 0 1px 0 var(--glass-thin-border-inner);border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-size:14px;font-weight:500;display:inline-flex}@supports ((-webkit-backdrop-filter:blur(10px)) or (backdrop-filter:blur(10px))){.btn{background:var(--glass-thin-bg);-webkit-backdrop-filter:var(--glass-thin-blur)}}.btn:hover:not(:disabled){box-shadow:inset 0 1px 0 var(--glass-thin-border-inner), 0 2px 8px #0000000f;border-color:#0000002e}@media (prefers-color-scheme:dark){.btn:hover:not(:disabled){box-shadow:inset 0 1px 0 var(--glass-thin-border-inner), 0 2px 8px #0006;border-color:#fff3}}.btn:active:not(:disabled){transform:scale(.98)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#1c1500;-webkit-backdrop-filter:none;box-shadow:inset 0 1px #ffffff59,0 1px 2px #ba9b0040,0 4px 14px #ffd5004d}@supports ((-webkit-backdrop-filter:blur(10px)) or (backdrop-filter:blur(10px))){.btn-primary{background:var(--accent);-webkit-backdrop-filter:none}}.btn-primary:hover:not(:disabled){background:var(--accent);border-color:var(--accent-strong);box-shadow:inset 0 1px #fff6,0 2px 4px #ba9b004d,0 6px 20px #ffd50066}.btn-small{border-radius:8px;min-height:28px;padding:5px 12px;font-size:12px}.notice{color:#5d4a00;background:#fff8d6d9;border:1px solid #ecd97a99;border-radius:12px;margin-bottom:16px;padding:12px 16px;font-size:13px;box-shadow:inset 0 1px #fff6,0 1px 2px #ba9b0014}@supports ((-webkit-backdrop-filter:blur(10px)) or (backdrop-filter:blur(10px))){.notice{-webkit-backdrop-filter:blur(20px)saturate(180%);background:#fff8d6b3}}@media (prefers-color-scheme:dark){.notice{color:#f5e9a8;background:#5d4a0059;border-color:#ecd97a40}@supports ((-webkit-backdrop-filter:blur(10px)) or (backdrop-filter:blur(10px))){.notice{background:#5d4a0040}}}.error{color:#8a1f1f;background:#fdececd9;border:1px solid #f3b1b199;border-radius:12px;margin-bottom:16px;padding:12px 16px;font-size:13px;box-shadow:inset 0 1px #fff6,0 1px 2px #8a1f1f0f}@supports ((-webkit-backdrop-filter:blur(10px)) or (backdrop-filter:blur(10px))){.error{-webkit-backdrop-filter:blur(20px)saturate(180%);background:#fdececb3}}@media (prefers-color-scheme:dark){.error{color:#f5b5b5;background:#8a1f1f59;border-color:#f3b1b140}@supports ((-webkit-backdrop-filter:blur(10px)) or (backdrop-filter:blur(10px))){.error{background:#8a1f1f40}}}.workflow{--rail-w:min(54vw, 88vh, 800px);--rail-slim:calc(var(--rail-w) * 80 / 556);--rail-active:calc(var(--rail-w) * 280 / 556);--rail-gap:calc(var(--rail-w) * 12 / 556);--rail-h:var(--rail-active);gap:var(--rail-gap);width:var(--rail-w);height:var(--rail-h);contain:layout paint;justify-content:center;margin:16px 0 24px;display:flex;position:relative;left:50%;transform:translate(-50%)}.is-resizing .workflow-step,.is-resizing .workflow-step__slim,.is-resizing .workflow-step__full{transition:none!important}.workflow-step{flex-grow:0;flex-shrink:0;flex-basis:var(--rail-slim);background:var(--glass-regular-bg-fallback);border:1px solid var(--glass-regular-border);box-shadow:inset 0 1px 0 var(--glass-regular-border-inner), 0 1px 2px #0000000a;transition:flex-basis .6s cubic-bezier(.4, 0, .2, 1), background-color .4s var(--ease-ios), border-color .4s var(--ease-ios), box-shadow .4s var(--ease-ios);border-radius:18px;position:relative;overflow:hidden}@supports ((-webkit-backdrop-filter:blur(10px)) or (backdrop-filter:blur(10px))){.workflow-step{background:var(--glass-regular-bg);-webkit-backdrop-filter:var(--glass-regular-blur)}}.workflow-step--active{flex-basis:var(--rail-active);background:var(--glass-thick-bg-fallback);border-color:var(--accent-soft);box-shadow:inset 0 1px 0 var(--glass-regular-border-inner), 0 12px 40px #ffd5001a, 0 4px 16px #0000000f}@supports ((-webkit-backdrop-filter:blur(10px)) or (backdrop-filter:blur(10px))){.workflow-step--active{background:var(--glass-thick-bg);-webkit-backdrop-filter:var(--glass-thick-blur)}}.workflow-step--complete{background:#f4faf6bf;border-color:#28a35a40}@supports ((-webkit-backdrop-filter:blur(10px)) or (backdrop-filter:blur(10px))){.workflow-step--complete{background:#f4faf699}}@media (prefers-color-scheme:dark){.workflow-step--complete{background:#143c2080;border-color:#28a35a4d}@supports ((-webkit-backdrop-filter:blur(10px)) or (backdrop-filter:blur(10px))){.workflow-step--complete{background:#143c2066}}}.workflow-step__slim{opacity:1;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:18px 10px;transition:opacity .24s;display:flex;position:absolute;inset:0}.workflow-step--active .workflow-step__slim{opacity:0}.workflow-step__number{width:38px;height:38px;color:var(--fg-tertiary);background:#ffffffeb;border:1px solid #00000014;border-radius:50%;justify-content:center;align-items:center;font-size:18px;font-weight:600;line-height:1;display:flex;box-shadow:inset 0 1px #ffffffb3,0 1px 2px #0000000a}@media (prefers-color-scheme:dark){.workflow-step__number{color:var(--fg-tertiary);background:#ffffff14;border-color:#ffffff1a;box-shadow:inset 0 1px #ffffff14,0 1px 2px #0000004d}}.workflow-step--complete .workflow-step__number{color:#fff;background:#28a35a;border-color:#28a35a99;box-shadow:inset 0 1px #ffffff40,0 2px 8px #28a35a4d}.workflow-step__label{color:var(--fg-quaternary);text-transform:uppercase;letter-spacing:.04em;text-align:center;white-space:normal;padding:0 4px;font-size:12px;line-height:1.3}.workflow-step__full{opacity:0;pointer-events:none;flex-direction:column;padding:24px;transition:opacity .24s;display:flex;position:absolute;inset:0}.workflow-step--active .workflow-step__full{opacity:1;pointer-events:auto;transition:opacity .28s .32s}.step-title{letter-spacing:.06em;text-transform:uppercase;color:var(--fg-quaternary);text-align:center;margin-bottom:14px;font-size:13px;font-weight:600}.step-body{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:18px;display:flex}.step-stat{flex-direction:column;align-items:center;gap:2px;line-height:1.15;display:flex}.step-stat__line{color:var(--fg);letter-spacing:-.01em;font-size:26px;font-weight:500}.step-stat__line strong{color:var(--fg);font-weight:700}.step-stat__line--secondary{color:var(--fg-tertiary);font-size:20px;font-weight:500}.step-stat--detailed{gap:4px}.step-stat__caption{letter-spacing:.08em;text-transform:uppercase;color:var(--fg-quaternary);margin-bottom:2px;font-size:13px;font-weight:600}.step-stat__total{color:var(--fg-tertiary);margin-top:8px;font-size:15px}.step-stat__total strong{color:var(--fg);font-weight:600}.eject-pulse{background:#ffd5002e;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;animation:1.6s ease-in-out infinite pulse;display:flex}.eject-pulse:before{content:"⏏";color:#5d4a00;font-size:32px;line-height:1}@keyframes pulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.workflow-step__full .dropzone{flex:1;align-self:stretch;padding:18px}.workflow-step__full .btn{border-radius:10px;padding:10px 22px;font-size:16px;font-weight:600}.btn-jumbo{letter-spacing:-.005em;border-radius:12px;padding:14px 32px;font-size:20px;font-weight:600}.workflow-step__full .btn-small{border-radius:6px;padding:6px 14px;font-size:15px;font-weight:500}@media (width<=700px){.workflow{--rail-w:min(88vw, 100vh);margin:12px 0 20px}.workflow-step__label{display:none}.workflow-step__number{width:32px;height:32px;font-size:16px}.workflow-step__full{padding:14px}.step-title{margin-bottom:8px;font-size:12px}.step-body{gap:12px}.step-stat__line{font-size:20px}.step-stat__line--secondary{font-size:15px}.step-stat__total{font-size:13px}.eject-pulse{width:56px;height:56px}.eject-pulse:before{font-size:24px}.workflow-step__full .btn{padding:8px 16px;font-size:15px}.btn-jumbo{padding:11px 22px;font-size:16px}.page h1{font-size:22px}}@media (height<=820px){.page{padding-top:56px;padding-bottom:40px}.page h1{margin-bottom:10px;font-size:24px}.workflow{margin:8px 0 16px}}.text-meta{color:#666;font-size:15px}.text-strong{color:#111;font-size:20px;font-weight:600}.text-error{color:#8a1f1f;font-size:15px}.upload-action{align-items:center;gap:14px;display:inline-flex}.upload-progress{flex-direction:column;align-self:stretch;align-items:stretch;gap:8px;margin-top:4px;display:flex}.upload-progress__bar-row{align-items:center;gap:10px;display:flex}.upload-progress__bar{background:#f0f0f0;border-radius:4px;flex:1;height:8px;overflow:hidden}.upload-progress__bar>div{background:#ffd500;height:100%;transition:width .2s}.upload-progress__details{flex-direction:column;gap:4px;display:flex}.upload-progress__current{color:#222;white-space:nowrap;text-overflow:ellipsis;text-align:center;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:15px;font-weight:500;overflow:hidden}.upload-progress__meta{color:#666;text-align:center;font-size:15px}.details-toggle{appearance:none;font:inherit;color:#666;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;align-self:center;padding:2px 4px;font-size:13px;text-decoration:underline;transition:color .16s}.details-toggle:hover{color:#111}.spinner{border:3px solid #0000001f;border-top-color:#555;border-radius:50%;flex-shrink:0;width:22px;height:22px;animation:.8s linear infinite spin;display:inline-block}.spinner--accent{border-color:#ffd500 #ffd50040 #ffd50040}.spinner--bar{border-width:2px;width:16px;height:16px}@keyframes spin{to{transform:rotate(360deg)}}.step-restart-wrap{justify-content:center;margin-top:14px;display:flex}.step-restart{appearance:none;color:#888;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:5px 11px;font-size:13px;font-weight:500;transition:background .16s,border-color .16s,color .16s;display:inline-flex}.step-restart:hover{color:#333;background:#f1f1f1;border-color:#e0e0e0}.step-restart:focus-visible{outline-offset:2px;outline:2px solid #ffd50099}.step-restart__icon{font-size:15px;line-height:1;display:inline-block;transform:translateY(1px)}.lang-toggle{z-index:9999;background:#f1f1f1;border:1px solid #e5e5e5;border-radius:999px;align-items:center;gap:2px;padding:3px;display:inline-flex;position:fixed;top:14px;right:14px;box-shadow:0 1px 2px #0000000a}.lang-toggle__btn{appearance:none;color:#888;letter-spacing:.01em;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:5px 14px;font-size:13px;font-weight:500;transition:background .16s,color .16s,box-shadow .16s}.lang-toggle__btn:hover:not(.is-active){color:#333}@media (prefers-color-scheme:dark){.lang-toggle__btn:hover:not(.is-active){color:var(--fg)}}.lang-toggle__btn.is-active{color:#111;background:#fff;box-shadow:0 1px 2px #0000001a}@media (prefers-color-scheme:dark){.lang-toggle__btn.is-active{color:#111;background:#f4f4f5}}@media (width<=700px){.lang-toggle{top:10px;right:10px}.lang-toggle__btn{padding:4px 10px;font-size:12px}.step-restart-wrap{margin-top:10px}.step-restart{padding:5px 10px;font-size:12px}.step-restart__icon{font-size:14px;transform:translateY(0)}}.nav-bar{z-index:100;-webkit-backdrop-filter:blur(8px);background:#0000000a;border:1px solid #00000014;border-radius:999px;gap:4px;padding:4px;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%)}@media (prefers-color-scheme:dark){.nav-bar{background:#ffffff0f;border-color:#ffffff14}}.nav-bar__btn{appearance:none;color:inherit;font:inherit;cursor:pointer;opacity:.6;background:0 0;border:0;border-radius:999px;padding:6px 16px;font-size:14px;line-height:1.2;transition:opacity .12s,background .12s}.nav-bar__btn:hover{opacity:.85}.nav-bar__btn.is-active{color:#111;opacity:1;background:#fff;box-shadow:0 1px 2px #00000014}@media (prefers-color-scheme:dark){.nav-bar__btn.is-active{color:#111;background:#f4f4f5}}.usage-page{max-width:720px;margin:80px auto;padding:0 20px}.usage-page__header{text-align:center;margin-bottom:32px}.usage-page__title{letter-spacing:-.01em;margin:0 0 6px;font-size:28px;font-weight:600}.usage-page__subtitle{opacity:.6;margin:0;font-size:14px}.usage-page__feed{flex-direction:column;gap:40px;display:flex}.usage-card{flex-direction:column;gap:12px;display:flex}.usage-card__copy{padding:0 4px}.usage-card__title{margin:0 0 4px;font-size:17px;font-weight:600}.usage-card__desc{opacity:.65;margin:0;font-size:14px;line-height:1.5}.usage-card__media{background:#0000000a;border-radius:12px;width:100%;position:relative;overflow:hidden}@media (prefers-color-scheme:dark){.usage-card__media{background:#ffffff0a}}.usage-card__video{background:#000;width:100%;height:auto;display:block}@media (width<=700px){.wordmark{display:none}.nav-bar{top:auto;bottom:calc(env(safe-area-inset-bottom,0px) + 12px);gap:3px;padding:4px;left:50%;transform:translate(-50%);box-shadow:0 4px 18px #0000001f}.nav-bar__btn{padding:7px 16px;font-size:13px}.usage-page{margin:60px auto 100px;padding:0 14px}.usage-page__header{margin-bottom:22px}.usage-page__title{font-size:22px}.usage-page__subtitle{font-size:13px}.usage-page__feed{gap:28px}.usage-card__title{font-size:15px}.usage-card__desc{font-size:13px}.usage-card__media{border-radius:8px}}@media (width<=380px){.nav-bar__btn{padding:5px 10px;font-size:12px}.usage-page{padding:0 10px}}.mobile-upload{max-width:540px;margin:110px auto 60px;padding:0 16px}.mobile-upload__card{flex-direction:column;gap:16px;display:flex}.mobile-upload__h1{letter-spacing:-.01em;margin:0;font-size:24px;font-weight:600}.mobile-upload__h2{margin:4px 0 0;font-size:18px;font-weight:600}.mobile-upload__copy{opacity:.7;margin:0;font-size:14px;line-height:1.5}.mobile-upload__input{appearance:none;font:inherit;box-sizing:border-box;background:#00000005;border:1px solid #00000026;border-radius:10px;width:100%;padding:12px 14px;font-size:16px}@media (prefers-color-scheme:dark){.mobile-upload__input{color:inherit;background:#ffffff0a;border-color:#ffffff26}}.mobile-upload__file-input{display:none}.mobile-upload__btn-primary{appearance:none;color:#fff;font:inherit;cursor:pointer;background:#111;border:0;border-radius:10px;width:100%;padding:14px 18px;font-size:16px;font-weight:600;transition:opacity .12s,background .12s}.mobile-upload__btn-primary:hover{background:#222}.mobile-upload__btn-primary:disabled{opacity:.4;cursor:not-allowed}@media (prefers-color-scheme:dark){.mobile-upload__btn-primary{color:#111;background:#f4f4f5}.mobile-upload__btn-primary:hover{background:#fff}}.mobile-upload__btn-secondary{appearance:none;color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid #00000026;border-radius:10px;width:100%;padding:12px 16px;font-size:14px}@media (prefers-color-scheme:dark){.mobile-upload__btn-secondary{border-color:#ffffff26}}.mobile-upload__camera-chip{background:#0000000d;border-radius:999px;align-self:flex-start;align-items:center;gap:8px;padding:6px 10px;font-size:12px;display:inline-flex}@media (prefers-color-scheme:dark){.mobile-upload__camera-chip{background:#ffffff0f}}.mobile-upload__camera-label{opacity:.6}.mobile-upload__camera-id{font-family:ui-monospace,SFMono-Regular,monospace;font-size:13px}.mobile-upload__chip-edit{appearance:none;color:inherit;opacity:.6;cursor:pointer;font:inherit;background:0 0;border:0;padding:0;font-size:12px;text-decoration:underline}.mobile-upload__summary{border-top:1px solid #00000014;border-bottom:1px solid #00000014;justify-content:space-between;align-items:center;padding:8px 0;font-size:14px;display:flex}@media (prefers-color-scheme:dark){.mobile-upload__summary{border-color:#ffffff14}}.mobile-upload__counter{font-weight:500}.mobile-upload__counts{opacity:.7;font-size:12px}.mobile-upload__count-done{color:#16a34a}.mobile-upload__count-failed{color:#dc2626}.mobile-upload__progress-bar{background:#00000014;border-radius:999px;height:4px;overflow:hidden}@media (prefers-color-scheme:dark){.mobile-upload__progress-bar{background:#ffffff1a}}.mobile-upload__progress-fill{background:#16a34a;height:100%;transition:width .2s ease-out}.mobile-upload__file-list{flex-direction:column;gap:6px;max-height:320px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.mobile-upload__file{background:#00000008;border-radius:8px;justify-content:space-between;align-items:center;padding:8px 10px;font-size:13px;display:flex}@media (prefers-color-scheme:dark){.mobile-upload__file{background:#ffffff0a}}.mobile-upload__file-name{text-overflow:ellipsis;white-space:nowrap;max-width:70%;font-family:ui-monospace,SFMono-Regular,monospace;font-size:12px;overflow:hidden}.mobile-upload__file-status{opacity:.7;font-size:12px}.mobile-upload__file--done .mobile-upload__file-status{color:#16a34a}.mobile-upload__file--skipped .mobile-upload__file-status{color:#2563eb}.mobile-upload__file--failed .mobile-upload__file-status{color:#dc2626}.mobile-upload__finish{background:#16a34a14;border:1px solid #16a34a33;border-radius:10px;flex-direction:column;gap:12px;padding:12px;display:flex}.mobile-upload__finish-msg{margin:0;font-size:14px;line-height:1.5}.mobile-upload__error{color:#dc2626;background:#dc262614;border:1px solid #dc262640;border-radius:8px;padding:10px 12px;font-size:13px}@media (width<=700px){.mobile-upload{margin:60px auto 110px;padding:0 16px}}@media (width<=380px){.mobile-upload{margin:50px auto 100px;padding:0 12px}}.footer{left:calc(env(safe-area-inset-left,0px) + 12px);bottom:calc(env(safe-area-inset-bottom,0px) + 12px);z-index:95;-webkit-backdrop-filter:blur(6px);opacity:.65;background:#ffffffd9;border:1px solid #0000000f;border-radius:999px;align-items:center;padding:2px;transition:opacity .12s;display:inline-flex;position:fixed;box-shadow:0 1px 4px #0000000d}.footer:hover,.footer:focus-within{opacity:1}.footer__link{appearance:none;color:#666;font:inherit;letter-spacing:.01em;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:4px 12px;font-size:11px;font-weight:500;transition:background .12s,color .12s}.footer__link:hover{color:#111;background:#0000000a}.footer__link.is-active{color:#fff;background:#111}@media (prefers-color-scheme:dark){.footer__link{color:#aaa}.footer__link:hover{color:#fff;background:#ffffff0f}.footer__link.is-active{color:#111;background:#fff}}.privacy-page{color:#111;max-width:760px;margin:80px auto 60px;padding:0 20px}.privacy-page__header{text-align:left;border-bottom:1px solid #0000001a;margin-bottom:28px;padding-bottom:18px}@media (prefers-color-scheme:dark){.privacy-page__header{border-bottom-color:#ffffff1a}}.privacy-page__title{letter-spacing:-.01em;margin:0 0 10px;font-size:28px;font-weight:700;line-height:1.2}.privacy-page__zh-title{color:inherit}.privacy-page__en-title{color:#1f1f1f;margin-left:6px;font-size:18px;font-weight:500}.privacy-page__meta{color:#262626;margin:4px 0;font-size:13px}.privacy-page__meta-sep{opacity:.5}.privacy-page__operator{background:#0000000f;border-radius:4px;padding:1px 6px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:13px}@media (prefers-color-scheme:dark){.privacy-page__operator{background:#ffffff14}}.privacy-page__governing-note{color:#262626;margin:10px 0 0;font-size:12px;font-style:italic;line-height:1.5}.privacy-page__governing-note--en{margin-top:4px}.privacy-page__section{margin-bottom:32px}.privacy-page__h2{letter-spacing:-.005em;margin:0 0 14px;font-size:20px;font-weight:600;line-height:1.3}.privacy-page__h3{margin:18px 0 8px;font-size:16px;font-weight:600;line-height:1.4}.privacy-page__h-zh{color:inherit}.privacy-page__h-en{color:#1f1f1f;font-size:.85em;font-weight:500}.privacy-page__bi-para{margin:0 0 12px}.privacy-page__bi-para .privacy-page__zh{color:inherit;margin:0 0 2px;font-size:14px;line-height:1.65}.privacy-page__bi-para .privacy-page__en{color:#1f1f1f;margin:0;font-size:12.5px;line-height:1.55}.privacy-page__ul,.privacy-page__ol{flex-direction:column;gap:8px;margin:4px 0 14px;padding-left:22px;display:flex}.privacy-page__bi-li{font-size:14px;line-height:1.6}.privacy-page__bi-li .privacy-page__zh{color:inherit}.privacy-page__bi-li .privacy-page__en{color:#1f1f1f;font-size:12.5px}.privacy-page__table-wrap{border:1px solid #00000014;border-radius:10px;margin:8px 0 14px;overflow-x:auto}@media (prefers-color-scheme:dark){.privacy-page__table-wrap{border-color:#ffffff1a}}.privacy-page__table{border-collapse:collapse;width:100%;font-size:13px}.privacy-page__table th,.privacy-page__table td{text-align:left;vertical-align:top;border-bottom:1px solid #0000000f;padding:10px 12px}.privacy-page__table tr:last-child td{border-bottom:0}.privacy-page__table th{color:#333;background:#00000008;font-size:12.5px;font-weight:600}@media (prefers-color-scheme:dark){.privacy-page__table th{color:#ddd;background:#ffffff0a}.privacy-page__table td{border-bottom-color:#ffffff14}}.privacy-page__th-en{opacity:.6;font-size:11px;font-weight:500}.privacy-page__table td .privacy-page__zh{color:inherit;font-size:13px;line-height:1.5}.privacy-page__table td .privacy-page__en{color:#777;margin-top:2px;font-size:11.5px;line-height:1.4}@media (prefers-color-scheme:dark){.privacy-page__table td .privacy-page__en{color:#999}}.privacy-page__contact{background:#00000008;border-radius:10px;margin:0 0 14px;padding:14px;font-size:14px;line-height:1.7}@media (prefers-color-scheme:dark){.privacy-page__contact{background:#ffffff0a}}.privacy-page__email{color:#0a66c2;text-underline-offset:3px;font-family:ui-monospace,SFMono-Regular,monospace;text-decoration:underline}@media (prefers-color-scheme:dark){.privacy-page__email{color:#6ea8e1}}.privacy-page__zh-inline{color:inherit}.privacy-page__en-inline{color:#777;font-size:13px}@media (prefers-color-scheme:dark){.privacy-page__en-inline{color:#999}}.privacy-page__footer-spacer{height:80px}@media (width<=700px){.privacy-page{margin:60px auto 110px;padding:0 14px}.privacy-page__title{font-size:22px}.privacy-page__en-title{font-size:14px}.privacy-page__h2{font-size:17px}.privacy-page__h3{font-size:15px}.privacy-page__bi-para .privacy-page__zh,.privacy-page__bi-li{font-size:13.5px}.privacy-page__bi-para .privacy-page__en,.privacy-page__bi-li .privacy-page__en,.privacy-page__table{font-size:12px}.privacy-page__table th,.privacy-page__table td{padding:8px 10px}.privacy-page__contact{padding:12px;font-size:13px}.privacy-page__footer-spacer{height:100px}}@media (width<=380px){.privacy-page{padding:0 10px}}.mobile-upload__file-actions{align-items:center;gap:6px;display:inline-flex}.mobile-upload__retry-btn{appearance:none;color:#dc2626;font:inherit;cursor:pointer;background:0 0;border:1px solid #dc262666;border-radius:6px;padding:2px 8px;font-size:11px;line-height:1.2}.mobile-upload__retry-btn:hover{background:#dc262614}.mobile-upload__retry-btn:disabled{opacity:.5;cursor:not-allowed}.mobile-upload__file--retrying .mobile-upload__file-status{color:#d97706}.mobile-upload__pick-row{flex-direction:column;gap:10px;display:flex}.mobile-upload__preparing{color:#5d4a00;text-align:center;background:#ffd5001a;border:1px solid #ffd50059;border-radius:10px;justify-content:center;align-items:center;gap:10px;margin-top:12px;padding:12px 14px;font-size:13px;line-height:1.4;display:flex}@media (prefers-color-scheme:dark){.mobile-upload__preparing{color:#f5e9a8}}.debug-timings__btn--close{padding:2px 7px 3px;font-size:14px;line-height:1}.debug-timings{z-index:10000;color:#f3f4f6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f0f0feb;border:1px solid #ffffff1f;border-radius:10px;flex-direction:column;width:min(360px,100vw - 24px);max-height:calc(100vh - 24px);font-family:ui-monospace,SFMono-Regular,monospace;font-size:11px;display:flex;position:fixed;top:12px;right:12px;overflow:hidden;box-shadow:0 8px 24px #00000059}.debug-timings__header{cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff0a;align-items:center;gap:8px;padding:6px 10px;display:flex}.debug-timings__title{letter-spacing:.02em;flex:1;font-weight:600}.debug-timings__btn{appearance:none;color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:4px;padding:2px 8px;font-size:10px}.debug-timings__btn:hover{background:#ffffff14}.debug-timings__chevron{opacity:.6}.debug-timings__body{padding:4px 0 8px;overflow-y:auto}.debug-timings__empty{opacity:.7;padding:12px;font-style:italic}.debug-timings__row{border-top:1px solid #ffffff0f;padding:4px 10px}.debug-timings__row:first-child{border-top:0}.debug-timings__row-header{cursor:pointer;align-items:center;gap:8px;padding:4px 0;display:flex}.debug-timings__filename{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.debug-timings__filesize{opacity:.7}.debug-timings__stats{grid-template-columns:1fr auto;gap:0 12px;margin:4px 0 6px;padding:0;display:grid}.debug-timings__stat{display:contents}.debug-timings__stat dt{opacity:.75;margin:0;padding:1px 0}.debug-timings__stat dd{text-align:right;margin:0;padding:1px 0}.debug-timings__stat--hi dt{opacity:1;color:#fbbf24}.debug-timings__stat--hi dd{color:#fbbf24;font-weight:600}.debug-timings__footer{opacity:.5;border-top:1px solid #ffffff0f;padding:6px 10px}.debug-timings__footer code{font-family:inherit}.view-passcode{justify-content:center;align-items:center;min-height:calc(100vh - 200px);padding:80px 24px 24px;display:flex}.view-passcode__panel{background:#fff;border:1px solid #00000014;border-radius:12px;width:100%;max-width:420px;padding:32px 28px;box-shadow:0 4px 16px #0000000a}@media (prefers-color-scheme:dark){.view-passcode__panel{background:#ffffff08;border-color:#ffffff14}}.view-passcode__title{margin:0 0 6px;font-size:22px;font-weight:600}.view-passcode__subtitle{opacity:.7;margin:0 0 20px;font-size:14px}.view-passcode__form{flex-direction:column;gap:14px;display:flex}.view-passcode__label{flex-direction:column;gap:6px;display:flex}.view-passcode__label-text{opacity:.75;font-size:13px}.view-passcode__input{color:inherit;background:#fff;border:1px solid #00000026;border-radius:8px;padding:10px 12px;font-size:15px}@media (prefers-color-scheme:dark){.view-passcode__input{background:#ffffff0d;border-color:#ffffff1a}}.view-passcode__submit{color:#fff;cursor:pointer;background:#111;border:0;border-radius:8px;padding:10px 16px;font-size:15px;font-weight:500}@media (prefers-color-scheme:dark){.view-passcode__submit{color:#111;background:#f5f5f7}}.view-passcode__submit:disabled{opacity:.45;cursor:not-allowed}.view-passcode__error{color:#b91c1c;font-size:13px}.view-page{grid-template-columns:260px 1fr;gap:24px;max-width:1400px;margin:0 auto;padding:80px 24px;display:grid}@media (width<=800px){.view-page{grid-template-columns:1fr;padding:72px 12px 80px}}.view-page .view-sidebar{max-height:calc(100vh - 88px);position:sticky;top:72px;overflow-y:auto}@media (width<=800px){.view-page .view-sidebar{max-height:none;position:static;overflow-y:visible}}.view-page-top-mask{background:var(--surface);z-index:80;pointer-events:none;height:72px;position:fixed;top:0;left:0;right:0}.view-sidebar{background:#fafafa;border:1px solid #00000014;border-radius:10px;flex-direction:column;align-self:flex-start;gap:18px;padding:16px;display:flex}@media (prefers-color-scheme:dark){.view-sidebar{background:#ffffff0a;border-color:#ffffff14}}.view-sidebar__header{justify-content:space-between;align-items:center;gap:8px;display:flex}.view-sidebar__title{text-transform:uppercase;letter-spacing:.06em;opacity:.7;margin:0;font-size:14px;font-weight:600}.view-sidebar__clear{cursor:pointer;color:inherit;background:0 0;border:1px solid #0000001f;border-radius:6px;padding:4px 8px;font-size:12px}@media (prefers-color-scheme:dark){.view-sidebar__clear{border-color:#ffffff2e}}.view-filter{border:0;flex-direction:column;gap:6px;margin:0;padding:0;display:flex}.view-filter__legend{margin-bottom:2px;padding:0;font-size:13px;font-weight:600}.view-filter__hint{opacity:.6;margin:0 0 4px;font-size:11px;line-height:1.4}.view-filter__row{align-items:center;gap:8px;font-size:13px;display:flex}.view-filter__row-label{opacity:.7;width:32px}.view-filter__input{color:inherit;background:#fff;border:1px solid #00000026;border-radius:6px;flex:1;padding:6px 8px;font-size:13px}@media (prefers-color-scheme:dark){.view-filter__input{background:#ffffff0d;border-color:#ffffff1a}}.view-filter__avail{opacity:.55;margin:2px 0 0;font-size:11px}.view-filter__avail-label{margin-right:4px;font-weight:600}.view-filter__avail-range{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.view-filter__camera-list{flex-direction:column;gap:4px;max-height:220px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.view-filter__camera-label{cursor:pointer;align-items:center;gap:6px;font-size:13px;display:flex}.view-filter__camera-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.view-filter__camera-count{opacity:.7;text-align:center;background:#00000005;border:1px solid #00000014;border-radius:999px;flex-shrink:0;min-width:26px;padding:1px 8px;font-size:11px}@media (prefers-color-scheme:dark){.view-filter__camera-count{background:#ffffff0a;border-color:#ffffff1a}}.view-filter__camera-empty{opacity:.5;font-size:12px}.view-main{flex-direction:column;gap:16px;min-width:0;display:flex}.view-main__toolbar{z-index:50;background:var(--surface);border-bottom:1px solid #0000000f;flex-wrap:wrap;align-items:center;gap:12px;margin:-8px 0 0;padding:10px 0 12px;display:flex;position:sticky;top:72px}@media (prefers-color-scheme:dark){.view-main__toolbar{border-bottom-color:#ffffff14}}.view-main__count{opacity:.75;font-size:14px}.view-main__lock{cursor:pointer;color:inherit;background:0 0;border:1px solid #0000001f;border-radius:6px;margin-left:auto;padding:6px 12px;font-size:13px}@media (prefers-color-scheme:dark){.view-main__lock{border-color:#ffffff2e}}.view-main__error{color:#b91c1c;font-size:13px}.view-sort{align-items:center;gap:6px;font-size:13px;display:flex}.view-sort__label{opacity:.7}.view-sort__select{color:inherit;background:#fff;border:1px solid #00000026;border-radius:6px;padding:6px 8px;font-size:13px}@media (prefers-color-scheme:dark){.view-sort__select{background:#ffffff0d;border-color:#ffffff1a}}.view-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.view-grid__state{text-align:center;opacity:.55;padding:60px 0;font-size:14px}.view-tile{text-align:left;cursor:pointer;font:inherit;color:inherit;background:#fff;border:1px solid #00000014;border-radius:10px;flex-direction:column;padding:0;transition:transform 80ms,box-shadow 80ms;display:flex;overflow:hidden}.view-tile:hover{transform:translateY(-1px);box-shadow:0 6px 18px #0000000f}@media (prefers-color-scheme:dark){.view-tile{background:#ffffff08;border-color:#ffffff14}}.view-tile__thumb-wrap{aspect-ratio:16/9;background:#000;overflow:hidden}.view-tile__thumb{object-fit:cover;width:100%;height:100%;display:block}.view-tile__meta{flex-direction:column;gap:3px;padding:10px 12px 12px;font-size:12px;display:flex}.view-tile__row{align-items:baseline;gap:6px;display:flex}.view-tile__row--name{text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px;font-size:13px;font-weight:600;display:block;overflow:hidden}.view-tile__k{opacity:.55;flex-shrink:0;min-width:56px}.view-tile__v{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;overflow:hidden}.view-modal{z-index:1000;background:#000000a6;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.view-modal__panel{color:#fff;background:#111;border-radius:10px;flex-direction:column;width:100%;max-width:920px;max-height:calc(100vh - 32px);display:flex;overflow:hidden}.view-modal__header{border-bottom:1px solid #ffffff14;align-items:center;gap:12px;padding:10px 14px;display:flex}.view-modal__title{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14px;font-weight:500;overflow:hidden}.view-modal__close{color:#fff;cursor:pointer;background:0 0;border:0;padding:0 6px;font-size:22px;line-height:1}.view-modal__body{justify-content:center;align-items:center;min-height:320px;padding:14px;display:flex}.view-modal__video{background:#000;width:100%;max-height:calc(100vh - 140px)}.view-modal__hint{text-align:center;flex-direction:column;gap:16px;max-width:380px;display:flex}.view-modal__hint-text{opacity:.85;margin:0;font-size:14px}.view-modal__confirm{color:#111;cursor:pointer;background:#fff;border:0;border-radius:6px;align-self:center;padding:8px 24px;font-size:14px}.view-modal__loading{opacity:.7;font-size:13px}.view-modal__error{color:#fca5a5;font-size:13px}.timelapse-modal{z-index:1000;background:#000000bf;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.timelapse-modal__panel{color:#fff;background:#111;border-radius:12px;flex-direction:column;width:92vw;max-width:1400px;height:92vh;max-height:900px;display:flex;position:relative;overflow:hidden}.timelapse-modal__header{border-bottom:1px solid #ffffff14;flex:none;align-items:center;gap:12px;height:44px;padding:0 14px;display:flex}.timelapse-modal__title{text-overflow:ellipsis;white-space:nowrap;color:#fff;flex:1;font-size:14px;font-weight:500;overflow:hidden}.timelapse-modal__play-full{color:#111;cursor:pointer;white-space:nowrap;background:#fff;border:0;border-radius:6px;padding:5px 12px;font-size:12px;font-weight:500}.timelapse-modal__play-full:hover{background:#f3f4f6}.timelapse-modal__close{color:#fff;cursor:pointer;background:0 0;border:0;padding:0 6px;font-size:22px;line-height:1}.timelapse-stage{-webkit-user-select:none;user-select:none;background:#000;flex:1;position:relative;overflow:hidden}.timelapse-stage__frame{object-fit:contain;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.timelapse-stage__video{background:#000;width:100%;height:100%;position:absolute;inset:0}.timelapse-loading{opacity:.7;color:#fff;justify-content:center;align-items:center;font-size:14px;display:flex;position:absolute;inset:0}.timelapse-error{color:#fca5a5;z-index:3;background:#0009;border-radius:6px;padding:6px 12px;font-size:13px;position:absolute;top:14px;left:50%;transform:translate(-50%)}.timelapse-pause-btn{color:#fff;cursor:pointer;opacity:0;z-index:2;background:#00000059;border:0;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;transition:opacity .18s,background .18s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.timelapse-pause-btn:hover{background:#0000008c}.timelapse-stage:hover .timelapse-pause-btn,.timelapse-pause-btn.is-visible{opacity:1}.timelapse-pause-btn__play{margin-left:4px;font-size:32px;line-height:1}.timelapse-pause-btn__replay{font-size:38px;line-height:1}.timelapse-pause-btn__pause{justify-content:center;align-items:center;gap:6px;display:inline-flex}.timelapse-pause-btn__pause span{background:#fff;border-radius:1px;width:6px;height:28px;display:block}.timelapse-pause-btn.is-replay{background:#00000080;width:92px;height:92px}.timelapse-pause-btn.is-replay:hover{background:#000000b3}.timelapse-jump-btn{color:#fff;cursor:pointer;white-space:nowrap;z-index:2;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#ffffff2e;border:1px solid #ffffff47;border-radius:999px;padding:8px 18px;font-size:13px;position:absolute;top:calc(50% + 80px);left:50%;transform:translate(-50%)}.timelapse-jump-btn:hover{background:#ffffff47}.timelapse-back-btn{color:#fff;cursor:pointer;z-index:3;background:#0000008c;border:1px solid #ffffff2e;border-radius:6px;padding:6px 12px;font-size:12px;position:absolute;top:12px;left:12px}.timelapse-back-btn:hover{background:#000000bf}.filmstrip{cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;background:#0a0a0a;border-top:1px solid #ffffff14;flex:none;height:100px;position:relative;overflow:hidden}.filmstrip:active{cursor:grabbing}.filmstrip__track{align-items:center;height:100%;display:flex}.filmstrip__frame{appearance:none;cursor:pointer;background:0 0;border:0;flex:0 0 80px;width:80px;height:60px;margin:0 2px;padding:0;display:block}.timelapse-fallback{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:32px;display:flex;position:absolute;inset:0}.timelapse-fallback__msg{color:#fca5a5;max-width:480px;margin:0;font-size:14px;line-height:1.5}.timelapse-fallback__play{color:#111;cursor:pointer;background:#fff;border:0;border-radius:8px;padding:10px 22px;font-size:14px;font-weight:500}.filmstrip__frame img{object-fit:cover;pointer-events:none;background:#222;border-radius:4px;width:80px;height:45px;display:block}.filmstrip__marker{pointer-events:none;z-index:2;background:#fde047;border-radius:2px;width:3px;margin-left:-1.5px;position:absolute;top:8px;bottom:8px;left:50%;box-shadow:0 0 6px #fde04766}.users-page{max-width:960px;margin:0 auto;padding:80px 24px}.users-page__header{flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:28px;display:flex}.users-page__title{letter-spacing:-.01em;margin:0;font-size:24px;font-weight:600}.users-page__subtitle{opacity:.65;flex:1;min-width:200px;margin:0;font-size:14px}.users-page__lock{color:inherit;cursor:pointer;background:0 0;border:1px solid #0000001f;border-radius:6px;padding:6px 12px;font-size:13px}@media (prefers-color-scheme:dark){.users-page__lock{border-color:#ffffff2e}}.users-page__error{color:#b91c1c;background:#dc262614;border:1px solid #dc26264d;border-radius:8px;margin:0 0 20px;padding:10px 14px;font-size:13px}@media (prefers-color-scheme:dark){.users-page__error{color:#fca5a5;background:#dc262626;border-color:#fca5a54d}}.users-page__section-title{text-transform:uppercase;letter-spacing:.06em;opacity:.7;margin:0 0 12px;font-size:13px;font-weight:600}.users-page__count{opacity:.6;font-weight:400}.users-page__hint{opacity:.65;margin:0 0 12px;font-size:13px;line-height:1.5}.users-page__loading,.users-page__empty{text-align:center;opacity:.55;padding:32px 0;font-size:14px}.users-page__table-wrap,.users-page__unmapped{background:#fafafa;border:1px solid #00000014;border-radius:10px;margin-bottom:32px;padding:18px}@media (prefers-color-scheme:dark){.users-page__table-wrap,.users-page__unmapped{background:#ffffff0a;border-color:#ffffff14}}.users-page__unmapped-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.users-page__unmapped-row{grid-template-columns:minmax(120px,1fr) 90px minmax(120px,1.4fr) auto;align-items:center;gap:8px;display:grid}.users-page__unmapped-cam{opacity:.75;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;overflow:hidden}.users-table{border-collapse:collapse;width:100%;font-size:13px}.users-table thead th{text-align:left;text-transform:uppercase;letter-spacing:.04em;opacity:.65;border-bottom:1px solid #00000014;padding:8px 10px;font-size:12px;font-weight:600}@media (prefers-color-scheme:dark){.users-table thead th{border-bottom-color:#ffffff14}}.users-table tbody td{vertical-align:middle;border-bottom:1px solid #0000000d;padding:8px 10px}@media (prefers-color-scheme:dark){.users-table tbody td{border-bottom-color:#ffffff0d}}.users-table__cam{opacity:.75;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.users-table__num{text-align:right;font-variant-numeric:tabular-nums;width:64px}.users-table__actions{white-space:nowrap;text-align:right;justify-content:flex-end;gap:6px;width:1%;display:flex}.users-table__input{width:100%;color:inherit;font-size:13px;font:inherit;background:#fff;border:1px solid #00000026;border-radius:6px;padding:6px 8px}@media (prefers-color-scheme:dark){.users-table__input{background:#ffffff0d;border-color:#ffffff1f}}.users-table__input:focus{border-color:var(--accent-strong);box-shadow:0 0 0 3px var(--accent-glow);outline:none}.users-table__save,.users-table__delete{cursor:pointer;font-size:12px;font:inherit;color:inherit;background:0 0;border:1px solid #0000001f;border-radius:6px;padding:5px 12px}.users-table__save{color:#fff;background:#111;border-color:#111}.users-table__save:disabled{opacity:.4;cursor:not-allowed}.users-table__delete:hover:not(:disabled){color:#b91c1c;background:#dc262614;border-color:#dc262666}@media (prefers-color-scheme:dark){.users-table__save{color:#111;background:#f5f5f7;border-color:#f5f5f7}.users-table__delete{border-color:#ffffff2e}.users-table__delete:hover:not(:disabled){color:#fca5a5;background:#dc26262e;border-color:#fca5a566}}@media (width<=720px){.users-page__unmapped-row{grid-template-columns:1fr 1fr;grid-auto-rows:auto}.users-page__unmapped-cam{grid-column:1/-1}.users-table{font-size:12px}.users-table__actions{flex-direction:column}}:root{--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:72px;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-pill:9999px;--color-accent:#facc15;--color-accent-strong:#ca8a04;--color-fg-on-accent:#000;--color-fg:#111;--color-fg-secondary:#555;--color-surface:#fafafa;--color-surface-alt:#f1f1f3;--color-border:#0000001f;--color-danger:#b91c1c;--color-danger-soft:#b91c1c1a;--color-success:#15803d}@media (prefers-color-scheme:dark){:root{--color-fg:#f5f5f7;--color-fg-secondary:#b6b6bb;--color-surface:#181818;--color-surface-alt:#242424;--color-border:#ffffff2e}}body{color:var(--color-fg);background:var(--color-surface);margin:0;font-family:-apple-system,PingFang SC,Segoe UI,system-ui,sans-serif}a{color:inherit}.app-header{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--color-border);background:var(--color-surface);z-index:10;flex-wrap:wrap;display:flex;position:sticky;top:0}.app-header__brand{align-items:baseline;gap:var(--space-3);display:flex}.app-header__wordmark{font-size:22px;font-weight:700;text-decoration:none}.app-header__org{color:var(--color-fg-secondary);text-overflow:ellipsis;max-width:200px;font-size:13px;overflow:hidden}.app-header__nav{gap:var(--space-3);flex-wrap:wrap;flex:auto;display:flex}.app-header__nav-item{padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);color:var(--color-fg-secondary);font-size:14px;text-decoration:none}.app-header__nav-item:hover{background:var(--color-surface-alt);color:var(--color-fg)}.app-header__tools{align-items:center;gap:var(--space-3);display:flex}.app-header__signout{border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:var(--space-2) var(--space-4);cursor:pointer;color:inherit;background:0 0;font-size:13px}.app-footer{padding:var(--space-4) var(--space-5);color:var(--color-fg-secondary);border-top:1px solid var(--color-border);background:var(--color-surface);font-size:12px}.lang-toggle{border:1px solid var(--color-border);border-radius:var(--radius-pill);display:inline-flex;overflow:hidden}.lang-toggle__btn{padding:var(--space-2) var(--space-4);cursor:pointer;color:inherit;background:0 0;border:0;font-size:13px}.lang-toggle__btn.is-active{background:var(--color-accent);color:var(--color-fg-on-accent)}.page{max-width:1080px;padding:var(--space-6) var(--space-5);gap:var(--space-5);flex-direction:column;margin:0 auto;display:flex}.page-center{place-items:center;min-height:40vh;display:grid}.page__head{gap:var(--space-2);flex-direction:column;display:flex}.page__title{margin:0;font-size:28px}.page__subtitle{color:var(--color-fg-secondary);margin:0}.page__hint{color:var(--color-fg-secondary);font-size:13px}.page__filters{gap:var(--space-3);flex-wrap:wrap;display:flex}.page__actions-bar{gap:var(--space-3);padding:var(--space-3);background:var(--color-surface-alt);border-radius:var(--radius-md);display:flex}.page--auth{max-width:480px}.page--landing .page__cta-row{gap:var(--space-3);margin:var(--space-4) 0;display:flex}.page--landing .page__hero{gap:var(--space-3);flex-direction:column;display:flex}.form-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);gap:var(--space-4);flex-direction:column;display:flex}.form-card__title{margin:0;font-size:22px}.form-card__subtitle{color:var(--color-fg-secondary);margin:0}.form-card__error{color:var(--color-danger);margin:0}.form-card__success{color:var(--color-success);margin:0}.form-card__actions{gap:var(--space-3);justify-content:flex-end;display:flex}.form-card__dev-code{background:var(--color-surface-alt);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-family:ui-monospace,SF Mono,Menlo,monospace}.field{gap:var(--space-1);flex-direction:column;display:flex}.field--inline{align-items:center;gap:var(--space-2);flex-direction:row}.field__label{color:var(--color-fg-secondary);font-size:13px}.field__input{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-fg);font-size:16px}.field__hint{color:var(--color-fg-secondary);font-size:12px}.btn{background:var(--color-surface-alt);color:var(--color-fg);padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);cursor:pointer;font:inherit;border:1px solid #0000}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{background:var(--color-accent);color:var(--color-fg-on-accent)}.btn--primary:hover:not(:disabled){background:var(--color-accent-strong);color:#fff}.btn--secondary{background:var(--color-surface);border-color:var(--color-border)}.btn--ghost{color:var(--color-fg-secondary);background:0 0;border-color:#0000}.btn--ghost.is-active{background:var(--color-surface-alt);color:var(--color-fg)}.btn--danger{background:var(--color-danger-soft);color:var(--color-danger)}.btn--danger:hover:not(:disabled){background:var(--color-danger);color:#fff}.btn--lg{padding:var(--space-3) var(--space-5);font-size:16px}.btn--sm{padding:var(--space-1) var(--space-3);font-size:12px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);gap:var(--space-3);flex-direction:column;display:flex}.card__title{margin:0;font-size:18px}.card__meta{color:var(--color-fg-secondary);margin:0;font-size:13px}.card__since{color:var(--color-fg-secondary);margin:0}.empty-state{align-items:flex-start;gap:var(--space-3);padding:var(--space-6);background:var(--color-surface-alt);border-radius:var(--radius-lg);flex-direction:column;display:flex}.empty-state__title{margin:0;font-size:18px}.empty-state__body{color:var(--color-fg-secondary);margin:0}.empty-state__actions{gap:var(--space-3);display:flex}.empty-state__tutorial{color:var(--color-accent-strong);cursor:pointer;background:0 0;border:0;text-decoration:underline}.error-banner{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-danger-soft);color:var(--color-danger);border-radius:var(--radius-md);display:flex}.error-banner__retry{color:inherit;cursor:pointer;background:0 0;border:0;text-decoration:underline}.spinner{border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:.7s linear infinite spin;display:inline-block}.data-table{border-collapse:collapse;width:100%;font-size:14px}.data-table th,.data-table td{text-align:left;padding:var(--space-3);border-bottom:1px solid var(--color-border)}.data-table th{color:var(--color-fg-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.thumb-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.thumb-list__row{gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);grid-template-columns:2fr 1fr 1fr;display:grid}.video-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin:0;padding:0;list-style:none;display:grid}.video-grid__tile{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;display:flex;overflow:hidden}.video-grid__tile.is-orphan{border-color:var(--color-danger)}.video-grid__thumb{object-fit:cover;background:var(--color-surface-alt);width:100%;height:130px}.video-grid__thumb--placeholder{display:block}.video-grid__body{padding:var(--space-3);gap:var(--space-1);flex-direction:column;font-size:13px;display:flex}.video-grid__actions{gap:var(--space-2);margin-top:var(--space-2);display:flex}.otp-input{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.otp-input__box{text-align:center;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:44px;height:52px;color:var(--color-fg);font-size:24px}.otp-input__box.is-error{border-color:var(--color-danger)}.otp-input__error{color:var(--color-danger);flex-basis:100%;margin:0}.csv-paste{gap:var(--space-3);flex-direction:column;display:flex}.csv-paste__textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;padding:var(--space-3);background:var(--color-surface);color:var(--color-fg);font-family:ui-monospace,SF Mono,Menlo,monospace}.csv-paste__table{border-collapse:collapse;width:100%;font-size:13px}.csv-paste__table th,.csv-paste__table td{padding:var(--space-2);border-bottom:1px solid var(--color-border);text-align:left}.csv-paste__table tr.is-warning{background:var(--color-danger-soft)}.csv-paste__hint{color:var(--color-fg-secondary);margin:0}.csv-paste__actions{gap:var(--space-3);justify-content:flex-end;display:flex}.tutorial-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);margin:var(--space-3) 0}.tutorial-card__toggle{width:100%;padding:var(--space-3) var(--space-4);cursor:pointer;color:inherit;background:0 0;border:0;justify-content:space-between;align-items:center;font-weight:600;display:flex}.tutorial-card__body{padding:0 var(--space-4) var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}.tutorial-card__desc{color:var(--color-fg-secondary);margin:0}.tutorial-card__video{border-radius:var(--radius-md);background:#000;width:100%;max-height:360px}.tutorial-card--feature{border-color:var(--color-accent)}.claim-card{gap:var(--space-2);padding:var(--space-4);background:var(--color-surface-alt);border-radius:var(--radius-md);flex-direction:column;display:flex}.claim-card__row{justify-content:space-between;gap:var(--space-3);display:flex}.claim-card__label{color:var(--color-fg-secondary)}.claim-card__value{font-weight:600}.upload__list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.upload__row{gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);grid-template-columns:2fr 1fr 1fr auto;align-items:center;display:grid}.upload__row.is-uploaded{background:#15803d0d}.upload__row.is-failed{background:var(--color-danger-soft)}.upload__row.is-deduped{background:var(--color-surface-alt)}.upload__file-input{display:none}.help-group{gap:var(--space-3);flex-direction:column;display:flex}.help-group__title{margin:0;font-size:18px}.help-group__cards{gap:var(--space-3);flex-direction:column;display:flex}.pagination{gap:var(--space-3);padding:var(--space-3) 0;justify-content:center;align-items:center;display:flex}.pagination__btn{border:1px solid var(--color-border);color:inherit;border-radius:var(--radius-pill);padding:var(--space-1) var(--space-3);cursor:pointer;background:0 0}.pagination__label{color:var(--color-fg-secondary);font-size:13px}@media (width<=768px){.app-header{padding:var(--space-3);flex-direction:column;align-items:flex-start}.app-header__nav{flex-wrap:nowrap;width:100%;overflow-x:auto}.app-header__nav-item{flex:none}.page{padding:var(--space-4) var(--space-3)}.page__title{font-size:22px}.data-table{font-size:13px}.data-table th,.data-table td{padding:var(--space-2)}.video-grid{grid-template-columns:1fr}.upload__row{grid-template-columns:1fr 1fr}}
