.avatar[data-v-e36d7b97]{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);overflow:hidden;flex-shrink:0;font-weight:600;-webkit-user-select:none;user-select:none}.avatar--sm[data-v-e36d7b97]{width:28px;height:28px;font-size:var(--text-xs)}.avatar--md[data-v-e36d7b97]{width:40px;height:40px;font-size:var(--text-sm)}.avatar--lg[data-v-e36d7b97]{width:64px;height:64px;font-size:var(--text-xl)}.avatar--xl[data-v-e36d7b97]{width:96px;height:96px;font-size:var(--text-3xl)}.avatar img[data-v-e36d7b97]{width:100%;height:100%;object-fit:cover}.sidebar[data-v-64b3addf]{position:fixed;inset:0 auto 0 0;z-index:var(--z-sticky);display:flex;flex-direction:column;gap:var(--space-4);width:var(--shell-sidebar-width);padding:var(--space-5) var(--space-3) var(--space-4);background:var(--color-surface-raised);border-right:1px solid var(--color-border);overflow-y:auto}.brand[data-v-64b3addf]{display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-2);text-decoration:none}.brand__mark[data-v-64b3addf]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--color-accent),var(--color-accent-hover));color:#fff;box-shadow:var(--shadow-sm)}.brand__name[data-v-64b3addf]{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:var(--color-text);letter-spacing:var(--tracking-tight)}.ws[data-v-64b3addf]{position:relative;padding:0 var(--space-1)}.ws__button[data-v-64b3addf]{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);text-align:left;transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.ws__button[data-v-64b3addf]:hover{background:var(--color-surface-hover);border-color:var(--color-border-strong)}.ws__name[data-v-64b3addf]{flex:1;min-width:0;font-size:var(--text-sm);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ws__chevron[data-v-64b3addf]{color:var(--color-text-muted);flex-shrink:0}.ws__menu[data-v-64b3addf]{position:absolute;top:calc(100% + 6px);left:var(--space-1);right:var(--space-1);z-index:var(--z-dropdown);padding:var(--space-1);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);list-style:none}.ws__empty[data-v-64b3addf]{padding:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted);text-align:center}.ws__option[data-v-64b3addf]{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-sm);text-align:left;transition:background-color var(--dur-fast) var(--ease-out)}.ws__option[data-v-64b3addf]:hover{background:var(--color-surface-hover)}.ws__option-name[data-v-64b3addf]{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}.ws__check[data-v-64b3addf]{color:var(--color-accent);flex-shrink:0}.ws__footer[data-v-64b3addf]{margin-top:var(--space-1);padding-top:var(--space-1);border-top:1px solid var(--color-border)}.ws__create[data-v-64b3addf]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:600;color:var(--color-accent-text);text-decoration:none}.ws__create[data-v-64b3addf]:hover{background:var(--color-accent-softer)}.nav[data-v-64b3addf]{flex:1;display:flex;flex-direction:column;gap:var(--space-4)}.nav__heading[data-v-64b3addf]{padding:0 var(--space-3);margin-bottom:var(--space-1);font-family:var(--font-sans);font-size:11px;font-weight:700;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-muted)}.nav__list[data-v-64b3addf]{display:flex;flex-direction:column;gap:2px;list-style:none}.nav__link[data-v-64b3addf]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);text-decoration:none;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.nav__link[data-v-64b3addf]:hover{background:var(--color-surface-hover);color:var(--color-text)}.nav__link--active[data-v-64b3addf]{background:var(--color-accent-soft);color:var(--color-accent-text);font-weight:600}.nav__link--active[data-v-64b3addf]:hover{background:var(--color-accent-soft);color:var(--color-accent-text)}.nav__icon[data-v-64b3addf]{flex-shrink:0}.sidebar-footer[data-v-64b3addf]{display:flex;align-items:center;gap:var(--space-1);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.user-chip[data-v-64b3addf]{flex:1;display:flex;align-items:center;gap:var(--space-2);min-width:0}.user-chip__name[data-v-64b3addf]{min-width:0;font-size:var(--text-xs);color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.footer-btn[data-v-64b3addf]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);color:var(--color-text-secondary);flex-shrink:0;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.footer-btn[data-v-64b3addf]:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text)}.footer-btn[data-v-64b3addf]:disabled{opacity:.5}@media (max-width: 768px){.sidebar[data-v-64b3addf]{display:none}}.dialog-overlay[data-v-5ba58e6a]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-dialog);display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:var(--color-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog-panel[data-v-5ba58e6a]{display:flex;flex-direction:column;width:100%;max-height:min(680px,calc(100dvh - 3rem));background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);overflow:hidden}.dialog-panel--sm[data-v-5ba58e6a]{max-width:380px}.dialog-panel--md[data-v-5ba58e6a]{max-width:520px}.dialog-panel--lg[data-v-5ba58e6a]{max-width:720px}.dialog-header[data-v-5ba58e6a]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border)}.dialog-title[data-v-5ba58e6a]{font-size:var(--text-lg)}.dialog-close[data-v-5ba58e6a]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-full);color:var(--color-text-muted);flex-shrink:0;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.dialog-close[data-v-5ba58e6a]:hover{background:var(--color-surface-hover);color:var(--color-text)}.dialog-body[data-v-5ba58e6a]{flex:1;overflow-y:auto;padding:var(--space-6)}.dialog-footer[data-v-5ba58e6a]{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border);background:var(--color-surface)}@media (max-width: 640px){.dialog-overlay[data-v-5ba58e6a]{padding:0;align-items:flex-end}.dialog-panel[data-v-5ba58e6a]{max-width:none;max-height:90dvh;border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;padding-bottom:env(safe-area-inset-bottom)}}.dialog-enter-active[data-v-5ba58e6a],.dialog-leave-active[data-v-5ba58e6a]{transition:opacity var(--dur-base) var(--ease-out)}.dialog-enter-active .dialog-panel[data-v-5ba58e6a],.dialog-leave-active .dialog-panel[data-v-5ba58e6a]{transition:transform var(--dur-slow) var(--ease-out),opacity var(--dur-slow) var(--ease-out)}.dialog-enter-from[data-v-5ba58e6a],.dialog-leave-to[data-v-5ba58e6a]{opacity:0}.dialog-enter-from .dialog-panel[data-v-5ba58e6a],.dialog-leave-to .dialog-panel[data-v-5ba58e6a]{transform:translateY(24px) scale(.98);opacity:0}.tabbar[data-v-690f9643]{position:fixed;bottom:0;left:0;right:0;z-index:var(--z-sticky);display:flex;align-items:center;justify-content:space-around;padding:var(--space-2) var(--space-2) calc(var(--space-2) + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--color-surface-raised) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--color-border)}.tabbar__item[data-v-690f9643]{display:flex;flex-direction:column;align-items:center;gap:2px;flex:1;max-width:88px;padding:var(--space-1) 0;border-radius:var(--radius-md);color:var(--color-text-muted);text-decoration:none;transition:color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out)}.tabbar__item[data-v-690f9643]:hover{color:var(--color-text)}.tabbar__item--active[data-v-690f9643]{color:var(--color-accent-text)}.tabbar__item--active .tabbar__icon[data-v-690f9643]{color:var(--color-accent)}.tabbar__label[data-v-690f9643]{font-size:10px;font-weight:600;letter-spacing:var(--tracking-wide)}.more-list[data-v-690f9643]{display:flex;flex-direction:column;gap:var(--space-1);list-style:none}.more-list__item[data-v-690f9643]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;color:var(--color-text);text-decoration:none;transition:background-color var(--dur-fast) var(--ease-out)}.more-list__item[data-v-690f9643]:hover{background:var(--color-surface-hover);color:var(--color-text)}@media (min-width: 769px){.tabbar[data-v-690f9643]{display:none}}.toast-viewport[data-v-d11bb219]{position:fixed;bottom:calc(var(--space-4) + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);z-index:var(--z-toast);display:flex;flex-direction:column-reverse;gap:var(--space-2);width:min(420px,calc(100vw - 2rem));pointer-events:none}.toast[data-v-d11bb219]{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);pointer-events:auto}.toast__icon[data-v-d11bb219]{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--radius-full);flex-shrink:0;font-size:12px;font-weight:700;color:#fff;margin-top:1px}.toast--success .toast__icon[data-v-d11bb219]{background:var(--color-success)}.toast--error .toast__icon[data-v-d11bb219]{background:var(--color-danger)}.toast--info .toast__icon[data-v-d11bb219]{background:var(--color-info)}.toast__message[data-v-d11bb219]{flex:1;font-size:var(--text-sm);line-height:var(--leading-snug);color:var(--color-text)}.toast__close[data-v-d11bb219]{color:var(--color-text-muted);padding:2px;border-radius:var(--radius-sm);flex-shrink:0}.toast__close[data-v-d11bb219]:hover{color:var(--color-text)}.toast-enter-active[data-v-d11bb219],.toast-leave-active[data-v-d11bb219]{transition:opacity var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out)}.toast-enter-from[data-v-d11bb219]{opacity:0;transform:translateY(12px) scale(.97)}.toast-leave-to[data-v-d11bb219]{opacity:0;transform:translateY(8px) scale(.98)}.shell{display:flex;min-height:100dvh}.shell-main{flex:1;display:flex;flex-direction:column;min-width:0;margin-left:var(--shell-sidebar-width);min-height:100dvh}.shell-content{flex:1;width:100%;max-width:var(--content-max);margin:0 auto;padding:var(--space-8) var(--space-6) var(--space-16)}.bare-layout{min-height:100dvh}.page-enter-active{transition:opacity var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out)}.page-leave-active{transition:opacity var(--dur-fast) var(--ease-out)}.page-enter-from{opacity:0;transform:translateY(8px)}.page-leave-to{opacity:0}@media (max-width: 1024px){.shell-content{padding:var(--space-6) var(--space-4) var(--space-16)}}@media (max-width: 768px){.shell-main{margin-left:0}.shell-content{padding:var(--space-4) var(--space-4) calc(76px + env(safe-area-inset-bottom))}}@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-ext-wght-normal-DCwSJGxG.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-wght-normal-D_ZTVpCC.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-bg: #faf7f2;--color-surface: #ffffff;--color-surface-raised: #fffdf9;--color-surface-sunken: #f4efe7;--color-surface-hover: #faf4ec;--color-overlay: rgb(43 32 22 / 40%);--color-text: #35281c;--color-text-secondary: #6d5d4b;--color-text-muted: #96866f;--color-text-on-accent: #ffffff;--color-accent: #c2732f;--color-accent-hover: #a9611f;--color-accent-active: #925415;--color-accent-soft: #f7e8d7;--color-accent-softer: #fbf3e9;--color-accent-text: #9a5a1d;--color-success: #3d7a4a;--color-success-soft: #e6f1e4;--color-success-text: #2c5d38;--color-warning: #b07d1e;--color-warning-soft: #faf0d8;--color-warning-text: #7a5b16;--color-danger: #b34a38;--color-danger-soft: #fae7e2;--color-danger-text: #8c3d2e;--color-info: #4a6d8c;--color-info-soft: #e5edf5;--color-info-text: #3a5670;--color-border: #eae2d4;--color-border-strong: #d9cdb9;--color-border-accent: #e3b58c;--color-focus-ring: #d9924f;--font-sans: "Figtree Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display: "Fraunces Variable", Georgia, "Times New Roman", serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--text-3xl: 2.25rem;--text-4xl: 3rem;--leading-tight: 1.2;--leading-snug: 1.35;--leading-normal: 1.6;--leading-relaxed: 1.75;--tracking-tight: -.015em;--tracking-normal: 0;--tracking-wide: .04em;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 24px;--radius-full: 999px;--shadow-xs: 0 1px 2px rgb(70 50 30 / 6%);--shadow-sm: 0 1px 3px rgb(70 50 30 / 8%), 0 1px 2px rgb(70 50 30 / 4%);--shadow-md: 0 4px 12px rgb(70 50 30 / 10%), 0 2px 4px rgb(70 50 30 / 6%);--shadow-lg: 0 12px 32px rgb(70 50 30 / 14%), 0 4px 8px rgb(70 50 30 / 8%);--shadow-xl: 0 24px 56px rgb(70 50 30 / 20%), 0 8px 16px rgb(70 50 30 / 10%);--dur-fast: .12s;--dur-base: .18s;--dur-slow: .32s;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.34, 1.4, .64, 1);--shell-sidebar-width: 264px;--shell-header-height: 64px;--content-max: 780px;--content-max-wide: 1160px;--z-dropdown: 100;--z-sticky: 200;--z-sheet: 300;--z-dialog: 400;--z-toast: 500;--z-tooltip: 600;color-scheme:light}[data-theme=dark]{--color-bg: #201a14;--color-surface: #2a221a;--color-surface-raised: #322a20;--color-surface-sunken: #191510;--color-surface-hover: #352c22;--color-overlay: rgb(12 9 6 / 60%);--color-text: #f0e8dd;--color-text-secondary: #b6a893;--color-text-muted: #857763;--color-text-on-accent: #ffffff;--color-accent: #d98c4a;--color-accent-hover: #e69d5f;--color-accent-active: #c67a35;--color-accent-soft: #4a3520;--color-accent-softer: #3a2c1c;--color-accent-text: #ecc096;--color-success: #6fae7c;--color-success-soft: #2a3b2c;--color-success-text: #a8d4af;--color-warning: #d3a44a;--color-warning-soft: #463620;--color-warning-text: #e8c790;--color-danger: #d3766a;--color-danger-soft: #4a2c26;--color-danger-text: #eda798;--color-info: #7ba3c4;--color-info-soft: #2a3542;--color-info-text: #a9c8e0;--color-border: #3d3428;--color-border-strong: #524635;--color-border-accent: #7d5a36;--color-focus-ring: #d9924f;--shadow-xs: 0 1px 2px rgb(0 0 0 / 25%);--shadow-sm: 0 1px 3px rgb(0 0 0 / 30%), 0 1px 2px rgb(0 0 0 / 20%);--shadow-md: 0 4px 12px rgb(0 0 0 / 35%), 0 2px 4px rgb(0 0 0 / 25%);--shadow-lg: 0 12px 32px rgb(0 0 0 / 45%), 0 4px 8px rgb(0 0 0 / 30%);--shadow-xl: 0 24px 56px rgb(0 0 0 / 55%), 0 8px 16px rgb(0 0 0 / 40%);color-scheme:dark}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--color-text);text-wrap:balance}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}p{text-wrap:pretty}a{color:var(--color-accent-text);text-decoration-color:color-mix(in srgb,var(--color-accent-text) 40%,transparent);text-underline-offset:2px}a:hover{color:var(--color-accent-hover);text-decoration-color:currentColor}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:none}button:disabled{cursor:not-allowed}img,svg,video{display:block;max-width:100%}ul[role=list],ol[role=list]{list-style:none}::selection{background:color-mix(in srgb,var(--color-accent) 28%,transparent)}:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}*{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-full);border:3px solid var(--color-bg)}*::-webkit-scrollbar-track{background:transparent}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (prefers-contrast: more){:root{--color-text-secondary: var(--color-text);--color-text-muted: var(--color-text);--color-border: var(--color-border-strong)}}.stack{display:flex;flex-direction:column}.cluster{display:flex;align-items:center;flex-wrap:wrap}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:fixed;top:var(--space-2);left:var(--space-2);z-index:var(--z-tooltip);padding:var(--space-2) var(--space-4);background:var(--color-accent);color:var(--color-text-on-accent);border-radius:var(--radius-md);font-weight:600;text-decoration:none;box-shadow:var(--shadow-lg);transform:translateY(calc(-100% - 12px))}.skip-link:focus-visible{transform:translateY(0)}
