@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,700;1,9..40,400&display=swap";:root,[data-theme=light]{color-scheme:light;--bg: #f8fafc;--surface: #ffffff;--text: #0f172a;--muted: #64748b;--border: #e2e8f0;--accent: #6366f1;--accent-soft: #eef2ff;--shadow: 0 10px 30px rgba(15, 23, 42, .06);--radius: 16px;--header-bg: rgba(255, 255, 255, .92);--topbar-bg: #0f172a;--topbar-text: #f8fafc;--topbar-muted: rgba(248, 250, 252, .72);--topbar-option-bg: rgba(255, 255, 255, .08);--topbar-option-text: rgba(248, 250, 252, .82);--topbar-option-active-bg: #ffffff;--topbar-option-active-text: #0f172a;--hero-overlay-start: rgba(248, 250, 252, .94);--hero-overlay-end: rgba(248, 250, 252, .82);--hero-poster-border: rgba(255, 255, 255, .9);--hero-poster-shadow: 0 16px 40px rgba(15, 23, 42, .18);--media-image-bg: #e2e8f0;--media-placeholder-bg: linear-gradient(135deg, #eef2ff, #f8fafc);--media-card-hover-shadow: 0 16px 40px rgba(15, 23, 42, .1);--badge-bg: rgba(255, 255, 255, .92);--input-text: #0f172a;--error: #dc2626;--booking-glow-1: rgba(99, 102, 241, .2);--booking-glow-2: rgba(99, 102, 241, .08);--booking-base: #eef2ff;--booking-base-end: #f8fafc;--booking-panel: rgba(255, 255, 255, .92);--booking-panel-alt: rgba(238, 242, 255, .75);--booking-border: rgba(99, 102, 241, .22);--booking-border-hover: rgba(99, 102, 241, .45);--booking-heading: #0f172a;--booking-body: #475569;--booking-kicker: #6366f1;--booking-gradient: linear-gradient(90deg, #4f46e5, #6366f1, #818cf8);--booking-cta-panel: linear-gradient(145deg, rgba(238, 242, 255, .95), rgba(255, 255, 255, .9));--booking-cta-border: rgba(99, 102, 241, .3);--booking-emphasis: #4f46e5;--booking-button-shadow: 0 8px 28px rgba(99, 102, 241, .35);--booking-ring: rgba(99, 102, 241, .15)}[data-theme=dark]{color-scheme:dark;--bg: #0b1220;--surface: #151f33;--text: #e2e8f0;--muted: #94a3b8;--border: #243047;--accent: #818cf8;--accent-soft: rgba(99, 102, 241, .18);--shadow: 0 10px 30px rgba(0, 0, 0, .28);--header-bg: rgba(11, 18, 32, .92);--topbar-bg: #060b14;--topbar-text: #e2e8f0;--topbar-muted: rgba(226, 232, 240, .72);--topbar-option-bg: rgba(255, 255, 255, .06);--topbar-option-text: rgba(226, 232, 240, .82);--topbar-option-active-bg: #e2e8f0;--topbar-option-active-text: #0f172a;--hero-overlay-start: rgba(11, 18, 32, .94);--hero-overlay-end: rgba(11, 18, 32, .78);--hero-poster-border: rgba(255, 255, 255, .12);--hero-poster-shadow: 0 16px 40px rgba(0, 0, 0, .45);--media-image-bg: #1e293b;--media-placeholder-bg: linear-gradient(135deg, #1e293b, #0f172a);--media-card-hover-shadow: 0 16px 40px rgba(0, 0, 0, .35);--badge-bg: rgba(21, 31, 51, .92);--input-text: #e2e8f0;--error: #f87171;--booking-glow-1: rgba(129, 140, 248, .28);--booking-glow-2: rgba(129, 140, 248, .1);--booking-base: #121a2e;--booking-base-end: #0b1220;--booking-panel: rgba(21, 31, 51, .88);--booking-panel-alt: rgba(30, 41, 59, .65);--booking-border: rgba(129, 140, 248, .28);--booking-border-hover: rgba(129, 140, 248, .55);--booking-heading: #f1f5f9;--booking-body: #94a3b8;--booking-kicker: #a5b4fc;--booking-gradient: linear-gradient(90deg, #a5b4fc, #818cf8, #c4b5fd);--booking-cta-panel: linear-gradient(145deg, rgba(99, 102, 241, .22), rgba(21, 31, 51, .9));--booking-cta-border: rgba(129, 140, 248, .35);--booking-emphasis: #c4b5fd;--booking-button-shadow: 0 8px 28px rgba(99, 102, 241, .4);--booking-ring: rgba(129, 140, 248, .2)}*{box-sizing:border-box}body{margin:0;font-family:DM Sans,system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;transition:background-color .2s ease,color .2s ease}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.container{width:min(1200px,calc(100% - 2rem));margin:0 auto}.app-shell{min-height:100vh;display:flex;flex-direction:column}.page-main,.detail-page{flex:1;padding-bottom:3rem}.site-header{position:sticky;top:2.75rem;z-index:10;background:var(--header-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.region-preference{position:sticky;top:0;z-index:11;background:var(--topbar-bg);color:var(--topbar-text);border-bottom:1px solid var(--border)}.region-preference-inner{display:flex;align-items:center;justify-content:center;gap:.75rem;flex-wrap:wrap;padding:.55rem 0}.region-preference-label{font-size:.85rem;color:var(--topbar-muted)}.region-preference-options{display:inline-flex;gap:.35rem;padding:.2rem;border-radius:999px;background:var(--topbar-option-bg)}.region-option{border:none;background:transparent;color:var(--topbar-option-text);border-radius:999px;padding:.35rem .85rem;font:inherit;font-size:.85rem;cursor:pointer;transition:background .15s ease,color .15s ease}.region-option:hover{color:var(--topbar-text)}.region-option.is-active{background:var(--topbar-option-active-bg);color:var(--topbar-option-active-text);font-weight:600}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0}.theme-toggle{display:inline-flex;gap:.25rem;padding:.2rem;border-radius:999px;background:var(--accent-soft);border:1px solid var(--border);flex-shrink:0}.theme-toggle-option{border:none;background:transparent;color:var(--muted);border-radius:999px;padding:.4rem .7rem;font:inherit;font-size:.78rem;cursor:pointer;transition:background .15s ease,color .15s ease;white-space:nowrap}.theme-toggle-option:hover{color:var(--text)}.theme-toggle-option.is-active{background:var(--surface);color:var(--text);font-weight:600;box-shadow:var(--shadow)}.brand{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;font-size:1.15rem}.brand-icon{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:10px;background:var(--accent-soft);color:var(--accent);font-size:.85rem}.search-bar{display:flex;gap:.5rem;flex:1;max-width:420px}.search-bar input{flex:1;border:1px solid var(--border);background:var(--surface);color:var(--input-text);border-radius:999px;padding:.65rem 1rem;font:inherit}.search-bar button{border:none;background:var(--accent);color:#fff;border-radius:999px;padding:.65rem 1rem;font:inherit;cursor:pointer}.hero{background-size:cover;background-position:center;border-bottom:1px solid var(--border);background-color:var(--bg)}.hero--has-backdrop{background-image:linear-gradient(to right,var(--hero-overlay-start),var(--hero-overlay-end)),var(--hero-backdrop)}.hero-inner{display:grid;grid-template-columns:minmax(160px,260px) 1fr;gap:2rem;align-items:center;padding:3rem 0}.hero-poster img,.hero-poster-placeholder{width:100%;aspect-ratio:2 / 3;border-radius:var(--radius);box-shadow:var(--hero-poster-shadow);border:3px solid var(--hero-poster-border)}.hero-poster img{object-fit:cover}.hero-poster-placeholder{display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent);font-size:3rem;font-weight:700}.hero-content{padding:0;max-width:none}.hero-kicker{color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem}.hero h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.05;margin:.5rem 0 1rem}.hero-overview{color:var(--muted);font-size:1.05rem}.media-row{padding:2rem 0 .5rem}.section-heading{margin-bottom:1rem}.section-heading h2{margin:0;font-size:1.5rem}.section-heading p{margin:.35rem 0 0;color:var(--muted)}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}.media-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .2s ease,box-shadow .2s ease}.media-card:hover{transform:translateY(-4px);box-shadow:var(--media-card-hover-shadow)}.media-card-image{position:relative;aspect-ratio:2 / 3;background:var(--media-image-bg)}.media-card-image img{width:100%;height:100%;object-fit:cover}.media-card-placeholder{width:100%;height:100%;display:grid;place-items:center;font-size:2rem;color:var(--muted);background:var(--media-placeholder-bg)}.media-card-badge{position:absolute;top:.65rem;right:.65rem;background:var(--badge-bg);color:var(--accent);font-size:.75rem;font-weight:700;padding:.25rem .5rem;border-radius:999px}.media-card-body{padding:.85rem .95rem 1rem}.media-card-body h3{margin:0;font-size:.98rem;line-height:1.3}.media-card-meta{margin:.35rem 0 0;color:var(--muted);font-size:.85rem}.detail-page{padding-top:2rem}.back-link{display:inline-block;margin-bottom:1rem;color:var(--accent)}.detail-card{display:grid;grid-template-columns:220px 1fr;gap:2rem;background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);padding:1.5rem;box-shadow:var(--shadow)}.detail-poster img{border-radius:12px;width:100%}.detail-content h1{margin:0 0 .5rem;font-size:clamp(1.75rem,4vw,2.5rem)}.detail-meta{color:var(--muted);margin:0 0 1rem}.detail-overview{font-size:1.05rem;margin:0 0 1rem}.tag-list{display:flex;flex-wrap:wrap;gap:.5rem}.tag{background:var(--accent-soft);color:var(--accent);padding:.35rem .75rem;border-radius:999px;font-size:.85rem;font-weight:500}.status-message{padding:1rem 0;color:var(--muted)}.status-message.error{color:var(--error)}.site-footer{border-top:1px solid var(--border);background:var(--surface);padding:2rem 0;margin-top:auto}.footer-inner{display:flex;flex-direction:column;gap:.75rem}.footer-nav{display:flex;flex-wrap:wrap;gap:1rem;font-size:.9rem}.footer-nav a{color:var(--accent);text-decoration:none}.footer-nav a:hover{text-decoration:underline}.booking-banner{position:relative;margin-top:3rem;padding:4rem 0 5rem;overflow:hidden;background:radial-gradient(ellipse 85% 65% at 15% 0%,var(--booking-glow-1),transparent 58%),radial-gradient(ellipse 70% 55% at 95% 90%,var(--booking-glow-2),transparent 52%),linear-gradient(180deg,var(--booking-base) 0%,var(--booking-base-end) 100%);border-top:1px solid var(--booking-border);box-shadow:inset 0 1px 0 var(--booking-ring),0 -12px 40px var(--booking-glow-2)}.booking-banner:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--booking-gradient);opacity:.85}.booking-banner-glow{position:absolute;inset:auto -15% -35% -15%;height:260px;background:radial-gradient(circle,var(--booking-glow-1),transparent 68%);pointer-events:none}.booking-banner-inner{position:relative;z-index:1}.booking-banner-badge-row{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;margin-bottom:1.75rem}.booking-banner-badge{display:inline-flex;align-items:center;padding:.35rem .85rem;border-radius:999px;background:var(--accent);color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;box-shadow:var(--booking-button-shadow)}.booking-banner-pill{padding:.35rem .75rem;border-radius:999px;border:1px solid var(--booking-border);background:var(--booking-panel);color:var(--booking-body);font-size:.78rem;font-weight:500}.booking-banner-hero{display:grid;grid-template-columns:1.4fr 1fr;gap:2.5rem;align-items:start;margin-bottom:2.5rem}.booking-banner-kicker{margin:0 0 .5rem;color:var(--booking-kicker);font-size:.85rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.booking-banner-copy h2{margin:0 0 1rem;font-size:clamp(2rem,5vw,3.25rem);line-height:1.08;color:var(--booking-heading);font-weight:700}.booking-banner-gradient{display:block;background:var(--booking-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.booking-banner-lead{margin:0;max-width:52ch;color:var(--booking-body);font-size:1.08rem;line-height:1.65}.booking-banner-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.85rem}.booking-stat{padding:1.1rem 1.15rem;border-radius:14px;background:var(--booking-panel);border:1px solid var(--booking-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow);transition:border-color .2s ease,box-shadow .2s ease}.booking-stat:hover{border-color:var(--booking-border-hover);box-shadow:var(--media-card-hover-shadow)}.booking-stat strong{display:block;font-size:1.5rem;color:var(--accent);line-height:1.2}.booking-stat span{display:block;margin-top:.25rem;font-size:.8rem;color:var(--booking-body)}.booking-banner-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2.5rem}.booking-feature{padding:1.25rem 1.2rem;border-radius:var(--radius);background:var(--booking-panel);border:1px solid var(--booking-border);box-shadow:var(--shadow);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.booking-feature:hover{transform:translateY(-3px);border-color:var(--booking-border-hover);box-shadow:var(--media-card-hover-shadow)}.booking-feature-icon{font-size:1.5rem;line-height:1}.booking-feature h3{margin:.75rem 0 .4rem;font-size:.98rem;color:var(--booking-heading)}.booking-feature p{margin:0;font-size:.85rem;line-height:1.5;color:var(--booking-body)}.booking-banner-footer{display:grid;grid-template-columns:1.2fr 1fr;gap:2rem;padding:2rem;border-radius:calc(var(--radius) + 4px);background:var(--booking-panel);border:1px solid var(--booking-border);box-shadow:var(--shadow)}.booking-banner-info h3{margin:0 0 1rem;color:var(--booking-heading);font-size:1.1rem}.booking-banner-info ul{margin:0;padding-left:1.15rem;color:var(--booking-body);font-size:.92rem;line-height:1.7}.booking-banner-info li::marker{color:var(--accent)}.booking-banner-info li+li{margin-top:.5rem}.booking-banner-cta{display:flex;flex-direction:column;justify-content:center;padding:1.5rem;border-radius:var(--radius);background:var(--booking-cta-panel);border:1px solid var(--booking-cta-border);box-shadow:inset 0 1px 0 var(--booking-ring)}.booking-cta-label{margin:0 0 .35rem;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--booking-kicker)}.booking-cta-text{margin:0 0 1.15rem;color:var(--booking-heading);font-size:.95rem;line-height:1.55}.booking-cta-text strong{color:var(--booking-emphasis)}.booking-cta-button{align-self:flex-start;border:none;padding:.85rem 1.5rem;border-radius:999px;font:inherit;font-weight:700;font-size:.95rem;color:#fff;background:var(--accent);box-shadow:var(--booking-button-shadow);cursor:not-allowed;opacity:.9}.booking-cta-note{margin:.85rem 0 0;font-size:.78rem;color:var(--booking-body)}.footer-inner{color:var(--muted);font-size:.9rem}.footer-muted{margin-top:.75rem}@media (max-width: 720px){.header-inner{flex-wrap:wrap}.brand{order:1}.theme-toggle{order:2;margin-left:auto}.search-bar{order:3;max-width:none;width:100%}.detail-card{grid-template-columns:1fr}.detail-poster{max-width:220px}.booking-banner-hero,.booking-banner-footer{grid-template-columns:1fr}.booking-banner-grid{grid-template-columns:1fr 1fr}}@media (max-width: 480px){.booking-banner-grid{grid-template-columns:1fr}.booking-banner-stats{grid-template-columns:1fr 1fr}}
