: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;--grade-vip:#7c3aed;--grade-r:#c2410c;--grade-s:#1d4ed8;--grade-a:#4d7c0f;--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;--grade-vip:#c4a7fb;--grade-r:#fdba74;--grade-s:#93c5fd;--grade-a:#bef264}}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(--grade,var(--accent));background:var(--surface);color:var(--grade,var(--accent-text));border-width:2px;margin:0;padding:0;font-size:13px}.grade-vip{--grade:var(--grade-vip)}.grade-r{--grade:var(--grade-r)}.grade-s{--grade:var(--grade-s)}.grade-a{--grade:var(--grade-a)}.grade-legend{flex-wrap:wrap;gap:8px 16px;margin:0 0 8px;padding:0;font-size:14px;list-style:none;display:flex}.grade-legend li{background:0 0;border:0;margin:0;padding:0}.grade-legend li:before{content:"";vertical-align:-1px;border:2px solid var(--grade);border-radius:3px;width:12px;height:12px;margin-right:6px;display:inline-block}.grade-legend strong{color:var(--grade)}.seat:hover:not(:disabled){background:var(--accent-bg)}.seat.selected,.seat.selected:hover{border-color:var(--accent);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{appearance:none;background:0 0;border:none;border-radius:0;outline:none;flex:1;min-width:0;padding:0;font-size:14px}.search-button{color:inherit;cursor:pointer;background:0 0;border:none;padding:0;display:flex}.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{white-space:nowrap;color:var(--text-h);background:0 0;border:none;border-radius:0;flex:none;margin:0;padding:0;font-weight:700}.genre-nav li a{border-bottom:3px solid #0000;padding:14px 14px 11px;display:block}.genre-nav li a:hover{color:var(--accent-text)}.genre-nav li a.active{color:var(--accent-text);border-bottom-color:var(--accent)}.genre-nav .genre-brand{color:var(--accent-text);margin-left:auto;padding:14px 10px}@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)}.booking-badge-ended{background:#787880d9}.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-period{color:var(--text-muted);font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:12px}.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}.detail-info{grid-template-columns:auto 1fr;gap:4px 16px;margin:-8px 0 24px;font-size:14px;display:grid}.detail-info dt{color:var(--text-muted)}.detail-info dd{color:var(--text-h);margin:0}.detail-map-link{color:var(--accent-text);white-space:nowrap;margin-left:8px;font-size:13px}.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 0;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;padding:12px}.booking-more{text-align:center;margin:12px 0 0}.booking-more-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}}.list-filters{flex-direction:column;gap:10px;margin:0 0 20px;display:flex}.status-filter{align-items:center;gap:8px;display:flex}.filter-chips{flex-wrap:wrap;gap:8px;min-width:0;display:flex}.filter-label{min-width:64px;color:var(--text-muted);flex:none;font-size:13px;font-weight:600}.status-chip{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;margin:0;padding:4px 14px;font-size:14px}.status-chip:hover:not(:disabled){border-color:var(--accent);background:var(--accent-bg);color:var(--accent-text)}.status-chip-active,.status-chip-active:hover:not(:disabled){border-color:var(--accent);background:var(--accent);color:var(--on-accent);font-weight:700}@media (width<=480px){.filter-label{min-width:52px}.filter-chips{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.status-chip{white-space:nowrap;flex:none}}.list-count{color:var(--accent-text);margin-left:4px;font-size:18px}.list-empty{text-align:center;color:var(--text-muted);padding:48px 0}.load-more{background:var(--surface);width:100%;max-width:320px;color:var(--accent-text);margin:32px auto 0;padding:12px;display:block}.admin-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:20px;padding:20px 24px}.admin-card h2{color:var(--text-h);margin:0 0 16px;font-size:20px}.admin-card select{font:inherit;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--text-h);padding:8px 10px}.admin-search{gap:8px;display:flex}.admin-search button{flex-shrink:0;margin:0}.admin-results{max-height:240px;margin:8px 0 0;overflow-y:auto}.admin-results li{margin-bottom:4px;padding:6px 10px}.admin-results .link-button,.admin-selected .link-button{text-align:left}.admin-selected{color:var(--text-h);align-items:center;gap:12px;font-weight:600;display:flex}.admin-hint{color:var(--text-muted);font-size:13px}.admin-success{color:var(--accent-text)}.admin-grades{border:1px solid var(--border);border-radius:var(--radius);margin:0 0 16px;padding:12px 16px}.admin-grades legend{color:var(--text-h);padding:0 4px;font-size:15px}.admin-grades table{table-layout:fixed;border-collapse:collapse;width:100%;font-size:14px}.admin-grades th{white-space:nowrap;text-align:left;color:var(--text-muted);padding:4px 6px;font-weight:500}.admin-grades td{padding:4px 6px}.admin-grades td input{box-sizing:border-box;width:100%;min-width:0;margin:0}.admin-grades th:first-child{width:52px}.admin-grades th:last-child{width:76px}.admin-grades td:first-child{color:var(--grade);white-space:nowrap;font-weight:600}.admin-grades .admin-hint{margin:8px 0 0}.admin-grades .grade-mismatch{color:var(--danger)}@media (width<=480px){.admin-grades th:last-child,.admin-grades td:last-child{display:none}.admin-grades td input{padding-left:8px;padding-right:4px}}.modal-backdrop{z-index:100;background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{border-radius:var(--radius);background:var(--surface);text-align:center;width:100%;max-width:340px;padding:28px 24px 20px;box-shadow:0 10px 30px #0003}.modal-message{color:var(--text-h);margin:0 0 20px;font-size:17px;font-weight:600}.modal-actions{justify-content:center;gap:8px;display:flex}.modal-actions button{min-width:100px;margin:0}.modal-actions .button-secondary,.refund-actions .button-secondary,.queue-soldout .button-secondary{background:var(--surface);color:var(--accent-text)}.queue-box{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);max-width:480px;margin:24px auto;padding:32px 24px}.queue-box h1{margin-top:0}.queue-big{font-variant-numeric:tabular-nums;color:var(--accent-text);margin:8px 0;font-size:40px;font-weight:700}.queue-open-at{color:var(--text-h)}.queue-seats strong{color:var(--accent-text)}.queue-soldout{border:1px solid var(--danger);border-radius:var(--radius);margin-top:16px;padding:12px 16px;font-size:14px}.queue-soldout p{margin:4px 0}.queue-soldout strong{color:var(--danger)}.queue-soldout button{margin-top:8px}.queue-hint{color:var(--text-muted);margin-top:16px;font-size:13px}.queue-banner{border-radius:var(--radius);background:var(--accent-bg);color:var(--text-h);padding:8px 12px;font-size:14px}.schedule-opens{color:var(--accent-text)}.cancel-policy{color:var(--text-muted);margin:8px 0 16px;font-size:13px}.cancelled-toggle{background:var(--surface);color:var(--accent-text);margin:16px 0;display:block}.refund-preview{border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent-bg);margin-top:8px;padding:12px 16px}.refund-preview dl{grid-template-columns:auto 1fr;gap:4px 16px;margin:0;display:grid}.refund-preview dt{color:var(--text-muted)}.refund-preview dd{text-align:right;color:var(--text-h);margin:0}.refund-reason{color:var(--text-muted);margin:8px 0 0;font-size:13px}.refund-actions{gap:8px;margin-top:12px;display:flex}.refund-actions button{margin:0}.payment-deadline{color:var(--accent-text);font-weight:600}.payment-guide{color:var(--text-muted);margin:8px 0 12px;padding-left:20px;font-size:14px;list-style:outside}.payment-guide li{background:0 0;border:none;margin:0 0 4px;padding:0}.toss-widget{border:1px solid var(--border);background:var(--surface);border-radius:8px;margin:12px 0;padding:12px}.toss-widget .button-secondary{background:var(--surface);color:var(--accent-text)}
