html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}
.odDCVW_dialog{--ink:#171715;--muted:#6c6a64;--rule:#dedbd4;box-sizing:border-box;z-index:3;width:100vw;max-width:none;height:calc(100dvh - 64px);max-height:none;clip-path:inset(0 0 calc(var(--pc-edge-offset,0px) + 2px));-webkit-mask-image:linear-gradient(to bottom, #000 calc(100% - var(--pc-edge-offset,0px) - 10px), transparent calc(100% - var(--pc-edge-offset,0px) - 2px));mask-image:linear-gradient(to bottom, #000 calc(100% - var(--pc-edge-offset,0px) - 10px), transparent calc(100% - var(--pc-edge-offset,0px) - 2px));color:var(--ink);box-shadow:none;background:0 0;border:0;margin:0;padding:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;position:fixed;inset:0 0 64px;overflow:hidden}.odDCVW_dialog[open]{display:block}.odDCVW_dialog[data-returning=true]{pointer-events:none}.odDCVW_dialog[data-returning=true] .odDCVW_shell{pointer-events:auto}.odDCVW_dialog::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}.odDCVW_shell{grid-template-rows:auto minmax(0,1fr);width:100%;height:100%;margin:0 auto;display:grid}.odDCVW_header,.odDCVW_content{box-sizing:border-box;width:min(100%,1000px);margin-left:auto;margin-right:auto}.odDCVW_header{z-index:2;position:relative}.odDCVW_shell[data-scrolled=true] .odDCVW_header:after{opacity:1}.odDCVW_content{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#17171529 transparent;min-height:0;padding:clamp(1rem,3vw,2rem) clamp(1.25rem,5vw,3rem) 2rem;overflow-y:auto}.odDCVW_content::-webkit-scrollbar{width:4px}.odDCVW_content::-webkit-scrollbar-track{background:0 0}.odDCVW_content::-webkit-scrollbar-thumb{background:#17171529;border-radius:999px}.odDCVW_content::-webkit-scrollbar-thumb:hover{background:#17171547}.odDCVW_title{letter-spacing:-.065em;margin:0 0 clamp(1.75rem,4vw,3rem);font-family:inherit;font-size:clamp(2.75rem,8vw,6rem);font-weight:500;line-height:.98}.odDCVW_projectList,.odDCVW_articles{border-top:1px solid #0000}.odDCVW_project{border-bottom:1px solid #0000;grid-template-columns:3rem minmax(0,1fr) auto;align-items:start;gap:1.5rem;padding:1.5rem 0;display:grid}.odDCVW_index,.odDCVW_date,.odDCVW_articleMeta{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.75rem}.odDCVW_index{padding-top:.45rem}.odDCVW_projectCopy h2,.odDCVW_article h2{letter-spacing:-.035em;margin:0;font-family:inherit;font-size:clamp(1.35rem,3vw,2rem);font-weight:500}.odDCVW_projectCopy p,.odDCVW_article p,.odDCVW_detail p,.odDCVW_contact p{color:#45443f;max-width:39rem;margin:.65rem 0 0;font-size:.98rem;line-height:1.7}.odDCVW_textLink{min-height:2.75rem;color:var(--ink);text-underline-offset:.28em;align-self:center;align-items:center;font-size:.82rem;font-weight:600;text-decoration-thickness:1px;display:inline-flex}.odDCVW_project>.odDCVW_textLink{white-space:nowrap}.odDCVW_cover{aspect-ratio:16/9;background:#e9e8e3;width:min(100%,28rem);margin-top:1.15rem;display:block;position:relative;overflow:hidden}.odDCVW_cover img{object-fit:cover}.odDCVW_projectCover{background:#000}.odDCVW_iconCover img{object-fit:contain;box-sizing:border-box;padding:1rem}.odDCVW_detail p,.odDCVW_contact p{margin-top:0;font-size:clamp(1.1rem,2.5vw,1.45rem);line-height:1.65}.odDCVW_detail .odDCVW_textLink,.odDCVW_contact .odDCVW_textLink{margin-top:1.6rem}.odDCVW_about .odDCVW_name{letter-spacing:-.04em;margin:0;font-size:clamp(1.5rem,4vw,2.25rem)}.odDCVW_about .odDCVW_alternateName{letter-spacing:0;margin-left:.55rem;font-size:.68em}.odDCVW_typeChar{visibility:hidden;position:relative}.odDCVW_typeChar[data-scramble]:before{content:attr(data-scramble);visibility:visible;text-align:center;width:100%;font:inherit;letter-spacing:inherit;opacity:.65;position:absolute;inset:auto auto auto 0}.odDCVW_typeChar[data-caret]:after{content:"";background:currentColor;width:.06em;height:.9em;position:absolute;top:.08em;right:-.08em}.odDCVW_typedTree{min-height:100%}.odDCVW_typeChar[data-revealed=true]{visibility:visible}.odDCVW_focus{margin:1rem 0 0;font-size:clamp(1rem,2.5vw,1.3rem);font-weight:600}.odDCVW_affiliation{color:var(--muted);margin:.6rem 0 0;font-size:.93rem;line-height:1.6}.odDCVW_article{color:inherit;border-bottom:1px solid #0000;padding:1.35rem 0;text-decoration:none;display:block}.odDCVW_article:hover h2,.odDCVW_link:hover>span:first-child{text-underline-offset:.22em;text-decoration:underline}.odDCVW_typedTree :is(h2,.odDCVW_textLink,.odDCVW_link>span:first-child):has(.odDCVW_typeChar:not([data-revealed=true])){text-decoration-line:none}.odDCVW_articleMeta{justify-content:space-between;margin-bottom:.75rem;display:flex}.odDCVW_article p{font-size:.9rem}.odDCVW_empty{color:var(--muted);margin:0;padding:1.5rem 0}.odDCVW_allArticles{margin-top:1rem}.odDCVW_links{border-top:1px solid #0000}.odDCVW_link{min-height:3.75rem;color:inherit;border-bottom:1px solid #0000;grid-template-columns:minmax(5.5rem,.7fr) minmax(0,1fr) auto;align-items:center;gap:1rem;text-decoration:none;display:grid}.odDCVW_handle{color:var(--muted);font-size:.88rem}.odDCVW_srOnly{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.odDCVW_dialog a:focus-visible,.odDCVW_dialog button:focus-visible{outline-offset:4px;outline:2px solid}.odDCVW_dialog .odDCVW_header .reading-back:focus-visible{opacity:.65;outline:none;text-decoration:none}@media (max-width:640px){.odDCVW_dialog{height:calc(100dvh - 48px);inset:0 0 48px}.odDCVW_content{padding:1.25rem 1.25rem calc(1.5rem + env(safe-area-inset-bottom))}.odDCVW_title{margin-bottom:1.75rem}.odDCVW_project{grid-template-columns:2rem minmax(0,1fr);gap:.8rem;padding:1.25rem 0}.odDCVW_project>.odDCVW_textLink{grid-column:2;justify-self:start;margin-top:.35rem}.odDCVW_link{grid-template-columns:minmax(4.25rem,.65fr) minmax(0,1fr) auto;gap:.5rem;min-height:3.5rem;font-size:.9rem}.odDCVW_handle{overflow-wrap:anywhere;font-size:.8rem}}.odDCVW_typedTree [data-type-rule]{position:relative}.odDCVW_typedTree [data-type-rule=top]:before,.odDCVW_typedTree [data-type-rule=bottom]:after{content:"";background:var(--rule);pointer-events:none;transform-origin:0;height:1px;transition:transform .65s cubic-bezier(.22,1,.36,1);position:absolute;left:0;right:0;transform:scaleX(0)}.odDCVW_typedTree [data-type-rule=top]:before{top:-1px}.odDCVW_typedTree [data-type-rule=bottom]:after{bottom:-1px}.odDCVW_typedTree [data-type-rule=top][data-drawn]:before,.odDCVW_typedTree [data-type-rule=bottom][data-drawn]:after{transform:scaleX(1)}.odDCVW_typedTree [data-type-detail]{opacity:0;transition:opacity .25s}.odDCVW_typedTree [data-type-detail][data-drawn]{opacity:1}@media (prefers-reduced-motion:reduce){.odDCVW_typedTree [data-type-rule]:before,.odDCVW_typedTree [data-type-rule]:after,.odDCVW_typedTree [data-type-detail]{transition:none}}
._1SvrgG_reveal{isolation:isolate;--gen-line:#9a9a9a;--gen-strong:#6c6c6c;--gen-ink:#0d0d0d52;--gen-surface:#f4f4f1;--gen-text:#0d0d0d;--gen-muted:#8b8b8b;width:min(100%,36rem);position:relative}._1SvrgG_revealSurface{opacity:1;display:flow-root}._1SvrgG_reveal[data-reveal-pending] ._1SvrgG_revealSurface{opacity:0}._1SvrgG_reveal[data-reveal-started] ._1SvrgG_revealSurface{opacity:1}._1SvrgG_reveal .t-gen-label{display:none}._1SvrgG_form{width:min(100%,36rem);margin-top:1.5rem}._1SvrgG_field{gap:.5rem;margin-top:1.15rem;display:grid}._1SvrgG_field label{color:#6c6a64;letter-spacing:.02em;font-size:.78rem}._1SvrgG_field input,._1SvrgG_field textarea{box-sizing:border-box;color:#171715;width:100%;min-height:2.9rem;font:inherit;background:#ffffff7a;border:1px solid #dedbd4;border-radius:2px;outline:none;padding:.65rem .75rem;font-size:16px;line-height:1.5;transition:border-color .14s,background-color .14s}._1SvrgG_field textarea{resize:vertical;min-height:8.5rem}._1SvrgG_field input:focus,._1SvrgG_field textarea:focus{background:#fff;border-color:#77736a}._1SvrgG_field input:disabled,._1SvrgG_field textarea:disabled{opacity:.68}._1SvrgG_privacy{color:#6c6a64;margin:.9rem 0 0;font-size:.75rem;line-height:1.6}._1SvrgG_actions{flex-wrap:wrap;align-items:center;gap:.65rem 1rem;margin-top:1rem;display:flex}._1SvrgG_submit,._1SvrgG_again{color:#fff;cursor:pointer;min-height:2.75rem;font:inherit;background:#171715;border:1px solid #171715;border-radius:2px;justify-content:center;align-items:center;gap:.35rem;padding:.55rem .85rem;font-size:.82rem;transition:background-color .14s,color .14s,opacity .14s;display:inline-flex}._1SvrgG_submit:hover:not(:disabled),._1SvrgG_again:hover{color:#171715;background:0 0}._1SvrgG_submit:disabled{cursor:wait;opacity:.58}._1SvrgG_submit:focus-visible,._1SvrgG_again:focus-visible{outline-offset:3px;outline:2px solid #77736a}._1SvrgG_feedback{color:#8b3328;flex:12rem;min-height:1.5em;margin:0;font-size:.8rem;line-height:1.5}._1SvrgG_success{width:min(100%,36rem);margin-top:1.5rem}._1SvrgG_success p{color:#45443f;margin:0;font-size:1rem;line-height:1.7}._1SvrgG_again{color:#171715;background:0 0;margin-top:1rem}._1SvrgG_trap{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (max-width:600px){._1SvrgG_form,._1SvrgG_success{margin-top:1.25rem}._1SvrgG_field{margin-top:1rem}._1SvrgG_field textarea{min-height:7.5rem}}
:root{--gen-line:#9a9a9a;--gen-strong:#6c6c6c;--gen-ink:#0d0d0d52;--gen-surface:#fff;--gen-text:#0d0d0d;--gen-muted:#8b8b8b;--gen-dot:2.1px;--gen-font:"Roboto Mono", ui-monospace, SFMono-Regular, Menlo, monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--gen-line:#6f6f6f;--gen-strong:#a3a3a3;--gen-ink:#f5f5f54d;--gen-surface:#181818;--gen-text:#f2f2f2;--gen-muted:#8f8f8f}}[data-theme=dark]{--gen-line:#6f6f6f;--gen-strong:#a3a3a3;--gen-ink:#f5f5f54d;--gen-surface:#181818;--gen-text:#f2f2f2;--gen-muted:#8f8f8f}.t-gen{z-index:2147483000;pointer-events:none;position:absolute}.t-gen-svg{position:absolute;top:0;left:0;overflow:visible}.t-gen-dot{fill:var(--gen-ink)}.t-gen-dot.is-lit{fill:var(--gen-strong)}.t-gen-wireframe{stroke-width:var(--gen-dot)}.t-gen-wire{fill:none;stroke:var(--gen-line);stroke-linecap:round;stroke-linejoin:round}.t-gen-guide{fill:none;stroke:var(--gen-line);stroke-width:1.6px;stroke-linecap:round}.t-gen-guide--dashed,.t-gen-guide--scan{stroke-dasharray:0 5}.t-gen-head,.t-gen-flyer{fill:var(--gen-strong)}.t-gen-handle{fill:var(--gen-surface);stroke:var(--gen-strong);stroke-width:1px}.t-gen-reticle{fill:none;stroke:var(--gen-strong);stroke-width:1.2px;stroke-linecap:round}.t-gen-glow-stop{stop-color:var(--gen-line)}.t-gen-label{font-family:var(--gen-font);fill:var(--gen-line);letter-spacing:.02em;font-size:9px}.t-gen-label--small{fill:var(--gen-strong);font-size:7.5px}.t-gen-label--tag{fill:var(--gen-strong);letter-spacing:.05em;text-transform:uppercase;font-size:7.5px}.t-gen-panel{font-family:var(--gen-font);color:var(--gen-muted);letter-spacing:.03em;white-space:pre;opacity:0;font-size:7.5px;line-height:11px;position:absolute;top:0;overflow:hidden}.t-gen-panel--log{text-align:right}.t-gen-panel--below{text-align:center;top:calc(100% + 56px);left:0;right:0}.t-gen-panel-head{color:var(--gen-text);letter-spacing:.08em;background:radial-gradient(circle, var(--gen-line) .6px, transparent .9px) 0 100% / 4px 2px repeat-x;margin-bottom:4px;padding-bottom:4px}.t-gen-panel-foot{color:var(--gen-text);opacity:.6;letter-spacing:.08em;margin-top:6px}.t-gen-panel b{font-weight:inherit;color:var(--gen-text);opacity:.75}.t-gen-panel em{opacity:.6;font-style:normal}.t-gen-panel .is-comment{color:var(--gen-text);opacity:.9;letter-spacing:.06em}.t-gen-panel .is-selector{color:var(--gen-text);opacity:.75}.t-gen-steps{height:18px;position:absolute;top:calc(100% + 28px);left:50%}.t-gen-step{white-space:nowrap;opacity:0;font-family:var(--gen-font);color:var(--gen-muted);align-items:center;gap:8px;font-size:11px;line-height:18px;display:flex;position:absolute;top:0;left:0}.t-gen-step i{background:var(--gen-line);border-radius:50%;width:6px;height:6px;animation:.56s ease-in-out infinite alternate t-gen-pulse}.t-gen-step.is-done i{animation:none}@keyframes t-gen-pulse{0%{transform:scale(.6)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.t-gen{display:none}}
.VJXjCG_character{position:relative}.VJXjCG_character[data-scramble]{color:#0000}.VJXjCG_character[data-scramble]:after{content:attr(data-scramble);text-align:center;color:#77736a;width:100%;font:inherit;letter-spacing:inherit;position:absolute;inset:auto auto auto 0}.VJXjCG_accessible{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}
.--B8ha_frame.--B8ha_frame{isolation:isolate;--gen-line:#9a9a9a;--gen-strong:#6c6c6c;--gen-ink:#0d0d0d52;--gen-surface:#f4f4f1;--gen-text:#0d0d0d;--gen-muted:#8b8b8b;background:0 0;overflow:visible}.--B8ha_surface{background:var(--image-background);opacity:1;display:block;position:absolute;inset:0;overflow:hidden}.--B8ha_frame[data-reveal-pending] .--B8ha_surface{opacity:0}.--B8ha_frame[data-reveal-started] .--B8ha_surface{opacity:1}.--B8ha_frame .t-gen-label{display:none}
.DwjeUG_desktop{color:#fff;font-optical-sizing:none;font-variation-settings:"opsz" 13;-webkit-font-smoothing:antialiased;background:#4d7eb1;width:100%;height:100%;font:24px/1.2 system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;position:relative;overflow:hidden}.DwjeUG_desktop *,.DwjeUG_desktop :before,.DwjeUG_desktop :after{box-sizing:border-box}.DwjeUG_wallpaper{pointer-events:none;background:linear-gradient(#0a284b12,#0a284b12),url(/images/hero-islands-2400.webp) 50%/cover;position:absolute;inset:0}.DwjeUG_menubar{color:#fff;text-shadow:0 1px 2px #16394b40;background:#183b5814;justify-content:space-between;align-items:center;height:30px;padding:0 18px;font-size:14px;font-weight:400;line-height:1;display:flex;position:absolute;inset:0 0 auto}.DwjeUG_appMenus{white-space:nowrap;align-items:center;gap:12px;max-width:420px;display:flex}.DwjeUG_appMenus strong{font-weight:600}.DwjeUG_brand{background:currentColor;flex:none;width:15px;height:19px;-webkit-mask:url(/models/taketo-f-wing-b.png) 50%/contain no-repeat;mask:url(/models/taketo-f-wing-b.png) 50%/contain no-repeat}.DwjeUG_clock{font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto}.DwjeUG_clock time{gap:10px;display:flex}.DwjeUG_files{--folder-width:138px;--folder-height:150px;--column-gap:20px;--row-gap:14px;--initial-top:20px;pointer-events:none;position:absolute;inset:54px 12px 14px}.DwjeUG_files a{width:var(--folder-width);height:var(--folder-height);left:calc(100% - 20px - var(--folder-width) - var(--column) * (var(--folder-width) + var(--column-gap)));top:calc(var(--initial-top) + var(--row) * (var(--folder-height) + var(--row-gap)));pointer-events:auto;touch-action:pan-y pinch-zoom;-webkit-user-select:none;user-select:none;min-width:0;color:inherit;font:inherit;font-variation-settings:inherit;cursor:grab;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:8px;flex-direction:column;align-items:center;gap:3px;margin:0;padding:6px 0;font-size:23px;font-weight:400;text-decoration:none;display:flex;position:absolute}.DwjeUG_icon{border-radius:6px;flex:none;width:100px;height:100px;display:block}.DwjeUG_icon svg{pointer-events:none;width:100%;height:100%;display:block}.DwjeUG_label{white-space:nowrap;letter-spacing:normal;text-shadow:0 1px 2px #102a4b99;border-radius:5px;padding:3px 8px}.DwjeUG_files a:hover .DwjeUG_icon{background:#ffffff20}.DwjeUG_files a:hover .DwjeUG_label,.DwjeUG_files a:focus-visible .DwjeUG_label{background:#175bbbe0}.DwjeUG_files a:focus-visible,.DwjeUG_files a[data-pointer-focus=true],.DwjeUG_files a[data-dragging=true]{outline:none}.DwjeUG_files a[data-dragging=true]{z-index:2;cursor:grabbing}.DwjeUG_files a[data-dragging=true] .DwjeUG_label{background:#175bbbe0}.DwjeUG_srOnly{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media (max-width:640px),(pointer:coarse){.DwjeUG_files a{cursor:pointer}.DwjeUG_dragHelp{display:none}}@media (max-width:640px){.DwjeUG_menubar{height:40px;padding:0 24px;font-size:24px}.DwjeUG_appMenus{gap:20px}.DwjeUG_brand{width:22px;height:26px}.DwjeUG_files{--folder-width:184px;--folder-height:180px;--column-gap:18px;--row-gap:6px;--initial-top:6px;inset:74px 14px 14px}.DwjeUG_files a{padding:5px 0;font-size:32px}.DwjeUG_icon{width:120px;height:120px}.DwjeUG_label{padding:4px 10px}}
