:root{--bg:#ffffff;--ink:#0a0a0a;--sub:#6b6b6b;--line:#e2e2e2;--accent:#e6007e;--pad:clamp(16px,4vw,56px);--font:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}*{box-sizing:border-box;border-radius:0!important;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font);line-height:1.5;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}h1,h2,h3{font-weight:800;letter-spacing:-.01em;line-height:1.02}.mast{display:flex;justify-content:space-between;align-items:baseline;gap:.5em;padding:2px 5px 3px;border-bottom:1px solid var(--line);flex-wrap:nowrap;position:sticky;top:0;z-index:60;background:var(--bg);transition:background .22s ease}.mast a{font-weight:800;font-size:clamp(14px,5.5vw,200px);letter-spacing:-.03em;line-height:1;white-space:nowrap;transition:background .14s ease,color .14s ease,opacity .22s ease;padding:.01em 0}.mast a.on{color:transparent;-webkit-text-stroke:.05em var(--ink);paint-order:stroke}.mast a:hover{background:var(--ink);color:var(--bg);-webkit-text-stroke:0}.mast.stuck{background:#ffffff4d;backdrop-filter:blur(18px) saturate(180%);-webkit-backdrop-filter:blur(18px) saturate(180%);box-shadow:0 2px 14px #0a0a0a0d}.mast.stuck a:not(.on){opacity:0;pointer-events:none}.mast.stuck:hover{background:#ffffffe6;backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%)}.mast.stuck:hover a:not(.on){opacity:1;pointer-events:auto}.rail{padding:4px 0 0}.rail h2{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--sub);padding:0 var(--pad);margin-bottom:6px;font-weight:800}.rail h2 b{color:var(--ink)}.track{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px 14px;padding:16px var(--pad) 26px}.tile{transition:transform .26s ease;will-change:transform}.tile .thumb{aspect-ratio:4/3;overflow:hidden;background:#e9e9e9}.tile .thumb img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(.98);transition:filter .3s ease,transform .5s ease}.tile:hover{transform:scale(1.05);position:relative;z-index:5}.tile:hover .thumb img{filter:none;transform:scale(1.02)}.termlist{display:flex;flex-wrap:wrap;gap:10px}.chip{border:1px solid var(--ink);padding:7px 12px;font-weight:800;font-size:14px}.chip:hover{background:var(--ink);color:#fff}.chip .n{color:var(--sub);font-weight:700;margin-left:6px;font-size:12px}.chip:hover .n{color:#bbb}footer{padding:48px var(--pad);border-top:1px solid var(--line);color:var(--sub);font-size:12px;margin-top:40px}.d-hero{position:relative;height:min(66vh,620px);background:#111;overflow:hidden}.wrap{max-width:1120px;margin:0 auto;padding:0 var(--pad)}.back{display:inline-block;margin:22px 0 6px;padding:4px 8px;font-weight:800;font-size:13px;letter-spacing:.04em;transition:background .14s ease,color .14s ease}.back:hover{background:var(--ink);color:var(--bg)}.cols{display:grid;grid-template-columns:1.7fr 1fr;gap:40px;margin:34px 0}@media(max-width:760px){.cols{grid-template-columns:1fr;gap:22px}}.cols .body{font-size:16px;line-height:1.75;white-space:pre-wrap}.aside h3{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--sub);margin-bottom:8px}.aside .block{margin-bottom:22px}.credit{font-size:14px;line-height:1.8}.credit .lbl{color:var(--sub);font-weight:800;font-size:11px;letter-spacing:.05em;text-transform:uppercase;display:block;margin-bottom:4px}.masonry{columns:3 300px;column-gap:16px;padding:20px 0}@media(max-width:640px){.masonry{columns:1}}.masonry .card{break-inside:avoid;margin-bottom:16px;border:1px solid var(--line)}.masonry .card img{width:100%}.masonry .card .meta2{padding:8px 10px}.masonry .card .pj{font-size:12px;font-weight:800}.masonry .card .cp{font-size:12px;color:var(--sub);margin-top:2px;line-height:1.5}.pagehead{padding:40px var(--pad) 0}.pagehead .kick{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--sub);font-weight:800}.pagehead h1{font-size:clamp(30px,6vw,64px);margin-top:6px}#works:has(.tile:hover) .tile{opacity:.3;transition:opacity .25s ease}#works:has(.tile:hover) .tile:hover{opacity:1}.tile:hover{transform:scale(1.08);z-index:6}.tile:hover .thumb img{filter:none}.homehero{display:block;position:relative;height:min(85vh,880px);overflow:hidden;background:#111}.homehero img{width:100%;height:100%;object-fit:cover}.tabs{display:flex;gap:14px;padding:2px var(--pad) 0;border-bottom:1px solid var(--line);margin-top:0;flex-wrap:wrap}.tabs button{font-family:inherit;font-weight:800;font-size:clamp(14px,1.9vw,20px);letter-spacing:-.01em;background:none;border:0;color:var(--sub);cursor:pointer;padding:9px 10px;border-bottom:3px solid transparent;transition:background .14s ease,color .14s ease,border-color .15s ease}.tabs button:hover{background:var(--ink);color:var(--bg)}.tabs button.active{color:var(--ink);border-bottom-color:var(--ink)}.tabs button.active:hover{color:var(--bg)}.tabpanel{display:none}.tabpanel.active{display:block}.tile .thumb{position:relative;aspect-ratio:4/3;overflow:hidden;background:#e9e9e9}.tile{position:relative}.tile .panel{position:absolute;left:0;right:0;top:100%;z-index:4;background:#fff;color:var(--ink);padding:12px 12px 13px;opacity:0;transform:translateY(-10px);pointer-events:none;box-shadow:0 14px 30px #00000029;transition:opacity .24s ease,transform .3s cubic-bezier(.2,.7,.2,1);will-change:transform,opacity}.tile:hover .panel{opacity:1;transform:translateY(0);pointer-events:auto}.tile .panel .pt{font-weight:800;font-size:14px;line-height:1.2;letter-spacing:-.01em}.tile .panel .pm{font-size:11px;color:var(--sub);margin-top:3px}.tile .panel .tm{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.tile .panel .tm span{font-size:10px;font-weight:800;border:1px solid var(--line);padding:1px 6px}.tile .panel .btn{display:inline-flex;align-items:center;gap:7px;margin-top:10px;background:var(--bg);color:var(--ink);border:1px solid var(--ink);font-size:11px;font-weight:800;letter-spacing:.04em;padding:6px 11px;transition:background .14s ease,color .14s ease}.tile .panel .btn:hover{background:var(--ink);color:var(--bg)}.homehero .hinfo{position:absolute;left:var(--pad);right:var(--pad);bottom:var(--pad);z-index:2;color:#fff;pointer-events:none;text-shadow:0 2px 16px rgba(0,0,0,.45)}.homehero .hinfo .row{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:8px}.homehero .hinfo .tag{border:1.5px solid #fff;padding:3px 12px;font-size:11px;font-weight:800;letter-spacing:.07em}.homehero .hinfo .rt{font-size:12px;font-weight:700;letter-spacing:.05em;opacity:.92;white-space:nowrap}.homehero .hinfo h2{font-size:clamp(28px,4.6vw,60px);font-weight:800;letter-spacing:-.02em;line-height:1}.homehero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:34%;pointer-events:none;background:linear-gradient(to top,#00000080,#0000)}.homehero{position:relative;height:min(85vh,880px);overflow:hidden;background:#111;display:block}.hslide{position:absolute;inset:0;opacity:0;transition:opacity .7s ease;pointer-events:none}.hslide.on{opacity:1;pointer-events:auto}.hslide img{width:100%;height:100%;object-fit:cover}.harrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:52px;height:52px;display:flex;align-items:center;justify-content:center;font-size:26px;line-height:1;font-weight:400;color:#fff;background:#ffffff1f;border:1px solid rgba(255,255,255,.55);cursor:pointer}.harrow:hover{background:#ffffff4d}.harrow.prev{left:18px}.harrow.next{right:18px}.homehero .hinfo .hnum{font-size:12px;font-weight:700;letter-spacing:.1em;white-space:nowrap}.homehero .hinfo .hnum b{font-weight:800}.homehero .hinfo .row{gap:12px}.homehero .hinfo .tag{white-space:nowrap;flex:0 0 auto}.homehero .hinfo .rt{max-width:46%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:0 1 auto;text-align:right}.homehero .hinfo .hnum{flex:0 0 auto}.tile .panel .pm{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.homehero .hinfo .topline{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin-bottom:8px}.homehero .hinfo .hnum{font-size:12px;font-weight:700;letter-spacing:.1em;white-space:nowrap;flex:0 0 auto}.homehero .hinfo .rt{max-width:none;overflow:visible;text-overflow:clip;white-space:normal;text-align:left;font-size:12px;font-weight:700;letter-spacing:.03em;flex:1 1 auto}.homehero .hinfo .htitle{display:block;width:100%;height:auto;overflow:visible;filter:drop-shadow(0 2px 12px rgba(0,0,0,.42))}.homehero .hinfo .htitle text{fill:#fff;font-weight:800;font-family:var(--font);letter-spacing:-.02em}.tcanvas{margin:6px var(--pad) 10px}.tframes{display:flex;align-items:center;gap:8px;padding:2px 0 14px;flex-wrap:wrap}.tframes button{font-family:inherit;font-weight:800;font-size:14px;letter-spacing:.02em;background:none;border:1px solid var(--ink);color:var(--ink);cursor:pointer;padding:6px 14px;transition:background .14s ease,color .14s ease}.tframes button:hover,.tframes button.on{background:var(--ink);color:var(--bg)}.tframes .tlegend{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:11px;color:var(--sub);font-weight:700;flex-wrap:wrap}.tframes .tlegend i{width:11px;height:11px;display:inline-block;margin-left:10px}#tsvg{display:block;width:100%;height:auto;background:#fff;touch-action:pan-y}#tsvg text{font-family:var(--font)}.tnode{cursor:pointer;transition:opacity .2s ease}.tnode circle{fill:#fff;stroke:var(--ink);stroke-width:1.2;transition:stroke .14s ease,stroke-width .14s ease}.tnode text{fill:var(--ink);font-weight:800;font-size:13px;pointer-events:none;transition:fill .14s ease}.tnode.hot circle{stroke:var(--accent);stroke-width:2.4}.tnode.hot text{fill:var(--accent)}#edges .tedge{fill:none;stroke:#cfcfcf;stroke-width:.8;opacity:.7;transition:opacity .2s ease,stroke .14s ease,stroke-width .2s ease}#edges .tedge.hot{stroke:var(--accent);opacity:1;stroke-width:1.6}.st{cursor:pointer;transition:opacity .2s ease}.st path{fill:none;stroke:#cfcfcf;stroke-width:2;stroke-linejoin:round;stroke-linecap:round;transition:stroke .14s ease}.st circle{fill:#fff;stroke:var(--ink);stroke-width:1}.st text{fill:var(--ink);transition:fill .14s ease}.st.hot path{stroke:var(--accent);stroke-width:2.6}.st.hot circle{fill:var(--accent);stroke:var(--accent)}.st.hot text{fill:var(--accent)}#tsvg.dim #nodes .tnode{opacity:.2}#tsvg.dim #nodes .tnode.hot{opacity:1}#tsvg.dim #edges .tedge{opacity:.06}#tsvg.dim #story .st{opacity:.13}#tsvg.dim #story .st.hot{opacity:1}#nodes,#edges{transition:opacity .35s ease}#story{opacity:0;transition:opacity .4s ease;pointer-events:none}#tsvg.showstory #nodes,#tsvg.showstory #edges{opacity:0;pointer-events:none}#tsvg.showstory #story{opacity:1;pointer-events:auto}.tprev{min-height:76px;border-top:1px solid var(--line);padding:12px 0 2px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tprev .hint{color:var(--sub);font-size:12px}.tprev .pv-h{font-weight:800;font-size:13px;margin-right:6px;white-space:nowrap}.tprev .pv-h span{color:var(--sub);font-weight:700;margin-left:4px;font-size:11px}.tprev img{width:64px;height:48px;object-fit:cover;filter:grayscale(1);transition:filter .2s ease}.tprev a:hover img{filter:none}@media(max-width:640px){.tframes .tlegend{width:100%;margin-left:0}}#axis text{font-family:var(--font)}#axis .ax{font-size:12px;fill:var(--sub);font-weight:700}#axis .axmain{font-size:14px;fill:var(--ink);font-weight:800;letter-spacing:.02em}#axis .axmode{font-size:12px;fill:var(--sub);font-weight:700}#story text{font-family:var(--font);font-size:12px;font-weight:800;pointer-events:none}:root{--ease:cubic-bezier(.22,.61,.36,1);--spring:cubic-bezier(.34,1.42,.64,1)}.tile{transition:transform .32s var(--spring)}.tile .panel{transition:opacity .24s var(--ease),transform .36s var(--spring)}.homehero .hslide{transition:opacity .7s var(--ease)}.chip,.tframes button{transition:background .14s var(--ease),color .14s var(--ease),transform .13s var(--spring)}.tabs button{transition:background .14s var(--ease),color .14s var(--ease),border-color .15s ease,transform .13s var(--spring)}.back,.tile .panel .btn{transition:background .14s var(--ease),color .14s var(--ease),transform .13s var(--spring)}.harrow{transition:background .15s ease,transform .13s var(--spring)}.chip:active,.tframes button:active,.tabs button:active,.back:active,.tile .panel .btn:active,.harrow:active{transform:scale(.95)}.tile:active{transform:scale(1.04)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}.d-hero{position:relative;height:min(72vh,720px);background:#111;overflow:hidden}.d-hero img{width:100%;height:100%;object-fit:cover}.d-hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:58%;pointer-events:none;background:linear-gradient(to top,#0000009e,#0000)}.d-info{position:absolute;left:var(--pad);right:var(--pad);bottom:var(--pad);z-index:2;color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.45)}.d-info .d-row{display:flex;align-items:baseline;gap:16px;margin-bottom:10px;flex-wrap:wrap}.d-info .d-tag{border:1.5px solid #fff;padding:3px 12px;font-size:11px;font-weight:800;letter-spacing:.07em;white-space:nowrap}.d-info .d-meta{font-size:12px;font-weight:700;letter-spacing:.05em;opacity:.92}.d-info h1{font-size:clamp(28px,5vw,66px);font-weight:800;letter-spacing:-.02em;line-height:1.02;color:#fff}.spec{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));border-top:1.5px solid var(--ink);margin:22px 0 6px}.spec .cell{padding:12px 16px 13px 0;border-bottom:1px solid var(--line)}.spec .k{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--sub);font-weight:800;margin-bottom:5px}.spec .v{font-weight:800;font-size:15px;line-height:1.35}.phase{margin:46px 0 8px}.phase .ph-h{border-top:1.5px solid var(--ink);border-left:0;padding:11px 0 0;margin-bottom:24px;display:flex;align-items:baseline;gap:12px}.phase .ph-h b{color:var(--ink);font-size:15px;font-weight:800;letter-spacing:.02em}.phase .ph-h span{color:var(--sub);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.plates{display:grid;grid-template-columns:repeat(2,1fr);gap:48px 34px;align-items:start}@media(max-width:640px){.plates{grid-template-columns:1fr;gap:32px}}.plate{display:block;text-align:left;background:none;border:0;padding:0;margin:0;cursor:zoom-in;font-family:inherit;width:100%}.plate.feat{grid-column:1/-1}.plate .pim{display:block;overflow:hidden;background:#f2f2f0}.plate .pim img{width:100%;height:auto;display:block;transition:transform .6s var(--ease)}.plate.feat .pim{display:flex;justify-content:center;background:#f7f7f5}.plate.feat .pim img{width:auto;max-width:100%;max-height:74vh}.plate:hover .pim img{filter:none}.plate:hover .pim img{transform:scale(1.05)}.plate .pcapwrap{display:flex;flex-direction:column;gap:3px;padding:10px 1px 0}.plate .ptag{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--sub)}.plate .pcap{font-size:13px;line-height:1.6;color:var(--ink)}.lb{position:fixed;inset:0;z-index:9999;background:#0c0c0cf0;display:flex;align-items:center;justify-content:center;padding:5vh 5vw;opacity:0;visibility:hidden;transition:opacity .26s var(--ease),visibility .26s ease}.lb.open{opacity:1;visibility:visible}.lb-fig{max-width:94vw;display:flex;flex-direction:column;align-items:center;gap:16px;margin:0}.lb-fig img{max-width:94vw;max-height:80vh;object-fit:contain;background:#111;transform:scale(.98);transition:transform .32s var(--spring),opacity .2s ease}.lb.open .lb-fig img{transform:scale(1)}.lb-fig figcaption{color:#e8e8e8;font-size:13px;max-width:760px;text-align:center;line-height:1.65}.lb button{position:fixed;background:none;border:0;color:#fff;cursor:pointer;font-weight:400;transition:color .14s ease,transform .13s var(--spring);line-height:1}.lb button:hover{color:var(--accent)}.lb button:active{transform:scale(.9)}.lb-close{top:16px;right:24px;font-size:36px}.lb-prev,.lb-next{top:50%;transform:translateY(-50%);font-size:46px;width:56px;height:80px}.lb-prev{left:12px}.lb-next{right:12px}.lb-prev:active,.lb-next:active{transform:translateY(-50%) scale(.9)}.harrow{width:54px;height:54px;color:#fff;background:#ffffff24;backdrop-filter:blur(8px) saturate(140%);-webkit-backdrop-filter:blur(8px) saturate(140%);border:1px solid rgba(255,255,255,.7);transition:background .16s var(--ease),color .16s var(--ease),border-color .16s var(--ease),transform .14s var(--spring)}.harrow svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.harrow:hover{background:#fff;color:#0a0a0a;border-color:#fff}.harrow:active{transform:translateY(-50%) scale(.9)}.harrow.prev{left:20px}.harrow.next{right:20px}*{-webkit-tap-highlight-color:transparent}.lb-close{top:max(16px,env(safe-area-inset-top))}@media(hover:none),(pointer:coarse){.tile .thumb img{filter:none}.tile:hover{transform:none}.tile:active{transform:scale(.985)}.tile .panel{position:static;opacity:1;transform:none;box-shadow:none;pointer-events:none;padding:11px 2px 2px}.tile .panel .btn{display:none}#works:has(.tile:hover) .tile{opacity:1}.mast.stuck a:not(.on){opacity:1!important;pointer-events:auto!important}.plate .pim img{filter:none}.plate:active .pim img{transform:scale(1.01)}.harrow:hover{background:#ffffff24;color:#fff;border-color:#ffffffb3}#tsvg{touch-action:manipulation}}.body-wrap .body.clamp{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6;line-clamp:6;overflow:hidden}.readmore{margin-top:14px;font-family:inherit;font-weight:800;font-size:13px;letter-spacing:.04em;background:none;border:0;color:var(--ink);cursor:pointer;padding:2px 0 3px;border-bottom:2px solid var(--ink);transition:color .14s var(--ease),border-color .14s var(--ease),transform .13s var(--spring)}.readmore:hover{color:var(--accent);border-color:var(--accent)}.readmore:active{transform:scale(.96)}.readmore[hidden]{display:none}.d-info{pointer-events:none}.credit .rolelead{font-weight:800;font-size:15px;letter-spacing:-.01em}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}
