:root{--bg:#f7f5fa;--ink:#342a45;--muted:#91869e;--accent:#9279b3;--line:#e6dfed;--soft:#ede5f5}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.6 'Segoe UI','Malgun Gothic',sans-serif}button,input,select,textarea{font:inherit}button,.button{border:1px solid var(--line);background:#fff;color:var(--ink);padding:9px 14px;border-radius:9px;cursor:pointer;transition:.15s}button:hover,.button:hover{background:var(--soft)}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--accent);color:white;border-color:var(--accent)}.danger{color:#ad4b68}input,select,textarea{border:1px solid var(--line);padding:10px;border-radius:8px;background:white;color:var(--ink)}input[type=checkbox]{accent-color:var(--accent)}aside{width:230px;position:fixed;inset:0 auto 0 0;padding:32px 20px;background:#f2eef8;border-right:1px solid var(--line)}.brand{font-size:19px;font-weight:750;letter-spacing:-1px;white-space:nowrap}.brand span{font-size:32px;color:var(--accent);vertical-align:middle}aside>small{font-size:9px;letter-spacing:2px;color:var(--muted)}nav{margin-top:42px;display:grid;gap:8px}nav button{text-align:left;border:0;background:transparent;padding:12px 14px}nav button.active{background:#e5daef;color:#5e477a;font-weight:650}.aside-bottom{position:absolute;bottom:28px;color:var(--muted);font-size:12px}.dot{display:inline-block;width:7px;height:7px;background:#89a98c;border-radius:50%;margin-right:5px}main{margin-left:230px;padding:42px 40px 110px;max-width:1900px}header{display:flex;justify-content:space-between;gap:20px;align-items:center}.eyebrow{font-size:10px;font-weight:650;color:var(--accent);letter-spacing:2px}h1{font-size:34px;letter-spacing:-1.6px;margin:6px 0}header p{margin:0;color:var(--muted)}.actions{display:flex;gap:8px;flex-wrap:wrap}.notice{font-size:12px;background:#eee8f5;border:1px solid #e4daef;padding:10px 15px;border-radius:9px;color:#80708e;margin:27px 0}.tabs{display:flex;border-bottom:1px solid var(--line);gap:24px;margin-top:26px}.tabs button{border:0;border-radius:0;background:none;padding:12px 5px}.tabs button.active{border-bottom:3px solid var(--accent);font-weight:bold}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:21px 0 10px}.search{background:white;border:1px solid var(--line);border-radius:9px;display:flex;align-items:center;padding:0 12px;flex:1;min-width:190px;color:var(--accent)}.search input{border:0;width:100%;outline:none}.check{display:flex;align-items:center;gap:5px;font-size:12px}.sort{margin-left:auto;font-size:12px;color:var(--muted)}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.chip{border-radius:20px;padding:4px 11px;background:var(--soft);font-size:12px;color:#6b5484}.list-meta{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:12px;margin:18px 0}.list-meta button{font-size:11px;padding:5px 9px}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 18px}.card{background:white;border:1px solid var(--line);border-radius:13px;overflow:hidden;box-shadow:0 3px 8px #4b2c6506;position:relative;cursor:pointer}.card:hover{box-shadow:0 7px 23px #4b2c6514;transform:translateY(-2px)}.art{height:265px;background:#eee9f4;display:flex;align-items:center;justify-content:center;position:relative}.art img{width:100%;height:100%;object-fit:contain}.video-icon{font-size:45px;color:var(--accent)}.card .pick{position:absolute;top:12px;left:12px;z-index:2;width:19px;height:19px}.card.selected{outline:2px solid var(--accent)}.card-foot{padding:12px 14px;display:flex;justify-content:space-between;align-items:center}.card-foot small{color:var(--muted)}.card-foot button{padding:0 5px;border:0;color:var(--accent);font-size:20px}.empty{grid-column:1/-1;text-align:center;padding:85px 20px;border:1px dashed #d5c8e3;border-radius:16px;color:var(--muted)}.empty b{display:block;font-size:20px;color:var(--ink);margin-bottom:12px}#sentinel{text-align:center;color:var(--muted);padding:30px;font-size:12px}.selection{position:fixed;bottom:22px;left:calc(50% + 100px);transform:translateX(-50%);background:#fff;border:1px solid var(--line);box-shadow:0 8px 35px #4b2c6522;padding:13px 18px;border-radius:14px;display:flex;gap:10px;align-items:center;z-index:5;max-width:90vw;flex-wrap:wrap}.selection[hidden]{display:none}dialog{border:1px solid var(--line);border-radius:18px;padding:23px;color:var(--ink);width:min(980px,94vw);max-height:94vh;background:var(--bg)}dialog::backdrop{background:#241731aa;backdrop-filter:blur(4px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;gap:10px}.dialog-head h2{margin:0}.viewer{height:55vh;overflow:auto;background:#ece7f3;position:relative;border-radius:12px;touch-action:none}.viewer img{display:block;margin:auto;max-width:none;user-select:none}.viewer video{width:100%;height:100%;object-fit:contain}.download{position:sticky;bottom:12px;float:right;margin:0 14px 12px 0;background:#fff;color:var(--ink);text-decoration:none;padding:9px 16px;border-radius:9px;box-shadow:0 3px 14px #0002;z-index:2}.zoom{display:flex;gap:7px;justify-content:center;margin:12px 0}.zoom button{padding:5px 12px}table{border-collapse:collapse;width:100%;font-size:12px;margin:10px 0}td{border-bottom:1px solid var(--line);padding:10px 13px}td:first-child{width:110px;color:var(--muted)}.edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-top:16px;border-top:1px solid var(--line);margin-top:18px}.edit-grid label{display:grid;gap:5px;font-size:12px;color:var(--muted)}.edit-grid .wide{grid-column:1/-1}.edit-grid textarea{min-height:70px}#toast{position:fixed;top:20px;left:50%;transform:translateX(-50%);background:#3d304c;color:white;border-radius:10px;padding:12px 22px;z-index:99;display:none}.drop{padding:28px;text-align:center;border:1px dashed #bda8d2;border-radius:12px;margin:15px 0}.drop.drag{background:var(--soft)}#queue{max-height:240px;overflow:auto;margin:15px 0}.queue-row{padding:9px;border-bottom:1px solid var(--line);font-size:12px;overflow-wrap:anywhere}progress{width:100%;accent-color:var(--accent)}.muted{color:var(--muted)}.panel-card{background:white;padding:20px;border:1px solid var(--line);border-radius:12px;margin:12px 0}.panel-card h3{margin-top:0}#tags,#shutdown{width:min(550px,94vw)}#tagOptions{max-height:50vh;overflow:auto}#tagSearch{width:100%}
@media(min-width:1600px){.grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:1100px){aside{width:190px;padding:25px 14px}.brand{font-size:16px}main{margin-left:190px;padding:30px 22px 110px}.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.selection{left:55%}.art{height:230px}}@media(max-width:700px){aside{position:static;width:auto;padding:13px 18px;border-bottom:1px solid var(--line)}aside>small,.aside-bottom{display:none}nav{margin:10px 0 0;display:flex;overflow-x:auto;gap:4px}nav button{white-space:nowrap;padding:7px 10px;font-size:12px}main{margin:0;padding:20px 15px 130px}header{align-items:start}h1{font-size:27px}.eyebrow{font-size:8px}header p{font-size:11px}.actions{justify-content:end}button{font-size:12px;padding:8px 10px}.notice{margin:18px 0;font-size:10px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.art{height:220px}.card-foot{padding:9px;font-size:12px}.tabs{gap:18px}.sort{display:none}.toolbar{gap:7px}.search{flex-basis:100%}.selection{left:50%;width:94vw;bottom:10px;font-size:12px}.viewer{height:49vh}.edit-grid{grid-template-columns:1fr}.edit-grid .wide{grid-column:auto}dialog{padding:14px}.card-foot small{font-size:10px}}

/* v0.3.1: grouped selection actions and independently selectable changes. */
.selection{left:50%;width:max-content;max-width:calc(100vw - 32px);flex-direction:column;align-items:stretch;gap:8px;padding:12px 16px}
.selection-count{font-size:12px;color:var(--muted);font-weight:600}
.selection-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.selection-section{display:flex;align-items:center;gap:7px;white-space:nowrap}
.selection-divider{color:#b1a4bd;font-size:19px;font-weight:300;margin:0 3px;user-select:none}
.selection-actions button{font-size:13px;padding:8px 12px}
.bulk-choice.active{background:var(--soft);border-color:var(--accent);color:#61417f;box-shadow:inset 0 0 0 1px var(--accent);font-weight:650}
.bulk-choice:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.selection-apply{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:9px;font-size:12px}
.selection-apply>span{flex:1;min-width:160px;color:#6b5484}
main{padding-bottom:230px}
@media(max-width:700px){.selection{width:calc(100vw - 20px);max-width:none;bottom:10px;padding:10px;gap:6px;max-height:45vh;overflow-y:auto}.selection-actions{gap:7px 4px}.selection-section{gap:5px}.selection-actions button{font-size:12px;padding:7px 9px}.selection-divider{margin:0 2px}.selection-apply{gap:6px}.selection-apply>span{flex-basis:100%}main{padding-bottom:280px}}

.bulk-choice:disabled{cursor:not-allowed}

/* Administrator command panel */
aside{overflow-y:auto;padding-bottom:24px}.aside-bottom{position:static;margin-top:28px}.ai-command{margin-top:24px;border-top:1px solid var(--line);padding-top:16px}.ai-command h3{margin:0 0 8px}.ai-command textarea{width:100%;resize:vertical;margin:8px 0}.ai-command small{display:block;color:var(--muted);line-height:1.5}.ai-command button{width:100%;margin-top:8px}.ai-command p{font-size:12px;overflow-wrap:anywhere}.ai-command details{font-size:12px}.ai-job{margin-top:12px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:10px}.ai-job progress{width:100%}.ai-ids{max-height:130px;overflow:auto}.ai-command[hidden]{display:none!important}
@media(max-width:800px){.ai-command{width:100%}.ai-command textarea{min-height:90px}}
