:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;color:#253b53;background:#fafbf9;font-synthesis:none;--teal:#178b88;--muted:#7e8b95;--line:#e1e7e5;--icon-size:32px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #6fbfb6;outline-offset:3px}button{color:inherit}button:disabled{opacity:.3;cursor:default}button[hidden],[hidden]{display:none!important}.skip{position:fixed;left:12px;top:-100px;z-index:10;padding:12px;background:white}.skip:focus{top:12px}.topbar{height:84px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 40px;background:#fff}.brand{display:flex;align-items:center;gap:12px;font-size:23px;font-weight:800;letter-spacing:-1px}.brand svg{width:34px;fill:#d7efed;stroke:#178b88;stroke-width:1.8;stroke-linejoin:round}.brand-light{font-size:19px;font-weight:450;letter-spacing:-.6px;color:#6d7f89}.topbar nav{display:flex;align-items:center;gap:27px;font-size:12px}.license{border:1px solid var(--line);border-radius:20px;padding:7px 10px;font-size:9px;letter-spacing:1px}.app-shell{display:grid;grid-template-columns:225px minmax(0,1fr)}.sidebar{border-right:1px solid var(--line);padding:37px 18px;min-height:calc(100vh - 84px);background:#f5f8f5}.sidebar-label{font-size:8px;letter-spacing:1.3px;color:#83928e;margin:0 12px 22px}.category{display:flex;align-items:center;width:100%;gap:11px;border:0;background:none;padding:13px 11px;border-radius:7px;text-align:left;margin-bottom:5px;font-size:12px}.category.active{color:#116d68;background:#dfefea;font-weight:650}.category:hover{background:#e7efeb}.cat-mark{width:18px;display:inline-flex;justify-content:center;color:#6d948c;font-size:17px}.category .count{margin-left:auto;font-size:10px;color:#7b8e87;font-variant-numeric:tabular-nums}.sidebar-note{border-top:1px solid var(--line);margin:42px 12px 25px;padding-top:25px}.tiny-cube{font-size:25px;color:#7ca69d}.sidebar-note p{font-size:13px;line-height:1.7;font-weight:550}.sidebar-note span{font-size:10px;line-height:1.9;color:#8a9993}.manifest-link{font-size:10px;color:#618278;margin:0 12px}main{min-width:0}.hero{min-height:310px;padding:39px 45px 36px;display:flex;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line);background:linear-gradient(116deg,#fbfcf9 45%,#eff5ef)}.eyebrow{font-size:9px;letter-spacing:1.7px;font-weight:650;color:#558477}.eyebrow span{display:inline-block;width:6px;height:6px;border-radius:50%;background:#4e9d8b;margin-right:7px}h1{font-size:49px;line-height:1.08;letter-spacing:-2.3px;font-weight:550;margin:23px 0 15px}h1>span{color:var(--teal)}.hero p{color:#72827f;font-size:12px;line-height:1.8;margin:0}.hero-meta{color:#8b9790;font-size:9px;margin-top:23px;display:flex;align-items:center;gap:9px}.hero-meta>span{color:#315f54;font-weight:700}.hero-meta i{display:inline-block;width:2px;height:2px;background:#a3b3ab;border-radius:50%}.hero-art{position:relative;flex:0 0 320px;align-self:center;height:245px}.orbit-grid{position:absolute;inset:0;background-image:linear-gradient(#abc8bb24 1px,transparent 1px),linear-gradient(90deg,#abc8bb24 1px,transparent 1px);background-size:25px 25px;mask-image:radial-gradient(ellipse,#000,transparent 70%)}#hero-icons{display:grid;grid-template-columns:repeat(3,70px);gap:15px;justify-content:center;padding-top:15px;transform:rotate(-8deg)}#hero-icons>div{height:70px;display:grid;place-items:center;background:#fffffff2;border:1px solid #dce7de;border-radius:13px;box-shadow:0 6px 13px #496d5520}#hero-icons>div:nth-child(2){transform:translateY(-10px)}#hero-icons>div:nth-child(5){transform:translateY(-10px)}#hero-icons svg{height:38px;width:38px}.hero-art-label{position:absolute;bottom:22px;left:0;right:0;text-align:center;font-size:7px;letter-spacing:2px;color:#95a49b}.workspace{padding:30px 40px}.search-row{display:flex;align-items:center;gap:12px}.search{display:flex;align-items:center;gap:11px;border:1px solid #dce4de;background:#fff;border-radius:8px;flex:1;min-width:0;padding:12px 14px}.search svg{width:19px;fill:none;stroke:#7d9185;stroke-width:1.6;flex:none}.search input{border:0;outline:none;background:none;min-width:0;width:100%;font-size:12px;color:#253b53}.search input::placeholder{color:#9ba6a0}.search kbd{border:1px solid #e3e8e3;border-radius:4px;padding:0 5px;color:#98a59d;font-size:11px}select{border:1px solid #dfe6df;border-radius:6px;padding:9px;background:#fff;color:#6c7d74;font-size:10px}.toolbar{display:flex;align-items:center;justify-content:space-between;margin:28px 0 19px;gap:10px}.results-title{display:flex;align-items:center;gap:13px;min-width:0}h2{font-size:14px;letter-spacing:-.2px;font-weight:650;margin:0}#result-count{font-size:10px;color:#8c9990}.view-controls{display:flex;align-items:center;gap:14px;font-size:10px;color:#8c9990}.view-controls select{padding:4px;border:0;background:none}.size-control{white-space:nowrap}.background-control{display:flex;gap:7px;border-left:1px solid var(--line);border-right:1px solid var(--line);padding:0 12px}.swatch{height:16px;width:16px;padding:0;border:1px solid #d8e0da;border-radius:4px}.swatch[aria-pressed=true]{outline:1px solid #3b8d7e;outline-offset:3px}.light{background:#fff}.dark{background:#243247}.checker{background:conic-gradient(#dce4df 25%,white 0 50%,#dce4df 0 75%,white 0);background-size:8px 8px}.icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:10px}.icon-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:125px;padding:16px 9px 13px;border:1px solid #e3e8e2;background:#fff;border-radius:9px;position:relative;transition:border-color .15s,transform .15s,box-shadow .15s;overflow:hidden}.icon-card:hover{border-color:#90bcae;box-shadow:0 4px 12px #234d3b0a;transform:translateY(-2px)}.icon-card svg{width:var(--icon-size);height:var(--icon-size);flex-shrink:0}.icon-card span{font-size:10px;line-height:1.3;color:#697d71;text-align:center;overflow-wrap:anywhere}.icon-card small{position:absolute;top:7px;right:7px;font-size:6px;letter-spacing:.4px;color:#9bada2}.icon-grid.dark-bg .icon-card,.detail-preview.dark-bg{background:#192c3c}.icon-grid.dark-bg .icon-card{background:#192c3c}.icon-grid.dark-bg .icon-card span{color:#c0d8d5}.icon-grid.grid-bg .icon-card,.detail-preview.grid-bg{background-image:conic-gradient(#eff3ef 25%,#fff 0 50%,#eff3ef 0 75%,#fff 0);background-size:14px 14px}.quiet,.primary{padding:10px 14px;border-radius:6px;font-size:11px;border:1px solid #dbe5dc;background:white}.primary{background:#1a7f70;color:white;border-color:#1a7f70}.empty{text-align:center;padding:60px 12px}.empty>span{font-size:40px;color:#91ada0}.empty h3{font-size:18px}.empty p{font-size:12px;line-height:1.8;color:#819386}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin:0 40px;padding:21px 0;font-size:9px;color:#93a095}footer a{color:#6e8979}dialog{width:min(620px,calc(100% - 32px));border:1px solid #d8e3dc;border-radius:16px;padding:30px;box-shadow:0 25px 100px #12302533;max-height:calc(100dvh - 32px);overflow-y:auto;background:#fff;color:#253b53}dialog::backdrop{background:#193c3b55;backdrop-filter:blur(4px)}dialog[open]{display:grid;grid-template-columns:170px 1fr;gap:25px}.close{position:absolute;right:10px;top:8px;border:0;background:none;font-size:25px;color:#789186}.detail-preview{min-height:200px;background:#f0f6f0;border-radius:12px;display:grid;place-items:center}.detail-preview svg{width:100px;height:100px}.detail-info h2{font-size:24px;margin:14px 0 5px}.detail-info p{font-size:12px;color:#6d8277;line-height:1.6}.detail-info code{display:block;font-size:9px;overflow-wrap:anywhere;color:#789285}.detail-info small{font-size:9px;color:#90a198}.tags{display:flex;flex-wrap:wrap;gap:4px;margin:15px 0}.tags span{background:#f0f5ee;color:#68806d;padding:4px 6px;border-radius:4px;font-size:9px}.detail-actions{display:flex;gap:7px;margin:18px 0}.detail-actions button{font-size:10px;padding:9px}#toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%,20px);padding:12px 20px;border-radius:8px;background:#244c42;color:white;font-size:12px;opacity:0;pointer-events:none;transition:.15s}#toast.visible{opacity:1;transform:translate(-50%,0)}@media(min-width:1500px){.hero{padding-left:65px;padding-right:65px}.workspace{padding-left:60px;padding-right:60px}.hero-art{flex-basis:400px}.icon-grid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr))}}@media(max-width:1050px){.app-shell{grid-template-columns:185px minmax(0,1fr)}.sidebar{padding-left:10px;padding-right:10px}.hero{padding:30px}.hero-art{flex-basis:240px}h1{font-size:42px}.hero-art #hero-icons{grid-template-columns:repeat(3,58px);gap:10px}#hero-icons>div{height:58px}.workspace{padding:25px}.topbar{padding:0 25px}}@media(max-width:760px){.topbar{height:66px;padding:0 18px}.topbar nav{gap:12px}.topbar nav>a:first-child,.license{display:none}.brand{font-size:19px}.brand-light{font-size:16px}.brand svg{width:27px}.app-shell{display:block}.sidebar{min-height:0;display:flex;padding:13px 15px;gap:4px;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line)}.sidebar-label,.sidebar-note,.manifest-link{display:none}#categories{display:contents}.category{width:auto;white-space:nowrap;padding:9px 11px;margin:0;font-size:10px;gap:6px}.category .count{font-size:9px;margin-left:0}.cat-mark{display:none}.hero{padding:27px 23px;min-height:280px;position:relative;overflow:hidden}.hero-art{position:absolute;right:-72px;top:55px;width:210px;opacity:.45;transform:rotate(10deg);pointer-events:none}.hero>div:first-child{z-index:1}.hero h1{font-size:42px}.hero p{font-size:11px}.hero-meta{font-size:8px}.eyebrow{font-size:7px;letter-spacing:1.2px}.hero-art-label{display:none}.workspace{padding:21px 17px}.search{padding:12px 10px}.search input{font-size:10px}.search kbd{display:none}.search-row{gap:7px}.toolbar{margin:23px 0 17px;flex-wrap:wrap}.results-title{gap:8px}.results-title h2{font-size:13px}#result-count{font-size:9px}.view-controls{gap:4px;font-size:9px}.background-control{padding:0 8px;gap:5px}.swatch{width:13px;height:13px}.icon-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.icon-card{min-height:117px;padding:18px 6px 12px;gap:13px}.icon-card span{font-size:8px}.icon-card small{font-size:5px}footer{margin:0 17px;gap:15px;flex-direction:column;font-size:8px}dialog[open]{grid-template-columns:1fr;gap:20px;padding:25px}.detail-preview{min-height:130px}.detail-preview svg{width:75px;height:75px}.detail-info h2{font-size:22px}.detail-actions{margin:12px 0}.detail-info .eyebrow{font-size:9px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.collection-scope{font-size:10px;line-height:1.6;color:#7c8f83;margin:13px 0 -10px}

