.topbar[data-v-fab3b922]{flex:none;position:sticky;top:0;z-index:40;background:#fffffff5;-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);border-bottom:1px solid rgba(38,33,27,.08)}.topbar__inner[data-v-fab3b922]{width:100%;height:68px;padding:0 32px;display:flex;align-items:center;gap:28px}.brand[data-v-fab3b922]{display:inline-flex;align-items:center;gap:11px;flex:none}.brand__mark[data-v-fab3b922]{display:grid;grid-template-columns:repeat(2,9px);grid-template-rows:repeat(2,9px);gap:3px;padding:6px;border-radius:12px;transform:rotate(-6deg);background:#e3a4be;box-shadow:0 3px #d18da740}.brand__mark span[data-v-fab3b922]{border-radius:3px;background:#f9f4ea}.brand__mark span[data-v-fab3b922]:nth-child(1){background:#edb59c}.brand__mark span[data-v-fab3b922]:nth-child(2){background:var(--sun)}.brand__mark span[data-v-fab3b922]:nth-child(3){background:#b6d4b5}.brand__mark span[data-v-fab3b922]:nth-child(4){background:#f9f4ea}.brand__text[data-v-fab3b922]{display:flex;flex-direction:column;line-height:1.05}.brand__text strong[data-v-fab3b922]{font-family:var(--font-display);font-size:21px;font-weight:700;letter-spacing:.06em}.brand__text small[data-v-fab3b922]{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.26em;color:var(--ink-faint);margin-top:3px}.topbar__nav[data-v-fab3b922]{display:flex;align-items:center;gap:4px}.nav-link[data-v-fab3b922]{position:relative;display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;font-size:14px;font-weight:600;color:var(--ink-soft);transition:.16s var(--ease)}.nav-link[data-v-fab3b922]:hover{color:var(--ink);background:#26211b0d}.nav-link.is-active[data-v-fab3b922],.nav-link.router-link-exact-active[data-v-fab3b922]{color:var(--accent-dark);background:var(--accent-soft);box-shadow:none}.topbar__actions[data-v-fab3b922]{margin-left:auto;display:flex;align-items:center;gap:12px}.user[data-v-fab3b922]{position:relative}.user__trigger[data-v-fab3b922]{display:flex;align-items:center;gap:8px;height:40px;padding:0 8px 0 4px;border:1px solid transparent;border-radius:14px;background:transparent;transition:.16s var(--ease)}.user__trigger[data-v-fab3b922]:hover{background:var(--paper-elevated);border-color:var(--line)}.avatar[data-v-fab3b922]{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#eee5f8;color:#8b70a9;font-size:13px;font-weight:700;flex:none}.user__name[data-v-fab3b922]{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:600}.user__caret[data-v-fab3b922]{color:var(--ink-faint);transition:transform .18s var(--ease)}.user__caret.is-open[data-v-fab3b922]{transform:rotate(180deg)}.user__menu[data-v-fab3b922]{position:absolute;right:0;top:calc(100% + 8px);width:208px;padding:8px;border-radius:16px;border:1px solid var(--line);background:var(--paper-elevated);box-shadow:var(--shadow-lift);z-index:50}.user__meta[data-v-fab3b922]{display:flex;flex-direction:column;padding:8px 10px 10px;gap:2px}.user__meta strong[data-v-fab3b922]{font-size:14px}.user__meta .mono[data-v-fab3b922]{color:var(--ink-faint);font-size:11.5px}.menu-sep[data-v-fab3b922]{height:1px;background:var(--line);margin:4px 6px 6px}.menu-item[data-v-fab3b922]{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:0;border-radius:9px;background:transparent;color:var(--ink-soft);font-size:13.5px;font-weight:500;text-align:left;transition:.14s var(--ease)}.menu-item[data-v-fab3b922]:hover{background:var(--paper-sunken);color:var(--ink)}.menu-item[data-v-fab3b922]:disabled{opacity:.6;cursor:wait}.menu-enter-active[data-v-fab3b922],.menu-leave-active[data-v-fab3b922]{transition:opacity .14s var(--ease),transform .14s var(--ease);transform-origin:top right}.menu-enter-from[data-v-fab3b922],.menu-leave-to[data-v-fab3b922]{opacity:0;transform:translateY(-4px) scale(.98)}@media(max-width:820px){.topbar__inner[data-v-fab3b922]{padding:0 16px;gap:14px;height:62px}.brand__text small[data-v-fab3b922]{display:none}.brand__text strong[data-v-fab3b922]{font-size:19px}.nav-link[data-v-fab3b922]{padding:8px;font-size:12px;gap:5px}.user__name[data-v-fab3b922],.new-btn span[data-v-fab3b922]{display:none}.new-btn[data-v-fab3b922]{width:38px;padding:0}}@media(max-width:380px){.topbar__inner[data-v-fab3b922]{gap:8px;padding:0 12px}.brand[data-v-fab3b922],.topbar__actions[data-v-fab3b922]{gap:6px}.nav-link svg[data-v-fab3b922]{display:none}}.toast-host[data-v-4afe7ff9]{position:fixed;z-index:100;left:50%;top:84px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:none;width:min(92vw,440px)}.toast[data-v-4afe7ff9]{pointer-events:auto;display:flex;align-items:flex-start;gap:10px;max-width:100%;padding:11px 16px 11px 12px;border-radius:14px;background:var(--ink);color:#f9f4ea;box-shadow:0 18px 38px -20px #26211be6;cursor:pointer;font-size:13.5px;line-height:1.5}.toast p[data-v-4afe7ff9]{margin:0}.toast__icon[data-v-4afe7ff9]{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#ffffff21;flex:none;margin-top:1px}.toast--success .toast__icon[data-v-4afe7ff9]{color:#9fe3c9}.toast--error[data-v-4afe7ff9]{background:#59231a}.toast--error .toast__icon[data-v-4afe7ff9]{color:#ffb4a3;background:#ffffff1a}.toast--info .toast__icon[data-v-4afe7ff9]{color:#bcd6ff}.toast-enter-active[data-v-4afe7ff9],.toast-leave-active[data-v-4afe7ff9]{transition:opacity .2s var(--ease),transform .2s var(--ease)}.toast-host.is-public[data-v-4afe7ff9]{top:22px}.toast-enter-from[data-v-4afe7ff9],.toast-leave-to[data-v-4afe7ff9]{opacity:0;transform:translateY(-8px) scale(.97)}@media(max-width:820px){.toast-host[data-v-4afe7ff9]{top:74px}.toast-host.is-public[data-v-4afe7ff9]{top:18px}}.app-shell[data-v-e09a5ce6]{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.route-view[data-v-e09a5ce6]{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0}.app-shell--work[data-v-e09a5ce6],.app-shell--home[data-v-e09a5ce6]{height:100vh;height:100dvh;min-height:0;overflow:hidden}.app-shell--home .route-view[data-v-e09a5ce6]{overflow:auto;overscroll-behavior:none;scrollbar-width:none}.app-shell--home .route-view[data-v-e09a5ce6]::-webkit-scrollbar{display:none}.app-shell--home .route-view[data-v-e09a5ce6]>*{flex-shrink:0}:root{--paper: #fffaf7;--paper-elevated: #ffffff;--paper-sunken: #f8f1f6;--ink: #54455c;--ink-soft: #8a768a;--ink-faint: #927e91;--line: #f0e3eb;--line-strong: #e3cbdc;--accent: #cb638e;--accent-dark: #ae4675;--accent-soft: #fce9f1;--teal: #658e82;--teal-soft: #eaf4ef;--lilac: #9884c5;--sun: #eeb143;--danger: #bf412b;--danger-soft: #fae8e4;--radius-xs: 8px;--radius-sm: 13px;--radius: 16px;--radius-lg: 24px;--radius-pill: 999px;--shadow-sm: 0 4px 0 #f1e8ee80, 0 8px 24px #aa78920a;--shadow: 0 2px 8px rgba(38, 33, 27, .05), 0 24px 48px -32px rgba(38, 33, 27, .38);--shadow-lift: 0 12px 30px -12px #af789b50;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif;--font-display: ui-rounded, "Hiragino Maru Gothic ProN", "PingFang SC", var(--font-sans);--font-mono: "SF Mono", "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;--ease: cubic-bezier(.22, .61, .36, 1)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;overscroll-behavior:none}html,body,#app{min-height:100%}body{margin:0;font-family:var(--font-sans);font-size:15px;line-height:1.6;color:var(--ink);background-color:var(--paper);background-image:radial-gradient(#e9d9e5 .7px,transparent .7px);background-size:18px 18px;overscroll-behavior:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,p{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}ul,ol{margin:0;padding:0;list-style:none}canvas{display:block}svg{display:block}::selection{background:#efadc64d}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}*{scrollbar-width:thin;scrollbar-color:rgba(109,99,87,.32) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:#6d635747;border:3px solid transparent;border-radius:999px;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:#6d635773;border:3px solid transparent;background-clip:padding-box}#app{display:flex;flex-direction:column}.page{width:100%;max-width:1440px;margin:0 auto;padding:28px 40px 48px;flex:1}.page--wide{max-width:1440px}.page--flush{padding-top:20px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px;flex-wrap:wrap}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.eyebrow:before{content:"";width:18px;height:2px;border-radius:2px;background:currentColor;opacity:.6}.display{font-family:var(--font-display);font-weight:600;letter-spacing:.01em;line-height:1.15}.page-title{font-family:var(--font-display);font-size:clamp(26px,3vw,34px);font-weight:600;line-height:1.16;letter-spacing:.01em}.page-subtitle{color:var(--ink-soft);font-size:14.5px;margin-top:8px;max-width:560px}.muted{color:var(--ink-soft)}.faint{color:var(--ink-faint)}.mono{font-family:var(--font-mono);font-size:12.5px;letter-spacing:.02em}.stack{display:flex;flex-direction:column;gap:14px}.row{display:flex;align-items:center;gap:10px}.spacer{flex:1}.divider{height:1px;background:var(--line);border:0;margin:20px 0}.panel{background:var(--paper-elevated);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.panel--flat{box-shadow:none}.panel__header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid var(--line)}.panel__title{font-size:15px;font-weight:700;letter-spacing:.01em}.panel__body{padding:24px}.badge{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:var(--radius-pill);background:var(--paper-sunken);color:var(--ink-soft);font-size:12px;font-weight:600;white-space:nowrap}.badge--accent{background:var(--accent-soft);color:var(--accent-dark)}.badge--teal{background:var(--teal-soft);color:var(--teal)}.kbd{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:6px;border:1px solid var(--line-strong);border-bottom-width:2px;background:var(--paper-elevated);font-family:var(--font-mono);font-size:11px;color:var(--ink-soft)}.btn{--btn-bg: var(--paper-elevated);--btn-fg: var(--ink);--btn-border: var(--line-strong);display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 18px;border-radius:14px;border:1px solid var(--btn-border);background:var(--btn-bg);color:var(--btn-fg);font-size:14px;font-weight:600;letter-spacing:.01em;white-space:nowrap;transition:transform .16s var(--ease),background-color .16s var(--ease),border-color .16s var(--ease),box-shadow .16s var(--ease),opacity .16s var(--ease);-webkit-user-select:none;user-select:none}.btn:hover:not(:disabled){border-color:var(--ink-faint);transform:translateY(-2px)}.btn:active:not(:disabled){transform:translateY(1px) scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn svg{width:16px;height:16px;flex:none}.btn--primary{--btn-bg: var(--accent);--btn-fg: #fffaf6;--btn-border: var(--accent);box-shadow:0 3px #ad4c7433}.btn--primary:hover:not(:disabled){--btn-bg: var(--accent-dark);--btn-border: var(--accent-dark)}.btn--dark{--btn-bg: #9884c5;--btn-fg: #ffffff;--btn-border: #9884c5}.btn--dark:hover:not(:disabled){--btn-bg: #3a332b;--btn-border: #3a332b}.btn--outline{--btn-bg: transparent}.btn--ghost{--btn-bg: transparent;--btn-border: transparent;--btn-fg: var(--ink-soft);box-shadow:none}.btn--ghost:hover:not(:disabled){--btn-bg: rgba(38, 33, 27, .055);border-color:transparent}.btn--danger{--btn-bg: var(--danger-soft);--btn-fg: var(--danger);--btn-border: transparent}.btn--danger:hover:not(:disabled){--btn-bg: #f6d9d3;border-color:transparent}.btn--sm{height:34px;padding:0 13px;font-size:13px}.btn--xs{height:28px;padding:0 10px;font-size:12px;gap:5px}.btn--sm svg,.btn--xs svg{width:14px;height:14px}.btn--icon{width:38px;height:38px;padding:0;border-radius:12px}.btn--block{width:100%}.field{display:flex;flex-direction:column;gap:7px}.field__label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;font-weight:600;color:var(--ink-soft)}.field__hint{font-size:12px;color:var(--ink-faint);line-height:1.5}.input,.select,.textarea{width:100%;height:44px;padding:0 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper-elevated);font-size:14px;transition:border-color .16s var(--ease),box-shadow .16s var(--ease)}.textarea{height:auto;min-height:88px;padding:11px 14px;resize:vertical;line-height:1.6}.input::placeholder,.textarea::placeholder{color:var(--ink-faint)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #efadc638}.input:disabled,.select:disabled{background:var(--paper-sunken);color:var(--ink-faint)}.select{appearance:none;padding-right:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236d6357' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center}.input-group{display:flex;align-items:center;gap:8px}.form-error{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);font-size:13px;line-height:1.5}.form-error svg{width:15px;height:15px;flex:none;margin-top:2px}.switch{position:relative;display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.switch input{position:absolute;opacity:0;pointer-events:none}.switch__track{width:40px;height:23px;border-radius:999px;background:var(--line-strong);transition:background-color .18s var(--ease);flex:none;position:relative}.switch__track:after{content:"";position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #26211b40;transition:transform .18s var(--ease)}.switch input:checked+.switch__track{background:var(--teal)}.switch input:checked+.switch__track:after{transform:translate(17px)}.switch input:focus-visible+.switch__track{outline:2px solid var(--accent);outline-offset:2px}.switch__label{font-size:13.5px;font-weight:500;color:var(--ink)}.range{width:100%;height:22px;appearance:none;background:transparent;cursor:pointer}.range::-webkit-slider-runnable-track{height:4px;border-radius:999px;background:linear-gradient(90deg,var(--teal),var(--line-strong))}.range::-webkit-slider-thumb{appearance:none;width:18px;height:18px;margin-top:-7px;border-radius:50%;background:var(--paper-elevated);border:2px solid var(--teal);box-shadow:0 1px 4px #26211b33}.range::-moz-range-track{height:4px;border-radius:999px;background:var(--line-strong)}.range::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--paper-elevated);border:2px solid var(--teal)}.segmented{display:inline-flex;padding:3px;gap:2px;border-radius:12px;background:var(--paper-sunken);border:1px solid var(--line)}.segmented button{height:32px;padding:0 12px;border:0;border-radius:9px;background:transparent;font-size:13px;font-weight:600;color:var(--ink-soft);transition:.16s var(--ease)}.segmented button:hover{color:var(--ink)}.segmented button.is-active{background:var(--paper-elevated);color:var(--ink);box-shadow:var(--shadow-sm)}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite;flex:none}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{position:relative;overflow:hidden;background:var(--paper-sunken);border-radius:var(--radius-sm)}.skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,253,248,.7),transparent);animation:shimmer 1.4s infinite}@keyframes shimmer{to{transform:translate(100%)}}.fade-enter-active,.fade-leave-active{transition:opacity .18s var(--ease)}.fade-enter-from,.fade-leave-to{opacity:0}@media(max-width:720px){.page{padding:24px 16px 56px}.page-head{align-items:flex-start;flex-direction:column;gap:16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.work-tabs{display:none}@media(max-width:900px){.work-tabs{display:flex;flex:none;gap:4px;padding:4px;margin-bottom:12px;background:#f2eaf2;border-radius:15px}.work-tabs button{flex:1;border:0;border-radius:11px;padding:8px;font-size:13px;font-weight:600;background:transparent;color:var(--ink-soft)}.work-tabs button.is-active{background:#fff;color:var(--accent-dark);box-shadow:0 2px 5px #ac799b15}.is-mobile-hidden{display:none!important}}
