:root{color-scheme:dark;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f3f3ef;background:#141615;font-synthesis:none;--mint:#b7e5ca;--muted:#969c99}*{box-sizing:border-box}body{margin:0;min-height:100svh;display:grid;place-items:center;padding:28px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;border:0;cursor:pointer;color:inherit}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:2px solid var(--mint);outline-offset:4px}::selection{background:var(--mint);color:#070808}.phone{width:390px;height:844px;max-height:calc(100svh - 56px);min-height:650px;background:#070808;border-radius:37px;position:relative;overflow:hidden;box-shadow:0 24px 75px #0008;isolation:isolate}.status{height:46px;padding:16px 28px 0;display:flex;justify-content:space-between;align-items:flex-start;font-size:14px;font-weight:650;position:relative;z-index:10}.status-icons{display:flex;gap:5px;align-items:center}.status-icons svg{width:16px;height:12px}.status-icons svg:last-child{width:24px}header{height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;position:relative;z-index:10}.icon-button{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#ffffff0a}.icon-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.heading{text-align:center}.heading h1{font-size:17px;line-height:1.3;font-weight:550;margin:0}.heading p{font-size:10px;color:var(--muted);margin:3px 0 0}.booking{position:relative;z-index:2;transition:opacity .45s,transform .75s;transform-origin:50% 40%}.times{display:flex;justify-content:center;gap:3px;margin:8px auto 0;background:#111312;width:max-content;padding:3px;border-radius:30px}.times button{font-size:11px;color:#a0a4a2;background:transparent;padding:8px 12px;border-radius:20px;transition:background .2s,color .2s}.times small{font-size:7px;margin-left:3px}.times .active{background:#ebeeea;color:#131615}.screen-mark{height:130px;position:relative;margin:8px 12px 0}.screen-mark svg{width:100%;height:60px}.screen-mark span{display:block;text-align:center;font-size:6px;letter-spacing:4px;color:#9b9f9b;margin-top:-4px}.seat-map{display:flex;flex-direction:column;gap:12px;padding:5px 20px 0 9px}.seat-row{display:flex;align-items:center;justify-content:space-between;gap:2px;height:22px}.row-label{font-size:8px;color:#89908c;width:12px;flex:none}.seat{position:relative;width:21px;height:25px;padding:0;background:transparent;display:grid;place-items:center;flex:none}.seat::before{content:"";width:14px;height:13px;background:#363a39;border-radius:4px 4px 3px 3px;border-bottom:2px solid #4a4e4b;transition:background .2s,transform .2s,box-shadow .2s}.seat:hover:not(:disabled)::before{background:#69766f;transform:translateY(-2px)}.seat.taken::before{background:transparent;box-shadow:inset 0 0 0 1px #202522;border-bottom-color:#202522}.seat.recliner::before{background:#583440;border-bottom-color:#764653;width:16px}.seat.is-selected::before{background:var(--mint);border-bottom-color:#8cb99e;box-shadow:0 0 20px #b7e5ca55;transform:translateY(-1px)}.seat.aisle{margin-right:14px}.legend{display:flex;justify-content:center;gap:16px;margin:25px 0 0;font-size:7px;color:#9fa5a1}.legend span{display:flex;align-items:center;gap:4px}.legend i{width:7px;height:7px;background:#363a39;border-radius:2px}.legend .taken{background:transparent;box-shadow:inset 0 0 0 1px #414743}.legend .recliner{background:#764653}.legend .selected{background:var(--mint)}footer{position:absolute;bottom:19px;left:0;right:0;padding:12px 21px 0;z-index:10;background:linear-gradient(transparent,#070808 18%);transition:opacity .25s,transform .35s}.seat-details{display:flex;align-items:center;justify-content:space-between;min-height:51px;border-top:1px solid #242826;padding-top:12px;margin-bottom:12px}.seat-details div{display:flex;flex-direction:column;gap:4px}.seat-details span{font-size:10px;color:#a4aaa6}.seat-details strong{font-size:13px;font-weight:450}.seat-details #price{font-size:16px;color:#f1f3ef;font-variant-numeric:tabular-nums}.actions{display:flex;gap:8px}.actions button{height:43px;border-radius:24px;font-size:12px;display:flex;align-items:center;justify-content:center;gap:9px;transition:background .2s,transform .2s}.actions svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round}.preview-button{background:#1c2420;color:var(--mint);flex:1.15}.confirm-button{background:var(--mint);color:#14241a;flex:1;font-weight:550}.actions button:disabled{background:#141715;color:#5e6661}.actions button:not(:disabled):active{transform:scale(.97)}.demo-label{font-size:6px;letter-spacing:1.5px;color:#828a84;text-align:center;margin-top:13px}.home-indicator{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);width:124px;height:4px;border-radius:4px;background:#d1d4cf;z-index:20}.view-title{display:none;position:absolute;left:50%;transform:translateX(-50%);white-space:nowrap;padding:7px 12px;border-radius:20px;background:#07080866;font-size:11px;backdrop-filter:blur(10px)}.view-title b{font-weight:550}.view-title::before{content:"";display:inline-block;background:var(--mint);width:5px;height:5px;border-radius:50%;margin-right:6px}#theater{position:absolute;inset:0;z-index:1;opacity:0;transition:opacity .4s;background:#030303}#theater canvas{width:100%;height:100%;display:block}.preview-controls{position:absolute;bottom:54px;left:22px;right:22px;z-index:11;text-align:center;opacity:0;pointer-events:none;transform:translateY(15px);transition:opacity .35s .8s,transform .35s .8s}.perspective-label{font-size:7px;letter-spacing:2px;color:#c1c9c3;margin-bottom:15px}.live-dot{display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--mint);margin-right:5px}.preview-switch{display:flex;align-items:center;justify-content:space-between;border-radius:30px;background:#0d100fd9;backdrop-filter:blur(12px);padding:3px 5px;font-size:11px}.preview-switch button{background:transparent;width:40px;height:38px;display:grid;place-items:center}.preview-switch svg{width:18px;height:18px;fill:none;stroke:#f3f3ef;stroke-width:1.5}.text-button{background:transparent;color:#b3bcb6;font-size:10px;padding:16px 20px}.phone.previewing .booking{opacity:0;transform:scale(1.16);pointer-events:none}.phone.previewing #theater{opacity:1}.phone.previewing .heading,.phone.previewing #info{visibility:hidden}.phone.previewing .view-title{display:block}.phone.previewing footer{opacity:0;transform:translateY(30px);pointer-events:none}.phone.previewing .preview-controls{opacity:1;transform:none;pointer-events:auto}.notice{position:absolute;bottom:194px;left:50%;transform:translate(-50%,10px);opacity:0;pointer-events:none;z-index:30;background:#e5eee8;color:#14241a;padding:12px 17px;border-radius:20px;white-space:nowrap;font-size:11px;transition:opacity .2s,transform .2s}.notice.show{opacity:1;transform:translate(-50%,0)}dialog{position:absolute;inset:0;width:calc(100% - 40px);max-width:350px;height:max-content;margin:auto;padding:30px 25px;border:1px solid #303a33;border-radius:24px;background:#141b17;color:#eef3ee;box-shadow:0 15px 45px #0008}dialog::backdrop{background:#0009;backdrop-filter:blur(6px)}dialog h2{font-size:24px;line-height:1.15;letter-spacing:-.03em;font-weight:500;margin:15px 0 20px}dialog p{font-size:12px;line-height:1.8;color:#b8c2bb}dialog a{font-size:12px;color:var(--mint);text-underline-offset:5px}.close-dialog.icon-button{position:absolute;right:12px;top:12px}.ticket{text-align:center}.ticket-check{width:45px;height:45px;background:var(--mint);border-radius:50%;margin:0 auto 24px;display:grid;place-items:center}.ticket-check svg{width:25px;height:25px;stroke:#14241a;stroke-width:1.8;fill:none}.ticket-label{font-size:8px!important;letter-spacing:2px}.ticket h2{font-size:32px;margin:12px 0 28px}.ticket-data{display:grid;grid-template-columns:1fr 1fr;text-align:left;gap:25px 15px}.ticket-data div{display:flex;flex-direction:column;gap:8px}.ticket-data span{font-size:7px;letter-spacing:1.5px;color:#a1afa5}.ticket-data b{font-size:13px;font-weight:500}.ticket-rule{border-top:1px dashed #4c5c51;margin:25px 0 17px}.ticket-disclaimer{font-size:10px!important;line-height:1.6!important}.ticket>.confirm-button{padding:13px 22px;width:100%;border-radius:25px;margin-top:15px}.seat,.times button,.icon-button,.preview-switch button{touch-action:manipulation}@media(min-width:600px) and (max-height:850px){.phone{height:744px}.screen-mark{height:105px}.seat-map{gap:9px}.legend{margin-top:20px}}@media(max-width:599px){body{padding:0;background:#070808}.phone{width:min(100vw,430px);height:100svh;max-height:none;min-height:650px;border-radius:0;box-shadow:none}.status{padding-top:max(16px,env(safe-area-inset-top))}footer{bottom:max(19px,env(safe-area-inset-bottom))}}@media(max-height:730px){.screen-mark{height:85px}.seat-map{gap:6px}.legend{margin-top:14px}header{height:53px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
/* Fit the complete seat map and its legend above the fixed booking controls. */
.phone{container-type:size}
.seat.recliner.taken::before{background:transparent;box-shadow:inset 0 0 0 1px #4e303a;border-bottom-color:#4e303a}
@container (max-height:760px){.screen-mark{height:78px}.seat-map{gap:7px}.seat-row{height:20px}.seat{height:20px}.legend{margin-top:18px}}
@media(max-width:374px){.seat-map{padding-right:10px}.seat{width:18px}.seat.aisle{margin-right:9px}.legend{gap:12px}}
@container (max-height:760px){.screen-mark{height:60px}.seat-map{gap:5px}}

#recenter{display:none}.phone.previewing #info{display:none}.phone.previewing #recenter{display:grid}.look-hint{font-size:11px;color:#b7c4bc;margin:0 0 15px;pointer-events:none}.phone.previewing #theater{cursor:grab}.phone.looking-around #theater{cursor:grabbing}.preview-controls{pointer-events:none!important}.preview-controls button{pointer-events:auto}.phone:not(.previewing) .preview-controls button{pointer-events:none}

/* A seated preview has its own optical viewport, separate from app chrome. */
#theater{inset:106px 0 166px;background:#080a0c}
.phone.previewing footer{opacity:1;transform:none;pointer-events:auto;background:linear-gradient(transparent,#070808 18%)}
.phone.previewing .preview-controls{bottom:164px}
.preview-controls{transition:opacity .35s .65s,transform .35s .65s}
.preview-switch{background:#0d1115c9;height:36px;padding:0 4px;border-radius:18px;font-size:11px}
.preview-switch button{height:36px}
.look-hint{margin:0 0 9px;font-size:11px;color:#c0c6c9;text-shadow:0 1px 5px #000}
#returnMap{display:none}
#theater.dragging{cursor:grabbing}
#movieSelect{appearance:none;font:inherit;font-size:16px;font-weight:550;color:#f3f3ef;max-width:246px;background:transparent;border:0;padding:4px 14px 4px 0;cursor:pointer;text-align:center;background-image:url("data:image/svg+xml,%3Csvg width='8' height='6' viewBox='0 0 8 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m1 1 3 3 3-3' fill='none' stroke='%23969c99'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right center}
#movieSelect:focus-visible{outline:2px solid var(--mint);outline-offset:4px}
#movieSelect option{background:#131716;color:#f3f3ef}
#continue{width:100%;height:46px;font-size:13px;font-weight:550}
.actions #continue:disabled{background:#141715;color:#6d756f}
.actions #continue:not(:disabled):hover{background:#ccebd9}
.stage-note{text-align:center;font-size:9px;line-height:13px;color:#929c96;margin-top:10px}
.ticket-film{color:#e9f0eb;font-size:17px;font-weight:450;margin:-10px 0 25px}
#ticketDone{padding:13px 22px;width:100%;border-radius:25px;margin-top:15px}
.phone.previewing .seat-details{border-top:0}
.phone.previewing .seat-details strong{font-size:12px;color:#aeb8b2}
@container(max-height:760px){#theater{inset:103px 0 166px}.look-hint{font-size:10px}}
.preview-controls{transition:opacity .2s,transform .2s}
.phone.previewing .preview-controls{transition:opacity .35s .65s,transform .35s .65s}
#theater{pointer-events:none}.phone.previewing #theater{pointer-events:auto}

.video-source{position:absolute;left:-9999px;top:0;width:1px!important;height:1px!important;opacity:0;pointer-events:none}
.media-controls{display:none;position:absolute;top:115px;right:19px;z-index:12;align-items:center;gap:6px}
.phone.previewing .media-controls:not([hidden]){display:flex}
.media-controls[hidden]{display:none!important}
#mediaState{font-size:10px;color:#b8c4cd;text-shadow:0 1px 4px #000;margin-right:3px}
.media-controls .icon-button{background:#0a111bc9;width:32px;height:32px}
.media-controls svg{width:17px;height:17px;stroke-width:1.5}
#playFilm .pause-symbol{display:none}#playFilm.is-playing .pause-symbol{display:block}#playFilm.is-playing .play-symbol{display:none}
#muteFilm .mute-cross{display:none}#muteFilm.is-muted .mute-cross{display:block}#muteFilm.is-muted .sound-waves{display:none}
.film-credit{font-size:10px!important}