/* Usage is independent of category: one glyph can serve a command and node. */
.usage-control {display:flex;align-items:center;gap:7px;color:#45665f;font-size:12px;white-space:nowrap}
.usage-control select {max-width:155px}
.view-controls {flex-wrap:wrap}
.tree-preview-link {margin:0 0 18px;color:#61766d;font-size:12px;line-height:1.6}
.tree-preview-link a {color:#167d77;text-underline-offset:3px}
.usage-description {font-size:12px;line-height:1.6;color:#61766d;overflow-wrap:anywhere}
@media(max-width:700px){.toolbar{align-items:flex-start;gap:14px;flex-direction:column}.view-controls{justify-content:flex-start;gap:12px}}

/* SVG colors are generated per variant, never overridden by preview backgrounds. */
.theme-control {display:flex;align-items:center;gap:7px;white-space:nowrap}
.detail-theme-note {font-size:10px!important;line-height:1.5!important}
#detail-file {margin-top:8px}

.png-export {display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:12px 0 0}
.png-export label {display:flex;align-items:center;gap:7px;font-size:10px;color:#6d8277}
.png-export button {font-size:10px;padding:9px}
.detail-actions {flex-wrap:wrap}

.detail-status {overflow-wrap:anywhere;font-size:10px!important}
.detail-status:empty {margin:0}
#toast {max-width:calc(100% - 32px);width:max-content;text-align:center}

/* Append-only gallery batches; the button also works without IntersectionObserver. */
.load-sentinel {height:1px}
.load-controls {display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:24px;color:#6d8277;font-size:11px}
.load-controls p {margin:0}
.detail-visual {min-width:0}
.detail-navigation {display:flex;justify-content:space-between;gap:8px;margin-top:14px}
.detail-navigation button {font-size:11px;padding:9px 10px}
.detail-position {font-size:11px;line-height:1.5;color:#45665f;overflow-wrap:anywhere;margin:12px 0 5px}
.detail-key-hint {font-size:10px;color:#6d8277;margin:0}

/* Bulk export remains a single accessible dialog and a single file download. */
#bulk-download {white-space:nowrap;flex-shrink:0}
.bulk-dialog[open] {display:block;width:min(520px,calc(100% - 32px));padding:30px}
.bulk-dialog h2 {font-size:24px;margin:12px 0}
.bulk-dialog p {font-size:12px;line-height:1.7;color:#61766d}
.bulk-options {display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 0}
.bulk-options label {display:flex;flex-direction:column;gap:8px;font-size:11px;color:#45665f;min-width:0}
.bulk-options select {width:100%;font-size:11px;padding:10px;min-width:0}
.bulk-dialog .bulk-hint {font-size:10px;color:#6d8277}
.bulk-dialog .bulk-summary {font-size:12px;font-weight:650;color:#315f54}
#bulk-progress {width:100%;height:10px;accent-color:#178b88}
.bulk-status {min-height:21px;overflow-wrap:anywhere}
.bulk-actions {display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.bulk-options select:disabled {opacity:.65}
@media(max-width:480px){.search-row{flex-wrap:wrap}.search{flex-basis:70%}#bulk-download{margin-left:auto}.bulk-dialog[open]{padding:28px 22px}.bulk-options{grid-template-columns:1fr}.bulk-dialog h2{font-size:21px}}
