#world{width:4400px;height:3300px}
.tile:hover,.tile:focus-visible{transform:scale(1.035)}
nav{justify-self:end;display:flex;gap:14px}nav button{opacity:.45}nav button.active{opacity:1;text-decoration:underline;text-underline-offset:4px}
#indexView{position:fixed;inset:0;z-index:20;background:#f7f7f4;color:#111;display:grid;grid-template-columns:15% 85%;visibility:hidden;opacity:0;transition:opacity .3s}.index-mode #indexView{visibility:visible;opacity:1}.index-mode .hint,.index-mode .counter,.index-mode #caption{display:none}.index-mode header{mix-blend-mode:normal;color:#111}
#indexList{padding:86px 18px 28px 24px;border-right:1px solid #111;overflow-y:auto;scrollbar-width:none}#indexList::-webkit-scrollbar{display:none}#indexList h3{font-size:10px;letter-spacing:.14em;margin:32px 0 10px;opacity:.45}.index-item{display:block;width:100%;padding:2px 0;border:0;background:0;text-align:left;font:500 12px/1.15 'DM Sans';letter-spacing:-.02em;cursor:pointer;color:#111;transition:padding .2s}.index-item:hover,.index-item.active{padding-left:9px}.index-item.active:before{content:'→';position:absolute;margin-left:-10px}
#indexPreview{height:100vh;overflow:hidden;padding:74px 26px 26px;display:grid;place-items:center;background:#fff}.index-visual{max-width:78%;max-height:78%;position:relative}.index-visual img{display:block;max-width:100%;max-height:72vh}.index-visual span{display:flex;justify-content:space-between;margin-top:9px;text-transform:uppercase;font:600 12px 'DM Sans'}.index-visual i{font-style:normal;font-weight:500;opacity:.5}.still-preview{max-width:76%;max-height:82vh;object-fit:contain}.about-preview{display:grid;grid-template-columns:minmax(250px,40%) 1fr;gap:5vw;align-items:center;max-width:1100px}.about-preview img{width:100%;max-height:76vh;object-fit:cover}.about-preview h1{font-size:clamp(2rem,4vw,5rem);letter-spacing:-.06em;margin:0 0 30px}.about-preview p{max-width:610px;font-size:clamp(15px,1.2vw,20px);line-height:1.35}.about-preview a{display:inline-block;margin-top:25px;color:inherit;font-size:12px}
@media(max-width:700px){header>span{display:none}nav{gap:8px}#indexView{grid-template-columns:42% 58%}#indexList{padding:72px 10px 20px 16px}.index-item{font-size:11px}#indexPreview{padding:70px 12px 12px}.about-preview{display:block}.about-preview img{max-height:40vh}.about-preview h1{font-size:24px;margin:14px 0}.about-preview p{font-size:12px}.index-visual,.still-preview{max-width:100%}}
