@import"https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,300;0,6..72,400;0,6..72,500;0,6..72,600;0,6..72,700;1,6..72,300;1,6..72,400;1,6..72,500&family=Hanken+Grotesk:wght@300;400;500;600;700&display=swap";.theme-switcher__button[data-v-ee6b7041]{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:transparent;border:1px solid var(--color-rule);border-radius:var(--border-radius-sm);cursor:pointer;color:var(--color-ink-muted);transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.theme-switcher__button[data-v-ee6b7041]:hover{color:var(--color-ink);border-color:var(--color-ink-muted);background:var(--color-surface-alt)}.theme-switcher__button[data-v-ee6b7041]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.masthead[data-v-edc7e769]{position:sticky;top:0;z-index:100;background:var(--color-paper);border-bottom:2px solid var(--color-ink);transition:background-color .35s ease,border-color .35s ease}.masthead__progress[data-v-edc7e769]{position:absolute;top:0;left:0;height:3px;background:var(--color-accent);transition:width .1s linear;z-index:10}.masthead__top[data-v-edc7e769]{padding:0 var(--spacing-xl)}.masthead__top-inner[data-v-edc7e769]{max-width:var(--container-max);margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:.5rem 0}.masthead__dateline[data-v-edc7e769]{font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-ink-muted);transition:color .35s ease}.masthead__nav-list[data-v-edc7e769]{display:flex;align-items:center;gap:.125rem}.masthead__nav-link[data-v-edc7e769]{display:flex;align-items:center;gap:.375rem;padding:.375rem .625rem;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-ink-muted);text-decoration:none;border-radius:var(--border-radius-sm);transition:color var(--transition-fast);position:relative}.masthead__nav-link[data-v-edc7e769]:after{content:"";position:absolute;bottom:0;left:.625rem;right:.625rem;height:2px;background:var(--color-accent);transform:scaleX(0);transition:transform var(--transition-fast);transform-origin:center}.masthead__nav-link[data-v-edc7e769]:hover,.masthead__nav-link.router-link-exact-active[data-v-edc7e769]{color:var(--color-ink)}.masthead__nav-link.router-link-exact-active[data-v-edc7e769]:after{transform:scaleX(1)}.masthead__nav-label[data-v-edc7e769]{display:inline}.masthead__nav-divider[data-v-edc7e769]{width:1px;height:1rem;background:var(--color-rule);margin:0 .25rem}.masthead__rule[data-v-edc7e769]{border:none;border-top:1px solid var(--color-rule);margin:0 var(--spacing-xl);transition:border-color .35s ease}.masthead__rule--thick[data-v-edc7e769]{border-top-width:3px;border-color:var(--color-ink);margin:0}.masthead__brand[data-v-edc7e769]{text-align:center;padding:1rem var(--spacing-xl) .875rem}.masthead__logo[data-v-edc7e769]{text-decoration:none;display:inline-block}.masthead__logo-text[data-v-edc7e769]{font-family:var(--font-serif);font-size:clamp(2rem,5vw,3.25rem);font-weight:var(--font-weight-bold);letter-spacing:-.03em;color:var(--color-ink);line-height:1;transition:color var(--transition-fast);display:block}.masthead__logo:hover .masthead__logo-text[data-v-edc7e769]{color:var(--color-accent)}.masthead__tagline[data-v-edc7e769]{font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);letter-spacing:.12em;text-transform:uppercase;color:var(--color-ink-muted);margin-top:.25rem;transition:color .35s ease}@media (max-width: 640px){.masthead__nav-label[data-v-edc7e769],.masthead__dateline[data-v-edc7e769]{display:none}.masthead__top[data-v-edc7e769]{padding:0 var(--spacing-md)}.masthead__rule[data-v-edc7e769]{margin:0 var(--spacing-md)}.masthead__brand[data-v-edc7e769]{padding:.75rem var(--spacing-md) .75rem}}.mobile-nav[data-v-28e06342]{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-around;padding:.5rem 0 calc(.5rem + env(safe-area-inset-bottom));background:var(--color-paper);border-top:2px solid var(--color-ink);z-index:1000;transition:background-color .35s ease,border-color .35s ease}.mobile-nav__link[data-v-28e06342]{display:flex;flex-direction:column;align-items:center;gap:3px;padding:.5rem 1rem;text-decoration:none;color:var(--color-ink-muted);transition:color var(--transition-fast);border-radius:var(--border-radius-sm)}.mobile-nav__link[data-v-28e06342]:hover{color:var(--color-ink)}.mobile-nav__link--active[data-v-28e06342]{color:var(--color-accent)}.mobile-nav__label[data-v-28e06342]{font-family:var(--font-sans);font-size:9px;font-weight:var(--font-weight-semibold);letter-spacing:.08em;text-transform:uppercase}.mobile-nav__divider[data-v-28e06342]{width:1px;height:2rem;background:var(--color-rule)}.mobile-nav__theme[data-v-28e06342]{color:inherit;padding:.5rem}@media (max-width: 380px){.mobile-nav__label[data-v-28e06342]{display:none}}.notification[data-v-df845558]{display:flex;background:var(--color-surface);border:1px solid var(--color-rule);box-shadow:var(--shadow-lg);border-radius:var(--border-radius-sm);overflow:hidden;animation:slideIn-df845558 .25s cubic-bezier(.2,.8,.3,1) both;min-width:280px;max-width:360px}@keyframes slideIn-df845558{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.notification__bar[data-v-df845558]{width:3px;flex-shrink:0;align-self:stretch}.notification--info .notification__bar[data-v-df845558]{background:var(--color-accent)}.notification--success .notification__bar[data-v-df845558]{background:var(--color-success-500)}.notification--warning .notification__bar[data-v-df845558]{background:var(--color-warning-500)}.notification--error .notification__bar[data-v-df845558]{background:var(--color-error-500)}.notification__body[data-v-df845558]{display:flex;align-items:center;gap:.5rem;padding:.75rem .75rem .75rem .875rem;flex:1}.notification__icon[data-v-df845558]{flex-shrink:0}.notification--info .notification__icon[data-v-df845558]{color:var(--color-accent)}.notification--success .notification__icon[data-v-df845558]{color:var(--color-success-500)}.notification--warning .notification__icon[data-v-df845558]{color:var(--color-warning-500)}.notification--error .notification__icon[data-v-df845558]{color:var(--color-error-500)}.notification__message[data-v-df845558]{flex:1;font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-ink);line-height:var(--line-height-snug)}.notification__close[data-v-df845558]{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background:transparent;border:none;color:var(--color-ink-faint);cursor:pointer;border-radius:var(--border-radius-sm);transition:color var(--transition-fast),background var(--transition-fast);flex-shrink:0}.notification__close[data-v-df845558]:hover{color:var(--color-ink);background:var(--color-neutral-100)}@media (max-width: 768px){.notification[data-v-df845558]{min-width:240px;max-width:calc(100vw - 2rem)}}.notification-container[data-v-59712a63]{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:12px}.notification-container__item[data-v-59712a63]{transition:all .3s ease}.notification-list-enter-active[data-v-59712a63],.notification-list-leave-active[data-v-59712a63]{transition:all .3s cubic-bezier(.25,.8,.25,1)}.notification-list-enter-from[data-v-59712a63],.notification-list-leave-to[data-v-59712a63]{transform:translate(100%);opacity:0}@media (max-width: 768px){.notification-container[data-v-59712a63]{top:10px;right:10px;left:10px}}.app-layout{display:flex;flex-direction:column;min-height:100vh}.app-main{flex:1}.app-footer{background:var(--color-paper);border-top:1px solid var(--color-rule);padding:var(--spacing-xl) var(--spacing-xl);margin-top:var(--spacing-3xl);transition:background-color .35s ease,border-color .35s ease}.app-footer__inner{max-width:var(--container-max);margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--spacing-lg)}.app-footer__brand{display:flex;flex-direction:column;gap:2px}.app-footer__logo{font-family:var(--font-serif);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-ink);letter-spacing:-.02em;line-height:1}.app-footer__tagline{font-family:var(--font-sans);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-ink-muted)}.app-footer__links{display:flex;gap:var(--spacing-lg);justify-content:center}.app-footer__links a{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-ink-muted);text-decoration:none;transition:color var(--transition-fast)}.app-footer__links a:hover{color:var(--color-accent)}.app-footer__copy{font-size:var(--font-size-xs);color:var(--color-ink-faint);text-align:right;letter-spacing:.02em}@media (max-width: 768px){.app-footer__inner{grid-template-columns:1fr;text-align:center}.app-footer__brand{align-items:center}.app-footer__copy{text-align:center}.app-main{padding-bottom:72px}}.my-button[data-v-84a53f65]{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;border:1px solid transparent;border-radius:var(--border-radius-sm);cursor:pointer;font-family:var(--font-sans);font-weight:var(--font-weight-semibold);letter-spacing:.02em;transition:all var(--transition-fast);outline:none;white-space:nowrap}.my-button[data-v-84a53f65]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.my-button[data-v-84a53f65]:active:not(:disabled){transform:translateY(1px)}.my-button[data-v-84a53f65]:disabled{cursor:not-allowed;opacity:.45}.my-button--primary[data-v-84a53f65]{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.my-button--primary[data-v-84a53f65]:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.my-button--secondary[data-v-84a53f65]{background:transparent;color:var(--color-ink-muted);border-color:var(--color-rule)}.my-button--secondary[data-v-84a53f65]:hover:not(:disabled){color:var(--color-ink);border-color:var(--color-ink-muted);background:var(--color-neutral-100)}.my-button--danger[data-v-84a53f65]{background:var(--color-error-500);color:#fff;border-color:var(--color-error-500)}.my-button--danger[data-v-84a53f65]:hover:not(:disabled){background:var(--color-error-600);border-color:var(--color-error-600)}.my-button--small[data-v-84a53f65]{padding:.375rem .75rem;font-size:var(--font-size-xs)}.my-button--medium[data-v-84a53f65]{padding:.5rem 1rem;font-size:var(--font-size-sm)}.my-button--large[data-v-84a53f65]{padding:.75rem 1.5rem;font-size:var(--font-size-base)}.my-button--disabled[data-v-84a53f65]{opacity:.45;cursor:not-allowed;transform:none!important}.my-input[data-v-c07ce482]{width:100%;font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-ink);background:var(--color-surface);border:1px solid var(--color-rule);border-radius:var(--border-radius-sm);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.my-input[data-v-c07ce482]::placeholder{color:var(--color-ink-faint)}.my-input[data-v-c07ce482]:focus{border-color:var(--color-ink-muted);box-shadow:0 0 0 3px var(--color-accent-muted);background:var(--color-surface)}.my-input[data-v-c07ce482]:disabled{background:var(--color-neutral-100);cursor:not-allowed;color:var(--color-ink-faint)}.my-input--small[data-v-c07ce482]{padding:.375rem .625rem}.my-input--medium[data-v-c07ce482]{padding:.5rem .875rem}.my-input--large[data-v-c07ce482]{padding:.75rem 1rem;font-size:var(--font-size-base)}.my-input--disabled[data-v-c07ce482]{cursor:not-allowed;opacity:.6}.my-select[data-v-bc9fd453]{width:100%;padding:.5rem 2.5rem .5rem .875rem;font-family:var(--font-sans);font-size:var(--font-size-sm);color:var(--color-ink);background-color:var(--color-surface);border:1px solid var(--color-rule);border-radius:var(--border-radius-sm);cursor:pointer;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235a5660' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.my-select[data-v-bc9fd453]:focus{border-color:var(--color-ink-muted);box-shadow:0 0 0 3px var(--color-accent-muted)}.my-select[data-v-bc9fd453]:disabled{background-color:var(--color-neutral-100);cursor:not-allowed;opacity:.6}.my-select__placeholder[data-v-bc9fd453]{color:var(--color-ink-faint)}.my-select__option[data-v-bc9fd453]{color:var(--color-ink);background-color:var(--color-surface);padding:.5rem}.delete-icon[data-v-e04370e3]{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:transparent;border:none;cursor:pointer;color:var(--color-ink-faint);border-radius:var(--border-radius-sm);transition:color var(--transition-fast),background var(--transition-fast)}.delete-icon[data-v-e04370e3]:hover{color:var(--color-error-500);background:#ef444414}.delete-icon[data-v-e04370e3]:focus-visible{outline:2px solid var(--color-error-500);outline-offset:2px}.confirm-overlay[data-v-e04370e3]{position:fixed;top:0;right:0;bottom:0;left:0;background:#16151a99;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.confirm-dialog[data-v-e04370e3]{background:var(--color-surface);border:1px solid var(--color-rule);border-top:3px solid var(--color-ink);padding:var(--spacing-xl);max-width:260px;width:100%;text-align:center;box-shadow:var(--shadow-xl);border-radius:var(--border-radius-sm);animation:scaleIn-e04370e3 .2s cubic-bezier(.2,.8,.3,1) both}.confirm-text[data-v-e04370e3]{font-family:var(--font-serif);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-ink);margin-bottom:var(--spacing-lg);line-height:var(--line-height-snug)}.confirm-actions[data-v-e04370e3]{display:flex;justify-content:center;gap:var(--spacing-sm)}.btn[data-v-e04370e3]{padding:.5rem 1.125rem;border:1px solid transparent;border-radius:var(--border-radius-sm);cursor:pointer;font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);transition:all var(--transition-fast)}.btn[data-v-e04370e3]:active{transform:translateY(1px)}.btn--danger[data-v-e04370e3]{background:var(--color-error-500);color:#fff;border-color:var(--color-error-500)}.btn--danger[data-v-e04370e3]:hover{background:var(--color-error-600);border-color:var(--color-error-600)}.btn--secondary[data-v-e04370e3]{background:transparent;color:var(--color-ink-muted);border-color:var(--color-rule)}.btn--secondary[data-v-e04370e3]:hover{color:var(--color-ink);border-color:var(--color-ink-muted);background:var(--color-neutral-100)}.fade-enter-active[data-v-e04370e3],.fade-leave-active[data-v-e04370e3]{transition:opacity .2s ease}.fade-enter-from[data-v-e04370e3],.fade-leave-to[data-v-e04370e3]{opacity:0}@keyframes scaleIn-e04370e3{0%{transform:scale(.94);opacity:0}to{transform:scale(1);opacity:1}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}.theme-transition *{transition:background-color .35s ease,border-color .35s ease,color .35s ease!important}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{min-height:100vh;font-family:var(--font-sans);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-base);color:var(--color-ink);background-color:var(--color-paper);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .35s ease,color .35s ease}ul,ol{list-style:none}a{text-decoration:none;color:var(--color-ink);transition:color var(--transition-fast)}a:hover{color:var(--color-accent)}img,picture{max-width:100%;display:block}button{font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast)}input,textarea,select{font-family:var(--font-sans);outline:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}:root{--color-paper: #f7f4ee;--color-paper-warm: #f0ece3;--color-ink: #16151a;--color-ink-muted: #5a5660;--color-ink-faint: #a09aaa;--color-rule: #d8d3ca;--color-surface: #ffffff;--color-surface-alt: #f0ece3;--color-accent: #d6482b;--color-accent-hover: #b83a21;--color-accent-light: #fdf0ed;--color-accent-muted: rgba(214, 72, 43, .12);--color-primary-50: #fdf0ed;--color-primary-100: #faddd6;--color-primary-200: #f4b8ab;--color-primary-300: #ec8c78;--color-primary-400: #e06349;--color-primary-500: #d6482b;--color-primary-600: #b83a21;--color-primary-700: #972e1a;--color-primary-800: #7a2516;--color-primary-900: #5c1a0f;--color-neutral-50: #f7f4ee;--color-neutral-100: #f0ece3;--color-neutral-200: #d8d3ca;--color-neutral-300: #b5aeaa;--color-neutral-400: #8c8490;--color-neutral-500: #6b6370;--color-neutral-600: #504a55;--color-neutral-700: #38333d;--color-neutral-800: #221f27;--color-neutral-900: #16151a;--color-background: var(--color-paper);--color-border: var(--color-rule);--color-text: var(--color-ink);--color-text-muted: var(--color-ink-muted);--color-success-50: #ecfdf5;--color-success-500: #10b981;--color-success-600: #059669;--color-warning-50: #fffbeb;--color-warning-500: #f59e0b;--color-warning-600: #d97706;--color-error-50: #fef2f2;--color-error-500: #ef4444;--color-error-600: #dc2626;--font-serif: "Newsreader", Georgia, "Times New Roman", serif;--font-sans: "Hanken Grotesk", "Helvetica Neue", Arial, sans-serif;--font-size-xs: .6875rem;--font-size-sm: .8125rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-size-4xl: 2.625rem;--font-size-5xl: 3.5rem;--font-weight-light: 300;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-snug: 1.4;--line-height-base: 1.6;--line-height-loose: 1.8;--letter-spacing-caps: .08em;--letter-spacing-wide: .03em;--spacing-xxs: .25rem;--spacing-xs: .5rem;--spacing-sm: .75rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4.5rem;--container-max: 1200px;--content-max: 740px;--column-gap: 2rem;--border-radius-sm: 3px;--border-radius-md: 6px;--border-radius-lg: 10px;--border-radius-xl: 16px;--border-radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(22, 21, 26, .06);--shadow-md: 0 4px 12px rgba(22, 21, 26, .08), 0 1px 4px rgba(22, 21, 26, .06);--shadow-lg: 0 8px 24px rgba(22, 21, 26, .1), 0 2px 8px rgba(22, 21, 26, .06);--shadow-xl: 0 20px 48px rgba(22, 21, 26, .12);--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--color-secondary-500: var(--color-accent);--color-secondary-600: var(--color-accent-hover);--color-card-background: var(--color-surface)}.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--spacing-lg)}@media (max-width: 768px){.container{padding:0 var(--spacing-md)}}.rule{border:none;border-top:1px solid var(--color-rule);margin:0}.kicker{font-family:var(--font-sans);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-accent);display:inline-block}.serif-heading{font-family:var(--font-serif);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight);letter-spacing:-.01em;color:var(--color-ink)}.grid{display:grid;gap:var(--spacing-lg)}.grid.grid-cols-1{grid-template-columns:1fr}.grid.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid.grid-cols-3{grid-template-columns:repeat(3,1fr)}@media (max-width: 768px){.grid{gap:var(--spacing-md)}.grid.grid-cols-2,.grid.grid-cols-3{grid-template-columns:1fr}}.section{padding:var(--spacing-2xl) 0}.section--sm{padding:var(--spacing-xl) 0}.section--lg{padding:var(--spacing-3xl) 0}@media (max-width: 768px){.section{padding:var(--spacing-xl) 0}.section--sm{padding:var(--spacing-lg) 0}.section--lg{padding:var(--spacing-xl) 0}}.card{background:var(--color-surface);border:1px solid var(--color-rule);transition:all var(--transition-fast)}.card:hover{box-shadow:var(--shadow-md)}.fade-enter-active,.fade-leave-active{transition:opacity .25s ease}.fade-enter-from,.fade-leave-to{opacity:0}.dark-theme{--color-paper: #121117;--color-paper-warm: #1a1920;--color-ink: #e8e4dc;--color-ink-muted: #9b95a8;--color-ink-faint: #5e5a6a;--color-rule: #2a2830;--color-surface: #1a1920;--color-surface-alt: #211f28;--color-accent: #e04e30;--color-accent-hover: #c44028;--color-accent-light: rgba(224, 78, 48, .15);--color-accent-muted: rgba(224, 78, 48, .18);--color-primary-50: rgba(224, 78, 48, .15);--color-primary-100: rgba(224, 78, 48, .25);--color-primary-200: #c44028;--color-primary-300: #e04e30;--color-primary-400: #e96a50;--color-primary-500: #e04e30;--color-primary-600: #e04e30;--color-primary-700: #c44028;--color-primary-800: #a03320;--color-primary-900: rgba(224, 78, 48, .15);--color-neutral-50: #121117;--color-neutral-100: #1a1920;--color-neutral-200: #2a2830;--color-neutral-300: #3d3a48;--color-neutral-400: #5e5a6a;--color-neutral-500: #7e7a8c;--color-neutral-600: #9b95a8;--color-neutral-700: #c0bcc8;--color-neutral-800: #dbd8e2;--color-neutral-900: #e8e4dc;--color-background: var(--color-paper);--color-border: var(--color-rule);--color-text: var(--color-ink);--color-text-muted: var(--color-ink-muted);--color-card-background: var(--color-surface);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4), 0 1px 4px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5), 0 2px 8px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 48px rgba(0, 0, 0, .6)}.dark-theme body{background-color:var(--color-background);color:var(--color-text)}.dark-theme .masthead{background:var(--color-paper);border-bottom-color:var(--color-rule)}.dark-theme .masthead__progress{background:var(--color-accent)}.dark-theme .masthead__rule{border-color:var(--color-rule)}.dark-theme .masthead__dateline{color:var(--color-ink-faint)}.dark-theme .masthead__logo{color:var(--color-ink)}.dark-theme .masthead__nav-link{color:var(--color-ink-muted)}.dark-theme .masthead__nav-link:hover,.dark-theme .masthead__nav-link.router-link-exact-active{color:var(--color-ink)}.dark-theme .masthead__nav-link.router-link-exact-active:after{background:var(--color-accent)}.dark-theme .mobile-nav{background:var(--color-paper);border-top-color:var(--color-rule)}.dark-theme .mobile-nav__link{color:var(--color-ink-muted)}.dark-theme .mobile-nav__link--active,.dark-theme .mobile-nav__link:hover{color:var(--color-accent)}.dark-theme .theme-switcher__button{color:var(--color-ink-muted);border-color:var(--color-rule)}.dark-theme .theme-switcher__button:hover{color:var(--color-ink);border-color:var(--color-ink-faint);background:var(--color-surface-alt)}.dark-theme .app-footer{background-color:var(--color-paper);border-top-color:var(--color-rule)}.dark-theme .app-footer__links a{color:var(--color-ink-muted)}.dark-theme .app-footer__links a:hover{color:var(--color-accent)}.dark-theme .post-card{background:var(--color-surface);border-color:var(--color-rule)}.dark-theme .post-card:hover{border-color:var(--color-ink-faint)}.dark-theme .post-card__kicker{color:var(--color-accent)}.dark-theme .post-card__title{color:var(--color-ink)}.dark-theme .post-card__title:hover{color:var(--color-accent)}.dark-theme .post-card__description{color:var(--color-ink-muted)}.dark-theme .post-card__rule{border-color:var(--color-rule)}.dark-theme .post-card__meta{color:var(--color-ink-faint)}.dark-theme .post-card__source{color:var(--color-accent)}.dark-theme .post-card__footer{border-top-color:var(--color-rule)}.dark-theme .post-card__action{color:var(--color-ink-muted)}.dark-theme .post-card__action:hover{color:var(--color-ink);background:var(--color-surface-alt)}.dark-theme .post-card__action--active{color:var(--color-accent)!important;background:var(--color-accent-muted)!important}.dark-theme .featured-post{border-color:var(--color-rule);background:var(--color-surface)}.dark-theme .featured-post__kicker{color:var(--color-accent)}.dark-theme .featured-post__title{color:var(--color-ink)}.dark-theme .featured-post__title:hover{color:var(--color-accent)}.dark-theme .featured-post__excerpt{color:var(--color-ink-muted)}.dark-theme .featured-post__meta{color:var(--color-ink-faint)}.dark-theme .featured-post__source{color:var(--color-accent)}.dark-theme .featured-post__rule{border-color:var(--color-rule)}.dark-theme .posts-page__header{background:var(--color-paper);border-bottom-color:var(--color-rule)}.dark-theme .posts-page__title{color:var(--color-ink)}.dark-theme .posts-page__favorites-link{color:var(--color-ink-muted);border-color:var(--color-rule)}.dark-theme .posts-page__favorites-link:hover{color:var(--color-accent);border-color:var(--color-accent)}.dark-theme .category-tabs{border-bottom-color:var(--color-rule)}.dark-theme .category-tab{color:var(--color-ink-muted)}.dark-theme .category-tab:hover{color:var(--color-ink)}.dark-theme .category-tab--active{color:var(--color-accent)}.dark-theme .skeleton-post{background:var(--color-surface);border-color:var(--color-rule)}.dark-theme .skeleton-title,.dark-theme .skeleton-text,.dark-theme .skeleton-meta-item{background:linear-gradient(90deg,var(--color-neutral-200) 25%,var(--color-neutral-300) 50%,var(--color-neutral-200) 75%);background-size:200% 100%;animation:loading 1.5s infinite}.dark-theme .skeleton-meta{border-top-color:var(--color-rule)}.dark-theme .posts-page__empty{background:var(--color-surface);border-color:var(--color-rule)}.dark-theme .posts-page__empty-title{color:var(--color-ink)}.dark-theme .posts-page__empty-description{color:var(--color-ink-muted)}.dark-theme .my-dialog{background:#121117e6}.dark-theme .post-details-modal{background:var(--color-surface);border-color:var(--color-rule)}.dark-theme .post-details-modal__header{border-bottom-color:var(--color-rule)}.dark-theme .post-details-modal__title{color:var(--color-ink)}.dark-theme .post-details-modal__close{color:var(--color-ink-muted)}.dark-theme .post-details-modal__close:hover{background:var(--color-surface-alt);color:var(--color-ink)}.dark-theme .post-details-modal__body{color:var(--color-ink-muted)}.dark-theme .post-details-modal__info{background:var(--color-surface-alt);border-color:var(--color-rule)}.dark-theme .post-details-modal__info-item:not(:last-child){border-bottom-color:var(--color-rule)}.dark-theme .post-details-modal__info-label{color:var(--color-ink-faint)}.dark-theme .post-details-modal__info-value{color:var(--color-ink)}.dark-theme .post-details-modal__actions{border-top-color:var(--color-rule)}.dark-theme .my-button--secondary{background:var(--color-surface-alt);color:var(--color-ink-muted);border-color:var(--color-rule)}.dark-theme .my-button--secondary:hover:not(:disabled){background:var(--color-neutral-300);color:var(--color-ink)}.dark-theme .my-input{background:var(--color-surface);color:var(--color-ink);border-color:var(--color-rule)}.dark-theme .my-input:focus{border-color:var(--color-accent);background:var(--color-surface-alt);box-shadow:0 0 0 3px var(--color-accent-muted)}.dark-theme .my-select{background-color:var(--color-surface);color:var(--color-ink);border-color:var(--color-rule);background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239b95a8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e")}.dark-theme .my-select:focus{border-color:var(--color-accent);background-color:var(--color-surface-alt);box-shadow:0 0 0 3px var(--color-accent-muted)}.dark-theme .my-select__option{color:var(--color-ink);background-color:var(--color-surface)}.dark-theme .about-page__header{background:var(--color-surface);border-bottom-color:var(--color-rule)}.dark-theme .about-page__title{color:var(--color-ink)}.dark-theme .about-page__subtitle{color:var(--color-ink-muted)}.dark-theme .about-page__content{background:var(--color-surface);border-color:var(--color-rule)}.dark-theme .about-page__section-title{color:var(--color-ink)}.dark-theme .about-page__text{color:var(--color-ink-muted)}.dark-theme .about-page__tech-item{background:var(--color-accent-muted);color:var(--color-accent);border-color:#e04e3033}.dark-theme .about-page__actions{border-top-color:var(--color-rule)}.dark-theme .favorites-page__header{border-bottom-color:var(--color-rule)}.dark-theme .favorites-page__title{color:var(--color-ink)}.dark-theme .favorites-page__back{color:var(--color-ink-muted)}.dark-theme .favorites-page__back:hover{color:var(--color-accent)}.dark-theme .favorites-page__count{background:var(--color-accent-muted);color:var(--color-accent);border-color:#e04e3040}.dark-theme .favorites-page__empty{background:var(--color-surface);border-color:var(--color-rule)}.dark-theme .favorites-page__empty h2{color:var(--color-ink)}.dark-theme .favorites-page__empty p{color:var(--color-ink-muted)}.dark-theme .error-message{background:#e04e3014;border-color:#e04e304d;color:var(--color-accent)}.dark-theme .hero__title{color:var(--color-ink)}.dark-theme .hero__subtitle{color:var(--color-ink-muted)}.dark-theme .hero__image-placeholder{background:var(--color-surface-alt);border-color:var(--color-rule);color:var(--color-accent)}.dark-theme .feature-card{background:var(--color-surface);border-color:var(--color-rule)}.dark-theme .feature-card__title{color:var(--color-ink)}.dark-theme .feature-card__description{color:var(--color-ink-muted)}.dark-theme .notification--info{background:var(--color-surface-alt);border-left-color:var(--color-accent);color:var(--color-ink)}.dark-theme .notification--success{background:#10b9811a;border-left-color:#10b981;color:var(--color-ink)}.dark-theme .notification--warning{background:#f59e0b1a;border-left-color:#f59e0b;color:var(--color-ink)}.dark-theme .notification--error{background:#ef44441a;border-left-color:#ef4444;color:var(--color-ink)}.dark-theme .posts-page__scroll-top{background:var(--color-accent);color:#fff}.dark-theme .posts-page__scroll-top:hover{background:var(--color-accent-hover)}.dark-theme .delete-icon{color:var(--color-ink-faint)}.dark-theme .delete-icon:hover{color:var(--color-error-500)}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}
