:root{color-scheme:dark;--bg:#111214;--surface:#1b1c1f;--text:#f4f4ef;--muted:#a4a5a9;--line:#343539;--accent:#dcf858}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 Inter,Arial,sans-serif}button,input,select{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit}header{height:100px;margin:0 5%;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{text-decoration:none;display:flex;align-items:center;font-size:29px;letter-spacing:-1.3px;font-weight:800;gap:11px}.brand-icon{background:var(--accent);color:#111;width:37px;height:40px;border-radius:9px;text-align:center;font-size:32px;line-height:36px}.brand-period{font-size:13px;align-self:flex-start;margin:6px 0 0 -5px}.header-label,.eyebrow{font-size:12px;letter-spacing:2px;font-weight:700}.header-label{color:var(--muted)}.local{border:1px solid var(--line);border-radius:30px;padding:7px 15px;font-size:14px}main{max-width:1600px;margin:auto;padding:0 5%}.intro{display:flex;align-items:center;justify-content:space-between;padding:52px 0 42px;gap:30px}.eyebrow{color:var(--accent);margin-bottom:16px}h1{font-size:clamp(36px,4.5vw,64px);line-height:1.08;letter-spacing:-2.8px;margin:0;font-weight:750}h1 span{font-family:Georgia,serif;font-weight:400;font-style:italic;color:var(--accent)}.intro p{color:var(--muted);margin:18px 0 0}.total{display:flex;align-items:center;gap:18px;border-left:1px solid var(--line);padding-left:35px}.total strong{font-size:58px;letter-spacing:-3px;line-height:1}.total span{font-size:14px;color:var(--muted);line-height:1.6}.controls{display:flex;gap:20px;align-items:center}.search{display:flex;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:9px;flex:1;padding:9px 18px;gap:12px}.search span{font-size:30px;color:var(--accent);line-height:1}input{border:0;outline:0;width:100%;background:transparent;color:var(--text);padding:7px 0}input::placeholder{color:var(--muted)}.search:focus-within{border-color:var(--accent)}.sort-label{font-size:14px;color:var(--muted);display:flex;gap:12px;align-items:center}select{color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:14px 30px 14px 14px;font-size:14px}.filter-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:25px 0 27px}#filters{display:flex;gap:8px;flex-wrap:wrap}#filters button{border:1px solid var(--line);background:transparent;color:#c8c9cb;border-radius:25px;padding:8px 16px;font-size:14px}#filters button.active{background:var(--accent);border-color:var(--accent);color:#171912;font-weight:700}#filters button:hover{border-color:var(--accent)}#count{color:var(--muted);font-size:14px;white-space:nowrap}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 22px}.card{background:var(--surface);border:1px solid #2a2b2f;border-radius:13px;overflow:hidden;transition:transform .2s,border-color .2s}.card:hover{transform:translateY(-4px);border-color:#737958}.poster{aspect-ratio:1.65;position:relative;background:#292c31;overflow:hidden}.poster img{width:100%;height:100%;object-fit:cover;display:block}.poster .source{position:absolute;left:13px;top:13px;background:#121315e8;border:1px solid #ffffff24;border-radius:6px;padding:4px 9px;font-size:12px;font-weight:700;backdrop-filter:blur(10px)}.fallback{height:100%;display:flex;align-items:center;justify-content:center;font:italic 22px Georgia;color:#d8ec99;background:#252b24}.card-body{padding:19px;display:flex;flex-direction:column;min-height:232px}.date{color:var(--accent);font-size:13px;font-weight:650;margin-bottom:9px;min-height:20px}.card h2{font-size:18px;line-height:1.35;letter-spacing:-.3px;margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.location{font-size:14px;color:var(--muted);margin:0 0 20px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.card-bottom{border-top:1px solid var(--line);padding-top:13px;margin-top:auto;display:flex;justify-content:space-between;align-items:center}.category{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60%}.view{border:0;background:none;color:var(--text);font-size:14px;padding:0}.view span{color:var(--accent);margin-left:8px}footer{border-top:1px solid var(--line);margin-top:55px;padding:27px 0 35px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--muted);font-size:12px}.small{font-size:23px;color:var(--text)}#empty{text-align:center;padding:70px 20px}#reset,.ticket{background:var(--accent);color:#111;border:0;border-radius:8px;padding:12px 20px;display:inline-block;text-decoration:none;font-weight:700}dialog{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:18px;width:min(700px,92vw);padding:0;max-height:88vh}dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}.close{position:absolute;right:14px;top:14px;border:1px solid #777;background:#111e;color:white;border-radius:50%;width:38px;height:38px;z-index:2}.detail-image{width:100%;max-height:310px;object-fit:cover}.detail-body{padding:30px}.detail-body h2{font-size:28px;line-height:1.2;margin:10px 0 20px}.description{color:#c7c8cc;white-space:pre-line;line-height:1.75;overflow-wrap:anywhere}.detail-meta{color:var(--muted);font-size:14px}.ticket{margin-top:12px}.note{font-size:12px;color:var(--muted)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}@media(max-width:1100px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.total{display:none}}@media(max-width:780px){header{height:80px}.header-label{display:none}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.intro{padding:36px 0}.controls{align-items:stretch;flex-direction:column;gap:12px}.sort-label{justify-content:flex-end}.filter-row{align-items:flex-start;flex-direction:column;gap:14px}.card-body{padding:15px}footer{flex-wrap:wrap}h1{letter-spacing:-1.5px}}@media(max-width:480px){.grid{grid-template-columns:1fr}.poster{aspect-ratio:1.8}.card-body{min-height:210px}.intro p{font-size:14px}.local{font-size:12px}.brand{font-size:25px}#filters button{padding:8px 13px}.detail-body{padding:22px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
