html,body,#app{color:#111;background:#fff;width:100%;height:100%;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden}canvas{background:0 0;display:block}button,a{font:inherit}a{color:inherit;text-decoration:none}.ui{z-index:2;pointer-events:none;position:fixed;inset:0}.ui.is-hidden{opacity:0;pointer-events:none}.top-nav{pointer-events:auto;gap:18px;display:flex;position:absolute;top:34px;right:42px}.about,.index-toggle{color:#2448ff;cursor:pointer;background:0 0;border:0;border-radius:0;min-height:38px;padding:0;font-size:16px;font-weight:400}.about:hover,.about:focus-visible,.index-toggle:hover,.index-toggle:focus-visible{color:#2448ff;outline:none;text-decoration:underline}.about-card{opacity:0;pointer-events:none;text-align:left;background:#fffffff0;border:1px solid #2448ff;justify-content:space-between;align-items:flex-start;gap:40px;width:min(620px,100vw - 96px);min-height:260px;padding:24px;transition:opacity .18s,transform .18s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-46%)}.about-card.is-open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)}.about-close{color:#2448ff;cursor:pointer;background:0 0;border:0;flex:none;order:2;padding:0;font-size:14px;font-weight:400}.about-close:hover,.about-close:focus-visible{outline:none;text-decoration:underline}.about-card h2{color:#2448ff;max-width:15em;margin:0;font-size:16px;font-weight:400;line-height:1.12}.about-card p{color:#2448ff;max-width:32ch;margin:15px 0 0;font-size:16px;line-height:1.18}.project-strip{opacity:0;pointer-events:none;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;width:min(360px,100vw - 420px);min-height:86px;transition:opacity .22s,transform .22s;display:flex;position:absolute;bottom:168px;left:50%;transform:translate(-50%)translateY(14px)}.project-strip.is-visible{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)}.project-title{color:#2448ff;cursor:default;background:0 0;border:0;padding:0;font-size:20px;font-weight:400;line-height:1.12}.view-project{color:#2448ff;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:0;align-items:center;min-height:30px;padding:0;font-size:16px;font-weight:400;display:inline-flex}.view-project:hover,.view-project:focus-visible{outline:none;text-decoration:underline}.dock{opacity:0;pointer-events:none;background:#fffffff0;border:1px solid #2448ff;width:min(420px,100vw - 96px);padding:24px;transition:opacity .18s,transform .18s;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-46%)}.dock.is-open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)}.index-close{color:#2448ff;cursor:pointer;background:0 0;border:0;margin:0 0 26px auto;padding:0;font-size:14px;font-weight:400;display:block}.index-list{gap:10px;display:grid}.dock button{color:#2448ff;cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:0;border-radius:0;min-height:36px;padding:0;font-size:16px;font-weight:400}.dock button.is-active,.dock button:hover,.dock button:focus-visible{color:#2448ff;outline:none;text-decoration:underline}.detail{z-index:4;opacity:0;pointer-events:none;background:#fff;transition:opacity .22s,transform .22s;position:fixed;inset:0;overflow:hidden auto;transform:translateY(12px)}.detail.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.detail-inner{width:100%;margin:0 auto;padding:0 0 76px}.back{color:#2448ff;background:0 0;border:0;border-radius:0;align-items:center;min-height:0;padding:0;font-size:28px;font-weight:400;display:inline-flex;position:absolute;top:360px;right:24px}.back:before{content:"("}.back:after{content:")"}.detail header{color:#2448ff;grid-template-columns:minmax(260px,.85fr) minmax(420px,1fr);align-content:start;gap:92px;width:calc(100vw - 64px);max-width:none;min-height:360px;margin:0;padding:14px 24px 24px 40px;display:grid}.detail-meta{color:#2448ff;grid-column:1;margin:42px 0 0;font-size:28px;font-weight:400;line-height:1.12}.detail h1{grid-area:1/1;margin:0;font-size:28px;font-weight:400;line-height:1.12}.detail-summary{color:#2448ff;grid-area:1/2/span 2;max-width:780px;margin:0;font-size:28px;line-height:1.12}.hero,.media-card{background:#f8f8f8;border:1px solid #1111111a;place-items:center;min-height:520px;display:grid}.hero img,.media-card img,.media-card video{object-fit:contain;max-width:86%;max-height:460px;display:block}.detail-body{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;width:min(1120px,100vw - 40px);margin:0 auto;padding:54px 0;display:grid}.detail-body h2{color:#2448ff;margin:0 0 12px;font-size:16px;font-weight:400}.detail-body p{color:#2448ff;margin:0;font-size:20px;line-height:1.18}.media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;width:min(1120px,100vw - 40px);margin:0 auto;display:grid}.detail.is-black-gallery{color:#2448ff;background:#fff}.detail.is-black-gallery .back,.detail.is-black-gallery header,.detail.is-black-gallery .detail-meta,.detail.is-black-gallery .detail-summary,.detail.is-black-gallery .detail-meta,.detail.is-black-gallery h1,.detail.is-black-gallery .detail-summary{color:#2448ff}.detail.is-black-gallery .hero,.detail.is-black-gallery .detail-body{display:none}.detail.is-black-gallery .media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:min(82vw,1120px);margin:0 auto;display:grid}.detail.is-black-gallery .media-card{background:#fff;border:0;min-height:0;margin:0}.detail.is-black-gallery .media-card.is-after-gif{background:#fff;position:relative}.detail.is-black-gallery .media-card.is-wide{grid-column:1/-1;min-height:92vh}.detail.is-black-gallery .media-card.is-wide:not(.is-after-gif){grid-template-rows:1fr;display:grid}.detail.is-black-gallery .slideshow-card{grid-column:1/-1;grid-template-rows:1fr auto;gap:10px;min-height:92vh;display:grid}.slideshow-image{place-items:center;min-height:0;display:grid}.slideshow-controls{color:#2448ff;justify-content:center;align-items:center;gap:18px;font-size:16px;display:flex}.slideshow-controls button{color:#2448ff;cursor:pointer;font:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0}.slideshow-controls button:hover,.slideshow-controls button:focus-visible{outline:none;text-decoration:underline}.detail.is-black-gallery .media-card img{object-fit:contain;width:100%;max-width:none;max-height:none}.detail.is-black-gallery .media-card.is-wide img,.detail.is-black-gallery .slideshow-card img{object-fit:contain;width:100%;max-width:100%;max-height:82vh}@media (width<=760px){html,body,#app,.detail,.detail-inner{max-width:100%;overflow-x:hidden}.top-nav{gap:14px;top:16px;right:18px}.about,.index-toggle{min-height:32px;font-size:15px}.about-card,.dock{width:calc(100vw - 64px);max-height:calc(100dvh - 96px);padding:18px;overflow-y:auto}.about-card{gap:22px;min-height:0;display:grid}.about-close{order:0;justify-self:end}.about-card h2{max-width:none;font-size:16px}.about-card p{font-size:15px}.dock button{min-height:30px;font-size:16px}.project-strip{gap:8px;width:auto;min-height:66px;bottom:118px;left:18px;right:18px;transform:translateY(14px)}.project-strip.is-visible{transform:translateY(0)}.project-title{font-size:18px}.view-project{font-size:15px}.detail-inner{padding-bottom:48px}.back{z-index:1;font-size:18px;top:18px;right:18px}.detail header{grid-template-columns:1fr;gap:22px;width:auto;min-height:0;padding:18px 18px 36px}.detail h1,.detail-meta,.detail-summary{grid-area:auto;font-size:22px}.detail-meta{margin:0}.detail-summary{max-width:none}.hero,.media-card{min-height:360px}.hero img,.media-card img,.media-card video{max-width:92%;max-height:320px}.detail-body,.media-grid{grid-template-columns:1fr;width:min(100%,100vw - 36px)}.detail-body{gap:28px;padding:36px 0}.detail-body p{font-size:17px}.detail.is-black-gallery .media-grid{grid-template-columns:1fr;gap:28px;width:min(100%,100vw - 36px)}.detail.is-black-gallery .media-card.is-wide,.detail.is-black-gallery .slideshow-card{min-height:0}.detail.is-black-gallery .media-card.is-wide img,.detail.is-black-gallery .slideshow-card img{width:100%;max-height:none}.detail.is-black-gallery .slideshow-card{gap:8px}.slideshow-image{display:block}.slideshow-controls{font-size:15px}}
