:root{--lyve-black: #050505;--lyve-card: #0e0e0e;--lyve-raised: #171717;--lyve-hover: #1f1f1f;--lyve-line: #242424;--lyve-line-strong: #343434;--lyve-text: #ffffff;--lyve-text-2: #d4d4d4;--lyve-muted: #9a9a9a;--lyve-dim: #6e6e6e;--lyve-green: #3aff16;--lyve-green-on-light: #157a00;--lyve-xavi: #09dc4a;--lyve-amber: #ffb547;--lyve-red: #ff5c5c;--font-display: "Archivo", "Arial Narrow", system-ui, sans-serif;--font-body: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-code: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--r-pill: 80px;--r-card: 20px;--r-input: 12px;--r-tag: 8px;--xavi-panel: 5px;--t-quick: .16s;--t-standard: .28s;--ease: cubic-bezier(.2, 0, 0, 1);--bg: var(--lyve-black);--panel: var(--lyve-card);--panel-2: var(--lyve-raised);--border: var(--lyve-line);--border-2: var(--lyve-line-strong);--text: var(--lyve-text);--muted: var(--lyve-muted);--muted-2: var(--lyve-dim);--accent: var(--lyve-green);--green: var(--lyve-green);--amber: var(--lyve-amber);--red: var(--lyve-red);--radius: var(--r-card);--radius-sm: var(--r-tag);--shadow: 0 24px 60px rgba(0, 0, 0, .6)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-body);background:var(--lyve-black);color:var(--lyve-text-2);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:var(--lyve-green);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{margin:0}:focus-visible{outline:2px solid var(--lyve-green);outline-offset:3px;border-radius:var(--r-tag)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--lyve-line-strong);border-radius:8px}::-webkit-scrollbar-track{background:transparent}.app{display:flex;min-height:100vh}.sidebar{width:252px;flex-shrink:0;background:linear-gradient(180deg,#080808,var(--lyve-black));border-right:1px solid var(--lyve-line);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}.logo{padding:22px 22px 18px}.logo .wm{font-family:var(--font-display);font-stretch:125%;font-weight:900;color:var(--lyve-text);font-size:24px;line-height:1;letter-spacing:.02em;display:flex;align-items:baseline;gap:.28em}.logo .wm span{font-size:.56em;color:var(--lyve-green);font-weight:900}.logo small{display:block;margin-top:7px;font-size:11px;color:var(--lyve-dim);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.nav{padding:8px 12px;display:flex;flex-direction:column;gap:2px}.nav-group-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--lyve-dim);padding:16px 10px 6px;font-weight:800}.nav-link{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--r-tag);color:var(--lyve-muted);font-weight:600;font-size:13.5px;transition:background var(--t-quick) var(--ease),color var(--t-quick) var(--ease)}.nav-link:hover{background:var(--lyve-raised);color:var(--lyve-text);text-decoration:none}.nav-link.active{background:var(--lyve-raised);color:var(--lyve-text)}.nav-link.active .nav-icon{color:var(--lyve-green)}.nav-icon{width:18px;text-align:center;font-size:15px;color:var(--lyve-dim)}.sidebar-foot{margin-top:auto;padding:16px 20px;font-size:11px;color:var(--lyve-dim);border-top:1px solid var(--lyve-line)}.sidebar-foot .src{display:flex;align-items:center;gap:6px;color:var(--lyve-muted);margin-bottom:4px}.sidebar-foot .src i{width:7px;height:7px;border-radius:50%;background:var(--lyve-green);box-shadow:0 0 8px #3aff16b3}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:14px;padding:12px 28px;background:#050505d9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--lyve-line)}.topbar .crumb{font-family:var(--font-display);font-stretch:125%;font-weight:900;text-transform:uppercase;font-size:16px;color:var(--lyve-text);letter-spacing:.01em}.topbar .spacer{flex:1}.key-status{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--lyve-muted);font-weight:600}.dot{width:8px;height:8px;border-radius:50%;background:var(--lyve-green);box-shadow:0 0 0 3px #3aff162e}.dot.off{background:var(--lyve-red);box-shadow:0 0 0 3px #ff5c5c2e}.btn{display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 18px;border-radius:var(--r-pill);border:1px solid var(--lyve-line-strong);background:transparent;color:var(--lyve-text-2);font-weight:800;font-size:13px;cursor:pointer;font-family:var(--font-body);transition:border-color var(--t-quick) var(--ease),filter var(--t-quick) var(--ease),background var(--t-quick) var(--ease),color var(--t-quick) var(--ease)}.btn:hover{border-color:var(--lyve-green);color:var(--lyve-text)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.4;cursor:default}.btn.primary{background:var(--lyve-green);border-color:var(--lyve-green);color:#050505}.btn.primary:hover{filter:brightness(1.08);background:var(--lyve-green)}.btn.ghost{background:transparent;border-color:transparent;color:var(--lyve-green)}.btn.ghost:hover{border-color:transparent;color:var(--lyve-green);filter:brightness(1.1)}.btn.sm{height:34px;padding:0 14px;font-size:12px}.content{padding:28px;max-width:1240px;width:100%;margin:0 auto}.page-head{margin-bottom:24px}.page-head h1{font-family:var(--font-display);font-stretch:125%;font-weight:900;text-transform:uppercase;font-size:clamp(28px,4vw,40px);line-height:.95;color:var(--lyve-text);letter-spacing:-.01em}.page-head p{color:var(--lyve-muted);margin:10px 0 0;max-width:780px;font-size:15px}.card{background:var(--lyve-card);border:1px solid var(--lyve-line);border-radius:var(--r-card);padding:20px}.grid{display:grid;gap:16px}.grid.cols-4{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.grid.cols-3{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.grid.cols-2{grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}.stat{position:relative;overflow:hidden}.stat .label{font-size:11px;color:var(--lyve-muted);font-weight:800;text-transform:uppercase;letter-spacing:.06em}.stat .value{font-family:var(--font-display);font-stretch:125%;font-weight:900;font-size:40px;line-height:.9;margin-top:10px;color:var(--lyve-text);letter-spacing:-.01em}.stat .sub{font-size:12px;color:var(--lyve-dim);margin-top:8px}.stat .glow{position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(58,255,22,.22),transparent 70%)}.bars{display:flex;flex-direction:column;gap:8px}.bar-row{display:flex;align-items:center;gap:10px;font-size:13px}.bar-row .bar-label{width:132px;text-align:right;color:var(--lyve-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-row .bar-track{flex:1;height:14px;background:var(--lyve-raised);border-radius:5px;overflow:hidden}.bar-row .bar-fill{height:100%;background:var(--lyve-green);border-radius:5px;min-width:2px;transition:width var(--t-standard) var(--ease)}.bar-row .bar-value{width:62px;color:var(--lyve-text-2);font-variant-numeric:tabular-nums}.event-card{cursor:pointer;transition:border-color var(--t-quick) var(--ease),transform var(--t-quick) var(--ease)}.event-card:hover{border-color:var(--lyve-green);transform:translateY(-2px)}.event-card .when{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--lyve-green);font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px}.event-card h3{font-size:16px;font-weight:800;color:var(--lyve-text);margin-bottom:5px;line-height:1.25}.event-card .venue{color:var(--lyve-muted);font-size:13px}.event-card .headliner{margin-top:10px;font-size:12.5px;color:var(--lyve-text-2)}.event-card .headliner span{color:var(--lyve-dim)}.tag{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:800;padding:2px 9px;border-radius:var(--r-tag);background:var(--lyve-raised);border:1px solid var(--lyve-line-strong);color:var(--lyve-muted)}.tag.festival{background:#3aff161a;color:var(--lyve-green);border-color:#3aff1659}.tag.cancelled{background:#ff5c5c1f;color:var(--lyve-red);border-color:#ff5c5c66}.tag.headliner{background:#3aff161f;color:var(--lyve-green);border-color:#3aff1666}.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:var(--lyve-card);border:1px solid var(--lyve-line);border-radius:var(--r-card);padding:14px;margin-bottom:18px}.input,.select{padding:9px 13px;border-radius:var(--r-input);border:1px solid var(--lyve-line-strong);background:var(--lyve-raised);color:var(--lyve-text);font-size:13.5px;font-family:var(--font-body)}.input:focus,.select:focus{outline:none;border-color:var(--lyve-green)}.input::placeholder{color:var(--lyve-dim)}.select option{background:var(--lyve-raised)}.table{width:100%;border-collapse:collapse;font-size:13.5px}.table th{text-align:left;padding:11px 14px;color:var(--lyve-text);font-size:11px;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--lyve-line-strong);font-weight:800;background:var(--lyve-raised)}.table td{padding:12px 14px;border-bottom:1px solid var(--lyve-line);vertical-align:top}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--lyve-card)}.table .clickable{cursor:pointer;color:var(--lyve-green);font-weight:700}.table .clickable:hover{text-decoration:underline}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}.tab{height:38px;padding:0 18px;border-radius:var(--r-pill);border:1px solid var(--lyve-line);background:var(--lyve-raised);font-weight:700;font-size:13.5px;color:var(--lyve-text-2);cursor:pointer;font-family:var(--font-body)}.tab.active{background:var(--lyve-green);color:#050505;border-color:var(--lyve-green)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:60;animation:fade var(--t-quick) var(--ease)}.drawer{position:fixed;top:0;right:0;bottom:0;width:560px;max-width:94vw;background:var(--lyve-black);border-left:1px solid var(--lyve-line-strong);z-index:61;overflow-y:auto;padding:26px;animation:slide var(--t-standard) var(--ease);box-shadow:var(--shadow)}@keyframes slide{0%{transform:translate(40px);opacity:0}to{transform:none;opacity:1}}@keyframes fade{0%{opacity:0}to{opacity:1}}.drawer .close{float:right}.drawer h2{font-size:20px;margin:0 40px 4px 0;font-weight:800;color:var(--lyve-text);line-height:1.2}.drawer .img{width:100%;border-radius:var(--r-card);margin:14px 0;aspect-ratio:16/8;object-fit:cover;background:var(--lyve-card)}.drawer .meta{color:var(--lyve-muted);font-size:13px;margin-bottom:16px}.drawer section{margin-top:20px}.drawer section h4{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--lyve-dim);margin-bottom:10px;font-weight:800}.kv{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--lyve-line);font-size:13.5px}.kv .k{color:var(--lyve-muted)}.kv .v{text-align:right;max-width:60%;color:var(--lyve-text-2)}.perf{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;background:var(--lyve-card);border-radius:var(--r-tag);margin-bottom:6px;font-size:13.5px;color:var(--lyve-text-2)}.perf .g{color:var(--lyve-dim);font-size:11.5px}.offer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;background:var(--lyve-card);border:1px solid var(--lyve-line);border-radius:var(--r-input);margin-bottom:8px;color:var(--lyve-text-2)}.offer:hover{text-decoration:none;border-color:var(--lyve-green)}.offer .seller{font-weight:800;color:var(--lyve-text)}.offer .price{color:var(--lyve-amber);font-weight:800}.loading,.empty,.error{padding:48px;text-align:center;color:var(--lyve-muted);background:var(--lyve-card);border:1px dashed var(--lyve-line-strong);border-radius:var(--r-card)}.error{color:var(--lyve-red);border-color:#ff5c5c66}.spinner{width:26px;height:26px;border:3px solid var(--lyve-line-strong);border-top-color:var(--lyve-green);border-radius:50%;margin:0 auto 12px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin:24px 0}.pagination .info{color:var(--lyve-muted);font-size:13px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:6px 13px;border-radius:var(--r-pill);background:transparent;border:1px solid var(--lyve-line-strong);color:var(--lyve-text-2);font-size:12.5px;cursor:pointer;font-weight:700;transition:all var(--t-quick) var(--ease)}.chip:hover{border-color:var(--lyve-green);color:var(--lyve-text);text-decoration:none}.notice{background:#ffb54714;border:1px solid rgba(255,181,71,.3);color:var(--lyve-amber);padding:11px 15px;border-radius:var(--r-input);font-size:12.5px;margin-bottom:14px}.xavi-panel{border-left:var(--xavi-panel) solid var(--lyve-xavi);border-radius:0 var(--r-card) var(--r-card) 0}.modal{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;z-index:100;background:#000000b3}.modal-panel{background:var(--lyve-black);border:1px solid var(--lyve-line-strong);border-radius:var(--r-card);padding:30px;width:460px;max-width:92vw;box-shadow:var(--shadow)}.modal-panel h2{font-family:var(--font-display);font-stretch:125%;font-weight:900;text-transform:uppercase;color:var(--lyve-text);margin-bottom:10px}.modal-panel p{color:var(--lyve-muted);font-size:13px;margin:0 0 20px}.modal-panel .input{width:100%;margin-bottom:16px}.playground textarea,.playground .input{width:100%;font-family:var(--font-code);font-size:13px}.playground .row{display:flex;gap:10px;align-items:center}.playground pre{background:#070707;border:1px solid var(--lyve-line);border-radius:var(--r-input);padding:16px;overflow:auto;font-size:12px;max-height:480px;color:#c9d4f0;font-family:var(--font-code)}.section-title{display:flex;align-items:center;justify-content:space-between;margin:30px 0 14px}.section-title h2{font-family:var(--font-display);font-stretch:125%;font-weight:900;text-transform:uppercase;font-size:16px;color:var(--lyve-text);letter-spacing:.01em}.section-title .hint{font-size:12px;color:var(--lyve-dim)}.card h3{font-weight:800;color:var(--lyve-text)}.card h3.title{font-family:var(--font-display);font-stretch:125%;font-weight:800;text-transform:uppercase;font-size:15px;color:var(--lyve-text);margin-bottom:12px}@media (max-width: 860px){.sidebar{display:none}.content{padding:16px}}
