/* Shared banner treatment; the record supplies content, never page geometry. */
.atlas-orientation{display:flex;align-items:flex-start;gap:18px;padding:0 0 12px;margin:0 0 10px;position:relative;border-bottom:1px solid var(--line)}
.atlas-identity-main{display:block;min-width:0;flex:1}
.atlas-cutouts{display:flex;align-items:flex-end;gap:12px;height:53.2px;width:fit-content;position:relative;z-index:1}
.atlas-object,.atlas-review{display:inline-flex;align-items:flex-end;justify-content:center;flex-shrink:0;padding:0;background:transparent;border:0;border-radius:0;min-width:0;min-height:0}
.atlas-object{height:53.2px}
.atlas-review{height:36px;max-width:none}
.atlas-sprite{display:block;flex-shrink:0;background-repeat:no-repeat;position:relative;overflow:hidden}
.atlas-scan{padding:2px 0 0}
.atlas-facts{display:flex;align-items:center;flex-wrap:wrap;gap:6px 20px}
.atlas-fact{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:0;background:transparent;border:0;color:var(--fg);font-size:13px;font-variant-numeric:tabular-nums;text-align:left}
.atlas-classification{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-top:1px}
.atlas-type-name{font-size:13px;line-height:1.45;font-weight:500;letter-spacing:0;padding:0;text-align:left;color:var(--fg);min-height:0}
.atlas-subtype{font-size:13px;color:var(--muted)}
.atlas-subtype:before{content:'·';margin-right:8px}
.atlas-insight{font-size:12px;color:var(--muted);margin:6px 0 0;line-height:1.5}
.atlas-admin{flex:0 1 260px;min-width:0;padding-top:25px}.atlas-admin .badges{justify-content:flex-end;margin:0;gap:6px}
.has-banner .genre-banner{margin-bottom:0}
.has-banner .atlas-orientation{margin-top:0}
.has-banner .atlas-cutouts{margin-top:-35.2px}
.atlas-type-pending{height:53.2px;width:42px;background:transparent}
@media(max-width:1100px){.atlas-orientation{flex-wrap:wrap;gap:8px}.atlas-identity-main{flex-basis:100%}.atlas-admin{flex-basis:100%;padding-top:0}}
@media(max-width:540px){.atlas-cutouts{height:40.6px;gap:8px}.atlas-object{height:40.6px}.atlas-object .atlas-sprite{transform:scale(.7631578947);transform-origin:bottom left;margin-right:-12px}.has-banner .atlas-cutouts{margin-top:-22.6px}.atlas-facts{gap:4px 12px}.atlas-fact{gap:5px}.atlas-type-name{min-height:0}.atlas-review{min-height:0}.atlas-orientation{padding-bottom:10px}}
@media(pointer:coarse){.atlas-fact,.atlas-type-name{min-height:44px}.atlas-review:after{content:'';position:absolute;inset:-4px 0}.atlas-review{position:relative}}
@media(max-width:700px){.has-banner .genre-banner{display:block}}

