:root{color-scheme:dark;--bg:#0d1014;--surface:#15191e;--surface-hover:#1c2228;--line:#2b3037;--muted:#9da4ac;--text:#f4f5f4;--lime:#d5fc74;--pink:#f5a7cd;--gold:#f4c766;--font:'IBM Plex Sans Thai',sans-serif;--display:'Space Grotesk','IBM Plex Sans Thai',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 var(--font)}button,input,select{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button{border:0;background:none}button:disabled{cursor:default;opacity:.35}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--lime);outline-offset:5px}button:hover:not(:disabled){filter:brightness(1.12)}[hidden]{display:none!important}h1,h2,h3,p{margin:0}svg{display:block;width:20px;height:20px;flex-shrink:0}.site-header{border-bottom:1px solid var(--line);background:var(--bg)}.header-inner{max-width:1376px;margin:auto;padding:0 48px;min-height:86px;display:flex;align-items:center;gap:62px}.wordmark{font:700 37px/1 var(--display);letter-spacing:-2px;display:flex;align-items:center;gap:3px}.wordmark span{color:var(--lime);font-size:32px;letter-spacing:0}.header-inner nav{display:flex;align-self:stretch;gap:34px}.nav-link{position:relative;padding:22px 0;font-size:15px;color:var(--muted);white-space:nowrap}.nav-link.active{color:var(--text)}.nav-link.active:after{position:absolute;bottom:0;height:3px;left:0;right:0;background:var(--lime);content:''}.tiny-label{font:600 12px var(--display);letter-spacing:.5px;color:var(--pink);background:#392733;padding:3px 5px;border-radius:3px;vertical-align:middle;margin-left:4px}.edition{margin-left:auto;display:flex;align-items:center;gap:12px;font:500 12px var(--display);letter-spacing:1px;color:var(--muted)}.edition span{border-left:1px solid var(--line);padding-left:12px;color:var(--lime)}.shell{max-width:1376px;margin:0 auto;padding:0 48px}.intro{display:flex;align-items:center;justify-content:space-between;padding:36px 0 30px}.eyebrow{font:500 12px/1.6 var(--display);letter-spacing:2px;color:var(--lime);margin-bottom:8px}h1{font-size:36px;font-weight:600;line-height:1.5;letter-spacing:-.9px}h1>span{color:var(--lime)}.intro-copy{color:var(--muted);font-size:15px;margin-top:3px}.update{display:flex;align-items:center;gap:13px;font-size:12px;line-height:1.8;color:var(--muted)}.update strong{font-weight:400;color:var(--text);font-size:13px}.update-icon{font-size:25px;color:var(--muted)}.explore-controls{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:24px;border-bottom:1px solid var(--line);margin-bottom:26px}.category-tabs{display:flex;gap:7px;flex-wrap:wrap}.category{border:1px solid var(--line);border-radius:7px;padding:9px 15px;font-size:14px;color:#c8cdd0;white-space:nowrap;display:flex;align-items:center;gap:8px;transition:background .15s,border-color .15s}.category.active{background:var(--lime);color:#19200e;border-color:var(--lime);font-weight:600}.category.idol-tab.active{background:var(--pink);border-color:var(--pink);color:#351326}.category #total-count{font:500 12px var(--display);background:#12180922;border-radius:4px;padding:2px 5px}.cat-icon{font-size:18px;line-height:1}.search{height:43px;border:1px solid var(--line);border-radius:7px;display:flex;align-items:center;gap:10px;padding:0 13px;flex:0 1 310px;background:var(--surface)}.search svg{color:var(--muted);width:17px;height:17px}.search input{color:var(--text);min-width:0;width:100%;outline:none;border:0;background:transparent;font-size:13px}.search input::placeholder{color:#a1a7ad}.search:focus-within{border-color:var(--lime)}.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:30px;align-items:start}.event-column{min-width:0}.section-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}.month-control{display:flex;align-items:center;gap:10px}.month-control h2{font-size:22px;line-height:1.4;font-weight:500}.month-control h2 span{font-family:var(--display);color:var(--muted);font-size:21px;font-weight:400;margin-left:5px}.icon-button{border:1px solid var(--line);border-radius:6px;min-width:30px;height:30px;display:inline-flex;justify-content:center;align-items:center;font:24px/1 var(--display);color:var(--muted);background:var(--surface)}.view-switch{display:flex;padding:3px;border:1px solid var(--line);border-radius:7px;gap:3px}.view-switch button{display:flex;align-items:center;gap:6px;border-radius:4px;padding:5px 9px;font-size:12px;color:var(--muted)}.view-switch button svg{width:15px;height:15px}.view-switch .active{background:#31363c;color:#fff}.result-options{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:19px}.result-options p{font-size:13px;color:var(--muted)}.past-check{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted);cursor:pointer}.past-check input{accent-color:var(--lime);width:14px;height:14px}.feature-card{display:grid;grid-template-columns:1fr .83fr;min-height:295px;border:1px solid var(--line);border-radius:11px;overflow:hidden;background:var(--surface);text-align:left;width:100%;padding:0;position:relative}.feature-art{position:relative;min-height:295px;background:#23252a;overflow:hidden}.feature-art img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .4s}.feature-card:hover img{transform:scale(1.03)}.feature-label{position:absolute;top:15px;left:15px;background:var(--lime);color:#253411;font:600 12px/1.4 var(--display);letter-spacing:1px;padding:6px 9px;border-radius:4px}.feature-copy{padding:22px;display:flex;flex-direction:column;justify-content:center}.tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.tag{font-size:12px;padding:2px 7px;border-radius:4px;background:#d5fc7413;color:var(--lime);display:inline-block}.tag.pop{background:#afd6ff14;color:#acd3fa}.tag.idol{background:#f5a7cd18;color:var(--pink)}.tag.ended{color:#afb4bc;background:#ffffff10}.feature-copy h3{font:600 27px/1.2 var(--display);letter-spacing:-.7px;margin:12px 0 15px}.event-meta{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.6;color:#bec4ca;margin-bottom:6px}.event-meta svg{width:15px;height:15px;margin-top:3px;color:var(--muted)}.price{font-weight:500;color:var(--lime);font-size:14px}.price.paid{color:#e5e6e7}.feature-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:18px;margin-top:12px;border-top:1px solid var(--line)}.round-arrow{border-radius:100%;width:29px;height:29px;border:1px solid #59623e;color:var(--lime);display:flex;align-items:center;justify-content:center;font-size:18px}.subsection-heading{font-weight:500;font-size:17px;display:flex;align-items:center;gap:12px;margin:29px 0 16px}.subsection-heading:after{content:'';height:1px;background:var(--line);flex:1}.event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.event-card{background:var(--surface);border:1px solid var(--line);border-radius:9px;overflow:hidden;text-align:left;padding:0;width:100%;display:flex;flex-direction:column;transition:border-color .15s,transform .2s}.event-card:hover{border-color:#626d50;transform:translateY(-3px)}.card-image{aspect-ratio:1.85;position:relative;background:#24282c;overflow:hidden}.card-image img{width:100%;height:100%;object-fit:cover;display:block}.date-stamp{position:absolute;left:12px;top:12px;background:#0d1014e8;backdrop-filter:blur(8px);border:1px solid #ffffff22;width:46px;padding:7px 2px;text-align:center;border-radius:5px}.date-stamp b{font:600 21px/1 var(--display);display:block}.date-stamp span{font-size:12px;color:#d2d6d9;display:block;margin-top:3px}.card-body{padding:17px;flex:1;display:flex;flex-direction:column}.card-body h3{font-size:17px;font-weight:500;line-height:1.4;margin:9px 0 12px}.card-body .event-meta{font-size:12px}.card-footer{border-top:1px solid var(--line);padding-top:12px;margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:5px}.card-footer .price{font-size:12px}.detail-link{color:var(--muted);font-size:12px}.poster-type{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;color:var(--lime);background:#20272a;font:500 18px/1.4 var(--display)}.poster-type.idol{color:var(--pink);background:#29202c}.poster-type .type-small{font:400 12px var(--display);letter-spacing:3px;color:var(--muted)}.panel{border:1px solid var(--line);border-radius:10px;background:var(--surface)}.mini-calendar{padding:19px;margin-top:2px}.mini-cal-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:19px}.mini-cal-heading h2{font-size:15px;font-weight:500}.text-button{font-size:12px;border:1px solid var(--line);border-radius:4px;padding:2px 8px;color:var(--muted)}.weekdays,.mini-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center}.weekdays{font-size:12px;color:var(--muted);margin-bottom:6px}.mini-day{font:400 12px var(--display);height:34px;position:relative;border-radius:5px;padding:0 0 4px}.mini-day.outside{color:#717981}.mini-day.today{border:1px solid #626d40;color:var(--lime)}.mini-day.selected{background:var(--lime);color:#1a220e;border:0}.mini-day:hover{background:#343c2c}.day-dots{position:absolute;bottom:3px;left:0;right:0;display:flex;justify-content:center;gap:2px}.day-dots i,.calendar-key i{width:4px;height:4px;display:inline-block;border-radius:100%}.lime-dot{background:var(--lime)}.pink-dot{background:var(--pink)}.mini-day.selected .day-dots i{background:#151d06}.calendar-key{display:flex;align-items:center;gap:15px;border-top:1px solid var(--line);padding-top:13px;margin-top:13px;color:var(--muted);font-size:12px}.calendar-key span{display:flex;align-items:center;gap:5px}.catsolute-panel{margin-top:19px;padding:20px;background:#18151b;border-color:#3a2b36}.rail-heading{display:flex;align-items:center;gap:6px}.rail-icon{font-size:18px;color:var(--pink)}.rail-heading .eyebrow{margin:0;font-size:12px;letter-spacing:1px;color:var(--pink)}.only-badge{font:500 12px var(--display);letter-spacing:.3px;margin-left:auto;color:var(--pink);border:1px solid #744b65;padding:3px;border-radius:3px}.catsolute-panel h2{font-size:25px;font-weight:500;line-height:1.5;margin-top:12px;display:flex;justify-content:space-between;align-items:center}.catsolute-panel h2 span{font:400 30px var(--display);color:var(--pink)}.rail-copy{font-size:12px;color:#b2a4af;margin:0 0 17px}.idol-rail-event{display:flex;gap:11px;text-align:left;padding:16px 0;border-top:1px solid #332831;width:100%}.rail-date{flex:0 0 37px;font:500 24px/1.1 var(--display);color:var(--pink);text-align:left}.rail-date span{display:block;font:400 12px var(--font);margin-top:5px;color:#b5a0af}.rail-event-info{min-width:0}.rail-event-info h3{font:500 13px/1.4 var(--display);margin-bottom:5px}.rail-event-info p{color:#b1a6af;font-size:12px;line-height:1.6}.full-button{display:flex;justify-content:space-between;align-items:center;width:100%;padding:10px 11px;border:1px solid #614756;border-radius:5px;color:var(--pink);font-size:12px;margin-top:7px}.data-note{font-size:12px;color:var(--muted);line-height:1.8;padding:16px 5px}.artist-filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.artist-chip{font-size:12px;padding:6px 10px;border:1px solid #4c3745;border-radius:5px;color:#dcc1d1}.artist-chip.active{background:var(--pink);color:#352431;border-color:var(--pink)}#selected-date{padding:9px 12px;border:1px solid #43512a;border-radius:5px;margin-bottom:15px;color:var(--lime);font-size:13px;display:flex;justify-content:space-between;align-items:center}#selected-date button{font-size:12px;text-decoration:underline}.empty{padding:65px 24px;border:1px dashed var(--line);border-radius:10px;text-align:center;color:var(--muted)}.empty h3{font-size:20px;font-weight:500;color:var(--text);margin:10px 0}.empty p{font-size:14px;max-width:360px;margin:0 auto 20px}.empty button{padding:8px 18px;border-radius:5px;border:1px solid #505e36;color:var(--lime)}.large-calendar{border:1px solid var(--line);border-radius:9px;overflow:hidden}.large-calendar .weekdays{margin:0;background:var(--surface);padding:12px 0;font-size:12px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-cell{border-top:1px solid var(--line);border-right:1px solid var(--line);min-height:112px;padding:7px 4px}.calendar-cell:nth-child(7n){border-right:none}.calendar-cell.outside{background:#101216;opacity:.5}.calendar-date{font:400 13px var(--display);display:block;margin:2px 0 9px 4px}.calendar-cell.is-today .calendar-date{color:var(--lime)}.calendar-event{display:block;width:100%;text-align:left;padding:4px 5px;font-size:12px;line-height:1.45;border-radius:3px;background:#d5fc7415;color:#daf396;margin-bottom:4px;overflow-wrap:anywhere}.calendar-event.idol{background:#f5a7cd18;color:var(--pink)}.calendar-event.pop{background:#afd6ff14;color:#acd3fa}.calendar-hint{color:var(--muted);font-size:12px;margin-top:10px}footer{border-top:1px solid var(--line);display:flex;align-items:center;gap:29px;margin-top:55px;padding:30px 0 35px}.footer-logo{font-size:28px}.footer-logo span{font-size:23px}.footer-copy{font:400 12px var(--display);letter-spacing:1px;color:#b5bbc1}.footer-copy p{font:400 12px var(--font);letter-spacing:0;color:var(--muted);margin-top:6px}.source-links{display:flex;flex-wrap:wrap;gap:12px;margin-left:auto;font-size:12px;color:#b5bbc1}.source-links span{width:100%;text-align:right;color:var(--muted)}.source-links a:hover{color:var(--lime)}dialog{border:1px solid #48503e;background:var(--bg);color:var(--text);border-radius:13px;padding:0;width:min(880px,calc(100% - 32px));max-height:90dvh;overflow-y:auto}dialog::backdrop{background:#030609cc;backdrop-filter:blur(5px)}.close-dialog{position:absolute;right:15px;top:15px;z-index:2;background:#101317ed;color:#fff;width:36px;height:36px}.detail-top{display:grid;grid-template-columns:270px 1fr;gap:27px;padding:30px}.detail-poster img{width:100%;height:auto;max-height:440px;object-fit:contain;border-radius:7px;display:block}.detail-poster .poster-type{min-height:240px;border-radius:7px}.detail-heading{padding:10px 15px 0 0}.detail-heading h2{font-size:28px;font-weight:600;line-height:1.3;margin:13px 0 22px}.detail-heading .event-meta{font-size:14px;margin-bottom:12px}.detail-description{font-size:14px;color:#c3c8cd;line-height:1.9;margin:17px 0}.detail-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.detail-actions a{font-size:13px;border:1px solid #515e37;padding:8px 11px;border-radius:5px;color:var(--lime)}.detail-actions a.primary{background:var(--lime);color:#202b0d}.detail-extra{padding:0 30px 30px}.detail-extra h3{font-size:18px;font-weight:500;margin:9px 0 10px}.detail-extra p{font-size:14px;line-height:1.8;color:#b6bdc5}.artist-list{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}.artist-list span{border:1px solid #57404f;padding:4px 10px;border-radius:4px;color:var(--pink);font-size:12px}.schedule-table{border-collapse:collapse;width:100%;font-size:14px}.schedule-table th{text-align:left;font-weight:400;color:var(--muted);padding:10px 12px;border-bottom:1px solid var(--line)}.schedule-table td{padding:10px 12px;border-bottom:1px solid var(--line)}.schedule-table td:first-child{font-family:var(--display);white-space:nowrap;color:var(--pink)}.source-note{border-top:1px solid var(--line);margin-top:23px;padding-top:15px;font-size:12px!important}.source-note a{text-decoration:underline;text-underline-offset:3px}.skip-link{position:absolute;left:10px;top:-100px;background:var(--lime);color:#000;padding:10px;z-index:100}.skip-link:focus{top:10px}.noscript{margin:30px;padding:20px}.noscript a{text-decoration:underline}
@media(min-width:1500px){.header-inner,.shell{max-width:1430px}.content-layout{grid-template-columns:minmax(0,1fr) 305px;gap:34px}.feature-art{min-height:330px}.feature-copy h3{font-size:31px}.event-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1100px){.shell,.header-inner{padding-left:28px;padding-right:28px}.header-inner{gap:40px}.content-layout{grid-template-columns:minmax(0,1fr) 260px;gap:23px}.category{padding:9px 11px}.search{flex-basis:260px}.feature-card{grid-template-columns:1fr 1fr}.feature-copy{padding:17px}.feature-copy h3{font-size:23px}.feature-art{min-height:300px}.feature-copy .event-meta{font-size:12px}.only-badge{font-size:12px}.catsolute-panel{padding:16px}.source-links{max-width:195px;gap:8px}.footer-copy{max-width:300px}}
@media(max-width:900px){.header-inner{gap:32px}.header-inner nav{gap:23px}.edition{display:none}.intro h1{font-size:31px}.update{display:none}.explore-controls{flex-wrap:wrap}.search{flex-basis:100%;height:42px}.content-layout{grid-template-columns:minmax(0,1fr) 230px;gap:19px}.mini-calendar{padding:14px}.feature-card{grid-template-columns:1fr}.feature-art{min-height:225px}.feature-copy{padding:19px}.feature-copy h3{font-size:25px}.feature-bottom{padding-top:10px;margin-top:6px}.event-grid{grid-template-columns:1fr}.card-image{aspect-ratio:2.1}.only-badge{display:none}.rail-event-info h3{font-size:13px}.catsolute-panel h2{font-size:22px}.calendar-cell{min-height:85px}.calendar-event{font-size:12px;padding:3px}.footer-copy{max-width:270px}.source-links{max-width:155px}}
@media(max-width:640px){.shell,.header-inner{padding-left:20px;padding-right:20px}.header-inner{min-height:73px;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:19px}.wordmark{font-size:32px}.wordmark span{font-size:27px}.header-inner nav{gap:25px;order:2;width:100%;margin-top:4px;justify-content:space-between}.nav-link{font-size:13px;padding:12px 0 14px}.tiny-label{font-size:12px}.intro{padding:25px 0 21px}.eyebrow{font-size:12px}.intro h1{font-size:29px;line-height:1.6;letter-spacing:-.7px}.intro-copy{font-size:13px;max-width:300px}.explore-controls{gap:13px;padding-bottom:20px;margin-bottom:20px}.category-tabs{gap:6px;display:grid;grid-template-columns:repeat(4,auto);width:100%}.category{padding:8px 9px;font-size:12px;justify-content:center;gap:5px}.cat-icon{display:none}.category #total-count{font-size:12px;padding:1px 4px}.search input{font-size:14px}.content-layout{grid-template-columns:1fr}.sidebar{display:grid;grid-template-columns:1fr;gap:15px}.mini-calendar{display:none}.catsolute-panel{margin-top:12px;padding:22px}.catsolute-panel h2{font-size:27px}.only-badge{display:block;font-size:12px}.rail-heading .eyebrow{font-size:12px}.rail-copy{font-size:14px}.rail-event-info h3{font-size:16px}.rail-event-info p{font-size:12px}.rail-date{font-size:28px;flex-basis:45px}.rail-date span{font-size:12px}.full-button{font-size:14px}.data-note{padding:0 5px;font-size:12px}.month-control{gap:7px}.month-control h2{font-size:20px}.month-control h2 span{font-size:19px}.view-switch button{padding:6px 8px}.view-switch button span{display:none}.view-switch button svg{height:19px;width:19px}.icon-button{min-width:29px;height:29px}.result-options p,.past-check{font-size:12px}.feature-card{grid-template-columns:1fr}.feature-art{min-height:250px;aspect-ratio:1.45}.feature-art img{object-fit:cover}.feature-copy{padding:21px}.feature-copy h3{font-size:29px;margin-top:13px}.feature-copy .event-meta{font-size:14px}.tag{font-size:12px}.feature-bottom{margin-top:10px}.event-grid{grid-template-columns:1fr;gap:16px}.event-card .card-image{aspect-ratio:1.8}.card-body{padding:19px}.card-body h3{font-size:20px}.card-body .event-meta{font-size:14px}.card-footer .price{font-size:14px}.detail-link{font-size:12px}.date-stamp{width:49px}.date-stamp b{font-size:24px}.date-stamp span{font-size:12px}.subsection-heading{font-size:19px}.calendar-event{font-size:12px;padding:4px 3px}.calendar-cell{padding:6px 2px;min-height:95px}.calendar-date{font-size:12px}.calendar-hint{font-size:12px}.large-calendar .weekdays{font-size:12px}footer{flex-wrap:wrap;gap:20px;margin-top:32px;padding-bottom:25px}.footer-copy{font-size:12px;flex:1;min-width:210px}.footer-copy p{font-size:12px}.source-links{max-width:none;width:100%;margin:0;font-size:12px;gap:17px}.source-links span{width:auto;text-align:left}.detail-top{grid-template-columns:1fr;padding:22px;gap:20px}.detail-poster{max-height:300px}.detail-poster img{max-height:300px}.detail-heading{padding:0}.detail-heading h2{font-size:26px}.detail-extra{padding:0 22px 25px}.detail-extra h3{font-size:17px}.schedule-table{font-size:12px}.schedule-table td,.schedule-table th{padding:10px 7px}.close-dialog{height:35px}.artist-chip{font-size:12px}.empty{padding:45px 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Readable labels and responsive calendar overflow. */
.intro-copy,.detail-description,.detail-extra p{font-size:1rem}
.category,.nav-link,.search input,.view-switch button,.result-options p,.past-check,.tag,.event-meta,.card-body .event-meta,.card-footer .price,.detail-link,.mini-day,.text-button,.calendar-key,.rail-copy,.rail-event-info p,.full-button,.artist-chip,.detail-actions a,.artist-list span{font-size:.875rem}
.feature-copy .event-meta{font-size:.875rem}.rail-event-info h3{font-size:1rem}.rail-heading{flex-wrap:wrap}.only-badge{margin-left:0;font-size:.75rem}.calendar-key{gap:12px}.mini-day{min-height:37px}.feature-art img{object-fit:contain}.feature-art{background:#171a1d}.feature-copy h3{overflow-wrap:anywhere}.source-note,.footer-copy p,.data-note{font-size:.75rem}.tiny-label{font-size:.625rem}.edition,.eyebrow,.feature-label{font-size:.75rem}.calendar-event{font-size:.75rem}.schedule-table{font-size:.875rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:901px){.feature-card{grid-template-columns:.8fr 1fr}.feature-art{min-height:350px}}
@media(max-width:1100px){.explore-controls{flex-wrap:wrap}.search{flex:1 1 260px}.header-inner nav{gap:22px}}
@media(max-width:640px){.category-tabs{display:flex;flex-wrap:wrap}.category{flex:1 1 auto;padding:9px 11px}.feature-art{min-height:300px;aspect-ratio:1.2}.large-calendar{overflow-x:auto}.large-calendar .weekdays,.calendar-grid{min-width:700px}.calendar-cell{min-height:115px}.calendar-event{font-size:.75rem}.calendar-key{font-size:.75rem}.only-badge{margin-left:auto}.detail-actions a{font-size:.875rem}.header-inner nav{gap:12px}.nav-link{font-size:.875rem}.footer-copy{line-height:1.6}.tiny-label{display:none}}

.idol-agenda{display:grid;gap:22px}.agenda-note{font-size:.875rem;color:var(--muted);margin-bottom:18px;line-height:1.8}.schedule-event{border:1px solid #473441;border-radius:10px;overflow:hidden;background:#151319}.schedule-event-heading{display:flex;align-items:center;gap:17px;padding:20px;text-align:left;width:100%;background:#211b24}.schedule-event-heading h3{font-size:1.15rem;font-weight:500;line-height:1.4;margin:9px 0 3px}.schedule-event-heading p{font-size:.875rem;color:var(--muted)}.schedule-event-heading>.round-arrow{margin-left:auto;flex-shrink:0;color:var(--pink);border-color:#74536b}.schedule-thumb{width:78px;height:90px;flex-shrink:0;border-radius:5px;overflow:hidden}.schedule-thumb img{height:100%;width:100%;object-fit:cover}.schedule-event .schedule-table th,.schedule-event .schedule-table td{padding:12px 18px}.schedule-event .schedule-table td:last-child{color:var(--muted)}.schedule-event .schedule-table tr:last-child td{border-bottom:0}.schedule-date{display:block;color:var(--muted);font:400 .75rem var(--font);margin-bottom:3px}.schedule-scroll{overflow-x:auto}.original-schedule{display:inline-block;color:var(--pink);font-size:.875rem;text-decoration:underline;margin:18px 0 0;text-underline-offset:4px}.schedule-event>.agenda-note{padding:18px;margin:0}.schedule-table td:first-child{min-width:120px}
@media(max-width:640px){.schedule-event-heading{padding:15px;gap:12px}.schedule-thumb{width:59px;height:74px}.schedule-event-heading h3{font-size:1rem}.schedule-event .schedule-table th,.schedule-event .schedule-table td{padding:11px 9px;font-size:.8125rem}.schedule-event-heading>.round-arrow{display:none}.schedule-table td:first-child{min-width:106px}.schedule-event-heading .tag{font-size:.75rem}}
.schedule-kind{display:inline-flex;align-items:center;white-space:nowrap;border:1px solid #4a4f55;border-radius:999px;padding:3px 8px;font-size:.75rem;line-height:1.35;color:var(--muted)}.schedule-kind.stage{border-color:#8a5877;background:#f5a7cd12;color:var(--pink)}.schedule-kind.booth{border-color:#5b7042;background:#d5fc7410;color:var(--lime)}
.month-hint{margin:0 0 7px;color:#c7ccd1;font-size:.875rem;line-height:1.5}.month-hint span{color:var(--lime);font:500 1rem var(--display);letter-spacing:.2rem;margin-left:.2rem}

/* Rich event details and in-page Catsolute visuals. */
.card-image img{object-fit:contain;background:#111419}
dialog{width:min(1040px,calc(100% - 32px))}
.idol-gallery-block{margin:0 30px 28px;padding:22px;border:1px solid #533b4b;border-radius:10px;background:linear-gradient(145deg,#211820,#151419)}
.detail-section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:16px}
.detail-section-heading .eyebrow{color:var(--pink);margin:0 0 4px}
.detail-section-heading h3{font-size:1.2rem;font-weight:500}
.detail-section-heading>p{color:#bbaab5;font-size:.8rem;text-align:right}
.idol-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.idol-gallery figure{margin:0;border:1px solid #4b3845;border-radius:8px;overflow:hidden;background:#0d0d10}
.idol-gallery img{display:block;width:100%;height:520px;object-fit:contain;background:#0b0c0f}
.idol-gallery figcaption{padding:10px 12px;color:#d7c4d0;font-size:.8rem;border-top:1px solid #3e303a}
.detail-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:26px}
.detail-facts>div{padding:14px;border:1px solid var(--line);border-radius:7px;background:var(--surface)}
.detail-facts span{display:block;color:var(--muted);font-size:.75rem;margin-bottom:5px}
.detail-facts strong{display:block;font-size:.9rem;line-height:1.6;font-weight:500}
.detail-section{border-top:1px solid var(--line);padding-top:19px;margin-top:21px}
.detail-section h3{display:flex;align-items:center;gap:9px}
.section-count{font-size:.75rem;color:var(--pink);border:1px solid #5d4253;border-radius:999px;padding:2px 8px}
.detail-highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 22px;margin:0;padding:0;list-style:none}
.detail-highlights li{position:relative;padding:9px 10px 9px 24px;border-radius:5px;background:#ffffff05;color:#cdd1d5;font-size:.9rem}
.detail-highlights li:before{content:'✦';position:absolute;left:8px;color:var(--lime)}
.detail-pills,.lineup-list{display:flex;flex-wrap:wrap;gap:7px}
.detail-pills span,.lineup-list span{padding:6px 10px;border:1px solid #414850;border-radius:5px;background:#171b20;color:#d8dce0;font-size:.8rem}
.lineup-list span{border-color:#5b4151;background:#211820;color:#f0c7dc}
.schedule-note{margin:0 0 12px;padding:11px 13px;border-left:3px solid var(--pink);background:#f5a7cd0b;color:#c9bac3!important;font-size:.8rem!important}
.image-credit{border-top:1px solid var(--line);margin-top:24px;padding-top:14px;color:var(--muted)!important;font-size:.75rem!important}
.category.fashion-tab.active{background:var(--gold);border-color:var(--gold);color:#2f2510}
.tag.fashion{background:#f4c76618;color:var(--gold)}
.tag.fashion-type{background:#ffffff0b;color:#d7d9dc;border:1px solid #3b4148}
.artist-filters.fashion-mode .artist-chip{border-color:#655535;color:#e8d6ad}
.artist-filters.fashion-mode .artist-chip.active{background:var(--gold);border-color:var(--gold);color:#31270f}
.calendar-event.fashion{background:#f4c76617;color:#f3d994}
.schedule-kind.fashion{border-color:#75613b;background:#f4c76612;color:var(--gold)}
@media(max-width:700px){.idol-gallery-block{margin:0 22px 24px;padding:16px}.idol-gallery{grid-template-columns:1fr}.idol-gallery img{height:auto;max-height:620px}.detail-section-heading{display:block}.detail-section-heading>p{text-align:left;margin-top:5px}.detail-facts{grid-template-columns:1fr}.detail-highlights{grid-template-columns:1fr}}

/* Mobile category order: four topics first, then the full-width all-events tab. */
@media(max-width:640px){.category-tabs{display:grid;grid-template-columns:.78fr 1.08fr 1.45fr .92fr;gap:6px;width:100%}.category{min-width:0;padding:9px 5px;font-size:.75rem}.category[data-category="idol"]{grid-column:1;grid-row:1}.category[data-category="cosplay"]{grid-column:2;grid-row:1}.category[data-category="pop"]{grid-column:3;grid-row:1}.category[data-category="fashion"]{grid-column:4;grid-row:1}.category[data-category="all"]{grid-column:1/-1;grid-row:2}.category #total-count{font-size:.75rem}}

/* Keep upcoming events easy to scan while retaining a visible monthly archive. */
.event-group{margin-bottom:34px}
.event-group+.event-group{border-top:1px solid var(--line);padding-top:27px}
.event-group-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:17px}
.event-group-heading h3{font-size:21px;font-weight:600;line-height:1.35;letter-spacing:-.2px}
.event-group-eyebrow{display:block;margin-bottom:5px;color:var(--lime);font:600 11px/1.4 var(--display);letter-spacing:1.7px}
.event-group-count{flex-shrink:0;color:var(--muted);font-size:13px;line-height:1.3;border:1px solid var(--line);border-radius:99px;padding:5px 10px}
.event-group-ongoing .event-group-eyebrow{color:var(--gold)}
.event-group-past .event-group-eyebrow,.event-group-past .event-group-heading h3{color:#aab1b8}
.event-group-past .event-card{border-color:#353b40}
.event-group-past .card-image img{filter:saturate(.78) brightness(.9)}
.event-group .feature-card+.event-grid{margin-top:18px}
.event-group .idol-agenda{gap:18px}
@media(max-width:640px){.event-group{margin-bottom:28px}.event-group+.event-group{padding-top:22px}.event-group-heading{margin-bottom:14px}.event-group-heading h3{font-size:19px}.event-group-count{font-size:12px;padding:4px 9px}}

/* Editorial picks on the home view; source posters remain in event details. */
.spotlight{margin:0 0 27px}
.spotlight[hidden]{display:none}
.spotlight-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;color:var(--muted);font-size:.875rem}
.spotlight-heading-copy{display:flex;align-items:baseline;flex-wrap:wrap;gap:7px 13px}
.spotlight-heading .eyebrow{color:var(--lime);font-weight:600;letter-spacing:.16em;margin:0}
.spotlight-controls{display:flex;gap:7px;flex-shrink:0}
.spotlight-nav{min-height:44px;padding:7px 13px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--text);font-size:.875rem}
.spotlight-nav:hover:not(:disabled){border-color:var(--lime);color:var(--lime)}
.spotlight-nav:disabled{opacity:.35;cursor:default}
.spotlight-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;padding:4px;margin:-4px;isolation:isolate}
.spotlight-track::-webkit-scrollbar{display:none}
.spotlight-card{display:grid;grid-template-columns:minmax(0,270px) minmax(0,1fr);flex:0 0 100%;width:100%;min-width:0;overflow:hidden;text-align:left;border:1px solid #567044;border-radius:12px;background:linear-gradient(120deg,#1c2e21 0%,#16221e 42%,#151b1a 100%);transition:border-color .2s;scroll-snap-align:start;scroll-snap-stop:always}
.spotlight-card:hover,.spotlight-card:focus-visible{border-color:var(--lime)}
.spotlight-card:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
.spotlight-art{display:block;min-height:300px;min-width:0;background:#111914}
.spotlight-art img{display:block;width:100%;height:100%;object-fit:contain}
.spotlight-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:11px;min-width:0;padding:24px 34px}
.spotlight-kicker{display:inline-block;padding:5px 10px;border:1px solid #718c53;border-radius:8px;color:var(--lime);font:500 .875rem/1.4 var(--display);letter-spacing:.04em}
.spotlight-copy strong{display:block;font:600 clamp(1.3rem,2.4vw,2rem)/1.3 var(--display);overflow-wrap:anywhere}
.spotlight-meta{color:#c9d0c8;font-size:.95rem;line-height:1.6}
.spotlight-summary{color:var(--muted);font-size:1rem;line-height:1.7}
.spotlight-editorial{display:flex;flex-direction:column;gap:4px;padding-left:12px;border-left:2px solid var(--lime)}
.spotlight-editorial-byline{font-size:.875rem;line-height:1.5;color:var(--muted)}
.spotlight-editorial-title{font:500 1rem/1.5 var(--display);color:var(--lime);overflow-wrap:anywhere}
.spotlight-link{margin-top:3px;color:var(--lime);font-size:.9rem;font-weight:600}
.spotlight-pagination{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.875rem;margin-top:7px}
.spotlight-dots{display:flex;align-items:center}
.spotlight-dot{display:grid;place-items:center;width:44px;height:44px;border:0;background:transparent;padding:0}
.spotlight-dot span{width:8px;height:8px;border-radius:99px;background:#58634f;transition:width .2s,background .2s}
.spotlight-dot[aria-pressed="true"] span{width:25px;background:var(--lime)}
.spotlight-hint{margin-left:auto}
.spotlight-nav:focus-visible,.spotlight-dot:focus-visible,.spotlight-track:focus-visible{outline:2px solid var(--lime);outline-offset:2px}
.costume-table-wrap{overflow-x:auto}
.costume-table{width:100%;border-collapse:collapse;font-size:1rem;line-height:1.6}
.costume-table th,.costume-table td{padding:14px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.costume-table th{font-weight:500;color:var(--muted)}
.costume-table td:first-child{font-weight:600;white-space:nowrap}
.costume-table td span{display:block}
@media(max-width:640px){.spotlight{margin-bottom:22px}.spotlight-heading{align-items:flex-start;gap:10px}.spotlight-heading-copy{display:block;line-height:1.6}.spotlight-heading-copy>span{display:block}.spotlight-nav{padding:7px 10px}.spotlight-card{grid-template-columns:minmax(110px,35%) minmax(0,1fr);border-radius:9px}.spotlight-art{min-height:260px}.spotlight-art img{object-fit:contain}.spotlight-copy{gap:9px;padding:15px 13px}.spotlight-kicker{font-size:.875rem;padding:4px 7px;letter-spacing:0}.spotlight-copy strong{font-size:1.125rem;line-height:1.4}.spotlight-meta,.spotlight-summary{font-size:.875rem;line-height:1.6}.spotlight-link{font-size:.875rem;margin:0}.spotlight-pagination{gap:5px}.spotlight-hint{font-size:.75rem}.costume-table th,.costume-table td{padding:12px 8px;font-size:.875rem}}
@media(max-width:360px){.spotlight-card{grid-template-columns:1fr}.spotlight-art{min-height:0;height:260px}.spotlight-copy{padding:16px}.spotlight-heading-copy>span:nth-child(2){display:none}.spotlight-hint{max-width:135px;text-align:right}.spotlight-kicker{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){.spotlight-dot span,.spotlight-card{transition:none}}
.spotlight-card.spotlight-poster{grid-template-columns:minmax(0,380px) minmax(0,1fr);background:#0d1014;border-color:#718b4a}
.spotlight-poster .spotlight-art{min-height:0;aspect-ratio:3/4;background:#0d1014}
.spotlight-poster .spotlight-art img{height:100%;object-fit:cover}
.spotlight-poster .spotlight-copy{gap:13px;padding:24px 30px}
.spotlight-poster .spotlight-subtitle{color:#d5d9dd;font-size:1.05rem;line-height:1.45}
.spotlight-poster .spotlight-meta{line-height:1.5}
@media(max-width:640px){
 .spotlight-card.spotlight-poster{grid-template-columns:1fr}
 .spotlight-poster .spotlight-art{width:100%;min-height:0;height:auto;aspect-ratio:3/4}
 .spotlight-poster .spotlight-art img{width:100%;height:100%;object-fit:cover}
 .spotlight-poster .spotlight-copy{padding:15px 18px 18px;gap:5px}
 .spotlight-poster .spotlight-kicker{padding:0;border:0;letter-spacing:.12em;font-size:.72rem}
 .spotlight-poster .spotlight-copy strong{font-size:1.15rem;line-height:1.25}
 .spotlight-poster .spotlight-subtitle{font-size:.87rem}
 .spotlight-poster .spotlight-meta{font-size:.8rem;line-height:1.45}
 .spotlight-poster .spotlight-link{margin-top:5px;font-size:.86rem}
 .spotlight-card:not(.spotlight-poster){grid-template-columns:1fr;grid-template-rows:auto 1fr}
 .spotlight-card:not(.spotlight-poster) .spotlight-art{width:100%;min-height:0;height:auto;aspect-ratio:4/5}
 .spotlight-card:not(.spotlight-poster) .spotlight-art img{width:100%;height:100%;object-fit:cover}
 .spotlight-card:not(.spotlight-poster) .spotlight-copy{justify-content:flex-start;padding:15px 18px 18px;gap:5px}
 .spotlight-card:not(.spotlight-poster) .spotlight-kicker{padding:0;border:0;letter-spacing:.12em;font-size:.72rem}
 .spotlight-card:not(.spotlight-poster) .spotlight-meta{font-size:.8rem;line-height:1.45}
 .spotlight-card:not(.spotlight-poster) .spotlight-summary{display:none}
 .spotlight-card:not(.spotlight-poster) .spotlight-link{margin-top:5px;font-size:.86rem}
}
