.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-f07a903c]{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-f07a903c]{padding:.6rem 1.5rem;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;position:relative}.nav-brand[data-v-f07a903c]{justify-self:start;display:flex;align-items:center;gap:.45rem;text-decoration:none;flex-shrink:0}.brand-text[data-v-f07a903c]{font-family:Fraunces,Georgia,serif;font-optical-sizing:auto;font-weight:500;font-size:1rem;letter-spacing:-.01em;color:#c4b0f0}.nav-center[data-v-f07a903c]{justify-self:center;display:flex;align-items:center}.nav-pill-bar[data-v-f07a903c]{display:flex;align-items:center;gap:2px;background:var(--fs-accent-faint);border-radius:10px;padding:3px}.nav-right[data-v-f07a903c]{justify-self:end;display:flex;align-items:center;gap:.25rem;flex-shrink:0;min-width:0}.nav-link[data-v-f07a903c]{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-f07a903c]:hover{color:var(--fs-text-primary);background:var(--fs-accent-soft)}.nav-link.router-link-active[data-v-f07a903c]{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-f07a903c]{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-f07a903c]:hover{background:var(--fs-surface-raised);color:var(--fs-text-primary);border-color:var(--fs-accent)}.user-info[data-v-f07a903c]{display:flex;align-items:center;gap:.4rem;margin-left:.25rem;padding-left:.5rem;border-left:1px solid var(--fs-border-color)}.username[data-v-f07a903c]{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-f07a903c]{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-f07a903c]{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-f07a903c]:hover{color:var(--fs-error);border-color:var(--fs-error)}.hamburger[data-v-f07a903c]{display:none;background:none;border:none;cursor:pointer;padding:.5rem;flex-direction:column;gap:4px;margin-left:.25rem}.hamburger-line[data-v-f07a903c]{display:block;width:20px;height:2px;background:var(--fs-text-primary);border-radius:1px}.mobile-menu[data-v-f07a903c]{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-f07a903c]{height:1px;background:var(--fs-border-color);margin:.4rem 0}.mobile-actions[data-v-f07a903c]{display:flex;align-items:center;gap:.5rem;padding:.25rem 0}.mobile-user[data-v-f07a903c]{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-f07a903c]{display:none}.nav-link[data-v-f07a903c]{padding:.3rem .5rem;font-size:.78rem}}@media(max-width:768px){.nav-center[data-v-f07a903c],.btn-icon[data-v-f07a903c],.user-info[data-v-f07a903c]{display:none}.hamburger[data-v-f07a903c]{display:flex}.mobile-menu .nav-link[data-v-f07a903c]{padding:.5rem .75rem;min-height:44px;display:flex;align-items:center;border-radius:8px}.mobile-menu .nav-link.router-link-active[data-v-f07a903c]{background:var(--fs-accent-wash);box-shadow:none}.mobile-user .btn-logout[data-v-f07a903c]{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}@font-face{font-family:Fraunces;font-style:italic;font-weight:300 900;font-display:swap;src:url(/assets/fraunces-italic-vietnamese-DxWqP7Ku.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:italic;font-weight:300 900;font-display:swap;src:url(/assets/fraunces-italic-latin-ext-CGbN9UgK.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:italic;font-weight:300 900;font-display:swap;src:url(/assets/fraunces-italic-latin-lSdLDfvT.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-weight:300 900;font-display:swap;src:url(/assets/fraunces-normal-vietnamese-Czevyj-6.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:300 900;font-display:swap;src:url(/assets/fraunces-normal-latin-ext-CJcjJNj7.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:300 900;font-display:swap;src:url(/assets/fraunces-normal-latin-DihXLNYH.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/inter-italic-cyrillic-ext-CsfrDhJx.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/inter-italic-cyrillic-CIUtULAL.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/inter-italic-greek-ext-DgljI1UR.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/inter-italic-greek-SVIaMW7s.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/inter-italic-vietnamese-Ceaj4WUo.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/inter-italic-latin-ext-CGFCRmTM.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/inter-italic-latin-D1l0FflY.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/inter-normal-cyrillic-ext-BOeWTOD4.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/inter-normal-cyrillic-DqGufNeO.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/inter-normal-greek-ext-DlzME5K_.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/inter-normal-greek-CkhJZR-_.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/inter-normal-vietnamese-CBcvBZtf.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/inter-normal-latin-ext-DO1Apj_S.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/inter-normal-latin-Dx4kXJAl.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/inter-normal-cyrillic-ext-BOeWTOD4.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/inter-normal-cyrillic-DqGufNeO.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/inter-normal-greek-ext-DlzME5K_.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/inter-normal-greek-CkhJZR-_.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/inter-normal-vietnamese-CBcvBZtf.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/inter-normal-latin-ext-DO1Apj_S.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/inter-normal-latin-Dx4kXJAl.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:italic;font-weight:400;font-display:swap;src:url(data:font/woff2;base64,d09GMgABAAAAAAS4ABAAAAAACQgAAARcAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVFoAdBEICoUIhBYLIAABNgIkAzoEIAWEZAeBFAwHG2AHUZQwSjXFj8TYFs12F5XK0bLIxqLN9+CBr7N6/1eFFY2cppIRgiaTdDtQCzOzwsnM7PpkngAeR6eVCmVwO2vGYeBeFf4PnFMfTQ1UDXqwG3bQ9oOEhXaCXuTcjacWjdLfTnx16KYeSub6PLIFArABAAKBAYFAgL25la22EvWN7f2YUQF0HaAKtVgxeenqjS7P4gCoPFyVEXEdBpBXyIj+qzYxiT2N4ckHEiwkktJE39YBLmFXTyn//v8ZcANR6UbkfvwSZLH8BnBPepdmJLCWAhSSx9KZZQFkLzotVAT5VjMiEED1VH8DKVaL60C+DEg1SIyBeBOKTEr3BiF+rzIBVnNRkNhx8zvhDSHVx9RTug4F+EfVk7JkzOmvn9L9ugCASAhGzE4DJtlJIPQ4AVTTdjX4ZnASKAQPKMg+FM30ClQgjvPcqqKYl1icLotltcWyRnVoBrsasxsSUzZtShu1hqz9w1rovi/ETZ/VasND2uDtd6+79bEtw1oiMnDFF+HhLxMW7crP+yOfLRC68suCsLX/xOdDWvj+L6xXfOauJjURYevn7mKlj99h3UoJaTvs4bG2fW6/XVxy553tuzL954U1kLYgRetdrwTAhzs065xD3zzwzWhd5YEjesX+Sox1X5/T/HXE9cb3nW9M259f+1OXOmA/uH3gHj4td93w1vBExfFLTXvy/3ylYrzwLb4U/1lio/POqLfZ6veNJuv8sbE51s/iC4wlPd7OA83B3NrLf87UzXmDpsjPq5ZynsCBPFsgV9/lC3nyx3CO9TdZff7RlMfnG/AWjuQ23JwL8SmvB9JSL/RrKLczuPG3XwOP+tYD+/mZHuWZp7Y+NVU0dGh6T6RaoOdV88OPTo9uKtr6FKv7yi+6MnX5lWz4pai5tcviawxdW1p2Uag5fiPRZTWyGAEYsW+3MQ6cRlQcZYFdACPIMuVZG7obOhV8gfyG9LfLpuaryt1qe+Zv486Dv5kV5STAt5880qS6v/noZ8YGugs6aC8xIgEQ8Iy8ZATjf+9UqTrJPRKPQ0YYUiMBOQU9DE2b6oUJ9WOAKOIsAnBSSGEHBUFikHSSxhUUhGoBXm47oQu2JukSG7/TFfZ7ma5S7ga6gc2O042U6qY52G0znwAbDqiK/H3x1TiAXklpK6ZFLQpLyqrOjGWQWuzzluxX8y8tiVuUNW/ZkmpLsqZVm7MorUaXRu1aJS0LWBSVNWtJhzmz5lRpsSxqWlZcSNKiJVlzZrl5VPOoU9eNxW2LuSMb1s4BrQIOTCGSJD5oeNCceedY3Br5dA21ALr1c2gyiWmLdls0Z1JS0YnTb2WLnXMWq+cu3W5nWrba7VbEVIubM6NmqEJrFv2FZSTof0BP4gGC5ABOoNDbQnIwRajCIIzChCLMwiKsQjP6Y/8JCDCtzGZrd/obBK5hr4wiG/33GdLRmZmodXGtv1YGex3R+Mpy8u0d8i946G3FTm/tbs/3eaF7XL0aAAA=) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/jetbrains-mono-italic-cyrillic-siMXSBys.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/jetbrains-mono-italic-greek-B0kO-FxT.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/jetbrains-mono-italic-vietnamese-BfTi70Mo.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/jetbrains-mono-italic-latin-ext-Dq8STqJy.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/jetbrains-mono-italic-latin-B9rkokqX.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQQAAAQuAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AdBEICoRkhAALIAABNgIkAzoEIAWFAAeBFAwHG2oHKJ6DceNW4lJEFHn9tEOE37LNsvkjHr7f739rn3u+OSrSxLQytE91Dw2PYtNVq3Qaw/vJ7fUBMdOj/u2ImB98cT5WUx9F13ZKt06mU7tG1sAYcM26yCRX4f/0904bmwq8hwkUUMTRX61pa9C3xlpAGYw1vOu8C2SBZZFlld7DAW82RJWmwYMI1AJCKBNCIASqdZGFmtPSNQRhMpR0EKjWTwm6z6sJ+4jqhxjovTinVdRpZaQjaQzAYjI8NgAKDJCokgunCn9oUQE8VZd/F//+v6P4F1U9gLr58yNI/dJX9BAshEoJbTDogz7ocKoUsPvES8UK/aQIUQgpGgECBVLkOEV6iASTYgNAPKdNXayhDPL7IJuAZnEYSZ0eOLc9i5Rv5/+lEi3sW/kfnCf/+fTe0sxS7CKLx5erRJkKOixEqQaoqrvx5HN4iz4VhX0gS6DjFIWUzn/fIXJRVFY1NFRVNVeFt+SYmrK6vCU6eJsnKnJj5HTESMTQZOTI3Y/tzr3rUcOsiRy/ciP50s3Mycgxmhz9GMXhjzVH30ut796NHP0UUa31/Zoa6vCH6iPvdIM0IRANaT60FablmZlZd+UKNFy9NrvnFGxb5NC2CRxR0/rIyF/WNn+35sv9r+tHVhkseuWGKkCPPh96+GXt8Lc/Sh24ujfjf+tNw1lZWreiPuHb/PSpyjdv2rf/++ZE5TSKjFdZxYsBvr1sEHl5STuHZqYR7jGYGvGBBdjcaB5bODY1GAxMjsd0wDMIzXAXODRd74DxNMtO4YuYHclgLQRzp9KlUmxptCwv9bYgvWGD2xBW7r9413fdJu+mxzvzAUYeeONQvZP4kgfqZle4jhH/MWh+UbxgtJdrLdXLymNL53PRU0D3Q6FcXTfGqGcul6vrqhgLGAVSv+IVIfZOHpu+mlLqSlnj903j8mazXDsba/wbxhS/4Oubh1c5/uXDgt4j5KtnGEy5BIJHo0ur+jD+r2qCkuP1aRVM8EpUoRYSJyqNRA38uwDvHBNo0AejO2Z+ZYLLal1QiFyFh1EDQOgSCSCpjwwKU8yDbIjroEwne0G5Qca49cYp4AlqtQNZfWTQoFb1tRpFYAmRD+HXTkV4uQhG2bg4OKmyoypAsUGtWgQXyFxYrkpODeUxvGqIZA61erXo0sFG1UBGuPgpuon8RNUG2DhovAjZCBuZwtXrU3mQGki9+pm0eVZAXoWxLWTQoYHBPrJR4WunNxIFbCHfkTyPK+sqxjxDmGArZvf79JGJ3GwEqjwc7a7NIrl/7bJ7Nzu4+n1Ow6shEPnUrtVo7cnd5Wi5qCUbBIQbNKCP95FMCSZylEV5VCiiMqqiOmrKZ/I/C0gI1fyuulVcM2E1r4MhtcV/fbCD+HwEvVzH1dGNAzFE0FTbKzyQz3gootrNbN2a4PuG0j0JOgE=) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/jetbrains-mono-normal-cyrillic-BEIGL1Tu.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/jetbrains-mono-normal-greek-C190GLew.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(data:font/woff2;base64,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) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/jetbrains-mono-normal-latin-ext-Bc8Ftmh3.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/jetbrains-mono-normal-latin-V6pRDFza.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--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}
