*{box-sizing:border-box;margin:0;padding:0}body{font-family:Courier New,monospace;color:#111}body,header{background:#f4f1e8}header{border-bottom:3px solid #111;padding:18px 24px;display:flex;align-items:center;gap:18px;flex-wrap:wrap;position:-webkit-sticky;position:sticky;top:0;z-index:30}.brand{font-weight:900;text-transform:uppercase;letter-spacing:-1px;font-size:20px;background:#111;color:#f4f1e8;padding:5px 12px;transform:rotate(-1deg);cursor:pointer}.search{flex:1 1;min-width:200px;max-width:380px;border:2px solid #111;padding:8px 12px;background:#fff;font-family:inherit}.search,nav{font-size:13px}nav{display:flex;gap:14px;text-transform:uppercase}nav a{color:#111;text-decoration:none;padding:2px 4px;cursor:pointer}nav a.on,nav a:hover{background:#ff0}.filters{display:flex;gap:8px;padding:16px 24px;flex-wrap:wrap;align-items:center;border-bottom:2px solid #111}.flabel{opacity:.6}.chip,.flabel{text-transform:uppercase;font-size:11px}.chip{background:#f4f1e8;border:2px solid #111;padding:6px 12px;cursor:pointer;font-family:inherit}.chip.on{background:#111;color:#f4f1e8}.clearbtn{margin-left:auto;font-size:11px;text-transform:uppercase;background:none;border:none;text-decoration:underline;cursor:pointer;font-family:inherit}.layout{display:grid;grid-template-columns:1fr 340px}main{padding:24px;min-height:60vh}.day{text-transform:uppercase;font-weight:700;font-size:13px;letter-spacing:1px;margin:20px 0 12px;border-bottom:2px solid #111;padding-bottom:4px}.day:first-child{margin-top:0}.empty{padding:40px;text-align:center;text-transform:uppercase;opacity:.5;font-size:13px;line-height:1.6}.card{display:grid;grid-template-columns:80px 1fr auto;grid-gap:16px;gap:16px;align-items:center;background:#fff;border:2px solid #111;box-shadow:4px 4px 0 #111;padding:14px;margin-bottom:14px;cursor:pointer}.card:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 #111}.art{width:80px;height:80px;background:#111;color:#f4f1e8;display:flex;align-items:center;justify-content:center;font-size:26px}.name{text-transform:uppercase;font-weight:700;font-size:16px;margin-bottom:3px}.loc{font-size:13px;opacity:.7;margin-bottom:7px}.tags{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.tag{font-size:11px;background:#111;color:#f4f1e8;padding:2px 9px;text-transform:uppercase;cursor:pointer}.tag.free{background:#ff0;font-weight:700}.tag.cheap,.tag.free{color:#111;cursor:default}.tag.cheap{background:#fff;border:1px solid #111}.conf{font-size:10px;opacity:.6;text-transform:uppercase}.right{text-align:right}.time{margin-bottom:8px;font-size:13px}.play,.time{font-weight:700;white-space:nowrap}.play{background:#111;color:#f4f1e8;border:2px solid #111;padding:7px 14px;text-transform:uppercase;font-family:inherit;font-size:12px;cursor:pointer;text-decoration:none;display:inline-block}.play:hover{background:#ff0;color:#111}aside{border-left:2px solid #111;padding:24px;position:-webkit-sticky;position:sticky;top:82px;align-self:start;height:calc(100vh - 82px);overflow:auto}.statbox{border:2px solid #111;box-shadow:4px 4px 0 #111;padding:14px;background:#fff;margin-bottom:18px}.statbox h4{text-transform:uppercase;font-size:12px;margin-bottom:8px}.statbox .big{font-size:32px;font-weight:900}.statbox .src{font-size:11px;opacity:.7;margin-top:8px;line-height:1.5}.scrim{position:fixed;inset:0;background:rgba(17,17,17,.6);display:none;align-items:center;justify-content:center;z-index:50;padding:20px}.scrim.on{display:flex}.modal{background:#f4f1e8;border:3px solid #111;box-shadow:8px 8px 0 #111;max-width:560px;width:100%;max-height:90vh;overflow:auto;padding:24px;position:relative}.modal .x{position:absolute;top:14px;right:16px;background:#111;color:#f4f1e8;border:none;width:30px;height:30px;cursor:pointer;font-family:inherit}.modal h2{text-transform:uppercase;margin-bottom:6px;padding-right:30px}.modal .meta{font-size:13px;opacity:.75;margin-bottom:14px}.modal .blurb{background:#fff;border:2px solid #111;padding:14px;margin:14px 0;font-size:13px;line-height:1.5}.modal .blurb b{display:block;text-transform:uppercase;font-size:11px;margin-bottom:6px}.row{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.row a,.row button{font-family:inherit;text-transform:uppercase;font-size:12px;font-weight:700;border:2px solid #111;background:#111;color:#f4f1e8;padding:9px 14px;cursor:pointer;text-decoration:none}.row .ghost{background:#f4f1e8;color:#111}footer{border-top:3px solid #111;padding:20px 24px;text-transform:uppercase;font-size:12px;text-align:center}@media (max-width:820px){.layout{grid-template-columns:1fr}aside{display:none}}