:root{--text:#3f3a46;--text-h:#08060d;--text-muted:#6b6375;--bg:#f7f6f9;--surface:#fff;--border:#e5e4e7;--accent:#83bdbf;--accent-hover:#649fa1;--accent-text:#3d7a7d;--on-accent:#1d2b2c;--accent-bg:#83bdbf26;--danger:#dc2626;--seat-taken:#d4d2d8;--radius:8px;--sans:system-ui, "Segoe UI", "Malgun Gothic", Roboto, sans-serif;font:16px/1.6 var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#d1d5db;--text-h:#f3f4f6;--text-muted:#9ca3af;--bg:#16171d;--surface:#1f2028;--border:#2e303a;--accent:#83bdbf;--accent-hover:#9fd0d2;--accent-text:#9fd0d2;--on-accent:#10191a;--accent-bg:#83bdbf2e;--danger:#f87171;--seat-taken:#3a3c47}}body{background:var(--bg);margin:0}.site-main{box-sizing:border-box;max-width:880px;margin:0 auto;padding:0 16px 48px}h1{color:var(--text-h);margin:32px 0 16px;font-size:28px;font-weight:700}p{margin:6px 0}a{color:var(--accent-text)}h1+a{margin-right:12px}[role=alert]{color:var(--danger)}ul{padding:0;list-style:none}li{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:10px;padding:12px 16px}button{font:inherit;border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent);color:var(--on-accent);cursor:pointer;margin:4px 8px 4px 0;padding:8px 16px;transition:background-color .2s}button:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}button:disabled{opacity:.5;cursor:not-allowed}form{max-width:400px}form>div{margin-bottom:12px}label{margin-bottom:4px;display:block}input{font:inherit;box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--text-h);padding:8px 10px}.seat-grid{grid-template-columns:repeat(10,1fr);gap:8px;max-width:560px;margin:16px 0;display:grid}.stage{text-align:center;border-radius:var(--radius);background:var(--seat-taken);max-width:560px;color:var(--text-muted);padding:6px 0;font-size:14px}.seat{aspect-ratio:1;border:1px solid var(--accent);background:var(--surface);color:var(--accent-text);margin:0;padding:0;font-size:13px}.seat:hover:not(:disabled){background:var(--accent-bg)}.seat.selected,.seat.selected:hover{background:var(--accent);color:var(--on-accent)}.seat:disabled{opacity:1;border-color:var(--seat-taken);background:var(--seat-taken);color:var(--text-muted)}.seat-legend{color:var(--text-muted);gap:16px;margin-bottom:12px;font-size:14px;display:flex}.seat-legend span:before{content:"";vertical-align:-1px;border:1px solid var(--accent);border-radius:3px;width:12px;height:12px;margin-right:6px;display:inline-block}.seat-legend .legend-selected:before{background:var(--accent)}.seat-legend .legend-taken:before{border-color:var(--seat-taken);background:var(--seat-taken)}@media (width<=480px){.seat-grid{grid-template-columns:repeat(5,1fr)}}.top-banner{background:var(--accent);color:var(--on-accent);text-align:center;padding:0 40px;font-size:15px;line-height:30px;position:relative}.top-banner-close{color:#fff;background:0 0;border:none;margin:0;padding:0 4px;font-size:20px;line-height:30px;position:absolute;top:0;right:max(16px,50% - 550px)}.top-banner-close:hover:not(:disabled){color:var(--on-accent);background:0 0}.site-header{box-sizing:border-box;justify-content:space-between;align-items:center;gap:16px;max-width:1100px;min-height:80px;margin:0 auto;padding:0 16px;display:flex}.site-logo img{width:170px;height:auto;display:block}.search-box{border:2px solid var(--accent);box-sizing:border-box;height:45px;color:var(--accent-text);background:var(--surface);border-radius:15px;flex:0 350px;align-items:center;gap:8px;padding:0 14px;display:flex}.search-box input{background:0 0;border:none;border-radius:0;outline:none;flex:1;min-width:0;padding:0;font-size:14px}.member-menu{white-space:nowrap;align-items:center;gap:10px;font-size:13px;display:flex}.member-menu a,.genre-nav a{color:var(--text-h);text-decoration:none}.member-menu a:hover{color:var(--accent-text)}.member-menu span{color:var(--border)}.link-button{color:var(--text-h);font-size:inherit;background:0 0;border:none;margin:0;padding:0}.link-button:hover:not(:disabled){color:var(--accent-text);background:0 0}.genre-nav{box-sizing:border-box;border-bottom:1px solid var(--border);max-width:1100px;margin:0 auto;padding:0 16px}.genre-nav ul{scrollbar-width:none;gap:4px;margin:0;display:flex;overflow-x:auto}.genre-nav li{text-align:center;white-space:nowrap;color:var(--text-h);background:0 0;border:none;border-radius:0;flex:1 0 auto;margin:0;padding:14px 10px;font-weight:700}.genre-nav li:hover{color:var(--accent-text)}.genre-nav .genre-brand{color:var(--accent-text);text-align:right}@media (width<=720px){.site-header{flex-wrap:wrap;padding-top:10px;padding-bottom:10px}.site-logo img{width:130px}.search-box{flex-basis:100%;order:3;height:40px}.genre-nav li{flex:none}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.auth-form{text-align:center;max-width:420px;margin:40px auto 0}.auth-form h1{margin-top:0}.auth-form label{text-align:left}.auth-logo{width:220px;height:auto;margin:0 auto 24px;display:block}.auth-form input{border-color:var(--accent);border-radius:4px;padding:12px}.auth-form input:focus{border-color:var(--accent-hover);box-shadow:0 0 0 1px var(--accent-hover);outline:none}.auth-form .auth-submit,.auth-form .auth-secondary{border-radius:4px;width:100%;margin:8px 0 0;padding:12px;display:block}.auth-form .auth-submit{font-size:18px}.auth-form .auth-secondary{background:var(--surface);color:var(--accent-text)}.auth-note{color:var(--text-muted);font-size:13px}.auth-links{margin-top:16px;font-size:14px}.poster-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:28px 20px;display:grid}.poster-grid .poster-card{background:0 0;border:none;margin:0;padding:0}.poster-card a{color:var(--text-h);text-decoration:none;display:block}.poster-image{aspect-ratio:3/4;object-fit:cover;border-radius:var(--radius);background:var(--seat-taken);width:100%;transition:box-shadow .2s;display:block}.poster-thumb{transition:transform .2s;position:relative}.booking-badge{color:#fff;background:#1e1e24b8;border-radius:4px;padding:2px 8px;font-size:12px;font-weight:700;position:absolute;top:8px;left:8px}.booking-badge-open{background:var(--accent);color:var(--on-accent)}.poster-card a:hover .poster-thumb{transform:translateY(-4px)}.poster-card a:hover .poster-image{box-shadow:0 8px 20px #00000026}.poster-empty{color:var(--text-muted);justify-content:center;align-items:center;font-size:14px;display:flex}.poster-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:10px;font-size:15px;line-height:1.4;display:-webkit-box;overflow:hidden}.poster-card a:hover .poster-title{color:var(--accent-text)}.poster-meta{color:var(--text-muted);justify-content:space-between;align-items:center;gap:8px;margin-top:4px;font-size:13px;display:flex}.poster-status{background:var(--accent-bg);color:var(--accent-text);border-radius:999px;flex-shrink:0;padding:1px 8px;font-size:12px}@media (width<=480px){.poster-grid{grid-template-columns:repeat(2,1fr);gap:20px 12px}}.detail{grid-template-columns:280px 1fr;align-items:start;gap:40px;margin-top:32px;display:grid}.detail-tags{align-items:center;gap:8px;margin:0;display:flex}.detail-category{color:var(--accent-text);font-size:13px;font-weight:700}.detail-title{word-break:keep-all;margin:8px 0 24px;line-height:1.3}.booking-box{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:20px}.booking-box h2{border-bottom:2px solid var(--accent);color:var(--text-h);margin:0 0 12px;padding-bottom:12px;font-size:16px}.booking-empty{text-align:center;flex-direction:column;align-items:center;padding:24px 8px 8px;display:flex}.booking-empty-icon{background:var(--accent-bg);border-radius:50%;place-items:center;width:56px;height:56px;margin-bottom:12px;font-size:26px;display:grid}.booking-empty-title{color:var(--text-h);margin:0;font-weight:700}.booking-empty-desc{color:var(--text-muted);margin:4px 0 16px;font-size:14px}.booking-empty button{width:100%;margin:0 0 12px;padding:12px}.booking-empty-link{font-size:14px;text-decoration:none}.schedule-list{margin:0}.schedule-list .schedule-item{border:none;border-bottom:1px solid var(--border);background:0 0;border-radius:0;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:14px 4px;display:flex}.schedule-list .schedule-item:last-child{border-bottom:none}.schedule-time{color:var(--accent-text);margin-left:4px;font-weight:700}.schedule-seats{color:var(--text-muted);margin:2px 0 0;font-size:13px}.schedule-select,.schedule-soldout{border-radius:var(--radius);flex-shrink:0;padding:6px 18px;font-size:14px;text-decoration:none}.schedule-select{background:var(--accent);color:var(--on-accent);transition:background-color .2s}.schedule-select:hover{background:var(--accent-hover);color:#fff}.schedule-soldout{background:var(--seat-taken);color:var(--text-muted)}@media (width<=640px){.detail{grid-template-columns:1fr;gap:20px}.detail-poster{max-width:220px;margin:0 auto}}
