    :root { color-scheme: dark; --bg:#080e15; --panel:#101c29; --panel2:#142637; --line:#294e6b; --blue:#356d9c; --cyan:#72b9ed; --white:#f8fbff; --muted:#abc0cf; --nav:#356d9c; }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body { margin:0; background:var(--bg); color:var(--white); font:16px/1.55 Lato,Arial,sans-serif; }
    a { color:inherit; } button { font:inherit; }
    a:focus-visible, button:focus-visible { outline:3px solid var(--cyan); outline-offset:4px; }
    .top-ad { display:flex; justify-content:center; margin:0; padding:0; line-height:0; background:#000; }
    .top-ad a { display:block; max-width:100%; line-height:0; }
    .top-ad img { display:block; width:auto; max-width:100%; max-height:145px; height:auto; object-fit:contain; }
    .site-header { background:var(--nav); border-bottom:1px solid #294e6b; }
    .nav-inner { max-width:1180px; padding:0 28px; margin:auto; min-height:76px; display:flex; align-items:center; gap:34px; }
    .brand { display:inline-flex; align-items:center; gap:10px; text-decoration:none; font:700 23px/1 'Josefin Sans',sans-serif; letter-spacing:-.7px; white-space:nowrap; }
    .brand-icon { display:grid; place-items:center; width:35px; height:35px; border-radius:10px; background:#fff; color:#006ab5; flex:none; }
    .brand-icon svg { width:23px; height:23px; }
    .nav-links { display:flex; gap:27px; align-items:center; margin-left:auto; }
    .nav-links a { text-decoration:none; font:600 15px 'Josefin Sans',sans-serif; white-space:nowrap; }
    .nav-links a:hover { color:#c0dff6; }
    .nav-cta { border:1px solid #aedcf7; border-radius:5px; padding:11px 15px; }
    .nav-toggle { display:none; width:44px; height:44px; padding:10px; border:1px solid #aedcf7; border-radius:5px; color:#fff; background:transparent; cursor:pointer; align-items:center; justify-content:center; flex-direction:column; gap:5px; }
    .nav-toggle span { display:block; width:22px; height:2px; border-radius:2px; background:currentColor; }
    .nav-toggle:hover { background:#ffffff1a; }
    .notice { background:#102b3e; border-bottom:1px solid #285773; color:#d4eaf7; font-size:13px; }
    .notice-inner { max-width:1180px; margin:auto; padding:9px 28px; }
    .notice strong { color:#fff; letter-spacing:.05em; text-transform:uppercase; font-size:11px; margin-right:12px; }
    main { max-width:1180px; margin:auto; padding:32px 28px 88px; }
    .breadcrumbs { color:#a5c3d7; font-size:13px; margin-bottom:32px; }
    .breadcrumbs a { text-decoration:none; color:#91d7ff; }
    .breadcrumbs span { margin:0 10px; color:#7591a5; }
    .hero { display:grid; grid-template-columns:minmax(270px,390px) minmax(0,1fr); gap:60px; align-items:center; }
    .portrait { position:relative; min-height:440px; border-radius:12px; border:1px solid #34546b; overflow:hidden; background:radial-gradient(circle at 50% 43%,#225679 0,#17344b 39%,#0d1e2d 73%); display:flex; align-items:center; justify-content:center; flex-direction:column; }
    .portrait:before { content:""; position:absolute; inset:17px; border:1px solid #46708a55; border-radius:5px; pointer-events:none; }
    .portrait:after { content:""; position:absolute; width:340px; height:340px; border:1px solid #4787ae33; border-radius:50%; top:26px; left:50%; transform:translateX(-50%); pointer-events:none; }
    .portrait-mark { color:#a4dcff; opacity:.85; width:120px; height:120px; z-index:1; }
    .portrait-caption { z-index:1; position:absolute; bottom:30px; display:flex; align-items:center; gap:9px; color:#c8e7f7; font-size:13px; }
    .portrait-caption svg { width:16px; height:16px; }
    .artist-photo { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; }
    .artist-photo + .portrait-caption { display:none; }
    .eyebrow { display:flex; align-items:center; gap:11px; color:var(--cyan); font:700 12px 'Josefin Sans',sans-serif; text-transform:uppercase; letter-spacing:.19em; }
    .eyebrow:before { content:""; display:block; width:25px; height:2px; background:var(--cyan); }
    h1,h2,h3,p { margin-top:0; }
    h1,h2,h3 { font-family:'Josefin Sans',sans-serif; }
    h1 { font-size:clamp(58px,7vw,96px); line-height:.98; letter-spacing:-4px; margin:25px 0 20px; }
    .tags { display:flex; gap:9px; flex-wrap:wrap; margin-bottom:27px; }
    .tag { color:#c3eaff; border:1px solid #3f7295; border-radius:100px; padding:5px 13px; font-size:13px; background:#122b40; }
    .intro { font-size:20px; line-height:1.6; color:#e7f1f7; max-width:630px; margin-bottom:30px; }
    .hero-actions { display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
    .primary { display:inline-flex; gap:10px; align-items:center; padding:14px 19px; text-decoration:none; color:#061523; background:var(--cyan); border-radius:5px; font-weight:900; }
    .primary:hover { background:#a4edff; }
    .text-link { text-decoration:none; color:#c5eaff; border-bottom:1px solid #5a9fc7; padding:8px 0 4px; font-weight:700; }
    .text-link:hover { color:white; }
    .divider { border:0; border-top:1px solid var(--line); margin:62px 0 52px; }
    .section-heading { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:20px; }
    .section-heading h2 { margin:0; font-size:32px; line-height:1.15; letter-spacing:-.7px; }
    .section-heading p { color:var(--muted); margin:7px 0 0; font-size:15px; }
    .section-heading a { color:#94dbff; text-decoration:none; font-weight:700; white-space:nowrap; font-size:14px; }
    .grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,.85fr); gap:28px; }
    .card { border:1px solid var(--line); background:var(--panel); border-radius:10px; overflow:hidden; }
    .shows-card { min-height:333px; }
    .empty { min-height:254px; padding:38px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
    .empty[hidden] { display:none; }
    .empty-icon { width:43px; height:43px; color:var(--cyan); margin-bottom:18px; }
    .empty h3 { font-size:23px; margin:0 0 9px; }
    .empty p { color:var(--muted); max-width:460px; margin:0 0 20px; }
    .empty a { color:var(--cyan); font-weight:700; text-decoration:none; }
    .demo-control { border-top:1px solid var(--line); padding:15px 21px; display:flex; align-items:center; justify-content:space-between; gap:12px; color:#bdd5e2; font-size:13px; }
    .demo-control button { cursor:pointer; border:1px solid #397394; border-radius:5px; color:#bce6ff; background:#16344a; padding:8px 12px; white-space:nowrap; }
    .demo-control button:hover { background:#205470; }
    .demo-list { display:none; }
    .demo-list.visible { display:block; }
    .show-row { display:grid; grid-template-columns:68px minmax(0,1fr) auto; align-items:center; gap:17px; padding:19px 21px; border-bottom:1px solid var(--line); }
    .show-row:last-child { border-bottom:0; }
    .date-tile { border:1px solid #3f6883; border-radius:5px; text-align:center; padding:5px; background:#19364b; }
    .date-tile b { display:block; font:700 27px/1 'Josefin Sans',sans-serif; padding-top:5px; }
    .date-tile small { display:block; text-transform:uppercase; color:var(--cyan); font-size:11px; letter-spacing:.12em; }
    .show-row h3 { font-size:19px; margin:0 0 3px; }
    .show-row p { color:var(--muted); margin:0; font-size:13px; }
    .report-link { color:var(--cyan); text-decoration:none; font-size:13px; font-weight:700; white-space:nowrap; }
    .report-link:hover { color:#fff; }
    .report-link:focus-visible { outline:2px solid var(--cyan); outline-offset:3px; }
    .map-link { color:var(--cyan); text-decoration:none; font-size:13px; font-weight:700; white-space:nowrap; }
    .map-link:hover { color:#fff; }
    .map-link:focus-visible { outline:2px solid var(--cyan); outline-offset:3px; }
    .calendar-note { color:var(--muted); font-size:13px; padding:18px 22px; border-top:1px solid var(--line); background:#102538; }
    .demo-badge { color:#d3e7f2; border:1px solid #46637a; padding:4px 8px; border-radius:20px; font-size:11px; }
    .side-stack { display:grid; gap:28px; align-content:start; }
    .info-card { padding:25px 27px; }
    .info-card h2 { margin:0 0 17px; font-size:25px; }
    .info-card p { color:var(--muted); font-size:14px; margin-bottom:13px; }
    .info-card .venue-detail-label { margin:18px 0 3px; color:#d5efff; font-weight:900; font-size:12px; letter-spacing:.04em; text-transform:uppercase; }
    .info-card .venue-detail-label:first-of-type { margin-top:0; }
    .hero .gallery-link { display:inline-block; margin:-12px 0 25px; }
    .song-list { margin:0; padding:0; list-style:none; }
    .song-list li { padding:11px 0; border-top:1px solid var(--line); display:flex; gap:13px; align-items:center; }
    .song-list li:before { content:"♪"; color:var(--cyan); font-size:21px; line-height:1; }
    .song-list em { font-style:normal; color:#9ab6c8; font-size:12px; display:block; }
    .link-placeholder { display:flex; align-items:center; gap:14px; padding:16px; border:1px dashed #456178; border-radius:6px; color:#b7cfde; font-size:14px; }
    .link-placeholder svg { flex:none; width:25px; height:25px; color:var(--cyan); }
    .site-footer { background:var(--nav); border-top:1px solid #294e6b; }
    .footer-inner { max-width:1180px; margin:auto; padding:30px 28px; display:flex; align-items:center; justify-content:space-between; gap:20px; color:#d9edfa; font-size:13px; }
    .footer-inner a { color:#e7f6ff; text-decoration:none; }
    @media (max-width:900px) { .nav-inner { flex-wrap:wrap; gap:15px; padding-top:12px; padding-bottom:12px; } .nav-toggle { display:flex; margin-left:auto; flex:none; } .nav-links { display:none; width:100%; margin-left:0; padding:8px 0 4px; flex-direction:column; align-items:stretch; gap:0; border-top:1px solid #ffffff55; } .nav-links.is-open { display:flex; } .nav-links a { padding:12px 8px; white-space:normal; } .nav-links .nav-cta { margin:8px 0 4px; text-align:center; } .hero { gap:32px; } .portrait { min-height:360px; } .grid { grid-template-columns:1fr; } .side-stack { grid-template-columns:1fr 1fr; } }
    @media (max-width:640px) { .nav-inner { padding-left:18px; padding-right:18px; } .brand { font-size:clamp(15px,4.5vw,19px); gap:8px; } .brand-icon { width:31px; height:31px; } .nav-links a { font-size:15px; } .nav-cta { padding:11px 15px; } .notice-inner { padding:9px 18px; } main { padding:25px 18px 60px; } .breadcrumbs { margin-bottom:21px; } .hero { grid-template-columns:1fr; gap:30px; } .portrait { min-height:340px; } h1 { font-size:64px; } .intro { font-size:18px; } .divider { margin:46px 0 40px; } .section-heading { align-items:start; flex-direction:column; } .side-stack { grid-template-columns:1fr; } .show-row { grid-template-columns:60px minmax(0,1fr); } .show-row .report-link, .show-row .map-link { grid-column:2; justify-self:start; } .demo-badge { display:none; } .demo-control { align-items:start; flex-direction:column; } .footer-inner { padding:27px 18px; flex-direction:column; align-items:start; } }
    @media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
    .editor-page { background:#0a1521; }
    .form-shell { max-width:720px; margin:36px auto; padding:36px; background:var(--panel); border:1px solid var(--line); border-radius:10px; }
    .form-shell h1 { font-size:42px; letter-spacing:-1px; margin:30px 0 0; }
    .form-shell p { color:var(--muted); }
    .form-shell > a, .editor-top a { color:var(--cyan); text-decoration:none; }
    .form-shell form label { display:block; font-weight:700; margin:22px 0; }
    .form-shell form label small { display:block; font-weight:400; color:var(--muted); }
    .form-shell input:not([type=checkbox]):not([type=hidden]), .form-shell textarea, .form-shell select { width:100%; padding:12px 13px; margin-top:7px; border:1px solid #53748b; border-radius:5px; background:#0b1b29; color:#fff; font:inherit; }
    .form-shell textarea { resize:vertical; }
    .form-shell input:focus-visible, .form-shell textarea:focus-visible, .form-shell select:focus-visible { outline:3px solid var(--cyan); outline-offset:2px; }
    .form-shell button.primary { border:0; cursor:pointer; }
    .form-shell fieldset { border:1px solid var(--line); border-radius:7px; margin:24px 0; padding:16px; }
    .form-shell legend { font-weight:700; padding:0 5px; }
    .form-shell legend small { display:block; font-weight:400; color:var(--muted); }
    .repeat-row { display:flex; gap:8px; margin:8px 0; }
    .repeat-row input { margin-top:0 !important; }
    .remove-row, .add-row { cursor:pointer; border:1px solid #53748b; color:#d5efff; background:#16344a; border-radius:5px; padding:8px 10px; white-space:nowrap; }
    .add-row { margin-top:8px; }
    .gallery-editor { display:flex; gap:10px; flex-wrap:wrap; margin-top:14px; }
    .gallery-editor label { width:110px; margin:0 !important; font-size:12px; }
    .gallery-editor img { display:block; width:110px; height:75px; object-fit:cover; border-radius:4px; margin-bottom:5px; }
    .gallery-link { cursor:pointer; border:0; background:none; color:var(--cyan); padding:0; font:700 14px Lato,Arial,sans-serif; text-decoration:underline; }
    .gallery-modal { position:relative; max-width:min(900px,94vw); width:900px; padding:20px 58px 12px; color:#fff; background:#0a1521; border:1px solid #53748b; border-radius:8px; }
    .gallery-modal::backdrop { background:#000c; }
    .gallery-modal img { width:100%; max-height:75vh; object-fit:contain; display:block; }
    .gallery-modal button { cursor:pointer; color:#fff; background:#17344bdd; border:1px solid #6c9ab9; border-radius:5px; font-size:32px; line-height:1; }
    .gallery-close { position:absolute; top:12px; right:12px; width:36px; height:36px; }
    .gallery-prev, .gallery-next { position:absolute; top:50%; transform:translateY(-50%); width:40px; height:55px; }
    .gallery-prev { left:10px; }.gallery-next { right:10px; }.gallery-modal p { text-align:center; color:var(--muted); margin:9px 0 0; }
    .form-shell .checkbox { display:flex; align-items:center; gap:9px; font-weight:400; }
    .editor-top { display:flex; justify-content:space-between; align-items:center; }
    .editor-top form { margin:0; }
    .logout { border:0; background:none; color:var(--cyan); cursor:pointer; }
    .form-error, .form-success { padding:13px; border-radius:5px; }
    .form-error { background:#5e2430; color:#fff !important; }
    .form-success { background:#18523f; color:#fff !important; }
    @media(max-width:640px) { .form-shell { margin:12px; padding:23px; } }
    .directory-intro { color:var(--muted); font-size:20px; margin:0 0 30px; }
    .artist-search { max-width:530px; margin-bottom:36px; }
    .artist-search label { display:block; color:#b3d5e7; margin-bottom:9px; font-weight:700; }
    .artist-search > div { display:flex; }
    .artist-search input { min-width:0; flex:1; background:var(--panel); color:#fff; border:1px solid #53748b; border-radius:5px 0 0 5px; padding:12px 14px; font:inherit; }
    .artist-search button { border:0; background:var(--cyan); color:#071b29; font-weight:900; padding:10px 18px; border-radius:0 5px 5px 0; cursor:pointer; }
    .artist-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
    .artist-tile { display:block; text-decoration:none; background:var(--panel); border:1px solid var(--line); border-radius:10px; overflow:hidden; transition:border-color .15s ease,transform .15s ease; }
    .artist-tile:hover { border-color:var(--cyan); transform:translateY(-2px); }
    .artist-tile-image { height:170px; background:radial-gradient(circle,#225679,#0d1e2d); color:#a4dcff; display:grid; place-items:center; font-size:58px; overflow:hidden; }
    .artist-tile-image img { width:100%; height:100%; object-fit:cover; }
    .artist-tile-body { padding:22px; }
    .artist-tile-genre { color:var(--cyan); font-size:12px; letter-spacing:.08em; text-transform:uppercase; }
    .artist-tile h2 { font-size:25px; line-height:1.1; margin:10px 0; }
    .artist-tile p { color:var(--muted); font-size:14px; min-height:65px; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
    .artist-tile strong { color:var(--cyan); font-size:14px; }
    @media(max-width:900px) { .artist-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
    @media(max-width:640px) { .artist-grid { grid-template-columns:1fr; } }


    /* deployment-check-2026-09-25 */
.report-trap { position:absolute; left:-10000px; height:1px; overflow:hidden; }
