:root{color-scheme:dark;--bg:#0f1729;--card:#182434;--line:#334155;--orange:#ff7900;--text:#f8f9fc;--muted:#aab7ca}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 system-ui,-apple-system,sans-serif}button,input{font:inherit}button{cursor:pointer;border:1px solid transparent;border-radius:10px;background:var(--orange);color:#101729;min-height:44px;padding:10px 20px;font-weight:600}button:hover{filter:brightness(1.12)}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,svg:focus-visible{outline:3px solid #ffad62;outline-offset:3px}.outline{background:transparent;border-color:var(--line);color:var(--text)}.quiet{background:transparent;color:var(--muted);padding:8px 12px}.orange{color:var(--orange)}header{position:sticky;top:0;z-index:10;background:#101b2c;border-bottom:1px solid var(--line);padding:12px max(20px,calc((100vw - 1000px)/2))}.masthead{display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{text-decoration:none;color:var(--text);font-size:23px;font-weight:750;white-space:nowrap}.brand>span:last-child{font-weight:400;color:var(--muted)}.brand .orange{font-size:30px;margin-right:5px}#sessionControls{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:5px;margin-top:8px}#font{display:flex}main{max-width:1000px;margin:auto;padding:42px 24px;min-height:70vh}h1{font-size:38px;line-height:1.15;letter-spacing:-1px;margin:0 0 16px}h2{font-size:24px;margin:0 0 8px}p{margin:8px 0}.hero{margin:12px 0 28px}.hero h1{font-size:46px}.hero p,.hint,#songArtist,#status{color:var(--muted)}.hint{font-size:14px}input{min-width:0;background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:12px 16px;min-height:48px}input::placeholder{color:#9ba8ba}form{display:flex;gap:12px;margin:16px 0}form input{flex:1}.locationBar{display:flex;gap:12px;align-items:center}.locationBar input{flex:1}.filterBar{display:flex;gap:12px;justify-content:space-between;align-items:center;margin:24px 0 16px}.filters{display:flex;gap:8px}.chip{border-radius:24px;color:var(--muted);background:transparent;border:1px solid var(--line);padding:7px 16px}.chip.selected{color:var(--orange);border-color:#80522b;background:#2a241f}.card{background:var(--card);border:1px solid #26354a;padding:20px;margin:12px 0;border-radius:14px;display:flex;gap:18px;align-items:center}.card>div{flex:1;min-width:0}.actCard h2{font-size:22px;margin:0;overflow-wrap:anywhere}.card img,#identity img,.avatarPlaceholder{width:64px;height:64px;object-fit:cover;border-radius:12px;flex:none}.avatarPlaceholder{display:grid;place-items:center;color:var(--orange);background:#233247;font-size:30px}.live{color:#65df99;font-size:14px}.actCard p{margin:3px 0}.actCard>button{flex:none}.actHeading{display:flex;gap:16px;align-items:center;justify-content:space-between}.actHeading>div{min-width:0}#identity{display:flex;gap:14px;align-items:center}#identity h1{font-size:26px;letter-spacing:-.4px;margin:0;overflow-wrap:anywhere}#status{font-size:14px;margin:8px 0}.tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin:18px 0 28px}.tabs button{border-radius:0;background:transparent;color:var(--muted);border-bottom:3px solid transparent;padding:12px 6px}.tabs button[aria-current]{color:var(--orange);border-bottom-color:var(--orange)}#lyrics{white-space:pre-wrap;overflow-wrap:anywhere;font-size:26px;line-height:1.5!important;max-width:740px;margin:26px 0 40px}#title{font-size:30px}#songArtist{margin-top:4px}.repertoireHeading{display:flex;gap:16px;justify-content:space-between;align-items:center;margin-bottom:18px}.repertoireHeading h1,.repertoireHeading h2{margin:0}#songSearch{width:100%}.songList{margin:20px 0}.songRow h3{margin:0;font-size:20px;overflow-wrap:anywhere}.songRow p{margin:4px 0 0;color:var(--muted)}.songRow.disabled{color:#9ca7b8}.requestState{font-size:13px;text-align:right;max-width:150px;color:var(--orange)}.songRow input[type=checkbox]{width:24px;height:24px;min-height:24px;flex:none;accent-color:var(--orange);cursor:pointer}.songRow input:disabled{cursor:default}#bio{white-space:pre-wrap;color:var(--muted);max-width:700px}#links{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.socialLink{display:flex;flex-direction:column;align-items:center;gap:8px;text-decoration:none;font-size:13px;color:var(--muted);padding:12px;border:1px solid var(--line);border-radius:12px;min-width:80px}.socialMark{font-size:27px;font-weight:bold;color:var(--orange);height:38px}details{background:var(--card);border:1px solid var(--line);padding:22px;border-radius:14px;margin:20px 0}summary{cursor:pointer}a{color:var(--orange)}.siteFooter{text-align:center;padding:24px 16px;color:var(--muted);border-top:1px solid #243249;font-size:14px}.siteFooter a,.textLink{display:inline-block;color:var(--muted);margin:0 10px;font-size:14px}.textLink{background:none;font-weight:400;padding:8px 0;text-decoration:underline}.siteFooter p{font-size:12px;margin-top:16px}#advertisement{text-align:center;font-size:12px;color:var(--muted);margin:12px auto;padding:12px;max-width:1000px}.mapLayout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(230px,1fr);gap:24px}.globeWrap{border:1px solid var(--line);border-radius:16px;background:#111e30;padding:14px;text-align:center;overflow:hidden}#globe{width:100%;height:480px;display:block;touch-action:none;cursor:grab}#globe:active{cursor:grabbing}.mapControls{display:flex;gap:10px;justify-content:center}.mapControls button{padding:8px 16px}.mapAct{display:block;width:100%;text-align:left;background:var(--card);color:var(--text);border:1px solid var(--line);margin-bottom:10px}.mapAct small{display:block;color:var(--muted);font-weight:400}.mapSelection{background:var(--card);border:1px solid var(--orange);border-radius:12px;padding:16px;margin-bottom:16px}.marker{cursor:pointer}[hidden]{display:none!important}@media(max-width:650px){header{padding:8px 16px}.brand{font-size:20px}.brand .orange{font-size:25px}main{padding:24px 18px}.hero h1{font-size:36px}.hero{margin-top:6px}.locationBar{flex-wrap:wrap;gap:8px}.locationBar input{flex-basis:100%}.filterBar{flex-wrap:wrap}.card{padding:14px;gap:12px}.card img,.avatarPlaceholder{width:50px;height:50px}.actCard h2{font-size:19px}.actCard>button{padding:8px 12px}.actHeading{flex-wrap:wrap}.actHeading>button{padding:8px 14px}.actHeading #identity h1{font-size:22px}#identity img{width:52px;height:52px}.tabs{gap:22px;margin-top:14px}.requestState{max-width:90px;font-size:12px}.songRow{gap:10px}.songRow h3{font-size:18px}#title{font-size:27px}#lyrics{font-size:24px}.mapLayout{grid-template-columns:1fr}#globe{height:360px}.repertoireHeading h1{font-size:28px}form{flex-wrap:wrap}.siteFooter a,.textLink{margin:0 7px}}

.tabs{position:sticky;top:var(--header-height,115px);background:var(--bg);z-index:9}#ad{margin-top:30px;padding:16px;border:1px solid var(--line);border-radius:12px;font-size:13px;color:var(--muted)}

.tabs{position:sticky;top:var(--header-height,115px);background:var(--bg);z-index:9}#ad{margin-top:30px;padding:16px;border:1px solid var(--line);border-radius:12px;font-size:13px;color:var(--muted)}

.globeWrap{position:relative}.mapControls{position:absolute;top:18px;right:18px;flex-direction:column;background:#111e30dd;padding:4px;border-radius:12px}.mapControls button{min-width:48px}

#globe{height:540px;text-align:left;cursor:grab;border-radius:10px}.mapControls{z-index:2;top:22px;right:22px}.maplibregl-ctrl-attrib{color:#182434;background:#f0f4f8e8!important}.maplibregl-ctrl-attrib a{color:#172b43}.actMarker{display:grid;place-items:center;background:#ff7900;color:#101729;border:2px solid #ffcfaa;border-radius:50%;width:34px;height:34px;min-height:34px;padding:0;font-size:14px;box-shadow:0 2px 8px #0007}.actMarker.group{width:42px;height:42px;min-height:42px}.actMarker:focus-visible{outline:3px solid white;outline-offset:3px}.mapGroup .mapAct{margin-top:12px}.poweredBy{display:flex;flex-direction:column;align-items:center;gap:8px;margin:20px auto 0;font-size:12px}.poweredBy img{width:170px;height:42px;object-fit:contain}.maplibregl-canvas:focus-visible{outline:3px solid #ffad62}.globeWrap .hint{margin:10px 0 0}@media(max-width:650px){#globe{height:420px}.tabs{gap:18px}.tabs button{padding:12px 4px}}
