:root{color-scheme:light;--ink:#172923;--muted:#677970;--line:#dce5df;--accent:#176c4d;--bg:#f4f7f4}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.65 system-ui,-apple-system,sans-serif}header{height:76px;padding:0 max(24px,calc((100vw - 1280px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fff}.brand{font-weight:800;letter-spacing:-1px;font-size:23px;text-decoration:none;color:var(--ink)}.brand span{font-size:12px;letter-spacing:2px;color:var(--accent);margin-left:9px}nav{display:flex;gap:22px}a{color:var(--accent)}nav a{font-size:13px;text-decoration:none}main{max-width:1328px;margin:auto;padding:38px 24px 60px}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.eyebrow{color:var(--accent);font-size:12px;font-weight:700;letter-spacing:1px;margin:0}h1{font-size:36px;letter-spacing:-1.5px;line-height:1.3;margin:8px 0}h2{font-size:19px}p{margin:8px 0}.intro{color:var(--muted)}button,select,input{font:inherit}button{cursor:pointer;background:#fff;border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:8px 13px;white-space:nowrap}button:hover:enabled{border-color:var(--accent);background:#ecf5ef}button:disabled{opacity:.45;cursor:default}.primary{background:var(--accent);color:white;border-color:var(--accent)}.primary:hover:enabled{background:#12583e;color:white}.notice{background:#e9f0eb;border:1px solid #d1e1d7;color:#465d50;border-radius:10px;padding:12px 16px;margin:22px 0;font-size:13px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stats article{background:#fff;padding:20px;border:1px solid var(--line);border-radius:12px}.stats span,.stats small{display:block;color:var(--muted);font-size:12px}.stats strong{display:block;font-size:28px;letter-spacing:-.8px;margin:5px 0}.toolbar{display:flex;gap:14px;align-items:end;margin-top:28px}.toolbar label{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:12px}.search{flex:1}input,select{background:white;color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:10px 12px;min-width:0;height:43px}input:focus,select:focus,button:focus-visible{outline:2px solid #2c9770;outline-offset:2px}#message{min-height:26px;margin:14px 0;color:var(--muted)}#message.error{color:#a03535}.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;min-width:0}.preview{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;background:#e8eeea;position:relative;overflow:hidden}.preview img{width:100%;height:100%;object-fit:cover}.preview .empty-preview{color:#718578;font-size:13px;max-width:80%;text-align:center}.media-type{position:absolute;left:10px;top:10px;background:#fffffff0;padding:2px 8px;border-radius:5px;font-size:11px}.card-body{padding:15px}.filename{font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0 0 5px}.meta{font-size:12px;color:var(--muted)}.badges{display:flex;flex-wrap:wrap;gap:5px;margin:12px 0}.badge{display:inline-block;padding:2px 7px;font-size:11px;border-radius:5px;background:#f0f3f0;color:#586a60}.badge.ram{background:#e1f3e8;color:#176b47}.card-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:14px}.card-bottom button{font-size:12px}.card-bottom small{color:var(--muted);font-size:11px}.pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin:28px 0;font-size:13px}.explain{border-top:1px solid var(--line);padding-top:14px;margin-top:32px;color:var(--muted);font-size:13px}.explain h2{color:var(--ink)}.empty{grid-column:1/-1;padding:64px 20px;text-align:center;background:white;border:1px dashed #bfcfc3;border-radius:12px;color:var(--muted)}dialog{width:min(900px,calc(100vw - 32px));max-height:88vh;padding:25px;border:1px solid var(--line);border-radius:16px;color:var(--ink);box-shadow:0 20px 90px #122c2630}dialog::backdrop{background:#17292388}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:18px}.dialog-head h2{overflow-wrap:anywhere}.detail-preview{display:block;max-width:100%;max-height:310px;margin:15px auto;border-radius:8px;background:#e8eeea}.detail-info{display:grid;grid-template-columns:110px 1fr;gap:7px 14px;margin:20px 0;font-size:13px}.detail-info dt{color:var(--muted)}.detail-info dd{margin:0;overflow-wrap:anywhere}.variant{border:1px solid var(--line);border-radius:10px;padding:14px;margin:12px 0}.variant-title{display:flex;justify-content:space-between;align-items:center;gap:10px}.path{display:block;background:#f4f7f4;border-radius:5px;padding:7px 10px;overflow-wrap:anywhere;font:12px/1.65 ui-monospace,monospace;margin:6px 0}.path-label{font-size:11px;color:var(--muted);margin-top:10px}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}.actions button,.actions select{font-size:12px}.detail-note{color:var(--muted);font-size:12px}#detail-body a{overflow-wrap:anywhere}@media(max-width:1050px){.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.stats strong{font-size:23px}}@media(max-width:760px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{grid-template-columns:repeat(2,1fr)}.toolbar{flex-wrap:wrap}.search{flex-basis:100%}header{padding:0 18px}nav{gap:12px}nav a{font-size:11px}main{padding:26px 16px}h1{font-size:30px}}@media(max-width:440px){.gallery{grid-template-columns:1fr}.toolbar label{flex:1}.toolbar select{width:100%}.detail-info{grid-template-columns:1fr;gap:2px}.detail-info dd{margin-bottom:8px}nav a:last-child{display:none}}

@media(max-width:440px){.toolbar .search{flex:1 0 100%}.toolbar label:not(.search){flex:1 1 90px;min-width:90px}.toolbar select{font-size:13px;padding:8px}}

.catalog-access,.folder-toolbar,.selection-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:18px 0}.catalog-access{padding:16px;border:1px solid #d8e4dc;border-radius:12px;background:#f5faf7}.catalog-access label{flex:1;min-width:240px}.catalog-access input{display:block;width:100%;box-sizing:border-box}.folder-toolbar nav{display:flex;flex:1;flex-wrap:wrap;align-items:center;gap:6px}.folder-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.folder-card{text-align:left;padding:18px;display:flex;flex-direction:column;gap:8px;overflow-wrap:anywhere}.folder-card small{font-weight:normal;color:#526658}.batch-item{padding:12px;border:1px solid #d8e4dc;border-radius:8px;margin:8px 0;overflow-wrap:anywhere}.card-body>input[type=checkbox]{width:20px;height:20px}.selection-actions input{width:auto}.meta{overflow-wrap:anywhere}@media(max-width:600px){.catalog-access label{min-width:100%}.folder-grid{grid-template-columns:1fr}.selection-actions button{flex:1 1 45%}}

.catalog-access[hidden]{display:none}.notice a{font-weight:700;text-decoration:underline}

/* View changes only alter layout, preserving page, selection and loaded images. */
.view-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:22px;font-size:13px;color:var(--muted)}
.view-options{display:flex;gap:4px;padding:4px;background:#e7ede8;border-radius:10px}
.view-options button{font-size:13px;border-color:transparent;background:transparent;padding:6px 12px}
.view-options button[aria-pressed="true"]{background:#fff;color:var(--accent);border-color:#c7d9cc;box-shadow:0 1px 3px #17292314;font-weight:700}
.card>.preview{width:100%;padding:0;border:0;border-radius:0;color:inherit;white-space:normal}
.card>.preview:focus-visible{outline-offset:-3px}
.file-path{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gallery[data-view="small"]{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.gallery[data-view="small"] .preview{aspect-ratio:3/2}
.gallery[data-view="small"] .card-body{padding:10px}
.gallery[data-view="small"] .file-date,.gallery[data-view="small"] .file-size,.gallery[data-view="small"] .card-bottom small{display:none}
.gallery[data-view="small"] .badges{margin:6px 0;gap:3px}
.gallery[data-view="small"] .card-bottom{margin-top:6px}
.gallery[data-view="small"] .card-bottom button{width:100%}
.gallery[data-view="list"]{display:flex;flex-direction:column;gap:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
.gallery[data-view="list"] .card{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:12px;padding:10px 14px;border:0;border-bottom:1px solid var(--line);border-radius:0}
.gallery[data-view="list"] .card:last-child{border-bottom:0}
.gallery[data-view="list"] .preview{width:52px;height:52px;aspect-ratio:1;border-radius:6px}
.gallery[data-view="list"] .media-type{display:none}
.gallery[data-view="list"] .card-body{display:grid;grid-template-columns:24px minmax(120px,1fr) minmax(160px,.7fr) 170px 118px;column-gap:14px;align-items:center;padding:0}
.gallery[data-view="list"] .card-body>input{grid-column:1;grid-row:1/3;width:16px;height:16px;margin:0}
.gallery[data-view="list"] .filename{grid-column:2;grid-row:1;margin:0}
.gallery[data-view="list"] .file-path{grid-column:2;grid-row:2;font-size:11px}
.gallery[data-view="list"] .file-size{grid-column:3;grid-row:1;font-size:11px}
.gallery[data-view="list"] .file-date{grid-column:3;grid-row:2;font-size:11px}
.gallery[data-view="list"] .badges{grid-column:4;grid-row:1/3;margin:0}
.gallery[data-view="list"] .card-bottom{grid-column:5;grid-row:1/3;margin:0}
.gallery[data-view="list"] .card-bottom small{display:none}
@media(max-width:1050px){.gallery[data-view="list"] .card-body{grid-template-columns:20px minmax(100px,1fr) 150px 118px}.gallery[data-view="list"] .file-size{grid-column:2;grid-row:3}.gallery[data-view="list"] .file-date{display:none}.gallery[data-view="list"] .badges{grid-column:3;grid-row:1/4}.gallery[data-view="list"] .card-bottom{grid-column:4;grid-row:1/4}.gallery[data-view="list"] .card-body>input{grid-row:1/4}}
@media(max-width:650px){.view-toolbar{justify-content:space-between;gap:4px}.view-options button{padding:6px 8px;font-size:12px}.gallery[data-view="small"]{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.gallery[data-view="list"] .card{grid-template-columns:40px minmax(0,1fr);gap:8px;padding:10px}.gallery[data-view="list"] .preview{width:40px;height:40px}.gallery[data-view="list"] .card-body{grid-template-columns:18px minmax(0,1fr);column-gap:8px}.gallery[data-view="list"] .badges{grid-column:2;grid-row:4;margin-top:4px}.gallery[data-view="list"] .card-bottom{grid-column:2;grid-row:5;margin-top:6px}.gallery[data-view="list"] .card-body>input{grid-row:1/6}.gallery[data-view="list"] .file-size{font-size:10px}}

.path-bar{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin:14px 0}
.path-bar label{white-space:nowrap;color:var(--muted);font-size:13px}.path-bar input{flex:1;width:0;font-family:ui-monospace,monospace}
.explorer-heading{font-size:16px;margin:24px 0 10px}.folder-card{white-space:normal;min-width:0}.folder-card strong{overflow-wrap:anywhere}.folder-toolbar #breadcrumbs{min-width:0}.folder-toolbar #breadcrumbs button{max-width:100%;overflow:hidden;text-overflow:ellipsis}
.folder-grid[data-view="list"]{display:flex;flex-direction:column;gap:0;border:1px solid var(--line);border-radius:10px;overflow:hidden}.folder-grid[data-view="list"]:empty{display:none}
.folder-grid[data-view="list"] .folder-card{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border:0;border-bottom:1px solid var(--line);border-radius:0}
.folder-grid[data-view="list"] .folder-card:last-child{border-bottom:0}.folder-grid[data-view="list"] .folder-card strong{flex:1;min-width:0}.parent-folder{background:#f3f7f4}
@media(max-width:650px){.path-bar{gap:6px;padding:8px}.path-bar label{font-size:12px}.folder-grid[data-view="list"] .folder-card{align-items:flex-start;flex-direction:column;gap:3px}.folder-toolbar #breadcrumbs{flex-basis:100%}}

/* One collection contains folders first, followed by media files. */
.folder-entry{text-align:left;white-space:normal;padding:0;display:block;color:var(--ink)}
.folder-entry .folder-icon{font-size:64px;color:#47765b;background:#edf3ef;width:100%;border-radius:0}
.folder-entry .card-body,.folder-entry .filename,.folder-entry .file-size,.folder-entry .file-date{display:block}
.folder-entry .filename{margin-top:8px}.folder-entry .card-bottom{font-size:12px;color:var(--accent)}
.gallery[data-view="small"] .folder-icon{font-size:42px}
.gallery[data-view="list"] .folder-entry .folder-icon{font-size:28px}
.gallery[data-view="list"] .folder-entry .filename{margin:0}
.gallery[data-view="list"] .folder-entry .badges{font-size:12px;color:var(--muted)}
.folder-storage{margin:12px 0;color:var(--muted);font-size:12px}.folder-storage summary{cursor:pointer}
.pagination{flex-wrap:wrap}

.folder-icon svg{width:1em;height:1em;fill:#e2b856;stroke:#ad8738;stroke-width:.7}

/* Compact directory rows in every view, including mobile. */
.gallery .card.folder-entry{grid-column:1/-1;display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:center;padding:8px 12px;min-height:48px;text-align:left;touch-action:pan-y;-webkit-touch-callout:none;user-select:none}
.gallery .folder-entry .folder-icon{width:28px;height:28px;font-size:23px;aspect-ratio:1;border-radius:4px}
.gallery .folder-entry .card-body{display:flex;align-items:center;gap:12px;padding:0;min-width:0}
.gallery .folder-entry .filename{flex:1;min-width:0;margin:0;font-size:14px;line-height:1.5}
.gallery .folder-entry .file-path,.gallery .folder-entry .file-date,.gallery .folder-entry .badges,.gallery .folder-entry .card-bottom{display:none}
.gallery .folder-entry .file-size{display:block;font-size:11px;white-space:nowrap}
#folder-peek{width:min(680px,calc(100vw - 24px));padding:18px}#peek-path{flex:1;min-width:0;overflow-wrap:anywhere;font-size:12px}.peek-navigation{display:flex;align-items:center;gap:10px;margin:12px 0}#peek-status{font-size:12px;color:var(--muted)}#peek-content{display:flex;flex-direction:column;gap:4px;max-height:45vh;overflow-y:auto;overscroll-behavior:contain}.peek-folder{text-align:left;white-space:normal;overflow-wrap:anywhere;min-height:42px;background:#f1f5ef}.peek-folder::before{content:'▸ ';color:var(--accent)}.peek-file{display:flex;align-items:center;gap:10px;text-align:left;white-space:normal;min-height:52px}.peek-file img{width:40px;height:40px;object-fit:cover;border-radius:4px}.peek-file span{overflow-wrap:anywhere;min-width:0}#peek-image{margin-top:12px;overflow-wrap:anywhere}
@media(max-width:650px){.gallery .folder-entry .file-size{display:none}.gallery .card.folder-entry{min-height:48px;padding:9px 10px}.peek-navigation{gap:6px}.peek-navigation button{font-size:12px;padding:7px}#folder-peek{padding:14px}}
