:root{color-scheme:light;--space-0: .125rem;--space-1: .25rem;--space-2: .5rem;--space-3: 1rem;--space-4: 1.5rem;--space-5: 2rem;--space-6: 3rem;--radius-sm: 2px;--radius: 8px;--radius-lg: 16px;--radius-pill: 999px;--font-sans: "Instrument Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-serif: Newsreader, Georgia, "Times New Roman", "Iowan Old Style", serif;--font-size-2xs: .625rem;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.5rem;--font-weight-normal: 400;--font-weight-semibold: 600;--line-height-tight: 1;--line-height-snug: 1.3;--line-height-normal: 1.5;--letter-spacing-wide: .05em;--sidebar-width: 240px;--z-base: 0;--z-dropdown: 1000;--z-sticky: 1100;--z-overlay: 1200;--z-modal: 1300;--z-toast: 1400;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .12);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .18);--motion-duration-fast: .12s;--motion-duration-base: .2s;--motion-duration-slow: .32s;--motion-ease-standard: cubic-bezier(.2, 0, 0, 1);--motion-ease-decelerate: cubic-bezier(0, 0, 0, 1);--motion-ease-accelerate: cubic-bezier(.3, 0, 1, 1);--color-bg: #efeae1;--color-surface: #f5f1ea;--color-surface-raised: #fcfaf5;--color-border: #d8d0c2;--color-text: #2b2620;--color-text-muted: #6e6459;--color-accent: #6a64a6;--color-accent-soft: #eae6f2;--color-on-accent: #fcfaf5;--color-danger: #a5432f;--color-overlay: rgba(43, 38, 32, .4)}:root[data-theme=dark]{color-scheme:dark;--color-bg: #1c1917;--color-surface: #24201d;--color-surface-raised: #2b2723;--color-border: #3a342e;--color-text: #ede7dc;--color-text-muted: #a79c8c;--color-accent: #a9a3c9;--color-accent-soft: #34304a;--color-on-accent: #1c1917;--color-danger: #e88e7a;--color-overlay: rgba(0, 0, 0, .6)}@media (prefers-color-scheme: dark){:root:not([data-theme]){color-scheme:dark;--color-bg: #1c1917;--color-surface: #24201d;--color-surface-raised: #2b2723;--color-border: #3a342e;--color-text: #ede7dc;--color-text-muted: #a79c8c;--color-accent: #a9a3c9;--color-accent-soft: #34304a;--color-on-accent: #1c1917;--color-danger: #e88e7a;--color-overlay: rgba(0, 0, 0, .6)}}@font-face{font-family:Newsreader;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/newsreader-latin-vf-CCVVNp6i.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:Newsreader;font-style:italic;font-weight:400 700;font-display:swap;src:url(/assets/newsreader-italic-latin-vf-Bxi8ein9.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:Instrument Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/instrument-sans-latin-vf-BbzFLZTg.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}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text);background:var(--color-bg)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important;scroll-behavior:auto!important}}@media (pointer: coarse){button,input,select,.link-button{min-height:44px}.nav-link,.feed-item-link{display:flex;align-items:center;min-height:44px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px}.search-result-link{min-height:44px}.chip-remove{min-width:44px}}.app-shell{display:grid;grid-template-columns:var(--sidebar-width) 1fr;grid-template-areas:"sidebar content";height:100%}.app-topbar{display:none;grid-area:topbar;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.app-topbar-brand{font-family:var(--font-serif);font-size:var(--font-size-lg)}.nav-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:var(--space-1);border:1px solid transparent;border-radius:var(--radius);background:none;color:inherit;cursor:pointer}.nav-toggle:hover{background:var(--color-border)}.sidebar{grid-area:sidebar;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);background:var(--color-surface);border-right:1px solid var(--color-border);overflow-y:auto}.brand{margin:0;font-family:var(--font-serif);font-size:var(--font-size-lg)}.content h2,.content h3,section h3{font-family:var(--font-serif);font-weight:var(--font-weight-normal)}.sidebar-nav{display:flex;flex-direction:column;gap:var(--space-0)}.nav-link{padding:var(--space-1) var(--space-2);border-radius:var(--radius);color:inherit;text-decoration:none}.nav-link:hover{background:var(--color-border)}.nav-link.active{background:var(--color-accent-soft);color:var(--color-accent);font-weight:var(--font-weight-semibold)}.sidebar-section h2{margin:0 0 var(--space-1);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase;color:var(--color-text-muted)}.sidebar-status{margin-top:auto;padding-top:var(--space-2);border-top:1px solid var(--color-border);font-size:var(--font-size-xs);color:var(--color-text-muted)}.sidebar-status p{margin:var(--space-0) 0}.content{grid-area:content;padding:var(--space-4);overflow-y:auto}.content:focus{outline:none}.content h2{margin-top:0}.skip-link{position:fixed;top:var(--space-2);left:var(--space-2);z-index:var(--z-toast);padding:var(--space-1) var(--space-3);background:var(--color-surface-raised);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius);text-decoration:none;transform:translateY(-200%);transition:transform var(--motion-duration-fast) var(--motion-ease-standard)}.skip-link:focus{transform:none}.app-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay);border:0;padding:0;background:var(--color-overlay);cursor:pointer}@media (max-width: 767.98px){.app-shell{grid-template-columns:1fr;grid-template-rows:auto 1fr;grid-template-areas:"topbar" "content"}.app-topbar{display:flex}.sidebar{position:fixed;inset:0 auto 0 0;z-index:var(--z-modal);width:min(85vw,320px);transform:translate(-100%);visibility:hidden;box-shadow:var(--shadow-lg);transition:transform var(--motion-duration-base) var(--motion-ease-standard),visibility 0s linear var(--motion-duration-base)}.app-shell[data-nav-open] .sidebar{transform:none;visibility:visible;transition:transform var(--motion-duration-base) var(--motion-ease-standard),visibility 0s}}@media (min-width: 768px){.app-scrim{display:none}}.muted{color:var(--color-text-muted)}.placeholder-note{margin:0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.boot-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);height:100%;padding:var(--space-4);text-align:center}.button{padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);font:inherit;cursor:pointer}.button:hover{background:var(--color-border)}.entry-editor{display:flex;flex-direction:column;gap:var(--space-2)}.editor-save-status{min-height:1.25rem;margin:0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.editor-save-status[data-status=error]{color:var(--color-danger)}.entry-editor-surface{min-height:12rem;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-raised);font-family:var(--font-serif);outline:none}.entry-editor-surface:focus{border-color:var(--color-accent)}.entry-editor-surface :first-child{margin-top:0}.entry-editor-surface strong,.entry-editor-surface b{font-weight:var(--font-weight-semibold)}.calendar-page{display:flex;flex-direction:column;gap:var(--space-4);--rdp-accent-color: var(--color-accent);--rdp-accent-background-color: var(--color-accent-soft);--rdp-today-color: var(--color-accent);--rdp-disabled-opacity: .4;--rdp-range_start-color: var(--color-on-accent);--rdp-range_end-color: var(--color-on-accent)}.rdp-has-entries .rdp-day_button{font-weight:var(--font-weight-semibold)}.rdp-count-badge{display:inline-block;min-width:1.1em;margin-left:var(--space-0);padding:0 var(--space-1);border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-on-accent);font-size:var(--font-size-2xs);line-height:var(--line-height-snug);vertical-align:super}.calendar-day-entries h3,.calendar-on-this-day h3{margin-bottom:var(--space-2)}.search-input{width:100%;margin-top:var(--space-1);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-raised);font:inherit}.search-input:focus{border-color:var(--color-accent)}.search-input:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.search-results{list-style:none;margin:var(--space-2) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.search-result-link{display:flex;flex-direction:column;gap:var(--space-0);padding:var(--space-2);border-radius:var(--radius);color:inherit;text-decoration:none}.search-result-link:hover{background:var(--color-surface)}.search-result-date{font-size:var(--font-size-sm);color:var(--color-text-muted)}.search-result-snippet mark{background:var(--color-accent);color:var(--color-on-accent);border-radius:var(--radius-sm);padding:0 1px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sidebar-section-head{display:flex;align-items:baseline;justify-content:space-between}.sidebar-sublist{display:flex;flex-direction:column;gap:var(--space-0)}.link-button{padding:0;border:0;background:none;font:inherit;font-size:var(--font-size-xs);color:var(--color-accent);cursor:pointer}.link-button:hover{text-decoration:underline}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:flex-start;justify-content:center;padding:var(--space-4);background:var(--color-overlay);overflow-y:auto}.modal-panel{width:min(32rem,100%);margin-top:var(--space-6);padding:var(--space-3);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.modal-header{display:flex;align-items:center;justify-content:space-between}.modal-header h2{margin:0}.manage-body{display:flex;flex-direction:column;gap:var(--space-2)}.manage-create,.manage-rename{display:flex;gap:var(--space-2)}.manage-create input,.manage-rename input{flex:1;padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius);font:inherit}.manage-list{display:flex;flex-direction:column;gap:var(--space-1);margin:0;padding:0;list-style:none}.manage-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-1) 0;border-bottom:1px solid var(--color-border)}.manage-name{flex:1}.manage-actions{display:flex;gap:var(--space-1)}.manage-error{margin:0;font-size:var(--font-size-sm);color:var(--color-danger)}.entry-tags{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:var(--space-2)}.chip-list{display:flex;flex-wrap:wrap;gap:var(--space-1);margin:0;padding:0;list-style:none}.chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-0) var(--space-2);background:var(--color-accent-soft);color:var(--color-accent);border-radius:var(--radius-pill);font-size:var(--font-size-sm)}.chip-remove{border:0;background:none;color:inherit;font-size:var(--font-size-base);line-height:var(--line-height-tight);cursor:pointer}.settings-page>section{margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.lock-banner{margin-bottom:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-danger);border-radius:var(--radius);background:var(--color-accent-soft);color:var(--color-text)}.lock-banner p{margin:0}
