:root{--black:#080c0c;--cream:#e9e3df;--gold:#bbae99;--yellow:#dfd77d;--ink:#171918}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#202222;color:var(--ink);font-family:'Noto Sans KR',sans-serif;font-weight:300}button,a{font:inherit}main{position:relative;width:min(100%,448px);margin:auto;overflow:hidden;background:var(--cream);box-shadow:0 0 70px #0008}.music{position:fixed;z-index:20;top:22px;margin-left:370px;border:1px solid #fff7;border-radius:20px;background:#08080888;color:#fff;padding:7px 10px;display:flex;gap:8px;align-items:center;font:500 9px Montserrat;letter-spacing:.15em}.music i{font-size:15px}.cover{height:100svh;min-height:760px;position:relative;color:#fff;background:#000;overflow:hidden}.cover>img{width:100%;height:100%;object-fit:cover;animation:heroReveal 6s 1.2s cubic-bezier(.2,.7,.25,1) both,zoom 8s ease-out both}@keyframes heroReveal{0%{opacity:0;clip-path:circle(0 at 50% 50%);filter:brightness(.35) blur(5px)}20%{filter:brightness(.75) blur(0)}45%{opacity:1}100%{opacity:1;clip-path:circle(78% at 50% 50%);filter:brightness(1) blur(0)}}@keyframes zoom{from{transform:scale(1.12)}to{transform:scale(1)}}.cover:after{content:'';position:absolute;inset:0;background:linear-gradient(#030606b8 0,#0000 38%,#04060620 50%,#030505e8 100%)}.grain{position:absolute;z-index:1;inset:0;opacity:.16;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}.cover-title{position:absolute;z-index:2;top:7%;width:100%;text-align:center}.cover-title small{font:500 9px Montserrat;letter-spacing:.45em}.cover-title h1{margin:12px 0 8px;font:500 50px/.82 'Playfair Display';letter-spacing:-.04em;text-shadow:0 2px 12px #000}.cover-title p{font:500 8px Montserrat;letter-spacing:.32em}.cover-names{position:absolute;z-index:2;bottom:145px;width:100%;display:flex;justify-content:center;gap:28px;text-align:center}.cover-names div{display:flex;flex-direction:column;gap:5px}.cover-names span{font:500 8px Montserrat;letter-spacing:.25em}.cover-names b{font-size:15px;font-weight:400}.cover-names i{font:italic 22px 'Playfair Display';color:var(--gold)}.cover-info{position:absolute;z-index:2;bottom:55px;width:100%;text-align:center;font-size:11px}.cover-info p{margin:7px}.scroll{position:absolute;z-index:2;bottom:15px;width:100%;text-align:center;font:500 7px Montserrat;letter-spacing:.25em}.scroll span{display:block;animation:bob 1.3s infinite}@keyframes bob{50%{transform:translateY(4px)}}.intro{opacity:0;animation:intro 1.3s .4s forwards}.cover-names{animation-delay:.9s}.cover-info{animation-delay:1.2s}@keyframes intro{to{opacity:1;transform:none}from{opacity:0;transform:translateY(15px)}}
.dark{background:var(--black);color:#fff;text-align:center}.invitation{position:relative;padding:70px 0 120px;min-height:700px}.film{width:210%;height:130px;display:flex;gap:4px;padding:14px 0;background:#111;border-top:8px dotted #dfd9cb;border-bottom:8px dotted #dfd9cb;transform:rotate(-7deg) translateX(-25%);overflow:hidden}.film div{min-width:500px;background:url('/images/cinema-wedding.png') center 58%/cover;filter:sepia(.25);animation:roll 15s linear infinite}.film-b{position:absolute;bottom:25px;transform:rotate(8deg) translateX(-20%)}.film-b div{background-position:center 75%;animation-direction:reverse}@keyframes roll{to{transform:translateX(-100%)}}.quote{padding:60px 25px 85px;font-size:12px;line-height:2.2}.quote .camera{display:block;width:44px;height:30px;object-fit:contain;margin:0 auto 25px}.quote small{display:block;color:#aaa;margin-top:18px}.quote strong{display:block;margin-top:35px;color:var(--yellow);font-weight:400}.showing{padding:95px 22px 130px;background:radial-gradient(circle at 50% 25%,#26221c 0,#0b0d0d 55%)}.showbox{position:relative;width:350px;height:565px;margin:auto;padding-top:142px;border:1px solid #61584b;background:linear-gradient(90deg,#181714,#302a21 3%,#121313 8%,#121313 92%,#302a21 97%,#181714);box-shadow:0 25px 45px #000}.showbox:before{content:'';position:absolute;z-index:2;top:-38px;left:17px;width:314px;height:185px;border-radius:50% 50% 8px 8px;background:repeating-radial-gradient(circle at 50% 100%,#e6c86b 0 3px,#342d23 4px 15px);clip-path:polygon(0 0,100% 0,92% 100%,8% 100%);animation:lights 1.6s infinite alternate}.show-sign{position:absolute;z-index:3;top:-13px;left:42px;width:266px;height:126px;padding:21px 20px 0;color:#f4e8c0;border:2px solid #ad9364;border-radius:48% 48% 6px 6px;background:#171714;box-shadow:inset 0 0 0 4px #2e291f}.show-sign small{display:block;font:500 7px Montserrat;letter-spacing:.28em;color:#ae9b72}.show-sign b{display:block;margin:8px 0 4px;font:600 24px 'Playfair Display';letter-spacing:.05em}.show-stars{color:#d9bd6b;font-size:8px}.poster{position:relative;width:220px;margin:0 auto;border:7px solid #080909;box-shadow:0 12px 30px #000}.poster img{display:block;width:100%;height:330px;object-fit:cover}.poster:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 50%,#000e)}.poster div{position:absolute;z-index:1;bottom:16px;width:100%}.poster small,.poster p{font:500 7px Montserrat;letter-spacing:.2em}.poster h2{margin:6px;font:italic 20px 'Playfair Display'}.showbox-foot{display:flex;align-items:center;gap:10px;justify-content:center;height:58px;color:#a99470;font:500 7px Montserrat;letter-spacing:.15em}.showbox-foot i{width:40px;height:1px;background:#6c5e48}@keyframes lights{from{filter:brightness(.65)}to{filter:brightness(1.35)}}
.paper{text-align:center;padding:110px 28px}.chapter{margin:0 0 12px;font:600 18px Montserrat;letter-spacing:.08em}.chapter:before{content:'✦';display:block;color:var(--gold);font-size:17px;margin-bottom:7px}.chapter.light{color:#fff}.paper>h2,.gallery>h2{font-size:16px;font-weight:400;margin:0 0 12px}.paper>p{font-size:12px;color:#655f5a}.countdown{margin:48px 0 25px;display:flex;justify-content:center;align-items:center;gap:6px}.countdown div{width:55px;height:80px;border-radius:3px;background:#171918;color:#fff;display:flex;flex-direction:column;justify-content:center}.countdown b{font:500 23px Montserrat}.countdown span{color:var(--gold);font:500 8px Montserrat}.countdown i{font-style:normal}.d-day b{color:#9b7959}.cast{background:#ded6d1}.cast-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:45px}.cast article{background:#ece6e1;padding:35px 8px;box-shadow:0 7px 22px #554a4020}.cast article>span{font:600 8px Montserrat;color:#8e7c65;letter-spacing:.18em}.cast article>b{display:block;font:500 22px 'Playfair Display';margin:10px}.cast article p{font-size:10px}.cast article a{display:inline-block;margin-top:10px;padding:6px 18px;border:1px solid #aaa;color:#555;text-decoration:none;font:500 8px Montserrat}
.ticket-section{perspective:800px}.ticket{display:flex;width:285px;height:460px;margin:45px auto 0;padding:0;border:0;background:#d8b783;color:#231d18;box-shadow:4px 12px 25px #29201530;cursor:pointer;transition:.8s;transform-style:preserve-3d}.ticket.flipped{transform:rotateY(180deg)}.ticket-side{width:50px;border-right:1px dashed #5e4937;writing-mode:vertical-rl;display:flex;justify-content:center;align-items:center;font:600 10px/2 Montserrat;letter-spacing:.14em}.ticket-main{flex:1;display:flex;flex-direction:column;text-align:left;padding:42px 25px;position:relative;background:linear-gradient(135deg,#e5c99b,#cda873)}.ticket-main small{font:600 8px Montserrat;letter-spacing:.2em}.ticket-main b{font:600 65px/.8 Montserrat;margin:55px 0 15px}.ticket-main em{font:500 10px Montserrat;font-style:normal;border-top:1px solid #6d563f;padding-top:12px}.ticket-main strong{margin-top:35px;font-size:12px}.ticket-main i{position:absolute;bottom:25px;font:500 10px Montserrat}.hint{font-size:10px!important}.gallery{padding:110px 0}.frames{display:flex;gap:8px;margin:40px 0;padding:18px;background:#171717;border-top:8px dotted #ddd;border-bottom:8px dotted #ddd;transform:rotate(-2deg);overflow-x:auto;scrollbar-width:none}.frames::-webkit-scrollbar{display:none}.frames button{min-width:185px;height:250px;border:0;background:url('/images/cinema-wedding.png') var(--p)/cover;filter:sepia(.35);cursor:pointer}
.location .map{height:220px;margin:35px -28px 0;background:#d6d0c4;position:relative;overflow:hidden;display:grid;place-items:center;font:600 10px Montserrat;letter-spacing:.12em}.map:before,.map:after{content:'';position:absolute;width:140%;height:20px;background:#eee;transform:rotate(-18deg)}.map:after{transform:rotate(58deg)}.map span,.map i{z-index:1}.map i{position:absolute;top:40%;font-size:30px;color:#8a6546}.map-links{display:flex;margin:0 -28px 35px}.map-links a{flex:1;padding:14px;border:1px solid #ddd;color:#333;text-decoration:none;font:500 9px Montserrat}.ways{text-align:left}.ways details{border-bottom:1px solid #ccc;padding:13px 0;font-size:11px}.ways summary{font:600 10px Montserrat;cursor:pointer}.account{background:#eee9e8}.account-tabs{display:flex;margin:42px 0 30px;border-bottom:2px solid #d7cdca}.account-tabs button{flex:1;padding:15px 0;border:0;border-bottom:2px solid transparent;margin-bottom:-2px;background:transparent;color:#aaa;font:500 12px 'Noto Sans KR',sans-serif;cursor:pointer}.account-tabs button.active{border-bottom-color:#b9a590;color:#2f2c2b}.account-panel{text-align:left}.account-panel[hidden]{display:none}.account-card{margin:0 10px 27px}.account-card p{display:flex;align-items:center;gap:10px;margin:0 0 11px;font-size:12px}.account-card p span{font-size:10px}.account-card p b{font-size:14px;font-weight:600}.account-card>div{min-height:42px;padding:13px 14px;border-radius:4px;background:#d9d1ce;box-sizing:border-box;color:#3f3a38;font-size:12px}.account-card>div.pending{color:#8c8582}.account-card button{float:right;padding:0;border:0;background:transparent;color:#34302e;font-size:17px;line-height:1;cursor:pointer}
footer{min-height:720px;padding:120px 30px 60px;background:#070909;color:#eee;text-align:center}footer small{font:500 8px Montserrat;letter-spacing:.3em;color:var(--yellow)}footer h2{font:600 34px Montserrat;letter-spacing:.08em;margin:50px 0 80px}footer p{font:300 11px/2.5 Montserrat;letter-spacing:.12em}footer button{margin-top:80px;border:1px solid #777;background:none;color:#fff;padding:13px 25px;font:500 9px Montserrat;letter-spacing:.13em}footer>span{display:block;margin-top:110px;color:#555;font:500 7px Montserrat}.reveal{opacity:0;transform:translateY(30px);transition:1s}.reveal.visible{opacity:1;transform:none}dialog{padding:0;border:0;background:#000;max-width:448px}dialog::backdrop{background:#000e}dialog img{width:100%;display:block}.close{position:absolute;right:8px;top:3px;border:0;background:none;color:#fff;font-size:30px}#toast{position:fixed;z-index:40;left:50%;bottom:30px;transform:translate(-50%,15px);background:#222;color:#fff;padding:10px 17px;font-size:11px;opacity:0;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}
body{background:#e9e3e3}main{width:min(calc(100% - 20px),448px);margin:12px auto 24px;border-radius:20px;box-shadow:0 8px 45px #6f626233}
/* Clean cinema showbox matching the reference layout */
.showing{padding:115px 0 130px;background:#080c0c}.showbox{position:relative;width:375px;height:555px;margin:auto;padding:135px 0 0;border:0;border-radius:0;background:#101212;box-shadow:none}.showbox:before{content:none}.show-sign{position:absolute;z-index:3;top:0;left:0;width:375px;height:125px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:0 0 34px #fff7;display:flex;align-items:center;justify-content:center;animation:showLight 1.5s linear infinite alternate}.show-sign:before{content:'';position:absolute;inset:23px 0;background-color:#f6f5ee;background-image:linear-gradient(#d7d5cc 1px,transparent 1px),linear-gradient(90deg,#d7d5cc 1px,transparent 1px);background-size:100% 28px,84px 100%;border-radius:3px;box-shadow:0 0 18px #fff}.show-sign b{position:relative;z-index:1;margin:0;color:#242424;font:500 36px Montserrat;letter-spacing:-.04em}.poster{width:90%;margin:0 auto;border:0;box-shadow:none}.poster img{height:395px;object-position:center 58%}.poster h2{font-size:23px}.poster small,.poster p{font-size:8px}.showbox-foot{display:none}@keyframes showLight{0%,35%{opacity:.68}20%,55%,100%{opacity:1}}.music.playing{border-color:#e6d47b;background:#17170fd9;color:#f5df74;box-shadow:0 0 16px #e9d86855}.music.playing i{animation:musicPulse 1s ease-in-out infinite}@keyframes musicPulse{50%{transform:scale(1.25)}}
/* Embedded venue map and always-open transportation guide */
.map-embed{position:relative;height:250px;margin:35px -28px 0;background:#ddd;overflow:hidden}.map-embed #naver-map{display:block;width:100%;height:100%}.naver-map-badge{position:absolute;z-index:10;right:10px;bottom:10px;padding:8px 11px;border-radius:3px;background:#03c75a;color:#fff;text-decoration:none;font:600 9px 'Noto Sans KR',sans-serif;box-shadow:0 2px 8px #0004}.transport-info{text-align:left;margin-top:36px}.transport-info h3{margin:32px 0 22px;padding-bottom:12px;border-bottom:1px solid #aaa;font-size:16px;font-weight:500}.transport-info article{padding:0 10px 20px}.transport-info article+article{padding-top:18px;border-top:1px dashed #bbb}.transport-info article b{font-size:13px;font-weight:500}.transport-info article p{margin:8px 0 0;color:#56514d;font-size:12px;line-height:1.8}
/* Horizontal, draggable, infinitely looping photo film */
.gallery{padding:110px 0;background:#080c0c;overflow:hidden}.gallery-guide{margin:10px 0 35px;color:#777;font-size:9px}.film-viewport{width:100%;overflow:hidden}.gallery .frames{display:flex;align-items:center;gap:10px;width:100%;margin:0;padding:16px 0;border-top:8px dotted #ddd;border-bottom:8px dotted #ddd;transform:none;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;cursor:default;touch-action:pan-y;user-select:none}.gallery .frames.dragging{cursor:default;scroll-behavior:auto}.gallery .frames::-webkit-scrollbar{display:none}.gallery .frames figure{flex:0 0 240px;width:240px;margin:0;background:#222;overflow:hidden;cursor:default}.gallery .frames figure:first-child{margin-left:10px}.gallery .frames img{display:block;width:100%;height:auto;object-fit:contain;pointer-events:none;-webkit-user-drag:none}
/* Minimal vertical cast credits matching the reference */
.cast{padding:95px 28px 110px;background:#e9e3e3}.cast .chapter{font-size:20px;font-weight:500;letter-spacing:0}.cast .chapter:before{content:'';width:40px;height:22px;margin:0 auto 10px;border:0;border-radius:0;display:block;background:url('/images/ic-title.png') center/40px 22px no-repeat}.cast-list{display:block;margin-top:62px}.cast-list article{padding:0;background:transparent;box-shadow:none}.cast-list article+article{margin-top:65px}.cast-list article p{margin:0 0 17px;font-size:12px;color:#363331}.cast-list article>b{display:block;margin:0;font-family:'Noto Sans KR',sans-serif;font-size:23px;font-weight:400}.cast-list .cast-en{display:block;margin-top:8px;color:#b9ad9d;font:600 16px Montserrat;letter-spacing:-.035em}
/* Reference-style compact NOW SHOWING showcase */
.showing{padding:85px 0 120px;background:#e9e3e3}.showbox{width:300px;height:445px;padding-top:102px;border:4px solid #171817;border-radius:5px;background:linear-gradient(#3b3a37,#232321);box-shadow:none}.show-sign{top:-4px;left:-4px;width:300px;height:50px;border:4px solid #171817;border-radius:5px;padding:0;background:#f6f5ed;box-shadow:0 8px 18px #0008;animation:none}.show-sign:before{inset:0;background-color:#f6f5ed;background-image:linear-gradient(#d7d5cc 1px,transparent 1px),linear-gradient(90deg,#d7d5cc 1px,transparent 1px);background-size:100% 20px,75px 100%;box-shadow:0 0 14px #fff;border-radius:1px}.show-sign b{font-size:29px;font-weight:400;letter-spacing:-.055em}.showbox .poster{width:215px;height:286px;margin:0 auto}.showbox .poster img{width:100%;height:100%;object-fit:cover;object-position:center}.showbox .poster:after{background:linear-gradient(#0001,#0002)}.poster-copy{display:flex;position:absolute!important;inset:0;z-index:2;align-items:center;justify-content:center;flex-direction:column;text-shadow:0 1px 8px #0008}.poster-copy small{position:absolute;top:10px;font-size:5px;letter-spacing:.2em}.poster-copy h2{margin:0!important;color:#ddec51;font:500 34px/.8 'Playfair Display'!important;letter-spacing:-.06em}.poster-copy p{position:absolute;bottom:8px;margin:0;font-size:6px;letter-spacing:.25em}
.show-sign{animation:showLight 1.5s linear infinite alternate}.show-sign b{font-weight:600}
/* Two-sided admission ticket */
.ticket{position:relative;display:block;background:transparent}.ticket-face{position:absolute;inset:0;display:flex;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:visibility .1s .35s}.ticket-front{background:#d8b783}.ticket-back{transform:rotateY(180deg);background:#111;color:#fff}.ticket-back>img{width:100%;height:100%;object-fit:cover}.ticket-back:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 48%,#000d)}.ticket-back>span{position:absolute;z-index:1;left:0;right:0;bottom:30px;display:flex;flex-direction:column;gap:8px;text-align:center}.ticket-back small{font:500 8px Montserrat;letter-spacing:.22em}.ticket-back b{font:italic 25px 'Playfair Display'}.ticket-back em{font:500 8px Montserrat;font-style:normal;letter-spacing:.12em}.ticket.flipped .ticket-front{visibility:hidden}.ticket.flipped .ticket-back{visibility:visible}@media(max-width:448px){.music{right:15px;margin:0}}@media(max-width:390px){.showbox{transform:scale(.92);margin:-20px auto;width:375px;left:50%;margin-left:-187.5px}.showing{padding-bottom:100px}}@media(max-width:340px){.cover-title h1{font-size:42px}.ticket{zoom:.9}.showbox{transform:scale(.82);margin-top:-45px;margin-bottom:-45px}}
.account-card>div,.account-card>div.pending{color:#000}.account-card button{color:#000;font-size:0}.account-card button img{display:block;width:16px;height:16px}
.ending-film{position:relative;width:min(347px,100%);aspect-ratio:347/261;margin:48px auto 85px;padding:10px;border:1px solid #74706b;box-sizing:border-box;background:#151717;box-shadow:0 0 0 5px #090b0b,0 0 0 6px #555;overflow:hidden}.ending-film:before,.ending-film:after{content:'';position:absolute;z-index:10;left:8px;right:8px;height:8px;background:repeating-linear-gradient(90deg,#d9d3c9 0 9px,transparent 9px 18px)}.ending-film:before{top:4px}.ending-film:after{bottom:4px}.ending-screen{position:relative;width:100%;height:100%;overflow:hidden;background:#080909}.ending-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%}.ending-frame.frame-two,.ending-frame.frame-three{transform:translateY(-105%)}.ending-film.playing .frame-two{animation:endingFrame .9s 1.4s cubic-bezier(.2,.75,.25,1) forwards}.ending-film.playing .frame-three{animation:endingFrame .9s 3.3s cubic-bezier(.2,.75,.25,1) forwards}.ending-screen:after{content:'';position:absolute;z-index:4;inset:0;background:linear-gradient(#0001,#0006);opacity:0}.ending-film.playing .ending-screen:after{animation:endingShade .8s 5s forwards}.ending-logo{position:absolute;z-index:5;left:50%;top:50%;display:flex;flex-direction:column;align-items:center;color:#f2e75d;text-shadow:0 3px 12px #000;opacity:0;transform:translate(-50%,-50%) scale(0) rotate(540deg);white-space:nowrap}.ending-logo span{font:italic 16px 'Playfair Display',serif}.ending-logo strong{font:italic 31px/.9 'Playfair Display',serif}.ending-logo i{font:700 20px Montserrat;font-style:normal;letter-spacing:.15em}.ending-film.playing .ending-logo{animation:endingLogo 1.5s 5.15s cubic-bezier(.15,.8,.25,1) forwards}@keyframes endingFrame{0%{transform:translateY(-105%)}70%{transform:translateY(7%)}100%{transform:translateY(0)}}@keyframes endingShade{to{opacity:1}}@keyframes endingLogo{0%{opacity:0;transform:translate(-50%,-50%) scale(0) rotate(540deg)}20%{opacity:1}100%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}}@media(prefers-reduced-motion:reduce){.ending-film.playing .frame-two,.ending-film.playing .frame-three{animation-duration:.01ms}.ending-film.playing .ending-screen:after,.ending-film.playing .ending-logo{animation-delay:.05s;animation-duration:.01ms}}
.ending-film{display:grid;place-items:center;width:calc(100% + 60px);max-width:none;aspect-ratio:448/420;margin:48px -30px 85px;padding:0;border:0;background:#070a0a;box-shadow:none}.ending-film:before,.ending-film:after{display:none}.ending-screen{width:70%;height:auto;aspect-ratio:1.42;border-radius:25px;background:#050707;box-shadow:0 0 18px 10px #070a0a;isolation:isolate}.ending-screen:before{content:'';position:absolute;z-index:7;inset:-1px;border-radius:25px;box-shadow:inset 0 0 20px 13px #070a0a;pointer-events:none}.ending-logo{z-index:8}@media(max-width:360px){.ending-screen{width:74%}}
.ending-film{display:block;width:min(347px,calc(100% - 30px));max-width:347px;aspect-ratio:347/261;margin:63px auto 100px;overflow:visible;background:#070a0a}.ending-film:before{content:'';display:block;position:absolute;z-index:10;left:-4.4%;top:-5.8%;width:108%;height:115.5%;background:url('/pictures/img_ending_frame.png') center/100% 100% no-repeat;pointer-events:none}.ending-film:after{display:none}.ending-screen{width:100%;height:100%;aspect-ratio:auto;border-radius:0;box-shadow:none}.ending-screen:before{display:none}.ending-logo{z-index:8}
.ending-film{display:block;width:min(347px,calc(100% - 30px));max-width:347px;aspect-ratio:347/261;margin:63px auto 100px;overflow:visible;background:#080c0d}.ending-film:before{content:'';display:block;position:absolute;z-index:10;left:-4.4%;top:-5.8%;width:108%;height:115.5%;background:url('/pictures/img_ending_frame.png') center/100% 100% no-repeat;pointer-events:none}.ending-film:after{display:none}.ending-screen{width:100%;height:100%;aspect-ratio:auto;border-radius:0;box-shadow:none}.ending-screen:before{display:none}.ending-logo{z-index:8}footer{background:#080c0d}
.cast-credits{width:100%;max-width:310px;margin:0 auto;color:#f5f5f3}.cast-credits h2{margin:0 0 44px;color:#fff;font:600 15px Montserrat;letter-spacing:0}.credit-row{display:grid;grid-template-columns:1fr 1.12fr;column-gap:15px;margin-bottom:23px;text-align:left}.credit-row>div:first-child{text-align:right}.credit-row span,.credit-row b{display:block;font:400 11px Montserrat;white-space:nowrap}.credit-row b{font-weight:600}.credit-row small,.credit-row strong{display:block;margin-top:8px;color:#d7d9d8;font:400 11px 'Noto Sans KR',sans-serif;letter-spacing:0}.credit-row strong{font-weight:500}.cast-credits+button{margin-top:72px}@media(max-width:350px){.cast-credits{max-width:285px}.credit-row{column-gap:12px}.credit-row span,.credit-row b,.credit-row small,.credit-row strong{font-size:10px}}
.ending-frame.frame-one{opacity:0}.ending-film.playing .frame-one{animation:endingFirst 1.8s .25s ease-in-out forwards}.ending-film.playing .frame-two{animation-delay:3.4s}.ending-film.playing .frame-three{animation-delay:7.3s}.ending-film.playing .ending-screen:after{animation-delay:9s}.ending-film.playing .ending-logo{animation-delay:9.15s}@keyframes endingFirst{from{opacity:0;filter:blur(5px);transform:scale(1.04)}to{opacity:1;filter:blur(0);transform:scale(1)}}
.ending-screen{background:#080c0d}
.cast-credits h2,.cast-credits .credit-row{opacity:0;transform:translateY(75px)}.cast-credits.playing h2{animation:creditRise 1.25s .1s cubic-bezier(.2,.72,.25,1) forwards}.cast-credits.playing .credit-row{animation:creditRise 1.35s cubic-bezier(.2,.72,.25,1) forwards}.cast-credits.playing .credit-row:nth-of-type(1){animation-delay:.3s}.cast-credits.playing .credit-row:nth-of-type(2){animation-delay:.48s}.cast-credits.playing .credit-row:nth-of-type(3){animation-delay:.66s}.cast-credits.playing .credit-row:nth-of-type(4){animation-delay:.84s}.cast-credits.playing .credit-row:nth-of-type(5){animation-delay:1.02s}.cast-credits.playing .credit-row:nth-of-type(6){animation-delay:1.2s}@keyframes creditRise{from{opacity:0;transform:translateY(75px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.cast-credits.playing h2,.cast-credits.playing .credit-row{animation-duration:.01ms;animation-delay:0s}}
.upblack-transition{position:relative;width:100%;margin:0;background:#e9e3e3;line-height:0;overflow:hidden}.upblack-transition img{display:block;width:100%;height:auto;margin:0}
.black-transition{position:relative;width:100%;margin:0;line-height:0;overflow:hidden}.black-transition img{display:block;width:100%;height:auto;margin:0}.black-transition.from-paper{background:var(--cream)}.black-transition.from-account{background:#eee9e8}
.account,.black-transition.from-account{background:#e9e3e3}.gallery-reveal{width:100%;background:#080c0c}
.calendar .chapter{font-size:19px}.calendar>h2{font-size:17px}.calendar>p{font-size:13px}.cast article p{font-size:13px}
.poster-copy h2{position:absolute;bottom:25px;margin:0!important}.music-ready{position:fixed;z-index:30;left:50%;top:50%;width:max-content;max-width:calc(100% - 50px);padding:13px 21px;border:1px solid #fff5;border-radius:25px;background:#080c0dcc;color:#fff;box-shadow:0 8px 30px #0007;transform:translate(-50%,-50%);font-size:12px;font-weight:400;letter-spacing:.02em;pointer-events:none;animation:musicReady 3.2s ease both}@keyframes musicReady{0%{opacity:0;transform:translate(-50%,-43%) scale(.96)}18%,68%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-57%) scale(.98);visibility:hidden}}
.ticket-main .ticket-venue{font-size:13px}
.ticket-back .ticket-couple{font-family:'Noto Sans KR',sans-serif;font-size:23px;font-style:normal;font-weight:500}
.map-links a{display:flex;align-items:center;justify-content:center;min-height:52px;padding:12px 10px 12px 36px;background-position:14px center;background-repeat:no-repeat;background-size:25px 25px;font-size:10px;font-weight:600;letter-spacing:.06em}.map-links a:first-child{background-color:#fee500;background-image:url('/pictures/kakaomap_basic.png');color:#191919}.map-links a:last-child{background-color:#fff;background-image:url('/pictures/naverMap.png');color:#1d1d1d}
.film-a div{min-width:260px;background-color:#111;background-position:center;background-size:contain;background-repeat:no-repeat}.film-a div:nth-child(1){background-image:url('/pictures/upside1.png')}.film-a div:nth-child(2){background-image:url('/pictures/upside2.jpg')}.film-a div:nth-child(3){background-image:url('/pictures/upside3.jpg')}.film-a div:nth-child(4){background-image:url('/pictures/upside4.jpg')}.film-a div:nth-child(5){background-image:url('/pictures/upside5.jpg')}
.film-a{height:160px;gap:4px}.film-a div,.film-a div:nth-child(n){flex:0 0 auto;min-width:0;height:100%;background:none}.film-a img{display:block;width:auto;height:100%;object-fit:contain}
.film-a{display:block;padding-left:0;padding-right:0}.film-a .film-track{display:flex;gap:4px;width:max-content;height:100%;animation:filmLoop 24s linear infinite}.film-a .film-set{display:flex;flex:none;gap:4px;height:100%}.film-a .film-frame{display:block;flex:none;height:100%;background:#111}.film-a .film-frame img{display:block;width:auto;height:100%;object-fit:contain}@keyframes filmLoop{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 2px))}}
.film-a .film-track{animation-duration:38s}.film-b{display:block;height:160px;bottom:7px;padding-left:0;padding-right:0}.film-b .film-track{display:flex;gap:4px;width:max-content;height:100%;animation:filmLoop 38s linear infinite reverse}.film-b .film-set{display:flex;flex:none;gap:4px;height:100%}.film-b .film-frame{display:block;flex:none;height:100%;background:#111}.film-b .film-frame img{display:block;width:auto;height:100%;object-fit:contain}
.music-ready{top:calc(env(safe-area-inset-top,0px) + 10px)!important;bottom:auto!important;transform:translateX(-50%);animation-name:musicReadyTop}@keyframes musicReadyTop{0%{opacity:0;transform:translate(-50%,-8px) scale(.96)}18%,68%{opacity:1;transform:translate(-50%,0) scale(1)}100%{opacity:0;transform:translate(-50%,-8px) scale(.98);visibility:hidden}}
.photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:0 14px}.photo-tile{aspect-ratio:1;border:0;padding:0;background:#171919;overflow:hidden;cursor:pointer}.photo-tile img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-drag:none;transition:filter .25s,transform .35s}.photo-tile:hover img{filter:brightness(1.08);transform:scale(1.025)}#photo-viewer{position:fixed;width:auto;max-width:min(92vw,900px);height:auto;max-height:92vh;margin:auto;padding:0;border:0;border-radius:4px;background:#050606;overflow:visible;touch-action:none;user-select:none;-webkit-user-select:none}#photo-viewer::backdrop{background:#000e}#photo-viewer>img{display:block;width:auto;max-width:92vw;height:auto;max-height:92vh;object-fit:contain;pointer-events:none;-webkit-user-drag:none}.photo-viewer-close{position:absolute;z-index:2;right:-8px;top:-42px;width:36px;height:36px;border:1px solid #fff7;border-radius:50%;background:#111c;color:#fff;font:300 27px/32px sans-serif;cursor:pointer}@media(max-width:480px){.photo-grid{gap:3px;padding:0 8px}.photo-viewer-close{right:0}}
.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:0 14px}.photo-grid .photo-tile:nth-child(n+9){display:none}.photo-grid.expanded .photo-tile:nth-child(n+9){display:block;animation:photoReveal .45s ease both}.photo-more{margin-top:28px;padding:11px 25px;border:1px solid #777;border-radius:22px;background:transparent;color:#ddd;font-size:11px;letter-spacing:.04em;cursor:pointer}.photo-more span{display:inline-block;margin-left:7px;font-size:15px;line-height:0}@keyframes photoReveal{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(max-width:480px){.photo-grid{gap:4px;padding:0 10px}}
#photo-viewer{inset:0;width:100vw;max-width:none;height:100vh;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:transparent;overflow:hidden}#photo-viewer[open]{display:flex;align-items:center;justify-content:center}#photo-viewer>img{width:auto;max-width:92vw;height:auto;max-height:88vh;margin:0;object-fit:contain}.photo-viewer-close{position:fixed;right:18px;top:calc(env(safe-area-inset-top,0px) + 12px);width:auto;height:auto;padding:4px 8px;border:0;border-radius:0;background:transparent;color:#fff;font:300 35px/1 sans-serif;text-shadow:0 1px 5px #000;cursor:pointer}
.photo-viewer-nav{position:fixed;z-index:2;top:50%;width:auto;height:auto;padding:12px;border:0;background:transparent;color:#fff;font:200 54px/1 sans-serif;text-shadow:0 2px 8px #000;transform:translateY(-50%);cursor:pointer}.photo-prev{left:12px}.photo-next{right:12px}@media(max-width:480px){.photo-viewer-nav{padding:8px;font-size:46px}.photo-prev{left:2px}.photo-next{right:2px}#photo-viewer>img{max-width:86vw}}
@media(prefers-reduced-motion:reduce){.ending-film.playing .frame-two,.ending-film.playing .frame-three{animation-duration:.9s}.ending-film.playing .ending-screen:after{animation-duration:.8s}.ending-film.playing .ending-logo{animation-duration:1.5s}}
.photo-grid .photo-tile.wide{grid-column:span 2;aspect-ratio:2/1}
.account-tabs{display:block;margin:42px 0 30px;border-bottom:0}.account-tabs button{position:relative;display:block;width:100%;padding:17px 46px 17px 16px;border:0;border-bottom:1px solid #cfc5c2;margin:0;background:transparent;color:#4d4846;text-align:left;font-size:13px;transition:background-color .25s,color .25s}.account-tabs button:first-child{border-top:1px solid #cfc5c2}.account-tabs button:after{content:'＋';position:absolute;right:16px;top:50%;color:#817875;font-size:18px;font-weight:300;transform:translateY(-50%)}.account-tabs button:hover{background:#ddd3d0;color:#171514}.account-tabs button.active{border-bottom-color:#b9a590;background:#d8cdca;color:#171514}.account-tabs button.active:after{content:'－';color:#171514}
#photo-viewer>img{pointer-events:auto;cursor:pointer;touch-action:none;transition:transform .2s ease,opacity .2s ease}#photo-viewer>img.dragging{cursor:pointer;transition:none}.photo-progress{position:fixed;z-index:3;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 20px);width:min(72vw,420px);height:7px;border-radius:5px;background:#ffffff32;overflow:hidden;transform:translateX(-50%);box-shadow:0 1px 8px #0008}.photo-progress-fill{display:block;width:0;height:100%;background:#f18dad;transition:width .25s ease}.photo-progress:after{content:'';position:absolute;inset:0;background-image:linear-gradient(90deg,transparent calc(100% - 1px),#080c0dbb 0);background-size:calc(100% / var(--photo-count)) 100%;pointer-events:none}
