.admin .section-label{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:var(--s5) 0 var(--s3)}.admin .chip{flex:0 0 auto;padding:9px 18px;border-radius:var(--r-pill);background:var(--glass);border:1px solid var(--glass-border);font-size:.84rem;font-weight:600;color:var(--ink-2);transition:color var(--t-fast) linear,border-color var(--t-fast) linear,background var(--t-mid) var(--ease-out)}.admin .chip.on{color:var(--accent-ink);background:var(--accent-grad);border-color:transparent;box-shadow:var(--accent-glow)}.admin .note{padding:var(--s4);border-radius:var(--r2);background:var(--glass);border:1px solid var(--glass-border);font-size:.86rem;line-height:1.65;color:var(--ink-2)}.admin .note strong{color:var(--ink);font-weight:600}.admin .muted{color:var(--ink-2)}.admin .small{font-size:.8rem}.admin .center{text-align:center}.admin .form-error{color:var(--danger);font-size:.82rem;margin:var(--s3) 0 0}.admin .shots{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s3)}.admin .shot{position:relative;width:62px;height:62px;border-radius:var(--r1);overflow:hidden;border:1px solid var(--glass-border);background:#000;display:block}.admin .shot img{width:100%;height:100%;object-fit:cover}.admin .admin-tabs,.admin .admin-range{display:flex;align-items:center;gap:var(--s2);padding:0 var(--s4) var(--s3);overflow-x:auto;scrollbar-width:none;flex:0 0 auto}.admin .admin-tabs::-webkit-scrollbar,.admin .admin-range::-webkit-scrollbar{display:none}.admin .admin-range{padding:0}.admin .ver-pill{flex:0 0 auto;padding:4px 11px;border-radius:var(--r-pill);background:var(--glass);border:1px solid var(--glass-border);font-family:var(--font-num);font-size:.74rem;font-weight:700;color:var(--ink-2)}.admin .hero-stat{padding:var(--s6) var(--s5);border-radius:var(--r4);background:linear-gradient(150deg,#22e4ff1f,#8b5cf624);border:1px solid var(--glass-border);text-align:center}.admin .hero-stat-n{font-family:var(--font-num);font-size:3rem;font-weight:800;line-height:1;letter-spacing:-.04em;background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.admin .hero-stat-l{margin-top:var(--s3);font-size:.9rem;font-weight:600;color:var(--ink)}.admin .hero-stat-sub{margin-top:var(--s1);font-size:.78rem;color:var(--ink-3)}.admin .tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s2)}.admin .tile{padding:var(--s4) var(--s2);border-radius:var(--r2);background:var(--glass);border:1px solid var(--glass-border);text-align:center}.admin .tile-n{font-family:var(--font-num);font-size:1.5rem;font-weight:800;letter-spacing:-.03em;color:var(--ink)}.admin .tile.muted-tile .tile-n{color:var(--ink-3)}.admin .tile-l{margin-top:3px;font-size:.7rem;color:var(--ink-3);line-height:1.3}.admin .bars,.admin .funnel{display:flex;flex-direction:column;gap:var(--s4)}.admin .bar-head,.admin .funnel-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s3);margin-bottom:5px}.admin .bar-label,.admin .funnel-label{font-size:.86rem;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin .bar-value,.admin .funnel-value{flex:0 0 auto;font-family:var(--font-num);font-size:.8rem;font-weight:700;color:var(--ink-2)}.admin .bar-pct{margin-inline-start:var(--s2);font-weight:400;color:var(--ink-4)}.admin .bar-track{height:8px;border-radius:var(--r-pill);background:var(--surface-track);overflow:hidden}.admin .bar-fill{height:100%;border-radius:0 4px 4px 0;background:var(--accent-grad);transition:width var(--t-slow) var(--ease-out)}.admin .funnel-rate{margin-top:5px;font-size:.76rem;color:var(--ink-3)}.admin .funnel-rate.weak{color:var(--danger)}.admin .funnel-warn{margin-inline-start:var(--s2);font-weight:600}.admin .funnel-note{margin-top:3px;font-size:.72rem;color:var(--ink-4)}.admin .col-chart{display:flex;align-items:flex-end;gap:2px;height:96px;padding:var(--s2);border-radius:var(--r2);background:var(--glass);border:1px solid var(--glass-border)}.admin .col{flex:1;min-width:2px;height:100%;display:flex;align-items:flex-end}.admin .col-fill{width:100%;border-radius:3px 3px 0 0;background:var(--accent-grad);min-height:0}.admin .col-axis{display:flex;justify-content:space-between;margin-top:5px;font-size:.7rem;color:var(--ink-4)}.admin .bug{padding:var(--s4);border-radius:var(--r2);background:var(--glass);border:1px solid var(--glass-border)}.admin .bug-head{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap;margin-bottom:var(--s3)}.admin .bug-code{font-family:var(--font-num);font-size:.84rem;font-weight:800;color:var(--accent)}.admin .bug-status{padding:2px 9px;border-radius:var(--r-pill);font-size:.68rem;font-weight:700}.admin .bug-status.s-open{background:#ff5d6c29;color:var(--danger)}.admin .bug-status.s-fixed{background:#3ff0a529;color:var(--lock)}.admin .bug-status.s-wontfix{background:var(--glass-strong);color:var(--ink-3)}.admin .bug-date{margin-inline-start:auto;font-size:.72rem;color:var(--ink-4)}.admin .bug-desc{margin:0 0 var(--s3);font-size:.9rem;line-height:1.6;white-space:pre-wrap;word-break:break-word}.admin .bug-meta{margin-top:var(--s3);font-size:.72rem;color:var(--ink-3)}.admin .bug-ua{margin-top:2px;color:var(--ink-4);word-break:break-all}.admin .bug-actions{display:flex;gap:var(--s2);flex-wrap:wrap;margin-top:var(--s3)}.admin .change{padding:var(--s4);border-radius:var(--r2);background:var(--glass);border:1px solid var(--glass-border)}.admin .change-head{display:flex;align-items:center;gap:var(--s2);margin-bottom:var(--s2)}.admin .change-tag{padding:2px 9px;border-radius:var(--r-pill);font-size:.68rem;font-weight:700}.admin .change-tag.t-release{background:var(--accent-grad);color:var(--accent-ink)}.admin .change-tag.t-feature{background:#22e4ff29;color:var(--accent)}.admin .change-tag.t-improve{background:#3ff0a529;color:var(--lock)}.admin .change-tag.t-fix{background:#ff5d6c29;color:var(--danger)}.admin .change-date{font-size:.72rem;color:var(--ink-3)}.admin .change-id{margin-inline-start:auto;font-family:var(--font-num);font-size:.68rem;color:var(--ink-4)}.admin .change-title{font-size:.94rem;font-weight:600;letter-spacing:var(--track-tight);margin-bottom:4px}.admin .change-detail{font-size:.84rem;line-height:1.65;color:var(--ink-2)}:root[data-theme=light] .admin .hero-stat{background:linear-gradient(150deg,#0891b217,#7c3aed1a)}:root[data-theme=light] .admin .change-tag.t-release{color:#fff}:root{--bg-void: #05070e;--bg-deep: #090c16;--bg-raised: #0f1420;--glass: rgba(255, 255, 255, .045);--glass-strong: rgba(255, 255, 255, .08);--glass-border: rgba(255, 255, 255, .1);--glass-border-lit: rgba(255, 255, 255, .18);--blur: blur(24px) saturate(180%);--ink: rgba(255, 255, 255, .94);--ink-2: rgba(255, 255, 255, .62);--ink-3: rgba(255, 255, 255, .38);--ink-4: rgba(255, 255, 255, .2);--accent: #22e4ff;--accent-2: #8b5cf6;--accent-grad: linear-gradient(135deg, #22e4ff 0%, #6366f1 55%, #8b5cf6 100%);--accent-glow: 0 0 24px rgba(34, 228, 255, .45);--accent-ink: #04060d;--lock: #3ff0a5;--lock-fill: rgba(63, 240, 165, .06);--lock-glow: 0 0 20px rgba(63, 240, 165, .5);--danger: #ff5d6c;--danger-bg: rgba(255, 93, 108, .12);--surface-panel: rgba(15, 20, 32, .86);--surface-scrim: rgba(0, 0, 0, .6);--surface-input: rgba(0, 0, 0, .35);--surface-track: rgba(255, 255, 255, .06);--font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI Variable", "Segoe UI", "PingFang TC", "Noto Sans TC", "Microsoft JhengHei", Roboto, system-ui, sans-serif;--font-num: ui-rounded, "SF Pro Rounded", var(--font);--track-tight: -.03em;--track-loose: .04em;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--s7: 48px;--r1: 8px;--r2: 14px;--r3: 20px;--r4: 28px;--r-pill: 999px;--ease-spring: cubic-bezier(.22, 1.2, .36, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--t-fast: .14s;--t-mid: .26s;--t-slow: .48s;--lift-1: 0 2px 12px rgba(0, 0, 0, .4);--lift-2: 0 12px 40px rgba(0, 0, 0, .55);--lift-3: 0 24px 80px rgba(0, 0, 0, .7);--safe-t: env(safe-area-inset-top, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--safe-l: env(safe-area-inset-left, 0px);--safe-r: env(safe-area-inset-right, 0px)}:root[data-theme=light]{--bg-void: #f2f4f8;--bg-deep: #e9edf3;--bg-raised: #ffffff;--glass: rgba(255, 255, 255, .72);--glass-strong: rgba(255, 255, 255, .95);--glass-border: rgba(10, 20, 40, .1);--glass-border-lit: rgba(10, 20, 40, .2);--ink: rgba(12, 18, 32, .94);--ink-2: rgba(12, 18, 32, .68);--ink-3: rgba(12, 18, 32, .52);--ink-4: rgba(12, 18, 32, .3);--accent: #0e7490;--accent-2: #6d28d9;--accent-grad: linear-gradient(135deg, #0e7490 0%, #4f46e5 55%, #7c3aed 100%);--accent-ink: #ffffff;--accent-glow: 0 6px 20px rgba(79, 70, 229, .28);--lock: #0f9d6b;--lock-fill: rgba(15, 157, 107, .08);--lock-glow: 0 0 20px rgba(15, 157, 107, .35);--danger: #c81e3a;--danger-bg: rgba(200, 30, 58, .1);--surface-panel: rgba(255, 255, 255, .88);--surface-scrim: rgba(20, 26, 40, .34);--surface-input: #ffffff;--surface-track: rgba(12, 18, 32, .08);--lift-1: 0 1px 3px rgba(12, 18, 32, .08);--lift-2: 0 8px 24px rgba(12, 18, 32, .1);--lift-3: 0 16px 48px rgba(12, 18, 32, .16)}@media(prefers-reduced-motion:reduce){:root{--t-fast: 0ms;--t-mid: 0ms;--t-slow: 0ms}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;height:100dvh;margin:0;overscroll-behavior:none}body{background:var(--bg-void);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;text-rendering:optimizeLegibility}button,input,textarea{font:inherit;color:inherit}button{border:none;background:none;cursor:pointer;padding:0}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--r1)}:focus:not(:focus-visible){outline:none}::selection{background:#22e4ff4d}.app{position:relative;height:100%;display:flex;flex-direction:column;background:var(--bg-void);overflow:hidden}:root{--glow-strength: 22%;--glow-a: color-mix(in srgb, #22e4ff var(--glow-strength), transparent);--glow-b: color-mix(in srgb, #8b5cf6 var(--glow-strength), transparent)}:root[data-theme=light]{--glow-strength: 42%}.app:before{content:"";position:absolute;inset:-20%;background:radial-gradient(62% 52% at 12% -2%,var(--glow-a),transparent 72%),radial-gradient(58% 55% at 96% 100%,var(--glow-b),transparent 72%);pointer-events:none;z-index:0}:root[data-bg=ocean]{--glow-a: color-mix(in srgb, #22d3ee var(--glow-strength), transparent);--glow-b: color-mix(in srgb, #3b82f6 var(--glow-strength), transparent)}:root[data-bg=sunset]{--glow-a: color-mix(in srgb, #fb923c var(--glow-strength), transparent);--glow-b: color-mix(in srgb, #f43f5e var(--glow-strength), transparent)}:root[data-bg=forest]{--glow-a: color-mix(in srgb, #34d399 var(--glow-strength), transparent);--glow-b: color-mix(in srgb, #14b8a6 var(--glow-strength), transparent)}:root[data-bg=grape]{--glow-a: color-mix(in srgb, #8b5cf6 var(--glow-strength), transparent);--glow-b: color-mix(in srgb, #e879f9 var(--glow-strength), transparent)}:root[data-bg=mono]{--glow-a: transparent;--glow-b: color-mix(in srgb, #ffffff calc(var(--glow-strength) / 6), transparent)}.sheet-sub{margin:var(--s5) 0 var(--s2);font-size:.82rem;font-weight:600;color:var(--ink-2)}.bg-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--s2)}.bg-swatch{aspect-ratio:1;border-radius:var(--r2);background:#0b1020;box-shadow:inset 0 0 0 1px var(--glass-border);transition:box-shadow var(--t-fast) linear,transform var(--t-fast) var(--ease-out)}.bg-swatch:active{transform:scale(.94)}.bg-swatch.on{box-shadow:0 0 0 2px var(--accent),var(--accent-glow)}.bg-swatch[data-bg=aurora]{background:radial-gradient(85% 85% at 12% 0%,rgba(34,228,255,.6),transparent 65%),radial-gradient(85% 85% at 100% 100%,rgba(139,92,246,.62),transparent 65%),#0b1020}.bg-swatch[data-bg=ocean]{background:radial-gradient(85% 85% at 12% 0%,rgba(34,211,238,.6),transparent 65%),radial-gradient(85% 85% at 100% 100%,rgba(59,130,246,.66),transparent 65%),#0b1020}.bg-swatch[data-bg=sunset]{background:radial-gradient(85% 85% at 12% 0%,rgba(251,146,60,.62),transparent 65%),radial-gradient(85% 85% at 100% 100%,rgba(244,63,94,.6),transparent 65%),#0b1020}.bg-swatch[data-bg=forest]{background:radial-gradient(85% 85% at 12% 0%,rgba(52,211,153,.6),transparent 65%),radial-gradient(85% 85% at 100% 100%,rgba(20,184,166,.6),transparent 65%),#0b1020}.bg-swatch[data-bg=grape]{background:radial-gradient(85% 85% at 12% 0%,rgba(139,92,246,.66),transparent 65%),radial-gradient(85% 85% at 100% 100%,rgba(232,121,249,.6),transparent 65%),#0b1020}.bg-swatch[data-bg=mono]{background:radial-gradient(90% 90% at 50% 0%,rgba(255,255,255,.12),transparent 70%),#0b1020}.app>*{position:relative;z-index:1}.glass{background:var(--glass);border:1px solid var(--glass-border);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border-radius:var(--r3)}.glass:before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28) 30%,rgba(255,255,255,.28) 70%,transparent);pointer-events:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);padding:14px 22px;border-radius:var(--r-pill);font-size:.94rem;font-weight:600;letter-spacing:var(--track-tight);white-space:nowrap;text-decoration:none;transition:transform var(--t-fast) var(--ease-spring),filter var(--t-fast) linear,background var(--t-fast) linear}.btn:active:not(:disabled){transform:scale(.955)}.btn:disabled{opacity:.35;cursor:default}.btn-primary{position:relative;background:var(--accent-grad);color:var(--accent-ink);box-shadow:var(--accent-glow),var(--lift-1)}.btn-primary:active:not(:disabled){filter:brightness(1.12)}.btn-ghost{background:var(--glass);border:1px solid var(--glass-border);color:var(--ink);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur)}.btn-ghost:active:not(:disabled){background:var(--glass-strong)}.btn-quiet{color:var(--ink-2);padding:10px 14px}.btn-danger{color:var(--danger);background:var(--danger-bg)}.btn-block{width:100%}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;color:var(--ink);transition:transform var(--t-fast) var(--ease-spring),background var(--t-fast) linear}.icon-btn:active{transform:scale(.9);background:var(--glass-strong)}.cam{position:fixed;inset:0;z-index:60;background:#000;display:flex;flex-direction:column}.cam-stage{position:relative;flex:1;min-height:0;overflow:hidden}.cam-video{width:100%;height:100%;object-fit:cover;display:block}.cam-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.reticle-fill{fill:var(--lock-fill);stroke:none;transition:opacity var(--t-mid) var(--ease-out)}.reticle-corner{fill:none;stroke:var(--lock);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 6px rgba(63,240,165,.7))}.scanline{stroke:var(--accent);stroke-width:2;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 8px rgba(34,228,255,.9));animation:scan 2.6s var(--ease-out) infinite}@keyframes scan{0%{opacity:0;transform:translateY(var(--scan-from, 0px))}14%{opacity:.85}86%{opacity:.85}to{opacity:0;transform:translateY(var(--scan-to, 0px))}}.reticle.locked .reticle-corner{animation:lock-pulse var(--t-slow) var(--ease-out)}@keyframes lock-pulse{0%{stroke-width:3;opacity:.5}40%{stroke-width:6;opacity:1}to{stroke-width:3;opacity:1}}.cam-top{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s3) var(--s4);padding-top:calc(var(--s3) + var(--safe-t));color:#fff;background:linear-gradient(rgba(0,0,0,.6),transparent)}.cam-status{display:inline-flex;align-items:center;gap:var(--s2);padding:7px 14px 7px 11px;border-radius:var(--r-pill);background:#00000073;border:1px solid var(--glass-border);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);font-size:.78rem;font-weight:500;letter-spacing:var(--track-loose)}.cam-status .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px currentColor;animation:breathe 1.6s ease-in-out infinite}.cam-status.locked{border-color:#3ff0a566}.cam-status.locked .dot{background:var(--lock);animation:none}@keyframes breathe{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}.cam-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding:var(--s5) var(--s5);padding-bottom:calc(var(--s5) + var(--safe-b));background:linear-gradient(transparent,#000000d9 40%)}.cam-side{width:76px;display:flex;align-items:center;justify-content:center}.shutter{position:relative;width:76px;height:76px;flex:0 0 auto;border-radius:50%;background:transparent;display:grid;place-items:center;transition:transform var(--t-fast) var(--ease-spring)}.shutter:before{content:"";position:absolute;inset:0;border-radius:50%;padding:3px;background:var(--accent-grad);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;box-shadow:var(--accent-glow);transition:opacity var(--t-mid) var(--ease-out)}.shutter-core{width:58px;height:58px;border-radius:50%;background:#fff;transition:transform var(--t-fast) var(--ease-spring)}.shutter:active .shutter-core{transform:scale(.86)}.shutter.locked:before{background:linear-gradient(135deg,var(--lock),#22e4ff);box-shadow:var(--lock-glow)}.shutter:disabled{opacity:.4}.cam-stack{position:relative;width:52px;height:66px}.cam-stack img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:var(--r1);border:1.5px solid rgba(255,255,255,.5);box-shadow:var(--lift-1)}.cam-stack .under-1{transform:rotate(-5deg) translate(-3px,2px);opacity:.5}.cam-stack .under-2{transform:rotate(4deg) translate(3px,1px);opacity:.3}.cam-count{position:absolute;inset-inline-end:-6px;top:-6px;min-width:22px;height:22px;padding:0 6px;border-radius:var(--r-pill);background:var(--accent-grad);color:var(--accent-ink);font-family:var(--font-num);font-size:.72rem;font-weight:700;display:grid;place-items:center;box-shadow:var(--accent-glow)}.cam-flash{position:absolute;inset:0;background:#fff;pointer-events:none;animation:flash .28s var(--ease-out)}@keyframes flash{0%{opacity:.85}to{opacity:0}}.cam-modes{display:flex;gap:2px;padding:3px;border-radius:var(--r-pill);background:#00000080;border:1px solid var(--glass-border);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur)}.cam-mode{padding:7px 16px;border-radius:var(--r-pill);font-size:.8rem;font-weight:600;color:var(--ink-2);transition:color var(--t-fast) linear,background var(--t-mid) var(--ease-out)}.cam-mode.on{background:var(--glass-strong);color:var(--ink)}.cam-msg{margin:auto;padding:var(--s7) var(--s5);text-align:center;max-width:380px}.cam-msg h2{font-size:1.15rem;margin:var(--s4) 0 var(--s2);letter-spacing:var(--track-tight)}.cam-msg p{color:var(--ink-2);font-size:.9rem;margin:0 0 var(--s5)}.crop{position:fixed;inset:0;z-index:62;background:var(--bg-void);display:flex;flex-direction:column}.crop-stage{position:relative;flex:1;min-height:0;display:grid;place-items:center;padding:var(--s4);touch-action:none;user-select:none;-webkit-user-select:none}.crop-frame{position:relative;line-height:0;max-width:100%;max-height:100%}.crop-frame img{display:block;max-width:100%;max-height:100%;border-radius:var(--r2)}.crop-frame svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.crop-poly{fill:#22e4ff1a;stroke:var(--accent);stroke-width:2;vector-effect:non-scaling-stroke}.crop-handle{fill:var(--bg-void);stroke:var(--accent);stroke-width:3;vector-effect:non-scaling-stroke;cursor:grab;transition:r var(--t-fast) var(--ease-spring)}.crop-handle.on{fill:var(--accent);r:13}.crop-handle-btn{position:absolute;width:44px;height:44px;margin:-22px;padding:0;border:none;border-radius:50%;background:transparent;cursor:grab;touch-action:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.crop-handle-btn:active{cursor:grabbing}.crop-handle-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;background:#22e4ff26}.loupe{position:absolute;width:128px;height:128px;border-radius:50%;border:2px solid var(--glass-border-lit);box-shadow:var(--lift-2),var(--accent-glow);background-color:#000;pointer-events:none;z-index:5;overflow:hidden}.crop-frame .loupe img{position:absolute;left:0;top:0;max-width:none;max-height:none;border-radius:0;transform-origin:0 0;will-change:transform}.loupe:before,.loupe:after{content:"";position:absolute;left:50%;top:50%;background:var(--accent);box-shadow:0 0 6px var(--accent)}.loupe:before{width:24px;height:1.5px;transform:translate(-50%,-50%)}.loupe:after{width:1.5px;height:24px;transform:translate(-50%,-50%)}.crop-bar{display:flex;align-items:center;gap:var(--s3);padding:var(--s4);padding-bottom:calc(var(--s4) + var(--safe-b))}.crop-bar .btn{flex:1}.crop-hint{text-align:center;color:var(--ink-3);font-size:.8rem;padding:0 var(--s4) var(--s2)}.brand{display:flex;align-items:center;gap:var(--s3);padding:var(--s4) var(--s4) var(--s3);padding-top:calc(var(--s4) + var(--safe-t));flex:0 0 auto}.brand-mark{display:grid;place-items:center;width:34px;height:34px;flex:0 0 auto;border-radius:10px;background:var(--accent-grad);color:var(--accent-ink);box-shadow:0 0 16px #22e4ff47}.brand-mark.big{width:48px;height:48px;border-radius:14px}.brand-text{display:flex;flex-direction:column;min-width:0}.brand-name{margin:0;font-size:1.02rem;font-weight:700;letter-spacing:var(--track-tight);line-height:1.25}.brand-tagline{font-size:.72rem;line-height:1.35;color:var(--ink-3);letter-spacing:0;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sop-block{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--s3);padding-bottom:var(--s2)}.sop-block h2{font-size:1.05rem;line-height:1.4;margin:0}.sop-block .sheet-sub{margin:0}.footer{margin-top:var(--s6);padding-top:var(--s5);border-top:1px solid var(--glass-border)}.line-cta{display:flex;align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);margin-bottom:var(--s5);border-radius:var(--r2);background:#06c75517;border:1px solid rgba(6,199,85,.3);text-decoration:none;color:var(--ink);transition:transform var(--t-fast) var(--ease-spring),background var(--t-fast) linear}.line-cta:active{transform:scale(.98);background:#06c75529}.line-ico{display:grid;place-items:center;width:36px;height:36px;flex:0 0 auto;border-radius:10px;background:#06c755;color:#fff}.line-text{display:flex;flex-direction:column;min-width:0;flex:1}.line-label{font-size:.92rem;font-weight:600;letter-spacing:var(--track-tight)}.wechat-cta{display:flex;flex-direction:column;align-items:center;gap:var(--s2);padding:var(--s3) var(--s4) var(--s4);margin-bottom:var(--s5);border-radius:var(--r2);background:#07c16017;border:1px solid rgba(7,193,96,.3);color:var(--ink)}.wechat-head{display:flex;align-items:center;gap:var(--s3);width:100%}.wechat-ico{display:grid;place-items:center;width:36px;height:36px;flex:0 0 auto;border-radius:10px;background:#07c160;color:#fff}.wechat-qr{width:168px;height:168px;margin-top:var(--s2);padding:8px;border-radius:var(--r2);background:#fff;display:block}.wechat-scan{margin:0;font-size:.86rem;font-weight:600;color:var(--ink-2);text-align:center}.wechat-expiry{margin:0;font-size:.76rem;line-height:1.45;color:var(--ink-3);text-align:center}.wechat-expiry.is-expired{color:var(--danger);font-weight:600}.wechat-mail{margin-top:var(--s1);font-size:.84rem;font-weight:600;color:var(--accent);text-decoration:none}.lang-btn{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;padding:7px 11px;border-radius:var(--r-pill);background:var(--glass);border:1px solid var(--glass-border);color:var(--ink-2);transition:transform var(--t-fast) var(--ease-spring),color var(--t-fast) linear,background var(--t-fast) linear}.lang-btn:active{transform:scale(.94);background:var(--glass-strong);color:var(--ink)}.lang-short{min-width:1.6em;text-align:center;font-size:.76rem;font-weight:700;letter-spacing:.02em}.row.on{background:var(--glass-strong);border-color:var(--glass-border-lit)}.row.on .row-label{font-weight:600}.row.on .row-ico{color:var(--accent)}.line-note{font-size:.72rem;line-height:1.35;color:var(--ink-3);margin-top:1px}.line-arrow{color:var(--ink-3);font-size:1.4rem;line-height:1;flex:0 0 auto}.footer-links{display:flex;flex-wrap:wrap;gap:var(--s3) var(--s5);margin-bottom:var(--s5)}.footer-links a,.footer-link-btn{font-size:.86rem;color:var(--ink-2);text-decoration:none;transition:color var(--t-fast) linear}.footer-links a:active,.footer-link-btn:active{color:var(--accent)}.footer-copy{font-size:.74rem;color:var(--ink-4);margin:0}.topbar{display:flex;align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);padding-top:calc(var(--s3) + var(--safe-t));flex:0 0 auto}.topbar h1{flex:1;min-width:0;margin:0;font-size:1.5rem;font-weight:700;letter-spacing:var(--track-tight);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-main{flex:1;min-height:0;display:flex;flex-direction:column}.content{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 var(--s4) var(--s6)}.section-label{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:var(--s5) 0 var(--s3)}.lib-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s3)}@media(min-width:720px){.lib-grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:1100px){.lib-grid{grid-template-columns:repeat(4,1fr)}}.doc-card{position:relative;display:flex;flex-direction:column;text-align:start;border-radius:var(--r3);overflow:hidden;background:var(--glass);border:1px solid var(--glass-border);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);transition:transform var(--t-mid) var(--ease-spring),border-color var(--t-fast) linear}.doc-card:active{transform:scale(.97);border-color:var(--glass-border-lit)}.doc-card.featured{grid-column:span 2}.doc-card-open{display:flex;flex-direction:column;width:100%;text-align:start;color:inherit}.doc-card-menu{position:absolute;top:var(--s2);inset-inline-end:var(--s2);z-index:2;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#00000080;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--ink);font-size:1rem;line-height:1;letter-spacing:1px;transition:transform var(--t-fast) var(--ease-spring),background var(--t-fast) linear}.doc-card-menu:active{transform:scale(.88);background:#000000bf}.doc-thumb{position:relative;aspect-ratio:3 / 4;background:#000;overflow:hidden}.doc-card.featured .doc-thumb{aspect-ratio:16 / 10}.doc-thumb img{width:100%;height:100%;object-fit:cover;filter:brightness(.92)}.doc-pages{position:absolute;inset-inline-end:var(--s2);bottom:var(--s2);z-index:1;padding:3px 10px;border-radius:var(--r-pill);background:#0009;border:1px solid var(--glass-border);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-family:var(--font-num);font-size:.72rem;font-weight:600}.doc-meta{padding:var(--s3)}.doc-name{font-size:.9rem;font-weight:600;letter-spacing:var(--track-tight);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-date{font-size:.75rem;color:var(--ink-3);margin-top:2px}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--s6) var(--s5) var(--s4);flex:1;min-height:0}.empty-orb{position:relative;width:104px;height:104px;border-radius:50%;margin-bottom:var(--s5);background:radial-gradient(circle at 35% 30%,rgba(34,228,255,.35),transparent 60%),radial-gradient(circle at 70% 75%,rgba(139,92,246,.35),transparent 60%);display:grid;place-items:center;animation:float 5s ease-in-out infinite}.empty-orb:after{content:"";position:absolute;inset:-14px;border-radius:50%;border:1px solid var(--glass-border);animation:ring 3.2s var(--ease-out) infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes ring{0%{transform:scale(.9);opacity:.8}to{transform:scale(1.25);opacity:0}}.empty h2{font-size:1.35rem;font-weight:700;letter-spacing:var(--track-tight);margin:0 0 var(--s2)}.empty p{color:var(--ink-2);font-size:.92rem;margin:0 0 var(--s5);max-width:300px;line-height:1.6}.tabbar{display:flex;align-items:center;gap:var(--s2);margin:0 var(--s4) calc(var(--s4) + var(--safe-b));padding:var(--s2);border-radius:var(--r-pill);background:var(--surface-panel);border:1px solid var(--glass-border);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);box-shadow:var(--lift-2);flex:0 0 auto}.tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:var(--s2) 0;border-radius:var(--r-pill);color:var(--ink-3);font-size:.68rem;font-weight:600;letter-spacing:var(--track-loose);transition:color var(--t-fast) linear,background var(--t-mid) var(--ease-out)}.tab.on{color:var(--ink);background:var(--glass-strong)}.tab-scan{flex:0 0 auto;width:62px;height:62px;margin:-14px var(--s1) 0;border-radius:50%;background:var(--accent-grad);color:var(--accent-ink);display:grid;place-items:center;box-shadow:var(--accent-glow),var(--lift-2);transition:transform var(--t-fast) var(--ease-spring)}.tab-scan:active{transform:scale(.92)}.scrim{position:fixed;inset:0;z-index:70;background:var(--surface-scrim);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:flex-end;justify-content:center;animation:fade var(--t-mid) var(--ease-out)}@media(min-width:640px){.scrim{align-items:center}}@keyframes fade{0%{opacity:0}}.sheet{width:100%;max-width:460px;max-height:88vh;overflow-y:auto;padding:var(--s5);padding-bottom:calc(var(--s5) + var(--safe-b));border-radius:var(--r4) var(--r4) 0 0;background:var(--surface-panel);border:1px solid var(--glass-border);border-bottom:none;backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);box-shadow:var(--lift-3);animation:rise var(--t-slow) var(--ease-spring)}@media(min-width:640px){.sheet{border-radius:var(--r4);border-bottom:1px solid var(--glass-border)}}@keyframes rise{0%{transform:translateY(100%)}}.sheet-grip{width:40px;height:4px;border-radius:var(--r-pill);background:var(--ink-4);margin:-8px auto var(--s4)}.sheet h2{font-size:1.15rem;font-weight:700;letter-spacing:var(--track-tight);margin:0 0 var(--s2)}.sheet-sub{color:var(--ink-2);font-size:.86rem;margin:0 0 var(--s5)}.sheet-actions{display:flex;flex-direction:column;gap:var(--s2);margin-top:var(--s4)}.row{display:flex;align-items:center;gap:var(--s3);width:100%;padding:var(--s3) var(--s4);border-radius:var(--r2);background:var(--glass);border:1px solid transparent;text-align:start;transition:background var(--t-fast) linear}.row:active{background:var(--glass-strong)}.row-ico{width:26px;display:grid;place-items:center;color:var(--ink-2);flex:0 0 auto}.row-label{flex:1;min-width:0;font-size:.92rem;font-weight:500}.row-sub{font-size:.76rem;color:var(--ink-3);margin-top:1px}.row.danger .row-ico,.row.danger .row-label{color:var(--danger)}.field{width:100%;padding:13px 15px;font-size:16px;border-radius:var(--r2);background:var(--surface-input);border:1px solid var(--glass-border);transition:border-color var(--t-fast) linear}.field:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #22e4ff24}.editor{position:fixed;inset:0;z-index:64;background:var(--bg-void);display:flex;flex-direction:column}.editor-stage{flex:1;min-height:0;display:grid;place-items:center;padding:var(--s4)}.editor-stage img{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--r2);box-shadow:var(--lift-3);transition:opacity var(--t-fast) linear}.filters{display:flex;gap:var(--s2);overflow-x:auto;padding:0 var(--s4) var(--s3);scrollbar-width:none}.filters::-webkit-scrollbar{display:none}.chip{flex:0 0 auto;padding:9px 18px;border-radius:var(--r-pill);background:var(--glass);border:1px solid var(--glass-border);font-size:.84rem;font-weight:600;color:var(--ink-2);transition:color var(--t-fast) linear,border-color var(--t-fast) linear,background var(--t-mid) var(--ease-out)}.chip.on{color:var(--accent-ink);background:var(--accent-grad);border-color:transparent;box-shadow:var(--accent-glow)}.filter-chip{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:5px;padding:6px 6px 7px;border-radius:var(--r2);background:var(--glass);border:1px solid var(--glass-border);font-size:.76rem;font-weight:600;color:var(--ink-2);transition:color var(--t-fast) linear,border-color var(--t-fast) linear,box-shadow var(--t-mid) var(--ease-out)}.filter-thumb{width:54px;height:54px;object-fit:cover;border-radius:calc(var(--r2) - 4px);background:var(--glass);box-shadow:inset 0 0 0 1px var(--glass-border)}.filter-chip.on{color:var(--accent);border-color:var(--accent)}.filter-chip.on .filter-thumb{box-shadow:0 0 0 2px var(--accent)}.tools{display:flex;justify-content:space-around;gap:var(--s1);padding:var(--s3) var(--s2);padding-bottom:calc(var(--s3) + var(--safe-b));border-top:1px solid var(--glass-border);background:var(--surface-panel);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur)}.tool{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;padding:var(--s2) 2px;border-radius:var(--r2);color:var(--ink-2);font-size:.68rem;font-weight:600;transition:transform var(--t-fast) var(--ease-spring),color var(--t-fast) linear}.tool:active{transform:scale(.92);color:var(--ink)}.tool.danger{color:var(--danger)}.filmstrip{display:flex;gap:var(--s2);overflow-x:auto;padding:var(--s3) var(--s4);scrollbar-width:none}.filmstrip::-webkit-scrollbar{display:none}.frame{position:relative;flex:0 0 auto;width:54px;aspect-ratio:3 / 4;border-radius:var(--r1);overflow:hidden;border:2px solid transparent;background:#000;transition:border-color var(--t-fast) linear,transform var(--t-fast) var(--ease-spring)}.frame img{width:100%;height:100%;object-fit:cover}.frame.on{border-color:var(--accent);box-shadow:var(--accent-glow)}.frame:active{transform:scale(.94)}.frame-num{position:absolute;inset-inline-start:3px;bottom:3px;padding:0 5px;border-radius:4px;background:#000000b3;font-family:var(--font-num);font-size:.62rem;font-weight:700}.hero{position:relative;padding:var(--s6) var(--s5);border-radius:var(--r4);overflow:hidden;background:linear-gradient(150deg,#22e4ff24,#8b5cf629);border:1px solid var(--glass-border);text-align:center}.hero h2{font-size:1.6rem;font-weight:800;letter-spacing:-.04em;line-height:1.2;margin:0 0 var(--s3)}.hero .grad{background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.hero p{color:var(--ink-2);font-size:.92rem;line-height:1.65;margin:0}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s2);margin-top:var(--s4)}.fact{padding:var(--s3) var(--s2);border-radius:var(--r2);background:var(--glass);border:1px solid var(--glass-border);text-align:center}.fact-n{font-family:var(--font-num);font-size:1.3rem;font-weight:800;letter-spacing:var(--track-tight);background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.fact-l{font-size:.7rem;color:var(--ink-3);margin-top:2px;line-height:1.3}.note{padding:var(--s4);border-radius:var(--r2);background:var(--glass);border:1px solid var(--glass-border);font-size:.86rem;line-height:1.65;color:var(--ink-2)}.note strong{color:var(--ink);font-weight:600}.video{position:relative;aspect-ratio:16 / 9;width:100%;border-radius:var(--r2);overflow:hidden;background:var(--glass);border:1px solid var(--glass-border)}.video-frame{position:absolute;inset:0;width:100%;height:100%;border:0}.video-poster{padding:0;cursor:pointer;background-size:cover;background-position:center;display:grid;place-items:center}.video-play{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;color:#fff;background:#0000008c;transition:transform .15s ease,background .15s ease}.video-poster:hover .video-play,.video-poster:focus-visible .video-play{transform:scale(1.06);background:var(--accent)}.spinner{width:22px;height:22px;border-radius:50%;border:2px solid var(--glass-border);border-top-color:var(--accent);animation:spin .7s linear infinite}.ptr-spin{color:var(--ink-2)}.ptr-spin.on{animation:ptr-spin .9s steps(12,end) infinite}@keyframes ptr-spin{to{transform:rotate(360deg)}}.ptr{display:flex;align-items:flex-end;justify-content:center;overflow:hidden;padding-bottom:6px}[dir=rtl] .ico-nav{transform:scaleX(-1)}@keyframes spin{to{transform:rotate(360deg)}}.busy{position:fixed;inset:0;z-index:90;display:grid;place-items:center;background:#05070ebf;color:#fffffff0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);gap:var(--s3)}.busy-inner{display:flex;flex-direction:column;align-items:center;gap:var(--s3);color:#ffffffb3;font-size:.88rem}.drop-overlay{position:fixed;inset:12px;z-index:92;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s3);border:2px dashed rgba(139,92,246,.6);border-radius:var(--r2);background:#05070ebf;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#fffffff0;pointer-events:none}.drop-orb{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,rgba(34,228,255,.35),transparent 60%),radial-gradient(circle at 70% 75%,rgba(139,92,246,.35),transparent 60%)}.drop-overlay p{font-size:1.05rem;font-weight:600;margin:0}.toast{position:fixed;left:50%;bottom:calc(var(--s7) + var(--safe-b));transform:translate(-50%);z-index:95;padding:11px 20px;border-radius:var(--r-pill);background:#0f1420eb;color:#fffffff0;border:1px solid rgba(255,255,255,.1);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);box-shadow:var(--lift-2);font-size:.86rem;font-weight:500;white-space:nowrap;animation:toast-in var(--t-mid) var(--ease-spring)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,14px)}}.muted{color:var(--ink-2)}.small{font-size:.8rem}.stack{display:flex;flex-direction:column;gap:var(--s3)}.center{text-align:center}.faq{border-radius:var(--r2);background:var(--glass);border:1px solid var(--glass-border);overflow:hidden;transition:border-color var(--t-fast) linear}.faq.open{border-color:var(--glass-border-lit)}.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:13px 14px;text-align:start;font-size:.9rem;font-weight:500;color:var(--ink)}.faq-chevron{flex:0 0 auto;color:var(--ink-3);font-size:1.1rem;line-height:1}.faq-a{padding:0 14px 14px;font-size:.86rem;line-height:1.7;color:var(--ink-2)}.shots{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s3)}.shot{position:relative;width:62px;height:62px;border-radius:var(--r1);overflow:hidden;border:1px solid var(--glass-border);background:#000;display:block}.shot img{width:100%;height:100%;object-fit:cover}.shot-x{position:absolute;top:2px;inset-inline-end:2px;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:#000000bf;color:#fff}.shot-add{width:62px;height:62px;display:grid;place-items:center;border-radius:var(--r1);border:1px dashed var(--glass-border);color:var(--ink-3);cursor:pointer}.form-error{color:var(--danger);font-size:.82rem;margin:var(--s3) 0 0}.track-code{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s4);margin-top:var(--s4);border-radius:var(--r2);background:var(--glass);border:1px solid var(--accent);box-shadow:0 0 0 3px #22e4ff1a}.track-code-label{font-size:.78rem;color:var(--ink-3)}.track-code strong{font-family:var(--font-num);font-size:1.3rem;font-weight:800;letter-spacing:.04em;background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.admin{position:fixed;inset:0;z-index:80;background:var(--bg-void);display:flex;flex-direction:column}.admin-tabs,.admin-range{display:flex;align-items:center;gap:var(--s2);padding:0 var(--s4) var(--s3);overflow-x:auto;scrollbar-width:none;flex:0 0 auto}.admin-tabs::-webkit-scrollbar,.admin-range::-webkit-scrollbar{display:none}.admin-range{padding:0}.ver-pill{flex:0 0 auto;padding:4px 11px;border-radius:var(--r-pill);background:var(--glass);border:1px solid var(--glass-border);font-family:var(--font-num);font-size:.74rem;font-weight:700;color:var(--ink-2)}.hero-stat{padding:var(--s6) var(--s5);border-radius:var(--r4);background:linear-gradient(150deg,#22e4ff1f,#8b5cf624);border:1px solid var(--glass-border);text-align:center}.hero-stat-n{font-family:var(--font-num);font-size:3rem;font-weight:800;line-height:1;letter-spacing:-.04em;background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-stat-l{margin-top:var(--s3);font-size:.9rem;font-weight:600;color:var(--ink)}.hero-stat-sub{margin-top:var(--s1);font-size:.78rem;color:var(--ink-3)}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s2)}.tile{padding:var(--s4) var(--s2);border-radius:var(--r2);background:var(--glass);border:1px solid var(--glass-border);text-align:center}.tile-n{font-family:var(--font-num);font-size:1.5rem;font-weight:800;letter-spacing:-.03em;color:var(--ink)}.tile.muted-tile .tile-n{color:var(--ink-3)}.tile-l{margin-top:3px;font-size:.7rem;color:var(--ink-3);line-height:1.3}.bars,.funnel{display:flex;flex-direction:column;gap:var(--s4)}.bar-head,.funnel-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s3);margin-bottom:5px}.bar-label,.funnel-label{font-size:.86rem;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-value,.funnel-value{flex:0 0 auto;font-family:var(--font-num);font-size:.8rem;font-weight:700;color:var(--ink-2)}.bar-pct{margin-inline-start:var(--s2);font-weight:400;color:var(--ink-4)}.bar-track{height:8px;border-radius:var(--r-pill);background:var(--surface-track);overflow:hidden}.bar-fill{height:100%;border-radius:0 4px 4px 0;background:var(--accent-grad);transition:width var(--t-slow) var(--ease-out)}.funnel-rate{margin-top:5px;font-size:.76rem;color:var(--ink-3)}.funnel-rate.weak{color:var(--danger)}.funnel-warn{margin-inline-start:var(--s2);font-weight:600}.funnel-note{margin-top:3px;font-size:.72rem;color:var(--ink-4)}.col-chart{display:flex;align-items:flex-end;gap:2px;height:96px;padding:var(--s2);border-radius:var(--r2);background:var(--glass);border:1px solid var(--glass-border)}.col{flex:1;min-width:2px;height:100%;display:flex;align-items:flex-end}.col-fill{width:100%;border-radius:3px 3px 0 0;background:var(--accent-grad);min-height:0}.col-axis{display:flex;justify-content:space-between;margin-top:5px;font-size:.7rem;color:var(--ink-4)}.bug{padding:var(--s4);border-radius:var(--r2);background:var(--glass);border:1px solid var(--glass-border)}.bug-head{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap;margin-bottom:var(--s3)}.bug-code{font-family:var(--font-num);font-size:.84rem;font-weight:800;color:var(--accent)}.bug-status{padding:2px 9px;border-radius:var(--r-pill);font-size:.68rem;font-weight:700}.bug-status.s-open{background:#ff5d6c29;color:var(--danger)}.bug-status.s-fixed{background:#3ff0a529;color:var(--lock)}.bug-status.s-wontfix{background:var(--glass-strong);color:var(--ink-3)}.bug-date{margin-inline-start:auto;font-size:.72rem;color:var(--ink-4)}.bug-desc{margin:0 0 var(--s3);font-size:.9rem;line-height:1.6;white-space:pre-wrap;word-break:break-word}.bug-meta{margin-top:var(--s3);font-size:.72rem;color:var(--ink-3)}.bug-ua{margin-top:2px;color:var(--ink-4);word-break:break-all}.bug-actions{display:flex;gap:var(--s2);flex-wrap:wrap;margin-top:var(--s3)}.change{padding:var(--s4);border-radius:var(--r2);background:var(--glass);border:1px solid var(--glass-border)}.change-head{display:flex;align-items:center;gap:var(--s2);margin-bottom:var(--s2)}.change-tag{padding:2px 9px;border-radius:var(--r-pill);font-size:.68rem;font-weight:700}.change-tag.t-release{background:var(--accent-grad);color:var(--accent-ink)}.change-tag.t-feature{background:#22e4ff29;color:var(--accent)}.change-tag.t-improve{background:#3ff0a529;color:var(--lock)}.change-tag.t-fix{background:#ff5d6c29;color:var(--danger)}.change-date{font-size:.72rem;color:var(--ink-3)}.change-id{margin-inline-start:auto;font-family:var(--font-num);font-size:.68rem;color:var(--ink-4)}.change-title{font-size:.94rem;font-weight:600;letter-spacing:var(--track-tight);margin-bottom:4px}.change-detail{font-size:.84rem;line-height:1.65;color:var(--ink-2)}.storage{display:flex;flex-direction:column;gap:6px}.storage-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s3)}.storage-row strong{font-family:var(--font-num);font-size:1.05rem;color:var(--ink)}.storage-row.sub{font-size:.78rem;color:var(--ink-3)}.storage-row.sub:last-child{display:block;line-height:1.55;margin-top:2px}.cam,.crop,.editor{--bg-void: #05070e;--bg-deep: #090c16;--bg-raised: #0f1420;--glass: rgba(255, 255, 255, .045);--glass-strong: rgba(255, 255, 255, .08);--glass-border: rgba(255, 255, 255, .1);--glass-border-lit: rgba(255, 255, 255, .18);--ink: rgba(255, 255, 255, .94);--ink-2: rgba(255, 255, 255, .62);--ink-3: rgba(255, 255, 255, .38);--ink-4: rgba(255, 255, 255, .2);--accent: #22e4ff;--accent-2: #8b5cf6;--accent-grad: linear-gradient(135deg, #22e4ff 0%, #6366f1 55%, #8b5cf6 100%);--accent-ink: #04060d;--accent-glow: 0 0 24px rgba(34, 228, 255, .45);--lock: #3ff0a5;--lock-fill: rgba(63, 240, 165, .06);--lock-glow: 0 0 20px rgba(63, 240, 165, .5);--danger: #ff5d6c;--danger-bg: rgba(255, 93, 108, .12);--lift-1: 0 2px 12px rgba(0, 0, 0, .4);--lift-2: 0 12px 40px rgba(0, 0, 0, .55);--lift-3: 0 24px 80px rgba(0, 0, 0, .7);--surface-panel: rgba(15, 20, 32, .86);--surface-scrim: rgba(0, 0, 0, .6);--surface-input: rgba(0, 0, 0, .35);--surface-track: rgba(255, 255, 255, .06);color:var(--ink)}:root[data-theme=light] .app:before{background:radial-gradient(50% 40% at 15% 0%,rgba(8,145,178,.07),transparent 70%),radial-gradient(45% 45% at 90% 100%,rgba(124,58,237,.07),transparent 70%)}:root[data-theme=light] .doc-thumb img{filter:none}:root[data-theme=light] .doc-thumb{background:var(--bg-deep)}:root[data-theme=light] .doc-card-menu{background:#ffffffd1;color:var(--ink);box-shadow:var(--lift-1)}:root[data-theme=light] .doc-pages{background:#ffffffd9;color:var(--ink)}:root[data-theme=light] .empty-orb{background:radial-gradient(circle at 35% 30%,rgba(8,145,178,.22),transparent 60%),radial-gradient(circle at 70% 75%,rgba(124,58,237,.22),transparent 60%)}:root[data-theme=light] .hero,:root[data-theme=light] .hero-stat{background:linear-gradient(150deg,#0891b217,#7c3aed1a)}:root[data-theme=light] .change-tag.t-release{color:#fff}.icon-pill{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:36px;height:33px;border-radius:var(--r-pill);background:var(--glass);border:1px solid var(--glass-border);color:var(--ink-2);transition:transform var(--t-fast) var(--ease-spring),color var(--t-fast) linear,background var(--t-fast) linear}.icon-pill:active{transform:scale(.92);background:var(--glass-strong);color:var(--ink)}.brand .icon-pill+.lang-btn{margin-inline-start:6px}
