@media screen {
/* Public collection layout */
.public-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.public-controls{grid-template-columns:minmax(240px,2fr) repeat(5,minmax(0,1fr))}
.hero-banner{height:auto;aspect-ratio:2033/773;margin-top:-16px}.hero-banner img{object-fit:contain}
.brand small{display:block;font-size:12px;letter-spacing:.14em;margin-top:4px;color:var(--muted)}
.public-chip{color:#ecd4ab;border-color:#5f4b30;background:#30291e}
.input,.select{font-size:14px}.meta .chip,.badge,.imagecount,.fact span,.stat span,.row,.footer{font-size:12px}
.card:focus-visible,.btn:focus-visible,.thumb:focus-visible{outline:2px solid #d9b579;outline-offset:3px}
@media(max-width:1250px){.public-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.public-controls #q{grid-column:1/-1}}
@media(max-width:650px){.public-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.public-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.stat{padding:8px}.stat span{font-size:12px}.hero-banner{height:auto;aspect-ratio:2033/773}.body h3{font-size:14px}.meta .chip{font-size:12px}.brand small{font-size:12px}.brand{width:auto}.spacer{display:block}.topin{flex-wrap:wrap}.hero-content{padding:12px}.hero-heading{display:block}}

/* Midnight palette: neutral surfaces, light contrast, restrained gold. */
:root{--bg:#090a0c;--panel:#15171b;--panel2:#1d2025;--line:#34383f;--text:#f5f5f2;--muted:#b5bac3;--blue:#d6bd86}
html,body{background:#090a0c;color:var(--text)}
body{background:radial-gradient(ellipse at top,#1b1e24 0,#0d0f12 40%,#090a0c 80%)}
.top{background:rgba(9,10,12,.96);border-color:#30343b}
.brand{color:#f5f5f2}.brand img{border-color:#444950}.brand small{color:#b5bac3}
.hero{background:#121418;border-color:#30343b;padding-bottom:14px}
.hero-banner{height:clamp(110px,16vw,200px);aspect-ratio:auto;background:#030303}
.hero-banner img{object-fit:contain}
.hero-content{padding-top:12px}.hero h1{color:#f5f5f2;font-size:clamp(24px,2.2vw,32px)}
.kicker{color:#d6bd86}.stat{background:#1b1e23;border-color:#34383f}.stat b{color:#f5f5f2}.stat span{color:#b5bac3}
.btn,.chip{background:#1d2025;border-color:#3c424b;color:#e9ebee}
.btn:hover,.btn:focus-visible{background:#2c3037;border-color:#d6bd86}
.btn.active{background:#eceeea;border-color:#eceeea;color:#101216}
.btn.active:hover{background:#fff}.public-chip{background:#191c21;color:#d4d8df;border-color:#3c424b}
.input,.select{background:#191c21;border-color:#454b55;color:#f5f5f2;font-size:16px}
.input::placeholder{color:#acb2bc}.controls #q{background:#191c21;border-color:#454b55}
.browse-tools{margin:22px 0 12px}.browse-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.browse-heading h2{margin:0;font-size:24px;letter-spacing:-.03em}.view-tabs{display:flex;gap:6px}.view-tabs .btn{font-size:14px}
#q{padding:15px 16px;min-height:52px;font-size:16px;border-radius:12px;box-shadow:0 5px 22px #0003}
.quick-teams{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.team-button{font-size:14px;min-height:42px}
.filter-drawer{border:1px solid #34383f;border-radius:11px;background:#121418}
.filter-drawer summary{cursor:pointer;padding:12px 14px;color:#d5d9df;font-size:14px;font-weight:650}
.public-controls{padding:0 12px 12px;margin:0;grid-template-columns:repeat(5,minmax(0,1fr))}
.summarybar{font-size:14px}.summarybar .btn{font-size:14px;min-height:40px}
.card,.body{background:#15171b;border-color:#34383f}.card:hover{border-color:#d6bd86}.body h3{color:#f2f3f4;font-size:16px}
.row,.row b{color:#b5bac3}.photo,.photo img,.galleryPane,.mainphoto,.thumb{background:#fff}
.badge,.cardnav,.imagecount{background:rgba(13,15,18,.88);color:#f4f5f6;border-color:#555c66}
.modalbox{background:#121418;border-color:#454b55}.detailbody h2{color:#f5f5f2}.fact{background:#1c1f24;border-color:#34383f}.fact span{color:#b5bac3}
.thumb.active{border-color:#d6bd86}.detailnav:hover,.detailnav:focus{background:#323740}.footer{border-color:#34383f;color:#b5bac3}
@media(max-width:900px){.public-controls{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.hero-banner{height:115px;aspect-ratio:auto}.hero h1{font-size:24px}.hero-content{padding:12px}.browse-heading{display:block}.view-tabs{margin-top:12px}.view-tabs .btn{flex:1}.quick-teams{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px}.team-button{flex:0 0 auto}.public-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.public-controls #sort{grid-column:1/-1}.body h3{font-size:14px}.stat span{font-size:12px}}
@media(prefers-reduced-motion:reduce){.card,.btn{transition:none}.card:hover{transform:none}}

/* Use normal image flow: grid intrinsic sizing clipped the banner on rotation. */
.hero-banner{display:block;height:auto;min-height:0;aspect-ratio:auto;overflow:visible}
.hero-banner img{display:block;width:100%;height:auto;min-width:0;min-height:0;max-height:200px;object-fit:contain;object-position:center;margin:0 auto}

/* Owner-only surfaces use the same neutral palette. */
.owner-tools{display:flex;flex-wrap:wrap;align-items:center;gap:9px;padding:14px;margin:14px 0;background:#15171b;border:1px solid #34383f;border-radius:12px}
.owner-tools .input{width:200px;min-width:0}.owner-tools .auth-password{width:170px}.owner-tools .btn{font-size:14px;min-height:42px}
.owner-tools .owner-label{font-size:14px;font-weight:700;color:#b5bac3;margin-right:5px}
.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.public-controls{grid-template-columns:repeat(6,minmax(0,1fr))}
.btn.primary{background:#eceeea;color:#101216;border-color:#eceeea}.btn.primary:hover{background:#fff;border-color:#fff}
.editorform label{color:#e9ebee}.importbox,.uploadfield,.storageStat{background:#1c1f24;border-color:#454b55}.importstatus{color:#b5bac3}.attached-image{background:#15171b;border-color:#454b55}
.storageChanges th{background:#1c1f24;color:#d4d8df}.storageLocation{color:#f5f5f2}.storagehead h2,.editorhead h2{color:#f5f5f2}.storageStatus,.formstatus{color:#b3dbb9}
.health{background:#1c1f24;border-color:#454b55;color:#b5bac3}.health.ok{border-color:#416e50;color:#b3dbb9}
@media(max-width:900px){.public-controls{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.owner-tools .owner-label{width:100%}.owner-tools .input{width:calc(50% - 5px)}.public-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.public-controls #sort{grid-column:auto}.brand{white-space:normal}.topin{gap:10px}#cloudStatus{white-space:normal;max-width:100%}}
}

/* Batch review follows the existing charcoal management design. */
.batch-shell{padding:24px;display:grid;gap:16px;color:#e9ebee}
.batch-shell h2{margin:8px 0;font-family:Georgia,serif;font-weight:500}
.batch-shell .input{width:100%;min-width:0}
.batch-actions,.batch-card-head{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.batch-card-head{justify-content:space-between}
.batch-card{padding:16px;margin:16px 0;border:1px solid #40454d;background:#1c1e22;border-radius:16px}
.batch-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.batch-fields label{display:grid;gap:6px;font-size:14px}
.batch-link{overflow-wrap:anywhere;font-size:12px;color:#bdc2ca}
.batch-card .importimages{margin-top:12px}
.batch-card input[type=checkbox]{accent-color:#d6c18a}
@media(max-width:650px){.batch-shell{padding:15px}.batch-fields{grid-template-columns:1fr}.batch-actions .btn{flex:1 1 140px}}

.batch-link-inputs{display:grid;gap:14px}.batch-link-row{display:flex;gap:10px;align-items:end}.batch-link-row label{display:grid;gap:6px;flex:1;min-width:0}.batch-link-row .btn{flex:0 0 auto}
