.convention-main{width:min(1180px,calc(100% - 2rem));margin:2rem auto 4rem;color:#f8f6ff}.convention-hero{padding:clamp(1.5rem,4vw,3.5rem);border:1px solid #6942a3;background:radial-gradient(ellipse at 85% 15%,#55218f 0,transparent 45%),linear-gradient(135deg,#18102f,#0a0a17 75%);box-shadow:0 14px 45px #0005}.convention-eyebrow{margin:0 0 .6rem;color:#baff19;font-size:.76rem;font-weight:900;letter-spacing:.16em}.convention-hero h1{margin:.15rem 0 .5rem;font-size:clamp(2rem,5vw,3.6rem);line-height:1.05}.convention-hero>p:not(.convention-eyebrow){max-width:55rem;color:#d5d0e2;font-size:1.05rem;line-height:1.55}.prototype-note{display:flex;gap:.8rem;align-items:flex-start;margin-top:1.5rem;padding:.9rem 1rem;border-left:4px solid #baff19;background:#ffffff0c;color:#e5e0ee;font-size:.87rem;line-height:1.45}.prototype-note strong{white-space:nowrap;color:#baff19}.calendar-panel{margin-top:1.5rem;padding:clamp(1rem,2.5vw,1.6rem);border:1px solid #ffffff25;background:#11101dcc;box-shadow:0 12px 35px #0004}.calendar-toolbar,.month-controls,.view-switch{display:flex;align-items:center}.calendar-toolbar{justify-content:space-between;gap:1rem;flex-wrap:wrap}.month-controls{gap:.65rem}.month-controls h2{min-width:13ch;margin:0;text-align:center;font-size:1.35rem}.icon-button,.today-button,.view-switch button{min-height:42px;border:1px solid #7660a5;background:#1a1530;color:#fff;border-radius:6px;font:inherit;font-weight:750;cursor:pointer}.icon-button{width:42px;font-size:1.8rem;line-height:1}.today-button{padding:0 .85rem}.view-switch{padding:3px;border:1px solid #594579;border-radius:8px}.view-switch button{min-height:34px;padding:0 .8rem;border:0;background:transparent}.view-switch button[aria-pressed=true]{background:#6238aa;color:#fff}.icon-button:hover,.today-button:hover,.view-switch button:hover{border-color:#baff19}.calendar-filters{display:grid;grid-template-columns:minmax(220px,2fr) minmax(150px,1fr) minmax(170px,1fr);gap:.85rem;margin:1.25rem 0 .5rem}.calendar-filters label{display:grid;gap:.38rem;color:#d5d0e2;font-size:.82rem;font-weight:750}.calendar-filters input,.calendar-filters select{width:100%;min-height:44px;padding:.65rem .75rem;border:1px solid #5d5273;border-radius:5px;background:#080812;color:#fff;font:inherit}.calendar-filters input::placeholder{color:#a9a3b8}.result-count,.source-note{color:#c3bdcf;font-size:.85rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid #51475e;border-left:1px solid #51475e}.weekday,.calendar-day{min-width:0;border-right:1px solid #51475e;border-bottom:1px solid #51475e}.weekday{padding:.6rem .3rem;background:#211a31;color:#d3c9e5;text-align:center;font-size:.76rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.calendar-day{min-height:112px;padding:.4rem;background:#11101a}.calendar-day.is-outside{background:#0b0a11;color:#77717e}.day-number{display:block;margin-bottom:.35rem;color:#ded8e9;font-size:.8rem;font-weight:800}.calendar-day.is-today .day-number{display:grid;place-items:center;width:1.7rem;height:1.7rem;margin:-.2rem 0 .25rem;border-radius:50%;background:#baff19;color:#15151b}.event-chip{display:block;width:100%;margin:.22rem 0;padding:.34rem .4rem;overflow:hidden;border:0;border-left:3px solid #c567ff;border-radius:3px;background:#3b245a;color:#fff;text-align:left;text-overflow:ellipsis;white-space:nowrap;font-family:inherit;font-size:.7rem;font-weight:700;line-height:1.25;cursor:pointer}.event-chip:hover{background:#60389a}.event-chip.type-gaming{border-color:#48d7cd}.event-chip.type-anime{border-color:#ff6c9e}.event-chip.type-collectibles{border-color:#ffbf4a}.more-events{color:#cbb6ea;font-size:.68rem}.event-list{display:grid;gap:.65rem}[hidden]{display:none!important}.event-card{display:grid;grid-template-columns:100px minmax(0,1fr) auto;gap:1rem;align-items:center;padding:.9rem 1rem;border:1px solid #51475e;background:#171421}.event-date{color:#baff19;font-size:.78rem;font-weight:850;text-transform:uppercase}.event-card h3{margin:0 0 .25rem;font-size:1rem}.event-card p{margin:.15rem 0;color:#d0cadb;font-size:.86rem}.event-card button,.official-link{padding:.55rem .8rem;border:1px solid #8b66c1;border-radius:4px;background:#3c2362;color:#fff;font:inherit;font-size:.8rem;font-weight:800;text-decoration:none;cursor:pointer}.event-card button:hover,.official-link:hover{background:#5c3591}.empty-state{padding:2rem;text-align:center;color:#d0cadb}.source-note{margin:1rem .2rem}.event-dialog{width:min(560px,calc(100% - 2rem));padding:1.5rem;border:1px solid #8d6bbc;border-radius:10px;background:#151221;color:#f9f6ff;box-shadow:0 20px 80px #000b}.event-dialog::backdrop{background:#05040bc9}.dialog-close{float:right;width:38px;height:38px;border:1px solid #66577c;border-radius:50%;background:#211b2c;color:white;font-size:1.45rem;cursor:pointer}.event-dialog h2{margin:1rem 2rem 1rem 0;font-size:1.6rem}.event-dialog p{color:#ddd7e9;line-height:1.5}.detail-date{color:#baff19!important;font-weight:850}.event-tags{display:flex;gap:.45rem;flex-wrap:wrap;margin:.7rem 0}.event-tag{padding:.28rem .55rem;border-radius:99px;background:#302444;color:#e3d7f5;font-size:.74rem;font-weight:750}@media(max-width:700px){.convention-main{width:min(100% - 1rem,1180px);margin-top:1rem}.calendar-filters{grid-template-columns:1fr 1fr}.calendar-filters .search-label{grid-column:1/-1}.calendar-day{min-height:84px;padding:.25rem}.weekday{font-size:.62rem}.event-chip{padding:.27rem .25rem;font-size:.62rem}.event-card{grid-template-columns:72px minmax(0,1fr);gap:.6rem}.event-card button{grid-column:2;justify-self:start}.prototype-note{display:block}.prototype-note span{display:block;margin-top:.35rem}}@media(max-width:420px){.calendar-toolbar{align-items:flex-start}.month-controls{gap:.35rem}.month-controls h2{min-width:10ch;font-size:1.1rem}.icon-button{width:36px;height:38px;min-height:38px}.today-button{padding:0 .55rem}.view-switch button{padding:0 .5rem}.calendar-day{min-height:74px}.more-events{font-size:.58rem}}
/* Keep the shared floating promo from covering calendar dates or event controls. */
.convention-main~.sticky-promo{position:static;left:auto;bottom:auto;transform:none;margin:1rem auto}.convention-main~.sticky-promo.is-changing{transform:none}
/* Week/day convention browsing: date-led and responsive, with no map dependency. */
.period-controls,.calendar-toolbar{display:flex;align-items:center}.calendar-toolbar{justify-content:space-between;gap:1rem;flex-wrap:wrap}.period-controls{gap:.65rem}.period-controls h2{min-width:18ch;margin:0;text-align:center;font-size:1.25rem}.date-picker{display:flex;align-items:center;gap:.55rem;color:#d5d0e2;font-size:.82rem;font-weight:750}.date-picker input{min-height:42px;padding:.45rem .6rem;border:1px solid #5d5273;border-radius:5px;background:#080812;color:#fff;font:inherit}.calendar-filters{grid-template-columns:minmax(200px,2fr) repeat(4,minmax(125px,1fr))}.event-list{gap:1rem}.week-day{padding:.85rem;border:1px solid #51475e;background:#14111c}.week-day.is-today{border-color:#baff19;box-shadow:inset 3px 0 #baff19}.week-day-title{display:flex;align-items:baseline;gap:.65rem;margin:0 0 .75rem;padding-bottom:.55rem;border-bottom:1px solid #51475e;color:#f8f6ff;font-size:1rem}.week-day-title span{font-weight:900}.week-day-title time{color:#baff19;font-size:.82rem;font-weight:800}.week-day-events{display:grid;gap:.55rem}.day-empty{margin:0;color:#968ea3;font-size:.85rem}.event-card{grid-template-columns:120px minmax(0,1fr) auto}.event-card h3{line-height:1.35}
@media(max-width:850px){.calendar-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-filters .search-label{grid-column:1/-1}}
@media(max-width:700px){.period-controls{gap:.35rem;flex-wrap:wrap}.period-controls h2{min-width:0;flex:1;font-size:1.05rem}.date-picker{width:100%;justify-content:space-between}.date-picker input{flex:1;max-width:62%}.event-card{grid-template-columns:80px minmax(0,1fr);gap:.6rem}.event-card button{grid-column:2;justify-self:start}.week-day{padding:.65rem}}
/* Month overview complements the focused week/day browsing modes. */
.event-status{display:inline-block;padding:.14rem .45rem;border:1px solid #f3b34a;border-radius:999px;color:#ffd37d;font-size:.68em;font-weight:800;text-transform:uppercase;vertical-align:middle}
.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid #51475e;border-left:1px solid #51475e}.month-weekday,.month-cell{min-width:0;border-right:1px solid #51475e;border-bottom:1px solid #51475e}.month-weekday{padding:.55rem .25rem;background:#211a31;color:#d3c9e5;text-align:center;font-size:.75rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.month-cell{min-height:116px;padding:.35rem;background:#11101a}.month-cell.is-outside{background:#0b0a11}.month-cell.is-today{box-shadow:inset 0 0 0 2px #baff19}.month-day-number{display:grid;place-items:center;min-width:30px;height:30px;margin:0 0 .3rem;border:0;border-radius:50%;background:transparent;color:#ded8e9;font:inherit;font-size:.8rem;font-weight:850;cursor:pointer}.month-cell.is-today .month-day-number{background:#baff19;color:#15151b}.month-cell.is-outside .month-day-number{color:#817b89}.month-event-chip,.month-more{display:block;width:100%;margin:.18rem 0;padding:.28rem .34rem;overflow:hidden;border:0;border-left:3px solid #c567ff;border-radius:3px;background:#3b245a;color:#fff;text-align:left;text-overflow:ellipsis;white-space:nowrap;font:inherit;font-size:.68rem;font-weight:700;cursor:pointer}.month-event-chip:hover,.month-more:hover{background:#60389a}.month-more{border:0;background:transparent;color:#cbb6ea}
@media(max-width:700px){.month-cell{min-height:78px;padding:.2rem}.month-weekday{padding:.4rem .1rem;font-size:.62rem}.month-day-number{min-width:24px;height:24px;margin-bottom:.15rem;font-size:.72rem}.month-event-chip,.month-more{padding:.2rem .12rem;font-size:.55rem;border-left-width:2px}}
