.avatar[data-v-65a6226e]{border-radius:var(--radius-md);color:var(--color-on-accent);font-weight:var(--font-bold);-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.avatar--sm[data-v-65a6226e]{width:24px;height:24px;font-size:var(--text-2xs);border-radius:var(--radius-sm)}.avatar--md[data-v-65a6226e]{width:32px;height:32px;font-size:var(--text-sm)}.avatar--lg[data-v-65a6226e]{width:40px;height:40px;font-size:var(--text-md);border-radius:var(--radius-lg)}.avatar--accent[data-v-65a6226e]{background:var(--color-accent-500)}.avatar--gray[data-v-65a6226e]{background:var(--color-gray-400)}.badge[data-v-72d67b9d]{font-size:var(--text-2xs);border-radius:var(--radius-full);padding:1px var(--space-1_5);font-variant-numeric:tabular-nums;align-items:center;line-height:1.5;display:inline-flex}.badge--neutral[data-v-72d67b9d]{color:var(--color-text-tertiary);background:var(--color-gray-100)}.badge--accent[data-v-72d67b9d]{color:var(--color-accent-600);background:var(--color-accent-50);font-weight:var(--font-medium);padding:var(--space-0_5) var(--space-2)}.spinner[data-v-45478702]{border:2px solid var(--color-gray-200);border-top-color:var(--color-accent-500);vertical-align:middle;border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.6s linear infinite ui-spin-45478702;display:inline-block}.spinner--sm[data-v-45478702]{width:12px;height:12px}.spinner--lg[data-v-45478702]{width:22px;height:22px}.spinner--on-accent[data-v-45478702]{border-color:#ffffff59;border-top-color:var(--color-on-accent)}@keyframes ui-spin-45478702{to{transform:rotate(360deg)}}.btn[data-v-310352cc]{justify-content:center;align-items:center;gap:var(--space-1_5);border-radius:var(--radius-md);font-family:inherit;font-weight:var(--font-semibold);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast), transform .16s var(--ease-spring);border:1px solid #0000;line-height:1.4;display:inline-flex}.btn[data-v-310352cc]:not(.btn--text):active:not(:disabled){transform:scale(.97)}.btn[data-v-310352cc]:disabled{cursor:not-allowed}.btn[data-v-310352cc]:focus-visible{box-shadow:var(--shadow-focus);outline:none}.btn-icon[data-v-310352cc]{flex-shrink:0;align-items:center;display:inline-flex}.btn-label[data-v-310352cc]{align-items:center;display:inline-flex}.btn--sm[data-v-310352cc]{padding:var(--space-1) var(--space-3);font-size:var(--text-xs)}.btn--md[data-v-310352cc]{padding:var(--space-1_5) var(--space-4);font-size:var(--text-sm)}.btn--lg[data-v-310352cc]{padding:var(--space-2_5) var(--space-4);font-size:var(--text-sm);gap:var(--space-2)}.btn--block[data-v-310352cc]{width:100%}.btn--primary[data-v-310352cc]{background:var(--color-accent-500);color:var(--color-on-accent);border-color:var(--color-accent-500)}.btn--primary[data-v-310352cc]:hover:not(:disabled){background:var(--color-accent-600);border-color:var(--color-accent-600);box-shadow:var(--shadow-accent-md)}.btn--primary[data-v-310352cc]:disabled{background:var(--color-gray-200);color:var(--color-gray-400);border-color:var(--color-gray-200)}.btn--secondary[data-v-310352cc]{background:var(--color-gray-50);color:var(--color-text-secondary);border-color:var(--color-border)}.btn--secondary[data-v-310352cc]:hover:not(:disabled){background:var(--color-gray-100);border-color:var(--color-border)}.btn--secondary[data-v-310352cc]:disabled{opacity:.6}.btn--ghost[data-v-310352cc]{color:var(--color-text-secondary);border-color:var(--color-border);background:0 0}.btn--ghost[data-v-310352cc]:hover:not(:disabled){background:var(--color-accent-50);border-color:var(--color-accent-200);color:var(--color-accent-600)}.btn--ghost[data-v-310352cc]:disabled{opacity:.6}.btn--danger[data-v-310352cc]{background:var(--color-danger);color:var(--color-on-accent);border-color:var(--color-danger)}.btn--danger[data-v-310352cc]:hover:not(:disabled){background:var(--color-danger-strong);border-color:var(--color-danger-strong)}.btn--danger[data-v-310352cc]:disabled{background:var(--color-gray-200);color:var(--color-gray-400);border-color:var(--color-gray-200)}.btn--danger-soft[data-v-310352cc]{background:var(--color-danger-bg);color:var(--color-danger);border-color:var(--color-danger-border)}.btn--danger-soft[data-v-310352cc]:hover:not(:disabled){background:var(--color-danger-bg-hover)}.btn--danger-soft[data-v-310352cc]:disabled{opacity:.6}.btn--text[data-v-310352cc]{color:var(--color-accent-600);font-weight:var(--font-medium);background:0 0;padding:0}.btn--text[data-v-310352cc]:hover:not(:disabled){color:var(--color-accent-700)}.btn--text[data-v-310352cc]:disabled{opacity:.6}.card[data-v-312e660f]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--inset-highlight), var(--shadow-card)}.card--padding-none[data-v-312e660f]{padding:0}.card--padding-sm[data-v-312e660f]{padding:var(--space-3)}.card--padding-md[data-v-312e660f]{padding:var(--space-4)}.card--padding-lg[data-v-312e660f]{padding:var(--space-5)}.card--hover[data-v-312e660f]{transition:border-color var(--transition-fast), box-shadow var(--transition-fast)}.card--hover[data-v-312e660f]:hover{border-color:var(--color-accent-200);box-shadow:var(--inset-highlight), var(--shadow-raised)}.chip[data-v-47e1fda7]{align-items:center;gap:var(--space-1);font-family:inherit;font-size:var(--text-2xs);border-radius:var(--radius-sm);transition:all var(--transition-fast);line-height:1.4;display:inline-flex}.chip--accent[data-v-47e1fda7]{color:var(--color-accent-700);background:var(--color-accent-50);border:1px solid var(--color-accent-100);padding:var(--space-0_5) var(--space-2);font-weight:var(--font-medium)}.chip--neutral[data-v-47e1fda7]{color:var(--color-text-secondary);background:var(--color-gray-50);border:1px solid var(--color-border-light);padding:var(--space-0_75) var(--space-2) var(--space-0_75) var(--space-2_5)}.chip--neutral.chip--clickable[data-v-47e1fda7]:hover{background:var(--color-gray-100)}.chip--neutral.chip--active[data-v-47e1fda7]{background:var(--color-accent-50);border-color:var(--color-accent-200);color:var(--color-accent-700);font-weight:var(--font-medium)}.chip-action[data-v-47e1fda7]{font-family:inherit;font-size:inherit;font-weight:inherit;color:inherit;cursor:pointer;border-radius:var(--radius-xs);background:0 0;border:none;align-items:center;padding:0;display:inline-flex}.chip-action[data-v-47e1fda7]:focus-visible{box-shadow:var(--shadow-focus);outline:none}.chip-close[data-v-47e1fda7]{width:16px;height:16px;color:inherit;opacity:.7;cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.chip-close[data-v-47e1fda7]:hover{opacity:1;background:var(--color-danger-bg);color:var(--color-danger)}.divider--horizontal[data-v-e4f8770a]{background:var(--color-border-light);justify-content:center;align-items:center;width:100%;height:1px;display:flex}.divider--horizontal[data-v-e4f8770a]:has(.divider-text){gap:var(--space-3);background:0 0}.divider--horizontal[data-v-e4f8770a]:has(.divider-text):before{content:"";background:var(--color-border-light);flex:1;height:1px}.divider--horizontal[data-v-e4f8770a]:has(.divider-text):after{content:"";background:var(--color-border-light);flex:1;height:1px}.divider-text[data-v-e4f8770a]{font-size:var(--text-2xs);color:var(--color-text-tertiary);white-space:nowrap}.divider--vertical[data-v-e4f8770a]{background:var(--color-border-light);align-self:stretch;width:1px}.empty[data-v-b311a0da]{padding:var(--space-12) var(--space-4);justify-content:center;align-items:center;gap:var(--space-2);text-align:center;flex-direction:column;display:flex}.empty-icon[data-v-b311a0da]{color:var(--color-text-tertiary);opacity:.45;margin-bottom:var(--space-2)}.empty-icon[data-v-b311a0da] svg{width:44px;height:44px}.empty-text[data-v-b311a0da]{font-size:var(--text-sm);color:var(--color-text-primary);font-weight:var(--font-semibold);letter-spacing:var(--tracking-heading);margin:0}.empty-hint[data-v-b311a0da]{font-size:var(--text-xs);color:var(--color-text-tertiary);max-width:320px;margin:0}.empty-action[data-v-b311a0da]{margin-top:var(--space-1)}.empty--compact[data-v-b311a0da]{padding:var(--space-4) 0;gap:0}.empty--compact .empty-icon[data-v-b311a0da]{margin-bottom:0}.error-boundary[data-v-2ed077fe]{padding:var(--space-12) var(--space-4);justify-content:center;align-items:center;gap:var(--space-3);text-align:center;flex-direction:column;display:flex}.error-icon[data-v-2ed077fe]{color:var(--color-danger);opacity:.6}.error-title[data-v-2ed077fe]{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text-primary)}.error-desc[data-v-2ed077fe]{font-size:var(--text-sm);color:var(--color-text-secondary);max-width:400px}.error-retry[data-v-2ed077fe]{margin-top:var(--space-2);padding:var(--space-2) var(--space-6);background:var(--color-accent-500);color:var(--color-on-accent);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:background var(--transition-fast);border:none}.error-retry[data-v-2ed077fe]:hover{background:var(--color-accent-600)}.field[data-v-c0727590]{gap:var(--space-1_5);flex-direction:column;display:flex}.field-label[data-v-c0727590]{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-text-muted)}.field-optional[data-v-c0727590]{font-weight:var(--font-normal);color:var(--color-text-tertiary)}.field-error[data-v-c0727590]{font-size:var(--text-xs);color:var(--color-danger);background:var(--color-danger-bg);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--color-danger-border)}.field-hint[data-v-c0727590]{font-size:var(--text-xs);color:var(--color-text-tertiary)}.field-error-enter-active[data-v-c0727590],.field-error-leave-active[data-v-c0727590]{transition:all var(--transition-fast)}.field-error-enter-from[data-v-c0727590],.field-error-leave-to[data-v-c0727590]{opacity:0;transform:translateY(-4px)}.icon-btn[data-v-b912d4b7]{border-radius:var(--radius-sm);color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-btn[data-v-b912d4b7]:disabled{opacity:.5;cursor:not-allowed}.icon-btn[data-v-b912d4b7]:focus-visible{box-shadow:var(--shadow-focus);outline:none}.icon-btn--xs[data-v-b912d4b7]{border-radius:var(--radius-full);width:20px;height:20px}.icon-btn--sm[data-v-b912d4b7]{width:22px;height:22px}.icon-btn--md[data-v-b912d4b7]{width:26px;height:26px}.icon-btn--lg[data-v-b912d4b7]{width:36px;height:36px}.icon-btn--ghost[data-v-b912d4b7]:hover:not(:disabled){background:var(--color-gray-100);color:var(--color-text-secondary)}.icon-btn--danger[data-v-b912d4b7]:hover:not(:disabled){background:var(--color-danger-bg);color:var(--color-danger)}.icon-btn--outlined[data-v-b912d4b7]{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-secondary);box-shadow:var(--shadow-overlay)}.icon-btn--outlined[data-v-b912d4b7]:hover:not(:disabled){background:var(--color-accent-50);border-color:var(--color-accent-200);color:var(--color-accent-600)}.icon-btn--active[data-v-b912d4b7]{color:var(--color-accent-500);background:var(--color-accent-50)}.input[data-v-6df00a91]{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-gray-50);transition:all var(--transition-fast);align-items:center;display:flex;position:relative}.input--focused[data-v-6df00a91]{border-color:var(--color-accent-400);background:var(--color-surface);box-shadow:0 0 0 3px var(--color-accent-50)}.input--error[data-v-6df00a91]{border-color:var(--color-danger)}.input--error.input--focused[data-v-6df00a91]{box-shadow:0 0 0 3px var(--color-danger-bg)}.input--disabled[data-v-6df00a91]{opacity:.6}.input-control[data-v-6df00a91]{min-width:0;padding:var(--space-2_5) var(--space-3);font-family:inherit;font-size:var(--text-sm);color:var(--color-text-primary);box-shadow:none;border-radius:var(--radius-md);background:0 0;border:none;outline:none;flex:1}.input:not(.input--bare) .input-control.has-icon[data-v-6df00a91]{padding-left:var(--space-10)}.input-control[data-v-6df00a91]::placeholder{color:var(--color-text-tertiary)}.input-icon[data-v-6df00a91]{left:var(--space-3);color:var(--color-text-tertiary);pointer-events:none;transition:color var(--transition-fast);flex-shrink:0;position:absolute}.input--focused .input-icon[data-v-6df00a91]{color:var(--color-accent-500)}.input-action[data-v-6df00a91]{padding:var(--space-0_5);color:var(--color-text-tertiary);cursor:pointer;border-radius:var(--radius-sm);margin-right:var(--space-2_5);transition:all var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;line-height:0;display:flex}.input-action[data-v-6df00a91]:hover{background:var(--color-gray-100);color:var(--color-text-secondary)}.input--focused .input-action[data-v-6df00a91]{color:var(--color-accent-500)}.input--bare[data-v-6df00a91]{background:var(--color-gray-50);border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3)}.input--bare.input--focused[data-v-6df00a91]{background:var(--color-accent-50);border-color:var(--color-accent-200);box-shadow:var(--shadow-focus-soft)}.input--bare .input-control[data-v-6df00a91]{padding:0}.input--bare .input-icon[data-v-6df00a91]{margin-right:var(--space-2);position:static}.modal-backdrop[data-v-91c9e209]{z-index:var(--z-overlay);background:var(--color-backdrop-light);-webkit-backdrop-filter:blur(6px)saturate(1.1);padding:var(--space-4);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-container[data-v-91c9e209]{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--inset-highlight), var(--shadow-float);width:100%;max-width:380px;max-height:calc(100vh - var(--space-8));transform-origin:50%;overflow-y:auto}.modal-container--sm[data-v-91c9e209]{max-width:320px}.modal-container--lg[data-v-91c9e209]{max-width:480px}.modal-header[data-v-91c9e209]{padding:var(--space-4) var(--space-4) 0;justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.modal-title[data-v-91c9e209]{font-size:var(--text-md);font-weight:var(--font-semibold);color:var(--color-text-primary);margin:0;line-height:1.3}.modal-close[data-v-91c9e209]{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.modal-close[data-v-91c9e209]:hover{background:var(--color-gray-100);color:var(--color-text-secondary)}.modal-body[data-v-91c9e209]{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.5}.modal-footer[data-v-91c9e209]{justify-content:flex-end;gap:var(--space-2);padding:0 var(--space-4) var(--space-4);display:flex}.modal-enter-active[data-v-91c9e209]{transition:opacity .16s}.modal-leave-active[data-v-91c9e209]{transition:opacity .14s}.modal-enter-active .modal-container[data-v-91c9e209]{transition:transform .26s var(--ease-spring), opacity .18s ease}.modal-leave-active .modal-container[data-v-91c9e209]{transition:transform .14s,opacity .14s}.modal-enter-from[data-v-91c9e209],.modal-leave-to[data-v-91c9e209]{opacity:0}.modal-enter-from .modal-container[data-v-91c9e209]{opacity:0;transform:translateY(10px)scale(.96)}.modal-leave-to .modal-container[data-v-91c9e209]{opacity:0;transform:translateY(6px)scale(.98)}@media (width<=640px){.modal-backdrop[data-v-91c9e209]{padding:var(--space-3);align-items:flex-end}.modal-container[data-v-91c9e209]{border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-width:100%;max-height:min(80vh,620px)}}.popover[data-v-67ba5721]{display:inline-block;position:relative}.popover-trigger[data-v-67ba5721]{cursor:pointer;display:inline-block}.popover-trigger--block[data-v-67ba5721]{width:100%;display:block}.popover-content[data-v-67ba5721]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--inset-highlight), var(--shadow-raised);z-index:var(--z-overlay);position:absolute;overflow:hidden}.popover-content--bottom-start[data-v-67ba5721]{top:calc(100% + var(--space-1_5));transform-origin:top;width:100%;left:0}.popover-content--bottom[data-v-67ba5721]{top:calc(100% + var(--space-1_5));transform-origin:top;width:100%;left:50%;transform:translate(-50%)}.popover-content--bottom-end[data-v-67ba5721]{top:calc(100% + var(--space-1_5));transform-origin:top;width:100%;right:0}.popover-content--top-start[data-v-67ba5721]{transform-origin:bottom;width:100%;bottom:calc(100% + 6px);left:0}.popover-content--top[data-v-67ba5721]{transform-origin:bottom;width:100%;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.popover-content--top-end[data-v-67ba5721]{transform-origin:bottom;width:100%;bottom:calc(100% + 6px);right:0}.popover-enter-active[data-v-67ba5721]{transition:opacity .18s ease, transform .22s var(--ease-spring)}.popover-leave-active[data-v-67ba5721]{transition:opacity .12s,transform .12s}.popover-enter-from[data-v-67ba5721],.popover-leave-to[data-v-67ba5721]{opacity:0;transform:translateY(-4px)scale(.98)}.popover-content--bottom.popover-enter-from[data-v-67ba5721],.popover-content--bottom.popover-leave-to[data-v-67ba5721]{transform:translate(-50%,-4px)scale(.98)}.popover-content--top.popover-enter-from[data-v-67ba5721],.popover-content--top.popover-leave-to[data-v-67ba5721]{transform:translate(-50%,4px)scale(.98)}.popover-content--top-start.popover-enter-from[data-v-67ba5721],.popover-content--top-start.popover-leave-to[data-v-67ba5721],.popover-content--top-end.popover-enter-from[data-v-67ba5721],.popover-content--top-end.popover-leave-to[data-v-67ba5721]{transform:translateY(4px)scale(.98)}.skeleton[data-v-c5d7f6e8]{background:var(--color-gray-100);border-radius:var(--radius-sm);vertical-align:middle;animation:2.4s ease-in-out infinite skeleton-pulse-c5d7f6e8;display:inline-block}.skeleton--text[data-v-c5d7f6e8]{width:100%;height:13px}.skeleton--circle[data-v-c5d7f6e8]{border-radius:50%;flex-shrink:0}.skeleton--rect[data-v-c5d7f6e8]{border-radius:var(--radius-md)}@keyframes skeleton-pulse-c5d7f6e8{0%,to{opacity:.7}50%{opacity:.35}}.textarea[data-v-d35b4143]{width:100%;font-family:var(--font-content);font-size:var(--text-sm);color:var(--color-text-primary);resize:none;box-shadow:none;box-sizing:border-box;outline:none;line-height:1.5}.textarea[data-v-d35b4143]::placeholder{color:var(--color-text-tertiary)}.textarea[data-v-d35b4143]:disabled{opacity:.6}.textarea--default[data-v-d35b4143]{background:var(--color-surface);border:1px solid var(--color-accent-300);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);min-height:80px;box-shadow:var(--shadow-focus-soft)}.textarea--default[data-v-d35b4143]:focus{border-color:var(--color-accent-400);box-shadow:var(--shadow-focus-strong)}.textarea--error[data-v-d35b4143]{border-color:var(--color-danger);box-shadow:0 0 0 3px var(--color-danger-bg)}.textarea--bare[data-v-d35b4143]{font-size:var(--text-md);background:0 0;border:none;min-height:80px;padding:0}.theme-switch[data-v-88c1de1d]{gap:var(--space-0_5);padding:var(--space-0_5);background:var(--color-gray-100);border-radius:var(--radius-md);display:inline-flex}.theme-option[data-v-88c1de1d]{padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--text-xs);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none}.theme-option[data-v-88c1de1d]:hover{color:var(--color-text-primary)}.theme-option.active[data-v-88c1de1d]{background:var(--color-surface);color:var(--color-text-primary);font-weight:var(--font-medium);box-shadow:var(--shadow-card)}.user-section[data-v-12f30265]{margin-bottom:var(--space-4);display:block}.user-card[data-v-12f30265]{align-items:center;gap:var(--space-3);padding:var(--space-2_5) var(--space-3);border-radius:var(--radius-md);background:var(--color-gray-50);border:1px solid var(--color-border-light);cursor:pointer;text-align:left;width:100%;transition:background var(--transition-fast), border-color var(--transition-fast);font-family:inherit;display:flex}.user-card[data-v-12f30265]:hover{background:var(--color-gray-100);border-color:var(--color-border)}.user-card.active[data-v-12f30265]{background:var(--color-accent-50);border-color:var(--color-accent-200)}.user-meta[data-v-12f30265]{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.user-name[data-v-12f30265]{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;line-height:1.3;overflow:hidden}.user-email[data-v-12f30265]{font-size:var(--text-2xs);color:var(--color-text-tertiary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.user-arrow[data-v-12f30265]{border-radius:var(--radius-sm);width:22px;height:22px;color:var(--color-text-tertiary);transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.user-arrow.up[data-v-12f30265]{transform:rotate(180deg)}.popover-header[data-v-12f30265]{padding:var(--space-3) var(--space-3) 0}.popover-title[data-v-12f30265]{font-size:var(--text-2xs);font-weight:var(--font-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:1px}.popover-body[data-v-12f30265]{padding:var(--space-3);gap:var(--space-2);flex-direction:column;display:flex}.info-item[data-v-12f30265]{font-size:var(--text-xs);justify-content:space-between;align-items:center;display:flex}.info-label[data-v-12f30265]{color:var(--color-text-tertiary)}.info-value[data-v-12f30265]{color:var(--color-text-primary);font-weight:var(--font-medium);text-align:right;text-overflow:ellipsis;white-space:nowrap;max-width:60%;overflow:hidden}.popover-footer[data-v-12f30265]{padding:var(--space-2) var(--space-3) var(--space-3);border-top:1px solid var(--color-border-light)}.calendar-section[data-v-6530c0e1]{margin-bottom:var(--space-4)}.calendar-header[data-v-6530c0e1]{align-items:center;gap:var(--space-1);margin-bottom:var(--space-2);grid-template-columns:24px 1fr 24px;display:grid}.calendar-title[data-v-6530c0e1]{font-family:inherit;font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-text-secondary);letter-spacing:.3px;text-align:center;cursor:pointer;padding:var(--space-0_5) var(--space-1_5);border-radius:var(--radius-xs);transition:all var(--transition-fast);background:0 0;border:none}.calendar-title[data-v-6530c0e1]:hover{color:var(--color-accent-600);background:var(--color-accent-50)}.calendar-grid[data-v-6530c0e1]{grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.calendar-weekday[data-v-6530c0e1]{text-align:center;font-size:var(--text-2xs);color:var(--color-text-tertiary);padding:var(--space-0_5) 0;font-weight:var(--font-medium)}.calendar-day[data-v-6530c0e1]{aspect-ratio:1;font-size:var(--text-2xs);color:var(--color-text-muted);border-radius:var(--radius-xs);cursor:default;transition:all var(--transition-fast);font-variant-numeric:tabular-nums;background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-family:inherit;display:flex}.calendar-day.other-month[data-v-6530c0e1]{color:var(--color-gray-300)}.calendar-day.today[data-v-6530c0e1]{font-weight:var(--font-bold);color:var(--color-accent-600)}.calendar-day.has-memo[data-v-6530c0e1]{cursor:pointer;background:var(--color-accent-50);color:var(--color-accent-700);font-weight:var(--font-medium);position:relative}.calendar-day.has-memo[data-v-6530c0e1]:after{content:"";opacity:.55;background:currentColor;border-radius:50%;width:3px;height:3px;position:absolute;bottom:3px}.calendar-day.has-memo[data-v-6530c0e1]:hover{background:var(--color-accent-100)}.calendar-day.active[data-v-6530c0e1]{background:var(--color-accent-500);color:var(--color-on-accent);font-weight:var(--font-bold);box-shadow:var(--shadow-accent-md)}.calendar-day.active[data-v-6530c0e1]:after{display:none}.calendar-fade-enter-active[data-v-6530c0e1],.calendar-fade-leave-active[data-v-6530c0e1]{transition:opacity var(--transition-fast)}.calendar-fade-enter-from[data-v-6530c0e1],.calendar-fade-leave-to[data-v-6530c0e1]{opacity:0}.tags-section[data-v-248b6d72]{margin-bottom:var(--space-2)}.section-title[data-v-248b6d72]{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-text-secondary);margin-bottom:var(--space-2);letter-spacing:.02em;justify-content:space-between;align-items:center;display:flex}.tags-list[data-v-248b6d72]{gap:var(--space-1);flex-wrap:wrap;align-items:center;display:flex}.tag-chip.is-editing[data-v-248b6d72]{opacity:.8}.tag-rename[data-v-248b6d72]{padding:var(--space-0_75) var(--space-2) var(--space-0_75) var(--space-2_5);font-size:var(--text-2xs);color:var(--color-accent-700);background:var(--color-accent-50);border:1px solid var(--color-accent-200);border-radius:var(--radius-sm);box-shadow:var(--shadow-focus);align-items:center;gap:1px;line-height:1.4;display:inline-flex}.tag-rename-prefix[data-v-248b6d72]{opacity:.6}.tag-rename-input[data-v-248b6d72]{font-family:inherit;font-size:inherit;line-height:inherit;color:inherit;background:0 0;border:none;outline:none;min-width:4ch;max-width:32ch;padding:0}.edit-tags-btn[data-v-248b6d72]{align-items:center;gap:var(--space-1);font-size:var(--text-2xs);color:var(--color-text-tertiary);cursor:pointer;padding:var(--space-0_5) var(--space-1_5);border-radius:var(--radius-xs);transition:all var(--transition-fast);background:0 0;border:none;font-family:inherit;display:inline-flex}.edit-tags-btn[data-v-248b6d72]:hover{color:var(--color-accent-600);background:var(--color-accent-50)}.edit-tags-btn.active[data-v-248b6d72]{color:var(--color-accent-700);background:var(--color-accent-100)}.stats-section[data-v-b10be317]{gap:var(--space-2);margin-bottom:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.stat-card[data-v-b10be317]{background:var(--color-gray-50);border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:var(--space-3) var(--space-2);align-items:center;gap:var(--space-0_5);cursor:pointer;transition:all var(--transition-normal) var(--ease-smooth);flex-direction:column;font-family:inherit;display:flex}.stat-card[data-v-b10be317]:hover{background:var(--color-gray-100);border-color:var(--color-border);box-shadow:var(--shadow-card)}.stat-card.active[data-v-b10be317]{background:var(--color-accent-50);border-color:var(--color-accent-200);box-shadow:var(--inset-highlight-accent)}.stat-num[data-v-b10be317]{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text-primary);letter-spacing:var(--tracking-heading);font-variant-numeric:tabular-nums;line-height:1}.stat-card.active .stat-num[data-v-b10be317]{color:var(--color-accent-600)}.stat-label[data-v-b10be317]{font-size:var(--text-2xs);color:var(--color-text-tertiary);font-weight:var(--font-medium);letter-spacing:0;line-height:1.2}.settings-section[data-v-b10be317]{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-border-light);gap:var(--space-1);display:flex}.settings-btn[data-v-b10be317]{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-md);cursor:pointer;font-family:inherit;font-size:var(--text-caption);color:var(--color-text-tertiary);transition:all var(--transition-fast);background:0 0;border:none;flex:1;display:inline-flex}.settings-btn[data-v-b10be317]:hover{background:var(--color-gray-100);color:var(--color-text-secondary)}.search-section[data-v-b10be317]{margin-bottom:var(--space-4)}.search-input.active[data-v-b10be317]{background:var(--color-accent-50);border-color:var(--color-accent-200);box-shadow:var(--shadow-focus-soft)}@media (width<=768px){.sidebar-card[data-v-b10be317]{padding:var(--space-5) var(--space-4);min-height:100%}}.editor-md-toolbar[data-v-ff69e1b7]{flex-wrap:wrap;align-items:center;gap:1px;display:flex}.md-tool-btn[data-v-ff69e1b7]{border-radius:var(--radius-sm);width:26px;height:26px;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.md-tool-btn[data-v-ff69e1b7]:hover{color:var(--color-accent-600);background:var(--color-accent-50)}.md-tool-btn[data-v-ff69e1b7]:disabled{opacity:.4;cursor:default}.md-tool-btn[data-v-ff69e1b7]:disabled:hover{color:var(--color-text-tertiary);background:0 0}.editor-container[data-v-c6a91786]{--editor-min-height:80px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-2) var(--space-4) var(--space-3) var(--space-4);box-shadow:var(--shadow-card);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);flex-direction:column;display:flex}.editor-container.focused[data-v-c6a91786]{border-color:var(--color-accent-400);box-shadow:var(--shadow-focus-soft), var(--shadow-card-hover)}.editor-head[data-v-c6a91786]{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-1) 0 var(--space-2);opacity:.55;transition:opacity var(--transition-normal) var(--ease-smooth);display:flex}.editor-container:focus-within .editor-head[data-v-c6a91786],.editor-head[data-v-c6a91786]:hover{opacity:1}.editor-area[data-v-c6a91786]{min-height:var(--editor-min-height);position:relative}.editor-area.animating[data-v-c6a91786]{transition:height .18s var(--ease-smooth);overflow:hidden}.editor-pane[data-v-c6a91786]{transition:opacity .16s;display:flow-root}.editor-pane[data-v-c6a91786]:not(.active){opacity:0;pointer-events:none;visibility:hidden;transition:opacity .16s,visibility 0s linear .16s;position:absolute;inset:0 0 auto}.editor-mode-switch[data-v-c6a91786]{gap:var(--space-0_5);padding:var(--space-0_5);background:var(--color-gray-100);border-radius:var(--radius-md);flex-shrink:0;display:inline-flex}.mode-tab[data-v-c6a91786]{padding:var(--space-0_75) var(--space-3);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--text-xs);color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none}.mode-tab[data-v-c6a91786]:hover{color:var(--color-text-secondary)}.mode-tab.active[data-v-c6a91786]{background:var(--color-surface);color:var(--color-text-primary);font-weight:var(--font-medium);box-shadow:var(--shadow-card)}.editor-preview[data-v-c6a91786]{min-height:var(--editor-min-height);padding:var(--space-1) 0 var(--space-2);font-size:var(--text-md)}.editor-preview.empty[data-v-c6a91786]{color:var(--color-text-tertiary)}.editor-textarea[data-v-c6a91786]{margin-bottom:var(--space-2)}.editor-tags[data-v-c6a91786]{gap:var(--space-1_5);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.editor-toolbar[data-v-c6a91786]{justify-content:space-between;align-items:center;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border-light);display:flex}.toolbar-left[data-v-c6a91786]{align-items:center;gap:var(--space-2);min-width:0;display:flex}.toolbar-right[data-v-c6a91786]{align-items:center;gap:var(--space-4);flex-shrink:0;display:flex}.word-counter[data-v-c6a91786]{font-size:var(--text-2xs);color:var(--color-text-tertiary);font-variant-numeric:tabular-nums}.word-counter.danger[data-v-c6a91786]{color:var(--color-danger)}@media (width<=640px){.editor-container[data-v-c6a91786]{padding:var(--space-2) var(--space-3) var(--space-3)}.toolbar-right[data-v-c6a91786]{gap:var(--space-2)}.editor-toolbar[data-v-c6a91786]{align-items:flex-end}.word-counter[data-v-c6a91786]{display:none}}@media (width<=420px){.editor-toolbar[data-v-c6a91786]{flex-wrap:wrap}.toolbar-left[data-v-c6a91786],.toolbar-right[data-v-c6a91786]{width:100%}.toolbar-right[data-v-c6a91786]{justify-content:flex-end}}.memo-meta[data-v-1995478f]{align-items:center;gap:var(--space-2);display:flex}.memo-indicator[data-v-1995478f]{background:var(--color-accent-400);border-radius:50%;width:5px;height:5px}.memo-time[data-v-1995478f]{font-size:var(--text-3xs);color:var(--color-text-tertiary);font-weight:var(--font-medium);font-variant-numeric:tabular-nums}.memo-actions[data-v-60ecc77e]{gap:var(--space-0_5);opacity:0;transition:opacity var(--transition-fast);display:flex}.memo-actions.visible[data-v-60ecc77e]{opacity:1}@media (hover:none){.memo-actions[data-v-60ecc77e]{opacity:1}}@media (width<=768px){.memo-actions[data-v-60ecc77e]{opacity:1}}.memo-body-wrapper[data-v-150904dc]{margin-bottom:0}.memo-body[data-v-150904dc]{color:var(--color-text-primary);font-family:var(--font-content);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.memo-body.collapsed[data-v-150904dc]{max-height:var(--collapsed-max-height);position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#000 70%,#0000 100%);mask-image:linear-gradient(#000 70%,#0000 100%)}.expand-btn-text[data-v-150904dc]{align-items:center;gap:var(--space-1);color:var(--color-accent-600);font-size:var(--text-xs);font-weight:var(--font-medium);padding:var(--space-1) 0;margin-top:calc(-1 * var(--space-1));cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;font-family:inherit;display:inline-flex}.expand-btn-text[data-v-150904dc]:hover{color:var(--color-accent-700)}.expand-icon[data-v-150904dc]{width:14px;height:14px;transition:transform var(--transition-fast)}.expand-icon.rotated[data-v-150904dc]{transform:rotate(180deg)}.memo-inline-editor[data-v-dff364af]{margin-bottom:var(--space-2)}.inline-editor-tags[data-v-dff364af]{gap:var(--space-1_5);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.memo-edit-actions[data-v-dff364af]{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.edit-hint[data-v-dff364af]{font-size:var(--text-2xs);color:var(--color-text-tertiary)}.edit-btns[data-v-dff364af]{gap:var(--space-2);display:flex}@media (width<=480px){.edit-hint[data-v-dff364af]{display:none}.memo-edit-actions[data-v-dff364af]{justify-content:flex-end}}.memo-item[data-v-29032b1f]{padding:var(--space-3) var(--space-4);margin-bottom:var(--space-2);background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border-light);box-shadow:var(--inset-highlight), var(--shadow-card);transition:border-color var(--transition-fast), box-shadow var(--transition-normal) var(--ease-smooth);position:relative}.memo-item[data-v-29032b1f]:hover{border-color:var(--color-accent-200);box-shadow:var(--inset-highlight), var(--shadow-raised)}.memo-item.pinned[data-v-29032b1f]{border-color:var(--color-accent-200);background:linear-gradient(180deg, var(--color-pinned-glow), var(--color-surface) 44%);box-shadow:inset 2px 0 0 var(--color-accent-400), var(--inset-highlight), var(--shadow-card)}.memo-header[data-v-29032b1f]{margin-bottom:var(--space-1_5);justify-content:space-between;align-items:center;display:flex}.memo-time-entry.clickable[data-v-29032b1f]{cursor:pointer;border-radius:var(--radius-xs);transition:opacity var(--transition-fast)}.memo-time-entry.clickable[data-v-29032b1f]:hover{opacity:.75}.memo-tags[data-v-29032b1f]{gap:var(--space-1);margin-top:var(--space-2);flex-wrap:wrap;display:flex}@media (width<=480px){.memo-item[data-v-29032b1f]{padding:var(--space-3)}}.memo-skeleton-list[data-v-ba4a0d7d]{gap:var(--space-2);flex-direction:column;display:flex}.memo-skeleton-card[data-v-ba4a0d7d]{padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);gap:var(--space-1_5);flex-direction:column;display:flex}.memo-skeleton-header[data-v-ba4a0d7d]{justify-content:space-between;align-items:center;display:flex}.memo-skeleton-actions[data-v-ba4a0d7d]{align-items:center;gap:var(--space-2);display:flex}.memo-skeleton-body[data-v-ba4a0d7d]{gap:var(--space-1_5);flex-direction:column;display:flex}.memo-skeleton-footer[data-v-ba4a0d7d]{align-items:center;gap:var(--space-1);display:flex}.settings-content[data-v-90aba3bb]{gap:var(--space-4);flex-direction:column;display:flex}.settings-section[data-v-90aba3bb]{gap:var(--space-2);flex-direction:column;display:flex}.settings-label[data-v-90aba3bb]{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-text-secondary);margin:0}.settings-submit[data-v-90aba3bb],.settings-theme[data-v-90aba3bb]{align-self:flex-start}@media (width<=480px){.settings-submit[data-v-90aba3bb]{justify-content:center;width:100%}}.page[data-v-f6e61c3b]{min-height:100vh;padding:var(--space-6) var(--space-5);animation:.4s fadeIn}.topbar[data-v-f6e61c3b]{z-index:20;height:48px;margin:calc(-1 * var(--space-6)) calc(-1 * var(--space-5)) var(--space-3);padding:0 var(--space-3);background:var(--color-surface-glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--color-border-light);transition:box-shadow var(--transition-normal) var(--ease-smooth);justify-content:space-between;align-items:center;display:none;position:sticky;top:0}.topbar.scrolled[data-v-f6e61c3b]{box-shadow:var(--shadow-topbar)}.topbar-title[data-v-f6e61c3b]{font-size:var(--text-md);font-weight:var(--font-bold);color:var(--color-text-primary);letter-spacing:var(--tracking-tight)}.layout[data-v-f6e61c3b]{gap:var(--space-5);align-items:flex-start;max-width:980px;margin:0 auto;display:flex;position:relative}.sidebar[data-v-f6e61c3b]{width:var(--sidebar-width);top:var(--space-6);flex-shrink:0;position:sticky}.sidebar-backdrop[data-v-f6e61c3b]{z-index:var(--z-sidebar-drawer);background:var(--color-backdrop);display:none;position:fixed;inset:0}.field-error-enter-active[data-v-f6e61c3b],.field-error-leave-active[data-v-f6e61c3b]{transition:all var(--transition-fast)}.field-error-enter-from[data-v-f6e61c3b],.field-error-leave-to[data-v-f6e61c3b]{opacity:0;transform:translateY(-4px)}.fade-enter-active[data-v-f6e61c3b],.fade-leave-active[data-v-f6e61c3b]{transition:opacity var(--transition-fast)}.fade-enter-from[data-v-f6e61c3b],.fade-leave-to[data-v-f6e61c3b]{opacity:0}.main[data-v-f6e61c3b]{gap:var(--space-3);flex-direction:column;flex:1;min-width:0;display:flex}.editor-box[data-v-f6e61c3b]{padding:0;overflow:visible}.filter-bar[data-v-f6e61c3b]{padding:var(--space-2) var(--space-3);background:var(--color-accent-50);border:1px solid var(--color-accent-200);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--color-accent-700);box-shadow:var(--shadow-accent-sm);justify-content:space-between;align-items:center;display:flex}.filter-info[data-v-f6e61c3b]{align-items:center;gap:var(--space-1_5);display:flex}.filter-info svg[data-v-f6e61c3b]{opacity:.6}.init-error[data-v-f6e61c3b]{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-danger-bg);border:1px solid var(--color-danger-border);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-danger);margin-bottom:var(--space-3);display:flex}.init-error svg[data-v-f6e61c3b]{flex-shrink:0}.retry-btn[data-v-f6e61c3b]{color:var(--color-danger);margin-left:auto;text-decoration:underline}.retry-btn[data-v-f6e61c3b]:hover{color:var(--color-danger);opacity:.8}.memo-list[data-v-f6e61c3b]{margin-top:var(--space-1)}.memo-group[data-v-f6e61c3b]{margin-bottom:var(--space-5);animation:memo-group-in .3s var(--ease-smooth) both}.group-header[data-v-f6e61c3b]{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);padding:0 var(--space-1);display:flex}.group-date[data-v-f6e61c3b]{font-size:var(--text-caption);font-weight:var(--font-bold);color:var(--color-text-primary);letter-spacing:var(--tracking-heading)}.group-date--pinned[data-v-f6e61c3b]{color:var(--color-accent-600)}.group-rule[data-v-f6e61c3b]{background:linear-gradient(to right, var(--color-border), transparent);flex:1;height:1px}@media (width<=768px){.page[data-v-f6e61c3b]{padding:var(--space-4) var(--space-3)}.topbar[data-v-f6e61c3b]{margin:calc(-1 * var(--space-4)) calc(-1 * var(--space-3)) var(--space-3);display:flex}.layout[data-v-f6e61c3b]{gap:var(--space-3);flex-direction:column;max-width:100%}.sidebar[data-v-f6e61c3b]{width:min(86vw,320px);z-index:calc(var(--z-sidebar-drawer) + 1);border:none;border-right:1px solid var(--color-border);box-shadow:var(--shadow-overlay);padding-bottom:env(safe-area-inset-bottom);transition:transform .24s;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%);border-radius:0!important}.sidebar.is-open[data-v-f6e61c3b]{transform:translate(0)}.sidebar-backdrop[data-v-f6e61c3b]{display:block}.main[data-v-f6e61c3b]{width:100%}}.scroll-to-top[data-v-f6e61c3b]{right:var(--space-5);bottom:var(--space-5);z-index:50;position:fixed}.scroll-top-enter-active[data-v-f6e61c3b],.scroll-top-leave-active[data-v-f6e61c3b]{transition:opacity var(--transition-fast), transform var(--transition-fast)}.scroll-top-enter-from[data-v-f6e61c3b],.scroll-top-leave-to[data-v-f6e61c3b]{opacity:0;transform:translateY(8px)}.load-more-wrapper[data-v-f6e61c3b]{padding:var(--space-4) 0;justify-content:center;display:flex;position:relative}.load-more-sentinel[data-v-f6e61c3b]{top:calc(-1 * var(--space-8));pointer-events:none;height:1px;position:absolute;left:0;right:0}.load-more-btn[data-v-f6e61c3b]{padding:var(--space-2) var(--space-6)}@media (width<=480px){.page[data-v-f6e61c3b]{padding-left:var(--space-2);padding-right:var(--space-2)}.topbar[data-v-f6e61c3b]{margin-left:calc(-1 * var(--space-2));margin-right:calc(-1 * var(--space-2))}.group-header[data-v-f6e61c3b]{padding:0}.scroll-to-top[data-v-f6e61c3b]{right:var(--space-3);bottom:var(--space-3)}}.auth-page[data-v-8f417af7]{min-height:100vh;padding:var(--space-4);justify-content:center;align-items:center;animation:.4s fadeIn;display:flex}.auth-card[data-v-8f417af7]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:360px;box-shadow:var(--inset-highlight), var(--shadow-raised);padding:var(--space-8) var(--space-6)}.auth-brand[data-v-8f417af7]{text-align:center;margin-bottom:var(--space-6)}.brand-icon[data-v-8f417af7]{background:var(--color-accent-50);border:1px solid var(--color-accent-200);width:40px;height:40px;color:var(--color-accent-600);border-radius:var(--radius-md);margin:0 auto var(--space-3);justify-content:center;align-items:center;display:flex}.brand-title[data-v-8f417af7]{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-text-primary);letter-spacing:var(--tracking-heading);margin-bottom:var(--space-1)}.brand-subtitle[data-v-8f417af7]{font-size:var(--text-sm);color:var(--color-text-tertiary)}.auth-card-body[data-v-8f417af7]{gap:var(--space-4);flex-direction:column;display:flex}.auth-footer[data-v-8f417af7]{text-align:center;margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border-light);font-size:var(--text-sm)}@media (width<=480px){.auth-card[data-v-8f417af7]{padding:var(--space-6) var(--space-4);border-radius:var(--radius-md)}.brand-title[data-v-8f417af7]{font-size:var(--text-xl)}}.captcha-row[data-v-9540b573]{gap:var(--space-2);align-items:stretch;display:flex}.captcha-row[data-v-9540b573]>:first-child{flex:1;min-width:0}.captcha-image-btn[data-v-9540b573]{border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;width:132px;height:44px;transition:opacity var(--transition-fast);background:#f8f9fb;flex-shrink:0;padding:0;overflow:hidden}.captcha-image-btn[data-v-9540b573]:disabled{opacity:.6;cursor:default}.captcha-image[data-v-9540b573]{width:100%;height:100%;display:block}.captcha-placeholder[data-v-9540b573]{font-size:var(--text-sm);color:var(--color-text-tertiary)}.form-error[data-v-9540b573]{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-danger-bg);border:1px solid var(--color-danger-border);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-danger);text-align:center;justify-content:center;display:flex}.form-error-enter-active[data-v-9540b573],.form-error-leave-active[data-v-9540b573]{transition:all var(--transition-fast)}.form-error-enter-from[data-v-9540b573],.form-error-leave-to[data-v-9540b573]{opacity:0;transform:translateY(-4px)}.footer-link-btn[data-v-9540b573]{margin-left:var(--space-1)}.page[data-v-7276e2ff]{min-height:100vh;padding:var(--space-6) var(--space-5);animation:.4s fadeIn}.detail-container[data-v-7276e2ff]{gap:var(--space-3);flex-direction:column;max-width:680px;margin:0 auto;display:flex}.detail-header[data-v-7276e2ff]{align-items:center;gap:var(--space-2);display:flex}.detail-title[data-v-7276e2ff]{font-size:var(--text-md);font-weight:var(--font-bold);color:var(--color-text-primary);letter-spacing:var(--tracking-heading)}@media (width<=768px){.page[data-v-7276e2ff]{padding:var(--space-4) var(--space-3)}}@media (width<=480px){.page[data-v-7276e2ff]{padding-left:var(--space-2);padding-right:var(--space-2)}}.page[data-v-31ce34d8]{min-height:100vh;padding:var(--space-6) var(--space-5);justify-content:center;align-items:center;animation:.4s fadeIn;display:flex}.heatmap[data-v-09723264]{--heat-cell:14px;--heat-gap:var(--space-0_75)}.heatmap-header[data-v-09723264]{align-items:center;gap:var(--space-1);margin-bottom:var(--space-3);grid-template-columns:24px 1fr 24px;display:grid}.year-btn[data-v-09723264]{font-family:inherit;font-size:var(--text-md);color:var(--color-text-tertiary);cursor:pointer;padding:var(--space-0_5) 0;border-radius:var(--radius-xs);transition:all var(--transition-fast);background:0 0;border:none;line-height:1}.year-btn[data-v-09723264]:hover:not(:disabled){color:var(--color-accent-600);background:var(--color-accent-50)}.year-btn[data-v-09723264]:disabled{opacity:.35;cursor:default}.year-label[data-v-09723264]{text-align:center;font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-text-secondary);letter-spacing:.3px}.month-labels[data-v-09723264]{grid-template-columns:repeat(53, var(--heat-cell));column-gap:var(--heat-gap);margin-bottom:var(--space-1);padding-left:0;display:grid}.month-label[data-v-09723264]{font-size:var(--text-2xs);color:var(--color-text-tertiary);white-space:nowrap;grid-row:1}.heatmap-scroll[data-v-09723264]{padding-bottom:var(--space-1);overflow-x:auto}.heatmap-grid[data-v-09723264]{grid-template-rows:repeat(7, var(--heat-cell));grid-auto-flow:column;grid-auto-columns:var(--heat-cell);gap:var(--heat-gap);width:max-content;display:grid}.heat-cell[data-v-09723264]{width:var(--heat-cell);height:var(--heat-cell);border-radius:var(--radius-2xs);background:var(--color-gray-100);opacity:1;border:none;padding:0}.heat-cell.level-1[data-v-09723264],.legend-cell.level-1[data-v-09723264]{background:var(--color-accent-100)}.heat-cell.level-2[data-v-09723264],.legend-cell.level-2[data-v-09723264]{background:var(--color-accent-200)}.heat-cell.level-3[data-v-09723264],.legend-cell.level-3[data-v-09723264]{background:var(--color-accent-400)}.heat-cell.level-4[data-v-09723264],.legend-cell.level-4[data-v-09723264]{background:var(--color-accent-600)}.heat-cell.outside[data-v-09723264]{background:0 0}.heat-cell[data-v-09723264]:not(:disabled){cursor:pointer}.heat-cell[data-v-09723264]:not(:disabled):hover{outline:1px solid var(--color-accent-600);outline-offset:-1px}.heatmap-legend[data-v-09723264]{justify-content:flex-end;align-items:center;gap:var(--space-1);margin-top:var(--space-2);display:flex}.legend-label[data-v-09723264]{font-size:var(--text-2xs);color:var(--color-text-tertiary)}.legend-cell[data-v-09723264]{width:var(--heat-cell);height:var(--heat-cell);border-radius:var(--radius-2xs)}.summary-grid[data-v-82ebf0ca]{gap:var(--space-2);margin-bottom:var(--space-5);grid-template-columns:repeat(4,1fr);display:grid}.summary-card[data-v-82ebf0ca]{align-items:center;gap:var(--space-0_5);padding:var(--space-3) var(--space-2);background:var(--color-gray-50);border:1px solid var(--color-border-light);border-radius:var(--radius-md);flex-direction:column;display:flex}.summary-card--accent[data-v-82ebf0ca]{background:var(--color-accent-50);border-color:var(--color-accent-200)}.summary-value[data-v-82ebf0ca]{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-text-primary);letter-spacing:var(--tracking-tight);font-variant-numeric:tabular-nums;line-height:1}.summary-card--accent .summary-value[data-v-82ebf0ca]{color:var(--color-accent-600)}.summary-unit[data-v-82ebf0ca]{font-size:var(--text-2xs);font-weight:var(--font-medium);color:var(--color-text-tertiary);margin-left:1px}.summary-label[data-v-82ebf0ca]{font-size:var(--text-2xs);color:var(--color-text-tertiary);font-weight:var(--font-medium);letter-spacing:0;line-height:1.2}@media (width<=768px){.summary-grid[data-v-82ebf0ca]{grid-template-columns:repeat(2,1fr)}}.page[data-v-57843aa1]{max-width:980px;min-height:100vh;padding:var(--space-6) var(--space-5);margin:0 auto;animation:.4s fadeIn}.stats-header[data-v-57843aa1]{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);display:flex}.stats-title[data-v-57843aa1]{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--color-text-primary);letter-spacing:var(--tracking-heading);margin:0}.stats-loading[data-v-57843aa1]{padding:var(--space-16) 0;justify-content:center;align-items:center;display:flex}.stats-error[data-v-57843aa1]{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-4);background:var(--color-danger-bg);border:1px solid var(--color-danger-border);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-danger);display:flex}@media (width<=768px){.page[data-v-57843aa1]{padding:var(--space-4) var(--space-3)}}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-accent-50:#fffbeb;--color-accent-100:#fef3c7;--color-accent-200:#fde68a;--color-accent-300:#fcd34d;--color-accent-400:#fbbf24;--color-accent-500:#f59e0b;--color-accent-600:#d97706;--color-accent-700:#b45309;--color-accent-800:#92400e;--color-accent-900:#78350f;--color-gray-0:#fff;--color-gray-50:#fafaf9;--color-gray-100:#f5f5f4;--color-gray-200:#e7e5e4;--color-gray-300:#d6d3d1;--color-gray-400:#a8a29e;--color-gray-500:#78716c;--color-gray-600:#57534e;--color-gray-700:#44403c;--color-gray-800:#292524;--color-gray-900:#1c1917;--color-bg:#f5f5f4;--color-surface:#fff;--color-border:#e7e5e4;--color-border-light:#efeeec;--color-text-primary:#1c1917;--color-text-secondary:#57534e;--color-text-tertiary:#a8a29e;--color-text-muted:#78716c;--color-danger:#dc2626;--color-danger-strong:#b91c1c;--color-danger-bg:#fef2f2;--color-danger-bg-hover:#fee2e2;--color-danger-border:#fecaca;--color-success:#16a34a;--color-success-bg:#f0fdf4;--color-success-border:#bbf7d0;--color-warning:#d97706;--color-backdrop:#1c191752;--color-backdrop-light:#1c19171f;--color-on-accent:#fff;--color-canvas:#faf9f7;--bg-glow-top:#f59e0b0f;--bg-glow-bottom:#f59e0b0a;--bg-grid-line:#e7e5e473;--bg-grid-dot:#78716c33;--color-surface-glass:#ffffffdb;--color-surface-overlay:#ffffff80;--color-pinned-glow:#fffbebb3;--shadow-card:0 1px 2px #1c191705;--shadow-card-hover:0 6px 18px #1c19170b;--shadow-accent-sm:0 1px 2px #d977060d;--shadow-accent-md:0 4px 12px #d977062e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-sans:"Inter Variable", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Noto Sans CJK SC", "Source Han Sans SC", "Microsoft YaHei UI", "Microsoft YaHei", sans-serif;--font-content:"PingFang SC", "Noto Sans CJK SC", "Source Han Sans SC", "Microsoft YaHei UI", "Microsoft YaHei", "Inter Variable", system-ui, sans-serif;--font-mono:"JetBrains Mono Variable", "Cascadia Code", "SF Mono", Menlo, Consolas, "Courier New", monospace;--text-3xs:9px;--text-2xs:10px;--text-xs:11px;--text-caption:12px;--text-sm:13px;--text-base:14px;--text-md:15px;--text-lg:17px;--text-xl:20px;--text-2xl:24px;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--leading-tight:1.2;--leading-snug:1.35;--leading-normal:1.5;--leading-relaxed:1.7;--tracking-tight:-.01em;--space-0_5:2px;--space-0_75:3px;--space-1:4px;--space-1_5:6px;--space-2:8px;--space-2_5:10px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-2xs:2px;--radius-xs:3px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:10px;--radius-full:9999px;--shadow-focus:0 0 0 2px #f59e0b40;--shadow-focus-soft:0 0 0 2px #f59e0b26;--shadow-focus-strong:0 0 0 3px #f59e0b33;--shadow-overlay:0 4px 16px #1c19170f, 0 1px 3px #1c19170a;--transition-fast:.12s ease;--transition-normal:.2s ease;--ease-spring:cubic-bezier(.34, 1.35, .64, 1);--ease-smooth:cubic-bezier(.22, 1, .36, 1);--duration-slow:.24s;--shadow-raised:0 1px 2px #1c19170a, 0 4px 12px #1c19170f;--shadow-float:0 2px 6px #1c19170f, 0 16px 40px #1c19171f;--inset-highlight:inset 0 1px 0 #ffffff8c;--inset-highlight-accent:inset 0 0 0 1px #f59e0b14;--shadow-topbar:0 1px 8px #1c19170f, 0 4px 16px #1c19170a;--tracking-heading:-.02em;--sidebar-width:240px;--bp-sm:640px;--bp-md:768px;--bp-lg:1024px;--z-sidebar-drawer:80;--z-overlay:100;--z-toast:9999;--collapsed-max-height:280px}html{font-size:var(--text-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-canvas);scrollbar-gutter:stable;background-image: radial-gradient(ellipse 90% 55% at 50% -5%, var(--bg-glow-top) 0%, transparent 60%),  linear-gradient(to bottom, transparent 65%, var(--bg-glow-bottom) 100%),  linear-gradient(to right, var(--bg-grid-line) 1px, transparent 1px), linear-gradient(to bottom, var(--bg-grid-line) 1px, transparent 1px),  radial-gradient(circle at 1px 1px, var(--bg-grid-dot) 1px, transparent 1.5px);background-size:100% 100%,100% 100%,24px 24px,24px 24px,24px 24px;background-attachment:scroll,scroll,fixed,fixed,fixed;overflow-y:auto}body{font-family:var(--font-sans);color:var(--color-text-primary);line-height:var(--leading-normal);background-color:#0000;min-height:100vh}button,input,textarea,select{font:inherit}button{-webkit-tap-highlight-color:transparent}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-gray-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}::selection{color:var(--color-text-primary);background-color:#f59e0b26}:focus-visible{box-shadow:var(--shadow-focus);border-radius:var(--radius-xs);outline:none}.markdown-body{font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--color-text-primary);word-wrap:break-word;--md-block-gap:var(--space-2);--md-section-gap:var(--space-4);--md-radius:var(--radius-md);--md-radius-lg:var(--radius-lg)}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{font-weight:var(--font-semibold);margin-top:var(--md-section-gap);margin-bottom:var(--space-1_5);line-height:var(--leading-tight);color:var(--color-text-primary);letter-spacing:var(--tracking-tight);scroll-margin-top:var(--space-6);position:relative}.markdown-body>:first-child{margin-top:0}.markdown-body h1{font-size:var(--text-xl);font-weight:var(--font-bold);margin-top:var(--space-3);letter-spacing:-.015em}.markdown-body h2{font-size:var(--text-lg);font-weight:var(--font-bold);letter-spacing:-.01em}.markdown-body h3{font-size:var(--text-md);font-weight:var(--font-semibold)}.markdown-body h4{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text-secondary)}.markdown-body h5{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-muted)}.markdown-body h6{font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary)}.markdown-body p{margin-bottom:var(--md-block-gap)}.markdown-body p:last-child{margin-bottom:0}.markdown-body strong{font-weight:var(--font-semibold);color:var(--color-gray-900)}.markdown-body em{color:var(--color-text-primary);font-style:italic}.markdown-body del{color:var(--color-text-tertiary);-webkit-text-decoration-color:var(--color-text-tertiary);text-decoration-color:var(--color-text-tertiary)}.markdown-body .md-mark{background:linear-gradient(180deg, transparent 55%, var(--color-accent-200) 55%);color:var(--color-text-primary);border-radius:1px;padding:0 2px}.markdown-body a{color:var(--color-accent-700);font-weight:var(--font-medium);word-break:break-word;transition:background-size var(--transition-normal), color var(--transition-fast);background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px;padding-bottom:1px;text-decoration:none}.markdown-body a:hover{color:var(--color-accent-800);background-size:100% 1px}.markdown-body code{font-family:var(--font-mono);font-feature-settings:"liga" 0, "calt" 0;font-variant-ligatures:none;background:var(--color-gray-100);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);color:var(--color-gray-900);word-break:break-word;-webkit-font-smoothing:antialiased;padding:1.5px 6px;font-size:.86em}.markdown-body pre{background:var(--color-gray-50);color:var(--color-gray-900);border:1px solid var(--color-border);border-radius:var(--md-radius);margin:var(--md-block-gap) 0;line-height:1.6;font-family:var(--font-mono);font-feature-settings:"liga" 0, "calt" 0;font-variant-ligatures:none;font-size:var(--text-xs);tab-size:2;-webkit-font-smoothing:antialiased;padding:0;position:relative;overflow:hidden}.markdown-body pre code{color:inherit;padding:var(--space-2_5) var(--space-3) var(--space-3);font-size:inherit;line-height:inherit;word-break:normal;font-variant-numeric:tabular-nums;white-space:pre;background:0 0;border:none;display:block;overflow-x:auto}.markdown-body pre .code-header{padding:var(--space-1) var(--space-2_5);background:var(--color-surface);border-bottom:1px solid var(--color-border-light);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;display:flex}.markdown-body pre.single-line .code-header{padding-top:3px;padding-bottom:3px}.markdown-body pre.single-line code{padding-top:var(--space-1_5);padding-bottom:var(--space-1_5)}.markdown-body .code-lang-badge{border-radius:var(--radius-xs);background:var(--color-gray-100);height:17px;color:var(--color-text-muted);font-family:var(--font-mono);font-size:10px;font-weight:var(--font-bold);letter-spacing:.06em;align-items:center;gap:4px;padding:0 6px;line-height:1;display:inline-flex}.markdown-body .code-lang-badge.is-empty{opacity:.6}.markdown-body pre.lang-js .code-lang-badge,.markdown-body pre.lang-javascript .code-lang-badge,.markdown-body pre.lang-jsx .code-lang-badge{color:#854d0e;background:#fef9c3}.markdown-body pre.lang-ts .code-lang-badge,.markdown-body pre.lang-typescript .code-lang-badge,.markdown-body pre.lang-tsx .code-lang-badge{color:#1e40af;background:#dbeafe}.markdown-body pre.lang-py .code-lang-badge,.markdown-body pre.lang-python .code-lang-badge{color:#075985;background:#e0f2fe}.markdown-body pre.lang-css .code-lang-badge,.markdown-body pre.lang-scss .code-lang-badge,.markdown-body pre.lang-sass .code-lang-badge,.markdown-body pre.lang-less .code-lang-badge{color:#5b21b6;background:#ede9fe}.markdown-body pre.lang-html .code-lang-badge,.markdown-body pre.lang-xml .code-lang-badge,.markdown-body pre.lang-vue .code-lang-badge{color:#9f1239;background:#ffe4e6}.markdown-body pre.lang-json .code-lang-badge,.markdown-body pre.lang-yaml .code-lang-badge,.markdown-body pre.lang-yml .code-lang-badge,.markdown-body pre.lang-toml .code-lang-badge{background:var(--color-gray-200);color:var(--color-gray-700)}.markdown-body pre.lang-sh .code-lang-badge,.markdown-body pre.lang-bash .code-lang-badge,.markdown-body pre.lang-shell .code-lang-badge,.markdown-body pre.lang-zsh .code-lang-badge{color:#166534;background:#dcfce7}.markdown-body pre.lang-sql .code-lang-badge{color:#9a3412;background:#ffedd5}.markdown-body pre.lang-go .code-lang-badge,.markdown-body pre.lang-golang .code-lang-badge{color:#155e75;background:#cffafe}.markdown-body pre.lang-rs .code-lang-badge,.markdown-body pre.lang-rust .code-lang-badge{color:#9a3412;background:#fed7aa}.markdown-body pre.lang-java .code-lang-badge{background:var(--color-accent-100);color:var(--color-accent-800)}.markdown-body pre.lang-md .code-lang-badge,.markdown-body pre.lang-markdown .code-lang-badge{background:var(--color-gray-200);color:var(--color-gray-700)}.markdown-body .code-copy-btn{border-radius:var(--radius-sm);height:22px;color:var(--color-text-tertiary);font-family:var(--font-sans);font-size:11px;font-weight:var(--font-medium);cursor:pointer;transition:color var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast);background:0 0;border:1px solid #0000;align-items:center;gap:4px;padding:0 8px;line-height:1;display:inline-flex}.markdown-body .code-copy-btn:hover{color:var(--color-accent-700);background:var(--color-accent-50);border-color:var(--color-accent-200)}.markdown-body .code-copy-btn svg{width:12px;height:12px}.markdown-body .code-copy-btn .code-copy-text{font-variant-numeric:tabular-nums}.markdown-body .code-copy-btn.copied{color:var(--color-success);background:var(--color-success-bg);border-color:var(--color-success-border)}.markdown-body .code-copy-btn.failed{color:var(--color-danger);background:var(--color-danger-bg);border-color:var(--color-danger-border)}.markdown-body pre code.hljs .hljs-keyword,.markdown-body pre code.hljs .hljs-literal{color:#cf222e;font-weight:var(--font-medium)}.markdown-body pre code.hljs .hljs-string{color:#0a3069}.markdown-body pre code.hljs .hljs-number{color:#0550ae}.markdown-body pre code.hljs .hljs-comment{color:#6e7781;font-style:italic}.markdown-body pre code.hljs .hljs-title,.markdown-body pre code.hljs .hljs-title.function_{color:#8250df}.markdown-body pre code.hljs .hljs-name{color:#116329}.markdown-body pre code.hljs .hljs-attr{color:#8250df}.markdown-body pre code.hljs .hljs-built_in{color:#0550ae}.markdown-body ul,.markdown-body ol{margin:0 0 var(--md-block-gap);padding-left:var(--space-6)}.markdown-body ul{list-style:none}.markdown-body ol{list-style-type:decimal}.markdown-body ol::marker{color:var(--color-text-tertiary);font-weight:var(--font-medium);font-variant-numeric:tabular-nums}.markdown-body ol li::marker{color:var(--color-text-tertiary);font-weight:var(--font-medium);font-variant-numeric:tabular-nums}.markdown-body ul>li{padding-left:var(--space-3);margin-bottom:var(--space-1);position:relative}.markdown-body ul>li:before{content:"";background:var(--color-text-tertiary);border-radius:50%;width:4px;height:4px;position:absolute;top:.65em;left:0}.markdown-body ul ul>li:before{border:1px solid var(--color-text-tertiary);background:0 0}.markdown-body ul ul ul>li:before{background:var(--color-text-tertiary);border-radius:0;width:4px;height:4px}.markdown-body li{margin-bottom:var(--space-1)}.markdown-body ol>li{padding-left:4px}.markdown-body li>ul,.markdown-body li>ol{margin-top:var(--space-1);margin-bottom:var(--space-1)}.markdown-body li>p{margin-bottom:var(--space-1)}.markdown-body .md-task-list{padding-left:0;list-style:none}.markdown-body .md-task-list ul,.markdown-body .md-task-list ol{padding-left:var(--space-5);list-style:none}.markdown-body .md-task-list>li:before{display:none}.markdown-body .md-task-item{align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-1);padding-left:0;display:flex}.markdown-body .md-task-item.checked>span{color:var(--color-text-tertiary);text-decoration:line-through;-webkit-text-decoration-color:var(--color-text-tertiary);text-decoration-color:var(--color-text-tertiary)}.markdown-body .md-task-checkbox{appearance:none;border:1.5px solid var(--color-border);border-radius:var(--radius-xs);background:var(--color-surface);cursor:default;width:14px;height:14px;transition:background var(--transition-fast), border-color var(--transition-fast);flex-shrink:0;margin:4px 0 0;position:relative}.markdown-body .md-task-checkbox:checked{background:var(--color-accent-500);border-color:var(--color-accent-500)}.markdown-body .md-task-checkbox:checked:after{content:"";border:solid var(--color-on-accent);border-width:0 1.5px 1.5px 0;width:4px;height:8px;position:absolute;top:.5px;left:3.5px;transform:rotate(45deg)}.markdown-body blockquote{border-left:3px solid var(--color-accent-400);padding:var(--space-2) var(--space-3);margin:var(--md-block-gap) 0;color:var(--color-text-secondary);background:var(--color-accent-50);border-radius:0 var(--md-radius) var(--md-radius) 0;position:relative}.markdown-body blockquote p{margin-bottom:var(--space-2)}.markdown-body blockquote p:last-child{margin-bottom:0}.markdown-body blockquote blockquote{margin:var(--space-2) 0 0;border-left-color:var(--color-accent-300);background:var(--color-surface-overlay)}.markdown-body hr{background:var(--color-border);height:1px;margin:var(--space-4) 0;border:none}.markdown-body img{border-radius:var(--md-radius);border:1px solid var(--color-border-light);max-width:100%;height:auto;margin:var(--md-block-gap) 0;background:var(--color-gray-50);transition:border-color var(--transition-fast), transform var(--transition-normal);display:block}.markdown-body img:hover{border-color:var(--color-accent-200)}.markdown-body table{border-collapse:separate;border-spacing:0;width:100%;margin:var(--md-block-gap) 0;font-size:var(--text-sm);border:1px solid var(--color-border-light);border-radius:var(--md-radius);background:var(--color-surface);overflow:hidden}.markdown-body pre,.markdown-body table{max-width:100%}.markdown-body th,.markdown-body td{padding:var(--space-2) var(--space-3);text-align:left;border:none}.markdown-body th{font-weight:var(--font-semibold);color:var(--color-text-secondary);background:var(--color-gray-50);border-bottom:1px solid var(--color-border);text-transform:uppercase;letter-spacing:.04em;font-size:var(--text-xs)}.markdown-body td{border-bottom:1px solid var(--color-border-light);color:var(--color-text-primary)}.markdown-body tbody tr:last-child td{border-bottom:none}.markdown-body tbody tr{transition:background var(--transition-fast)}.markdown-body tbody tr:hover{background:var(--color-gray-50)}.markdown-body input[type=checkbox]{accent-color:var(--color-accent-500)}.markdown-body .inline-tag{color:var(--color-accent-700);background:var(--color-accent-50);border-radius:var(--radius-full);font-weight:var(--font-medium);border:1px solid var(--color-accent-100);align-items:center;padding:1px 6px;font-size:.92em;display:inline-flex}.markdown-body .md-footnote-ref{vertical-align:super;margin-left:1px;font-size:.75em;line-height:0}.markdown-body .md-footnote-ref a{color:var(--color-accent-700);border-radius:var(--radius-full);background:var(--color-accent-50);border:1px solid var(--color-accent-100);background-image:none;padding:1px 4px;text-decoration:none}.markdown-body .md-footnote-ref a:hover{background:var(--color-accent-100)}.markdown-body .md-footnotes{margin-top:var(--md-section-gap);font-size:var(--text-xs);color:var(--color-text-secondary)}.markdown-body .md-footnotes hr{margin:0 0 var(--space-2)}.markdown-body .md-footnotes ol{padding-left:var(--space-5)}.markdown-body .md-footnote-back{margin-left:var(--space-1);color:var(--color-accent-600);background-image:none;text-decoration:none}.markdown-body .md-admonition{--adm-color:var(--color-accent-600);--adm-bg:var(--color-accent-50);--adm-border:var(--color-accent-200);margin:var(--md-block-gap) 0;padding:var(--space-2) var(--space-3) var(--space-2) var(--space-3);background:var(--adm-bg);border:1px solid var(--adm-border);border-left:3px solid var(--adm-color);border-radius:var(--md-radius);color:var(--color-text-primary);position:relative}.markdown-body .md-admonition-header{align-items:center;gap:var(--space-1_5);margin-bottom:var(--space-0_5);display:flex}.markdown-body .md-admonition-icon{width:14px;height:14px;color:var(--adm-color);background-color:currentColor;flex-shrink:0;display:inline-flex;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:14px 14px;mask-size:14px 14px;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.markdown-body .md-admonition-title{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--adm-color);letter-spacing:.02em}.markdown-body .md-admonition-body{font-size:var(--text-sm);color:var(--color-text-primary)}.markdown-body .md-admonition-body>:last-child{margin-bottom:0}.markdown-body .md-admonition-body p{margin-bottom:var(--space-2)}.markdown-body .md-admonition-body code{background:var(--color-surface-overlay)}.markdown-body .md-admonition--tip{--adm-color:#0d9488;--adm-bg:#f0fdfa;--adm-border:#99f6e4}.markdown-body .md-admonition--tip .md-admonition-icon{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M9 18h6'/><path d='M10 22h4'/><path d='M15.09 14c.18-.98.65-1.74 1.41-2.5A4.65 4.65 0 0 0 18 8 6 6 0 0 0 6 8c0 1 .23 2.23 1.5 3.5A4.61 4.61 0 0 1 8.91 14'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M9 18h6'/><path d='M10 22h4'/><path d='M15.09 14c.18-.98.65-1.74 1.41-2.5A4.65 4.65 0 0 0 18 8 6 6 0 0 0 6 8c0 1 .23 2.23 1.5 3.5A4.61 4.61 0 0 1 8.91 14'/></svg>")}.markdown-body .md-admonition--info{--adm-color:#2563eb;--adm-bg:#eff6ff;--adm-border:#bfdbfe}.markdown-body .md-admonition--info .md-admonition-icon{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><line x1='12' y1='16' x2='12' y2='12'/><line x1='12' y1='8' x2='12.01' y2='8'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><line x1='12' y1='16' x2='12' y2='12'/><line x1='12' y1='8' x2='12.01' y2='8'/></svg>")}.markdown-body .md-admonition--note{--adm-color:#6b7280;--adm-bg:#f9fafb;--adm-border:#e5e7eb}.markdown-body .md-admonition--note .md-admonition-icon{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/><polyline points='14 2 14 8 20 8'/><line x1='16' y1='13' x2='8' y2='13'/><line x1='16' y1='17' x2='8' y2='17'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/><polyline points='14 2 14 8 20 8'/><line x1='16' y1='13' x2='8' y2='13'/><line x1='16' y1='17' x2='8' y2='17'/></svg>")}.markdown-body .md-admonition--warn{--adm-color:#b45309;--adm-bg:#fffbeb;--adm-border:#fde68a}.markdown-body .md-admonition--warn .md-admonition-icon{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'/><line x1='12' y1='9' x2='12' y2='13'/><line x1='12' y1='17' x2='12.01' y2='17'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z'/><line x1='12' y1='9' x2='12' y2='13'/><line x1='12' y1='17' x2='12.01' y2='17'/></svg>")}.markdown-body .md-admonition--danger{--adm-color:#dc2626;--adm-bg:#fef2f2;--adm-border:#fecaca}.markdown-body .md-admonition--danger .md-admonition-icon{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><line x1='12' y1='8' x2='12' y2='12'/><line x1='12' y1='16' x2='12.01' y2='16'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><line x1='12' y1='8' x2='12' y2='12'/><line x1='12' y1='16' x2='12.01' y2='16'/></svg>")}.markdown-body .md-admonition--success{--adm-color:#16a34a;--adm-bg:#f0fdf4;--adm-border:#bbf7d0}.markdown-body .md-admonition--success .md-admonition-icon{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/><polyline points='22 4 12 14.01 9 11.01'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/><polyline points='22 4 12 14.01 9 11.01'/></svg>")}.markdown-body img,.markdown-body pre,.markdown-body table,.markdown-body blockquote,.markdown-body .md-admonition{animation:.32s both md-block-in}@keyframes md-block-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.search-highlight{background:var(--color-accent-200);color:var(--color-accent-900);font-weight:var(--font-medium);border-radius:2px;padding:0 2px}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes memo-group-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.toast-container{top:var(--space-4);right:var(--space-4);z-index:9999;align-items:flex-end;gap:var(--space-1_5);pointer-events:none;flex-direction:column;display:flex;position:fixed}.toast{align-items:center;gap:var(--space-1_5);padding:var(--space-1_5) var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:var(--font-medium);box-shadow:var(--shadow-overlay);pointer-events:auto;max-width:min(420px, calc(100vw - var(--space-8)));color:var(--color-text-primary);display:flex}.toast-message{overflow-wrap:anywhere;min-width:0}.toast-icon{flex-shrink:0;align-items:center;display:flex}.toast-icon svg{width:14px;height:14px}.toast--success .toast-icon{color:var(--color-success)}.toast--success{border-color:var(--color-success-border);background:var(--color-success-bg)}.toast--error .toast-icon{color:var(--color-danger)}.toast--error{border-color:var(--color-danger-border);background:var(--color-danger-bg)}.toast--info .toast-icon{color:var(--color-accent-600)}.toast--info{border-color:var(--color-accent-200);background:var(--color-accent-50)}.toast-close{margin-left:var(--space-1);color:var(--color-text-tertiary);cursor:pointer;border-radius:var(--radius-xs);transition:color var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:2px;display:flex}.toast-close:hover{color:var(--color-text-secondary)}.toast-enter-active{transition:all .28s var(--ease-spring)}.toast-leave-active{transition:all .15s ease-in}.toast-enter-from{opacity:0;transform:translate(16px)}.toast-leave-to{opacity:0;transform:translate(8px)}.toast-move{transition:transform .2s}@keyframes spin{to{transform:rotate(360deg)}}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.spinner{border:2px solid var(--color-gray-200);border-top-color:var(--color-accent-500);vertical-align:middle;border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.6s linear infinite spin;display:inline-block}.spinner--on-accent{border-color:#ffffff59;border-top-color:var(--color-on-accent)}.spinner--sm{border-width:2px;width:12px;height:12px}.spinner--lg{border-width:2px;width:22px;height:22px}@media (width<=768px){html{background-image:none}.markdown-body table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}.toast-container{top:auto;right:var(--space-3);bottom:var(--space-3);left:var(--space-3);align-items:stretch}.toast{justify-content:flex-start;width:100%;max-width:none}}[data-theme=dark]{--color-accent-50:#f59e0b1a;--color-accent-100:#f59e0b29;--color-accent-200:#f59e0b52;--color-accent-300:#fcd34d;--color-accent-400:#fbbf24;--color-accent-500:#f59e0b;--color-accent-600:#fbbf24;--color-accent-700:#fcd34d;--color-accent-800:#fde68a;--color-accent-900:#fef3c7;--color-gray-0:#292524;--color-gray-50:#292524;--color-gray-100:#35322f;--color-gray-200:#44403c;--color-gray-300:#57534e;--color-gray-400:#78716c;--color-gray-500:#a8a29e;--color-gray-600:#d6d3d1;--color-gray-700:#e7e5e4;--color-gray-800:#f5f5f4;--color-gray-900:#fafaf9;--color-bg:#191715;--color-surface:#232120;--color-border:#3a3734;--color-border-light:#2d2a28;--color-text-primary:#f5f5f4;--color-text-secondary:#d6d3d1;--color-text-tertiary:#78716c;--color-text-muted:#a8a29e;--color-danger:#f87171;--color-danger-strong:#ef4444;--color-danger-bg:#dc262624;--color-danger-bg-hover:#dc262638;--color-danger-border:#f8717159;--color-success:#4ade80;--color-success-bg:#22c55e24;--color-success-border:#4ade804d;--color-warning:#fbbf24;--color-backdrop:#0000008c;--color-backdrop-light:#00000059;--color-canvas:#191715;--bg-glow-top:#f59e0b12;--bg-glow-bottom:#f59e0b0d;--bg-grid-line:#f5f5f40a;--bg-grid-dot:#f5f5f412;--color-surface-glass:#232120db;--color-surface-overlay:#00000038;--color-pinned-glow:#f59e0b14;--shadow-card:0 1px 2px #00000040;--shadow-card-hover:0 6px 18px #00000059;--shadow-accent-sm:0 1px 2px #0003;--shadow-accent-md:0 4px 12px #0000004d;--shadow-overlay:0 4px 16px #0006, 0 1px 3px #0000004d;--shadow-raised:0 1px 2px #0000004d, 0 4px 12px #00000059;--shadow-float:0 2px 6px #00000059, 0 16px 40px #00000080;--inset-highlight:inset 0 1px 0 #ffffff0f;--inset-highlight-accent:inset 0 0 0 1px #f59e0b24;--shadow-topbar:0 1px 8px #0000004d, 0 4px 16px #00000038;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=dark] .markdown-body .md-admonition--tip{--adm-color:#2dd4bf;--adm-bg:#2dd4bf1a;--adm-border:#2dd4bf47}[data-theme=dark] .markdown-body .md-admonition--info{--adm-color:#60a5fa;--adm-bg:#60a5fa1a;--adm-border:#60a5fa47}[data-theme=dark] .markdown-body .md-admonition--note{--adm-color:#9ca3af;--adm-bg:#9ca3af1a;--adm-border:#9ca3af3d}[data-theme=dark] .markdown-body .md-admonition--warn{--adm-color:#fbbf24;--adm-bg:#fbbf241a;--adm-border:#fbbf2447}[data-theme=dark] .markdown-body .md-admonition--danger{--adm-color:#f87171;--adm-bg:#f871711a;--adm-border:#f871714d}[data-theme=dark] .markdown-body .md-admonition--success{--adm-color:#4ade80;--adm-bg:#4ade801a;--adm-border:#4ade8047}[data-theme=dark] .markdown-body pre.lang-js .code-lang-badge,[data-theme=dark] .markdown-body pre.lang-javascript .code-lang-badge,[data-theme=dark] .markdown-body pre.lang-jsx .code-lang-badge{color:#fde047;background:#fde04724}[data-theme=dark] .markdown-body pre.lang-ts .code-lang-badge,[data-theme=dark] .markdown-body pre.lang-typescript .code-lang-badge,[data-theme=dark] .markdown-body pre.lang-tsx .code-lang-badge{color:#93c5fd;background:#60a5fa29}[data-theme=dark] .markdown-body pre.lang-py .code-lang-badge,[data-theme=dark] .markdown-body pre.lang-python .code-lang-badge{color:#7dd3fc;background:#38bdf829}[data-theme=dark] .markdown-body pre.lang-css .code-lang-badge,[data-theme=dark] .markdown-body pre.lang-scss .code-lang-badge,[data-theme=dark] .markdown-body pre.lang-sass .code-lang-badge,[data-theme=dark] .markdown-body pre.lang-less .code-lang-badge{color:#c4b5fd;background:#a78bfa29}[data-theme=dark] .markdown-body pre.lang-html .code-lang-badge,[data-theme=dark] .markdown-body pre.lang-xml .code-lang-badge,[data-theme=dark] .markdown-body pre.lang-vue .code-lang-badge{color:#fda4af;background:#fb718529}[data-theme=dark] .markdown-body pre.lang-sh .code-lang-badge,[data-theme=dark] .markdown-body pre.lang-bash .code-lang-badge,[data-theme=dark] .markdown-body pre.lang-shell .code-lang-badge,[data-theme=dark] .markdown-body pre.lang-zsh .code-lang-badge{color:#86efac;background:#4ade8024}[data-theme=dark] .markdown-body pre.lang-sql .code-lang-badge{color:#fdba74;background:#fb923c29}[data-theme=dark] .markdown-body pre.lang-go .code-lang-badge,[data-theme=dark] .markdown-body pre.lang-golang .code-lang-badge{color:#67e8f9;background:#22d3ee29}[data-theme=dark] .markdown-body pre.lang-rs .code-lang-badge,[data-theme=dark] .markdown-body pre.lang-rust .code-lang-badge{color:#fdba74;background:#fdba7429}[data-theme=dark] .markdown-body pre code.hljs .hljs-keyword,[data-theme=dark] .markdown-body pre code.hljs .hljs-literal{color:#ff7b72}[data-theme=dark] .markdown-body pre code.hljs .hljs-string{color:#a5d6ff}[data-theme=dark] .markdown-body pre code.hljs .hljs-number{color:#79c0ff}[data-theme=dark] .markdown-body pre code.hljs .hljs-comment{color:#8b949e}[data-theme=dark] .markdown-body pre code.hljs .hljs-title,[data-theme=dark] .markdown-body pre code.hljs .hljs-title.function_{color:#d2a8ff}[data-theme=dark] .markdown-body pre code.hljs .hljs-name{color:#7ee787}[data-theme=dark] .markdown-body pre code.hljs .hljs-attr{color:#79c0ff}[data-theme=dark] .markdown-body pre code.hljs .hljs-built_in{color:#ffa657}html.is-scroll-locked{overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.auth-form{gap:var(--space-4);flex-direction:column;display:flex}.auth-btn{padding:var(--space-2_5) var(--space-4);background:var(--color-accent-500);color:var(--color-on-accent);border:1px solid var(--color-accent-500);border-radius:var(--radius-md);font-family:inherit;font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast);justify-content:center;align-items:center;gap:var(--space-2);line-height:1.4;display:flex}.auth-btn:hover:not(:disabled){background:var(--color-accent-600);border-color:var(--color-accent-600)}.auth-btn:disabled{background:var(--color-gray-200);color:var(--color-gray-400);border-color:var(--color-gray-200);cursor:not-allowed}.footer-text{color:var(--color-text-tertiary)}.link-btn{color:var(--color-accent-600);font-family:inherit;font-size:inherit;font-weight:var(--font-medium);cursor:pointer;margin-left:var(--space-1);background:0 0;border:none;padding:0}.link-btn:hover{color:var(--color-accent-700)}