.atlas-admin{position:relative}
.atlas-admin .badges{display:grid;grid-template-columns:max-content max-content;justify-content:end;align-items:start;gap:4px}
.atlas-admin .badges>.badge{grid-column:2;justify-self:end}
.atlas-collection-review{grid-column:1;grid-row:1 / span 2;display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.atlas-admin .atlas-validation-control{display:inline-flex;align-items:center;gap:5px;cursor:pointer;margin:0;font-size:10px;font-weight:400;line-height:inherit;padding:5px 8px}
.atlas-validation-control input{width:12px;height:12px;margin:0;padding:0;accent-color:#68cd93;cursor:pointer}
.atlas-validation-control:has(input:checked){color:#87dba8}
.atlas-validation-control:has(input:focus-visible){outline:2px solid #edc266;outline-offset:3px}
.atlas-review-save{position:absolute;right:0;top:100%;font:10px/1.4 system-ui;max-width:260px;color:var(--muted,#b4b9b5);text-align:right}
.atlas-review-save:empty{display:none}

.atlas-reach-form{margin:10px 0 0 auto;max-width:260px;text-align:left;font-size:11px;color:var(--muted)}
.atlas-reach-input{display:flex;gap:5px;margin-top:4px}.atlas-reach-input input{min-width:0;width:100%;padding:6px 8px;font-size:12px}.atlas-reach-input button{padding:6px 10px;font-size:11px;border:1px solid var(--line);border-radius:5px}
.atlas-reach-form small{display:block;font-size:10px;margin-top:4px}.atlas-reach-status{display:block;font-size:11px;margin-top:3px}
.needs-work-marker{display:inline-block;font-size:10px;line-height:1.4;color:#edc266;border:1px solid #786039;border-radius:4px;padding:1px 5px;margin:3px 0 1px}
.row-work:empty{display:none}.atlas-admin .atlas-work-control:has(input:checked){color:#edc266}.atlas-work-control input{accent-color:#edc266}
.atlas-work-notes{margin:10px 0 0 auto;max-width:260px;color:var(--muted);font-size:11px;text-align:left}.atlas-work-notes summary{cursor:pointer;color:#edc266}.atlas-work-note-form textarea{display:block;width:100%;box-sizing:border-box;resize:vertical;min-height:65px;margin:6px 0;padding:7px;font:12px/1.5 system-ui;color:var(--fg);background:var(--bg,#101516);border:1px solid var(--line);border-radius:5px}.atlas-work-note-form button{font-size:11px;padding:5px 9px;border:1px solid var(--line);border-radius:5px}.atlas-work-note-status{display:block;font-size:10px;margin-top:3px}
/* Persistent administration rail, separate from the reading page. */
.row-count .needs-work-marker{margin:0;white-space:nowrap;font-size:9px;line-height:1.2;padding:2px 4px}
.shell.admin-mode-open{grid-template-columns:320px minmax(0,1fr) 280px}
#admin-panel{min-width:0;overflow-y:auto;padding:20px 16px;background:var(--sidebar,#171b1c);border-left:1px solid var(--line)}
#admin-panel[hidden]{display:none}.admin-panel-head{display:flex;align-items:center;justify-content:space-between}.admin-panel-head h2{font:600 16px var(--sans)}.admin-panel-head button{font-size:24px;padding:0 5px}.admin-entry-name{font-size:13px;color:var(--gold);margin:12px 0 20px;overflow-wrap:anywhere}
#admin-panel .atlas-admin{padding:0;width:100%;max-width:none}#admin-panel .badges{display:flex;flex-direction:column;align-items:flex-start;gap:9px;justify-content:flex-start}#admin-panel .atlas-collection-review{align-items:flex-start;gap:9px}#admin-panel .atlas-reach-form,#admin-panel .atlas-work-notes{margin:22px 0 0;max-width:none;width:100%}#admin-panel .atlas-review-save{position:static;display:block;text-align:left;margin-top:12px;max-width:none}
#admin-mode.active{color:var(--gold)}
.admin-mode-open .page{padding-left:28px;padding-right:28px}.admin-mode-open .first-look,.admin-mode-open .first-look:has(.research-expansion[open]){grid-template-columns:minmax(0,1fr)}
@media(min-width:1700px){.shell.admin-mode-open{grid-template-columns:320px minmax(0,1fr) 300px}.admin-mode-open .first-look{grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr)}}
@media(max-width:1100px){.shell.admin-mode-open{grid-template-columns:320px minmax(0,1fr)}#admin-panel{position:fixed;right:0;top:60px;bottom:0;width:280px;z-index:25;box-shadow:-12px 0 35px #0005}}
@media(max-width:850px){.shell.admin-mode-open{grid-template-columns:minmax(0,1fr)}#admin-panel{top:60px}.appbar .top-actions{gap:10px}}
@media(max-width:540px){#admin-panel{width:min(300px,90vw)}#admin-mode{display:inline-block!important}.admin-mode-open .page{padding-left:20px;padding-right:20px}}
/* Keep the work flag and its note in one visible control group. */
#admin-panel .atlas-work-notes{padding:12px;border:1px solid var(--line);border-radius:8px;box-sizing:border-box}
.atlas-work-notes .atlas-work-control{display:flex;align-items:center;gap:7px;color:#edc266;font-size:12px;font-weight:600;cursor:pointer}
.atlas-work-help{margin:8px 0;line-height:1.5;font-size:11px;color:var(--muted)}

/* Soft blue genre gem: preserve the original artwork and all other symbols. */
.atlas-sprite-genre{filter:hue-rotate(175deg) saturate(.5) brightness(1.15)}

.atlas-reach-song{margin-top:7px;font-size:11px;color:var(--muted)}
.atlas-reach-song summary{cursor:pointer;color:var(--gold);font-size:11px}
.atlas-reach-song label{display:block;margin-top:8px;font-size:11px}
.atlas-reach-song select{display:block;width:100%;max-width:100%;font-size:11px;margin:5px 0;padding:6px}
.song.reach-song-highlight{background:#303b35;box-shadow:inset 3px 0 #a5cee8,0 0 0 1px #a5cee8;border-radius:6px}
.song:focus-visible{outline:2px solid #a5cee8;outline-offset:3px}
.atlas-fact[data-action="reach-song"]{cursor:pointer}
.atlas-fact[data-action="reach-song"]:hover span:last-child{text-decoration:underline;text-underline-offset:3px}

/* Local Admin: public refresh actions and upload instructions. */
#admin-panel .atlas-public-refresh{font-size:14px;line-height:1.55;color:var(--fg);padding:14px}
.atlas-refresh-actions{display:grid;gap:8px;margin-bottom:16px}
.atlas-refresh-actions button{min-height:42px;padding:10px 12px;border:1px solid #75827d;border-radius:7px;background:var(--raised);color:var(--fg);font:600 14px/1.3 var(--sans);text-align:center}
.atlas-refresh-actions [data-refresh-public="changes"]{background:var(--gold);border-color:var(--gold);color:#171b1c}
.atlas-refresh-actions button:hover:not(:disabled){background:#34413c;color:#fff;border-color:var(--gold)}
.atlas-refresh-actions [data-refresh-public="changes"]:hover:not(:disabled){background:#f4d49c;color:#171b1c}
.atlas-refresh-actions button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.atlas-refresh-actions button:disabled{opacity:.55;cursor:wait}
.atlas-public-refresh p{line-height:1.55}
.atlas-refresh-files{margin:8px 0 14px;padding-left:18px}
.atlas-refresh-files li{margin:6px 0;overflow-wrap:anywhere}
.atlas-refresh-files code{font:inherit;color:var(--fg)}
.atlas-public-refresh .atlas-refresh-hint{color:#bdc6c1;font-size:13px}
.atlas-public-refresh [data-refresh-public-status]:not(:empty){margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:14px;color:var(--fg);overflow-wrap:anywhere}
/* Song supporting the banner view estimate. */
.reach-source-total{font-size:20px;color:var(--gold);margin:0 0 20px}
.reach-source-total span{font-size:14px;color:var(--muted)}
.reach-source-song h3{font:26px/1.3 var(--serif);margin:0 0 6px;overflow-wrap:anywhere}
.reach-source-artist{font-size:17px;margin:0 0 14px}
.reach-source-measurement{font-size:14px;color:var(--muted);margin:0 0 18px}
.reach-source-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px}
.reach-source-actions button{min-height:42px;padding:10px 20px}
.reach-source-actions a{font-size:14px;color:var(--gold)}
