.sidebar[data-v-b4eb20c8]{z-index:100;width:var(--sidebar-width);background:#171917;border-right:1px solid #171917;flex-direction:column;align-items:center;padding:15px 10px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar__logo[data-v-b4eb20c8]{margin-bottom:24px;padding:4px;display:flex}.sidebar__logo>span[data-v-b4eb20c8]{color:#171917;width:34px;height:34px;font-family:var(--font-display);background:#ff6040;border:1px solid #ff6040;justify-content:center;align-items:center;font-weight:800;display:inline-flex;transform:rotate(-3deg)}.sidebar__nav[data-v-b4eb20c8]{flex-direction:column;flex:1;gap:5px;width:100%;display:flex}.sidebar__bottom[data-v-b4eb20c8]{flex-direction:column;gap:5px;width:100%;display:flex}.sidebar__item[data-v-b4eb20c8]{color:#819188;cursor:pointer;width:100%;transition:color var(--duration-fast), background var(--duration-fast), transform var(--duration-fast);background:0 0;border:0;border-radius:2px;flex-direction:column;align-items:center;gap:3px;padding:8px 3px;font-family:inherit;text-decoration:none;display:flex;position:relative}.sidebar__item[data-v-b4eb20c8]:hover{color:#dce7e0;background:#ffffff0f}.sidebar__item.router-link-active[data-v-b4eb20c8]{color:#d8ff58;background:#d8ff5814}.sidebar__item.router-link-active[data-v-b4eb20c8]:before{content:"";background:#ff6040;width:3px;height:22px;position:absolute;top:13px;left:-10px}.sidebar__icon[data-v-b4eb20c8]{justify-content:center;align-items:center;width:23px;height:23px;display:flex}.sidebar__label[data-v-b4eb20c8]{white-space:nowrap;font-size:9px;font-weight:600}@media (width<=760px){.sidebar[data-v-b4eb20c8]{border-top:1px solid #20221d;border-right:0;flex-direction:row;width:100%;height:66px;padding:7px 10px;inset:auto 0 0}.sidebar__logo[data-v-b4eb20c8],.sidebar__bottom[data-v-b4eb20c8]{display:none}.sidebar__nav[data-v-b4eb20c8]{flex-direction:row;justify-content:space-around;gap:2px}.sidebar__item[data-v-b4eb20c8]{padding:5px 2px}.sidebar__item.router-link-active[data-v-b4eb20c8]:before{border-radius:3px 3px 0 0;width:50%;height:3px;inset:auto 25% -7px}}.lp-btn[data-v-7ad5ec48]{border-radius:var(--radius-md);min-height:42px;font-family:var(--font-display);font-size:var(--text-sm);font-weight:var(--fw-semibold);cursor:pointer;transition:transform var(--duration-fast) var(--ease-out), background var(--duration-fast), border-color var(--duration-fast), box-shadow var(--duration-fast);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 20px;display:inline-flex;position:relative;overflow:hidden}.lp-btn[data-v-7ad5ec48]:active{transform:scale(.97)}.lp-btn[data-v-7ad5ec48]:disabled{opacity:.5;cursor:not-allowed;transform:none}.lp-btn--block[data-v-7ad5ec48]{width:100%}.lp-btn--primary[data-v-7ad5ec48]{border-color:var(--text-primary);background:var(--brand-pop);color:var(--text-primary);box-shadow:var(--glow-brand)}.lp-btn--primary[data-v-7ad5ec48]:hover:not(:disabled){box-shadow:5px 5px 0 var(--text-primary);background:#ff7559;transform:translate(-1px,-1px)}.lp-btn--secondary[data-v-7ad5ec48]{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.lp-btn--secondary[data-v-7ad5ec48]:hover:not(:disabled){border-color:var(--border-light);background:var(--bg-elevated)}.lp-btn--ghost[data-v-7ad5ec48]{color:var(--text-secondary);background:0 0}.lp-btn--ghost[data-v-7ad5ec48]:hover:not(:disabled){color:var(--text-primary);background:var(--bg-hover)}.lp-btn--danger[data-v-7ad5ec48]{background:var(--danger);color:#fff;box-shadow:0 8px 20px #c2413a2e}.lp-btn__spinner[data-v-7ad5ec48]{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin-7ad5ec48}@keyframes spin-7ad5ec48{to{transform:rotate(360deg)}}.lp-badge[data-v-a2ccaba5]{font-size:10px;font-weight:var(--fw-semibold);font-family:var(--font-mono);border:1px solid;border-radius:2px;align-items:center;padding:3px 8px;display:inline-flex}.lp-badge--default[data-v-a2ccaba5]{background:var(--bg-elevated);color:var(--text-secondary)}.lp-badge--success[data-v-a2ccaba5]{color:var(--success);background:#087a5517}.lp-badge--warning[data-v-a2ccaba5]{color:var(--warning);background:#b9680817}.lp-badge--danger[data-v-a2ccaba5]{color:var(--danger);background:#c2413a17}.lp-badge--brand[data-v-a2ccaba5]{color:var(--brand-end);background:#1d3b2d17}.lp-badge--cyan[data-v-a2ccaba5]{color:var(--info);background:#2563a817}.topbar[data-v-47e53b2c]{z-index:50;border-bottom:1px solid var(--text-primary);-webkit-backdrop-filter:blur(18px)saturate(140%);backdrop-filter:blur(18px)saturate(140%);background:#fafbf8f0;grid-template-columns:1fr auto 1fr;align-items:center;min-height:68px;padding:10px clamp(20px,5vw,72px);display:grid;position:sticky;top:0}.topbar--app[data-v-47e53b2c]{margin-left:var(--sidebar-width);background:#fafbf8f0;grid-template-columns:1fr auto;padding-right:28px}.topbar__brand[data-v-47e53b2c]{width:max-content;color:var(--text-primary);align-items:center;gap:9px;display:inline-flex}.topbar__mark[data-v-47e53b2c]{border:1px solid var(--text-primary);background:var(--brand-pop);width:30px;height:30px;color:var(--text-primary);font-family:var(--font-display);border-radius:2px;justify-content:center;align-items:center;font-weight:800;display:inline-flex;transform:rotate(-3deg)}.topbar__brand strong[data-v-47e53b2c]{letter-spacing:-.03em;font-size:16px}.topbar__brand>span[data-v-47e53b2c]:last-child{color:var(--text-muted);font-size:11px}.topbar__nav[data-v-47e53b2c]{align-items:center;gap:30px;display:flex}.topbar__nav a[data-v-47e53b2c]{color:var(--text-secondary);font-size:13px;font-weight:600}.topbar__nav a[data-v-47e53b2c]:hover{color:var(--text-primary)}.topbar__right[data-v-47e53b2c]{justify-self:end;align-items:center;gap:10px;display:flex}.topbar__login[data-v-47e53b2c]{border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;background:0 0;border:0;padding:9px 13px;font-size:13px;font-weight:600}.topbar__login[data-v-47e53b2c]:hover{background:var(--bg-elevated);color:var(--text-primary)}.topbar__user[data-v-47e53b2c]{align-items:center;gap:9px;display:flex}.topbar__user>span[data-v-47e53b2c]{border:1px solid var(--border-light);background:var(--brand-signal);width:32px;height:32px;color:var(--text-primary);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.topbar__user div[data-v-47e53b2c]{flex-direction:column;max-width:210px;display:flex}.topbar__user small[data-v-47e53b2c]{color:var(--text-muted);font-size:9px}.topbar__user strong[data-v-47e53b2c]{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}@media (width<=760px){.topbar[data-v-47e53b2c]{grid-template-columns:1fr auto;min-height:62px;padding:9px 16px}.topbar__nav[data-v-47e53b2c],.topbar__brand>span[data-v-47e53b2c]:last-child{display:none}.topbar--app[data-v-47e53b2c]{margin-left:0}.topbar__user div[data-v-47e53b2c]{display:none}}.lp-modal-overlay[data-v-cedd0160]{z-index:1000;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#14221c70;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.lp-modal[data-v-cedd0160]{background:var(--bg-surface);border:1px solid var(--text-primary);border-radius:var(--radius-xl);padding:var(--space-xl);max-height:90vh;box-shadow:8px 8px 0 var(--text-primary);position:relative;overflow-y:auto}.lp-modal--sm[data-v-cedd0160]{width:360px}.lp-modal--md[data-v-cedd0160]{width:520px}.lp-modal--lg[data-v-cedd0160]{width:720px}.lp-modal--xl[data-v-cedd0160]{width:960px}.lp-modal__close[data-v-cedd0160]{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:24px;line-height:1;position:absolute;top:12px;right:16px}.lp-modal__close[data-v-cedd0160]:hover{color:var(--text-primary)}.modal-enter-active[data-v-cedd0160]{animation:scaleIn var(--duration-normal) var(--ease-bounce)}.modal-leave-active[data-v-cedd0160]{animation:scaleIn var(--duration-fast) var(--ease-out) reverse}.lp-input-wrap[data-v-438f4906]{flex-direction:column;gap:6px;display:flex}.lp-input__label[data-v-438f4906]{font-size:var(--text-sm);color:var(--text-secondary);font-weight:var(--fw-medium)}.lp-input[data-v-438f4906]{border:1px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-size:var(--text-sm);transition:border-color var(--duration-fast), box-shadow var(--duration-fast), background var(--duration-fast);resize:vertical;background:#fbfcfa;padding:11px 14px;font-family:inherit}.lp-input[data-v-438f4906]::placeholder{color:var(--text-muted)}.lp-input[data-v-438f4906]:focus{border-color:var(--brand-end);background:#fff;outline:none;box-shadow:0 0 0 3px #ff604021}.lp-input--error[data-v-438f4906]{border-color:var(--danger)}.lp-input__error[data-v-438f4906]{font-size:var(--text-xs);color:var(--danger)}textarea.lp-input[data-v-438f4906]{min-height:80px}.auth-brand[data-v-21ca4008]{margin-bottom:22px;padding-right:20px}.auth-brand>span[data-v-21ca4008]{color:var(--brand-pop);font-family:var(--font-mono);letter-spacing:.08em;font-size:9px}.auth-brand h2[data-v-21ca4008]{margin-top:9px;font-size:1.65rem}.auth-brand p[data-v-21ca4008]{margin-top:7px;font-size:11px;line-height:1.65}.auth-tabs[data-v-21ca4008]{border-bottom:1px solid var(--border);margin-bottom:var(--space-lg);display:flex}.auth-tabs button[data-v-21ca4008]{color:var(--text-muted);font-size:var(--text-base);font-weight:var(--fw-medium);cursor:pointer;transition:all var(--duration-fast);background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:12px;font-family:inherit}.auth-tabs button.active[data-v-21ca4008]{color:var(--text-primary);border-bottom-color:var(--brand-end)}.auth-form[data-v-21ca4008]{gap:var(--space-md);flex-direction:column;display:flex}.input-toggle[data-v-21ca4008]{gap:8px;display:flex}.input-toggle button[data-v-21ca4008]{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-surface);color:var(--text-muted);font-size:var(--text-sm);cursor:pointer;flex:1;padding:8px;font-family:inherit}.input-toggle button.active[data-v-21ca4008]{border-color:var(--text-primary);color:var(--text-primary);background:var(--brand-signal)}.consent[data-v-21ca4008]{color:var(--text-secondary);align-items:start;gap:8px;font-size:10px;line-height:1.55;display:flex}.consent input[data-v-21ca4008]{accent-color:var(--brand-pop);margin-top:2px}.consent a[data-v-21ca4008]{color:var(--brand-pop);text-underline-offset:2px;text-decoration:underline}.lp-toast-container[data-v-f2dbd181]{z-index:2000;flex-direction:column;gap:8px;display:flex;position:fixed;top:24px;right:24px}.lp-toast[data-v-f2dbd181]{border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--fw-medium);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);align-items:center;gap:8px;min-width:240px;padding:12px 20px;display:flex}.lp-toast--success[data-v-f2dbd181]{border:1px solid var(--success);color:var(--success);background:#10b98133}.lp-toast--error[data-v-f2dbd181]{border:1px solid var(--danger);color:var(--danger);background:#ef444433}.lp-toast--warning[data-v-f2dbd181]{border:1px solid var(--warning);color:var(--warning);background:#f59e0b33}.lp-toast--info[data-v-f2dbd181]{border:1px solid var(--info);color:var(--info);background:#3b82f633}.lp-toast__icon[data-v-f2dbd181]{font-weight:var(--fw-bold);font-size:var(--text-lg)}.toast-enter-active[data-v-f2dbd181]{animation:slideInRight var(--duration-normal) var(--ease-out)}.toast-leave-active[data-v-f2dbd181]{animation:slideInRight var(--duration-fast) var(--ease-out) reverse}.feedback-shell[data-v-924e747b]{z-index:80;position:fixed;bottom:18px;right:18px}.feedback-trigger[data-v-924e747b]{border:1px solid var(--text-primary);background:var(--bg-surface);color:var(--text-primary);font:9px var(--font-body);cursor:pointer;box-shadow:4px 4px 0 var(--brand-pop);align-items:center;gap:7px;padding:9px 12px;display:flex}.feedback-trigger span[data-v-924e747b]{color:var(--brand-pop);font:7px var(--font-mono)}.feedback-panel[data-v-924e747b]{border:1px solid var(--text-primary);background:var(--bg-surface);width:min(340px,100vw - 28px);box-shadow:7px 7px 0 color-mix(in srgb,var(--text-primary) 22%,transparent);padding:14px}.feedback-panel header[data-v-924e747b]{justify-content:space-between;margin-bottom:11px;display:flex}.feedback-panel header span[data-v-924e747b]{color:var(--brand-pop);font:7px var(--font-mono);display:block}.feedback-panel header strong[data-v-924e747b]{margin-top:3px;font-size:11px;display:block}.feedback-panel header button[data-v-924e747b]{color:var(--text-muted);cursor:pointer;background:0 0;border:0;font-size:18px}.feedback-panel select[data-v-924e747b],.feedback-panel textarea[data-v-924e747b]{border:1px solid var(--border);background:var(--bg-root);width:100%;color:var(--text-primary);font:9px var(--font-body);padding:9px}.rating[data-v-924e747b]{grid-template-columns:1fr repeat(5,30px);align-items:center;gap:3px;margin:8px 0;display:grid}.rating span[data-v-924e747b]{color:var(--text-muted);font-size:8px}.rating button[data-v-924e747b]{border:1px solid var(--border);background:var(--bg-root);height:27px;color:var(--text-muted);cursor:pointer;font-size:8px}.rating button.active[data-v-924e747b]{border-color:var(--text-primary);background:var(--brand-signal);color:var(--text-primary)}.submit[data-v-924e747b]{border:1px solid var(--text-primary);background:var(--text-primary);width:100%;color:var(--bg-root);cursor:pointer;margin-top:8px;padding:9px;font-size:9px}.submit[data-v-924e747b]:disabled{opacity:.45;cursor:not-allowed}.feedback-panel p[data-v-924e747b]{color:var(--text-muted);margin-top:7px;font-size:7px;line-height:1.45}@media (width<=760px){.feedback-shell[data-v-924e747b]{bottom:76px;right:12px}}:root{--bg-root:#f4f5f1;--bg-surface:#fbfcf9;--bg-elevated:#edf1ec;--bg-hover:#e4e9e4;--bg-glass:#ffffffd1;--brand-start:#4f7d61;--brand-mid:#315b45;--brand-end:#1d3b2d;--brand-pop:#ff6040;--brand-signal:#d8ff58;--gradient-brand:linear-gradient(135deg, #4f7d61 0%, #1d3b2d 100%);--gradient-warm:linear-gradient(135deg, #ff795c 0%, #ff6040 100%);--glow-brand:4px 4px 0 #171917f2;--glow-cyan:0 10px 24px #1d3b2d1f;--success:#16785a;--success-glow:0 8px 20px #16785a24;--warning:#b96808;--danger:#c2413a;--info:#2563a8;--text-primary:#12140f;--text-secondary:#585c53;--text-muted:#85887f;--text-inverse:#f8faf7;--border:#cfd7d1;--border-light:#aebbb4;--border-brand:#1d3b2d6b;--radius-sm:2px;--radius-md:4px;--radius-lg:6px;--radius-xl:8px;--radius-full:999px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:72px;--shadow-sm:0 1px 2px #1d3b2d0d;--shadow-md:0 8px 22px #1d3b2d14;--shadow-lg:0 18px 44px #1d3b2d1a;--shadow-xl:0 30px 70px #1d3b2d24;--font-display:"Aptos Display", "SF Pro Display", "PingFang SC", "Microsoft YaHei", sans-serif;--font-body:"Aptos", "SF Pro Text", -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono:"SFMono-Regular", "Cascadia Code", "JetBrains Mono", Consolas, monospace;--fw-normal:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.625rem;--text-3xl:2.125rem;--text-4xl:3rem;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-bounce:cubic-bezier(.34, 1.56, .64, 1);--duration-fast:.16s;--duration-normal:.26s;--duration-slow:.48s;--sidebar-width:76px;--sidebar-expanded:220px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{min-height:100vh;font-family:var(--font-body);color:var(--text-primary);background:var(--bg-root);line-height:1.6;overflow-x:hidden}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #ff604047}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-light);background-clip:padding-box;border:2px solid #0000;border-radius:8px}h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--fw-bold);color:var(--text-primary);letter-spacing:-.035em;text-wrap:balance}h1{font-size:var(--text-4xl);line-height:1.06}h2{font-size:var(--text-2xl);line-height:1.18}h3{font-size:var(--text-xl);line-height:1.3}p{color:var(--text-secondary);text-wrap:pretty}a{color:var(--brand-end);transition:color var(--duration-fast);text-decoration:none}a:hover{color:var(--brand-mid)}code{border-radius:var(--radius-sm);background:var(--bg-elevated);font-family:var(--font-mono);padding:2px 6px;font-size:.9em}.gradient-text{color:var(--text-primary)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}::selection{color:#12140f;background:#d9ff43}.lp-btn{border-radius:var(--radius-md);min-height:42px;font-family:var(--font-display);font-size:var(--text-sm);font-weight:var(--fw-semibold);cursor:pointer;transition:transform var(--duration-fast) var(--ease-out), background var(--duration-fast), border-color var(--duration-fast), box-shadow var(--duration-fast);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 20px;display:inline-flex}.lp-btn--primary{border-color:var(--text-primary);background:var(--brand-pop);color:var(--text-primary);box-shadow:var(--glow-brand)}.lp-btn--primary:hover{box-shadow:5px 5px 0 var(--text-primary);background:#ff7559;transform:translate(-1px,-1px)}.lp-btn--secondary{background:var(--bg-surface);color:var(--text-primary);border-color:var(--border);box-shadow:var(--shadow-sm)}.lp-btn--secondary:hover{border-color:var(--border-light);background:var(--bg-elevated)}.lp-btn--ghost{color:var(--text-secondary);background:0 0}.lp-btn--ghost:hover{color:var(--text-primary);background:var(--bg-hover)}.lp-btn:active{transform:scale(.98)}.lp-btn:disabled{opacity:.48;cursor:not-allowed;transform:none}.lp-badge--brand{color:var(--brand-end);background:#2449ff17;display:inline-block}.page{width:min(1180px,100%);margin:0 auto;padding:36px clamp(18px,4vw,48px) 72px}.page h1{margin-bottom:var(--space-lg)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.anim-fade-up{animation:fadeInUp var(--duration-slow) var(--ease-out) both}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.anim-scale-in{animation:scaleIn var(--duration-normal) var(--ease-bounce) both}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.anim-slide-right{animation:slideInRight var(--duration-slow) var(--ease-out) both}@keyframes pulseGlow{0%,to{box-shadow:0 0 10px #2449ff29}50%{box-shadow:0 0 28px #2449ff4d}}.anim-pulse-glow{animation:2s ease-in-out infinite pulseGlow}.stagger>*{opacity:0;animation:fadeInUp var(--duration-slow) var(--ease-out) forwards}.stagger>:first-child{animation-delay:0s}.stagger>:nth-child(2){animation-delay:80ms}.stagger>:nth-child(3){animation-delay:.16s}.stagger>:nth-child(4){animation-delay:.24s}.stagger>:nth-child(5){animation-delay:.32s}.stagger>:nth-child(6){animation-delay:.4s}.stagger>:nth-child(7){animation-delay:.48s}.stagger>:nth-child(8){animation-delay:.56s}@keyframes countUp{0%{opacity:0}to{opacity:1}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg, var(--bg-surface) 25%, var(--bg-elevated) 50%, var(--bg-surface) 75%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.5s infinite shimmer}.page-leave-active{animation:fadeInUp var(--duration-fast) var(--ease-out) reverse}#app-root{min-height:100dvh}.main-content{min-height:calc(100dvh - 68px)}.main-content.with-sidebar{margin-left:var(--sidebar-width);padding:clamp(22px,3.2vw,44px)}.page-enter-active{animation:fadeInUp var(--duration-normal) var(--ease-out)}.page-leave-active{animation:fadeInUp var(--duration-fast) var(--ease-out) reverse;pointer-events:none}@media (width<=760px){.main-content.with-sidebar{margin-left:0;padding:16px 14px 86px}}
