/* Readability pass: retain the approved palette and artwork. */
body{font-family:'Segoe UI',Arial,sans-serif;font-size:17px;line-height:1.65;font-weight:500}
header{flex-wrap:wrap;gap:20px}header nav{gap:10px 22px;flex-wrap:wrap}header nav a{font-size:16px;font-weight:650;line-height:1.4;padding-block:10px}
.preview{font-size:13px;letter-spacing:.4px;flex-wrap:wrap}.preview span{font-weight:600}.preview button{font-size:14px;font-weight:700;min-height:36px}
.brand{font-size:14px}.brand b{font-size:17px}
main p,main li,main dd{font-weight:500;line-height:1.65}
main .eyebrow,.hero .eyebrow,.home-socials .eyebrow{font-size:14px;line-height:1.5;letter-spacing:1.2px;font-weight:700}
main .intro{font-size:20px;line-height:1.65}
.hero-date p,.hero .admission,.event p,.event div,.prices p,.notice p,details p,.booking-payment>p,.section-head>p,.home-socials p:last-child,.contact-grid p{font-size:17px;line-height:1.65}
.hero-date h2{font-size:23px;line-height:1.35}.hero-date>span{font-size:15px}
main dl,.show-facts dl,main dt,main dd,.admin-card dl{font-size:16px;line-height:1.65}main dt{font-weight:700}main dd{overflow-wrap:anywhere}main dl{gap:12px 20px}
main label,.admin-card label,.booking label{font-size:16px;line-height:1.55;font-weight:650}
main input,main select,main textarea{font-size:17px;line-height:1.5;padding:12px;font-weight:500;min-width:0}input::placeholder,textarea::placeholder{color:#546475;opacity:1}
main summary{font-size:17px;font-weight:650;line-height:1.5;padding-block:4px}
main .button,.booking .booking-payment-options .button,.admin-card button,.account-bar button,.admin-tabs button,.flip-control,.day-buttons button{font-size:16px;font-weight:650;line-height:1.5;min-height:44px}
main .subtle,.booking .subtle,.admin-card .subtle,.prices small,.social-links small,main small,.visit-flyer .flyer-note,.tournament-art span{font-size:15px;line-height:1.6;font-weight:500}
main .tag,.vendor-categories li{font-size:14px;line-height:1.5;font-weight:650;letter-spacing:.3px}
.prize-table{font-size:16px;line-height:1.55}.prize-table th,.prize-table td{padding:12px 10px}.prize-table caption{font-weight:700}
.email-list pre{font-size:16px;line-height:1.7}.art-label{font-size:13px;letter-spacing:.8px}
.page-title h1,.seasonal-christmas .seasonal-title h1{font-weight:650;line-height:1.18}
.section-head h2,.tourney h2{font-family:'Segoe UI',Arial,sans-serif;font-weight:650;letter-spacing:-.02em;line-height:1.25}
.calendar>button.event h3{font-family:'Segoe UI',Arial,sans-serif;font-size:26px;font-weight:650;line-height:1.3;letter-spacing:-.02em;overflow-wrap:anywhere}
.spotlight-card h3{font-size:24px;font-weight:650;line-height:1.35}
main .subtle,main .steps,.event:not(.featured) p,.event:not(.featured) div,.prices p,.prices small,.show-facts dd{color:#d9e5ef}
.booking .subtle,.booking p,.booking dd,.booking small{color:#334b5e}.admin-card .subtle{color:#d9e5ef}.home-socials p:last-child{color:#334b5e}
.social-links small{color:#e0eaf2}.social-links a:nth-child(2) small{color:#142337}
footer,footer p,footer a{font-size:15px;line-height:1.6}footer p{color:#d9e5ef}
.tourney,.event,.booking,.admin-card,.spotlight-card{min-width:0}.tourney p,.notice p{overflow-wrap:anywhere}
@media(max-width:700px){header nav{width:100%;margin:0;justify-content:flex-start;gap:4px 18px}header nav a{font-size:15px;min-height:44px}.hero-date{gap:14px}.hero-date h2{font-size:21px}.hero-date p{font-size:16px}.hero .intro{font-size:18px}.preview{gap:8px}.calendar>button.event h3{font-size:25px}.tourney{padding:22px}.tourney h2{font-size:29px}.prize-table{font-size:15px}.admin-tabs button{font-size:15px}.page-title h1{font-size:clamp(32px,8vw,46px)}.tourney dl{grid-template-columns:1fr;gap:4px}.tourney dd{margin-bottom:14px}.social-links small{overflow-wrap:anywhere}}
.seasonal-christmas .seasonal-title p,.event-title-mascot p{font-size:16px;line-height:1.6;font-weight:500}
#map .map-content{max-width:1800px;padding:0 3% 65px}#map .floor-map{min-width:1200px}#map .map-scroll{max-height:80vh;border:1px solid #617969;border-radius:10px}#map .map-help,#map-profile .notice,#map-profile .notice p,#map-profile .vendor-popover p{font-size:18px;line-height:1.65;font-weight:500}#map .map-tools{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:24px}#map .map-tools button{min-height:44px;min-width:48px;padding:8px 18px;background:#182839;color:#fff;border:1px solid #92b0c5;border-radius:6px;font-size:18px;font-weight:650}#map-zoom-level{min-width:60px;text-align:center;font-size:18px;font-weight:650}#map-profile.open{width:min(440px,calc(100vw - 32px))}#map-profile .vendor-rank{font-size:15px}#map-profile .vendor-popover h3{font-size:20px}#map-profile .vendor-popover h2{font-size:28px}
/* Game Town purple and slime-green identity. */
:root{--bg:#100b20;--panel:#251638;--green:#a0ff32;--gold:#c5a0ff;--purple:#9255ed;--line:#654582;--muted:#dfd5ed}
body{background:#100b20;color:#f7f3ff;background-image:radial-gradient(ellipse at 0 20%,#6f28bb24,transparent 55%),radial-gradient(ellipse at 100% 65%,#94ff3210,transparent 50%)}
header,footer{background:#160c27;border-color:#a0ff32}header{box-shadow:0 4px 24px #8b39df35}nav a.active{color:#a0ff32}nav a:hover{color:#dfbdff}
.hero{background:radial-gradient(ellipse at 84% 35%,#7430aa 0,#35144f 40%,#170c2a 78%)}.hero h1 em{color:#a0ff32;text-shadow:4px 5px #29203d}.hero .eyebrow{background:#b695fa;color:#201031;box-shadow:4px 4px #090510}
.hero-date{background:#26103d;border-color:#a477d1;border-left-color:#a0ff32;box-shadow:5px 6px #10061f}.hero-date>span{color:#d9b5ff;border-color:#775096}.hero-art:before{background:#a0ff32;color:#1b1225;border-color:#a0ff32}.card-face{background:#a47ae8;box-shadow:10px 12px #150620,0 0 0 2px #c5a0ff}.card-back{background:#28113e}.card-back dt{color:#a0ff32}.flip-control{background:#351649;border-color:#be8bff;color:#fff}.flip-control:hover{background:#542275}
.page-title,.seasonal-christmas .page-title{background:radial-gradient(ellipse at 90% 20%,#883dbe75,transparent 65%),linear-gradient(110deg,#301249,#190c2d);border-bottom-color:#a47adc}.page-title h1:before,.section-head h2:before{background:#a0ff32}
.home-socials{background:#eee4ff;color:#211132;border-color:#b797dd}.home-socials h2{color:#25123b}.home-socials p:last-child,.home-socials .eyebrow{color:#513365}.social-links a{background:#3f1c60;border-color:#70439a;border-bottom-color:#a0ff32;box-shadow:4px 5px #41215725}.social-links a:nth-child(2){background:#a0ff32;border-color:#a0ff32;border-bottom-color:#609f20}.social-links a:nth-child(2) strong,.social-links a:nth-child(2) small,.social-links a:nth-child(2) b,.social-links a:nth-child(2) .social-icon{color:#20122f}.social-links a:hover{background:#582980}.social-links a:nth-child(2):hover{background:#beff75}.social-icon,.social-links b{color:#a0ff32}
.event{background:linear-gradient(145deg,#35204c,#1c102f);border-color:#795393;box-shadow:5px 6px #08030f}.event.featured{background:#a0ff32;border-color:#c2ff89;box-shadow:5px 6px #27123e}.event.featured .tag{background:#301247;color:#fff}.event:after{border-color:#bc87fb}
.notice,.metrics article,.event-sidebar,.prices article{background:linear-gradient(135deg,#2b1941,#20112f);border-color:#75558c}.prices article{border-top:4px solid #a0ff32}.prices .premium{border-color:#9a65ce;border-top-color:#c192ff}.prices .tag,.prices .premium .tag{color:#c3ff85}.event-sidebar{border-top:4px solid #a0ff32}.event-sidebar .eyebrow,.eyebrow{color:#d8b6ff}
.button{background:#a0ff32;color:#211330;border-color:#a0ff32;box-shadow:3px 4px #10051d80}.button:hover{background:#c0ff7a}.text-link{border-color:#bd91ed}.booking{background:#f4edff;color:#241633;border-color:#b794d6;border-top:4px solid #a0ff32}.booking p,.booking dd,.booking small,.booking .subtle{color:#49365a}.booking .notice{background:#e6d8f5;border-color:#ae91c7;color:#241633}
.tourney{background:linear-gradient(135deg,#412064,#231336);border-color:#9d73be;box-shadow:5px 7px #090411,inset 0 0 0 1px #9d73be}.tourney:nth-child(2){background:linear-gradient(135deg,#242052,#1b1233);border-color:#8e8ad0;box-shadow:5px 7px #090411,inset 0 0 0 1px #8e8ad0}.tourney .game-symbol,.tourney:nth-child(2) .game-symbol{color:#bbff73}.prize-table caption,.schedule-entry b{color:#dabeff}.prize-table th{color:#ddc8ff}.prize-table th,.prize-table td{border-color:#765c8c}
.spotlight-card{background:linear-gradient(145deg,#38204f,#20132f);border-color:#89699e;border-top-color:#a0ff32}.spotlight-monogram{background:#a0ff32;color:#261535}.vendor-categories li{background:#412658;border-color:#a482bc;color:#f4e9ff}.spotlight-tabs button{background:#321b48;border-color:#926ead}.spotlight-tabs button[aria-pressed=true]{background:#a0ff32;color:#241333}.tier-key{background:#221232;border-color:#926cae}.tier-level{background:#352044;border-color:#88699f}.tier-two{border-top-color:#a0ff32}.tier-three{background:#482162;border-top-color:#c5ff87}.tier-three strong{color:#c5ff87}
.admin-card,#map-profile.open,.vendor-popover{background:#28183b;border-color:#9373af}.admin-card button,.account-bar button,.admin-tabs button{background:#45285f;border-color:#a386ba}.admin-tabs button[aria-pressed=true],.admin-card .button{background:#a0ff32;color:#23132f}.admin-card input,.admin-card textarea,.admin-card select{background:#faf6ff;color:#261735}.map-region.assigned{box-shadow:inset 0 0 0 2px #c69fff}.vendor-rank{background:#a0ff32;color:#28173a}footer a{color:#a0ff32}.mascot-portrait{border-color:#ae75ff}
.hero-art:before{display:none!important}.hero-date>span{flex-shrink:0}.hero-date strong{white-space:nowrap;font-size:clamp(24px,2.2vw,32px)}
#visit .title-lights,#visit .title-gifts{display:none}#visit .seasonal-title{padding-top:0}#visit .event-battle-art{margin:20px 0 28px;border:1px solid #9966c4;border-radius:16px;overflow:hidden;box-shadow:0 12px 36px #09031366}#visit .event-battle-art img{display:block;width:100%;height:auto}#visit .event-title-mascot{align-items:center}#visit .seasonal-title h1{color:#fff;text-shadow:none}@media(max-width:600px){#visit .event-battle-art{margin:16px 0 22px;border-radius:10px}}

#visit .event-photo-art{width:100%;max-width:none;margin:20px auto 28px;border:1px solid #9966c4;border-radius:16px;overflow:hidden}#visit .event-photo-art img{display:block;width:100%;height:auto}#vendors .vendor-banner-art{margin:0 5% 32px;border:1px solid #9966c4;border-radius:16px;overflow:hidden}#vendors .vendor-banner-art img{display:block;width:100%;height:auto}

#home .home-banner-art{margin:28px 5% 0;border:1px solid #ab8750;border-radius:14px;overflow:hidden;box-shadow:0 10px 32px #05030d55}#home .home-banner-art img{display:block;width:100%;height:auto}@media(max-width:600px){#home .home-banner-art{margin:16px 4% 0;border-radius:8px}}
/* Remove decorative navigation slime and redundant flyer caption. */
header{border-bottom:0}header:after{display:none;content:none}
.hero-art .art-label{display:none}
.hero-art .festival-card{aspect-ratio:auto}
.hero-art .card-front{position:relative;inset:auto}

/* Let the illustrated header carry the brand; focus the hero on visiting. */
#home .hero{padding:40px 8% 48px;min-height:0;gap:7%;align-items:center}#home .hero .next-show-heading{font-family:"Segoe UI",Arial,sans-serif;font-size:clamp(30px,3vw,44px);font-weight:650;line-height:1.15;letter-spacing:-.6px;transform:none;text-shadow:none;margin:18px 0}#home .hero-date h2{display:none}#home .hero-date{margin:24px 0;padding:24px;transform:none}#home .hero-date strong{font-size:clamp(26px,2.5vw,38px)}#home .hero-date p{font-size:18px;line-height:1.7}#home .hero-art{max-width:330px;justify-self:center;width:100%}#home .hero .intro{font-size:19px;max-width:440px}#home .hero .admission{font-size:17px}@media(max-width:600px){#home .hero{padding:28px 6% 36px;gap:28px}#home .hero-date{padding:18px}#home .hero-date p{font-size:16px}#home .hero-art{max-width:280px}}
#home-expand-flyer{display:block;width:100%;padding:0;border:0;background:transparent;border-radius:inherit;cursor:zoom-in}#home-expand-flyer:focus-visible{outline:3px solid #adff2f;outline-offset:4px}#home-expand-flyer img{display:block;width:100%;height:auto}

/* Move directly from the event artwork to practical show information. */
#visit .event-title-mascot,#visit .page-title>.actions{display:none}
#visit .page-title{padding-bottom:24px}
#visit .event-photo-art{margin-bottom:0}

/* Fit the complete venue map without an internal scrolling panel. */
#map .map-scroll{overflow:visible;max-height:none;height:auto}
#map .floor-map{min-width:0;width:100%}
#map .floor-map>img{width:100%;height:auto}
.attendance-badge{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;width:80px;flex-shrink:0;text-align:center;font-style:normal;margin:12px 0;color:#dcffb1}
.attendance-number{display:grid;place-items:center;box-sizing:border-box;width:72px;height:72px;border:3px solid transparent;border-radius:50%;background:linear-gradient(#241139,#241139) padding-box,conic-gradient(from 0deg,#adff32,#3ef5d1,#ae6aff,#3ef5d1,#adff32) border-box;color:#c0ff4c;font-family:Arial,Helvetica,sans-serif;font-size:38px;font-weight:800;font-style:normal;font-variant-numeric:tabular-nums;line-height:1;letter-spacing:0;text-indent:0;text-shadow:0 0 16px #9fff3250;box-shadow:0 0 17px #ad6aff30}
.attendance-caption{font-family:Arial,Helvetica,sans-serif;font-size:11px;font-weight:700;letter-spacing:1.5px;line-height:1.2;color:#d5c6eb;padding-left:1.5px}
.attendance-badge.milestone .attendance-number{background:linear-gradient(#102e35,#102e35) padding-box,conic-gradient(from 0deg,#ffe591,#36f1d0,#ffd267,#36f1d0,#ffe591) border-box;color:#ffe38b;text-shadow:0 0 15px #ffd76e50;box-shadow:0 0 17px #2df1cd35}
.spotlight-card{position:relative}.spotlight-card>.attendance-badge{position:absolute;right:20px;top:20px;margin:0}.spotlight-card>.spotlight-logo,.spotlight-card>.spotlight-monogram{max-width:calc(100% - 90px)}
