@import"https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300..900;1,9..144,300..900&family=Inter:ital,wght@0,400;0,500;1,400&family=JetBrains+Mono:ital,wght@0,400;1,400&display=swap";.logo-book[data-v-34d45783]{fill:url(#logo-gradient);stroke:color-mix(in srgb,var(--fs-accent) 70%,transparent)}.logo-spine[data-v-34d45783]{stroke:var(--fs-text-secondary)}.logo-lines[data-v-34d45783]{stroke:var(--fs-text-tertiary)}.notif-panel[data-v-0b4bb473]{position:absolute;top:calc(100% + 8px);right:0;width:340px;max-height:400px;overflow-y:auto;background:var(--fs-surface-hover);border:1px solid var(--fs-border-color);border-radius:var(--fs-radius-xl);box-shadow:0 12px 40px #0000002e;z-index:500}.notif-panel-header[data-v-0b4bb473]{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--fs-border-color);position:sticky;top:0;background:var(--fs-surface-hover)}.notif-panel-title[data-v-0b4bb473]{font-weight:700;font-size:.9rem}.notif-item[data-v-0b4bb473]{display:flex;align-items:flex-start;gap:.6rem;padding:.75rem 1rem;border-bottom:1px solid var(--fs-border-color);cursor:pointer;transition:background .1s}.notif-item[data-v-0b4bb473]:last-child{border-bottom:none}.notif-item[data-v-0b4bb473]:hover{background:var(--fs-surface-hover)}.notif-icon[data-v-0b4bb473]{font-size:1.2rem;flex-shrink:0;margin-top:.1rem}.notif-body[data-v-0b4bb473]{flex:1;min-width:0}.notif-msg[data-v-0b4bb473]{margin:0 0 .2rem;font-size:.85rem;color:var(--fs-text-primary);line-height:1.4;word-break:break-word}.notif-time[data-v-0b4bb473]{font-size:.75rem;color:var(--fs-text-tertiary)}.bell-wrap[data-v-d30dd7fb]{position:relative}.btn-bell[data-v-d30dd7fb]{background:none;border:1px solid var(--fs-border-color);border-radius:var(--fs-radius-sm);padding:.25rem .45rem;cursor:pointer;color:var(--fs-text-tertiary);display:flex;align-items:center;justify-content:center;position:relative}.btn-bell[data-v-d30dd7fb]:hover,.btn-bell.active[data-v-d30dd7fb]{background:var(--fs-surface-raised);color:var(--fs-text-primary);border-color:var(--fs-accent)}.bell-badge[data-v-d30dd7fb]{position:absolute;top:-5px;right:-5px;background:var(--fs-error);color:var(--fs-text-on-action);font-size:.6rem;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 3px;line-height:1;pointer-events:none}.app-header[data-v-eace8a86]{background:linear-gradient(180deg,var(--fs-surface-hover),var(--fs-surface-page));border-bottom:1px solid color-mix(in srgb,var(--fs-accent) 18%,transparent);position:relative}.nav[data-v-eace8a86]{padding:.6rem 1.5rem;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;position:relative}.nav-brand[data-v-eace8a86]{justify-self:start;display:flex;align-items:center;gap:.45rem;text-decoration:none;flex-shrink:0}.brand-text[data-v-eace8a86]{font-family:Fraunces,Georgia,serif;font-optical-sizing:auto;font-weight:500;font-size:1rem;letter-spacing:-.01em;color:#c4b0f0}.nav-center[data-v-eace8a86]{justify-self:center;display:flex;align-items:center}.nav-pill-bar[data-v-eace8a86]{display:flex;align-items:center;gap:2px;background:var(--fs-accent-faint);border-radius:10px;padding:3px}.nav-right[data-v-eace8a86]{justify-self:end;display:flex;align-items:center;gap:.25rem;flex-shrink:0;min-width:0}.nav-link[data-v-eace8a86]{color:var(--fs-text-secondary);text-decoration:none;font-size:.82rem;padding:.3rem .75rem;border-radius:8px;transition:background .15s,color .15s}.nav-link[data-v-eace8a86]:hover{color:var(--fs-text-primary);background:var(--fs-accent-soft)}.nav-link.router-link-active[data-v-eace8a86]{color:var(--fs-accent-fg);font-weight:500;background:color-mix(in srgb,var(--fs-accent) 25%,transparent);box-shadow:0 0 16px color-mix(in srgb,var(--fs-accent) 30%,transparent)}.btn-icon[data-v-eace8a86]{background:none;border:1px solid var(--fs-border-color);border-radius:var(--fs-radius-sm);padding:.25rem .45rem;cursor:pointer;font-size:.95rem;color:var(--fs-text-tertiary);line-height:1;display:flex;align-items:center;justify-content:center}.btn-icon[data-v-eace8a86]:hover{background:var(--fs-surface-raised);color:var(--fs-text-primary);border-color:var(--fs-accent)}.user-info[data-v-eace8a86]{display:flex;align-items:center;gap:.4rem;margin-left:.25rem;padding-left:.5rem;border-left:1px solid var(--fs-border-color)}.username[data-v-eace8a86]{font-size:.85rem;color:var(--fs-text-secondary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:12ch}.admin-badge[data-v-eace8a86]{font-size:.65rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--fs-accent-fg);background:color-mix(in srgb,var(--fs-accent) 15%,transparent);padding:.1rem .35rem;border-radius:var(--fs-radius-sm)}.btn-logout[data-v-eace8a86]{background:none;border:1px solid var(--fs-border-color);border-radius:var(--fs-radius-sm);padding:.2rem .5rem;cursor:pointer;font-size:.8rem;color:var(--fs-text-secondary);font-family:inherit}.btn-logout[data-v-eace8a86]:hover{color:var(--fs-error);border-color:var(--fs-error)}.hamburger[data-v-eace8a86]{display:none;background:none;border:none;cursor:pointer;padding:.5rem;flex-direction:column;gap:4px;margin-left:.25rem}.hamburger-line[data-v-eace8a86]{display:block;width:20px;height:2px;background:var(--fs-text-primary);border-radius:1px}.mobile-menu[data-v-eace8a86]{display:flex;flex-direction:column;padding:.5rem 1rem .75rem;border-top:1px solid var(--fs-border-color);background:var(--fs-surface-raised);gap:.1rem}.mobile-divider[data-v-eace8a86]{height:1px;background:var(--fs-border-color);margin:.4rem 0}.mobile-actions[data-v-eace8a86]{display:flex;align-items:center;gap:.5rem;padding:.25rem 0}.mobile-user[data-v-eace8a86]{display:flex;align-items:center;gap:.5rem;padding-top:.4rem;border-top:1px solid var(--fs-border-color);margin-top:.25rem}@media(max-width:1280px){.brand-text[data-v-eace8a86]{display:none}.nav-link[data-v-eace8a86]{padding:.3rem .5rem;font-size:.78rem}}@media(max-width:768px){.nav-center[data-v-eace8a86],.btn-icon[data-v-eace8a86],.user-info[data-v-eace8a86]{display:none}.hamburger[data-v-eace8a86]{display:flex}.mobile-menu .nav-link[data-v-eace8a86]{padding:.5rem .75rem;min-height:44px;display:flex;align-items:center;border-radius:8px}.mobile-menu .nav-link.router-link-active[data-v-eace8a86]{background:var(--fs-accent-wash);box-shadow:none}.mobile-user .btn-logout[data-v-eace8a86]{min-height:36px}}.toast-container[data-v-1d6856c3]{position:fixed;top:1rem;right:1rem;z-index:1000;display:flex;flex-direction:column;gap:.5rem}.toast[data-v-1d6856c3]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:6px;color:var(--fs-text-on-action);font-size:.9rem;box-shadow:0 2px 8px var(--color-shadow);min-width:200px}.toast-msg[data-v-1d6856c3]{flex:1}.toast-close[data-v-1d6856c3]{background:none;border:none;color:#ffffffb3;cursor:pointer;font-size:1.2rem;line-height:1;padding:0 .15rem}.toast-close[data-v-1d6856c3]:hover{color:var(--fs-text-on-action)}.toast--success[data-v-1d6856c3]{background:var(--fs-success)}.toast--error[data-v-1d6856c3]{background:var(--fs-error)}.toast--warning[data-v-1d6856c3]{background:var(--fs-warning);color:#1a1a1a}.toast--warning .toast-close[data-v-1d6856c3]{color:#00000080}.toast--warning .toast-close[data-v-1d6856c3]:hover{color:#1a1a1a}.toast-enter-active[data-v-1d6856c3],.toast-leave-active[data-v-1d6856c3]{transition:all .3s ease}.toast-enter-from[data-v-1d6856c3]{opacity:0;transform:translate(100%)}.toast-leave-to[data-v-1d6856c3]{opacity:0;transform:translateY(-20px)}.skip-link{position:absolute;top:-100%;left:.5rem;z-index:9999;padding:.4rem .75rem;background:var(--fs-accent);color:var(--fs-text-on-action);border-radius:0 0 4px 4px;font-size:.875rem;text-decoration:none;transition:top .1s}.skip-link:focus{top:0}.app-shell{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden}.app-shell>.app-header{flex-shrink:0}.app-content{flex:1;min-height:0;overflow-y:auto}.app-content:has(.knowledge-root){overflow:hidden}.app-footer{flex-shrink:0;text-align:center;padding:.2rem 0;font-size:.68rem;color:var(--fs-text-tertiary);opacity:.45;-webkit-user-select:none;user-select:none;letter-spacing:.03em}.shortcuts-overlay{position:fixed;inset:0;background:var(--fs-overlay);z-index:9000;display:flex;align-items:center;justify-content:center}.shortcuts-panel{background:var(--fs-surface-raised);border:1px solid var(--fs-border-color);border-radius:var(--fs-radius-lg);box-shadow:0 8px 32px var(--color-shadow);width:min(420px,92vw);overflow:hidden}.shortcuts-header{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem .75rem;border-bottom:1px solid var(--fs-border-color)}.shortcuts-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--fs-text-primary)}.shortcuts-close{background:none;border:none;font-size:1.4rem;line-height:1;color:var(--fs-text-tertiary);cursor:pointer;padding:0 .25rem}.shortcuts-close:hover{color:var(--fs-text-primary)}.shortcuts-body{padding:.75rem 1rem 1rem;display:flex;flex-direction:column;gap:1rem}.shortcuts-section-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--fs-text-tertiary);margin-bottom:.4rem}.shortcut-row{display:flex;align-items:center;gap:.35rem;padding:.2rem 0}.shortcut-key{display:inline-flex;align-items:center;justify-content:center;min-width:1.8rem;padding:.15rem .4rem;background:var(--fs-surface-raised);border:1px solid var(--fs-border-color);border-bottom-width:2px;border-radius:4px;font-size:.78rem;font-family:ui-monospace,monospace;color:var(--fs-text-primary);white-space:nowrap;-webkit-user-select:none;user-select:none}.shortcut-key-sep{font-size:.78rem;color:var(--fs-text-tertiary)}.shortcut-desc{font-size:.875rem;color:var(--fs-text-primary);margin-left:.25rem}.shortcuts-fade-enter-active,.shortcuts-fade-leave-active{transition:opacity .15s ease}.shortcuts-fade-enter-from,.shortcuts-fade-leave-to{opacity:0}:root{--fs-accent: #5B4A8A;--fs-accent-soft: color-mix(in srgb, var(--fs-accent) 15%, transparent);--fs-accent-faint: color-mix(in srgb, var(--fs-accent) 8%, transparent);--fs-accent-deep: color-mix(in srgb, var(--fs-accent) 70%, black);--fs-accent-wash: color-mix(in srgb, var(--fs-accent) 22%, transparent);--fs-accent-fg: color-mix(in srgb, var(--fs-accent) 45%, var(--fs-text-primary));--fs-gradient-cta: linear-gradient(135deg, var(--fs-accent), var(--fs-accent-deep));--fs-glow-cta: 0 2px 10px color-mix(in srgb, var(--fs-accent) 35%, transparent);--fs-glow-cta-hover: 0 4px 24px color-mix(in srgb, var(--fs-accent) 65%, transparent);--fs-action-primary: #4A5D3F;--fs-action-secondary: #8B7355;--fs-action-tertiary: var(--fs-border-color);--fs-action-destructive: var(--fs-destructive);--fs-action-primary-hover: color-mix(in srgb, var(--fs-action-primary) 88%, white);--fs-action-secondary-hover: color-mix(in srgb, var(--fs-action-secondary) 88%, white);--fs-action-destructive-hover: color-mix(in srgb, var(--fs-action-destructive) 88%, white);--fs-border-color: #3F4651;--fs-border: .5px solid var(--fs-border-color);--fs-border-hover: .5px solid color-mix(in srgb, var(--fs-text-secondary) 30%, transparent);--fs-border-active: 2px solid var(--fs-accent);--fs-wikilink: var(--fs-accent);--fs-shadow-1: 0 1px 0 rgba(0,0,0,.4);--fs-shadow-2: 0 4px 12px rgba(0,0,0,.35);--fs-shadow-3: 0 16px 40px rgba(0,0,0,.5);--fs-focus-ring: 0 0 0 2px var(--fs-accent);--fs-font-display: "Fraunces", Georgia, serif;--fs-font-body: "Inter", system-ui, sans-serif;--fs-font-mono: "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;--fs-icon-stroke: 1.5px;--fs-icon-stroke-sm: 1px;--fs-layout-page-max: 1200px;--fs-layout-page-pad: 1rem;--fs-layout-sidebar: 260px;--fs-layout-header: 52px;--fs-ease: cubic-bezier(.2, .6, .2, 1);--fs-dur-fast: .12s;--fs-dur-base: .18s;--fs-dur-slow: .28s;--fs-priority-low: var(--fs-info);--fs-priority-low-bg: color-mix(in srgb, var(--fs-priority-low) 12%, transparent);--fs-priority-low-fg: color-mix(in srgb, var(--fs-priority-low) 45%, var(--fs-text-primary));--fs-priority-medium: var(--fs-warning);--fs-priority-medium-bg: color-mix(in srgb, var(--fs-priority-medium) 12%, transparent);--fs-priority-medium-fg: color-mix(in srgb, var(--fs-priority-medium) 55%, var(--fs-text-primary));--fs-priority-high: var(--fs-error);--fs-priority-high-bg: color-mix(in srgb, var(--fs-priority-high) 12%, transparent);--fs-priority-high-fg: color-mix(in srgb, var(--fs-priority-high) 55%, var(--fs-text-primary));--fs-radius-sm: 4px;--fs-radius-md: 8px;--fs-radius-lg: 12px;--fs-radius-xl: 16px;--fs-radius-pill: 9999px;--fs-success: var(--fs-action-primary);--fs-success-fg: color-mix(in srgb, var(--fs-success) 45%, var(--fs-text-primary));--fs-warning: #8B6F1E;--fs-warning-fg: color-mix(in srgb, var(--fs-warning) 50%, var(--fs-text-primary));--fs-error: #C04A1F;--fs-error-fg: color-mix(in srgb, var(--fs-error) 50%, var(--fs-text-primary));--fs-info: #3D5A6E;--fs-destructive: #6B2118;--fs-space-1: 4px;--fs-space-2: 8px;--fs-space-3: 12px;--fs-space-4: 16px;--fs-space-5: 20px;--fs-space-6: 24px;--fs-space-7: 32px;--fs-space-8: 48px;--fs-space-9: 64px;--fs-space-10: 96px;--fs-disabled-opacity: .5;--fs-overlay: rgba(0, 0, 0, .65);--fs-status-todo: var(--fs-border-color);--fs-status-todo-bg: color-mix(in srgb, var(--fs-status-todo) 12%, transparent);--fs-status-todo-fg: color-mix(in srgb, var(--fs-status-todo) 40%, var(--fs-text-primary));--fs-status-in-progress: var(--fs-accent);--fs-status-in-progress-bg: color-mix(in srgb, var(--fs-status-in-progress) 12%, transparent);--fs-status-in-progress-fg: color-mix(in srgb, var(--fs-status-in-progress) 45%, var(--fs-text-primary));--fs-status-done: var(--fs-success);--fs-status-done-bg: color-mix(in srgb, var(--fs-status-done) 12%, transparent);--fs-status-done-fg: color-mix(in srgb, var(--fs-status-done) 50%, var(--fs-text-primary));--fs-overdue: var(--fs-error);--fs-status-cancelled: var(--fs-text-tertiary);--fs-status-cancelled-fg: color-mix(in srgb, var(--fs-status-cancelled) 60%, var(--fs-text-primary));--fs-surface-page: #14171A;--fs-surface-raised: #1E2228;--fs-surface-hover: #2C313A;--fs-surface-code: var(--fs-surface-page);--fs-surface-code-inline: var(--fs-surface-raised);--fs-table-stripe: color-mix(in srgb, var(--fs-text-primary) 3%, transparent);--fs-text-primary: #E8E4D8;--fs-text-secondary: #C2BFB4;--fs-text-secondary-fg: color-mix(in srgb, var(--fs-text-secondary) 90%, var(--fs-text-primary));--fs-text-tertiary: #9C9A92;--fs-text-tertiary-fg: color-mix(in srgb, var(--fs-text-tertiary) 55%, var(--fs-text-primary));--fs-text-on-action: #E8E4D8;--fs-size-display: 40px;--fs-size-h1: 32px;--fs-size-h2: 24px;--fs-size-h3: 18px;--fs-size-body: 15px;--fs-size-body-sm: 13px;--fs-size-label: 12px;--fs-size-code: 13px;--fs-size-tiny: 11px;--fs-weight-regular: 400;--fs-weight-medium: 500;--fs-leading-heading: 1.3;--fs-leading-body: 1.5;--fs-leading-longform: 1.7;--fs-tracking-tiny: .08em}[data-theme=light]{--fs-accent-wash: color-mix(in srgb, var(--fs-accent) 20%, transparent);--fs-glow-cta-hover: 0 4px 20px color-mix(in srgb, var(--fs-accent) 55%, transparent);--fs-border-color: #D9D6CE;--fs-overlay: rgba(0, 0, 0, .45);--fs-surface-page: #F5F1E8;--fs-surface-raised: #FBF8F0;--fs-surface-hover: #EFEAE0;--fs-surface-code: #EBEDF0;--fs-surface-code-inline: #EBEDF0;--fs-text-primary: #14171A;--fs-text-secondary: #5A5852;--fs-text-tertiary: #9A9890}:root{--color-shadow: rgba(0, 0, 0, .4)}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--fs-surface-page);color:var(--fs-text-primary);font-family:var(--fs-font-body);font-feature-settings:"cv11";line-height:var(--fs-leading-body);transition:background-color var(--fs-dur-base) var(--fs-ease),color var(--fs-dur-base) var(--fs-ease)}h1,h2{font-family:var(--fs-font-display);font-optical-sizing:auto;font-weight:var(--fs-weight-medium);line-height:var(--fs-leading-heading)}h3{font-family:var(--fs-font-body);font-weight:var(--fs-weight-medium);line-height:var(--fs-leading-heading)}code,pre,kbd,samp{font-family:var(--fs-font-mono);font-feature-settings:"liga","calt"}::selection{background:var(--fs-accent-wash);color:var(--fs-text-primary)}input:focus-visible,textarea:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:none;box-shadow:var(--fs-focus-ring);border-radius:var(--fs-radius-sm)}button:not(:disabled):active,.btn:not(:disabled):active,[role=button]:not(:disabled):active{transform:scale(.97);transition:transform .08s var(--fs-ease)}@media(max-width:768px){.hide-mobile{display:none!important}button,[role=button]{min-height:44px}}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--fs-border-color);border-radius:var(--fs-radius-pill)}::-webkit-scrollbar-thumb:hover{background:var(--fs-text-tertiary)}.inline-assist-btn{position:fixed;z-index:150;transform:translate(-50%);background:var(--fs-accent);color:var(--fs-text-primary);border:none;border-radius:var(--fs-radius-pill);padding:.3rem .8rem;font-size:var(--fs-size-body-sm);cursor:pointer;box-shadow:var(--fs-shadow-2);white-space:nowrap}.inline-assist-btn:hover{filter:brightness(1.1)}.btn-primary,.btn-secondary,.btn-ghost,.btn-danger,.btn-danger-outline,.btn-cta{padding:var(--fs-space-2) var(--fs-space-4);border:none;border-radius:var(--fs-radius-md);font-family:var(--fs-font-body);font-size:var(--fs-size-label);font-weight:var(--fs-weight-medium);line-height:var(--fs-leading-body);white-space:nowrap;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--fs-space-2);text-decoration:none;transition:background var(--fs-dur-fast) var(--fs-ease),border-color var(--fs-dur-fast) var(--fs-ease),color var(--fs-dur-fast) var(--fs-ease)}.btn-primary:disabled,.btn-secondary:disabled,.btn-ghost:disabled,.btn-danger:disabled,.btn-danger-outline:disabled,.btn-cta:disabled{opacity:var(--fs-disabled-opacity);cursor:not-allowed}.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn-ghost:focus-visible,.btn-danger:focus-visible,.btn-danger-outline:focus-visible,.btn-cta:focus-visible{outline:none;box-shadow:var(--fs-focus-ring)}.btn-primary{background:var(--fs-action-primary);color:var(--fs-text-on-action)}.btn-primary:not(:disabled):hover{background:var(--fs-action-primary-hover)}.btn-secondary{background:var(--fs-action-secondary);color:var(--fs-text-on-action)}.btn-secondary:not(:disabled):hover{background:var(--fs-action-secondary-hover)}.btn-ghost{background:none;border:var(--fs-border);color:var(--fs-text-primary)}.btn-ghost:not(:disabled):hover{border:var(--fs-border-hover);background:var(--fs-surface-hover)}.btn-danger{background:var(--fs-action-destructive);color:var(--fs-text-on-action)}.btn-danger:not(:disabled):hover{background:var(--fs-action-destructive-hover)}.btn-text{background:none;border:none;color:var(--fs-text-tertiary);padding:var(--fs-space-1) var(--fs-space-2);font-family:var(--fs-font-body);font-size:var(--fs-size-tiny);line-height:1;cursor:pointer;transition:color var(--fs-dur-fast) var(--fs-ease)}.btn-text:not(:disabled):hover{color:var(--fs-text-primary)}.btn-text:disabled{opacity:var(--fs-disabled-opacity);cursor:not-allowed}.btn-text:focus-visible{outline:none;box-shadow:var(--fs-focus-ring)}.btn-danger-outline{background:none;border:1px solid var(--fs-action-destructive);color:var(--fs-action-destructive)}.btn-danger-outline:not(:disabled):hover{background:var(--fs-action-destructive);color:var(--fs-text-on-action)}.btn-cta{background:var(--fs-gradient-cta);color:var(--fs-text-on-action);box-shadow:var(--fs-glow-cta);text-decoration:none}.btn-cta:not(:disabled):hover{box-shadow:var(--fs-glow-cta-hover)}.btn-compact,.btn-small,.btn-sm{padding:var(--fs-space-1) var(--fs-space-3);font-size:var(--fs-size-tiny)}.btn-inline{padding:2px var(--fs-space-1);font-size:var(--fs-size-tiny);line-height:1}.btn-block{display:flex;width:100%;padding:var(--fs-space-3) var(--fs-space-4);font-size:var(--fs-size-body-sm)}.modal-overlay{position:fixed;inset:0;background:var(--fs-overlay);display:flex;align-items:center;justify-content:center;z-index:200}.modal-card{background:var(--fs-surface-raised);border:1px solid var(--fs-border-color);border-radius:var(--fs-radius-lg);padding:1.5rem;width:100%;max-width:400px;box-shadow:0 8px 32px var(--color-shadow)}.modal-title{margin:0 0 .75rem;font-size:1.05rem}.modal-message{font-size:.9rem;color:var(--fs-text-secondary);margin:0 0 1.25rem;line-height:1.5}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem}.modal-btn{padding:.4rem .9rem;border:1px solid var(--fs-border-color);background:var(--fs-surface-raised);color:var(--fs-text-primary);border-radius:var(--fs-radius-sm);cursor:pointer;font-size:.875rem;font-family:inherit}.modal-btn:hover{background:var(--fs-surface-page)}.modal-btn-primary{background:var(--fs-action-primary);border-color:var(--fs-action-primary);color:var(--fs-text-on-action)}.modal-btn-primary:hover:not(:disabled){background:var(--fs-action-primary-hover)}.modal-btn-primary:disabled{opacity:.5;cursor:default}.modal-btn-danger{background:var(--fs-action-destructive);border-color:var(--fs-action-destructive);color:var(--fs-text-on-action)}.modal-btn-danger:hover{background:var(--fs-action-destructive-hover);border-color:var(--fs-action-destructive-hover)}.page-container{max-width:var(--fs-layout-page-max);margin:2rem auto;padding:0 var(--fs-layout-page-pad);overflow-x:clip}.fs-input{background:var(--fs-surface-page);border:var(--fs-border);border-radius:var(--fs-radius-md);padding:var(--fs-space-2) var(--fs-space-3);color:var(--fs-text-primary);font-family:var(--fs-font-body);font-size:var(--fs-size-body);transition:box-shadow var(--fs-dur-fast) var(--fs-ease)}.fs-input::placeholder{color:var(--fs-text-tertiary)}.fs-input:focus{outline:none;box-shadow:var(--fs-focus-ring)}.fs-input:disabled{opacity:var(--fs-disabled-opacity);cursor:not-allowed}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.page-header h1{margin:0}.error-msg{color:var(--fs-error);font-size:.9rem}.state-msg{color:var(--fs-text-tertiary);font-size:.9rem}.empty-msg{color:var(--fs-text-tertiary);font-size:.875rem}.empty-title{font-size:1rem;font-weight:500;color:var(--fs-text-secondary);margin:0 0 .35rem}.empty-sub{font-size:.85rem;color:var(--fs-text-tertiary);margin:0 0 1rem}.required{color:var(--fs-error)}.field-hint{margin:.3rem 0 0;font-size:.8rem;color:var(--fs-text-tertiary)}.usage-tag{font-size:.7rem;padding:.1rem .4rem;border-radius:4px;white-space:nowrap;font-variant-numeric:tabular-nums;background:color-mix(in srgb,var(--fs-text-tertiary) 15%,transparent);color:var(--fs-text-tertiary-fg)}.usage-tag.usage-dead{background:color-mix(in srgb,var(--fs-warning) 18%,transparent);color:var(--fs-warning-fg)}.prose{line-height:1.7}.prose h1{margin:1.25rem 0 .5rem;font-size:1.5rem}.prose h2{margin:1rem 0 .4rem;font-size:1.3rem}.prose h3{margin:.75rem 0 .3rem;font-size:1.1rem}.prose h4,.prose h5,.prose h6{margin:.5rem 0 .25rem}.prose p{margin:0 0 .6rem}.prose ul,.prose ol{margin:0 0 .6rem;padding-left:1.5rem}.prose li{margin-bottom:.2rem}.prose pre{background:var(--fs-surface-code);border:1px solid var(--fs-border-color);border-radius:6px;padding:.75rem;overflow-x:auto;margin:0 0 .6rem}.prose pre code{background:none;padding:0;border-radius:0;font-size:.9em}.prose code{background:var(--fs-surface-code-inline);border-radius:3px;padding:.15rem .35rem;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:.9em}.prose table{border-collapse:collapse;width:100%;margin:0 0 .6rem}.prose th,.prose td{border:1px solid var(--fs-border-color);padding:.4rem .6rem;text-align:left}.prose thead th{background:var(--fs-surface-raised);font-weight:600}.prose tbody tr:nth-child(2n){background:var(--fs-table-stripe)}.prose blockquote{border-left:3px solid var(--fs-border-color);margin:0 0 .6rem;padding:.25rem 0 .25rem .75rem;color:var(--fs-text-secondary)}.prose blockquote p:last-child{margin-bottom:0}.prose hr{border:none;border-top:1px solid var(--fs-border-color);margin:1rem 0}.prose img{max-width:100%;height:auto}.prose a{color:var(--fs-accent);text-decoration:none}.prose a:hover{text-decoration:underline}.prose .inline-tag{color:var(--fs-accent);background:var(--fs-accent-soft);padding:.1rem .35rem;border-radius:4px;text-decoration:none;font-size:.9em}.prose .inline-tag:hover{filter:brightness(.9);text-decoration:none}.prose .wikilink{color:var(--fs-wikilink);background:var(--fs-accent-soft);padding:.1rem .35rem;border-radius:4px;text-decoration:none;font-size:.9em;cursor:pointer}.prose .wikilink:hover{filter:brightness(.9);text-decoration:none}.prose ul[data-type=taskList]{list-style:none;padding-left:.25rem}.prose ul[data-type=taskList] li{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.2rem}.prose ul[data-type=taskList] li>label{flex-shrink:0;-webkit-user-select:none;user-select:none;line-height:1.6}.prose ul[data-type=taskList] li>label input[type=checkbox]{cursor:pointer;accent-color:var(--fs-accent);width:.95em;height:.95em;margin:0}.prose ul[data-type=taskList] li>div{flex:1}.prose ul[data-type=taskList] li[data-checked=true]>div{text-decoration:line-through;color:var(--fs-text-tertiary)}.prose--checklist ul{list-style:none;padding-left:.25rem}.prose--checklist li{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.25rem}.prose--checklist li input[type=checkbox]{flex-shrink:0;accent-color:var(--fs-accent);cursor:pointer;width:.95em;height:.95em;margin:0}.prose--checklist li:has(input[type=checkbox]:checked)>p,.prose--checklist li:has(input[type=checkbox]:checked){text-decoration:line-through;color:var(--fs-text-tertiary)}.prose--checklist li:has(input[type=checkbox]:checked) input[type=checkbox]{text-decoration:none}.tiptap-editor .ProseMirror{outline:none;min-height:200px;padding:.75rem}.tiptap-editor .ProseMirror p.is-editor-empty:first-child:before{color:var(--fs-text-tertiary);content:attr(data-placeholder);float:left;height:0;pointer-events:none}.tiptap-wrapper{border:1px solid var(--fs-border-color);border-radius:var(--fs-radius-sm);background:var(--fs-surface-raised);color:var(--fs-text-primary)}.tiptap-wrapper:focus-within{box-shadow:var(--fs-focus-ring)}.sweep{display:flex;flex-direction:column;gap:var(--fs-space-3)}.sweep-lede{margin:0;max-width:62ch;font-size:var(--fs-size-body-sm);color:var(--fs-text-secondary);line-height:var(--fs-leading-body)}.sweep-filters{display:flex;gap:var(--fs-space-5);align-items:center;flex-wrap:wrap}.sweep-filter{display:flex;align-items:center;gap:var(--fs-space-2);font-size:.82rem;color:var(--fs-text-secondary)}.sweep-filter input[type=checkbox]{accent-color:var(--fs-accent)}.sweep-state{margin:0;font-size:var(--fs-size-body-sm);color:var(--fs-text-secondary)}.sweep-state.empty{color:var(--fs-text-tertiary)}.sweep-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--fs-space-3)}.sweep-row{background:var(--fs-surface-raised);border-radius:var(--fs-radius-md);padding:var(--fs-space-3)}.sweep-row-head{display:flex;align-items:baseline;gap:var(--fs-space-2);flex-wrap:wrap}.sweep-row-title{background:none;border:none;padding:0;cursor:pointer;font-family:Fraunces,serif;font-style:italic;font-size:1.02rem;color:var(--fs-text-primary);text-align:left}.sweep-row-title:hover{text-decoration:underline}.sweep-age{margin-left:auto;font-size:.78rem;color:var(--fs-text-secondary);font-variant-numeric:tabular-nums}.sweep-age.unchecked{font-style:italic;color:var(--fs-text-tertiary)}.sweep-check{display:grid;grid-template-columns:auto 1fr;gap:.15rem var(--fs-space-3);margin:var(--fs-space-3) 0 0}.sweep-check dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--fs-text-tertiary)}.sweep-check dd{margin:0;font-size:.82rem;color:var(--fs-text-primary);min-width:0}.sweep-actions{display:flex;gap:var(--fs-space-2);margin-top:var(--fs-space-3)}.sweep-actions button{cursor:pointer;font:inherit;font-size:.78rem;background:var(--fs-surface-page);color:var(--fs-text-primary);border:1px solid var(--fs-border-color);border-radius:var(--fs-radius-md);padding:.25rem .6rem}.sweep-actions button:hover:not(:disabled){background:var(--fs-surface-hover)}.sweep-actions button:disabled{opacity:var(--fs-disabled-opacity);cursor:default}.sweep-footnote{margin:0;max-width:62ch;font-size:.78rem;color:var(--fs-text-tertiary);line-height:1.45}
