:root{--brand-50:#f3faf4;--brand-100:#e7f5ea;--brand-200:#c9e9cf;--brand-300:#9ad6a6;--brand-400:#62bd76;--brand-500:#45a85a;--brand-600:#3a9150;--brand-700:#2f7d42;--brand-800:#245f33;--lime:#cdf564;--lime-strong:#b6ec3d;--lime-ink:#2c6b1f;--ink-900:#0d1117;--ink-700:#353b45;--ink-600:#5b6470;--ink-400:#9aa1ab;--ink-300:#c3c8ce;--line:#e7e9ec;--line-strong:#d6d9dd;--surface:#fff;--surface-2:#f6f8f7;--surface-3:#eef2ef;--danger:#d64545;--danger-bg:#fdecec;--warn:#e89b1c;--r-sm:10px;--r-md:14px;--r-lg:18px;--r-xl:24px;--r-pill:999px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--shadow-card:0 6px 18px #0d11170f;--shadow-pop:0 12px 32px #0d11171f;--shadow-nav:0 -2px 16px #0d11170f;--phone-w:430px;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);color:var(--ink-600);background:var(--surface-2);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}#root{justify-content:center;align-items:stretch;height:100svh;display:flex;overflow:hidden}h1,h2,h3,h4{color:var(--ink-900);letter-spacing:-.01em;margin:0;font-weight:700}p{margin:0;line-height:1.5}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input{font-family:inherit}ul{margin:0;padding:0;list-style:none}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--brand-600);outline-offset:2px}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.phone{width:100%;max-width:var(--phone-w);background:var(--surface);flex-direction:column;height:100svh;display:flex;position:relative;overflow:hidden}@media (width>=460px){.phone{box-shadow:0 0 0 1px var(--line), 0 8px 40px #0d11171a}}.phone--auth{background:radial-gradient(120% 60% at 100% 0%, var(--brand-100) 0%, transparent 55%), radial-gradient(120% 60% at 0% 100%, var(--brand-100) 0%, transparent 55%), var(--surface)}.phone__body{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.phone__body.no-scrollbar{scrollbar-width:none}.statusbar{height:44px;padding:0 var(--sp-6);color:var(--ink-900);flex:0 0 44px;justify-content:space-between;align-items:center;font-size:15px;font-weight:600;display:flex}.statusbar__icons{align-items:center;gap:6px;display:flex}.btn{justify-content:center;align-items:center;gap:var(--sp-2);border-radius:var(--r-pill);width:100%;padding:16px 22px;font-size:16px;font-weight:700;transition:background .15s,transform 60ms,opacity .15s;display:inline-flex}.btn:active{transform:scale(.99)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{background:var(--brand-600);color:#fff}.btn--primary:hover:not(:disabled){background:var(--brand-700)}.btn--ghost{background:var(--surface);color:var(--brand-700);border:1px solid var(--line-strong)}.btn--ghost:hover{background:var(--surface-2)}.btn--sm{width:auto;padding:9px 16px;font-size:14px}.field{align-items:center;gap:var(--sp-3);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-md);height:58px;padding:0 16px;transition:border-color .15s,box-shadow .15s;display:flex}.field:focus-within{border-color:var(--brand-500);box-shadow:0 0 0 3px var(--brand-100)}.field--error{border-color:var(--danger)}.field__icon{color:var(--ink-400);flex:none;display:flex}.field__input{color:var(--ink-900);background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:16px}.field__input::placeholder{color:var(--ink-400)}.field__toggle{color:var(--ink-400);padding:4px;display:flex}.field-error{color:var(--danger);margin-top:6px;padding-left:4px;font-size:13px}.field-label{color:var(--ink-700);margin:0 0 6px 4px;font-size:13px;font-weight:600;display:block}.chip{border-radius:var(--r-md);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-700);white-space:nowrap;align-items:center;gap:6px;padding:9px 14px;font-size:14px;font-weight:600;transition:all .15s;display:inline-flex}.chip:hover{border-color:var(--brand-300)}.chip--active{background:var(--brand-600);border-color:var(--brand-600);color:#fff}.chip--outline-active{border-color:var(--brand-500);color:var(--brand-700);background:var(--brand-50)}.chip--theme{border-radius:var(--r-pill);border-color:var(--brand-300);color:var(--brand-700);background:var(--surface)}.chip--theme.chip--on{background:var(--brand-600);border-color:var(--brand-600);color:#fff}.badge{letter-spacing:.04em;text-transform:uppercase;border-radius:6px;align-items:center;gap:4px;padding:4px 9px;font-size:11px;font-weight:800;display:inline-flex}.badge--popup{background:var(--ink-900);color:#fff}.badge--lime{background:var(--lime);color:var(--lime-ink)}.badge--soft{background:var(--surface);color:var(--brand-700);border:1px solid var(--line)}.card{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-card);border:1px solid var(--line);overflow:hidden}.bottomnav{padding:10px 8px calc(10px + env(safe-area-inset-bottom));background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pill);flex:none;justify-content:space-around;align-items:center;margin:0 12px 12px;display:flex;box-shadow:0 -4px 18px #0d11170f,0 8px 22px #0d111714}.bottomnav__item{color:var(--ink-400);flex-direction:column;flex:1;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:600;display:flex}.bottomnav__item--active{color:var(--brand-600)}.lang{color:var(--ink-900);align-items:center;gap:4px;font-size:14px;font-weight:700;display:inline-flex}.toast{z-index:60;background:var(--ink-900);color:#fff;border-radius:var(--r-pill);box-shadow:var(--shadow-pop);max-width:calc(var(--phone-w) - 48px);align-items:center;gap:8px;padding:12px 18px;font-size:14px;font-weight:600;display:flex;position:fixed;bottom:96px;left:50%;transform:translate(-50%)}.toast--error{background:var(--danger)}.sheet-overlay{z-index:50;background:#0d111773;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{width:100%;max-width:var(--phone-w);background:var(--surface);border-radius:22px 22px 0 0;flex-direction:column;max-height:92%;animation:.22s sheet-up;display:flex}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet__handle{background:var(--line-strong);border-radius:3px;width:44px;height:5px;margin:10px auto 4px}.sheet__header{justify-content:space-between;align-items:center;padding:8px 22px 4px;display:flex}.sheet__body{padding:8px 22px 16px;overflow-y:auto}.sheet__footer{padding:16px 22px calc(20px + env(safe-area-inset-bottom));border-top:1px solid var(--line);gap:12px;display:flex}.sheet__footer .btn{border-radius:var(--r-md)}.divider{background:var(--line);border:none;height:1px;margin:0}.icon-btn{border-radius:var(--r-pill);background:var(--surface);width:40px;height:40px;color:var(--ink-900);box-shadow:var(--shadow-card);justify-content:center;align-items:center;display:inline-flex}.lang-wrap{display:inline-block;position:relative}.lang-menu{top:calc(100% + 6px);z-index:50;background:var(--surface);border:1px solid var(--line);min-width:160px;box-shadow:var(--shadow-card);border-radius:12px;margin:0;padding:4px 0;list-style:none;position:absolute;inset-inline-end:0}.lang-menu li{list-style:none}.lang-menu__item{cursor:pointer;width:100%;color:var(--ink-900);text-align:start;background:0 0;border:0;align-items:center;gap:10px;padding:10px 14px;font-size:14px;display:flex}.lang-menu__item:hover,.lang-menu__item:focus-visible{background:var(--surface-2,#f5f5f7)}.lang-menu__item--active{color:var(--brand-700);font-weight:700}.lang-menu__code{min-width:28px;color:var(--ink-400);letter-spacing:.04em;font-size:12px;font-weight:700}.lang-menu__name{flex:1}.screen-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.detail__hero-actions{align-items:center;gap:10px;display:flex}[dir=rtl] [data-flip-icon],[dir=rtl] .icon-flip-rtl{transform:scaleX(-1)}.auth{flex-direction:column;flex:1;padding:8px 28px 28px;display:flex}.auth__topbar{justify-content:flex-end;align-items:center;min-height:36px;display:flex}.auth__topbar--back{justify-content:space-between}.auth__logo{letter-spacing:-.03em;margin:28px 0 10px;font-size:40px;font-weight:800}.auth__logo .pop{color:var(--brand-600)}.auth__title{margin-bottom:10px;font-size:30px;line-height:1.2}.auth__subtitle{color:var(--ink-400);margin-bottom:30px;font-size:16px}.auth__form{flex-direction:column;gap:16px;display:flex}.auth__forgot{color:var(--brand-700);align-self:flex-end;margin-top:-2px;font-size:14px;font-weight:700}.auth__submit{margin-top:12px;position:relative}.btn__end{display:flex;position:absolute;top:50%;right:22px;transform:translateY(-50%)}.auth__trust{color:var(--ink-600);align-items:center;gap:10px;margin-top:20px;font-size:14px;display:flex}.auth__trust-ic{border-radius:var(--r-pill);background:var(--brand-100);width:34px;height:34px;color:var(--brand-700);flex:none;justify-content:center;align-items:center;display:flex}.auth__foot{border-top:1px solid var(--line);text-align:center;color:var(--ink-400);margin-top:auto;padding-top:28px;font-size:15px}.auth__foot a{color:var(--brand-700);margin-left:4px;font-weight:700}.auth__back{width:40px;height:40px;color:var(--ink-900);justify-content:center;align-items:center;margin-left:-8px;display:inline-flex}.home__header{justify-content:space-between;align-items:center;padding:4px 20px 8px;display:flex}.home__brand{letter-spacing:-.02em;color:var(--ink-900);font-size:22px;font-weight:800}.home__brand .pop{color:var(--brand-600)}.home__header-right{align-items:center;gap:14px;display:flex}.home__hero{margin-bottom:4px;position:relative;overflow:hidden}.home__hero-bg{opacity:.28;pointer-events:none;background-image:url(/assets/hero-CLDdwZDr.png);background-position:100%;background-size:cover;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0%,#0009 60%,#0000 100%);mask-image:linear-gradient(#000 0%,#0009 60%,#0000 100%)}.home__intro{padding:4px 20px 10px;position:relative}.home__intro h1{margin-bottom:4px;font-size:21px;line-height:1.25}.home__intro p{color:var(--ink-600);max-width:78%;font-size:13.5px}.promo{border-radius:var(--r-md);background:linear-gradient(135deg,#e6f7c2 0%,#d4f095 100%);margin:4px 20px 8px;padding:12px 14px;position:relative;overflow:hidden}.promo__tag{margin-bottom:6px}.promo__title{color:var(--ink-900);max-width:65%;font-size:16px;font-weight:800;line-height:1.3}.promo__limited{background:var(--brand-600);color:#fff;letter-spacing:.06em;padding:3px 40px;font-size:9px;font-weight:800;position:absolute;top:11px;right:-34px;transform:rotate(45deg)}.promo__row{justify-content:space-between;align-items:center;gap:12px;margin-top:9px;display:flex}.promo__count{color:var(--ink-700);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.promo__time{font-variant-numeric:tabular-nums;color:var(--ink-900);font-weight:800}.searchbar{gap:10px;padding:14px 20px 6px;display:flex}.searchbar__input{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-pill);flex:1;align-items:center;gap:10px;height:46px;padding:0 16px;display:flex}.searchbar__input input{color:var(--ink-900);background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:14px}.searchbar__filter{border-radius:var(--r-pill);border:1px solid var(--line-strong);background:var(--surface);height:46px;color:var(--ink-700);align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:700;display:flex}.cats{gap:18px;padding:14px 20px 6px;display:flex;overflow-x:auto}.cat{color:var(--ink-600);flex-direction:column;flex:none;align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.cat__ic{border-radius:var(--r-md);background:var(--brand-100);width:56px;height:56px;color:var(--brand-600);justify-content:center;align-items:center;transition:all .15s;display:flex}.cat--active .cat__ic{background:var(--brand-600);color:#fff}.cat--active{color:var(--brand-700)}.section-head{justify-content:space-between;align-items:center;padding:18px 20px 10px;display:flex}.section-head h2{align-items:center;gap:6px;font-size:18px;display:flex}.section-head a{color:var(--brand-700);font-size:13px;font-weight:700}.ticket-list{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-direction:row;gap:14px;padding:4px 20px 12px;scroll-padding-inline:20px;display:flex;overflow-x:auto}.ticket-list::-webkit-scrollbar{display:none}.ticket{scroll-snap-align:start;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);text-align:start;flex-direction:column;flex:0 0 78%;max-width:280px;transition:transform .15s,box-shadow .15s;display:flex;overflow:hidden;box-shadow:0 1px 3px #0d11170a,0 6px 16px #0d11170d}.ticket:active{transform:scale(.99)}.ticket__stub{aspect-ratio:4/3;background:var(--surface-3);position:relative}.ticket__stub img{object-fit:cover;width:100%;height:100%}.ticket__avail{top:10px;color:var(--ink-900);border-radius:var(--r-pill);background:#fffffff2;padding:4px 9px;font-size:11px;font-weight:700;position:absolute;inset-inline-start:10px;box-shadow:0 1px 2px #0000000f}.ticket__avail.is-soldout{background:var(--ink-900);color:#fff}.ticket__save{top:10px;border-radius:var(--r-pill);width:30px;height:30px;color:var(--ink-700);background:#fffffff2;justify-content:center;align-items:center;display:flex;position:absolute;inset-inline-end:10px;box-shadow:0 1px 2px #0000000f}.ticket__body{flex-direction:column;gap:4px;padding:12px 14px 14px;display:flex}.ticket__tag{letter-spacing:.06em;color:var(--ink-400);text-transform:uppercase;font-size:10px;font-weight:800}.ticket__title{color:var(--ink-900);white-space:nowrap;text-overflow:ellipsis;margin:2px 0 0;font-size:16px;overflow:hidden}.ticket__desc{color:var(--ink-600);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;font-size:13px;line-height:1.4;display:-webkit-box;overflow:hidden}.ticket__meta{color:var(--ink-600);flex-direction:column;gap:4px;margin-top:8px;font-size:12.5px;display:flex}.ticket__meta-row{align-items:center;gap:6px;min-width:0;display:flex}.ticket__meta-row span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ticket__foot{border-top:1px dashed var(--line);justify-content:space-between;align-items:center;gap:8px;margin-top:10px;padding-top:10px;display:flex}.ticket__left{color:var(--ink-400);font-size:12px;font-weight:600}.ticket__left.is-soldout{color:var(--danger)}.ticket__cta{background:var(--brand-600);color:#fff;border-radius:var(--r-pill);align-items:center;gap:4px;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex}.ticket__cta.is-soldout{background:var(--surface-3);color:var(--ink-400);cursor:not-allowed}.detail__reserve{flex-direction:column;gap:8px;display:flex}.detail__reserve-btn{position:relative}.detail__reserve-note{text-align:center;color:var(--ink-400);font-size:13px}.slot-list{flex-direction:column;gap:10px;margin-top:4px;display:flex}.slot{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r-md);text-align:start;cursor:pointer;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:14px 16px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.slot:hover:not(:disabled){border-color:var(--brand-300)}.slot--on{border-color:var(--brand-600);background:var(--brand-50);box-shadow:0 0 0 3px var(--brand-100)}.slot--soldout{background:var(--surface-2);opacity:.6;cursor:not-allowed}.slot__when{flex-direction:column;gap:2px;min-width:0;display:flex}.slot__date{color:var(--ink-900);font-size:15px;font-weight:700}.slot__time{color:var(--ink-600);font-variant-numeric:tabular-nums;font-size:13px}.slot__cap{color:var(--brand-700);background:var(--brand-50);border-radius:var(--r-pill);white-space:nowrap;flex:none;padding:4px 10px;font-size:12px;font-weight:700}.slot--on .slot__cap{background:var(--brand-600);color:#fff}.slot__cap.is-soldout{background:var(--surface-3);color:var(--ink-400)}.detail__hero{background:var(--surface-3);height:280px;position:relative}.detail__hero img{object-fit:cover;width:100%;height:100%}.detail__hero-top{justify-content:space-between;align-items:center;padding:0 18px;display:flex;position:absolute;top:8px;left:0;right:0}.detail__sheet{background:var(--surface);border-radius:22px 22px 0 0;margin-top:-20px;padding:22px 20px 0;position:relative}.detail__title{margin:12px 0 6px;font-size:26px}.detail__subtitle{color:var(--ink-400);margin-bottom:18px;font-size:15px}.info-row{align-items:center;gap:14px;padding:10px 0;display:flex}.info-row__ic{border-radius:var(--r-md);background:var(--brand-50);width:42px;height:42px;color:var(--brand-700);flex:none;justify-content:center;align-items:center;display:flex}.info-row__text{color:var(--ink-900);font-size:15px;font-weight:600}.detail__section{border-top:1px solid var(--line);padding:20px 0}.detail__section:first-of-type{border-top:none}.detail__section h3{margin-bottom:10px;font-size:18px}.detail__section p{color:var(--ink-600);font-size:15px}.offer{background:var(--brand-50);border:1px solid var(--brand-200);border-radius:var(--r-lg);align-items:center;gap:14px;min-height:96px;padding:14px;display:flex}.offer__info{color:var(--brand-800);flex-direction:column;flex:none;justify-content:space-between;gap:16px;display:flex}.offer__deal{white-space:nowrap;align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.offer__icons{color:var(--brand-700);gap:12px;display:flex}.offer__cta{flex:1}.map{border-radius:var(--r-lg);border:1px solid var(--line);overflow:hidden}.map img{object-fit:cover;width:100%;height:170px}.map__foot{justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.map__addr h4{margin-bottom:4px;font-size:15px}.map__addr p{color:var(--ink-400);font-size:13px}.gallery{flex-direction:column;gap:12px;display:flex}.gallery img{object-fit:cover;border-radius:var(--r-md);background:var(--surface-3);width:100%;height:200px}.filter__group{border-bottom:1px solid var(--line);padding:18px 0}.filter__group:last-child{border-bottom:none}.filter__group h3{margin-bottom:12px;font-size:17px}.filter__group h3 .opt{color:var(--ink-400);margin-left:6px;font-size:13px;font-weight:500}.filter__row{flex-wrap:wrap;gap:10px;display:flex}.filter__date{margin-top:10px}.filter__loc{border:1px solid var(--line-strong);border-radius:var(--r-md);align-items:center;gap:12px;padding:14px;display:flex}.filter__loc-ic{border-radius:var(--r-md);background:var(--brand-50);width:42px;height:42px;color:var(--brand-700);justify-content:center;align-items:center;display:flex}.filter__loc h4{font-size:15px}.filter__loc p{color:var(--ink-400);font-size:13px}.filter__use-loc{color:var(--brand-700);align-items:center;gap:6px;margin-top:10px;font-size:13px;font-weight:600;display:inline-flex}.check-row{border:1px solid var(--line);border-radius:var(--r-md);align-items:center;gap:12px;margin-bottom:10px;padding:14px;display:flex}.check-box{border:2px solid var(--line-strong);color:#fff;border-radius:8px;flex:none;justify-content:center;align-items:center;width:26px;height:26px;display:flex}.check-box--on{background:var(--brand-600);border-color:var(--brand-600)}.check-row h4{font-size:15px}.check-row p{color:var(--ink-400);font-size:13px}.placeholder{text-align:center;color:var(--ink-400);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;padding:40px;display:flex}.placeholder__ic{border-radius:var(--r-pill);background:var(--brand-50);width:72px;height:72px;color:var(--brand-600);justify-content:center;align-items:center;display:flex}.placeholder h2{font-size:20px}.screen-head{border-bottom:1px solid var(--line);padding:8px 20px 12px}.screen-head h1{font-size:22px}.res-list{flex-direction:column;gap:14px;padding:16px 20px;display:flex}.res-item{align-items:center;gap:14px;padding:12px;display:flex}.res-item img{border-radius:var(--r-md);object-fit:cover;flex:none;width:64px;height:64px}.res-item__body{text-align:start;flex:1}.res-item__body h3{margin-bottom:4px;font-size:15px}.res-item__body p{color:var(--ink-400);font-size:13px}.res-status{color:var(--brand-700);background:var(--brand-50);border-radius:var(--r-pill);padding:4px 10px;font-size:12px;font-weight:700}.state{text-align:center;color:var(--ink-400);padding:60px 24px}.spinner{border:3px solid var(--brand-100);border-top-color:var(--brand-600);border-radius:50%;width:28px;height:28px;margin:0 auto 12px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}
