:root{--bg: #f7f6f3;--surface: #ffffff;--text: #1c1b18;--text-muted: #6d6a61;--border: #e4e2db;--accent: #c2410c;--accent-hover: #9a3412;--accent-soft: #ffedd5;--danger: #b91c1c;--radius: 12px;--shadow: 0 1px 3px rgb(28 27 24 / .08), 0 4px 14px rgb(28 27 24 / .06)}*{box-sizing:border-box}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:linear-gradient(160deg,#2a1205,#431407 55%,#7c2d12);color:#fff7ed;padding:2.5rem 1.25rem 2.25rem}.header-inner{max-width:1100px;margin:0 auto}.logo{margin:0;font-size:2rem;letter-spacing:-.03em}.logo span{color:#fdba74}.tagline{margin:.25rem 0 1.5rem;color:#fed7aa;font-size:1.05rem}.search-form{max-width:640px}.search-row{display:flex;gap:.5rem;flex-wrap:wrap}.secondary-row{margin-top:.6rem}.search-input{flex:1 1 220px;padding:.7rem .9rem;font-size:1rem;border:1px solid transparent;border-radius:var(--radius);outline:none}.search-input:focus{border-color:#fdba74;box-shadow:0 0 0 3px #fdba7459}.radius-select{padding:.7rem .6rem;font-size:.95rem;border:none;border-radius:var(--radius);background:#fff7ed;color:var(--text);cursor:pointer}.button{padding:.7rem 1.3rem;font-size:1rem;border:none;border-radius:var(--radius);cursor:pointer;font-weight:600;transition:background .15s ease}.button:disabled{opacity:.6;cursor:default}.button.primary{background:var(--accent);color:#fff}.button.primary:hover:not(:disabled){background:var(--accent-hover)}.button.ghost{background:#fff7ed24;color:#fed7aa;border:1px solid rgb(253 186 116 / .4);font-weight:500}.button.ghost:hover:not(:disabled){background:#fff7ed3d}.form-message{margin:.6rem 0 0;color:#fecaca;font-size:.9rem}.app-main{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:1.5rem 1.25rem 3rem}.results-summary{color:var(--text-muted);margin:.25rem 0 1.25rem}.results-summary strong{color:var(--text)}.status-view{max-width:560px;margin:3.5rem auto;text-align:center}.status-view h2{margin-bottom:.5rem}.status-view p{color:var(--text-muted)}.status-view.error .button{margin-top:.75rem}.skeleton{background:linear-gradient(90deg,#ecebe6 25%,#f5f4f0,#ecebe6 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:var(--radius)}.skeleton-header{height:1.6rem;width:260px;margin:.5rem 0 1rem}.skeleton-card{height:320px}@keyframes shimmer{to{background-position:-200% 0}}.day-group{margin-bottom:2rem}.day-header{font-size:1.15rem;margin:0 0 .9rem;padding-bottom:.4rem;border-bottom:2px solid var(--border)}.event-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1rem}.event-card{background:var(--surface);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .12s ease,box-shadow .12s ease}.event-card:hover{transform:translateY(-2px);box-shadow:0 2px 6px #1c1b181a,0 8px 22px #1c1b181a}.event-card.cancelled{opacity:.65}.event-image{width:100%;height:150px;object-fit:cover;display:block;background:var(--accent-soft)}.event-image.fallback-art{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.fallback-art:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 90% at 20% 0%,rgb(255 255 255 / .28),transparent 55%)}.fallback-initials{position:relative;font-size:2.6rem;font-weight:800;letter-spacing:.06em;color:#fffffff2;text-shadow:0 2px 10px rgb(0 0 0 / .25);-webkit-user-select:none;user-select:none}.fallback-note{position:absolute;right:.6rem;bottom:-.9rem;font-size:4.5rem;line-height:1;color:#ffffff1a;transform:rotate(12deg);-webkit-user-select:none;user-select:none}.event-body{padding:.9rem 1rem 1rem;display:flex;flex-direction:column;gap:.3rem;flex:1}.status-badge,.type-badge{align-self:flex-start;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.15rem .5rem;border-radius:999px}.status-badge.cancelled{background:#fee2e2;color:var(--danger)}.status-badge.postponed{background:#fef3c7;color:#92400e}.type-badge{background:var(--accent-soft);color:var(--accent-hover)}.event-title{margin:0;font-size:1.05rem;line-height:1.3}.event-support{margin:0;font-size:.88rem;color:var(--text-muted)}.event-where{margin:.15rem 0 0;font-size:.92rem}.venue-name{font-weight:600}.venue-place{color:var(--text-muted)}.event-time{margin:0;font-size:.92rem;color:var(--accent-hover);font-weight:600}.event-genres{margin:.2rem 0 0;display:flex;flex-wrap:wrap;gap:.3rem}.genre-chip{font-size:.75rem;background:var(--bg);border:1px solid var(--border);border-radius:999px;padding:.1rem .55rem;color:var(--text-muted);text-transform:capitalize}.event-links{margin-top:auto;padding-top:.6rem;display:flex;gap:1rem}.event-links a{color:var(--accent);font-weight:600;font-size:.92rem;text-decoration:none}.event-links a:hover{text-decoration:underline}.load-more-row{text-align:center;margin:1.5rem 0}.app-footer{text-align:center;padding:1.25rem;color:var(--text-muted);font-size:.88rem;border-top:1px solid var(--border)}.app-footer a{color:var(--accent)}@media(max-width:540px){.app-header{padding:1.75rem 1rem 1.5rem}.logo{font-size:1.6rem}.event-grid{grid-template-columns:1fr}}
