:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f5f7f2;color:#18201b;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #18201b;--muted: #647067;--line: #dce2d8;--surface: #ffffff;--surface-strong: #edf4ee;--green: #1db954;--green-dark: #127a39;--blue: #2563eb;--coral: #d94f45;--amber: #b7791f;--shadow: 0 16px 40px rgb(24 32 27 / 10%)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,#f5f7f2,#eef4f4 44%,#f7f7f4)}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.62}.app-shell{min-height:100vh}.topbar{position:sticky;top:0;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px clamp(16px,3vw,36px);border-bottom:1px solid var(--line);background:#f5f7f2e0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand svg{width:34px;height:34px;color:var(--green)}.brand h1,.brand p{margin:0}.brand h1{font-size:clamp(1.15rem,2vw,1.55rem);line-height:1.1}.brand p{color:var(--muted);font-size:.92rem}.account-actions{display:flex;align-items:center;gap:10px}.workspace{width:min(1440px,100%);margin:0 auto;padding:22px clamp(14px,3vw,36px) 48px}.button,.icon-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:8px;min-height:42px;transition:background .15s ease,color .15s ease,border-color .15s ease,transform .15s ease}.button{gap:8px;padding:0 16px;font-weight:760}.button svg,.icon-button svg,.control-group svg,.panel-heading svg,.notice svg,.event-link svg{width:18px;height:18px;flex:0 0 auto}.button.primary{background:var(--green);color:#07120b}.button.primary:hover{background:#2adf68}.button.secondary,.icon-button{background:var(--surface);color:var(--ink);border-color:var(--line)}.button.secondary:hover,.icon-button:hover{border-color:#a8b7aa;transform:translateY(-1px)}.icon-button{width:42px;padding:0}.icon-button.inline{position:absolute;right:6px;bottom:6px;min-height:36px;width:36px}.search-surface{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(110px,.5fr) minmax(110px,.5fr) auto;gap:12px;align-items:end;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.control-group{position:relative;display:grid;gap:7px}.control-group label{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:.86rem;font-weight:720}.control-group input{width:100%;min-height:44px;border:1px solid var(--line);border-radius:8px;padding:0 12px;color:var(--ink);background:#fbfcfa}.location-control input{padding-right:50px}.search-button{min-width:128px}.summary-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0 18px}.metric{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:#ffffffc7}.metric span{color:var(--muted);font-size:.9rem}.metric strong{font-size:clamp(1.2rem,2.5vw,1.75rem)}.result-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:18px}.taste-panel,.events-panel{min-width:0}.taste-panel{position:sticky;top:96px;align-self:start;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.panel-heading{display:flex;align-items:center;gap:9px}.panel-heading h2{margin:0;font-size:1rem}.panel-heading svg{color:var(--green-dark)}.taste-summary{cursor:pointer;list-style:none}.taste-summary::-webkit-details-marker{display:none}.taste-summary:after{content:"";width:9px;height:9px;margin-left:auto;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg) translateY(-2px);transition:transform .15s ease}.taste-panel:not([open]) .taste-summary:after{transform:rotate(-45deg)}.taste-list{display:grid;gap:8px;margin-top:14px}.taste-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:34px;border-bottom:1px solid #eef2eb;color:var(--ink);font-size:.92rem}.taste-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.taste-row strong{color:var(--green-dark)}.events-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.toggle-control{display:inline-flex;align-items:center;gap:8px;min-height:34px;color:var(--ink);font-size:.88rem;font-weight:720}.toggle-control input{width:18px;height:18px;accent-color:var(--green)}.event-list{display:grid;gap:14px}.event-card{display:grid;grid-template-columns:180px minmax(0,1fr);min-height:210px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 8px 24px #18201b12}.event-image{width:100%;height:100%;min-height:210px;object-fit:cover;background:#dbe5df}.event-body{display:grid;gap:12px;padding:16px}.event-main{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.provider-line{color:var(--green-dark);font-size:.78rem;font-weight:820;text-transform:uppercase}.event-main h3{margin:4px 0 6px;font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.2}.venue-line,.explanation,.empty-copy{margin:0;color:var(--muted)}.score-pill{flex:0 0 auto;display:grid;place-items:center;width:74px;min-height:64px;border:1px solid var(--line);border-radius:8px;background:var(--surface-strong)}.score-pill strong{font-size:1.5rem;line-height:1}.score-pill span{font-size:.74rem;font-weight:780}.score-pill.high{color:#063d1a;background:#cff3d9}.score-pill.medium{color:#5f3d05;background:#f8e5b7}.score-pill.low{color:#6f1f18;background:#f8d1cc}.match-list{display:flex;flex-wrap:wrap;gap:8px}.match-chip,.no-match{display:inline-flex;align-items:center;gap:8px;min-height:30px;border-radius:999px;padding:0 10px;font-size:.86rem}.match-chip{color:#092414;background:#daf8e2}.match-chip strong{color:var(--green-dark)}.no-match{color:var(--muted);background:#edf0ec}.evidence-drawer{border-top:1px solid #edf1ea;padding-top:10px}.evidence-drawer summary{color:var(--muted);cursor:pointer;font-weight:760}.evidence-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;padding-top:10px}.evidence-block{display:grid;gap:5px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fbfcfa}.evidence-block span{color:var(--blue);font-size:.82rem;font-weight:720}.evidence-block ul{margin:0;padding-left:18px;color:var(--muted);font-size:.86rem}.score-breakdown{display:grid;gap:10px;margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#f7faf7}.score-breakdown>strong{font-size:.9rem}.breakdown-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.breakdown-metric{display:grid;gap:4px;min-height:58px;padding:8px;border:1px solid #e1e8df;border-radius:8px;background:var(--surface)}.breakdown-metric span,.performer-score-row small{color:var(--muted);font-size:.76rem}.breakdown-metric strong{font-size:1.1rem}.performer-score-list{display:grid;gap:6px}.performer-score-row{display:grid;grid-template-columns:minmax(0,.45fr) minmax(0,1fr);gap:10px;align-items:baseline;font-size:.84rem}.performer-score-row span{min-width:0;overflow:hidden;color:var(--ink);font-weight:760;text-overflow:ellipsis;white-space:nowrap}.event-link{display:inline-flex;align-items:center;gap:7px;width:fit-content;color:var(--blue);font-weight:780;text-decoration:none}.event-link:hover{text-decoration:underline}.notice{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding:12px 14px;border:1px solid;border-radius:8px;font-weight:680}.notice.warning{color:#6a4506;border-color:#f0d28c;background:#fff4d5}.notice.error{color:#7c211a;border-color:#f0aaa3;background:#ffe3df}.empty-state{display:grid;place-items:center;min-height:280px;padding:28px;border:1px dashed #bcc9bf;border-radius:8px;background:#ffffffbd;text-align:center}.empty-state svg{width:34px;height:34px;color:var(--green-dark)}.empty-state h3{margin:10px 0 4px}.empty-state p{margin:0;color:var(--muted)}.progress-state{display:grid;gap:14px;min-height:280px;padding:28px;border:1px dashed #bcc9bf;border-radius:8px;background:#ffffffc7}.progress-copy{display:grid;gap:4px;place-items:center;text-align:center}.progress-copy h3,.progress-copy p{margin:0}.progress-copy p{color:var(--muted)}.progress-track{position:relative;overflow:hidden;width:min(520px,100%);height:12px;margin:0 auto;border:1px solid #cfd9d0;border-radius:999px;background:#e8eee6}.progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green-dark),var(--green),var(--blue));transition:width .18s ease}.progress-state>span{color:var(--green-dark);font-size:.88rem;font-weight:820;text-align:center}@media(max-width:980px){.search-surface{grid-template-columns:repeat(2,minmax(0,1fr))}.search-button{grid-column:span 2}.result-layout{grid-template-columns:1fr}.taste-panel{position:static}}@media(max-width:720px){.topbar,.events-toolbar{align-items:stretch;flex-direction:column}.account-actions{justify-content:flex-start}.summary-strip,.search-surface{grid-template-columns:1fr}.search-button{grid-column:auto}.event-card{grid-template-columns:1fr}.event-image{aspect-ratio:16 / 9;min-height:auto}.event-main{align-items:stretch;flex-direction:column}.score-pill{width:100%;min-height:52px;grid-template-columns:auto auto;justify-content:center;gap:8px}.breakdown-grid,.performer-score-row{grid-template-columns:1fr}}
