:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--color-background:var(--lightningcss-light,#fcfbfa)var(--lightningcss-dark,#1b1b1e);--color-surface:var(--lightningcss-light,#faf9f8)var(--lightningcss-dark,#2d2d31);--color-surface-subtle:var(--lightningcss-light,#f7f5f4)var(--lightningcss-dark,#4a4a52);--color-surface-elevated:var(--lightningcss-light,#faf9f8)var(--lightningcss-dark,#3b3b40);--color-pasteboard:var(--lightningcss-light,#efece8)var(--lightningcss-dark,#242428);--color-on-surface:var(--lightningcss-light,#1d1b19)var(--lightningcss-dark,#f5f1ed);--color-on-surface-variant:var(--lightningcss-light,#605e5c)var(--lightningcss-dark,#bfb8b0);--color-on-surface-muted:var(--lightningcss-light,#605e5c)var(--lightningcss-dark,#918a82);--color-primary-subtle:var(--lightningcss-light,#ffede5)var(--lightningcss-dark,#44302b);--color-primary:var(--lightningcss-light,#fe8551)var(--lightningcss-dark,#ff9166);--color-primary-hover:var(--lightningcss-light,#ff9d6e)var(--lightningcss-dark,#ffb08a);--color-primary-muted:var(--lightningcss-light,#fe8551)var(--lightningcss-dark,#d97560);--color-on-fill:#fff;--color-on-ink:var(--lightningcss-light,#faf9f8)var(--lightningcss-dark,#1d1b19);--color-outline:var(--lightningcss-light,#e6e5e4)var(--lightningcss-dark,#3f3a36);--color-outline-strong:var(--lightningcss-light,#e6e5e4)var(--lightningcss-dark,#555559);--color-success:var(--lightningcss-light,#3f7d52)var(--lightningcss-dark,#7fbe90);--color-success-subtle:var(--lightningcss-light,#ecf6ef)var(--lightningcss-dark,#2d3833);--color-warning:var(--lightningcss-light,#9a6308)var(--lightningcss-dark,#e0a44a);--color-warning-subtle:var(--lightningcss-light,#f7f2eb)var(--lightningcss-dark,#3e3426);--color-error:var(--lightningcss-light,#b23a2e)var(--lightningcss-dark,#ec8a7f);--color-error-subtle:var(--lightningcss-light,#f7eceb)var(--lightningcss-dark,#412f2f);--color-data-blue:#64748b;--color-data-sand:#c4a586;--color-data-moss:#8a9a7b;--color-data-plum:#7d6878;--color-data-sea:#487a68;--color-data-iris:#796996;--color-data-grid:#e6e2dd;--color-illus-indigo:#47548a;--color-illus-pine:#35665e;--color-illus-olive:#7b753d;--color-illus-rust:#a05c46;--color-illus-mauve:#6e4f76;--color-illus-indigo-ground:#ebedf7;--color-illus-pine-ground:#ebf7f5;--color-illus-olive-ground:#f7f6eb;--color-illus-rust-ground:#f7eeeb;--color-illus-mauve-ground:#f4ebf7;--font-family:"Hanken Grotesk", system-ui, sans-serif;--font-weight-body:400;--font-weight-label:500;--font-weight-heading:600;--type-headline-xl-size:40px;--type-headline-xl-weight:600;--type-headline-xl-line:1.3;--type-headline-lg-size:32px;--type-headline-lg-weight:600;--type-headline-lg-line:1.3;--type-headline-md-size:28px;--type-headline-md-weight:600;--type-headline-md-line:1.3;--type-headline-sm-size:24px;--type-headline-sm-weight:600;--type-headline-sm-line:1.3;--type-title-size:20px;--type-title-weight:600;--type-title-line:1.3;--type-subtitle-size:18px;--type-subtitle-weight:600;--type-subtitle-line:1.4;--type-body-lg-size:18px;--type-body-lg-weight:400;--type-body-lg-line:1.7;--type-body-md-size:16px;--type-body-md-weight:400;--type-body-md-line:1.6;--type-label-size:16px;--type-label-weight:500;--type-label-line:1.4;--type-caption-size:14px;--type-caption-weight:400;--type-caption-line:1.5;--type-eyebrow-size:13px;--type-eyebrow-weight:500;--type-eyebrow-line:1.4;--type-eyebrow-tracking:.08em;--type-ui-sm-size:12px;--type-ui-sm-weight:400;--type-ui-sm-line:1.4;--type-ui-xs-size:11px;--type-ui-xs-weight:500;--type-ui-xs-line:1.3;--space-xs:4px;--space-sm:8px;--space-s:12px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-xxl:48px;--space-xxxl:64px;--space-section:96px;--space-gutter:16px;--space-measure:800px;--space-container:1200px;--radius-none:0;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-full:9999px;--focus-ring-color:var(--color-primary);--focus-ring-width:2px;--focus-ring-offset:2px;--motion-chrome:.12s;--motion-fast:.15s;--motion-base:.2s;--motion-slow:.3s;--motion-expand:.45s;--scroll-offset:72px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--shadow-overlay:0 2px 8px #0000001a;--shadow-canvas-island:0 1px 2px #0000000f, 0 4px 12px #0000001a;--opacity-disabled:.4;--z-base:0;--z-sticky:10;--z-overlay:100;--z-popover:200;--z-toast:300}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}.canvas-island{box-sizing:border-box;border:1px solid var(--color-outline);border-radius:var(--radius-full);background:var(--color-surface);height:2.25rem;box-shadow:var(--shadow-canvas-island);align-items:center;display:inline-flex}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-family:"Hanken Grotesk", sans-serif;--background:var(--color-background);--surface:var(--color-surface);--text-primary:var(--color-on-surface);--text-secondary:var(--color-on-surface-variant);--coral:var(--color-primary);--coral-hover:var(--color-primary-hover);--subtle-bg:var(--color-surface-subtle);--border:var(--color-outline);--border-radius:var(--radius-sm);--editing-fill-color:var(--color-surface-subtle);--editing-stroke-color:var(--color-outline)}:root.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:var(--color-background);--surface:var(--color-surface);--surface-elevated:var(--color-surface-elevated);--text-primary:var(--color-on-surface);--text-secondary:var(--color-on-surface-variant);--text-tertiary:var(--color-on-surface-muted);--coral:var(--color-primary);--coral-hover:var(--color-primary-hover);--coral-muted:var(--color-primary-muted);--border:var(--color-outline);--subtle-bg:var(--color-surface-subtle);--editing-fill-color:var(--color-surface-subtle);--editing-stroke-color:var(--color-outline)}html{background-color:var(--background)}body{background-color:var(--background);color:var(--text-primary);font-family:var(--font-family);font-size:1.125rem;font-weight:400;line-height:1.7}a{color:var(--text-primary);text-decoration:underline;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border);text-underline-offset:.2em;transition:all .2s}a:hover{-webkit-text-decoration-color:var(--coral);text-decoration-color:var(--coral)}:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}h1,h2,h3,h4,h5,h6{color:var(--text-primary);margin-top:0;font-weight:600;line-height:1.3}h1{margin-bottom:1.5rem;font-size:2.5rem}h2{margin-bottom:1.25rem;font-size:2rem}h3{margin-bottom:1rem;font-size:1.75rem}h4{margin-bottom:.75rem;font-size:1.5rem}h5{margin-bottom:.5rem;font-size:1.25rem}h6{margin-bottom:.5rem;font-size:1.1rem}input,textarea,select{border:1px solid var(--border);background-color:var(--background);width:100%;color:var(--text-primary);border-radius:.25rem;padding:.75rem;font-family:inherit;font-size:1rem;transition:border-color .2s}input:focus,textarea:focus{border-color:var(--coral);outline:none}input:disabled,textarea:disabled,select:disabled{opacity:.6;cursor:not-allowed}label{color:var(--text-primary);margin-bottom:.5rem;font-weight:500;display:block}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}.button,a[role=button]{border-radius:var(--border-radius);background-color:var(--subtle-bg);color:var(--text-primary);text-align:center;cursor:pointer;border:none;padding:.75rem 1.5rem;font-family:inherit;font-size:1rem;font-weight:600;text-decoration:none;transition:background-color .2s;display:inline-block}.button:hover:not(:disabled),a[role=button]:hover{background-color:var(--surface)}.button:disabled,button:disabled{opacity:.6;cursor:not-allowed}.button.outline,button.outline,a[role=button].outline{border:1px solid var(--border);color:var(--text-primary);background-color:#0000}.button.outline:hover:not(:disabled),button.outline:hover:not(:disabled),a[role=button].outline:hover{background-color:var(--subtle-bg);color:var(--text-primary)}.button.secondary,button.secondary,a[role=button].secondary{background-color:var(--surface);color:var(--text-primary);border:1px solid var(--border)}.button.secondary:hover:not(:disabled),button.secondary:hover:not(:disabled),a[role=button].secondary:hover{background-color:var(--subtle-bg)}.button.contrast,button.contrast,a[role=button].contrast{background-color:var(--text-primary);color:var(--background)}.button.contrast:hover:not(:disabled),button.contrast:hover:not(:disabled),a[role=button].contrast:hover{opacity:.9}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.content-container{max-width:800px;margin:0 auto;padding:0 2rem}@media (width>=1024px){.content-container{margin-left:calc(50% - 400px + 8rem)}}body{grid-template-rows:auto 1fr auto;min-height:100vh;margin:0;display:grid}header.site-header{--stick-gap:5px;top:var(--stick-gap);z-index:1000;background-color:var(--background);box-shadow:0 calc(-1 * var(--stick-gap)) 0 0 var(--background);transition:box-shadow .15s;position:sticky}header.site-header.scrolled{box-shadow:0 calc(-1 * var(--stick-gap)) 0 0 var(--background), 0 1px 2px 0 #0000000f}:root.dark header.site-header.scrolled{box-shadow:0 calc(-1 * var(--stick-gap)) 0 0 var(--background), 0 1px 2px 0 #0000004d, 0 1px 0 0 var(--border)}header.site-header nav{justify-content:space-between;align-items:center;padding:.5rem 0;display:flex}header.site-header nav ul{align-items:center;gap:2rem;margin:0;padding:0;list-style:none;display:flex}article.journal-article :is(h1,h2,h3,h4,h5,h6){scroll-margin-top:var(--scroll-offset,72px)}nav a{color:var(--text-primary);text-decoration:none}nav a:hover,nav a[aria-current=page]{color:var(--text-primary);text-decoration:underline;-webkit-text-decoration-color:var(--coral);text-decoration-color:var(--coral);text-underline-offset:.25rem}main{padding-top:1.5rem;padding-bottom:3rem}footer{border-top:1px solid var(--border);background-color:var(--background);padding:1rem 0}.footer-grid{text-align:center;grid-template-columns:1fr;gap:1.5rem;display:grid}@media (width>=768px){.footer-grid{text-align:left;grid-template-columns:1fr 1fr 1fr}.footer-social{text-align:center}.footer-contact{text-align:right}}.footer-section,.footer-section p{margin:0}.footer-social a{margin:0 .5rem}.theme-toggle.svelte-1cmi4dh{cursor:pointer;color:var(--text-primary);background:0 0;border:none;justify-content:center;align-items:center;padding:.5rem;transition:opacity .2s;display:flex}.theme-toggle.svelte-1cmi4dh:hover{opacity:.7;background:0 0}details.account-menu.svelte-1mzjx0{background:0 0;border:none;margin:0;padding:0;display:inline-block;position:relative}summary.account-button.svelte-1mzjx0{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;justify-content:center;align-items:center;padding:.5rem;list-style:none;transition:color .2s;display:flex;position:relative}summary.account-button.svelte-1mzjx0::-webkit-details-marker{display:none}summary.account-button.svelte-1mzjx0::marker{display:none}summary.account-button.svelte-1mzjx0:hover{color:var(--coral-hover)}summary.account-button.svelte-1mzjx0:after{content:"Profile";background:var(--text-primary);color:var(--background);white-space:nowrap;pointer-events:none;opacity:0;z-index:1000;border-radius:.25rem;padding:.25rem .75rem;font-size:.75rem;transition:opacity .1s ease-out;position:absolute;bottom:-2rem;left:50%;transform:translate(-50%)}summary.account-button.svelte-1mzjx0:hover:after{opacity:1}.dropdown.svelte-1mzjx0{background:var(--surface);border:1px solid var(--border);z-index:1001;border-radius:.25rem;min-width:150px;margin-top:.5rem;position:absolute;top:100%;right:0;box-shadow:0 2px 8px #0000001a}.dropdown.svelte-1mzjx0 form:where(.svelte-1mzjx0){margin:0;padding:0}.dropdown-item.svelte-1mzjx0{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.5rem;padding:.75rem 1rem;font-family:inherit;font-size:1rem;text-decoration:none;transition:background-color .2s,color .2s;display:flex}.dropdown-item.svelte-1mzjx0:hover{background-color:var(--subtle-bg)}.logout-button.svelte-1mzjx0{cursor:pointer}.dropdown-error.svelte-1mzjx0{color:var(--color-error);padding:.5rem 1rem;font-size:.875rem}.search-button.svelte-ocbj1u{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:.5rem;padding:.5rem;font-family:inherit;font-size:.875rem;text-decoration:none;transition:color .2s,opacity .2s;display:flex}.search-button.svelte-ocbj1u:hover{color:var(--coral-hover);opacity:.9;background:0 0}.search-button.svelte-ocbj1u .shortcut:where(.svelte-ocbj1u){display:none}.search-button.svelte-ocbj1u:hover .shortcut:where(.svelte-ocbj1u){display:inline}.search-button.svelte-ocbj1u kbd:where(.svelte-ocbj1u){background:var(--subtle-bg);border:1px solid var(--border);color:var(--text-secondary);border-radius:.125rem;padding:.125rem .375rem;font-size:.7rem;font-weight:500}.nav-actions-item.svelte-ocbj1u{display:list-item}.divider.svelte-ocbj1u{border-left:1px solid var(--text-secondary);opacity:.3;height:1.5rem;margin:0 .25rem}li.svelte-ocbj1u:has(>.search-button:where(.svelte-ocbj1u))~li:where(.svelte-ocbj1u){margin-left:-1.5rem}li.svelte-ocbj1u:has(>.search-button:where(.svelte-ocbj1u))~.nav-actions-item:where(.svelte-ocbj1u){margin-left:-1.5rem}.footer-separator.svelte-jz8lnl{color:var(--text-secondary);opacity:.5;margin:0 .5rem}.ns-search-dialog-overlay{z-index:var(--z-overlay);transition:opacity var(--motion-base) var(--ease-out);background:#0f172a59;position:fixed;inset:0}.ns-search-dialog-overlay[data-state=closed]{opacity:0}.ns-search-dialog-overlay[data-state=open]{opacity:1}.ns-search-dialog-content{z-index:var(--z-overlay);background:color-mix(in srgb, var(--color-surface) 82%, transparent);-webkit-backdrop-filter:blur(28px)saturate(180%);border:1px solid color-mix(in srgb, var(--color-outline) 60%, transparent);width:min(600px,90vw);max-height:min(540px,70vh);box-shadow:var(--shadow-overlay);border-radius:var(--radius-lg);color:var(--color-on-surface);font-family:var(--font-family);transition:opacity var(--motion-base) var(--ease-out), transform var(--motion-base) var(--ease-in-out);flex-direction:column;display:flex;position:fixed;top:15vh;left:50%;overflow:hidden;transform:translate(-50%)}.ns-search-dialog-content[data-state=closed]{opacity:0;transform:translate(-50%)translateY(-4px)}.ns-search-dialog-content[data-state=open]{opacity:1;transform:translate(-50%)translateY(0)}.ns-search-dialog-title-sr{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ns-search-dialog-input-row{align-items:center;gap:var(--space-sm);height:52px;min-height:52px;padding:0 var(--space-md);background:0 0;flex-shrink:0;display:flex;position:relative}.ns-search-dialog-icon{color:var(--color-on-surface-variant);flex-shrink:0;justify-content:center;align-items:center;display:flex}.ns-search-dialog-input{height:100%;font-size:var(--type-body-md-size);color:var(--color-on-surface);caret-color:var(--color-on-surface);appearance:none;flex:1;min-width:80px;padding:0;font-family:inherit;box-shadow:none!important;background:0 0!important;border:none!important;outline:none!important}.ns-search-dialog-input:focus,.ns-search-dialog-input:focus-visible{box-shadow:none!important;border:none!important;outline:none!important}.ns-search-dialog-input::placeholder{color:var(--color-on-surface-variant);opacity:.7}.ns-search-dialog-esc-hint{font-size:var(--type-ui-xs-size);color:var(--color-on-surface-variant);background:color-mix(in srgb, var(--color-outline) 30%, transparent);border-radius:var(--radius-sm);border:1px solid var(--color-outline);-webkit-user-select:none;user-select:none;flex-shrink:0;padding:2px 6px}.ns-search-dialog-list{padding:var(--space-xs) 0;border-top:1px solid color-mix(in srgb, var(--color-outline) 50%, transparent);flex:1;max-height:calc(min(540px,70vh) - 52px);overflow-y:auto}.ns-search-dialog-group{padding:var(--space-xs) var(--space-md)}.ns-search-dialog-section-header{font-size:var(--type-caption-size);font-weight:var(--font-weight-heading);text-transform:uppercase;letter-spacing:.05em;color:var(--color-on-surface-variant);padding:var(--space-xs) var(--space-sm);margin:0}.ns-search-dialog-group-list{margin:0;padding:0;list-style:none}.ns-search-dialog-item{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);margin:1px var(--space-xs);cursor:pointer;color:var(--color-on-surface);width:calc(100% - var(--space-sm));text-align:left;transition:background var(--motion-fast) var(--ease-out);background:0 0;border:none;justify-content:space-between;align-items:center;font-family:inherit;text-decoration:none;display:flex}.ns-search-dialog-item:hover,.ns-search-dialog-item[data-active=true]{background:var(--color-surface-subtle)}.ns-search-dialog-item-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ns-search-dialog-item-title{font-size:var(--type-label-size);font-weight:var(--font-weight-label);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ns-search-dialog-item-snippet{font-size:var(--type-caption-size);color:var(--color-on-surface-variant);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ns-search-dialog-item-snippet mark{background:var(--color-surface-subtle);color:inherit;border-radius:var(--radius-sm)}.ns-search-dialog-shortcut{border:1px solid var(--color-outline);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-outline) 30%, transparent);color:var(--color-on-surface-variant);font-family:inherit;font-size:var(--type-caption-size);flex:none;padding:1px 5px}.ns-search-dialog-loading{padding:var(--space-xl);border-top:1px solid color-mix(in srgb, var(--color-outline) 50%, transparent);justify-content:center;align-items:center;display:flex}.ns-search-dialog-spinner{border:2px solid var(--color-outline);border-top-color:var(--color-on-surface);border-radius:var(--radius-full);width:20px;height:20px;animation:ns-search-dialog-spin var(--motion-slow) linear infinite}.ns-search-dialog-empty{padding:var(--space-lg);color:var(--color-on-surface-variant);font-size:var(--type-caption-size);text-align:center;border-top:1px solid color-mix(in srgb, var(--color-outline) 50%, transparent);margin:0}@keyframes ns-search-dialog-spin{to{transform:rotate(360deg)}}[data-reduced-motion=true] .ns-search-dialog-overlay,[data-reduced-motion=true] .ns-search-dialog-spinner,[data-reduced-motion=true] .ns-search-dialog-content{transition:none!important;animation:none!important}@starting-style{.ns-search-dialog-overlay[data-state=open]{opacity:0}.ns-search-dialog-content[data-state=open]{opacity:0;transform:translate(-50%)translateY(-4px)}}@media (prefers-reduced-motion:reduce){.ns-search-dialog-overlay,.ns-search-dialog-content{transition:none!important}.ns-search-dialog-spinner{animation:none!important}}
