:root{--bg:#0e1218;--panel:#151b23;--panel2:#1b2330;--line:#2a3442;--text:#f2f5f8;--muted:#8f9cac;--accent:#2f73ff;--accent2:#194fb5;--green:#34c76b;--danger:#e45656;--radius:14px}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 50% -20%,#253141 0,#11161e 38%,var(--bg) 75%);color:var(--text);font:14px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;min-height:100vh}.hero{height:126px;background:linear-gradient(180deg,rgba(8,12,18,.2),rgba(8,12,18,.75)),url('../hero-placeholder.jpg') center/cover;border-bottom:1px solid #26303d}.hero-inner,.shell{max-width:1680px;margin:auto;padding:0 28px}.hero-inner{height:100%;display:flex;align-items:center;justify-content:space-between}.eyebrow{font-size:11px;letter-spacing:.18em;color:#91a1b6}.hero h1{font-size:36px;margin:4px 0 0}.toolbar{position:sticky;top:0;z-index:20;background:rgba(14,18,24,.94);backdrop-filter:blur(14px);padding:14px 0 8px;border-bottom:1px solid #212b36}.row{display:flex;align-items:center;gap:9px}.primary-row{min-height:42px}.filter-row{padding-top:10px;flex-wrap:wrap}.search{display:flex;align-items:center;gap:8px;background:#111821;border:1px solid var(--line);border-radius:10px;height:40px;min-width:340px;padding:0 12px}.search input{border:0;outline:0;background:transparent;color:var(--text);width:100%;font:inherit}.segmented{display:flex;padding:3px;background:#111821;border:1px solid var(--line);border-radius:10px}.segmented button,.icon-btn,.filter-menu,.toggle,.primary,.secondary,.danger,select{font:inherit}.segmented button{border:0;background:transparent;color:#aeb9c8;padding:7px 13px;border-radius:7px;cursor:pointer}.segmented button.active{background:#253246;color:white}.spacer{flex:1}select,.filter-menu,.toggle,.icon-btn,.secondary{height:36px;background:#141c26;color:#dbe2ea;border:1px solid var(--line);border-radius:9px;padding:0 11px}.icon-btn{width:36px;padding:0;cursor:pointer;font-size:17px}.icon-btn.active,.toggle.active{background:#173c7a;border-color:#2e6fd9;color:#fff}.filter-menu,.toggle{cursor:pointer}.filter-menu span{margin-left:7px;color:#8190a2}.primary{border:0;background:linear-gradient(180deg,#347cff,#2464dc);color:#fff;border-radius:9px;padding:9px 14px;cursor:pointer;font-weight:650}.secondary{cursor:pointer}.danger{border:1px solid #7d3434;background:#381d22;color:#ffb2b2;border-radius:9px;padding:8px 12px;cursor:pointer}.chips-row{height:34px;display:flex;align-items:end;gap:8px}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{background:#122c5c;color:#aecdff;border:1px solid #234f99;border-radius:99px;padding:4px 9px;font-size:12px}.chip button{background:none;border:0;color:inherit;cursor:pointer}.clear-link{background:none;border:0;color:#6ea3ff;cursor:pointer;padding:4px}.count{margin-left:auto;color:#7f8b99;font-size:12px}.popover{position:absolute;z-index:40;top:96px;width:min(760px,calc(100vw - 56px));max-height:390px;overflow:auto;background:#131a23;border:1px solid #303b49;border-radius:12px;padding:12px;box-shadow:0 18px 60px #0008}.popover .pop-search{width:100%;height:38px;background:#0f151d;border:1px solid var(--line);border-radius:8px;color:white;padding:0 10px;margin-bottom:10px}.pop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:7px}.pop-item{display:flex;justify-content:space-between;gap:8px;text-align:left;background:#18212c;border:1px solid #2b3746;color:#dbe3ec;padding:8px 10px;border-radius:8px;cursor:pointer}.pop-item.selected{border-color:#347cff;background:#173669}.pop-item small{color:#7f8d9c}.plugin-grid{padding:16px 0 42px;display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:14px}.card{background:linear-gradient(180deg,#19212b,#151b23);border:1px solid #26303c;border-radius:13px;overflow:hidden;box-shadow:0 5px 20px #0003;display:flex;flex-direction:column;min-width:0}.card-image{height:184px;background:#0b0f14;display:grid;place-items:center;overflow:hidden;cursor:zoom-in}.card-image img{width:100%;height:100%;object-fit:cover}.image-missing{color:#526071}.card-body{padding:14px 14px 13px;display:flex;flex-direction:column;min-height:220px}.vendor-row{display:flex;align-items:center;gap:8px;color:#8290a1;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.vendor-row .menu{margin-left:auto;background:none;border:0;color:#718092;cursor:pointer;font-size:18px}.title-row{display:flex;align-items:start;gap:8px}.title-row h3{font-size:18px;margin:3px 0 7px;line-height:1.2;flex:1}.stars{color:#ffd24a;letter-spacing:1px;font-size:12px;white-space:nowrap}.meta{display:flex;gap:6px;margin-bottom:10px}.badge{border-radius:99px;padding:3px 7px;font-size:11px;border:1px solid #384657;color:#cbd5df}.badge.owned{color:#59df87;border-color:#25683a;background:#153923}.badge.free{color:#7fd2ff;border-color:#235d77;background:#102c3a}.badge.inactive{color:#b7bec8;background:#2a2f36}.tags{display:flex;flex-wrap:wrap;align-content:flex-start;gap:5px;min-height:72px;max-height:72px;overflow:hidden}.tag{background:#212b37;color:#aab7c6;border:1px solid #303c4b;border-radius:99px;padding:3px 7px;font-size:11px}.desc{margin:10px 0 0;color:#8795a5;font-size:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.plugin-grid.list-view{display:flex;flex-direction:column;gap:8px}.list-view .card{display:grid;grid-template-columns:170px 1fr}.list-view .card-image{height:104px}.list-view .card-body{min-height:104px;padding:10px 14px;display:grid;grid-template-columns:minmax(220px,1.3fr) minmax(300px,2fr) auto;gap:16px;align-items:center}.list-view .vendor-row,.list-view .title-row{grid-column:1}.list-view .meta{grid-column:1;margin:0}.list-view .tags{grid-column:2;grid-row:1/4;min-height:0;max-height:none}.list-view .desc{grid-column:3;grid-row:1/4;width:320px;margin:0;-webkit-line-clamp:3}.hidden{display:none!important}.lightbox{position:fixed;inset:0;z-index:100;background:#06080bed;display:grid;place-items:center;padding:55px 72px}.lightbox img{max-width:92vw;max-height:84vh;object-fit:contain;box-shadow:0 20px 90px #000}.lb-close,.lb-prev,.lb-next{position:fixed;border:0;background:#1e2733dd;color:white;border-radius:50%;cursor:pointer}.lb-close{right:24px;top:20px;width:42px;height:42px;font-size:27px}.lb-prev,.lb-next{top:50%;width:46px;height:64px;border-radius:10px;font-size:38px}.lb-prev{left:18px}.lb-next{right:18px}.lb-caption{position:fixed;bottom:18px;color:#cbd3dc}.modal{position:fixed;inset:0;z-index:90;background:#05070ac9;display:grid;place-items:center;padding:24px}.modal-card{width:min(820px,96vw);max-height:92vh;overflow:auto;background:#141b24;border:1px solid #303b49;border-radius:14px;padding:18px;box-shadow:0 30px 90px #0009}.modal-head{display:flex;align-items:center}.modal-head h2{margin:0 0 14px}.modal-head button{margin-left:auto}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal label{display:flex;flex-direction:column;gap:6px;color:#9eabba;margin-bottom:12px}.modal input,.modal select,.modal textarea{background:#0f151d;border:1px solid var(--line);border-radius:8px;color:white;padding:9px;font:inherit}.checks{display:flex;gap:20px}.checks label{flex-direction:row}.tag-title{color:#9eabba;margin:8px 0}.tag-picker{display:flex;flex-wrap:wrap;gap:6px;max-height:180px;overflow:auto;border:1px solid #26313d;padding:10px;border-radius:9px}.tag-picker label{margin:0;display:flex;flex-direction:row;background:#1b2632;border-radius:99px;padding:5px 8px;color:#c8d1db}.modal-actions{display:flex;gap:8px;margin-top:18px}.empty{grid-column:1/-1;color:#6f7c8a;text-align:center;padding:80px 0}@media(max-width:900px){.search{min-width:220px}.segmented{display:none}.plugin-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.list-view .card{grid-template-columns:120px 1fr}.list-view .card-body{display:block}.list-view .tags{margin-top:8px}.list-view .desc{width:auto;margin-top:8px}.form-grid{grid-template-columns:1fr}}
.filter-groups{display:flex;gap:4px;padding:3px;background:#111821;border:1px solid var(--line);border-radius:10px}.filter-groups button{border:0;background:transparent;color:#98a6b6;padding:7px 12px;border-radius:7px;cursor:pointer;font:inherit}.filter-groups button.active{background:#253246;color:#fff}.quick-filter-row{padding-top:9px}.quick-filters{display:flex;gap:7px;align-items:center;flex-wrap:wrap;overflow:visible;padding-bottom:0}.quick-filters.expanded{padding-bottom:3px}.quick-filter{white-space:nowrap;border:1px solid #303c4b;background:#18212c;color:#c4ced9;border-radius:99px;padding:6px 11px;cursor:pointer;font:inherit}.quick-filter:hover{border-color:#4b6078}.quick-filter.selected{background:#194d9b;border-color:#347cff;color:#fff}.quick-filter.more{border-style:dashed;color:#7faeff}.small-modal{width:min(480px,96vw)}.modal-hint{color:#8f9cac;margin-top:0}.form-error{color:#ff8d8d;min-height:20px}.settings-list{display:flex;flex-direction:column;gap:8px}.settings-list label{display:flex;flex-direction:row;align-items:center;justify-content:space-between;background:#101720;border:1px solid #26313d;border-radius:10px;padding:13px 14px;margin:0}.settings-list span{display:flex;flex-direction:column;gap:3px}.settings-list small{color:#7f8c9c}.settings-list input{width:20px;height:20px}.top-actions{display:flex;gap:8px}.top-actions #settingsBtn{font-size:18px}

/* v1.5: explicit interactive modal controls */
.settings-list label{cursor:pointer}.settings-list input{cursor:pointer;accent-color:var(--accent)}.modal-card{pointer-events:auto}.modal-card button,.modal-card input,.modal-card select,.modal-card textarea{pointer-events:auto}

/* v1.9 — roomier page edges, compact header, tag-first filtering */
.hero{height:96px}.hero h1{font-size:32px;margin-top:2px}.hero-inner,.shell{max-width:none;padding-left:32px;padding-right:32px}.toolbar{position:sticky;top:0;padding-top:12px}.plugin-grid{padding-top:18px}.card-body{min-height:0}.tags{min-height:0;max-height:none;overflow:visible}.desc{margin-top:12px}.compact-filter-row{position:relative}.tag-filter-box{position:relative;height:36px;min-width:280px;display:flex;align-items:center;background:#111821;border:1px solid var(--line);border-radius:9px;overflow:visible}.tag-filter-box .filter-label{padding:0 9px;color:#8ea0b4;border-right:1px solid var(--line);font-size:12px}.tag-filter-box input{height:34px;min-width:190px;flex:1;border:0;outline:0;background:transparent;color:var(--text);padding:0 10px;font:inherit}.filter-popover{position:absolute;z-index:55;top:98px;width:min(620px,calc(100vw - 64px));background:#131a23;border:1px solid #303b49;border-radius:12px;padding:12px;box-shadow:0 18px 60px #0009}.filter-pop-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}.filter-pop-head b{min-width:90px}.filter-pop-head input{flex:1;height:36px;background:#0f151d;border:1px solid var(--line);border-radius:8px;color:#fff;padding:0 10px}.filter-pop-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:7px;max-height:330px;overflow:auto}.pop-empty{color:#758395;padding:18px}.suggest-box{position:absolute;z-index:80;left:0;right:0;top:calc(100% + 5px);background:#151d27;border:1px solid #344253;border-radius:10px;box-shadow:0 15px 45px #0009;padding:6px;max-height:300px;overflow:auto}.suggest-box button{width:100%;display:flex;justify-content:space-between;gap:12px;border:0;background:transparent;color:#dbe4ee;padding:8px 9px;border-radius:7px;cursor:pointer;text-align:left}.suggest-box button:hover{background:#223044}.suggest-box small{color:#7f8d9c}.suggest-empty{color:#788698;padding:8px}.chips-row{min-height:34px;height:auto;padding-top:6px}.chips{padding-bottom:2px}.modal-card{width:min(880px,96vw)}.tag-title{display:flex;gap:8px;align-items:baseline}.tag-title small{font-weight:400;color:#718092}.tag-composer{position:relative;border:1px solid #2d3947;background:#0f151d;border-radius:10px;padding:8px;min-height:92px;cursor:text}.edit-tag-tokens{display:flex;flex-wrap:wrap;gap:6px}.edit-tag-token{display:inline-flex;align-items:center;gap:4px;background:#1d3451;border:1px solid #31577f;color:#c9e0ff;border-radius:99px;padding:4px 8px}.edit-tag-token button{border:0;background:none;color:inherit;cursor:pointer;padding:0 1px}.tag-composer>input{width:100%;border:0!important;background:transparent!important;outline:0;padding:8px 3px 2px!important;margin:0}.tag-composer .suggest-box{top:100%;margin-top:4px}.create-tag{color:#7fb0ff!important;border-top:1px solid #283647!important;border-radius:0!important}.list-view .tags{max-height:none}.filter-groups,.quick-filter-row{display:none!important}
@media(min-width:1500px){.hero-inner,.shell{padding-left:40px;padding-right:40px}}

/* v2.1 universal filter autocomplete */
.suggest-group{padding:8px 12px 5px;font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:#7f96b2;border-top:1px solid rgba(120,145,170,.12)}
.suggest-group:first-child{border-top:0}
#tagFilterSuggest button.keyboard-active{background:#203a5d;border-color:#3979c9}

.setting-range{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#111821}.setting-range>span{display:flex;flex-direction:column;gap:3px}.setting-range small{color:#8fa0b4}.range-control{display:flex;align-items:center;gap:12px;min-width:190px}.range-control input[type=range]{width:130px;accent-color:var(--accent)}.range-control output{min-width:42px;text-align:right;color:#c9d5e4;font-variant-numeric:tabular-nums}
.card{transition:opacity .18s ease}

/* v2.4 — actual inner padding of the toolbar itself.
   .toolbar is a child of main.shell; it does not contain a .shell element. */
.toolbar{padding-left:24px;padding-right:24px}
@media(max-width:900px){.toolbar{padding-left:14px;padding-right:14px}}

/* v2.5: Facet options with no hits remain visible but clearly unavailable. */
.pop-item.zero-hits,
.pop-item:disabled {
  opacity: .38;
  cursor: default;
  filter: saturate(.55);
}
.pop-item:disabled:hover { background:#18212c; }

/* v2.6 — full-page gallery background */
html{min-height:100%;background:#0b0f14}
body{
  background:
    linear-gradient(rgba(8,12,17,.34),rgba(8,12,17,.34)),
    url('../gallerybg.jpg') center top / cover fixed no-repeat;
}
.hero{background:rgba(12,18,26,.88);backdrop-filter:blur(8px)}
.toolbar{background:rgba(10,15,22,.86);backdrop-filter:blur(14px)}
.card{
  background:linear-gradient(180deg,rgba(25,33,43,.97),rgba(19,26,35,.97));
  border-color:#364455;
  box-shadow:0 8px 26px rgba(0,0,0,.52),0 0 0 1px rgba(255,255,255,.025);
}
.card-image{background:rgba(7,10,14,.96)}
.list-view .card{background:linear-gradient(180deg,rgba(25,33,43,.98),rgba(19,26,35,.98))}

/* v2.7 taxonomy management */
#settingsModal .modal-card{width:min(760px,96vw)}
.taxonomy-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.taxonomy-settings{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.taxonomy-settings-head{display:flex;flex-direction:column;gap:3px;margin-bottom:10px}.taxonomy-settings-head small{color:var(--muted)}
.taxonomy-tabs{display:flex;gap:6px;margin-bottom:10px}.taxonomy-tabs button{background:#111821;border:1px solid var(--line);color:#aab7c6;border-radius:8px;padding:7px 11px;cursor:pointer}.taxonomy-tabs button.active{background:#194d9b;border-color:#347cff;color:#fff}
.taxonomy-add{display:flex;gap:8px;margin-bottom:10px}.taxonomy-add input{flex:1}
.taxonomy-list{display:flex;flex-direction:column;gap:6px;max-height:270px;overflow:auto;padding-right:3px}.taxonomy-row{display:grid;grid-template-columns:minmax(180px,1fr) 80px auto auto;gap:7px;align-items:center;background:#101720;border:1px solid #26313d;border-radius:9px;padding:7px}.taxonomy-row input{margin:0}.taxonomy-row small{color:var(--muted);text-align:right}.taxonomy-row button{padding:7px 9px}
.collection-tag{border-color:#3b4660;background:#252b3b;color:#c4cbed}
@media(max-width:700px){.taxonomy-editor-grid{grid-template-columns:1fr}.taxonomy-row{grid-template-columns:1fr auto}.taxonomy-row small{display:none}}
