.emap[data-v-5717c12e]{--emap-line:#e7e1da;--emap-muted:#757575;--emap-wash:hsla(38,44%,96%,.6)}.emap-controls[data-v-5717c12e]{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px}.emap-compact .emap-controls[data-v-5717c12e]{margin:0 12px 8px}.emap-form[data-v-5717c12e]{display:flex;flex:1 1 260px;gap:6px;max-height:44px;min-height:0}.emap-input[data-v-5717c12e]{box-sizing:border-box;flex:1;padding:7px 11px;border:1px solid var(--emap-line);border-radius:7px;background:transparent;color:inherit;font:inherit;font-size:.9rem}.emap-input[data-v-5717c12e]:focus{outline:none;border-color:#6f8f86}.emap-go[data-v-5717c12e]{box-sizing:border-box;padding:7px 14px;border:1px solid var(--emap-line);border-radius:7px;background:transparent;color:inherit;font-family:Quattrocento Sans,sans-serif;font-size:.84rem;cursor:pointer}.emap-go[data-v-5717c12e]:hover:not(:disabled){border-color:#6f8f86;color:#6f8f86}.emap-samples[data-v-5717c12e]{display:flex;flex-wrap:wrap;gap:6px}.emap-chip[data-v-5717c12e]{padding:4px 10px;border:1px solid var(--emap-line);border-radius:999px;background:transparent;color:var(--emap-muted);font-family:Quattrocento Sans,sans-serif;font-size:.76rem;cursor:pointer}.emap-chip[data-v-5717c12e]:hover:not(:disabled){border-color:#6f8f86;color:#6f8f86}.emap-view-toggle[data-v-5717c12e]{display:inline-flex;margin-left:auto;border:1px solid var(--emap-line);border-radius:6px;overflow:hidden}.emap-view[data-v-5717c12e]{min-width:38px;padding:5px 9px;border:none;border-right:1px solid var(--emap-line);background:transparent;color:var(--emap-muted);font-family:Quattrocento Sans,sans-serif;font-size:.7rem;cursor:pointer;transition:color .16s ease,background-color .16s ease}.emap-view[data-v-5717c12e]:last-child{border-right:none}.emap-view.active[data-v-5717c12e],.emap-view[data-v-5717c12e]:hover{color:#2f2f2f;background:rgba(111,143,134,.14)}.emap-stage[data-v-5717c12e]{position:relative;border:1px solid var(--emap-line);border-radius:10px;background:var(--emap-wash);overflow:hidden;transition:background-color .35s ease,border-color .35s ease}.emap-compact .emap-stage[data-v-5717c12e]{border-left:none;border-right:none;border-radius:0}.emap-canvas[data-v-5717c12e]{display:block;width:100%;cursor:grab;touch-action:none}.emap-tooltip[data-v-5717c12e]{position:absolute;max-width:200px;padding:6px 9px;border:1px solid var(--emap-line);border-radius:7px;background:hsla(0,0%,100%,.95);color:inherit;cursor:pointer;pointer-events:auto;text-align:left;display:flex;flex-direction:column;gap:1px;transition:background-color .35s ease,border-color .35s ease,color .35s ease}.emap-tooltip[data-v-5717c12e]:hover{border-color:#6f8f86}.emap-tooltip-group[data-v-5717c12e]{font-family:Quattrocento Sans,sans-serif;font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--emap-muted)}.emap-tooltip-title[data-v-5717c12e]{font-size:.8rem;line-height:1.3}.emap-status[data-v-5717c12e]{position:absolute;left:0;right:0;bottom:8px;margin:0;text-align:center;font-family:Quattrocento Sans,sans-serif;font-size:.76rem;color:var(--emap-muted)}.emap-hits[data-v-5717c12e]{margin-top:10px}.emap-compact .emap-hits[data-v-5717c12e]{margin:10px 14px 0}.emap-hits-label[data-v-5717c12e]{margin:0 0 4px;font-family:Quattrocento Sans,sans-serif;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--emap-muted)}.emap-hits ol[data-v-5717c12e]{margin:0;padding-left:1.2rem}.emap-hits li[data-v-5717c12e]{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;-moz-column-gap:8px;column-gap:8px;font-size:.86rem;margin:2px 0}.emap-hits button[data-v-5717c12e]{justify-self:start;min-width:0;border:none;background:none;padding:0;color:inherit;font:inherit;text-align:left;cursor:pointer;text-decoration:underline;text-decoration-color:rgba(111,143,134,.5);text-underline-offset:2px}.emap-hits button[data-v-5717c12e]:hover{color:#6f8f86}.emap-hit-score[data-v-5717c12e]{font-family:Quattrocento Sans,sans-serif;font-size:.72rem;color:var(--emap-muted)}.emap-caption[data-v-5717c12e]{margin:10px 0 0;font-size:.82rem;line-height:1.5;color:var(--emap-muted)}body.dark-mode .emap[data-v-5717c12e]{--emap-line:#2e2e2e;--emap-muted:#a1a1a1;--emap-wash:rgba(24,26,25,.55)}body.dark-mode .emap-view.active[data-v-5717c12e],body.dark-mode .emap-view[data-v-5717c12e]:hover{color:#e1e1e1;background:rgba(143,174,165,.16)}body.dark-mode .emap-tooltip[data-v-5717c12e]{background:hsla(0,0%,9%,.95)}body.theme-transitioning .emap-stage,body.theme-transitioning .emap-tooltip,body.theme-transitioning .emap-view,body.theme-transitioning .emap-view-toggle,html.theme-transitioning .emap-stage,html.theme-transitioning .emap-tooltip,html.theme-transitioning .emap-view,html.theme-transitioning .emap-view-toggle{transition:color var(--theme-duration,.22s) ease,background-color var(--theme-duration,.22s) ease,border-color var(--theme-duration,.22s) ease,box-shadow var(--theme-duration,.22s) ease}@media (max-width:700px){.emap-controls[data-v-5717c12e]{flex-direction:column;align-items:stretch}.emap-form[data-v-5717c12e]{flex:0 1 auto}.emap-view-toggle[data-v-5717c12e]{margin-left:0;align-self:flex-start}}.sp-overlay[data-v-5381d2d7]{position:fixed;inset:0;z-index:10000;display:flex;justify-content:center;align-items:flex-start;padding:12vh 20px 20px;background:rgba(24,24,28,.16);backdrop-filter:blur(5px) saturate(108%);-webkit-backdrop-filter:blur(5px) saturate(108%)}.sp-panel[data-v-5381d2d7]{position:relative;width:100%;max-width:600px;background:rgba(250,250,251,.94);border:1px solid rgba(60,60,67,.16);border-radius:18px;box-shadow:none;backdrop-filter:blur(12px) saturate(120%);-webkit-backdrop-filter:blur(12px) saturate(120%);overflow:hidden;display:flex;flex-direction:column;max-height:68vh}.sp-panel-map[data-v-5381d2d7]{height:min(68vh,600px);max-width:600px}.sp-input-row[data-v-5381d2d7]{display:flex;align-items:center;gap:12px;min-height:68px;box-sizing:border-box;padding:15px 18px;border-bottom:1px solid rgba(60,60,67,.1)}.sp-input-icon[data-v-5381d2d7]{color:#7f7f86;font-size:1.05rem}.sp-input[data-v-5381d2d7]{flex:1;border:none;outline:none;background:transparent;font-family:"PT Serif",Georgia,serif;min-width:0;font-size:1.16rem;color:#1f1f1f}.sp-input[data-v-5381d2d7]::-moz-placeholder{color:#9b9ba1}.sp-input[data-v-5381d2d7]::placeholder{color:#9b9ba1}.sp-clear[data-v-5381d2d7]{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:transparent;color:#a4a4aa;cursor:pointer;transition:color .14s ease,transform .14s cubic-bezier(.23,1,.32,1)}.sp-clear[data-v-5381d2d7]:active{transform:scale(.92)}.sp-esc[data-v-5381d2d7]{font-family:Quattrocento Sans,sans-serif;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:#9a9a9a;border:1px solid rgba(60,60,67,.14);border-radius:7px;padding:3px 7px;background:hsla(0,0%,100%,.48);cursor:pointer}.sp-modes[data-v-5381d2d7]{display:flex;align-items:center;gap:8px;min-height:42px;padding:8px 14px 2px}.sp-mode-segments[data-v-5381d2d7]{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid rgba(60,60,67,.09);border-radius:11px;background:hsla(240,4%,48%,.12)}.sp-mode[data-v-5381d2d7]{font-family:Quattrocento Sans,sans-serif;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;min-width:62px;color:#76767d;background:transparent;border:0;border-radius:8px;padding:5px 10px;cursor:pointer;transition:color .16s ease,background-color .18s ease,transform .14s cubic-bezier(.23,1,.32,1)}.sp-mode[data-v-5381d2d7]:hover{color:#555}.sp-mode[data-v-5381d2d7]:active{transform:scale(.96)}.sp-mode.active[data-v-5381d2d7]{color:#242426;background:hsla(0,0%,100%,.92)}.sp-mode-status[data-v-5381d2d7]{font-family:Quattrocento Sans,sans-serif;font-size:.6rem;letter-spacing:.06em;color:#b0b0b0;margin-left:2px;line-height:1}.sp-projection-toggle[data-v-5381d2d7]{display:inline-flex;margin-left:auto;padding:3px;border:1px solid rgba(60,60,67,.09);border-radius:10px;background:hsla(240,4%,48%,.12);overflow:hidden}.sp-projection[data-v-5381d2d7]{min-width:34px;padding:4px 8px;border:0;border-radius:7px;background:transparent;color:#9a9a9a;font-family:Quattrocento Sans,sans-serif;font-size:.62rem;letter-spacing:.08em;line-height:1;cursor:pointer;transition:color .16s ease,background-color .18s ease}.sp-projection.active[data-v-5381d2d7],.sp-projection[data-v-5381d2d7]:hover{color:#333;background:hsla(0,0%,100%,.9)}.sp-results[data-v-5381d2d7]{flex:1 1 auto;min-height:0;overflow-y:auto;padding:6px 0}.sp-panel-map .sp-results[data-v-5381d2d7]{display:flex;overflow:hidden;padding:0}.sp-map[data-v-5381d2d7]{display:flex;flex:1 1 auto;min-height:0;padding:8px 0 0}.sp-map[data-v-5381d2d7] .emap{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.sp-map[data-v-5381d2d7] .emap-stage{flex:1 1 auto;min-height:0}.sp-group[data-v-5381d2d7]{padding:4px 0 7px}.sp-group-label[data-v-5381d2d7]{font-family:Quattrocento Sans,sans-serif;font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:#aaa;padding:8px 20px 5px}.sp-result[data-v-5381d2d7]{display:block;width:calc(100% - 16px);margin:2px 8px;text-align:left;border:none;background:transparent;cursor:pointer;padding:9px 12px;border-radius:12px;transition:background-color .12s ease,transform .12s cubic-bezier(.23,1,.32,1)}.sp-result.active[data-v-5381d2d7]{background:hsla(240,4%,48%,.13)}.sp-result[data-v-5381d2d7]:active{transform:scale(.992)}.sp-result-title[data-v-5381d2d7]{display:block;font-family:"PT Serif",Georgia,serif;font-size:.96rem;color:#1f1f1f;line-height:1.35}.sp-result-snippet[data-v-5381d2d7]{display:block;font-family:"PT Serif",Georgia,serif;font-size:.8rem;color:#777;line-height:1.4;margin-top:2px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.sp-result[data-v-5381d2d7] mark{background:rgba(255,222,120,.45);color:inherit;border-radius:2px;padding:0 1px}.sp-empty[data-v-5381d2d7]{font-family:"PT Serif",Georgia,serif;color:#999;padding:22px 18px;font-size:.92rem}.sp-ask[data-v-5381d2d7]{padding:6px 0}.sp-ask-empty[data-v-5381d2d7]{text-align:left}.sp-ask-sample[data-v-5381d2d7]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:0;background:transparent;color:inherit;cursor:pointer;font:inherit;line-height:inherit;padding:0;max-width:none;text-align:left;opacity:0;transform:translateY(4px);transition:opacity .26s ease,transform .26s ease,color .16s ease}.sp-ask-sample.visible[data-v-5381d2d7]{opacity:1;transform:translateY(0)}.sp-ask-sample[data-v-5381d2d7]:focus-visible,.sp-ask-sample[data-v-5381d2d7]:hover{color:#222;outline:none}body.dark-mode .sp-ask-sample:focus-visible,body.dark-mode .sp-ask-sample:hover{color:#fff}@media (prefers-reduced-motion:reduce){.sp-ask-sample[data-v-5381d2d7]{opacity:1;transform:none;transition:color .16s ease}}.sp-ask-answer[data-v-5381d2d7]{font-family:"PT Serif",Georgia,serif;font-size:.96rem;line-height:1.6;color:#333;white-space:pre-wrap;margin:0;padding:14px 18px}.sp-ask-sources[data-v-5381d2d7]{padding-top:4px}.sp-ask-source-list[data-v-5381d2d7]{display:flex;flex-wrap:wrap;gap:6px 12px;padding:2px 18px 6px}.sp-ask-source[data-v-5381d2d7]{display:inline-block;border:0;border-bottom:1px solid currentColor;background:transparent;font-family:Quattrocento Sans,sans-serif;font-size:.78rem;color:#686868;padding:0 0 2px;opacity:.72;max-width:100%;min-width:0;flex:0 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity .16s ease,color .16s ease}.sp-ask-cite[data-v-5381d2d7]{color:#aaa;margin-right:4px}body.dark-mode .sp-ask-answer[data-v-5381d2d7]{color:#e4e4e4}body.dark-mode .sp-ask-source[data-v-5381d2d7]{color:#aaa}.sp-ask-source.is-previewed[data-v-5381d2d7],.sp-ask-source[data-v-5381d2d7]:focus-visible,.sp-ask-source[data-v-5381d2d7]:hover{color:#222;opacity:1}body.dark-mode .sp-ask-source.is-previewed[data-v-5381d2d7],body.dark-mode .sp-ask-source[data-v-5381d2d7]:focus-visible,body.dark-mode .sp-ask-source[data-v-5381d2d7]:hover{color:#fff}.sp-ask-preview[data-v-5381d2d7]{position:absolute;z-index:30;box-sizing:border-box;padding:9px 12px;border:1px solid rgba(60,60,67,.14);border-radius:8px;background:rgba(250,250,251,.96);backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%);box-shadow:0 10px 28px rgba(0,0,0,.14);pointer-events:none}.sp-ask-preview-kicker[data-v-5381d2d7]{display:block;font-family:Quattrocento Sans,sans-serif;font-size:.6rem;line-height:1.15;letter-spacing:.1em;text-transform:uppercase;color:#999;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sp-ask-preview-text[data-v-5381d2d7]{margin:3px 0 0;font-size:.8rem;line-height:1.45;color:#555}.sp-preview-fade-enter-active[data-v-5381d2d7],.sp-preview-fade-leave-active[data-v-5381d2d7]{transition:opacity .16s ease,transform .2s cubic-bezier(.23,1,.32,1)}.sp-preview-fade-enter-from[data-v-5381d2d7],.sp-preview-fade-leave-to[data-v-5381d2d7]{opacity:0;transform:translateY(-3px)}body.dark-mode .sp-ask-preview[data-v-5381d2d7]{background:rgba(44,44,46,.96);border-color:hsla(0,0%,100%,.12)}body.dark-mode .sp-ask-preview-kicker[data-v-5381d2d7]{color:#8e8e8e}body.dark-mode .sp-ask-preview-text[data-v-5381d2d7]{color:#bbb}.sp-ask-followups[data-v-5381d2d7]{padding:2px 0 6px}.sp-ask-followup-list[data-v-5381d2d7]{display:flex;flex-wrap:wrap;gap:7px;padding:2px 18px 8px}.sp-ask-followup[data-v-5381d2d7]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid currentColor;border-radius:3px;background:transparent;font-family:Quattrocento Sans,sans-serif;font-size:.72rem;color:#686868;padding:4px 8px;cursor:pointer;text-align:left;opacity:.48;transition:opacity .16s ease,color .16s ease,background-color .16s ease}.sp-ask-followup[data-v-5381d2d7]:focus-visible,.sp-ask-followup[data-v-5381d2d7]:hover{color:#222;opacity:.9;background:rgba(0,0,0,.04)}body.dark-mode .sp-ask-followup[data-v-5381d2d7]{color:#aaa}body.dark-mode .sp-ask-followup[data-v-5381d2d7]:focus-visible,body.dark-mode .sp-ask-followup[data-v-5381d2d7]:hover{color:#fff;background:hsla(0,0%,100%,.08)}.sp-foot[data-v-5381d2d7]{display:flex;gap:16px;padding:10px 16px 11px;border-top:1px solid rgba(60,60,67,.1);font-family:Quattrocento Sans,sans-serif;font-size:.66rem;color:#9a9a9a}.sp-foot kbd[data-v-5381d2d7]{font-family:inherit;border:1px solid rgba(60,60,67,.14);border-radius:6px;padding:1px 5px;margin-right:2px;color:#888}body.theme-transitioning .sp-esc,body.theme-transitioning .sp-foot,body.theme-transitioning .sp-foot kbd,body.theme-transitioning .sp-input-row,body.theme-transitioning .sp-mode,body.theme-transitioning .sp-projection,body.theme-transitioning .sp-projection-toggle,html.theme-transitioning .sp-esc,html.theme-transitioning .sp-foot,html.theme-transitioning .sp-foot kbd,html.theme-transitioning .sp-input-row,html.theme-transitioning .sp-mode,html.theme-transitioning .sp-projection,html.theme-transitioning .sp-projection-toggle{transition:color var(--theme-duration,.22s) ease,background-color var(--theme-duration,.22s) ease,border-color var(--theme-duration,.22s) ease}body.theme-transitioning .sp-ask-sample,html.theme-transitioning .sp-ask-sample{transition:opacity .26s ease,transform .26s ease,color var(--theme-duration,.22s) ease}body.theme-transitioning .sp-ask-answer,body.theme-transitioning .sp-ask-cite,body.theme-transitioning .sp-ask-source,html.theme-transitioning .sp-ask-answer,html.theme-transitioning .sp-ask-cite,html.theme-transitioning .sp-ask-source{transition:color var(--theme-duration,.22s) ease,background-color var(--theme-duration,.22s) ease}.sp-overlay[data-v-5381d2d7]{animation:sp-overlay-in-5381d2d7 .18s ease}.sp-panel[data-v-5381d2d7]{animation:sp-panel-in-5381d2d7 .18s cubic-bezier(.23,1,.32,1)}.sp-instant .sp-panel[data-v-5381d2d7],.sp-overlay.sp-instant[data-v-5381d2d7]{animation:none}@keyframes sp-overlay-in-5381d2d7{0%{opacity:0}to{opacity:1}}@keyframes sp-panel-in-5381d2d7{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (max-width:620px){.sp-overlay[data-v-5381d2d7]{padding:max(5vh,env(safe-area-inset-top)) 10px 10px}.sp-panel[data-v-5381d2d7]{max-height:78vh;border-radius:18px}.sp-input-row[data-v-5381d2d7]{min-height:62px;padding:13px 14px}.sp-input[data-v-5381d2d7]{font-size:1rem}.sp-mode[data-v-5381d2d7]{min-width:56px;padding-inline:8px}.sp-foot[data-v-5381d2d7]{display:none}}@media (prefers-reduced-motion:reduce){.sp-overlay[data-v-5381d2d7],.sp-panel[data-v-5381d2d7]{animation:none}}body{font-family:"PT Serif",Georgia,Times New Roman,serif;font-size:18px;color:#505050;line-height:1.75rem}:root{--ease-out:cubic-bezier(0.23,1,0.32,1);--theme-duration:220ms}@media (max-width:30em){body{font-size:14px;line-height:1.5rem}body h1{font-size:1.5rem}}h1{font-size:2rem}h1 a{text-decoration:none}h1,h2,h3,h4,h5,h6{font-family:Quattrocento Sans,sans-serif;color:#333}a{text-decoration:underline;color:#333}a:hover{color:#000;border-bottom:none}img{max-width:100%;height:auto;border-radius:5px}kbd{padding:1px 6px;border:1px solid #e7e1da;border-radius:4px;font-family:Quattrocento Sans,sans-serif;font-size:.82em;white-space:nowrap}blockquote{margin:10px 20px 10px;padding:0 15px;border-left:.25em solid #ccc;color:#999;line-height:1.5}hr{border-top:1px solid #ccc}table{border-collapse:collapse;margin-bottom:30px;width:100%}table,td,th{border:1px solid #000}td,th{padding:15px;text-align:left}code,pre{font-family:Source Code Pro,monospace}code{padding:.25em .5em;border-radius:3px}code,pre{font-size:.8rem;background-color:#f5f5f5}pre{display:block;margin-top:0;margin-bottom:1rem;padding:1rem;line-height:1.4;white-space:pre;white-space:pre-wrap;word-break:break-all;word-wrap:break-word}pre code{padding:0;font-size:100%;color:inherit;background-color:transparent}pre.highlight{white-space:pre;overflow-x:auto}.highlight{margin-bottom:1rem;border-radius:4px}.highlight pre{margin-bottom:0}.gist .gist-file{font-family:Source Code Pro,monospace!important}.gist .markdown-body{padding:15px}.gist pre{padding:0;background-color:transparent}.gist .gist-file .gist-data{font-size:.8rem!important;line-height:1.4}.gist code{padding:0;color:inherit;background-color:transparent;border-radius:0}.container{margin-left:auto;margin-right:auto;width:615px}.content-container{margin-bottom:4rem}@media (max-width:768px){.container{width:90vw}}.header{padding-top:.5rem;padding-bottom:.5rem;margin-bottom:1rem;font-family:Quattrocento Sans,sans-serif}.header a:hover{color:#000}.header-title a{font-size:2rem;text-decoration:none;color:#505050}.header-subtitle{color:#999;padding-left:7px}.menu{display:flex;align-items:flex-start;width:100%;padding-top:.5rem}.menu-content{flex:0 1 auto;min-width:0;display:grid;grid-auto-rows:max-content;align-items:start;justify-content:flex-start;-moz-column-gap:20px;column-gap:20px;row-gap:0;float:none;margin-bottom:5px}.menu-content.nav-tabs-one{grid-template-columns:repeat(6,max-content)}.menu-content.nav-tabs-two{grid-template-columns:repeat(3,max-content)}.menu-content.nav-tabs-three{grid-template-columns:repeat(2,max-content)}.menu-content a{color:#686868;font-size:1rem;padding-right:0;padding-bottom:5px;white-space:nowrap;flex:0 0 auto;box-sizing:border-box;justify-self:start}.social-icons{flex:0 0 auto;margin-left:auto;float:none;display:flex;align-items:center}.social-icons a,.social-icons button{color:#686868;font-size:2rem;line-height:1}.site-control{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer;transition:color .15s ease,background-color .15s ease,scale .14s var(--ease-out)}.site-control:focus-visible{outline:2px solid currentColor;outline-offset:2px}.site-control:active{scale:.96}@media (hover:hover) and (pointer:fine){.social-icons .site-control:focus-visible,.social-icons .site-control:hover{color:#000;scale:1.035}}[role=button]:active,button:active{scale:.97}body .welcome-text h2{white-space:pre!important;overflow-wrap:normal;word-break:normal;text-align:justify!important;text-align-last:justify!important;-moz-text-align-last:justify!important}@media (max-width:350px){.social-icons a,.social-icons button{font-size:1.75rem}}.footer{color:#999;text-align:center;margin:2rem}.footer a{color:#999;padding:10px;text-decoration:none}.footer a:hover{color:#333}.footer-description{display:block;margin-top:3px;margin-bottom:1rem;color:#999;font-family:Quattrocento Sans,sans-serif;font-size:.8rem;transform:translateZ(0);backface-visibility:hidden}.posts-container{margin-bottom:5rem;padding:0;list-style:none}.thumbnail-container{max-width:100%;overflow:hidden;border-radius:5px;margin-bottom:25px}.thumbnail-container img{margin-top:-11.5%;margin-bottom:-11.5%}.pagination{overflow:hidden;font-family:Quattrocento Sans,sans-serif;text-align:center}.pagination a{text-decoration:none}.pagination-button{color:#999;border:1px solid #e0e0e0;padding:15px 45px;display:inline-block;font-size:16px;font-weight:700}.pagination-active{color:#000}.pagination-active:hover{background-color:#e0e0e0}.post-date{display:block;margin-top:3px;margin-bottom:1rem;color:#999;font-family:Quattrocento Sans,sans-serif;font-size:.8rem}@media (max-width:30em){.posts h1{font-size:1.5rem}}.related{padding-bottom:2rem}.related-posts{padding-left:0;list-style:none}.related-posts a{text-decoration:none}.sharing-icons a{padding-right:10px}.fa-envelope{padding:5px;transition:.5s}.fa-envelope:hover{color:#f39c12}.fa-twitter{padding:5px;transition:.5s}.fa-twitter:hover{color:#00aced}.fa-instagram{padding:5px;transition:.5s}.fa-instagram:hover,.footer a:hover .fa-instagram{color:#e1306c}.fa-file-alt{padding:5px;transition:.5s}.fa-file-alt:hover,.footer a:hover .fa-file-alt{color:#22824b}.fa-github{padding:5px;transition:.5s}.fa-github:hover,.footer a:hover .fa-github{color:#343434}.fa-linkedin{padding:5px;transition:.5s}.fa-linkedin:hover,.footer a:hover .fa-linkedin{color:#0073a4}.fa-facebook{padding:5px;transition:.5s}.fa-facebook:hover{color:#3d5b99}.fa-pinterest{padding:5px;transition:.5s}.fa-pinterest:hover{color:#bd081c}.fa-medium{padding:5px;transition:.5s}.fa-medium:hover{color:#00ab6c}.fa-codepen{padding:5px;transition:.5s}.fa-codepen:hover{color:#000}.fa-rss-square{padding:5px;transition:.5s}.fa-rss-square:hover{color:#f60}.fa-codepen,.fa-envelope,.fa-facebook,.fa-file-alt,.fa-github,.fa-instagram,.fa-linkedin,.fa-medium,.fa-pinterest,.fa-rss-square,.fa-twitter{transition:color var(--theme-duration) ease}#app,body,html{min-height:100%;background-color:#fff}body,html{transition:background-color var(--theme-duration) ease,color var(--theme-duration) ease}body{background-color:#fff;cursor:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 320 512'%3E%3Cpath stroke='%23FFF' stroke-width='5' d='M0 55.2V426c0 12.2 9.9 22 22 22 6.3 0 12.4-2.7 16.6-7.5l82.6-94.5 58.1 116.3c7.9 15.8 27.1 22.2 42.9 14.3s22.2-27.1 14.3-42.9L179.8 320h118.1c12.2 0 22.1-9.9 22.1-22.1 0-6.3-2.7-12.3-7.4-16.5L38.6 37.9c-4.3-3.8-9.7-5.9-15.4-5.9C10.4 32 0 42.4 0 55.2z'/%3E%3C/svg%3E") 0 0,auto}body.theme-transitioning,body.theme-transitioning :where(header,footer,h1,h2,h3,h4,h5,h6,p,a,button,input,small,blockquote,code,pre),html.theme-transitioning,html.theme-transitioning #app,html.theme-transitioning body{transition:color var(--theme-duration) ease,background-color var(--theme-duration) ease,border-color var(--theme-duration) ease,outline-color var(--theme-duration) ease,box-shadow var(--theme-duration) ease,fill var(--theme-duration) ease,stroke var(--theme-duration) ease}#app #imageElement,#app #videoElement,#app .home-ask-bar,#app .sp-esc,#app [role=button]:not([aria-disabled=true]),#app [role=tab]:not([aria-disabled=true]),#app button:not(:disabled),#app input[type=button]:not(:disabled),#app input[type=reset]:not(:disabled),#app input[type=submit]:not(:disabled),#app label[for],#app select:not(:disabled),#app summary,#compassIcon,.home-ask-source,.site-control,.sp-ask-source,a{cursor:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 448 512'%3E%3Cpath stroke='%23FFF' stroke-width='5' d='M128 40c0-22.1 17.9-40 40-40s40 17.9 40 40v148.2c8.5-7.6 19.7-12.2 32-12.2 20.6 0 38.2 13 45 31.2 8.8-9.3 21.2-15.2 35-15.2 25.3 0 46 19.5 47.9 44.3 8.5-7.7 19.8-12.3 32.1-12.3 26.5 0 48 21.5 48 48v112c0 70.7-57.3 128-128 128h-85.3c-5 0-9.9-.3-14.7-1-55.3-5.6-106.2-34-140-79L8 336c-13.3-17.7-9.7-42.7 8-56s42.7-9.7 56 8l56 74.7V40zm112 264c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16v-96zm48-16c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16v-96c0-8.8-7.2-16-16-16zm80 16c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16v-96z'/%3E%3C/svg%3E") 8 0,auto}div.scroll-container{background-color:transparent;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;white-space:nowrap;padding:10px 0;height:35vh;display:flex;gap:20px;align-items:center;transition:color var(--theme-duration) ease;position:relative}div.scroll-container::-webkit-scrollbar{display:none}div.scroll-container.project{height:20vh}div.scroll-container img,div.scroll-container video{box-sizing:border-box;flex:0 0 auto;max-width:calc(100% - 3rem);padding:10px 0;height:calc(35vh - 20px);-o-object-fit:contain;object-fit:contain;scroll-snap-align:center;scroll-snap-stop:normal}div.scroll-container img{cursor:zoom-in}div.scroll-container.project img,div.scroll-container.project video{height:calc(20vh - 20px)}div.scroll-container.media-rail-ready>img,div.scroll-container.media-rail-ready>video{opacity:.52;transform:scale(.96);transform-origin:center;transition:opacity .26s ease,transform .32s cubic-bezier(.22,1,.36,1)}div.scroll-container.media-rail-ready>.media-rail-active{opacity:1;transform:scale(1)}@media (max-width:768px){div.scroll-container img,div.scroll-container video{max-width:78%}div.scroll-container.media-rail-ready>img,div.scroll-container.media-rail-ready>video{opacity:.46}div.scroll-container.media-rail-ready>.media-rail-active{opacity:1}}@media (prefers-reduced-motion:reduce){div.scroll-container.media-rail-ready>img,div.scroll-container.media-rail-ready>video{transition:opacity .12s ease}}.modal{display:none;position:fixed;z-index:100;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgba(0,0,0,.8);align-items:center;justify-content:center;text-align:center;cursor:zoom-out;overscroll-behavior:contain}.modal-content{margin:auto;display:block;max-width:90%;max-height:90%;cursor:default}body.modal-open{overflow:hidden}.image-wrapper{display:inline-block;background-color:#fff;padding:5px;border-radius:5px}.image-wrapper img{display:block}#music-icon{cursor:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 512 512'%3E%3Cpath stroke='%23FFF' stroke-width='5' d='M499.1 6.3c8.1 6 12.9 15.6 12.9 25.7v336c0 44.2-43 80-96 80s-96-35.8-96-80 43-80 96-80c11.2 0 22 1.6 32 4.6V147l-256 76.8V432c0 44.2-43 80-96 80S0 476.2 0 432s43-80 96-80c11.2 0 22 1.6 32 4.6V128c0-14.1 9.3-26.6 22.8-30.7l320-96c9.7-2.9 20.2-1.1 28.3 5z'/%3E%3C/svg%3E") 9 9,auto}.trafficReport{position:relative;min-height:420px}.trafficReport iframe{opacity:0;transition:opacity .45s ease}.trafficReport iframe.traffic-report-frame-ready{opacity:1}.traffic-loader{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.65rem;text-align:center;font-size:.95rem;color:#333;background:linear-gradient(180deg,hsla(0,0%,100%,.9),hsla(0,0%,100%,.8));transition:opacity .4s ease,visibility .4s ease;z-index:2}body.dark-mode .traffic-loader{color:#fafafa;background:linear-gradient(180deg,hsla(0,0%,7%,.95),hsla(0,0%,7%,.85))}.traffic-loader--hidden{opacity:0;visibility:hidden}.traffic-loader__spinner{width:42px;height:42px;border-radius:50%;border:3px solid rgba(0,0,0,.15);border-top-color:currentColor;animation:traffic-spin 1s linear infinite}@keyframes traffic-spin{to{transform:rotate(1turn)}}.visitormap{position:relative;min-height:320px;border-radius:12px;overflow:hidden;background:rgba(0,0,0,.03)}body.dark-mode .visitormap{background:hsla(0,0%,100%,.08)}.visitormap-frame{width:100%;height:100%;border:0;display:block}.visitor-map-loader{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;text-align:center;font-size:.9rem;color:#333;background:linear-gradient(180deg,hsla(0,0%,100%,.95),hsla(0,0%,100%,.85));transition:opacity .4s ease,visibility .4s ease;z-index:2}body.dark-mode .visitor-map-loader{color:#fafafa;background:linear-gradient(180deg,hsla(0,0%,7%,.95),hsla(0,0%,7%,.85))}.visitor-map-loader--hidden{opacity:0;visibility:hidden}.visitor-map-loader__spinner{width:36px;height:36px;border-radius:50%;border:3px solid rgba(0,0,0,.15);border-top-color:currentColor;animation:traffic-spin 1s linear infinite}.content-container h2[id],.content-container h3[id],.content-container li.title[id]{scroll-margin-top:24px}@media (max-width:390px){.site-control{width:2.25rem;height:2.25rem;font-size:1.55rem}}@keyframes search-flash-kf{0%{background-color:rgba(255,222,120,0)}18%{background-color:rgba(255,222,120,.55)}to{background-color:rgba(255,222,120,0)}}@keyframes search-flash-kf-dark{0%{background-color:rgba(255,210,90,0)}18%{background-color:rgba(255,210,90,.3)}to{background-color:rgba(255,210,90,0)}}.search-flash{animation:search-flash-kf 1.7s ease-out;border-radius:4px}body.dark-mode .search-flash{animation-name:search-flash-kf-dark}.tooltip{position:fixed;z-index:10001;pointer-events:none;opacity:0;transition:opacity .15s ease;background:#1b1c22;color:#fff;font-family:Quattrocento Sans,sans-serif;font-size:.78rem;line-height:1.35;padding:6px 9px;border-radius:6px;transform:translate(-50%,-130%);box-shadow:none;border:1px solid hsla(0,0%,100%,.18);max-width:220px}@media (prefers-reduced-transparency:reduce){.chapter-rail,.globe-tooltip-card,.home-ask-preview,.sp-ask-preview,.sp-overlay,.sp-panel{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.sp-overlay{background:rgba(24,24,28,.55)}.chapter-rail,.globe-tooltip-card,.home-ask-preview,.sp-ask-preview,.sp-panel{background:#fafafa;box-shadow:0 2px 14px rgba(0,0,0,.18)}body.dark-mode .chapter-rail,body.dark-mode .globe-tooltip-card,body.dark-mode .home-ask-preview,body.dark-mode .sp-ask-preview,body.dark-mode .sp-panel{background:#2c2c2e;box-shadow:none}}@media (prefers-contrast:more){.chapter-rail,.globe-tooltip-card,.home-ask-preview,.sp-ask-preview,.sp-panel{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#fff;border-color:#333;box-shadow:none}body.dark-mode .chapter-rail,body.dark-mode .globe-tooltip-card,body.dark-mode .home-ask-preview,body.dark-mode .sp-ask-preview,body.dark-mode .sp-panel{background:#000;border-color:#fff;box-shadow:none}}.highlight .hll{background-color:#ffc}.highlight .c{color:#999}.highlight .err{color:#a00;background-color:#faa}.highlight .k{color:#069}.highlight .o{color:#555}.highlight .cm{color:#09f;font-style:italic}.highlight .cp{color:#099}.highlight .c1,.highlight .cs{color:#999}.highlight .gd{background-color:#fcc;border:1px solid #c00}.highlight .ge{font-style:italic}.highlight .gr{color:red}.highlight .gh{color:#030}.highlight .gi{background-color:#cfc;border:1px solid #0c0}.highlight .go{color:#aaa}.highlight .gp{color:#009}.highlight .gu{color:#030}.highlight .gt{color:#9c6}.highlight .kc,.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr{color:#069}.highlight .kt{color:#078}.highlight .m{color:#f60}.highlight .s{color:#d44950}.highlight .na{color:#4f9fcf}.highlight .nb{color:#366}.highlight .nc{color:#0a8}.highlight .no{color:#360}.highlight .nd{color:#99f}.highlight .ni{color:#999}.highlight .ne{color:#c00}.highlight .nf{color:#c0f}.highlight .nl{color:#99f}.highlight .nn{color:#0cf}.highlight .nt{color:#2f6f9f}.highlight .nv{color:#033}.highlight .ow{color:#000}.highlight .w{color:#bbb}.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo{color:#f60}.highlight .sb,.highlight .sc{color:#c30}.highlight .sd{color:#c30;font-style:italic}.highlight .s2,.highlight .se,.highlight .sh{color:#c30}.highlight .si{color:#a00}.highlight .sx{color:#c30}.highlight .sr{color:#3aa}.highlight .s1{color:#c30}.highlight .ss{color:#fc3}.highlight .bp{color:#366}.highlight .vc,.highlight .vg,.highlight .vi{color:#033}.highlight .il{color:#f60}.css .nt+.nt,.css .o,.css .o+.nt{color:#999}body.dark-mode,html.dark-mode,html.dark-mode #app,html.dark-mode body{background-color:#1c1c1e;--dark-bg:#1c1c1e;--dark-surface:#2c2c2e;--dark-surface-2:#3a3a3d;--dark-border:hsla(0,0%,100%,.14)}body.dark-mode{color:#cfcfcf;cursor:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 320 512'%3E%3Cpath fill='%23FFF' stroke='%23000' stroke-width='5' d='M0 55.2V426c0 12.2 9.9 22 22 22 6.3 0 12.4-2.7 16.6-7.5l82.6-94.5 58.1 116.3c7.9 15.8 27.1 22.2 42.9 14.3s22.2-27.1 14.3-42.9L179.8 320h118.1c12.2 0 22.1-9.9 22.1-22.1 0-6.3-2.7-12.3-7.4-16.5L38.6 37.9c-4.3-3.8-9.7-5.9-15.4-5.9C10.4 32 0 42.4 0 55.2z'/%3E%3C/svg%3E") 0 0,auto}body.dark-mode a,body.dark-mode h1,body.dark-mode h2,body.dark-mode h3,body.dark-mode h5,body.dark-mode h6{color:#ccc}body.dark-mode h4{color:#7f7f7f}body.dark-mode kbd{border-color:hsla(0,0%,100%,.16)}body.dark-mode #app #imageElement,body.dark-mode #app #videoElement,body.dark-mode #app .home-ask-bar,body.dark-mode #app .sp-esc,body.dark-mode #app [role=button]:not([aria-disabled=true]),body.dark-mode #app [role=tab]:not([aria-disabled=true]),body.dark-mode #app button:not(:disabled),body.dark-mode #app input[type=button]:not(:disabled),body.dark-mode #app input[type=reset]:not(:disabled),body.dark-mode #app input[type=submit]:not(:disabled),body.dark-mode #app label[for],body.dark-mode #app select:not(:disabled),body.dark-mode #app summary,body.dark-mode #compassIcon,body.dark-mode .home-ask-source,body.dark-mode .site-control,body.dark-mode .sp-ask-source,body.dark-mode a{cursor:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 448 512'%3E%3Cpath fill='%23FFF' stroke='%23000' stroke-width='5' d='M128 40c0-22.1 17.9-40 40-40s40 17.9 40 40v148.2c8.5-7.6 19.7-12.2 32-12.2 20.6 0 38.2 13 45 31.2 8.8-9.3 21.2-15.2 35-15.2 25.3 0 46 19.5 47.9 44.3 8.5-7.7 19.8-12.3 32.1-12.3 26.5 0 48 21.5 48 48v112c0 70.7-57.3 128-128 128h-85.3c-5 0-9.9-.3-14.7-1-55.3-5.6-106.2-34-140-79L8 336c-13.3-17.7-9.7-42.7 8-56s42.7-9.7 56 8l56 74.7V40zm112 264c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16v-96zm48-16c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16v-96c0-8.8-7.2-16-16-16zm80 16c0-8.8-7.2-16-16-16s-16 7.2-16 16v96c0 8.8 7.2 16 16 16s16-7.2 16-16v-96z'/%3E%3C/svg%3E") 8 0,auto}body.dark-mode .container .header a:hover,body.dark-mode a:hover{color:#fff}body.dark-mode blockquote{border-left-color:#444;color:#ccc}body.dark-mode hr{border-top-color:#444}body.dark-mode code,body.dark-mode pre{background-color:#444;color:#fafafa}body.dark-mode .footer a,body.dark-mode .footer-description,body.dark-mode .header-subtitle,body.dark-mode .header-title a,body.dark-mode .menu-content a,body.dark-mode .post-date,body.dark-mode .social-icons a,body.dark-mode .social-icons button{color:#ccc}body.dark-mode .pagination-button{color:#ccc;border-color:#333}body.dark-mode .pagination-active:hover{background-color:#555}body.dark-mode .header-title a{color:#cfcfcf}body.dark-mode .header-subtitle{color:#767676}body.dark-mode .menu-content a,body.dark-mode .social-icons button{color:#979797}body.dark-mode .social-icons .site-control:focus-visible,body.dark-mode .social-icons .site-control:hover{color:#fff}body.dark-mode #music-icon{cursor:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 512 512'%3E%3Cpath fill='%23FFF' stroke='%23000' stroke-width='5' d='M499.1 6.3c8.1 6 12.9 15.6 12.9 25.7v336c0 44.2-43 80-96 80s-96-35.8-96-80 43-80 96-80c11.2 0 22 1.6 32 4.6V147l-256 76.8V432c0 44.2-43 80-96 80S0 476.2 0 432s43-80 96-80c11.2 0 22 1.6 32 4.6V128c0-14.1 9.3-26.6 22.8-30.7l320-96c9.7-2.9 20.2-1.1 28.3 5z'/%3E%3C/svg%3E") 9 9,auto}body.dark-mode .welcome-text h1{color:#ccc}body.dark-mode .welcome-text h2{color:#000}body.dark-mode .welcome-text h2 .typed{color:#fafafa}body.dark-mode #welcomeQuote{color:#565656}body.dark-mode .scroll-container{background-color:transparent}body.dark-mode .footer{color:#767676}body.dark-mode .fa-github:hover,body.dark-mode .footer a:hover .fa-github{color:#fff}body.dark-mode .tipcolor-1{color:#363636}body.dark-mode .tipcolor-2{color:#000}body.dark-mode #timeline section.year section ul:first-of-type:after{border:2px solid #1c1c1e}body.dark-mode .sp-overlay{background:rgba(0,0,0,.42)}body.dark-mode .sp-panel{background:rgba(44,44,46,.94);border-color:hsla(0,0%,100%,.12);box-shadow:none}body.dark-mode .sp-foot,body.dark-mode .sp-input-row{border-color:#2a2a2a}body.dark-mode .sp-input{color:#ededed}body.dark-mode .sp-input::-moz-placeholder{color:#666}body.dark-mode .sp-input::placeholder{color:#666}body.dark-mode .sp-result-title{color:#e4e4e4}body.dark-mode .sp-result-snippet{color:#9a9a9a}body.dark-mode .sp-result.active{background:hsla(0,0%,100%,.1)}body.dark-mode .sp-empty,body.dark-mode .sp-foot,body.dark-mode .sp-group-label{color:#888}body.dark-mode .sp-esc,body.dark-mode .sp-foot kbd{border-color:#3a3a3a;color:#999}body.dark-mode .sp-esc{background:hsla(0,0%,100%,.06)}body.dark-mode .sp-clear{color:#777}body.dark-mode .sp-result mark{background:rgba(255,210,90,.28);color:#f3f3f3}body.dark-mode .sp-mode-segments,body.dark-mode .sp-projection-toggle{border-color:hsla(0,0%,100%,.08);background:hsla(240,4%,48%,.24)}body.dark-mode .sp-mode{color:#999}body.dark-mode .sp-mode:hover{color:#ccc}body.dark-mode .sp-mode.active{color:#ededed;background:rgba(66,66,70,.92)}body.dark-mode .sp-mode-status{color:#777}body.dark-mode .sp-projection{color:#999}body.dark-mode .sp-projection.active,body.dark-mode .sp-projection:hover{color:#ededed;background:rgba(66,66,70,.92)}.fade-slide-enter-active[data-v-43c66971]{transition:opacity .18s cubic-bezier(.23,1,.32,1),transform .18s cubic-bezier(.23,1,.32,1)}.fade-slide-leave-active[data-v-43c66971]{transition:opacity .1s ease,transform .1s ease}.fade-slide-enter-from[data-v-43c66971],.fade-slide-leave-to[data-v-43c66971]{opacity:0}.fade-slide-enter-from[data-v-43c66971]{transform:translateY(10px)}.fade-slide-leave-active[data-v-43c66971]{transform:translateY(-6px);opacity:0}.route-fade-enter-active[data-v-43c66971]{transition:opacity .14s ease-out}.route-fade-leave-active[data-v-43c66971]{transition:opacity .08s ease}.route-fade-enter-from[data-v-43c66971],.route-fade-leave-to[data-v-43c66971]{opacity:0}.footer.home-direct-nav .footer-description[data-v-43c66971],.footer.home-direct-nav a[data-v-43c66971],.header.home-direct-nav .header-subtitle[data-v-43c66971],.header.home-direct-nav .header-title>a[data-v-43c66971],.header.home-direct-nav .menu-content a[data-v-43c66971],.header.home-direct-nav .social-icons a[data-v-43c66971],.header.home-direct-nav .social-icons button[data-v-43c66971]{color:transparent}@media (min-width:1180px) and (min-height:640px) and (hover:hover) and (pointer:fine){.header.intro-root .social-icons[data-v-43c66971]{display:none}}.scroll-progress[data-v-43c66971]{position:fixed;top:0;left:0;width:100%;height:2px;transform:scaleX(0);transform-origin:left center;background:#333;z-index:9999;pointer-events:none;transition:transform .08s linear}body.dark-mode .scroll-progress[data-v-43c66971]{background:#d8d8d8}@media (min-width:840px) and (min-height:620px) and (hover:hover) and (pointer:fine){.margin-dock-active[data-v-43c66971]{--margin-dock-edge:clamp(18px,2.4vw,30px)}.margin-dock-identity[data-v-43c66971]{top:28px;left:var(--margin-dock-edge);color:#424242;font-size:1.62rem;line-height:1;letter-spacing:-.025em;text-decoration:none;opacity:.82}.margin-dock-identity[data-v-43c66971],.margin-dock-subtitle[data-v-43c66971]{position:fixed;z-index:85;display:block;font-family:Quattrocento Sans,sans-serif}.margin-dock-subtitle[data-v-43c66971]{top:68px;left:calc(var(--margin-dock-edge) + 1px);width:94px;padding:0;color:#8d8d8d;font-size:.58rem;line-height:1.35;letter-spacing:.09em;text-transform:uppercase;opacity:.68}.margin-dock-nav[data-v-43c66971]{position:fixed;z-index:85;top:50%;left:var(--margin-dock-edge);display:flex;width:clamp(78px,calc(50vw - 319.5px - var(--margin-dock-edge)),108px);margin:0;flex-direction:column;align-items:stretch;gap:1px;font-family:Quattrocento Sans,sans-serif;transform:translateY(-50%)}.margin-dock-nav[data-v-43c66971]:before{content:"";position:absolute;top:7px;bottom:7px;left:2px;width:1px;background:currentColor;opacity:.12;pointer-events:none}.margin-dock-nav .margin-dock-item[data-v-43c66971]{position:relative;display:block;box-sizing:border-box;width:100%;padding:5px 0 5px 15px;color:#919191;font-size:.72rem;line-height:1.25;letter-spacing:.055em;text-decoration:none;opacity:.58;transition:color .17s ease,opacity .17s ease,transform .18s cubic-bezier(.23,1,.32,1)}.margin-dock-nav .margin-dock-item[data-v-43c66971]:before{content:"";position:absolute;top:50%;left:0;width:5px;height:5px;border-radius:50%;background:currentColor;opacity:0;transform:translateY(-50%) scale(.55);transition:opacity .18s ease,transform .24s cubic-bezier(.22,1,.36,1)}.margin-dock-nav .margin-dock-item.router-link-active[data-v-43c66971]{color:#292929;opacity:1}.margin-dock-nav .margin-dock-item.router-link-active[data-v-43c66971]:before{opacity:1;transform:translateY(-50%) scale(1)}.margin-dock-controls[data-v-43c66971]{position:fixed;z-index:85;top:50%;right:var(--margin-dock-edge);display:flex;width:58px;margin:0;flex-direction:column;align-items:flex-end;gap:0;transform:translateY(-50%)}.margin-dock-control-zone[data-v-43c66971]{--dock-control-size:36px;display:flex;box-sizing:border-box;width:clamp(84px,calc(50vw - 307.5px - var(--margin-dock-edge)),132px);height:50px;padding-right:calc((58px - var(--dock-control-size))/2);flex:0 0 50px;align-items:center;justify-content:flex-end}.margin-dock-theme-zone[data-v-43c66971]{--dock-control-size:34px}.margin-dock-search-zone[data-v-43c66971]{--dock-control-size:44px}.margin-dock-controls .margin-dock-control[data-v-43c66971]{position:relative;flex:0 0 auto;border:0;background:#fff;color:#686868;font-size:1.15rem;opacity:.62;transition:color .17s ease,background-color var(--theme-duration,.22s) ease,opacity .17s ease,translate .26s cubic-bezier(.22,1,.36,1),scale .16s cubic-bezier(.23,1,.32,1)}.margin-dock-controls .margin-dock-search[data-v-43c66971]{width:44px;height:44px;border:1px solid rgba(80,80,80,.18);font-size:1.28rem;opacity:.88;translate:-10px 0}.margin-dock-controls .margin-dock-theme[data-v-43c66971]{width:34px;height:34px}.margin-dock-controls .margin-dock-music[data-v-43c66971]{width:36px;height:36px}.margin-dock-controls .margin-dock-control[data-v-43c66971]:after{content:attr(aria-label);position:absolute;top:50%;right:calc(100% + 10px);width:-moz-max-content;width:max-content;color:#777;font-family:Quattrocento Sans,sans-serif;font-size:.62rem;font-weight:400;line-height:1;letter-spacing:.08em;text-transform:uppercase;opacity:0;pointer-events:none;transform:translate3d(5px,-50%,0);transition:opacity .15s ease,transform .19s cubic-bezier(.23,1,.32,1),color var(--theme-duration,.22s) ease}body.dark-mode .margin-dock-identity,body.dark-mode .margin-dock-nav .margin-dock-item.router-link-active{color:#dedede}body.dark-mode .margin-dock-nav .margin-dock-item,body.dark-mode .margin-dock-subtitle{color:#858585}body.dark-mode .margin-dock-controls .margin-dock-control{color:#a7a7a7;background:#000}body.dark-mode .margin-dock-controls .margin-dock-search{border-color:hsla(0,0%,100%,.16)}body.dark-mode .margin-dock-controls .margin-dock-control:after{color:#8e8e8e}@media (hover:hover) and (pointer:fine){.margin-dock-nav:hover .margin-dock-item[data-v-43c66971]{opacity:.76}.margin-dock-nav .margin-dock-item.router-link-active[data-v-43c66971],.margin-dock-nav .margin-dock-item[data-v-43c66971]:hover{color:#292929;opacity:1;transform:translateX(2px)}body.dark-mode .margin-dock-nav .margin-dock-item.router-link-active,body.dark-mode .margin-dock-nav .margin-dock-item:hover{color:#dedede}.margin-dock-controls:has(.margin-dock-music-zone:hover) .margin-dock-search[data-v-43c66971],.margin-dock-controls:has(.margin-dock-music:focus-visible) .margin-dock-search[data-v-43c66971],.margin-dock-controls:has(.margin-dock-theme-zone:hover) .margin-dock-search[data-v-43c66971],.margin-dock-controls:has(.margin-dock-theme:focus-visible) .margin-dock-search[data-v-43c66971]{translate:0 0}.margin-dock-control-zone:hover .margin-dock-control[data-v-43c66971],.margin-dock-control[data-v-43c66971]:focus-visible{color:#292929;opacity:1;translate:-10px 0}body.dark-mode .margin-dock-control-zone:hover .margin-dock-control,body.dark-mode .margin-dock-control:focus-visible{color:#dedede}.margin-dock-control-zone:hover .margin-dock-control[data-v-43c66971]:after,.margin-dock-control[data-v-43c66971]:focus-visible:after{opacity:1;transform:translate3d(0,-50%,0)}}}@media (min-width:840px) and (max-width:1100px) and (min-height:620px) and (hover:hover) and (pointer:fine){.margin-dock-identity[data-v-43c66971],.margin-dock-subtitle[data-v-43c66971]{display:none!important}}.footer-compass i[data-v-43c66971]{display:inline-block;transform-origin:50% 50%}@media (hover:hover) and (pointer:fine){.footer-compass-spin-in i[data-v-43c66971]{animation:footer-compass-spin-in-43c66971 .36s cubic-bezier(.23,1,.32,1)}.footer-compass-spin-out i[data-v-43c66971]{animation:footer-compass-spin-out-43c66971 .18s cubic-bezier(.23,1,.32,1)}}@keyframes footer-compass-spin-in-43c66971{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes footer-compass-spin-out-43c66971{0%{transform:rotate(0deg)}to{transform:rotate(-1turn)}}@media (prefers-reduced-motion:reduce){.fade-slide-enter-active[data-v-43c66971],.fade-slide-leave-active[data-v-43c66971],.route-fade-enter-active[data-v-43c66971],.route-fade-leave-active[data-v-43c66971]{transition:opacity .1s ease}.fade-slide-enter-from[data-v-43c66971],.fade-slide-leave-to[data-v-43c66971]{transform:none}.footer-compass-spin-in i[data-v-43c66971],.footer-compass-spin-out i[data-v-43c66971]{animation:none}}.scroll-reveal-item{opacity:0;transform:translate3d(0,16px,0) scale(.995);transition:opacity .28s ease-out,transform .34s cubic-bezier(.2,.65,.25,1);transition-delay:var(--scroll-delay,0ms);will-change:opacity,transform}.scroll-reveal-item.scroll-reveal-visible{opacity:1;transform:translateZ(0) scale(1)}.scroll-reveal-item[data-scroll-pop=true]{transform:translate3d(0,20px,0) scale(.97)}.scroll-reveal-item[data-scroll-pop=true].scroll-reveal-visible{transform:translateZ(0) scale(1)}.scroll-container.scroll-reveal-item{border-radius:14px;box-shadow:none;transform-origin:center;transform:translate3d(0,18px,0) scale(.97);transition:opacity .28s ease-out,transform .34s cubic-bezier(.2,.65,.25,1)}.scroll-container.scroll-reveal-item.scroll-reveal-visible{transform:translateZ(0) scale(1);box-shadow:none}@media (prefers-reduced-motion:reduce){.scroll-container.scroll-reveal-item,.scroll-reveal-item,.scroll-reveal-item[data-scroll-pop=true]{transform:none;transition:opacity .16s ease}}.fallback-image,video{width:100%}.cv-callout,.search-callout,.traffic-callout,.travel-callout{display:grid;grid-template-columns:1fr auto;gap:.35rem .8rem;align-items:center;margin:1.05rem 0 1.25rem;padding:.78rem .95rem;border-left:3px solid currentColor;background:rgba(0,0,0,.025);overflow:visible}.cv-callout{display:block}.cv-callout .cv-link{font-weight:700;white-space:nowrap}.inline-search-icon{display:inline-flex;align-items:center;justify-content:center;width:1.05em;height:1.05em;vertical-align:-.08em}.inline-search-icon i{font-size:.82em;line-height:1}.search-callout-button{display:inline-flex;align-items:center;justify-content:center;width:2.15rem;height:2.15rem;box-sizing:border-box;line-height:1;border:1px solid currentColor;border-radius:999px;background:transparent;color:inherit;cursor:pointer;opacity:.78;transition:opacity .18s ease,transform .18s ease,background .18s ease}.search-callout-button:focus-visible,.search-callout-button:hover{opacity:1;transform:translateY(-1px);background:rgba(0,0,0,.035);outline:none}.traffic-callout-link,.travel-callout-link{width:2.55rem;height:2.55rem;text-decoration:none}.traffic-callout-button,.traffic-callout-link,.travel-callout-button,.travel-callout-link{display:inline-flex;align-items:center;justify-content:center;color:inherit;overflow:visible}.traffic-callout-button,.travel-callout-button{width:2.15rem;height:2.15rem;box-sizing:border-box;line-height:1;border:1px solid currentColor;border-radius:999px;background:transparent;opacity:.78}.travel-callout-button{transition:opacity .18s ease,background .18s ease}.traffic-callout-button{transition:opacity .18s ease,transform .18s ease,background .18s ease}.travel-callout-button i{display:block;line-height:1;font-size:1.05rem;transition:transform .75s cubic-bezier(.5,0,.2,1)}.traffic-callout .fa-chart-line,.traffic-callout .fa-chart-line:hover,.traffic-callout-button i{display:block;line-height:1;padding:0;color:inherit}.traffic-callout-link:active .traffic-callout-button,.traffic-callout-link:focus-visible .traffic-callout-button,.traffic-callout-link:hover .traffic-callout-button,.travel-callout-link:active .travel-callout-button,.travel-callout-link:focus-visible .travel-callout-button,.travel-callout-link:hover .travel-callout-button{opacity:1;background:rgba(0,0,0,.035)}.traffic-callout-link:active .traffic-callout-button,.traffic-callout-link:focus-visible .traffic-callout-button,.traffic-callout-link:hover .traffic-callout-button{transform:translateY(-1px)}.travel-callout-link:active .travel-callout-button i,.travel-callout-link:focus-visible .travel-callout-button i,.travel-callout-link:hover .travel-callout-button i{transform:rotate(1turn)}.traffic-callout-link:focus-visible,.travel-callout-link:focus-visible{outline:none}body.dark-mode .cv-callout,body.dark-mode .search-callout,body.dark-mode .traffic-callout,body.dark-mode .travel-callout{background:hsla(0,0%,100%,.08)}body.dark-mode .search-callout-button:focus-visible,body.dark-mode .search-callout-button:hover,body.dark-mode .traffic-callout-link:active .traffic-callout-button,body.dark-mode .traffic-callout-link:focus-visible .traffic-callout-button,body.dark-mode .traffic-callout-link:hover .traffic-callout-button,body.dark-mode .travel-callout-link:active .travel-callout-button,body.dark-mode .travel-callout-link:focus-visible .travel-callout-button,body.dark-mode .travel-callout-link:hover .travel-callout-button{background:hsla(0,0%,100%,.07)}body.theme-transitioning .cv-callout,body.theme-transitioning .search-callout,body.theme-transitioning .traffic-callout,body.theme-transitioning .travel-callout,html.theme-transitioning .cv-callout,html.theme-transitioning .search-callout,html.theme-transitioning .traffic-callout,html.theme-transitioning .travel-callout{transition:color var(--theme-duration,.22s) ease,background-color var(--theme-duration,.22s) ease,border-color var(--theme-duration,.22s) ease}body.theme-transitioning .search-callout-button,body.theme-transitioning .traffic-callout-button,body.theme-transitioning .travel-callout-button,html.theme-transitioning .search-callout-button,html.theme-transitioning .traffic-callout-button,html.theme-transitioning .travel-callout-button{transition:opacity .18s ease,transform .18s ease,color var(--theme-duration,.22s) ease,background-color var(--theme-duration,.22s) ease,border-color var(--theme-duration,.22s) ease}.photo-frame{position:relative;display:inline-block;max-width:100%;line-height:0}.photo-frame img{display:block;border-radius:5px}.photo-watermark{position:absolute;right:clamp(12px,3.5%,22px);bottom:clamp(12px,3.5%,22px);opacity:0;transition:opacity .5s ease;display:flex;flex-direction:column;align-items:flex-end;text-align:right;line-height:1.2;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.photo-watermark.wm-visible{opacity:1}.photo-watermark .wm-zh{font-family:"Noto Serif TC","Source Han Serif TC",Songti TC,STSong,serif;font-size:clamp(8.4px,2vw,10.8px);font-weight:500;letter-spacing:.14em;margin-right:-.14em;color:hsla(0,0%,100%,.96);text-shadow:0 1px 5px rgba(0,0,0,.55),0 0 1px rgba(0,0,0,.45)}.photo-watermark .wm-en{font-family:"PT Serif",Georgia,serif;font-style:italic;font-size:clamp(6px,1.26vw,7.2px);margin-top:3px;letter-spacing:.2em;margin-right:-.2em;color:hsla(0,0%,100%,.88);text-shadow:0 1px 4px rgba(0,0,0,.5)}@media (hover:none),(pointer:coarse){.search-callout-button:hover,.traffic-callout-link:hover .traffic-callout-button,.travel-callout-link:hover .travel-callout-button i{transform:none}}.chapter-rail[data-v-564bb7a2]{position:fixed;z-index:30;top:50%;left:calc(50% + 340px);display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;width:150px;transform:translateY(-50%);font-family:Quattrocento Sans,sans-serif}.chapter-rail-lens[data-v-564bb7a2]{position:absolute;z-index:0;top:0;left:0;box-sizing:border-box;border:1px solid hsla(0,0%,100%,.58);border-radius:999px;background:rgba(0,0,0,.045);box-shadow:none;pointer-events:none;will-change:transform,width,height}.chapter-rail-lens.ready[data-v-564bb7a2]{transition:transform .32s cubic-bezier(.22,1,.36,1),width .26s cubic-bezier(.22,1,.36,1),height .26s cubic-bezier(.22,1,.36,1),opacity .12s ease}.chapter-rail-item[data-v-564bb7a2]{position:relative;z-index:1;display:inline-flex;align-items:center;gap:.55rem;min-height:28px;padding:.2rem .55rem;border:0;border-radius:999px;background:transparent;color:#9a9a9a;font:inherit;font-size:.72rem;line-height:1.2;text-align:left;cursor:pointer;transition:color .15s ease,background-color .15s ease,scale .14s cubic-bezier(.23,1,.32,1)}.chapter-rail-dot[data-v-564bb7a2]{width:5px;height:5px;flex:0 0 auto;border:1px solid currentColor;border-radius:50%;background:transparent;transition:background-color .15s ease,scale .15s cubic-bezier(.23,1,.32,1)}.chapter-rail-item.active[data-v-564bb7a2]{color:#252525;background:transparent}.chapter-rail-item.active .chapter-rail-dot[data-v-564bb7a2]{background:currentColor;scale:1.25}.chapter-rail-item[data-v-564bb7a2]:focus-visible{outline:2px solid currentColor;outline-offset:2px}.chapter-rail-item[data-v-564bb7a2]:active{scale:.97}body.dark-mode .chapter-rail-item{color:#858585}body.dark-mode .chapter-rail-item.active{color:#e2e2e2;background:transparent}body.dark-mode .chapter-rail-lens{border-color:hsla(0,0%,100%,.11);background:hsla(0,0%,100%,.09);box-shadow:none}body.theme-transitioning .chapter-rail,html.theme-transitioning .chapter-rail{transition:background-color var(--theme-duration,.22s) ease,border-color var(--theme-duration,.22s) ease}body.theme-transitioning .chapter-rail-item,html.theme-transitioning .chapter-rail-item{transition:color var(--theme-duration,.22s) ease,background-color var(--theme-duration,.22s) ease,border-color var(--theme-duration,.22s) ease,scale .14s cubic-bezier(.23,1,.32,1)}body.theme-transitioning .chapter-rail-dot,html.theme-transitioning .chapter-rail-dot{transition:color var(--theme-duration,.22s) ease,background-color var(--theme-duration,.22s) ease,border-color var(--theme-duration,.22s) ease,scale .15s cubic-bezier(.23,1,.32,1)}body.theme-transitioning .chapter-rail-lens.ready,html.theme-transitioning .chapter-rail-lens.ready{transition:transform .32s cubic-bezier(.22,1,.36,1),width .26s cubic-bezier(.22,1,.36,1),height .26s cubic-bezier(.22,1,.36,1),opacity .12s ease,background-color var(--theme-duration,.22s) ease,border-color var(--theme-duration,.22s) ease}@media (hover:hover) and (pointer:fine){.chapter-rail-item[data-v-564bb7a2]:hover{color:#252525;background:rgba(0,0,0,.045)}body.dark-mode .chapter-rail-item:hover{color:#e2e2e2;background:hsla(0,0%,100%,.08)}}@media (max-width:1100px){.chapter-rail[data-v-564bb7a2]{position:sticky;top:.4rem;left:auto;z-index:40;width:auto;margin:1.35rem 0 .4rem;padding:.35rem;flex-direction:row;align-items:center;gap:.15rem;overflow-x:auto;transform:none;border:1px solid hsla(0,0%,39%,.18);border-radius:999px;background:hsla(0,0%,100%,.94);box-shadow:none;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);scrollbar-width:none}.chapter-rail[data-v-564bb7a2]::-webkit-scrollbar{display:none}.chapter-rail-item[data-v-564bb7a2]{box-sizing:border-box;width:0;min-width:0;flex:1 1 0;justify-content:center;min-height:34px;white-space:nowrap}body.dark-mode .chapter-rail{background:rgba(44,44,46,.94);border-color:hsla(0,0%,100%,.15);box-shadow:none}}@media (max-width:520px){.chapter-rail-item[data-v-564bb7a2]{gap:0;padding-inline:.25rem;font-size:clamp(.62rem,2.4vw,.68rem)}.chapter-rail-dot[data-v-564bb7a2]{display:none}}@media (prefers-reduced-motion:reduce){.chapter-rail-dot[data-v-564bb7a2],.chapter-rail-item[data-v-564bb7a2]{transition:color .12s ease,background-color .12s ease}.chapter-rail-lens.ready[data-v-564bb7a2]{transition:opacity .12s ease}body.theme-transitioning .chapter-rail-dot,body.theme-transitioning .chapter-rail-item,html.theme-transitioning .chapter-rail-dot,html.theme-transitioning .chapter-rail-item{transition:color var(--theme-duration,.22s) ease,background-color var(--theme-duration,.22s) ease,border-color var(--theme-duration,.22s) ease}body.theme-transitioning .chapter-rail-lens.ready,html.theme-transitioning .chapter-rail-lens.ready{transition:opacity .12s ease,background-color var(--theme-duration,.22s) ease,border-color var(--theme-duration,.22s) ease}}#timeline{position:relative;display:table;height:100%;margin-left:auto;margin-right:auto;margin-top:3rem}#timeline div:after{content:"";width:2px;position:absolute;top:.5rem;bottom:0;left:60px;z-index:1;background:#c5c5c5}#timeline h3{position:sticky;top:5rem;color:#888;margin:0;font-size:1em;font-weight:400}@media (min-width:62em){#timeline h3{font-size:1.1em}}#timeline section.year{position:relative}#timeline section[id]{scroll-margin-top:5rem}#timeline section.year section:first-child{margin-top:-1.3em;padding-bottom:0}#timeline section.year section{position:relative;padding-bottom:2.5em;margin-bottom:6em}#timeline section.year section h4{position:absolute;bottom:0;font-size:.9em;font-weight:400;line-height:1em;margin:0;padding:0 0 0 89px;color:#969696}#timeline section.year section ul{list-style-type:none;padding:0 0 0 85px;margin:-1.35rem 0 1em;max-width:100rem;font-size:.9em}#timeline section.year section ul:last-child{margin-bottom:0}#timeline section.year section ul:first-of-type:after{content:"";width:10px;height:10px;background:#c5c5c5;border:2px solid #fff;border-radius:50%;position:absolute;left:54px;top:3px;z-index:2}#timeline section.year section ul li{margin-left:.5rem}#timeline section.year section ul li:not(:first-child){margin-top:.5rem}#timeline section.year section ul li.title{font-weight:700;font-size:1.5em;margin-top:.8rem}#timeline section.year section ul li.role{font-weight:700;font-size:1.2em;color:#838383;margin-top:.6rem;margin-bottom:.15rem}#timeline section.year section ul li.location{font-size:1.05em;color:#a0a0a0;margin-top:.15rem;margin-bottom:.8rem}#timeline section.year section ul li.description:before{content:"·";margin-left:-.5rem;padding-right:.3rem}.pub-cite[data-v-0feb92e0]{margin-top:1.15em}.pub-cite-venue[data-v-0feb92e0]{margin:0 0 .3em;font-family:Quattrocento Sans,sans-serif;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:#8a8a8a}.pub-cite-title[data-v-0feb92e0]{font-family:Quattrocento Sans,sans-serif;font-size:1.02em;line-height:1.35;margin:0 0 .3em;color:#333}.pub-cite-title a[data-v-0feb92e0]{color:#333;text-decoration:underline;text-decoration-color:rgba(0,0,0,.25);text-underline-offset:3px}.pub-cite-title a[data-v-0feb92e0]:hover{color:#000;text-decoration-color:#000}.pub-cite-authors[data-v-0feb92e0]{margin:0 0 .45em;font-size:.88rem;color:#777}.pub-cite-links[data-v-0feb92e0]{margin:0}.pub-cite-link[data-v-0feb92e0]{margin-right:1.2em;font-size:.88rem}.pub-cite-arrow[data-v-0feb92e0]{display:inline-block;margin-left:.15em;transition:transform .22s var(--ease-out)}.pub-cite-link:hover .pub-cite-arrow[data-v-0feb92e0]{transform:translateX(3px)}body.dark-mode .pub-cite-venue[data-v-0feb92e0]{color:#9a9a9a}body.dark-mode .pub-cite-title a[data-v-0feb92e0],body.dark-mode .pub-cite-title[data-v-0feb92e0]{color:#ccc}body.dark-mode .pub-cite-title a[data-v-0feb92e0]{text-decoration-color:hsla(0,0%,100%,.3)}body.dark-mode .pub-cite-title a[data-v-0feb92e0]:hover{color:#fff}body.dark-mode .pub-cite-authors[data-v-0feb92e0]{color:#8f8f8f}.timeline{margin:2.4em auto 3.4em;position:relative;max-width:100%}.timeline-group-section{list-style:none;position:relative;z-index:2;margin:2.9em 0 0}.timeline-group-section:first-child{margin-top:.5em}.timeline-group{display:flex;align-items:center;gap:.55em;width:100%;padding:0 0 .55em;border:0;border-bottom:1px solid rgba(0,0,0,.12);background:transparent;font-family:Quattrocento Sans,sans-serif;font-size:1.18rem;font-weight:600;letter-spacing:0;text-transform:none;text-align:left;color:#333;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:color .18s ease,border-color .25s ease}.timeline-group:focus-visible,.timeline-group:hover{color:#000;border-bottom-color:rgba(0,0,0,.28)}.timeline-group:focus-visible{outline:none}.timeline-group:focus-visible .tl-label{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1.5px}body.theme-transitioning .timeline-group,html.theme-transitioning .timeline-group{transition:color var(--theme-duration,.22s) ease,border-color var(--theme-duration,.22s) ease}.tl-label{min-width:0}.tl-count{flex:0 0 auto;margin-top:.08em;color:#9a9a9a;font-size:.72em;font-weight:500;letter-spacing:.02em}.tl-caret{flex:0 0 auto;margin-left:auto;margin-right:.15em;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);opacity:.55;transition:transform .35s cubic-bezier(.22,1,.36,1),opacity .2s ease}.timeline-group:hover .tl-caret{opacity:.85}.timeline-group-section.collapsed .tl-caret{transform:rotate(-45deg)}.timeline-note{position:relative;z-index:2;margin:.55em 0 0;font-size:.92rem;font-style:italic;color:#8c8c8c}body.dark-mode .timeline-note{color:#9a9a9a}.tl-group-body{display:grid;grid-template-rows:0fr;opacity:0;visibility:hidden;transition:grid-template-rows .5s cubic-bezier(.22,1,.36,1),opacity .28s ease,visibility 0s linear .5s}.timeline-group-section:not(.collapsed) .tl-group-body{grid-template-rows:1fr;opacity:1;visibility:visible;transition:grid-template-rows .5s cubic-bezier(.22,1,.36,1),opacity .32s ease .06s,visibility 0s}.tl-group-inner{overflow:hidden;min-height:0;padding:1.3em 0 1.7em}.timeline-group-items{list-style:none;margin:0;padding:0}.timeline-tools{display:flex;align-items:flex-end;justify-content:flex-end;gap:1.2rem;margin:1.45rem auto 0;max-width:90%;font-family:Quattrocento Sans,sans-serif}.timeline-search{position:relative;display:flex;align-items:center;box-sizing:border-box;flex:0 0 15.5rem;width:15.5rem;max-width:100%;padding:.1rem 1.45rem .28rem 0;border-bottom:1px solid rgba(80,80,80,.42);color:#333;cursor:text}.timeline-search-input{width:100%;border:0;outline:0;padding:0;background:transparent;color:inherit;font:inherit;font-size:.92rem;line-height:1.25;-webkit-user-select:text;-moz-user-select:text;user-select:text}.timeline-search-input::-moz-placeholder{color:rgba(80,80,80,.5)}.timeline-search-input::placeholder{color:rgba(80,80,80,.5)}.timeline-search-input::-webkit-search-cancel-button,.timeline-search-input::-webkit-search-decoration{-webkit-appearance:none}.timeline-search-icon{position:absolute;top:50%;right:.05rem;transform:translateY(-50%);font-size:.72rem;opacity:.58;pointer-events:none}.timeline-empty{max-width:90%;margin:.4rem auto 2.4rem;color:#8c8c8c;font-size:.96rem}body.dark-mode .timeline-search{border-bottom-color:hsla(0,0%,80%,.42);color:#ccc}body.dark-mode .timeline-search-input::-moz-placeholder{color:hsla(0,0%,80%,.52)}body.dark-mode .timeline-search-input::placeholder{color:hsla(0,0%,80%,.52)}body.dark-mode .timeline-empty{color:#8f8f8f}.timeline-event{position:relative;padding:0 0 1.8em;margin:0 0 1.8em;border:0;border-bottom:1px solid rgba(0,0,0,.08);background:transparent;transition:border-color .22s ease}.timeline-event:last-child{padding-bottom:0;margin-bottom:0;border-bottom:0}.timeline-event-copy{padding:0;position:static;width:auto;top:auto;left:auto}.timeline-event-copy h3{font-size:1.5em;line-height:1.3em;margin:0 0 .22em;letter-spacing:-.01em}.timeline-event-copy h4{font-size:1.02em;margin:0 0 1em;color:#6f6f6f;font-weight:500}.timeline-event-copy strong{font-weight:700}.timeline-event-copy p:not(.timeline-event-thumbnail){padding-bottom:0}.timeline-event-icon{display:none}.timeline-event-thumbnail{display:inline-block;margin-bottom:.9em;padding:0;background:transparent;color:#8a8a8a;font-family:Quattrocento Sans,sans-serif;font-size:.72em;letter-spacing:.08em;text-transform:uppercase}body.theme-transitioning .timeline-event,html.theme-transitioning .timeline-event{transition:border-color var(--theme-duration,.22s) ease}body.dark-mode .timeline-group{color:#ececec;border-bottom-color:hsla(0,0%,100%,.14)}body.dark-mode .timeline-group:focus-visible,body.dark-mode .timeline-group:hover{color:#fff;border-bottom-color:hsla(0,0%,100%,.3)}body.dark-mode .tl-count{color:#8e8e8e}body.dark-mode .timeline-event{background:transparent;border-color:hsla(0,0%,100%,.1)}body.dark-mode .timeline-event-copy h4{color:#a5a5a5}body.dark-mode .timeline-event-thumbnail{color:#9a9a9a}ul.timeline{list-style-type:none;padding-left:0}.timeline-group-section[id]{scroll-margin-top:28px}@media (max-width:1100px){.timeline-group-section[id]{scroll-margin-top:80px}}@media (max-width:720px){.timeline-tools{display:none}}@media (prefers-reduced-motion:reduce){.timeline-group-section:not(.collapsed) .tl-group-body,.tl-caret,.tl-group-body{transition:none}}.research-title[data-v-5626624a]{scroll-margin-top:1.35rem}.research-details[data-v-5626624a]{margin-top:.1rem}.research-more[data-v-5626624a]{display:inline-flex;align-items:center;gap:.42rem;margin:.15rem 0 .35rem;padding:0;border:0;background:transparent;color:#555;font-family:Quattrocento Sans,sans-serif;font-size:.84rem;cursor:pointer}.research-more[data-v-5626624a]:focus-visible,.research-more[data-v-5626624a]:hover{color:#000;outline:none}.research-more i[data-v-5626624a]{font-size:.68rem}.research-details-enter-active[data-v-5626624a],.research-details-leave-active[data-v-5626624a]{transition:opacity .18s ease,transform .18s ease}.research-details-enter-from[data-v-5626624a],.research-details-leave-to[data-v-5626624a]{opacity:0;transform:translateY(-4px)}body.dark-mode{color:#979797;color:#fff}.timeline-event-copy[data-v-5626624a] mark{background:rgba(255,222,120,.45);color:inherit;border-radius:2px;padding:0 1px}.projects-timeline-tools[data-v-fa533fb6]{margin-top:2.35rem}.timeline-event h3[id][data-v-fa533fb6]{scroll-margin-top:110px}.timeline-event-copy h4+h4[data-v-fa533fb6]{margin-top:.28em}.timeline-event-copy h4[data-v-fa533fb6]:first-of-type{font-size:1.05em}div.scroll-container.project.proof-gallery[data-v-fa533fb6]{--proof-gallery-height:clamp(230px,38vh,340px);height:var(--proof-gallery-height);align-items:stretch}div.scroll-container.project.proof-gallery img[data-v-fa533fb6]{height:calc(var(--proof-gallery-height) - 20px);border:1px solid rgba(0,0,0,.08);border-radius:6px;box-shadow:none;background:#fff}.timeline-event-copy[data-v-fa533fb6] mark{background:rgba(255,222,120,.45);color:inherit;border-radius:2px;padding:0 1px}body.dark-mode{background:rgba(255,210,90,.3)}.contour-hero[data-v-0efddc83]{position:relative;width:100%;height:78vh;min-height:460px;overflow:hidden}.contour-canvas[data-v-0efddc83]{position:absolute;inset:0;display:block}.contour-hero.as-background[data-v-0efddc83]{position:fixed;inset:0;width:100%;height:100vh;min-height:0;z-index:0;pointer-events:none}body.has-contour-background #app{background-color:transparent}body.has-contour-background .container{position:relative;z-index:1}.contour-hero.as-band[data-v-0efddc83]{height:46vh;min-height:300px;border:1px solid var(--line,#e3e3ea);border-radius:4px;margin:.5em 0 1.6em}body.dark-mode .contour-hero.as-band[data-v-0efddc83]{border-color:#2a2a2a}.contour-overlay[data-v-0efddc83]{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none}.contour-compass[data-v-0efddc83]{font-size:2.4em;color:#767676;opacity:.85;margin-bottom:.35em}.contour-title[data-v-0efddc83]{margin:0;font-weight:400;letter-spacing:.04em;color:#333}.contour-sub[data-v-0efddc83]{margin:.4em 0 0;font-size:.95em;color:#999}.contour-note[data-v-0efddc83]{position:absolute;left:0;right:0;bottom:1.1em;margin:0 auto;max-width:36em;padding:0 1.2em;text-align:center;font-size:.82em;line-height:1.5;color:#9a9a9a}body.dark-mode .contour-title[data-v-0efddc83]{color:#ccc}body.dark-mode .contour-compass[data-v-0efddc83],body.dark-mode .contour-note[data-v-0efddc83],body.dark-mode .contour-sub[data-v-0efddc83]{color:#8a8a8a}.globe-wrap[data-v-67cb9462]{position:relative;width:100%;display:flex;flex-direction:column;align-items:center;margin:1.5rem 0 .5rem}.globe-stage[data-v-67cb9462]{position:relative;line-height:0;overscroll-behavior:contain;border-radius:50%;isolation:isolate}.globe-stage[data-v-67cb9462]:before{content:"";position:absolute;inset:8%;z-index:-1;border-radius:50%;background:radial-gradient(circle at 38% 32%,hsla(0,0%,100%,.72),rgba(210,216,224,.16) 56%,transparent 76%);pointer-events:none}.globe-canvas[data-v-67cb9462]{position:relative;z-index:1;display:block;max-width:100%;touch-action:none;cursor:grab}.globe-canvas[data-v-67cb9462]:active{cursor:grabbing}.globe-ripple[data-v-67cb9462]{position:absolute;z-index:2;width:12px;height:12px;border:2px solid rgba(110,145,175,.85);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;animation:globe-ripple-a-67cb9462 .85s cubic-bezier(.22,1,.36,1) forwards}.globe-ripple[data-v-67cb9462]:after{content:"";position:absolute;inset:0;border:2px solid rgba(110,145,175,.55);border-radius:50%;animation:globe-ripple-b-67cb9462 .85s cubic-bezier(.22,1,.36,1) .18s forwards}@keyframes globe-ripple-a-67cb9462{0%{transform:translate(-50%,-50%) scale(.6);opacity:1}to{transform:translate(-50%,-50%) scale(5);opacity:0}}@keyframes globe-ripple-b-67cb9462{0%{transform:scale(.6);opacity:1}to{transform:scale(5);opacity:0}}.globe-hint[data-v-67cb9462]{margin-top:.6rem;font-family:Quattrocento Sans,sans-serif;font-size:.72rem;letter-spacing:.04em;color:#b3b3b3}.globe-tooltip[data-v-67cb9462]{position:absolute;top:0;left:0;pointer-events:none;opacity:0;transition:opacity .18s ease-out;z-index:5}.globe-tooltip.is-visible[data-v-67cb9462]{opacity:1}.globe-tooltip-card[data-v-67cb9462]{position:absolute;left:0;bottom:18px;transform:translate(-50%);width:300px;max-width:300px;background:rgba(252,252,253,.94);border:1px solid rgba(60,60,67,.14);border-radius:16px;box-shadow:none;backdrop-filter:blur(10px) saturate(120%);-webkit-backdrop-filter:blur(10px) saturate(120%);overflow:hidden;text-align:left}.globe-tooltip-img[data-v-67cb9462]{display:block;width:100%;height:188px;-o-object-fit:cover;object-fit:cover;border-radius:0;border-bottom:1px solid rgba(60,60,67,.08)}.globe-tooltip-text[data-v-67cb9462]{padding:9px 12px 11px;display:flex;flex-direction:column}.gt-local[data-v-67cb9462]{font-family:"Noto Serif TC","Noto Serif SC","Source Han Serif TC","Source Han Serif SC",Songti TC,STSong,serif;font-size:.92rem;font-weight:600;letter-spacing:.06em;color:#1f1f1f;line-height:1.2;overflow-wrap:anywhere}.gt-en[data-v-67cb9462]{font-family:"PT Serif",Georgia,serif;font-style:italic;font-size:.72rem;letter-spacing:.03em;color:#777;margin-top:2px;line-height:1.25;overflow-wrap:anywhere}.globe-places[data-v-67cb9462]{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem .55rem;line-height:1.35;margin:.75rem auto 0;max-width:920px}.globe-chip[data-v-67cb9462]{font-family:Quattrocento Sans,sans-serif;font-size:.8rem;color:#76767d;padding:.38rem .65rem;border:1px solid rgba(60,60,67,.11);border-radius:999px;background:rgba(248,248,250,.62);cursor:pointer;white-space:nowrap;transition:color .16s ease,background-color .16s ease,border-color .16s ease,transform .14s cubic-bezier(.23,1,.32,1)}.globe-chip.is-active[data-v-67cb9462]{color:#fff;border-color:#353539;background:#353539}.globe-chip[data-v-67cb9462]:active{transform:scale(.96)}.globe-chip[data-v-67cb9462]:focus-visible{outline:2px solid #4d4d52;outline-offset:2px}@media (hover:hover) and (pointer:fine){.globe-chip[data-v-67cb9462]:hover{color:#1f1f1f;background:hsla(0,0%,100%,.86)}}body.dark-mode .globe-tooltip-card[data-v-67cb9462]{background:rgba(44,44,46,.94);border-color:hsla(0,0%,100%,.1);box-shadow:none}body.dark-mode .globe-stage[data-v-67cb9462]:before{background:radial-gradient(circle at 38% 32%,hsla(0,0%,100%,.08),rgba(130,145,170,.045) 56%,transparent 76%)}body.dark-mode .gt-local[data-v-67cb9462]{color:#ededed}body.dark-mode .gt-en[data-v-67cb9462]{color:#9a9a9a}body.dark-mode .globe-hint[data-v-67cb9462]{color:#5a5a5a}body.dark-mode .globe-chip[data-v-67cb9462]{color:#a0a0a6;border-color:hsla(0,0%,100%,.1);background:rgba(38,38,41,.62)}body.dark-mode .globe-chip.is-active[data-v-67cb9462]{color:#1b1b1d;border-color:#ededed;background:#ededed}body.theme-transitioning .globe-tooltip-card,html.theme-transitioning .globe-tooltip-card{transition:background-color var(--theme-duration,.22s) ease,border-color var(--theme-duration,.22s) ease}body.theme-transitioning .globe-chip,body.theme-transitioning .globe-hint,body.theme-transitioning .gt-en,body.theme-transitioning .gt-local,html.theme-transitioning .globe-chip,html.theme-transitioning .globe-hint,html.theme-transitioning .gt-en,html.theme-transitioning .gt-local{transition:color var(--theme-duration,.22s) ease}@media (max-width:768px){.globe-tooltip-card[data-v-67cb9462]{width:min(280px,calc(100vw - 48px));max-width:min(280px,calc(100vw - 48px))}.globe-tooltip-img[data-v-67cb9462]{height:176px}.globe-places[data-v-67cb9462]{flex-wrap:nowrap;justify-content:flex-start;width:100%;max-width:100%;padding:.25rem 0 .55rem;gap:.5rem;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity}.globe-places[data-v-67cb9462]::-webkit-scrollbar{display:none}.globe-chip[data-v-67cb9462]{flex:0 0 auto;scroll-snap-align:center}}@media (prefers-reduced-motion:reduce){.globe-chip[data-v-67cb9462],.globe-tooltip[data-v-67cb9462]{transition:color .12s ease,background-color .12s ease,opacity .12s ease}}.lede[data-v-0503324f]{font-size:1.05em}.play-intro[data-v-0503324f],.stage-note[data-v-0503324f]{color:#777}h2[data-v-0503324f]{margin-top:2.2rem}.lib-cards[data-v-0503324f]{display:flex;gap:12px;margin:1.2rem 0 .5rem;flex-wrap:wrap}.lib-card[data-v-0503324f]{flex:1 1 150px;border:1px solid #e6e6e6;border-radius:8px;padding:12px 14px}.lib-card p[data-v-0503324f]{margin:.3rem 0 0;font-size:.9em;line-height:1.5}.lib-tag[data-v-0503324f]{font-family:Quattrocento Sans,sans-serif;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#333;border-bottom:2px solid #cfcfcf;padding-bottom:2px}.playground[data-v-0503324f]{border:1px solid #e6e6e6;border-radius:12px;padding:4px 18px 18px;margin:1.4rem 0;background:rgba(0,0,0,.012)}.stage[data-v-0503324f]{padding:18px 0;border-bottom:1px solid #ededed}.stage[data-v-0503324f]:last-child{border-bottom:none}.stage-head[data-v-0503324f]{font-family:Quattrocento Sans,sans-serif;font-size:.98rem;color:#333;margin-bottom:12px;display:flex;align-items:center}.stage-num[data-v-0503324f]{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#333;color:#fff;font-size:.78rem;margin-right:9px;flex-shrink:0}.stage-note[data-v-0503324f]{font-size:.82rem;line-height:1.55;margin-top:12px}.stage-note--top[data-v-0503324f]{margin-top:0;margin-bottom:18px}.qform[data-v-0503324f]{display:flex;flex-direction:column;gap:10px;max-width:400px}.qrow[data-v-0503324f]{display:flex;align-items:center;justify-content:space-between;gap:12px}.qrow.is-sub[data-v-0503324f]{padding-left:14px}.qlabel[data-v-0503324f]{font-size:.9em;color:#444}.sub-arrow[data-v-0503324f]{color:#aaa;margin-right:5px}.qselect[data-v-0503324f]{font-family:Quattrocento Sans,sans-serif;font-size:.85rem;padding:5px 9px;border:1px solid #ccc;border-radius:6px;background:#fff;color:#222;min-width:168px;cursor:pointer}.cfg[data-v-0503324f]{margin-bottom:22px}.cfg[data-v-0503324f]:last-child{margin-bottom:0}.cfg-head[data-v-0503324f]{display:flex;align-items:baseline;gap:.6em;margin-bottom:7px;flex-wrap:wrap}.cfg-name[data-v-0503324f]{font-family:Quattrocento Sans,sans-serif;font-size:.86rem;font-weight:700;color:#2b2b2b}.cfg-blurb[data-v-0503324f]{font-size:.78rem;color:#999;font-style:italic}.cfg-note[data-v-0503324f]{font-size:.8rem;color:#555;margin-top:8px}.table-scroll[data-v-0503324f]{overflow-x:auto}table.rules[data-v-0503324f]{border-collapse:collapse;width:100%;font-family:Quattrocento Sans,sans-serif}table.rules td[data-v-0503324f],table.rules th[data-v-0503324f]{border:1px solid #e4e4e4;padding:6px 9px;font-size:.74rem;text-align:center;white-space:nowrap}.rowhead[data-v-0503324f]{text-align:left!important;color:#555;font-weight:400;background:rgba(0,0,0,.015)}.schead[data-v-0503324f]{color:#777;font-weight:400;transition:background .2s,color .2s}.schead.matched[data-v-0503324f]{color:#333;background:rgba(0,0,0,.04)}.schead.winning[data-v-0503324f]{color:#1f1f1f;background:rgba(120,90,170,.16);font-weight:700}.group-row td[data-v-0503324f]{text-align:left!important;font-size:.64rem!important;letter-spacing:.08em;text-transform:uppercase;color:#aaa;background:rgba(0,0,0,.02);border-left:none;border-right:none}tr.dim[data-v-0503324f]{opacity:.38}.cell[data-v-0503324f]{transition:background .2s,color .2s;color:#888}.cell.colmatch[data-v-0503324f]{background:rgba(0,0,0,.035)}.cell.winning[data-v-0503324f]{background:rgba(120,90,170,.12)}.spec-cell[data-v-0503324f]{color:#555}.spec-cell.bad[data-v-0503324f]{color:#c98a8a;text-decoration:line-through}.comp-cell.yes[data-v-0503324f]{color:#2e7d4f;font-weight:700}.comp-cell.no[data-v-0503324f]{color:#c08a8a}.comp-cell.winning.yes[data-v-0503324f]{background:rgba(46,125,79,.16)}.comp-cell.winning.no[data-v-0503324f]{background:hsla(0,30%,65%,.14)}.phone-wrap[data-v-0503324f]{display:flex;gap:24px;align-items:flex-start;flex-wrap:wrap}.phone[data-v-0503324f]{position:relative;width:210px;flex-shrink:0;border:2px solid #333;border-radius:24px;padding:15px 9px 14px;background:#fff}.phone-notch[data-v-0503324f]{position:absolute;top:8px;left:50%;transform:translateX(-50%);width:50px;height:5px;border-radius:3px;background:#333}.phone-screen[data-v-0503324f]{margin-top:8px}.app-bar[data-v-0503324f]{font-family:Quattrocento Sans,sans-serif;font-size:.82rem;color:#333;display:flex;align-items:center;justify-content:space-between;padding-bottom:9px;margin-bottom:9px;border-bottom:1px solid #eee}.app-count[data-v-0503324f]{font-size:.68rem;color:#fff;background:#333;min-width:18px;height:18px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px}.app-body[data-v-0503324f]{display:flex;flex-direction:column;gap:7px;min-height:168px}.app-card[data-v-0503324f]{border:1px solid #e0e0e0;border-radius:8px;padding:8px 10px;display:flex;align-items:flex-start;gap:8px;background:rgba(0,0,0,.015);animation:cardIn-0503324f .34s cubic-bezier(.2,.65,.25,1) both}.app-check[data-v-0503324f]{flex-shrink:0;margin-top:1px;width:16px;height:16px;border-radius:50%;background:#2e7d4f;position:relative}.app-check[data-v-0503324f]:after{content:"✓";color:#fff;font-size:10px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-52%)}.app-card-text[data-v-0503324f]{display:flex;flex-direction:column}.app-card-title[data-v-0503324f]{font-family:Quattrocento Sans,sans-serif;font-size:.78rem;color:#2b2b2b;line-height:1.2}.app-card-hint[data-v-0503324f]{font-size:.66rem;color:#999;margin-top:2px}.app-empty[data-v-0503324f]{font-size:.74rem;color:#aaa;text-align:center;padding-top:60px}@keyframes cardIn-0503324f{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}.phone-side[data-v-0503324f]{flex:1 1 220px}.phone-caption[data-v-0503324f]{font-size:.85em;color:#666;margin-top:4px}.legend-group[data-v-0503324f]{margin-top:14px}.legend-title[data-v-0503324f]{font-family:Quattrocento Sans,sans-serif;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:#aaa}.comp-legend[data-v-0503324f]{list-style:none;padding:0;margin:4px 0 0}.comp-legend li[data-v-0503324f]{font-family:Quattrocento Sans,sans-serif;font-size:.8rem;display:flex;align-items:center;padding:2px 0;transition:color .2s}.comp-legend .dot[data-v-0503324f]{width:8px;height:8px;border-radius:50%;margin-right:9px;background:#d2d2d2;transition:background .2s}.comp-legend li.on[data-v-0503324f]{color:#2b2b2b}.comp-legend li.on .dot[data-v-0503324f]{background:#2e7d4f}.comp-legend li.off[data-v-0503324f]{color:#bbb}.back-link[data-v-0503324f]{margin:0 0 1.4rem;font-family:Quattrocento Sans,sans-serif;font-size:.86rem}body.dark-mode .play-intro[data-v-0503324f],body.dark-mode .stage-note[data-v-0503324f]{color:#9a9a9a}body.dark-mode .lib-card[data-v-0503324f]{border-color:#2c2c2c}body.dark-mode .lib-tag[data-v-0503324f]{color:#cfcfcf;border-bottom-color:#444}body.dark-mode .playground[data-v-0503324f]{border-color:#2a2a2a;background:hsla(0,0%,100%,.015)}body.dark-mode .stage[data-v-0503324f]{border-bottom-color:#242424}body.dark-mode .lib-card p[data-v-0503324f],body.dark-mode .stage-head[data-v-0503324f]{color:#cfcfcf}body.dark-mode .stage-num[data-v-0503324f]{background:#cfcfcf;color:#000}body.dark-mode .qlabel[data-v-0503324f]{color:#c4c4c4}body.dark-mode .qselect[data-v-0503324f]{background:#1a1a1a;color:#ddd;border-color:#3a3a3a}body.dark-mode .cfg-name[data-v-0503324f]{color:#e0e0e0}body.dark-mode .cfg-blurb[data-v-0503324f]{color:#888}body.dark-mode .cfg-note[data-v-0503324f]{color:#9a9a9a}body.dark-mode table.rules td[data-v-0503324f],body.dark-mode table.rules th[data-v-0503324f]{border-color:#2a2a2a}body.dark-mode .rowhead[data-v-0503324f]{color:#aaa;background:hsla(0,0%,100%,.02)}body.dark-mode .schead.matched[data-v-0503324f]{color:#ddd;background:hsla(0,0%,100%,.05)}body.dark-mode .schead.winning[data-v-0503324f]{color:#fff;background:rgba(150,120,200,.28)}body.dark-mode .group-row td[data-v-0503324f]{color:#777;background:hsla(0,0%,100%,.025)}body.dark-mode .cell[data-v-0503324f]{color:#888}body.dark-mode .cell.colmatch[data-v-0503324f]{background:hsla(0,0%,100%,.04)}body.dark-mode .cell.winning[data-v-0503324f]{background:rgba(150,120,200,.2)}body.dark-mode .spec-cell[data-v-0503324f]{color:#b0b0b0}body.dark-mode .comp-cell.yes[data-v-0503324f]{color:#6fcf97}body.dark-mode .comp-cell.no[data-v-0503324f]{color:#c98f8f}body.dark-mode .phone[data-v-0503324f]{border-color:#cfcfcf;background:#161616}body.dark-mode .phone-notch[data-v-0503324f]{background:#cfcfcf}body.dark-mode .app-bar[data-v-0503324f]{color:#ddd;border-bottom-color:#2a2a2a}body.dark-mode .app-count[data-v-0503324f]{background:#cfcfcf;color:#161616}body.dark-mode .app-card[data-v-0503324f]{border-color:#2e2e2e;background:hsla(0,0%,100%,.02)}body.dark-mode .app-card-title[data-v-0503324f]{color:#ddd}body.dark-mode .phone-caption[data-v-0503324f]{color:#9a9a9a}body.dark-mode .legend-title[data-v-0503324f]{color:#777}body.dark-mode .comp-legend li.on[data-v-0503324f]{color:#e6e6e6}body.dark-mode .comp-legend li.on .dot[data-v-0503324f]{background:#6fcf97}body.theme-transitioning .cell,body.theme-transitioning .comp-legend li,body.theme-transitioning .schead,html.theme-transitioning .cell,html.theme-transitioning .comp-legend li,html.theme-transitioning .schead{transition:color var(--theme-duration,.22s) ease,background-color var(--theme-duration,.22s) ease}body.theme-transitioning .comp-legend .dot,html.theme-transitioning .comp-legend .dot{transition:background-color var(--theme-duration,.22s) ease}@media (max-width:560px){.qrow[data-v-0503324f]{flex-direction:column;align-items:flex-start;gap:4px}.phone-wrap[data-v-0503324f]{justify-content:center}}.project-story[data-v-31dd1752]{--ink:#2f2f2f;--muted:#757575;--line:#e7e1da;--wash:#faf7f2;--accent:#6f8f86}.lede[data-v-31dd1752]{font-size:1.08em;color:var(--ink)}h2[data-v-31dd1752]{margin-top:2.4rem}.back-link[data-v-31dd1752]{margin:0 0 1.4rem;font-family:Quattrocento Sans,sans-serif;font-size:.86rem}.story-hero[data-v-31dd1752]{margin:1.7rem 0 2.2rem;padding:18px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(180deg,hsla(38,44%,96%,.92),hsla(0,0%,100%,.72))}.hero-copy[data-v-31dd1752]{margin-bottom:16px}.eyebrow[data-v-31dd1752]{display:block;margin-bottom:.35rem;font-family:Quattrocento Sans,sans-serif;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.hero-copy h2[data-v-31dd1752]{margin:0 0 .7rem;font-size:1.55rem;line-height:1.2}.hero-copy p[data-v-31dd1752]{margin:0;color:#5f5f5f}.mnemonic-grid[data-v-31dd1752]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.mnemonic-grid img[data-v-31dd1752]{width:100%;aspect-ratio:1/1;-o-object-fit:cover;object-fit:cover;border-radius:7px;box-shadow:none}.process-strip[data-v-31dd1752]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:1.2rem 0 .6rem}.process-step[data-v-31dd1752]{border-top:2px solid var(--accent);padding-top:10px}.step-num[data-v-31dd1752]{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;font-family:Quattrocento Sans,sans-serif;font-size:.72rem}.process-step h3[data-v-31dd1752]{margin:.55rem 0 .2rem;font-size:1rem}.process-step p[data-v-31dd1752]{margin:0;font-size:.82rem;line-height:1.5;color:var(--muted)}.email-showcase[data-v-31dd1752]{margin:1.2rem 0 0;text-align:center}.email-showcase img[data-v-31dd1752]{max-height:78vh;border:1px solid rgba(0,0,0,.08);border-radius:8px;box-shadow:none;background:#fff}.email-showcase figcaption[data-v-31dd1752]{margin:.8rem auto 0;max-width:520px;font-size:.82rem;line-height:1.5;color:var(--muted)}.feature-list[data-v-31dd1752]{margin:1rem 0 1.3rem;border-top:1px solid var(--line)}.feature-row[data-v-31dd1752]{display:grid;grid-template-columns:150px 1fr;gap:18px;padding:14px 0;border-bottom:1px solid var(--line)}.feature-row span[data-v-31dd1752]{font-family:Quattrocento Sans,sans-serif;font-weight:700;color:var(--ink)}.feature-row p[data-v-31dd1752]{margin:0;color:var(--muted)}body.dark-mode .story-hero[data-v-31dd1752]{border-color:#2c2c2c;background:linear-gradient(180deg,rgba(28,31,30,.82),hsla(0,0%,6%,.72))}body.dark-mode .project-story[data-v-31dd1752]{--ink:#d7d7d7;--muted:#a1a1a1;--line:#2e2e2e;--accent:#8faea5}body.dark-mode .email-showcase figcaption[data-v-31dd1752],body.dark-mode .feature-row p[data-v-31dd1752],body.dark-mode .hero-copy p[data-v-31dd1752],body.dark-mode .process-step p[data-v-31dd1752]{color:#a1a1a1}body.dark-mode .email-showcase img[data-v-31dd1752],body.dark-mode .mnemonic-grid img[data-v-31dd1752]{box-shadow:none}@media (max-width:700px){.mnemonic-grid[data-v-31dd1752],.process-strip[data-v-31dd1752]{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-row[data-v-31dd1752]{grid-template-columns:1fr;gap:4px}}@media (max-width:420px){.story-hero[data-v-31dd1752]{padding:14px}.hero-copy h2[data-v-31dd1752]{font-size:1.35rem}}.project-story[data-v-0dd6b794]{--ink:#2f2f2f;--muted:#767676;--line:#e3e5e0;--wash:#f5f7f3;--accent:#527267}.lede[data-v-0dd6b794]{font-size:1.08em;color:var(--ink)}h2[data-v-0dd6b794]{margin-top:2.4rem}.back-link[data-v-0dd6b794]{margin:0 0 1.4rem;font-family:Quattrocento Sans,sans-serif;font-size:.86rem}.deal-hero[data-v-0dd6b794]{margin:1.7rem 0 2.2rem;padding:18px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(180deg,hsla(90,20%,96%,.96),hsla(0,0%,100%,.72))}.eyebrow[data-v-0dd6b794]{display:block;margin-bottom:.35rem;font-family:Quattrocento Sans,sans-serif;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.deal-hero h2[data-v-0dd6b794]{margin:0 0 .7rem;font-size:1.55rem;line-height:1.2}.deal-hero p[data-v-0dd6b794]{margin:0;color:#5f5f5f}.deal-stat-grid[data-v-0dd6b794]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}.deal-stat[data-v-0dd6b794]{border-top:2px solid var(--accent);padding-top:10px}.deal-stat strong[data-v-0dd6b794]{display:block;font-family:Quattrocento Sans,sans-serif;font-size:1.35rem;color:var(--ink)}.deal-stat span[data-v-0dd6b794]{display:block;font-family:Quattrocento Sans,sans-serif;font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.digest-pair[data-v-0dd6b794]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:1.1rem 0 .4rem;align-items:start}.digest-pair figure[data-v-0dd6b794]{margin:0}.digest-pair img[data-v-0dd6b794]{width:100%;border:1px solid rgba(0,0,0,.08);border-radius:8px;box-shadow:none;background:#fff}.digest-pair figcaption[data-v-0dd6b794]{margin-top:.55rem;font-family:Quattrocento Sans,sans-serif;font-size:.78rem;color:var(--muted);text-align:center}.pipeline[data-v-0dd6b794]{margin:1.2rem 0 .5rem;border-top:1px solid var(--line)}.pipeline-row[data-v-0dd6b794]{display:grid;grid-template-columns:105px 1fr;gap:16px;padding:13px 0;border-bottom:1px solid var(--line)}.pipeline-label[data-v-0dd6b794]{font-family:Quattrocento Sans,sans-serif;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.pipeline-row p[data-v-0dd6b794]{margin:0;color:var(--muted)}.feature-list[data-v-0dd6b794]{margin:1rem 0 1.3rem;border-top:1px solid var(--line)}.feature-row[data-v-0dd6b794]{display:grid;grid-template-columns:150px 1fr;gap:18px;padding:14px 0;border-bottom:1px solid var(--line)}.feature-row span[data-v-0dd6b794]{font-family:Quattrocento Sans,sans-serif;font-weight:700;color:var(--ink)}.feature-row p[data-v-0dd6b794]{margin:0;color:var(--muted)}body.dark-mode .project-story[data-v-0dd6b794]{--ink:#d7d7d7;--muted:#a1a1a1;--line:#2e2e2e;--accent:#88a99d}body.dark-mode .deal-hero[data-v-0dd6b794]{border-color:#2c2c2c;background:linear-gradient(180deg,rgba(24,28,26,.88),hsla(0,0%,6%,.74))}body.dark-mode .deal-hero p[data-v-0dd6b794],body.dark-mode .digest-pair figcaption[data-v-0dd6b794],body.dark-mode .feature-row p[data-v-0dd6b794],body.dark-mode .pipeline-row p[data-v-0dd6b794]{color:#a1a1a1}body.dark-mode .digest-pair img[data-v-0dd6b794]{box-shadow:none}@media (max-width:700px){.deal-stat-grid[data-v-0dd6b794],.digest-pair[data-v-0dd6b794]{grid-template-columns:1fr}.feature-row[data-v-0dd6b794],.pipeline-row[data-v-0dd6b794]{grid-template-columns:1fr;gap:4px}}@media (max-width:420px){.deal-hero[data-v-0dd6b794]{padding:14px}.deal-hero h2[data-v-0dd6b794]{font-size:1.35rem}}.project-story[data-v-6a665ac9]{--ink:#2f2f2f;--muted:#767676;--line:#e3e3ea;--accent:#5566a6}.lede[data-v-6a665ac9]{font-size:1.08em;color:var(--ink)}h2[data-v-6a665ac9]{margin-top:2.6rem}.back-link[data-v-6a665ac9]{margin:0 0 1.4rem;font-family:Quattrocento Sans,sans-serif;font-size:.86rem}code[data-v-6a665ac9]{font-family:Source Code Pro,monospace;font-size:.86em;background:rgba(85,102,166,.09);padding:1px 5px;border-radius:4px}.hero-shot[data-v-6a665ac9]{margin:1.6rem 0 1.2rem}.hero-shot img[data-v-6a665ac9]{width:100%;border:1px solid var(--line);border-radius:10px;box-shadow:none;display:block}.cs-stats[data-v-6a665ac9]{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:1.2rem 0 .4rem}.cs-stat[data-v-6a665ac9]{border-top:2px solid var(--accent);padding-top:9px}.cs-stat strong[data-v-6a665ac9]{display:block;font-family:Quattrocento Sans,sans-serif;font-size:1.5rem;color:var(--ink)}.cs-stat span[data-v-6a665ac9]{font-family:Quattrocento Sans,sans-serif;font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.explorer[data-v-6a665ac9]{margin:1.3rem 0 .5rem;border:1px solid var(--line);border-radius:12px;padding:16px;background:rgba(85,102,166,.045);transition:background-color .4s ease,border-color .4s ease}.cs-chips[data-v-6a665ac9]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.cs-chip[data-v-6a665ac9]{font-family:Quattrocento Sans,sans-serif;font-size:.82rem;color:var(--muted);background:transparent;border:1px solid var(--line);border-radius:999px;padding:5px 14px;cursor:pointer;transition:all .15s ease}.cs-chip[data-v-6a665ac9]:hover{color:var(--ink);border-color:var(--accent)}.cs-chip.active[data-v-6a665ac9]{color:#fff;background:var(--accent);border-color:var(--accent)}.cs-stage[data-v-6a665ac9]{--gridline:rgba(0,0,0,.1);--danger:#d1495b;height:clamp(320px,52vh,480px);border:1px solid var(--line);border-radius:10px;background:#fff;padding:16px 18px;box-shadow:none;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:background-color .4s ease,border-color .4s ease}.cs-stage[data-v-6a665ac9] svg{width:100%;height:100%}.cs-stage[data-v-6a665ac9] text{fill:var(--ink)}.cs-stage[data-v-6a665ac9] .tick text{fill:var(--muted);font-size:13px}.cs-stage[data-v-6a665ac9] .domain,.cs-stage[data-v-6a665ac9] .tick line{stroke:var(--gridline)}.cs-stage[data-v-6a665ac9] .axis-title{fill:var(--muted);font-size:14px}.cs-stage[data-v-6a665ac9] .text-kicker{font-family:Quattrocento Sans,sans-serif;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:.7rem}.cs-stage[data-v-6a665ac9] .text-title{font-family:"PT Serif",Georgia,serif;font-weight:700;color:var(--ink);margin:0 0 .9rem;line-height:1.18;font-size:clamp(1.6rem,3.4vw,2.3rem)}.cs-stage[data-v-6a665ac9] .text-body{color:var(--muted);line-height:1.62;max-width:46ch;margin:0 auto;font-size:clamp(.98rem,1.4vw,1.12rem)}.cs-stage[data-v-6a665ac9] .fx-bold{font-weight:700;color:var(--ink)}.cs-stage[data-v-6a665ac9] .fx-underline{background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0 2px;transition:background-size .55s ease}.cs-stage[data-v-6a665ac9] .fx-highlight{background-image:linear-gradient(rgba(85,102,166,.28),rgba(85,102,166,.28));background-position:0 86%;background-repeat:no-repeat;background-size:0 .92em;transition:background-size .55s ease;border-radius:2px}.cs-stage.fx-on[data-v-6a665ac9] .fx-underline{background-size:100% 2px}.cs-stage.fx-on[data-v-6a665ac9] .fx-highlight{background-size:100% .92em}.cs-meta[data-v-6a665ac9]{margin-top:14px}.cs-blurb[data-v-6a665ac9]{margin:0 0 8px;color:var(--muted);font-size:.92rem}.cs-code[data-v-6a665ac9]{margin:0;background:#14151b;border-radius:8px;padding:14px 16px;overflow-x:auto}.cs-code code[data-v-6a665ac9]{background:none;padding:0;color:#e8e9f0;font-size:.82rem;line-height:1.55;white-space:pre}.cs-foot[data-v-6a665ac9]{margin:.7rem 0 0;color:var(--muted);font-size:.9rem}.deck-embed[data-v-6a665ac9]{margin:1.2rem 0 0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#0e0e12;box-shadow:none;transition:border-color .4s ease}.deck-frame[data-v-6a665ac9]{position:relative;width:100%;overflow:hidden}.deck-embed iframe[data-v-6a665ac9]{display:block;width:100%;height:clamp(420px,78vh,760px);border:0;transform-origin:top left}.feature-list[data-v-6a665ac9]{margin:1rem 0 1.4rem;border-top:1px solid var(--line)}.feature-row[data-v-6a665ac9]{display:grid;grid-template-columns:160px 1fr;gap:18px;padding:14px 0;border-bottom:1px solid var(--line)}.feature-row span[data-v-6a665ac9]{font-family:Quattrocento Sans,sans-serif;font-weight:700;color:var(--ink)}.feature-row p[data-v-6a665ac9]{margin:0;color:var(--muted)}.cta[data-v-6a665ac9]{margin-top:1.4rem}body.dark-mode .project-story[data-v-6a665ac9]{--ink:#d7d7d7;--muted:#a1a1a1;--line:#2e2e34;--accent:#8d9bd6}body.dark-mode .hero-shot img[data-v-6a665ac9]{box-shadow:none}body.dark-mode code[data-v-6a665ac9]{background:rgba(141,155,214,.16)}body.dark-mode .explorer[data-v-6a665ac9]{background:rgba(141,155,214,.06)}body.dark-mode .cs-stage[data-v-6a665ac9]{background:#141418;--gridline:hsla(0,0%,100%,.12);box-shadow:none}body.dark-mode .cs-stage[data-v-6a665ac9] .fx-highlight{background-image:linear-gradient(rgba(141,155,214,.3),rgba(141,155,214,.3))}body.theme-transitioning .cs-stage,body.theme-transitioning .deck-embed,body.theme-transitioning .explorer,html.theme-transitioning .cs-stage,html.theme-transitioning .deck-embed,html.theme-transitioning .explorer{transition:color var(--theme-duration,.22s) ease,background-color var(--theme-duration,.22s) ease,border-color var(--theme-duration,.22s) ease,box-shadow var(--theme-duration,.22s) ease}body.theme-transitioning .cs-chip,html.theme-transitioning .cs-chip{transition:color var(--theme-duration,.22s) ease,background-color var(--theme-duration,.22s) ease,border-color var(--theme-duration,.22s) ease}@media (max-width:760px){.cs-stage[data-v-6a665ac9]{height:clamp(300px,64vw,380px)}.feature-row[data-v-6a665ac9]{grid-template-columns:1fr;gap:4px}}.back-link[data-v-384ab450]{margin:0 0 1.4rem;font-family:Quattrocento Sans,sans-serif;font-size:.86rem}.project-story[data-v-bc5edfd4]{--ink:#2f2f2f;--muted:#757575;--line:#e7e1da;--wash:#faf7f2;--accent:#6f8f86;--card-bg:hsla(38,44%,96%,.74);--theme-speed:var(--theme-duration,220ms)}.lede[data-v-bc5edfd4]{font-size:1.08em;color:var(--ink)}h2[data-v-bc5edfd4]{margin-top:2.4rem}.back-link[data-v-bc5edfd4]{margin:0 0 1.4rem;font-family:Quattrocento Sans,sans-serif;font-size:.86rem}.story-hero[data-v-bc5edfd4]{margin:1.7rem 0 2.2rem;padding:18px;border:1px solid var(--line);border-radius:10px;background-color:var(--card-bg);transition:background-color var(--theme-speed) ease,border-color var(--theme-speed) ease}.hero-copy[data-v-bc5edfd4]{margin-bottom:16px}.eyebrow[data-v-bc5edfd4]{display:block;margin-bottom:.35rem;font-family:Quattrocento Sans,sans-serif;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.hero-copy h2[data-v-bc5edfd4]{margin:0 0 .7rem;font-size:1.55rem;line-height:1.2}.hero-copy p[data-v-bc5edfd4]{margin:0;color:#5f5f5f;transition:color var(--theme-speed) ease}.hero-copy p+p[data-v-bc5edfd4]{margin-top:.75rem}.lab[data-v-bc5edfd4]{margin:1.2rem 0 .6rem;padding:16px;border:1px solid var(--line);border-radius:10px;background-color:var(--card-bg);transition:background-color var(--theme-speed) ease,border-color var(--theme-speed) ease}.lab-form[data-v-bc5edfd4]{display:flex;gap:6px}.lab-input[data-v-bc5edfd4]{flex:1;padding:7px 11px;border:1px solid var(--line);border-radius:7px;background:transparent;color:inherit;font:inherit;font-size:.9rem}.lab-input[data-v-bc5edfd4]:focus{outline:none;border-color:var(--accent)}.lab-go[data-v-bc5edfd4]{padding:7px 16px;border:1px solid var(--line);border-radius:7px;background:transparent;color:inherit;font-family:Quattrocento Sans,sans-serif;font-size:.84rem;cursor:pointer}.lab-go[data-v-bc5edfd4]:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.lab-samples[data-v-bc5edfd4]{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.lab-chip[data-v-bc5edfd4]{padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);font-family:Quattrocento Sans,sans-serif;font-size:.76rem;cursor:pointer}.lab-chip[data-v-bc5edfd4]:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.lab-status[data-v-bc5edfd4]{margin:10px 0 0;font-family:Quattrocento Sans,sans-serif;font-size:.78rem;color:var(--muted)}.lab-columns[data-v-bc5edfd4]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}.lab-col-title[data-v-bc5edfd4]{margin:0;font-size:.95rem;font-weight:700;color:var(--ink)}.lab-col-sub[data-v-bc5edfd4]{margin:0 0 6px;font-family:Quattrocento Sans,sans-serif;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.lab-col ol[data-v-bc5edfd4]{margin:0;padding-left:1.15rem}.lab-col li[data-v-bc5edfd4]{margin:5px 0;font-size:.82rem;line-height:1.35}.lab-hit-title[data-v-bc5edfd4]{display:block}.lab-none[data-v-bc5edfd4]{list-style:none;margin-left:-1.15rem;color:var(--muted);font-style:italic}.lab-bar[data-v-bc5edfd4]{display:block;height:3px;margin-top:3px;background:rgba(0,0,0,.06);border-radius:2px;overflow:hidden}.lab-bar-fill[data-v-bc5edfd4]{display:block;height:100%;background:var(--accent);opacity:.65}.lab-col-fused[data-v-bc5edfd4]{border-left:2px solid var(--accent);padding-left:12px}.lab-badges[data-v-bc5edfd4]{font-family:Quattrocento Sans,sans-serif;font-size:.68rem;color:var(--muted)}.floor-demo[data-v-bc5edfd4]{margin:1.2rem 0 .4rem;padding:16px;border:1px solid var(--line);border-radius:10px;background-color:var(--card-bg);transition:background-color var(--theme-speed) ease,border-color var(--theme-speed) ease}.floor-strip[data-v-bc5edfd4]{position:relative;height:44px;border-bottom:1px solid var(--line)}.floor-dot[data-v-bc5edfd4]{position:absolute;bottom:6px;width:5px;height:5px;border-radius:50%;background:var(--muted);opacity:.3;transform:translateX(-50%)}.floor-dot.pass[data-v-bc5edfd4]{background:var(--accent);opacity:.85;bottom:14px}.floor-line[data-v-bc5edfd4]{position:absolute;top:0;bottom:-1px;width:2px;background:#b3893d;transform:translateX(-50%)}.floor-controls[data-v-bc5edfd4]{margin-top:10px}.floor-controls input[type=range][data-v-bc5edfd4]{width:100%;accent-color:#b3893d}.floor-readout[data-v-bc5edfd4]{margin:4px 0 0;font-family:Quattrocento Sans,sans-serif;font-size:.8rem;color:var(--muted)}.floor-empty[data-v-bc5edfd4]{font-size:.86rem;color:var(--muted);font-style:italic}.process-strip[data-v-bc5edfd4]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:1.2rem 0 .6rem}.process-step[data-v-bc5edfd4]{border-top:2px solid var(--accent);padding-top:10px}.step-num[data-v-bc5edfd4]{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;font-family:Quattrocento Sans,sans-serif;font-size:.72rem}.process-step h3[data-v-bc5edfd4]{margin:.55rem 0 .2rem;font-size:1rem}.process-step p[data-v-bc5edfd4]{margin:0;font-size:.82rem;line-height:1.5;color:var(--muted)}.feature-list[data-v-bc5edfd4]{margin:1rem 0 1.3rem;border-top:1px solid var(--line)}.feature-row[data-v-bc5edfd4]{display:grid;grid-template-columns:170px 1fr;gap:18px;padding:14px 0;border-bottom:1px solid var(--line)}.feature-row span[data-v-bc5edfd4]{font-family:Quattrocento Sans,sans-serif;font-weight:700;color:var(--ink)}.feature-row p[data-v-bc5edfd4]{margin:0;color:var(--muted)}.palette-link[data-v-bc5edfd4]{border:none;background:none;padding:0;color:var(--accent);font:inherit;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:2px}body.dark-mode .project-story[data-v-bc5edfd4]{--ink:#d7d7d7;--muted:#a1a1a1;--line:#2e2e2e;--accent:#8faea5;--card-bg:rgba(24,26,25,.55)}body.dark-mode .feature-row p[data-v-bc5edfd4],body.dark-mode .hero-copy p[data-v-bc5edfd4],body.dark-mode .process-step p[data-v-bc5edfd4]{color:#a1a1a1}body.dark-mode .lab-bar[data-v-bc5edfd4]{background:hsla(0,0%,100%,.08)}body.dark-mode .floor-controls input[type=range][data-v-bc5edfd4],body.dark-mode .floor-line[data-v-bc5edfd4]{accent-color:#d9b36a}body.dark-mode .floor-line[data-v-bc5edfd4]{background:#d9b36a}body.dark-mode .step-num[data-v-bc5edfd4]{color:#101010}@media (max-width:700px){.process-strip[data-v-bc5edfd4]{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-columns[data-v-bc5edfd4]{grid-template-columns:1fr}.lab-col-fused[data-v-bc5edfd4]{border-left:none;padding-left:0;border-top:2px solid var(--accent);padding-top:10px}.feature-row[data-v-bc5edfd4]{grid-template-columns:1fr;gap:4px}}.rag-story[data-v-32e6b046]{max-width:44em}.rag-story h1[data-v-32e6b046]{font-size:2rem}.rag-story h2[data-v-32e6b046]{font-size:1.35rem;margin:2.4em 0 .7em}.rag-story h3[data-v-32e6b046]{font-size:1.05rem;margin:0 0 .4em}.lede[data-v-32e6b046]{font-size:1.08em;line-height:1.75}.back-link[data-v-32e6b046]{margin-bottom:1.2rem}.stage-list[data-v-32e6b046]{margin:1em 0 1.5em}.stage[data-v-32e6b046]{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2em .8em;width:100%;padding:.7em .2em;border:0;background:transparent;text-align:left;font:inherit;cursor:pointer}.stage-wrap[data-v-32e6b046]{border-bottom:1px solid rgba(0,0,0,.1)}.stage-index[data-v-32e6b046]{font-family:Quattrocento Sans,sans-serif;font-size:.72rem;letter-spacing:.08em;color:#9a9a9a}.stage-name[data-v-32e6b046]{font-family:Quattrocento Sans,sans-serif;font-size:1.08rem;font-weight:600;color:#333}.stage-caret[data-v-32e6b046]{margin-left:auto;width:7px;height:7px;border-right:1.5px solid #999;border-bottom:1.5px solid #999;transform:rotate(45deg);transition:transform .25s cubic-bezier(.22,1,.36,1)}.stage-wrap.open .stage-caret[data-v-32e6b046]{transform:rotate(-135deg)}.stage-detail[data-v-32e6b046]{padding:0 .2em .9em 2.2em}.stage-body[data-v-32e6b046]{margin:0;color:#6f6f6f;font-size:.96rem;line-height:1.6}.stage-rules[data-v-32e6b046]{margin:.55em 0 0 1.1em;padding-left:1em}.stage-rules li[data-v-32e6b046]{margin:.45em 0;line-height:1.55;color:#505050}.stage-demo[data-v-32e6b046]{margin-top:.7em}.stage-demo .link-demo[data-v-32e6b046]{margin:0 0 .9em}.stage-result[data-v-32e6b046]{margin:0;color:#6f6f6f;font-size:.96rem;line-height:1.6}.link-demo[data-v-32e6b046]{margin:1.4em 0;padding:1.3em 1.4em 1.5em;border:1px solid rgba(0,0,0,.1);border-radius:14px;background:#fbfaf8}.demo-pages[data-v-32e6b046]{display:grid;grid-template-columns:1fr 1fr;gap:1.1em}.demo-page-label[data-v-32e6b046]{margin:0 0 .45em;font-family:Quattrocento Sans,sans-serif;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:#9a9a9a}.demo-cell[data-v-32e6b046],.demo-note[data-v-32e6b046]{display:flex;flex-direction:column;gap:.35em;padding:.8em .9em;border:1px solid rgba(0,0,0,.12);border-radius:8px;background:#fff;font-size:.9rem;transition:box-shadow .25s ease,border-color .25s ease}.demo-note.linked[data-v-32e6b046]{border-color:rgba(76,122,92,.5);box-shadow:0 0 0 3px rgba(76,122,92,.12)}.demo-note-tag[data-v-32e6b046]{font-family:Quattrocento Sans,sans-serif;font-weight:700;color:#333}.demo-toggle[data-v-32e6b046]{display:block;margin:1.1em auto 0;padding:.45em 1.3em;border:1px solid rgba(0,0,0,.22);border-radius:999px;background:transparent;font-family:Quattrocento Sans,sans-serif;font-size:.85rem;letter-spacing:.04em;cursor:pointer;color:#333;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.demo-toggle[data-v-32e6b046]:hover{background:#333;color:#fff;border-color:#333}.demo-result[data-v-32e6b046]{margin-top:1.1em;padding:.9em 1em;border-left:3px solid rgba(76,122,92,.7);background:rgba(76,122,92,.07);border-radius:0 8px 8px 0}.demo-result-label[data-v-32e6b046]{margin:0 0 .35em;font-family:Quattrocento Sans,sans-serif;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:#6f8f77}.demo-result-text[data-v-32e6b046]{margin:0;font-size:.94rem;line-height:1.6}.demo-fade-enter-active[data-v-32e6b046],.demo-fade-leave-active[data-v-32e6b046]{transition:opacity .3s ease,transform .3s ease}.demo-fade-enter-from[data-v-32e6b046],.demo-fade-leave-to[data-v-32e6b046]{opacity:0;transform:translateY(6px)}.mermaid-demo[data-v-32e6b046]{display:grid;grid-template-columns:repeat(3,1fr);gap:1em;margin:1.4em 0 .4em;align-items:start}.mermaid-panel[data-v-32e6b046]{margin:0;border:1px solid rgba(0,0,0,.1);border-radius:12px;background:#fbfaf8;overflow:hidden}.mermaid-label[data-v-32e6b046]{margin:0;padding:.55em .9em;border-bottom:1px solid rgba(0,0,0,.08);font-family:Quattrocento Sans,sans-serif;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:#9a9a9a}.mermaid-panel img[data-v-32e6b046]{display:block;width:100%;height:auto}.mermaid-panel pre[data-v-32e6b046]{margin:0;padding:.9em 1em;overflow:auto;font-size:.72rem;line-height:1.6;color:#505050}.mermaid-panel svg[data-v-32e6b046]{display:block;width:100%;height:auto}.research-list[data-v-32e6b046]{margin:1.1em 0 .4em}.research-item[data-v-32e6b046]{border-bottom:1px solid rgba(0,0,0,.1)}.research-head[data-v-32e6b046]{display:flex;align-items:baseline;gap:.8em;width:100%;padding:.75em .2em;border:0;background:transparent;text-align:left;font:inherit;cursor:pointer}.research-title[data-v-32e6b046]{font-family:Quattrocento Sans,sans-serif;font-size:1.08rem;font-weight:600;color:#333}.research-caret[data-v-32e6b046]{margin-left:auto;width:7px;height:7px;border-right:1.5px solid #999;border-bottom:1.5px solid #999;transform:rotate(45deg);transition:transform .25s cubic-bezier(.22,1,.36,1)}.research-item.open .research-caret[data-v-32e6b046]{transform:rotate(-135deg)}.research-body[data-v-32e6b046]{padding:0 .2em .9em}.research-body p[data-v-32e6b046]{margin:0;color:#6f6f6f;font-size:.96rem;line-height:1.6}body.dark-mode .stage-wrap[data-v-32e6b046]{border-bottom-color:hsla(0,0%,100%,.12)}body.dark-mode .demo-note-tag[data-v-32e6b046],body.dark-mode .stage-name[data-v-32e6b046]{color:#ececec}body.dark-mode .stage-body[data-v-32e6b046],body.dark-mode .stage-result[data-v-32e6b046],body.dark-mode .stage-rules li[data-v-32e6b046]{color:#b5b5b5}body.dark-mode .link-demo[data-v-32e6b046],body.dark-mode .mermaid-panel[data-v-32e6b046]{background:#262628;border-color:hsla(0,0%,100%,.12)}body.dark-mode .mermaid-label[data-v-32e6b046]{border-bottom-color:hsla(0,0%,100%,.1);color:#9a9a9a}body.dark-mode .mermaid-panel pre[data-v-32e6b046]{color:#b5b5b5}body.dark-mode .research-item[data-v-32e6b046]{border-bottom-color:hsla(0,0%,100%,.12)}body.dark-mode .research-title[data-v-32e6b046]{color:#ececec}body.dark-mode .research-body p[data-v-32e6b046]{color:#b5b5b5}body.dark-mode .demo-cell[data-v-32e6b046],body.dark-mode .demo-note[data-v-32e6b046]{background:#2c2c2e;border-color:hsla(0,0%,100%,.14)}body.dark-mode .demo-toggle[data-v-32e6b046]{border-color:hsla(0,0%,100%,.3);color:#e5e5e5}body.dark-mode .demo-toggle[data-v-32e6b046]:hover{background:#e5e5e5;color:#1c1c1e;border-color:#e5e5e5}@media (max-width:640px){.demo-pages[data-v-32e6b046]{grid-template-columns:1fr}}@media (max-width:900px){.mermaid-demo[data-v-32e6b046]{grid-template-columns:1fr}}.fragments-page[data-v-71d7c956]{--fragments-control-width:15.5rem;--fragments-heading:#333;--fragments-muted:#686868;--fragments-body:#505050;--fragments-cue:#333;--fragments-hero-line:rgba(80,80,80,.16);--fragments-toggle-border:rgba(80,80,80,.2);--fragments-toggle-bg:hsla(0,0%,96%,.9);--fragments-toggle-shadow:none;--fragments-toggle-thumb:#333;--fragments-toggle-option:#777;--fragments-toggle-selected:#fff;--fragments-search-line:rgba(80,80,80,.42);--fragments-search-placeholder:rgba(80,80,80,.5);--fragments-mark-bg:rgba(255,222,120,.45);--fragments-card-border:rgba(80,80,80,.15);--fragments-card-hover-border:rgba(80,80,80,.28);--fragments-card-bg:hsla(0,0%,100%,.86);--fragments-card-shadow:none;--fragments-card-hover-shadow:none;--fragments-body-line:rgba(80,80,80,.12);--fragments-focus-ring:rgba(80,80,80,.45);padding:0 0 2.5rem;color:var(--fragments-body)}.fragments-hero[data-v-71d7c956]{margin:0 0 1.8rem;padding:0 0 .6rem}.fragments-hero h1[data-v-71d7c956]{margin:.67em 0 .65rem;font-size:2rem;line-height:1.2;color:var(--fragments-heading)}.fragments-intro[data-v-71d7c956]{margin:0;max-width:36rem;color:var(--fragments-muted)}.fragments-controls[data-v-71d7c956]{margin:1.1rem 0 0;width:100%;max-width:none;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.05rem 1.2rem}.category-segmented[data-v-71d7c956]{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;box-sizing:border-box;flex:0 0 auto;width:var(--fragments-control-width);max-width:100%;padding:.22rem;border:1px solid var(--fragments-toggle-border);border-radius:12px;background-color:var(--fragments-toggle-bg);box-shadow:var(--fragments-toggle-shadow)}.category-thumb[data-v-71d7c956]{position:absolute;top:.22rem;left:.22rem;width:calc(50% - .22rem);height:calc(100% - .44rem);border-radius:9px;background-color:var(--fragments-toggle-thumb);box-shadow:none;transition:transform .2s cubic-bezier(.23,1,.32,1),background-color .18s ease}.category-segmented.life .category-thumb[data-v-71d7c956]{transform:translateX(100%)}.category-option[data-v-71d7c956]{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:.38rem;flex:0 0 auto;border:0;border-radius:9px;padding:.42rem .65rem;background:transparent;color:var(--fragments-toggle-option);cursor:pointer;font-family:Quattrocento Sans,sans-serif;font-size:.78rem;line-height:1;text-align:center;transition:color .16s ease,transform .14s cubic-bezier(.23,1,.32,1)}.category-option[data-v-71d7c956]:active{transform:scale(.96)}.category-option[data-v-71d7c956]:focus-visible{outline:2px solid var(--fragments-focus-ring);outline-offset:2px}.category-segmented.life .category-life[data-v-71d7c956],.category-segmented:not(.life) .category-ideas[data-v-71d7c956]{color:var(--fragments-toggle-selected)}.category-count[data-v-71d7c956]{min-width:1.15rem;font-variant-numeric:tabular-nums;font-size:.66rem;opacity:.66}.fragment-search[data-v-71d7c956]{position:relative;display:flex;align-items:center;box-sizing:border-box;flex:0 0 var(--fragments-control-width);width:var(--fragments-control-width);max-width:100%;margin-left:auto;padding:.1rem 1.45rem .28rem 0;border-bottom:1px solid var(--fragments-search-line);color:var(--fragments-cue);cursor:text}.fragment-search-input[data-v-71d7c956]{width:100%;border:0;outline:0;padding:0;background:transparent;color:inherit;font:inherit;font-size:.92rem;line-height:1.25;-webkit-user-select:text;-moz-user-select:text;user-select:text}.fragment-search-input[data-v-71d7c956]::-moz-placeholder{color:var(--fragments-search-placeholder)}.fragment-search-input[data-v-71d7c956]::placeholder{color:var(--fragments-search-placeholder)}.fragment-search-input[data-v-71d7c956]::-webkit-search-cancel-button,.fragment-search-input[data-v-71d7c956]::-webkit-search-decoration{-webkit-appearance:none}.fragment-search-icon[data-v-71d7c956]{position:absolute;top:50%;right:.05rem;transform:translateY(-50%);font-size:.72rem;opacity:.58;pointer-events:none}.fragment-list[data-v-71d7c956]{display:grid;gap:1.05rem}.fragment-card[data-v-71d7c956]{border:1px solid var(--fragments-card-border);border-radius:18px;background-color:var(--fragments-card-bg);box-shadow:var(--fragments-card-shadow);overflow:hidden;transition:background-color .22s ease,border-color .22s ease,color .22s ease}@media (hover:hover) and (pointer:fine){.fragment-card[data-v-71d7c956]:hover{border-color:var(--fragments-card-hover-border);background-color:color-mix(in srgb,var(--fragments-card-bg) 96%,var(--fragments-heading) 4%)}}.fragment-summary[data-v-71d7c956]{padding:1.05rem 1.1rem 1rem;cursor:pointer;outline:none}.fragment-summary[data-v-71d7c956]:focus-visible{outline:2px solid var(--fragments-focus-ring);outline-offset:-2px;border-radius:18px}.fragment-summary h2[data-v-71d7c956]{margin:0 0 .55rem;font-size:1.22rem;line-height:1.25;color:var(--fragments-heading)}.fragment-teaser[data-v-71d7c956]{margin:0;color:var(--fragments-muted);font-size:.98rem;line-height:1.62}.read-cue[data-v-71d7c956]{display:inline-flex;align-items:center;gap:.4rem;margin-top:.8rem;font-family:Quattrocento Sans,sans-serif;font-size:.82rem;color:var(--fragments-cue)}.read-cue i[data-v-71d7c956]{font-size:.68rem}.fragment-body[data-v-71d7c956]{padding:.1rem 1.1rem 1.15rem}.fragment-body p[data-v-71d7c956]{margin:1rem 0 0;color:var(--fragments-body);font-size:.96rem;line-height:1.78;white-space:pre-line}.fragment-body[data-v-71d7c956] mark,.fragment-summary[data-v-71d7c956] mark{background:var(--fragments-mark-bg);color:inherit;border-radius:2px;padding:0 1px}.fragments-empty[data-v-71d7c956]{margin:1.25rem 0 0;color:var(--fragments-muted);font-size:.96rem}@media (max-width:630px){.fragments-hero h1[data-v-71d7c956]{font-size:1.75rem}.fragments-controls[data-v-71d7c956]{align-items:flex-start;flex-direction:column;justify-content:flex-start;gap:1.05rem}.category-segmented[data-v-71d7c956]{align-self:center}.fragment-search[data-v-71d7c956]{width:90%;max-width:100%;min-width:0;flex-basis:auto;margin-left:auto;margin-right:auto;align-self:center}.fragment-body[data-v-71d7c956],.fragment-summary[data-v-71d7c956]{padding-left:.9rem;padding-right:.9rem}.fragment-summary h2[data-v-71d7c956]{font-size:1.08rem}.fragment-body p[data-v-71d7c956],.fragment-teaser[data-v-71d7c956]{font-size:.95rem}}@media (prefers-reduced-motion:reduce){.category-option[data-v-71d7c956],.category-thumb[data-v-71d7c956],.fragment-card[data-v-71d7c956]{transition:color .12s ease,opacity .12s ease,background-color .12s ease}}body.dark-mode .fragments-page,html.dark-mode .fragments-page{--fragments-heading:#ccc;--fragments-muted:#979797;--fragments-body:#cfcfcf;--fragments-cue:#ccc;--fragments-hero-line:hsla(0,0%,80%,.16);--fragments-toggle-border:hsla(0,0%,80%,.2);--fragments-toggle-bg:rgba(44,44,46,.96);--fragments-toggle-shadow:none;--fragments-toggle-thumb:#ccc;--fragments-toggle-option:#979797;--fragments-toggle-selected:#000;--fragments-search-line:hsla(0,0%,80%,.42);--fragments-search-placeholder:hsla(0,0%,80%,.52);--fragments-mark-bg:rgba(255,210,90,.3);--fragments-card-border:hsla(0,0%,80%,.15);--fragments-card-hover-border:hsla(0,0%,80%,.28);--fragments-card-bg:rgba(44,44,46,.96);--fragments-card-shadow:none;--fragments-card-hover-shadow:none;--fragments-body-line:hsla(0,0%,80%,.12);--fragments-focus-ring:hsla(0,0%,80%,.45)}body.theme-transitioning .fragment-card,html.theme-transitioning .fragment-card{transition:background-color var(--theme-duration,.22s) ease,border-color var(--theme-duration,.22s) ease,color var(--theme-duration,.22s) ease}body.theme-transitioning .category-segmented,html.theme-transitioning .category-segmented{transition:background-color var(--theme-duration,.22s) ease,border-color var(--theme-duration,.22s) ease}body.theme-transitioning .category-thumb,html.theme-transitioning .category-thumb{transition:background-color var(--theme-duration,.22s) ease,transform .2s cubic-bezier(.23,1,.32,1)}body.theme-transitioning .category-option,html.theme-transitioning .category-option{transition:color var(--theme-duration,.22s) ease}body.theme-transitioning .fragment-search,body.theme-transitioning .fragment-search-icon,body.theme-transitioning .fragment-search-input,html.theme-transitioning .fragment-search,html.theme-transitioning .fragment-search-icon,html.theme-transitioning .fragment-search-input{transition:color var(--theme-duration,.22s) ease,border-color var(--theme-duration,.22s) ease}body.theme-transitioning .fragment-search-input::-moz-placeholder,html.theme-transitioning .fragment-search-input::-moz-placeholder{-moz-transition:color var(--theme-duration,.22s) ease;transition:color var(--theme-duration,.22s) ease}body.theme-transitioning .fragment-search-input::placeholder,html.theme-transitioning .fragment-search-input::placeholder{transition:color var(--theme-duration,.22s) ease}.cv-root[data-v-36746f76]{--ink:#141414;--muted:#6b6b6b;--faint:#9a9a9a;--rule:#e6e6e6;--bg:#fff;--note:#3c3c3c;--tip-bg:#fff;--tip-shadow:none;--button-hover-text:#fff;min-height:100vh;background:var(--bg);color:var(--ink);padding:0 20px 64px}.cv-root.cv-dark[data-v-36746f76],body.dark-mode .cv-root{--ink:#ccc;--muted:#9a9a9a;--faint:#666;--rule:#2f2f2f;--bg:#1c1c1e;--note:#cfcfcf;--tip-bg:#2c2c2e;--tip-shadow:none;--button-hover-text:#000}.cv-toolbar[data-v-36746f76]{max-width:740px;margin:0 auto;padding:22px 0 12px;display:flex;align-items:center;justify-content:space-between}.cv-toolbar-actions[data-v-36746f76]{display:inline-flex;align-items:center;gap:8px}.cv-back[data-v-36746f76]{font-family:Quattrocento Sans,sans-serif;font-size:.78rem;letter-spacing:.04em;color:var(--muted);text-decoration:none}.cv-back[data-v-36746f76]:hover{color:var(--ink)}.cv-print[data-v-36746f76],.cv-theme[data-v-36746f76]{--cv-action-height:2rem;font-family:Quattrocento Sans,sans-serif;font-size:.74rem;line-height:1;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);background:transparent;border:1px solid var(--ink);border-radius:2px;height:var(--cv-action-height);padding:7px 14px;cursor:pointer;transition:background .15s ease,color .15s ease}.cv-theme[data-v-36746f76]{width:var(--cv-action-height);padding:0;display:inline-flex;align-items:center;justify-content:center;line-height:1}.cv-print[data-v-36746f76]:hover,.cv-theme[data-v-36746f76]:hover{background:var(--ink);color:var(--button-hover-text)}.cv-sheet[data-v-36746f76]{max-width:740px;margin:0 auto;font-family:"PT Serif",Georgia,serif;font-size:15px;line-height:1.6}.cv-head[data-v-36746f76]{text-align:center;padding-bottom:26px;margin-bottom:8px;border-bottom:1px solid var(--rule)}.cv-name[data-v-36746f76]{font-family:"PT Serif",Georgia,serif;font-weight:700;font-size:2.5rem;line-height:1.1;letter-spacing:.01em;color:var(--ink);margin:0}.cv-tagline[data-v-36746f76]{font-family:Quattrocento Sans,sans-serif;font-size:.92rem;color:var(--muted);margin:10px 0 14px}.cv-tagline .nowrap[data-v-36746f76]{white-space:nowrap}.cv-contact[data-v-36746f76]{font-family:Quattrocento Sans,sans-serif;font-size:.8rem;letter-spacing:.02em;color:var(--muted);margin:0;display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline}.cv-contact a[data-v-36746f76]{color:var(--ink);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s ease}.cv-contact a[data-v-36746f76]:hover{border-bottom-color:var(--ink)}.cv-contact .dot[data-v-36746f76]{margin:0 9px;color:var(--faint)}.cv-section[data-v-36746f76]{display:grid;grid-template-columns:140px 1fr;gap:16px;padding:26px 0;border-bottom:1px solid var(--rule)}.cv-section[data-v-36746f76]:last-of-type{border-bottom:none}.cv-label[data-v-36746f76]{font-family:Quattrocento Sans,sans-serif;font-weight:400;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);margin:4px 0 0}.cv-body[data-v-36746f76]{margin:0}.cv-body>p[data-v-36746f76]:first-child{margin-top:0}.cv-body p[data-v-36746f76]{margin:0}.entry[data-v-36746f76]{margin-bottom:20px}.entry[data-v-36746f76]:last-child{margin-bottom:0}.entry-head[data-v-36746f76]{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.entry-title[data-v-36746f76]{font-weight:700;color:var(--ink);margin:0 0 1px}.entry-meta[data-v-36746f76]{font-family:Quattrocento Sans,sans-serif;font-size:.76rem;letter-spacing:.02em;color:var(--faint);white-space:nowrap;flex-shrink:0}.incoming[data-v-36746f76]{font-weight:400;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--rule);border-radius:2px;padding:1px 6px;margin-left:6px;vertical-align:middle}.entry-sub[data-v-36746f76],.incoming[data-v-36746f76]{font-family:Quattrocento Sans,sans-serif;color:var(--muted)}.entry-sub[data-v-36746f76]{font-size:.85rem;margin:0 0 5px}.entry-note[data-v-36746f76]{font-size:.92rem;color:var(--note);margin:0}.cv-body .pub-group[data-v-36746f76]{font-family:Quattrocento Sans,sans-serif;font-size:.64rem;font-weight:400;letter-spacing:.15em;text-transform:uppercase;color:var(--faint);margin:0 0 11px}.pub-list+.pub-group[data-v-36746f76]{margin-top:22px}.pub-list[data-v-36746f76]{list-style:none;margin:0;padding-left:0}.pub-list li[data-v-36746f76]{position:relative;margin-bottom:18px;font-size:.92rem;color:var(--note);line-height:1.5}.pub-list li.publication-hidden[data-v-36746f76]{display:none}.pub-list li[data-v-36746f76]:last-child{margin-bottom:0}.pub-tip[data-v-36746f76]{position:absolute;left:0;top:calc(100% + 8px);z-index:20;width:100%;box-sizing:border-box;padding:14px 16px;background:var(--tip-bg);border:1px solid var(--rule);border-radius:5px;box-shadow:var(--tip-shadow);font-family:"PT Serif",Georgia,serif;font-size:.82rem;line-height:1.55;color:var(--note);opacity:0;transform:translateY(-4px);pointer-events:none;transition:opacity .2s ease,transform .2s ease}.pub-tip[data-v-36746f76]:before{content:"";position:absolute;left:26px;top:-5px;width:9px;height:9px;background:var(--tip-bg);border-left:1px solid var(--rule);border-top:1px solid var(--rule);transform:rotate(45deg)}.pub-list li:focus-within .pub-tip[data-v-36746f76],.pub-list li:hover .pub-tip[data-v-36746f76]{opacity:1;transform:translateY(0);transition-delay:.5s}.pub-title[data-v-36746f76]{display:block;color:var(--ink);text-decoration:none}.pub-title[data-v-36746f76]:focus,.pub-title[data-v-36746f76]:hover{text-decoration:none}.pub-authors[data-v-36746f76]{display:block;color:var(--note)}.pub-venue[data-v-36746f76]{display:block;font-style:italic;color:var(--muted)}.me[data-v-36746f76]{font-weight:700;color:var(--ink)}.cv-foot[data-v-36746f76]{display:flex;justify-content:space-between;margin-top:34px;font-family:Quattrocento Sans,sans-serif;font-size:.72rem;letter-spacing:.04em;color:var(--faint)}@media (max-width:620px){.cv-name[data-v-36746f76]{font-size:2rem}.cv-section[data-v-36746f76]{grid-template-columns:1fr;gap:10px}.cv-label[data-v-36746f76]{margin-bottom:4px}.entry-head[data-v-36746f76]{flex-direction:column;align-items:flex-start;gap:1px}.entry-meta[data-v-36746f76]{order:-1}}@media print{.no-print[data-v-36746f76]{display:none!important}body.dark-mode,body.dark-mode #app,html.dark-mode,html.dark-mode #app,html.dark-mode body{background:#fff!important;background-color:#fff!important;color:#141414!important}.cv-root.cv-dark[data-v-36746f76],.cv-root[data-v-36746f76],body.dark-mode .cv-root{--ink:#141414;--muted:#6b6b6b;--faint:#9a9a9a;--rule:#e6e6e6;--bg:#fff;--note:#3c3c3c;--tip-bg:#fff;--button-hover-text:#fff;padding:0;background:#fff!important;color:#141414!important}.cv-root[data-v-36746f76] *{transition:none!important}.cv-sheet[data-v-36746f76]{max-width:100%;font-size:11pt}.cv-head[data-v-36746f76],.cv-section[data-v-36746f76]{border-bottom:none}.cv-section[data-v-36746f76],.entry[data-v-36746f76],.pub-list li[data-v-36746f76]{-moz-column-break-inside:avoid;break-inside:avoid}a[data-v-36746f76]{color:#000!important}}body.theme-transitioning .cv-root,body.theme-transitioning .cv-root *,html.theme-transitioning .cv-root,html.theme-transitioning .cv-root *{transition-property:color,background-color,border-color,box-shadow,fill,stroke;transition-duration:var(--theme-duration,.22s);transition-timing-function:ease}body.theme-transitioning .cv-root .cv-contact a,body.theme-transitioning .cv-root .cv-print,body.theme-transitioning .cv-root .cv-theme,html.theme-transitioning .cv-root .cv-contact a,html.theme-transitioning .cv-root .cv-print,html.theme-transitioning .cv-root .cv-theme{transition:color var(--theme-duration,.22s) ease,background-color var(--theme-duration,.22s) ease,border-color var(--theme-duration,.22s) ease}body[data-v-0a2970cf],html[data-v-0a2970cf]{-webkit-user-select:none;-moz-user-select:none;user-select:none}.home-ask[data-v-0a2970cf]{width:87.8%;max-width:540px;box-sizing:border-box;margin:1.7rem auto 0;text-align:left;color:#2a2a2a;transform:translateZ(0);backface-visibility:hidden}body.dark-mode .home-ask[data-v-0a2970cf]{color:#e9e9e9}.home-ask-bar[data-v-0a2970cf]{display:flex;align-items:center;gap:11px;border-bottom:1px solid currentColor;padding:7px 2px 10px;cursor:text}.home-ask-spark[data-v-0a2970cf]{width:19px;height:19px;flex:none;fill:currentColor;opacity:.65}.home-ask-input-wrap[data-v-0a2970cf]{position:relative;flex:1;min-width:0;display:flex;align-items:center}.home-ask-input[data-v-0a2970cf]{width:100%;border:none;background:transparent;outline:none;font:inherit;font-size:1.06rem;color:inherit;-webkit-user-select:text;-moz-user-select:text;user-select:text;cursor:text}.home-ask-prompt[data-v-0a2970cf]{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);color:currentColor;opacity:.5;pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-prompt-fade-enter-active[data-v-0a2970cf],.home-prompt-fade-leave-active[data-v-0a2970cf]{transition:opacity .55s ease}.home-prompt-fade-enter-from[data-v-0a2970cf],.home-prompt-fade-leave-to[data-v-0a2970cf]{opacity:0}.home-margin-note[data-v-0a2970cf]{display:none}@media (min-width:1180px) and (min-height:640px) and (hover:hover) and (pointer:fine){.home-margin-note[data-v-0a2970cf]{position:absolute;z-index:2;display:block;width:154px;color:#777;font-family:Quattrocento Sans,sans-serif;font-size:.7rem;line-height:1.5;letter-spacing:.035em;opacity:0;transform:translateY(6px);transition:color var(--theme-duration,.35s) ease,opacity .32s ease-out,transform .38s cubic-bezier(.23,1,.32,1);will-change:opacity,transform}.home-margin-note.home-intro-visible[data-v-0a2970cf]{opacity:1;transform:translateY(0)}.home-margin-note-left[data-v-0a2970cf]{top:18px;right:calc(100% + 44px);text-align:right}.home-margin-note-right[data-v-0a2970cf]{bottom:18px;left:calc(100% + 44px);width:174px;text-align:left}.home-margin-note[data-v-0a2970cf]:before{content:"";display:block;width:28px;margin-bottom:12px;border-top:1px solid currentColor;opacity:.28}.home-margin-note-left[data-v-0a2970cf]:before{margin-left:auto}.home-margin-note span[data-v-0a2970cf],.home-margin-note strong[data-v-0a2970cf]{display:block}.home-margin-note strong[data-v-0a2970cf]{margin:4px 0 1px;color:#4b4b4b;font-size:.76rem;font-weight:500;letter-spacing:.075em;text-transform:uppercase;transition:color var(--theme-duration,.35s) ease}.home-margin-kicker[data-v-0a2970cf]{font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;opacity:.58}.home-margin-note a[data-v-0a2970cf]{display:inline-block;color:#5d5d5d;font-size:.62rem;letter-spacing:.1em;text-decoration:none;text-transform:uppercase;opacity:.72;transition:color var(--theme-duration,.35s) ease,opacity .16s ease,transform .18s cubic-bezier(.23,1,.32,1)}.home-margin-note a[data-v-0a2970cf]:focus-visible,.home-margin-note a[data-v-0a2970cf]:hover{color:#222;opacity:1;transform:translateX(2px)}.home-current-list[data-v-0a2970cf]{display:grid;gap:13px;margin:13px 0 17px}.home-current-list a[data-v-0a2970cf]{display:block;opacity:.82;text-transform:none}.home-current-list strong[data-v-0a2970cf]{margin:0 0 1px;color:#4b4b4b;font-size:.71rem;line-height:1.35;letter-spacing:.025em;text-transform:none}.home-current-list span[data-v-0a2970cf]{font-size:.58rem;line-height:1.4;letter-spacing:.07em;opacity:.58;text-transform:uppercase}.home-margin-cv[data-v-0a2970cf]{font-size:.6rem!important}.home-scene-fade-enter-active[data-v-0a2970cf],.home-scene-fade-leave-active[data-v-0a2970cf]{transition:opacity .22s ease,transform .26s cubic-bezier(.23,1,.32,1)}.home-scene-fade-enter-from[data-v-0a2970cf],.home-scene-fade-leave-to[data-v-0a2970cf]{opacity:0;transform:translateY(5px)}body.dark-mode .home-margin-note[data-v-0a2970cf]{color:#777}body.dark-mode .home-margin-note a[data-v-0a2970cf],body.dark-mode .home-margin-note strong[data-v-0a2970cf]{color:#aaa}body.dark-mode .home-margin-note a[data-v-0a2970cf]:focus-visible,body.dark-mode .home-margin-note a[data-v-0a2970cf]:hover{color:#e0e0e0}}@media (prefers-reduced-motion:reduce){.home-margin-note[data-v-0a2970cf]{transform:none;transition:color var(--theme-duration,.35s) ease,opacity .16s ease-out}.home-scene-fade-enter-active[data-v-0a2970cf],.home-scene-fade-leave-active[data-v-0a2970cf]{transition:none}}.home-ask-result[data-v-0a2970cf]{margin-top:18px;font-size:.93rem;line-height:1.55;color:inherit}.home-ask-answer[data-v-0a2970cf],.home-ask-status[data-v-0a2970cf]{margin:0;opacity:.78}.home-ask-map-shell[data-v-0a2970cf]{height:250px;margin:13px 0 2px;overflow:hidden}.home-ask-map[data-v-0a2970cf]{height:100%}.home-ask-map[data-v-0a2970cf] .emap{display:flex;flex-direction:column;height:100%;min-height:0}.home-ask-map[data-v-0a2970cf] .emap-stage{flex:1 1 auto;min-height:0;border:0;border-radius:0;background:transparent}.home-ask-map[data-v-0a2970cf] .emap-canvas{cursor:grab}.home-ask-sources-label[data-v-0a2970cf]{display:block;margin-top:12px;margin-bottom:6px;font-family:Quattrocento Sans,sans-serif;font-size:.6rem;line-height:1.2;letter-spacing:.12em;text-transform:uppercase;opacity:.45}.home-ask-sources[data-v-0a2970cf]{display:flex;flex-wrap:wrap;gap:12px}.home-ask-source[data-v-0a2970cf]{font:inherit;font-family:Quattrocento Sans,sans-serif;font-size:.74rem;color:inherit;background:transparent;border:0;border-bottom:1px solid currentColor;border-radius:0;padding:0 0 2px;opacity:.62;max-width:100%;min-width:0;flex:0 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity .18s ease,color var(--theme-duration,.22s) ease,border-color var(--theme-duration,.22s) ease}.home-ask-source.is-previewed[data-v-0a2970cf],.home-ask-source[data-v-0a2970cf]:focus-visible,.home-ask-source[data-v-0a2970cf]:hover{opacity:1}.home-ask-sources-wrap[data-v-0a2970cf]{position:relative}.home-ask-preview[data-v-0a2970cf]{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:5;box-sizing:border-box;padding:10px 13px;border:1px solid hsla(0,0%,43%,.24);border-radius:8px;background:rgba(250,250,251,.92);backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%);box-shadow:0 8px 24px rgba(0,0,0,.09);pointer-events:none}.home-ask-preview-kicker[data-v-0a2970cf]{display:block;font-family:Quattrocento Sans,sans-serif;font-size:.6rem;line-height:1.15;letter-spacing:.11em;text-transform:uppercase;opacity:.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-ask-preview-text[data-v-0a2970cf]{margin:3px 0 0;font-size:.8rem;line-height:1.45;opacity:.75;overflow-wrap:break-word}.home-preview-fade-enter-active[data-v-0a2970cf],.home-preview-fade-leave-active[data-v-0a2970cf]{transition:opacity .16s ease,transform .2s cubic-bezier(.23,1,.32,1)}.home-preview-fade-enter-from[data-v-0a2970cf],.home-preview-fade-leave-to[data-v-0a2970cf]{opacity:0;transform:translateY(-3px)}body.dark-mode .home-ask-preview[data-v-0a2970cf]{background:rgba(44,44,46,.94);border-color:hsla(0,0%,100%,.14)}.home-ask-followups[data-v-0a2970cf]{margin-top:14px}.home-ask-followups-label[data-v-0a2970cf]{display:block;margin-bottom:6px;font-family:Quattrocento Sans,sans-serif;font-size:.6rem;line-height:1.2;letter-spacing:.12em;text-transform:uppercase;opacity:.45}.home-ask-followups-list[data-v-0a2970cf]{display:flex;flex-wrap:wrap;gap:7px}.home-ask-followup[data-v-0a2970cf]{font:inherit;font-family:Quattrocento Sans,sans-serif;font-size:.72rem;color:inherit;background:transparent;border:1px solid currentColor;border-radius:3px;padding:4px 8px;opacity:.48;cursor:pointer;text-align:left;transition:opacity .2s ease,background .2s ease,color var(--theme-duration,.22s) ease,border-color var(--theme-duration,.22s) ease}.home-ask-followup[data-v-0a2970cf]:focus-visible,.home-ask-followup[data-v-0a2970cf]:hover{opacity:.9;background:rgba(0,0,0,.04)}body.dark-mode .home-ask-followup[data-v-0a2970cf]:focus-visible,body.dark-mode .home-ask-followup[data-v-0a2970cf]:hover{background:hsla(0,0%,100%,.08)}#imageElement[data-v-0a2970cf],#videoElement.homevideo1[data-v-0a2970cf],#videoElement.homevideo2[data-v-0a2970cf],#videoElement.homevideo3[data-v-0a2970cf],#videoElement.homevideo4[data-v-0a2970cf],#videoElement.homevideo5[data-v-0a2970cf]{cursor:pointer}#imageElement[data-v-0a2970cf],#videoElement[data-v-0a2970cf]{z-index:2000}.fallback-image[data-v-0a2970cf],video[data-v-0a2970cf]{width:45%;aspect-ratio:9/16;height:auto;-o-object-fit:cover;object-fit:cover}.description-overlay[data-v-0a2970cf],.fallback-image[data-v-0a2970cf],.transition-overlay[data-v-0a2970cf],video[data-v-0a2970cf]{transform-origin:center center;backface-visibility:hidden;-webkit-backface-visibility:hidden;will-change:transform,opacity}video[data-v-0a2970cf]{filter:grayscale(85%);transition:opacity .8s cubic-bezier(.23,1,.32,1),filter .65s ease;background-color:#fff}body.dark-mode video[data-v-0a2970cf]{background-color:#000}#imageElement[data-v-0a2970cf]{transition:opacity .8s cubic-bezier(.23,1,.32,1),filter .65s ease}.transition-overlay[data-v-0a2970cf]{background:#afb4b9;z-index:3000}.description-overlay[data-v-0a2970cf],.transition-overlay[data-v-0a2970cf]{position:absolute;top:0;left:0;width:45%;aspect-ratio:9/16;height:auto;opacity:0;pointer-events:none}.description-overlay[data-v-0a2970cf]{background:#000;z-index:4000;transition:opacity .3s ease-in-out;display:flex;justify-content:center;align-items:center}.image-left.container.is-video-flipping .description-overlay[data-v-0a2970cf]{opacity:0!important}.description-content[data-v-0a2970cf]{text-align:center;color:#fff;margin:15%;font-size:25px;line-height:45px}.description-content p[data-v-0a2970cf]{font-size:15px;line-height:20px}.image-left.container[data-v-0a2970cf]{position:relative;contain:layout}#welcomeQuote[data-v-0a2970cf]{transform:translateZ(0);backface-visibility:hidden}.image-left[data-v-0a2970cf],.image-right[data-v-0a2970cf]{margin:1em 0}@media (min-width:20em){.image-left[data-v-0a2970cf],.image-right[data-v-0a2970cf]{display:flex;align-items:flex-start}.image-left .fallback-image[data-v-0a2970cf],.image-left video[data-v-0a2970cf]{margin-right:1.5em;float:left}.image-right .fallback-image[data-v-0a2970cf],.image-right video[data-v-0a2970cf]{order:1;margin-left:1.5em;float:right}.image-left[data-v-0a2970cf]:after,.image-right[data-v-0a2970cf]:after{content:"";display:block;clear:both}}@media (min-width:30em){.image-left .fallback-image[data-v-0a2970cf],.image-left video[data-v-0a2970cf],.image-right .fallback-image[data-v-0a2970cf],.image-right video[data-v-0a2970cf]{flex-shrink:0}}@media (max-width:768px){.home-ask-map-shell[data-v-0a2970cf]{height:220px}.welcome-text h1[data-v-0a2970cf]{font-size:1.8em}.welcome-text h2[data-v-0a2970cf]{font-size:1.05em}.description-content[data-v-0a2970cf]{margin:15%;font-size:4vw;line-height:6vw}.description-content p[data-v-0a2970cf]{font-size:2.3vw}}@media (min-width:615px){.welcome-text h1[data-v-0a2970cf]{font-size:3.3em}.welcome-text h2[data-v-0a2970cf]{font-size:1.63em}}.welcome-text[data-v-0a2970cf]{flex:2;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:.9rem;align-self:stretch;height:100%;--hero-fill:14px;--hero-shift:1px;transform:translateY(var(--hero-shift))}@media (max-width:768px){.welcome-text[data-v-0a2970cf]{--hero-fill:10px;--hero-shift:1px}}.welcome-text h1[data-v-0a2970cf]{margin:0;margin-block-start:0;margin-block-end:0;width:100%;line-height:1.2;position:relative;top:0;text-align:center;white-space:nowrap;overflow-wrap:normal;word-break:normal;color:#616161}#compassContainer[data-v-0a2970cf]{display:inline-block;white-space:nowrap}.welcome-text h2[data-v-0a2970cf]{min-width:0;max-width:100%;margin:0;margin-block-start:0;margin-block-end:0;line-height:1.4;position:relative;top:0;text-align:left;text-align-last:left;-moz-text-align-last:left;white-space:pre-line;color:#fff}#welcomeQuote[data-v-0a2970cf]{text-align:center;font-size:1em;color:#a9a9a9}@keyframes fadeIn-0a2970cf{to{opacity:1}}@keyframes rotate-shake-0a2970cf{0%{transform:rotate(0deg)}25%{transform:rotate(var(--shake-angle))}50%{transform:rotate(calc(var(--shake-angle)*-1))}75%{transform:rotate(var(--shake-angle))}to{transform:rotate(0deg)}}.shake[data-v-0a2970cf]{animation:rotate-shake-0a2970cf var(--shake-duration) infinite}@keyframes flip-0a2970cf{0%{transform:perspective(800px) rotateY(0deg)}to{transform:perspective(800px) rotateY(90deg)}}@keyframes flip2-0a2970cf{0%{transform:perspective(800px) rotateY(270deg)}to{transform:perspective(800px) rotateY(1turn)}}.flip[data-v-0a2970cf]{animation:flip-0a2970cf 1s ease-in-out forwards}.flip2[data-v-0a2970cf]{animation:flip2-0a2970cf 1s ease-in-out forwards}#compassIcon[data-v-0a2970cf]{--shake-angle:10deg;--shake-duration:0.5s}.tipcolor-1[data-v-0a2970cf]{color:#c9c9c9;transition:color .8s;font-size:13px}.tipcolor-2[data-v-0a2970cf]{color:#fff;transition:color .8s;font-size:13px}body.theme-transitioning .tipcolor-1,body.theme-transitioning .tipcolor-2,html.theme-transitioning .tipcolor-1,html.theme-transitioning .tipcolor-2{transition:color var(--theme-duration,.22s) ease}#overlay[data-v-0a2970cf]{position:fixed;top:0;left:0;width:100%;height:100%;background-color:hsla(0,0%,100%,0);z-index:1000;pointer-events:all}@media (prefers-reduced-motion:reduce){.description-overlay[data-v-0a2970cf],.fallback-image[data-v-0a2970cf],.transition-overlay[data-v-0a2970cf],.video-element[data-v-0a2970cf]{animation:none!important;transform:none!important;filter:none!important;transition:opacity .16s ease!important}}