@import"https://fonts.googleapis.com/css2?family=David+Libre:wght@400;500;700&family=Source+Sans+3:wght@400;500;600;700&display=swap";.app-page-enter-active,.app-page-leave-active{transition:opacity .32s cubic-bezier(.2,0,0,1),transform .32s cubic-bezier(.2,0,0,1)}.app-page-enter-from{opacity:0;transform:translateY(12px)}.app-page-leave-to{opacity:0;transform:translateY(-8px)}@media (prefers-reduced-motion: reduce){.app-page-enter-active,.app-page-leave-active{transition:none}.app-page-enter-from,.app-page-leave-to{transform:none}}:root,[data-theme=light]{--color-bg: #f5efe6;--color-bg-elevated: #fffcf7;--color-bg-muted: #efe7db;--color-bg-subtle: #e5dbcc;--color-text: #1a2438;--color-text-muted: #6a7384;--color-text-subtle: #8f97a5;--color-border: rgba(26, 36, 56, .1);--color-border-strong: rgba(26, 36, 56, .18);--color-primary: #1f2a44;--color-primary-hover: #172033;--color-on-primary: #f7f1e8;--color-accent: #c4a35a;--color-accent-hover: #b08d45;--color-accent-muted: rgba(196, 163, 90, .18);--color-accent-subtle: rgba(196, 163, 90, .1);--color-quote: #f3e6d4;--color-overlay: rgba(23, 32, 51, .46);--color-success: #3d9b6e;--color-warning: #c9923a;--color-danger: #b54b4b;--color-danger-muted: rgba(181, 75, 75, .12);--color-info: #397c91;--color-severity-high: #9b2f2f;--color-severity-medium: #b86a2b;--gradient-surface: linear-gradient(150deg, #fffdf9 0%, #f7f0e6 48%, #efe6d8 100%);--gradient-surface-muted: linear-gradient(150deg, #fffaf4 0%, #f0e6d8 100%);--icon-disc: radial-gradient( circle at 32% 28%, color-mix(in srgb, var(--color-accent) 28%, #fffdf9), #f5efe6 58%, #ebe2d4 100% );--icon-disc-ring: color-mix(in srgb, var(--color-accent) 48%, var(--color-border-strong));--shadow-sm: 0 1px 3px rgba(26, 36, 56, .06);--shadow-md: 0 8px 24px rgba(26, 36, 56, .09);--shadow-lg: 0 24px 64px rgba(26, 36, 56, .14);--shadow-primary: 0 12px 28px rgba(31, 42, 68, .22)}[data-theme=dark]{--color-bg: #1b1d24;--color-bg-elevated: #262830;--color-bg-muted: #30323c;--color-bg-subtle: #3a3d48;--color-text: #f2ebe1;--color-text-muted: #b8b0a4;--color-text-subtle: #8f877c;--color-border: rgba(242, 235, 225, .1);--color-border-strong: rgba(242, 235, 225, .18);--color-primary: #e8e1d7;--color-primary-hover: #f4efe6;--color-on-primary: #1a1a1a;--color-accent: #d4b56a;--color-accent-hover: #e0c57a;--color-accent-muted: rgba(212, 181, 106, .18);--color-accent-subtle: rgba(212, 181, 106, .1);--color-quote: #3a3228;--color-overlay: rgba(10, 10, 14, .68);--color-success: #5cb888;--color-warning: #ddb05a;--color-danger: #e08080;--color-danger-muted: rgba(224, 128, 128, .16);--color-info: #79b8c9;--color-severity-high: #e07a7a;--color-severity-medium: #e0a56a;--gradient-surface: linear-gradient(150deg, #22242c 0%, #1b1d24 55%, #17191f 100%);--gradient-surface-muted: linear-gradient(150deg, #2a2c35 0%, #22242c 100%);--icon-disc: radial-gradient( circle at 32% 28%, color-mix(in srgb, var(--color-accent) 24%, #3a3d48), #2a2c35 58%, #22242c 100% );--icon-disc-ring: color-mix(in srgb, var(--color-accent) 42%, var(--color-border-strong));--shadow-sm: 0 1px 3px rgba(0, 0, 0, .25);--shadow-md: 0 8px 24px rgba(0, 0, 0, .32);--shadow-lg: 0 24px 64px rgba(0, 0, 0, .4);--shadow-primary: 0 12px 28px rgba(0, 0, 0, .35)}:root{--font-display: "David Libre", "Georgia", serif;--font-body: "Source Sans 3", "Segoe UI", system-ui, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1.125rem;--radius-xl: 1.75rem;--radius-full: 9999px;--duration-instant: 80ms;--duration-fast: .14s;--duration-normal: .22s;--duration-slow: .36s;--ease-out: cubic-bezier(.2, 0, 0, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.22, 1.35, .36, 1);--header-height: 4.5rem;--z-base: 0;--z-raised: 10;--z-sticky: 200;--z-overlay: 300}@keyframes motion-fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes motion-fade-in{0%{opacity:0}to{opacity:1}}@keyframes motion-scale-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes motion-pop{0%{transform:scale(1)}45%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes motion-rule{0%{transform:scaleX(.2);opacity:.35}to{transform:scaleX(1);opacity:.85}}@keyframes motion-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes motion-bob{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-4px) rotate(2deg)}}::view-transition-old(root),::view-transition-new(root){animation-duration:.32s;animation-timing-function:var(--ease-out)}::view-transition-old(app-header),::view-transition-new(app-header){animation:none;mix-blend-mode:normal;height:100%;overflow:clip}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html.theme-transition,html.theme-transition *,html.theme-transition *:before,html.theme-transition *:after{transition:none!important}::view-transition-old(root),::view-transition-new(root){animation:none!important}}*,*:before,*:after{box-sizing:border-box}html,body,#app{min-height:100%}body{margin:0;font-family:var(--font-body);font-size:var(--font-size-md);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-bg);background-image:var(--gradient-surface);background-attachment:fixed}html.theme-transition,html.theme-transition *,html.theme-transition *:before,html.theme-transition *:after{transition:background-color .32s var(--ease-out),background .32s var(--ease-out),color .32s var(--ease-out),border-color .32s var(--ease-out),box-shadow .32s var(--ease-out),fill .32s var(--ease-out),stroke .32s var(--ease-out)!important}h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:-.02em}button,input,textarea{font:inherit}a{color:inherit}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}::selection{background:var(--color-accent-muted);color:var(--color-text)}
