*{box-sizing:border-box}body{margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#111;background:#fff}
header.top{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;padding:.75rem 1rem;border-bottom:1px solid #ddd}
header.top nav{display:flex;flex-wrap:wrap;gap:.25rem 1rem}.brand{font-weight:700;text-decoration:none;color:#111;display:inline-flex;align-items:center;min-height:44px}
main{max-width:52rem;margin:0 auto;padding:1rem}a{color:#0645ad}h1{font-size:1.5rem;line-height:1.25}h2{font-size:1.1rem;margin:1.25rem 0 .25rem}
ul{padding-left:0;list-style:none}li{padding:.35rem 0;border-bottom:1px solid #f0f0f0;overflow-wrap:anywhere}
.t{display:inline-block;min-width:4.5rem;color:#555}.v,.a,.n,.sum,.src{color:#555}.a::before{content:"· "}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}.chips li{display:flex;align-items:center;gap:.25rem;border:1px solid #ddd;border-radius:1rem;padding:0 .75rem}
.chips a{display:inline-flex;align-items:center;min-height:44px}
.chips.row{flex-wrap:nowrap;overflow-x:auto;margin:.5rem 0}.chips.row li{flex:none}.areas details{margin-bottom:.5rem}.areas summary{min-height:44px;line-height:44px;cursor:pointer;color:#0645ad}
.months a,.links a,nav a{display:inline-block;min-height:44px;line-height:44px;margin-right:.75rem}
.filters{margin:.5rem 0}.fbar{display:flex;gap:.5rem}.fbar input{flex:1 1 auto;min-width:0}
.filters input,.filters select,.filters button{font:inherit;min-height:44px;border:1px solid #bbb;border-radius:4px;background:#fff;color:#111;padding:0 .5rem;max-width:100%}
.filters button{border-radius:22px;background:#f6f6f6;padding:0 .75rem;cursor:pointer}.filters button[aria-pressed=true]{background:#222;color:#fff;border-color:#222}
.filters .c{color:#555}.filters button[aria-pressed=true] .c{color:#ddd}.filters .bar{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0}
#ftoggle{display:none}.fmsg{color:#555;margin:.25rem 0}.fmsg:empty{display:none}#more{font:inherit;min-height:44px;margin:1rem 0;padding:0 1rem}
@media (max-width:600px){#ftoggle{display:inline-block;flex:none}.filters:not(.open) .fdrawer{display:none}}
.tags .g{display:inline-block;font-size:.75rem;line-height:1.4;border-radius:3px;padding:0 .3rem;margin-left:.25rem;background:#eef;color:#335;white-space:nowrap}
.more a,.more button{display:inline-block;min-height:44px;line-height:44px}.more button{font:inherit;padding:0 1rem;border:1px solid #bbb;border-radius:22px;background:#f6f6f6;cursor:pointer}
@media (scripting:none){.filters,#all,.th[data-src]{display:none}}
.th{float:right;width:48px;height:48px;object-fit:cover;margin:0 0 .25rem .5rem;border-radius:2px;background:#eee}ul.shows li,ul.picks li{display:flow-root}
.flyer img{max-width:100%;height:auto}.flyer img:not([width]){width:100%;max-width:24rem;aspect-ratio:4/5;object-fit:contain;background:#f4f4f4}.past,.st{background:#fff4d6;padding:.5rem}
footer{max-width:52rem;margin:2rem auto;padding:1rem;color:#555;font-size:.875rem;border-top:1px solid #ddd}

  .site-foot { margin-top: 32px; padding-top: 12px; border-top: 1px solid #ddd; font-size: 14px; color: #444; }
  .site-foot nav { display: flex; flex-wrap: wrap; gap: 0 16px; }
  .site-foot nav a { display: inline-flex; align-items: center; min-height: 44px; line-height: 1.3; }
  .disc { font-size: 14px; color: #444; margin: 0 0 4px; }

.ad{position:relative;margin:1rem 0;text-align:center}.ad-label,.feat{font-size:.75rem;font-weight:700;letter-spacing:.02em;color:#555}
.ad-label{display:block;text-align:left;line-height:1.125rem}.ad ins{display:block;width:100%;height:100px;background:#f6f6f6}
li.ad{margin:0;padding:.35rem 0}.ad-foot ins{height:100px}
@media (min-width:768px){.ad-header ins,li.ad ins{height:90px}.ad-foot ins{height:90px}}
.ad-house{display:none}.ad-empty .ad-house{display:flex;position:absolute;left:0;right:0;bottom:0;top:1.125rem;align-items:center;justify-content:center}
li.ad.ad-empty .ad-house{top:calc(1.125rem + .35rem);bottom:.35rem}.ad-empty ins{visibility:hidden}.ad.ad-off{display:none}
.feat{display:inline-block;border:1px solid #8a6d00;border-radius:.25rem;padding:0 .3rem;margin-right:.35rem;color:#5c4800;background:#fff8dc}
li.featured{background:#fffbea}.paid{font-size:.875rem;color:#555}