:root{color-scheme:dark;--ink:#edf0da;--muted:#b6bda9;--brass:#dac48d;--bg:#07110f;--serif:'Noto Serif JP',serif;--sans:'Noto Sans JP',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--bg);color:var(--ink);font:400 14px/1.8 var(--sans)}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid #f1d69a;outline-offset:5px}button{border:0}button:disabled{cursor:default}img{display:block;max-width:100%}.skip{position:fixed;top:-80px;left:20px;z-index:100;padding:10px;background:#18352b}.skip:focus{top:12px}
.lobby-header{position:absolute;z-index:3;top:0;left:0;right:0;height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,4vw,70px);background:linear-gradient(#06110fd9,transparent)}.brand{display:flex;align-items:center;gap:14px}.brand>span{font:30px 'Bebas Neue',sans-serif;letter-spacing:.05em;color:var(--brass)}.brand small{font-size:9px;letter-spacing:.23em;color:#c6cbbb}.lobby-header nav{display:flex;align-items:center;gap:26px;font-size:11px}.lobby-header button{background:none;color:var(--muted);font-size:10px;padding:8px 0}.lobby-header a:hover{color:var(--brass)}
.conservatory{position:relative;isolation:isolate;max-width:1800px;margin:auto;height:clamp(690px,66.667vw,1060px);min-height:690px;overflow:hidden;background:#08100e}.architecture{position:absolute;inset:-9px;background:url('../bg/interior-worlds-20260907.webp') center 47%/cover no-repeat;transform:translate3d(var(--px,0px),var(--py,0px),0);transition:transform .7s ease-out;z-index:-3}.conservatory:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(#030b0c80,transparent 30%,transparent 60%,#06100e80 90%,var(--bg)),linear-gradient(90deg,#02090835,transparent 25%,transparent 75%,#02090835)}.lobby-intro{position:absolute;top:110px;left:20px;right:20px;text-align:center;text-shadow:0 2px 25px #000}.eyebrow{font:400 11px/1.5 'Bebas Neue',var(--sans);letter-spacing:.3em;color:var(--brass);margin:0 0 16px}.lobby-intro h1{font:500 clamp(30px,3.1vw,48px)/1.6 var(--serif);letter-spacing:.15em;margin:0 0 12px}.lobby-intro>p:last-child{font-size:12px;color:#d2d6c2;letter-spacing:.12em;line-height:2}.mobile-break{display:none}
.doors{position:absolute;inset:33% 7% 14%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7%}.door{position:relative;display:flex;align-items:flex-end;justify-content:center;text-align:center;background:none;padding:0;min-width:0;border-radius:45% 45% 10px 10px;--light:239,180,85}.door-explore{--light:135,218,222}.door-create{--light:240,195,132}.portal{position:absolute;inset:0 3% 3%;border:1px solid transparent;border-radius:48% 48% 10px 10px;transition:background .5s,box-shadow .5s,border-color .5s;pointer-events:none}.door:hover .portal,.door:focus-visible .portal{background:linear-gradient(transparent 10%,rgba(var(--light),.06));border-color:rgba(var(--light),.25);box-shadow:inset 0 0 50px rgba(var(--light),.1),0 0 40px rgba(var(--light),.08)}.door-caption{position:relative;width:100%;padding:23px 10px 20px;border-top:1px solid rgba(var(--light),.35);background:linear-gradient(#0a17155e,#07120fe8 55%);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);border-radius:3px 3px 10px 10px;box-shadow:0 10px 40px #0003;transition:transform .4s,background .4s}.door:hover .door-caption,.door:focus-visible .door-caption{transform:translateY(-5px);background:linear-gradient(#152723ab,#091512f2)}.door-number{display:flex;align-items:center;justify-content:center;gap:10px;color:rgb(var(--light));font:14px var(--serif)}.door-number b{font:400 10px 'Bebas Neue',sans-serif;letter-spacing:.22em}.door strong{display:block;font:500 36px/1.6 var(--serif);letter-spacing:.18em;margin:7px 0}.door-description{display:block;color:#d2d8c7;font-size:12px;letter-spacing:.04em}.door-action{display:flex;justify-content:center;gap:24px;font-size:11px;letter-spacing:.07em;margin-top:15px;color:rgb(var(--light))}.room-guide{position:absolute;bottom:8%;width:100%;display:flex;align-items:center;justify-content:center;gap:20px;padding:0 16px;color:#b5c2af;font-size:11px;letter-spacing:.08em}.guide-line{width:45px;height:1px;background:#c6c59244}.scroll-note{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);display:flex;gap:15px;font-size:10px;letter-spacing:.12em;color:var(--muted)}
.atmosphere{position:absolute;inset:20% 10% 20%;z-index:-2;pointer-events:none}.mote{position:absolute;width:3px;height:3px;background:#e4d291;border-radius:50%;box-shadow:0 0 9px 2px #dfc16c55;opacity:0;animation:drift 10s linear infinite}.mote:nth-child(3n){background:#b6e9ea;box-shadow:0 0 8px #83d9e3}@keyframes drift{0%,100%{opacity:0;transform:translate(0,12px)}25%,70%{opacity:.5}90%{transform:translate(14px,-35px)}}body.still .mote{animation:none}body.still .architecture{transform:none;transition:none}body.still .door-caption{transition:none}
.program{max-width:1200px;margin:auto;padding:90px 45px 100px;display:grid;grid-template-columns:1fr 1.8fr;gap:65px;align-items:center}.section-intro h2{font:400 27px/1.7 var(--serif);margin:0 0 20px}.section-intro>p:last-child{color:var(--muted);font-size:12px;line-height:2.1}.film-feature{display:grid;grid-template-columns:1.15fr 1fr;padding:0;text-align:left;background:#13221c5c;border:1px solid #c1bc8e2b;border-radius:12px;overflow:hidden}.film-image{position:relative;min-height:240px;overflow:hidden}.film-image img{height:100%;width:100%;object-fit:cover;transition:transform .8s}.film-feature:hover img{transform:scale(1.035)}.film-play{position:absolute;inset:0;display:grid;place-items:center;color:#f2dfac;font-size:24px;background:#0002}.film-copy{padding:28px 23px;display:flex;flex-direction:column;justify-content:center}.film-copy .eyebrow{font-size:9px}.film-copy strong{font:400 25px var(--serif);margin-bottom:16px}.film-copy>span:not(.eyebrow){font-size:11px;color:var(--muted)}.film-copy .text-action{margin-top:24px;color:var(--brass)!important}.lobby-footer{border-top:1px solid #c3c59b20;max-width:1400px;margin:auto;padding:25px 45px 35px;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:11px}.lobby-footer p{font-family:var(--serif)}.lobby-footer p span{display:block;font:9px var(--sans);margin-top:8px;letter-spacing:.1em}
dialog{color:var(--ink);background:linear-gradient(140deg,#1a3029ed,#091411fa);border:1px solid #c7c29855;border-radius:18px;padding:32px;max-height:90svh;overflow:auto;width:min(820px,calc(100% - 32px));box-shadow:0 30px 100px #0008;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}dialog::backdrop{background:#010806b8;backdrop-filter:blur(9px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:18px}.dialog-header h2{font:400 28px var(--serif);margin:0}.dialog-header .eyebrow{font-size:10px;margin-bottom:8px}.close{flex:none;width:42px;height:42px;border:1px solid #c3c59b44;border-radius:50%;background:transparent;font-size:25px}.dialog-lead{font-size:12px;color:var(--muted);margin:23px 0}.screening-list{display:grid;grid-template-columns:1fr 1fr;gap:20px}.screening-film{text-align:left;background:#050e0b6b;border:1px solid #c3c59b26;border-radius:9px;overflow:hidden;padding:0}.screening-film img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.screening-film>span{display:flex;flex-direction:column;padding:18px}.screening-film small{color:var(--muted);font-size:10px}.screening-film strong{font:400 25px/2 var(--serif)}.screening-film em{font:400 11px var(--sans);color:var(--brass);margin-top:10px}.archive-link{display:block;margin-top:25px;font-size:11px;color:var(--muted)}.film-dialog{width:min(1000px,calc(100% - 24px))}.film-dialog video{display:block;width:100%;aspect-ratio:16/9;background:#000;margin-top:24px;border-radius:8px}.film-after{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);gap:20px}.film-after a{color:var(--brass)}.film-status{font-size:12px;color:#efd6a0}body:has(dialog[open]){overflow:hidden}
@media(min-width:1600px){.conservatory{height:1060px}.architecture{background-position:center 53%}.lobby-intro{top:140px}}
@media(max-width:900px){.lobby-header{height:70px;padding:0 20px}.brand small{display:none}.lobby-header nav{gap:17px;font-size:10px}.lobby-header button{font-size:9px}.conservatory{height:auto;min-height:0;padding:102px 20px 60px;overflow:hidden}.architecture{height:530px;inset:-5px -130px auto;background-position:center top;background-size:cover;opacity:1;transform:none}.conservatory:after{background:linear-gradient(#04100f70,transparent 150px,#07110f85 380px,var(--bg) 540px)}.lobby-intro{position:relative;inset:auto;margin-bottom:160px}.lobby-intro h1{font-size:29px;letter-spacing:.08em}.lobby-intro>p:last-child{font-size:11px}.lobby-intro .eyebrow{font-size:9px}.mobile-break{display:block}.doors{position:relative;inset:auto;display:grid;grid-template-columns:1fr;gap:14px}.door{border-radius:12px;min-height:165px;overflow:hidden;display:block;border:1px solid rgba(var(--light),.25);background:#101e18 url('../bg/interior-worlds-20260907.webp') 20% 57%/450% auto no-repeat}.door-explore{background-position:57% 57%}.door-create{background-position:95% 57%}.portal{display:none}.door-caption{display:grid;grid-template-columns:1fr auto;align-items:center;text-align:left;padding:22px 22px 22px 33%;border:0;border-radius:0;min-height:165px;background:linear-gradient(90deg,transparent,#07120fe8 32%,#07120ff5);backdrop-filter:none}.door:hover .door-caption,.door:focus-visible .door-caption{transform:none;background:linear-gradient(90deg,#07120f11,#11241fe8 32%,#07120ff5)}.door-number{grid-column:1/-1;justify-content:flex-start;font-size:12px}.door-number b{font-size:9px;letter-spacing:.15em}.door strong{grid-column:1;font-size:29px;margin:4px 0}.door-description{grid-column:1/-1;font-size:11px}.door-action{grid-column:1/-1;justify-content:flex-start;gap:18px;margin-top:12px}.room-guide{position:relative;bottom:auto;margin:25px 0 0;font-size:10px;padding:0;text-align:center}.guide-line{display:none}.scroll-note{bottom:12px;font-size:9px}.program{display:block;padding:55px 22px}.section-intro{margin-bottom:28px}.section-intro h2{font-size:26px}.film-feature{grid-template-columns:1fr 1fr}.film-image{min-height:230px}.film-copy{padding:20px 15px}.film-copy strong{font-size:23px}.film-copy .eyebrow{font-size:8px;letter-spacing:.1em}.lobby-footer{padding:20px 22px 30px;gap:20px;font-size:10px}.screening-list{grid-template-columns:1fr}.screening-film{display:grid;grid-template-columns:40% 1fr}.screening-film img{height:100%;aspect-ratio:auto;object-fit:cover}.screening-film strong{font-size:22px}.screening-film>span{padding:14px}.dialog-header h2{font-size:23px}dialog{padding:22px}.dialog-lead{font-size:11px}.film-dialog{padding:18px}.film-after{display:block;font-size:11px}.film-after a{display:block;margin-top:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.architecture{transform:none!important}}
.lobby-intro{isolation:isolate}.lobby-intro:before{content:"";position:absolute;z-index:-1;left:50%;top:-25px;bottom:-22px;width:min(730px,100%);transform:translateX(-50%);background:radial-gradient(ellipse,#07190ee8, #07190e65 48%,transparent 74%);pointer-events:none}.lobby-intro>p:last-child{color:#edf1db;text-shadow:0 1px 6px #000}.lobby-intro .eyebrow{color:#f2ddb0}@media(min-width:901px) and (max-height:800px){.doors{bottom:19%}}
.door,.portal{border-radius:8px}.door-pickup{position:absolute;top:-13px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#d7e4e9;color:#14333f;padding:3px 13px;border:1px solid #f7edc0;border-radius:20px;font:500 10px/1.7 var(--sans);letter-spacing:.05em}.door-explore .door-caption{border-top-color:#d8ecff;box-shadow:0 0 32px #97cded26;background:linear-gradient(#173d505c,#0c202de8 55%)}.door-explore .door-action{color:#e1f0ff;font-weight:600}.star-feature{border-color:#95c5d866;background:linear-gradient(120deg,#14262b,#112020)}.star-feature .film-image{min-height:270px}.star-feature .film-image img{object-position:50% 50%}.star-feature .text-action{display:block;line-height:1.8}.star-feature .film-play{background:none;text-shadow:0 0 20px #d7eeff;font-size:34px}.lobby-intro:before{background:radial-gradient(ellipse,#101d2ad9,#182b3b55 48%,transparent 74%)}@media(min-width:901px){.doors{left:7%;right:7%;gap:9%}.door strong{font-size:34px}.door-description{font-size:11px}}@media(max-width:900px){.door-pickup{top:7px;left:15px;transform:none;font-size:8px;padding:2px 8px}.door-explore .door-caption{background:linear-gradient(90deg,transparent,#112b3ee8 32%,#0d202cf5)}.star-feature{grid-template-columns:1fr}.star-feature .film-image{min-height:0;aspect-ratio:16/9}.star-feature .film-copy{padding:24px}.star-feature .film-copy strong{font-size:28px}.door-watch{background-position:18% 57%}.door-explore{background-position:50% 57%}.door-create{background-position:95% 57%}}
@media(min-width:901px){.door,.portal{border-radius:45% 45% 8px 8px}.lobby-intro:before{background:none}.conservatory:after{background:linear-gradient(#030b0c30,transparent 25%,transparent 65%,var(--bg)),linear-gradient(90deg,#02090818,transparent 20%,transparent 80%,#02090818)}}