@font-face{font-family:Overpass;src:url(/fonts/overpass-latin-wght-normal.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:"Source Serif 4";src:url(/fonts/source-serif-4-latin-wght-normal.woff2)format("woff2");font-weight:200 900;font-style:normal;font-display:swap}@font-face{font-family:"Source Serif 4";src:url(/fonts/source-serif-4-latin-wght-italic.woff2)format("woff2");font-weight:200 900;font-style:italic;font-display:swap}@font-face{font-family:Overpass Fallback;src:local(Arial);size-adjust:101%;ascent-override:96%;descent-override:24%;line-gap-override:0%}@font-face{font-family:Source Serif Fallback;src:local(Georgia);size-adjust:96%;ascent-override:97%;descent-override:30%;line-gap-override:0%}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:var(--lightningcss-light,#e8edef)var(--lightningcss-dark,#0e1b24);--surface:var(--lightningcss-light,#f7f9f9)var(--lightningcss-dark,#152633);--surface-2:var(--lightningcss-light,#dce3e6)var(--lightningcss-dark,#1e3342);--line:var(--lightningcss-light,#b7c3c9)var(--lightningcss-dark,#2c4454);--text:var(--lightningcss-light,#16222b)var(--lightningcss-dark,#e6eef1);--text-muted:var(--lightningcss-light,#475763)var(--lightningcss-dark,#9db0bb);--action:var(--lightningcss-light,#1c4f86)var(--lightningcss-dark,#8cb8f0);--on-action:var(--lightningcss-light,#fff)var(--lightningcss-dark,#0e1b24);--overprint:var(--lightningcss-light,#a3126f)var(--lightningcss-dark,#ff7ac6);--ok:var(--lightningcss-light,#2d6a3e)var(--lightningcss-dark,#86d19a);--danger:var(--lightningcss-light,#b42318)var(--lightningcss-dark,#ff8b7b);--focus:var(--lightningcss-light,#1c4f86)var(--lightningcss-dark,#ffd27a);--halo:var(--lightningcss-light,#fff)var(--lightningcss-dark,#0e1b24);--sea:var(--lightningcss-light,#cadce3)var(--lightningcss-dark,#10303e);--land:var(--lightningcss-light,#e6e3d5)var(--lightningcss-dark,#2c3d3b);--coast:var(--lightningcss-light,#5b6e78)var(--lightningcss-dark,#9db0bb);--water-line:var(--lightningcss-light,#9fbac6)var(--lightningcss-dark,#1d4556);--graticule:var(--lightningcss-light,#16222b38)var(--lightningcss-dark,#e6eef129);--heat-area-0:#2b6c8f;--heat-area-1:#6fa3be;--heat-area-2:#b8d3df;--heat-area-3:var(--lightningcss-light,#efefea)var(--lightningcss-dark,#2a3a40);--heat-area-4:#e5b3ce;--heat-area-5:#c4639c;--heat-area-6:#8e1260;--heat-omega-0:#efefea;--heat-omega-1:#e8d59a;--heat-omega-2:#d9a35a;--heat-omega-3:#b8643a;--heat-omega-4:#7a2e3a;--shadow:var(--lightningcss-light,0 6px 24px #0e1b2429)var(--lightningcss-dark,0 6px 24px #00000073);--font-ui:"Overpass", "Overpass Fallback", Arial, sans-serif;--font-serif:"Source Serif 4", "Source Serif Fallback", Georgia, serif;--fs-0:13px;--fs-1:16px;--fs-2:20px;--fs-3:25px;--fs-4:31px;--fs-5:39px;--fs-6:49px;--fs-word:clamp(44px, 7.5vw, 84px);--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--r-panel:10px;--r-ctl:6px;--r-chip:999px;--ease-morph:cubic-bezier(.65, 0, .35, 1)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{background:var(--bg);color:var(--text);font:400 var(--fs-1)/1.55 var(--font-ui);-webkit-text-size-adjust:100%}body{font-variant-numeric:tabular-nums lining-nums;flex-direction:column;height:100dvh;margin:0;display:flex}h1,h2,h3{font-family:var(--font-serif);margin:0 0 var(--sp-3);font-optical-sizing:auto;font-weight:600;line-height:1.1}h1{font-size:var(--fs-5)}h2{font-size:var(--fs-4)}h3{font-size:var(--fs-2)}p{margin:0 0 var(--sp-3);max-width:68ch}a{color:var(--action);text-underline-offset:3px}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.skip{left:var(--sp-3);background:var(--surface);color:var(--text);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-ctl);z-index:20;position:absolute;top:-64px}.skip:focus{top:var(--sp-3)}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}svg.ic{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}.btn{justify-content:center;align-items:center;gap:var(--sp-2);min-width:44px;min-height:44px;padding:0 var(--sp-4);border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--surface);color:var(--text);font:500 var(--fs-1)/1 var(--font-ui);cursor:pointer;text-decoration:none;transition:background-color .15s,border-color .15s,transform .12s;display:inline-flex}.btn:hover{background:var(--surface-2)}.btn:active{transform:scale(.97)}.btn[aria-pressed=true]{border-color:var(--action);box-shadow:inset 0 0 0 1px var(--action)}.btn-primary{background:var(--action);border-color:var(--action);color:var(--on-action)}.btn-primary:hover{background:var(--action);filter:brightness(1.08)}.btn-icon{padding:0}.btn[disabled]{opacity:.5;cursor:default}.sh-top{align-items:center;gap:var(--sp-4);padding:var(--sp-2) var(--sp-4);border-bottom:1px solid var(--line);background:var(--bg);display:flex}.sh-brand{min-height:44px;font:600 var(--fs-2)/1 var(--font-serif);color:var(--text);padding:var(--sp-2) 0;align-items:center;margin-right:auto;text-decoration:none;display:inline-flex}.sh-nav{gap:var(--sp-1);display:flex}.sh-link{min-height:44px;padding:0 var(--sp-3);color:var(--text);border-radius:var(--r-ctl);align-items:center;text-decoration:none;display:inline-flex}.sh-link:hover{background:var(--surface-2)}.sh-link[aria-current=page]{box-shadow:inset 0 -2px 0 var(--action)}.sh-toast{left:50%;bottom:var(--sp-5);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-panel);max-width:min(92vw,520px);box-shadow:var(--shadow);padding:var(--sp-3) var(--sp-4);z-index:30;position:fixed;transform:translate(-50%)}.sh-toast[hidden]{display:none}main{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}main:focus{outline:none}[data-view][hidden]{display:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.sh-toast{align-items:center;gap:var(--sp-3);display:flex}.sh-page{padding:var(--sp-7) var(--sp-5);max-width:640px;margin:0 auto}.mp-root,[data-view=map]{flex-direction:column;flex:1;min-height:0;display:flex}.mp-layout{flex:1;grid-template-rows:minmax(0,1fr);grid-template-columns:232px minmax(0,1fr) 300px;min-height:0;display:grid}.pj-panel,.ix-panel{padding:var(--sp-4);background:var(--surface);min-height:0;overflow-y:auto}.pj-panel{border-right:1px solid var(--line)}.ix-panel{border-left:1px solid var(--line)}.pj-title{font-size:var(--fs-2)}.pj-head{font:500 var(--fs-0)/1.3 var(--font-ui);color:var(--text-muted);margin:var(--sp-4) 0 var(--sp-1)}.pj-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.pj-item{column-gap:var(--sp-2);width:100%;min-height:44px;padding:var(--sp-1) var(--sp-2);border-radius:var(--r-ctl);color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;grid-template-rows:auto auto;grid-template-columns:32px 1fr;align-items:center;transition:background-color .15s,border-color .15s;display:grid}.pj-item:hover{background:var(--surface-2)}.pj-item[aria-pressed=true]{background:var(--surface-2);border-color:var(--action)}.pj-sil{color:var(--action);grid-row:1/3}.pj-name{font-weight:500;line-height:1.2}.pj-prop{font-size:var(--fs-0);color:var(--text-muted);line-height:1.2}.mp-stage{min-width:0;min-height:0;padding:var(--sp-3);gap:var(--sp-2);flex-direction:column;display:flex}.mp-frame{background:var(--sea);border:1px solid var(--coast);outline-offset:3px;touch-action:none;cursor:grab;min-height:240px;box-shadow:inset 0 0 0 5px var(--sea), inset 0 0 0 6px var(--line);flex:1;position:relative;overflow:hidden}.mp-frame:active{cursor:grabbing}.mp-stack{position:absolute;inset:0}.mp-raster,.mp-overlay{width:100%;height:100%;display:block;position:absolute;inset:0}.mp-overlay{pointer-events:none}.mp-strip{align-items:center;gap:var(--sp-2) var(--sp-4);font-size:var(--fs-0);color:var(--text-muted);flex-wrap:wrap;display:flex}.mp-controls{gap:var(--sp-1);display:flex}.mp-readout{min-width:17ch;color:var(--text);font-size:var(--fs-1)}.mp-legend,.mp-attr{max-width:none;margin:0}.mp-attr{margin-left:auto}.ix-proj p{margin-bottom:var(--sp-2)}.ix-name{font-size:var(--fs-3);margin-bottom:var(--sp-1)}.ix-small{font-size:var(--fs-0);color:var(--text-muted)}.ix-hint{padding:var(--sp-4);border:1px dashed var(--line);border-radius:var(--r-panel);color:var(--text-muted)}.ix-where{margin:0 0 var(--sp-1);font-weight:600}.ix-sentence{font:500 var(--fs-2)/1.35 var(--font-serif);color:var(--overprint)}.ix-nums{gap:2px var(--sp-3);margin:0 0 var(--sp-3);grid-template-columns:1fr auto;display:grid}.ix-nums dt{color:var(--text-muted)}.ix-nums dd{text-align:right;margin:0;font-weight:600}.ix-label{font-size:var(--fs-0);color:var(--text-muted);margin-bottom:var(--sp-1);display:block}.ix-radius{margin:var(--sp-4) 0;gap:var(--sp-2);flex-wrap:wrap;align-items:center;display:flex}.chip{min-width:44px;min-height:44px;padding:0 var(--sp-3);border:1px solid var(--line);border-radius:var(--r-chip);background:var(--surface);color:var(--text);font:inherit;cursor:pointer}.chip[aria-pressed=true]{border-color:var(--action);box-shadow:inset 0 0 0 1px var(--action)}.ix-sub{font-size:var(--fs-1);margin-top:var(--sp-4)}.ix-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.ix-item{text-align:left;width:100%;min-height:44px;padding:0 var(--sp-2);border-radius:var(--r-ctl);color:var(--text);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000}.ix-item[aria-pressed=true]{border-color:var(--overprint)}.mp-tabs{display:none}.sh-dialog{border:1px solid var(--line);border-radius:var(--r-panel);background:var(--surface);color:var(--text);box-shadow:var(--shadow);max-width:min(92vw,460px)}.sh-dialog::backdrop{background:#0e1b2480}.sh-keys{gap:var(--sp-1) var(--sp-4);margin:0 0 var(--sp-4);grid-template-columns:auto 1fr;display:grid}.sh-keys dt{font-weight:600}.sh-keys dd{margin:0}@media (max-width:899px){[data-view=map]{overflow-y:auto}.mp-layout{flex-direction:column;flex:none;display:flex}.mp-stage{padding:var(--sp-2);order:1}.mp-frame{flex:none;height:58vh;min-height:280px}.mp-layout{padding-bottom:0}.mp-stage{padding-bottom:var(--sp-4)}.mp-tabs{gap:var(--sp-1);padding:var(--sp-2);border-top:1px solid var(--line);background:var(--surface);z-index:5;order:2;display:flex;position:sticky;bottom:0}.mp-tab{border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--surface);min-height:44px;color:var(--text);font:inherit;cursor:pointer;flex:1}.mp-tab[aria-pressed=true]{border-color:var(--action);box-shadow:inset 0 0 0 1px var(--action)}.pj-panel,.ix-panel{border:0;border-top:1px solid var(--line);order:1;display:none;overflow:visible}.mp-layout[data-tab=proj] .pj-panel,.mp-layout[data-tab=ix] .ix-panel{display:block}.pj-list{grid-template-columns:repeat(2,1fr)}.mp-layout[data-sub=circles] .ix-proj,.mp-layout[data-sub=circles] .ix-body,.mp-layout[data-sub=ix] .ix-radius,.mp-layout[data-sub=ix] .ix-sub,.mp-layout[data-sub=ix] .ix-list{display:none}.mp-attr{margin-left:0}}@media (min-width:900px) and (max-width:1099px){.mp-layout{grid-template-columns:200px minmax(0,1fr) 260px}}.cp-coach{align-items:center;gap:var(--sp-2) var(--sp-4);padding:var(--sp-3) var(--sp-4);border:1px solid var(--action);border-radius:var(--r-panel);background:var(--surface);flex-wrap:wrap;display:flex}.cp-text{flex:240px;margin:0}.cp-step{font-size:var(--fs-0);color:var(--text-muted)}@media (max-width:899px){.cp-coach{padding:var(--sp-2) var(--sp-3);order:-1}.mp-frame{height:50vh}}[data-view=home]{flex:1;min-height:0;display:flex}.lp-grid{gap:var(--sp-6);padding:var(--sp-6) var(--sp-5);flex:1;grid-template-columns:minmax(280px,5fr) minmax(0,7fr);align-items:center;width:100%;max-width:1500px;margin:0 auto;display:grid}.lp-word{font-size:var(--fs-word);letter-spacing:-.01em;margin-bottom:var(--sp-2)}.lp-lede{font:500 var(--fs-3)/1.25 var(--font-serif);margin-bottom:var(--sp-3);max-width:22ch}.lp-pitch{color:var(--text-muted);max-width:44ch}.lp-cta{gap:var(--sp-3);margin-top:var(--sp-4);flex-wrap:wrap;display:flex}.lp-hero{gap:var(--sp-2);flex-direction:column;min-width:0;display:flex}.lp-map{aspect-ratio:16/10;flex:none;width:100%;min-height:240px;max-height:64vh}.lp-caption{max-width:none;min-height:3.2em;color:var(--text);font:500 var(--fs-1)/1.5 var(--font-serif);margin:0}.lp-play{align-self:flex-start}@media (max-width:899px){[data-view=home]{overflow-y:auto}.lp-grid{gap:var(--sp-4);padding:var(--sp-4);grid-template-columns:1fr;align-items:start}.lp-word{margin-bottom:0;font-size:44px}.lp-lede{font-size:var(--fs-2);max-width:none;margin-bottom:var(--sp-2)}.lp-pitch{display:none}.lp-cta{margin-top:var(--sp-2)}.lp-map{aspect-ratio:auto;height:38vh;min-height:240px;max-height:none}}.hw-page{max-width:68ch;padding:var(--sp-6) var(--sp-4) var(--sp-8);font-family:var(--font-serif);margin:0 auto;line-height:1.6}.hw-page h1,.hw-page h2{font-family:var(--font-serif)}.hw-page h2{font-size:var(--fs-3);margin-top:var(--sp-6)}.hw-list{padding-left:var(--sp-5);gap:var(--sp-2);display:grid}.hw-about{margin-top:var(--sp-6);color:var(--text-muted);font-family:var(--font-ui)}
