*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#fff;--surface:#f8f8f8;--surface-2:#f0f0f0;--border:#e5e5e5;--border-2:#d1d1d1;--text:#0c0c0c;--text-2:#6e6e6e;--text-3:#b0b0b0;--accent:#0ea5e9;--accent-fg:#fff;--accent-muted:#0ea5e91a;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 12px #00000014, 0 2px 4px #0000000a;--radius:8px;--radius-sm:6px;--transition:.12s ease}html.dark{--bg:#0c0c0c;--surface:#161616;--surface-2:#222;--border:#2c2c2c;--border-2:#3d3d3d;--text:#f0f0f0;--text-2:#888;--text-3:#555;--accent:#0ea5e9;--accent-fg:#fff;--accent-muted:#0ea5e926;--shadow-sm:0 1px 3px #00000040, 0 1px 2px #00000026;--shadow-md:0 4px 12px #0000004d, 0 2px 4px #0003}html,body{height:100%}html{scrollbar-gutter:stable}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;transition:background var(--transition), color var(--transition);font-family:Inter,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.5}.app{flex-direction:column;min-height:100vh;display:flex}.header{z-index:20;background:color-mix(in srgb, var(--bg) 90%, transparent);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--border);transition:background var(--transition), border-color var(--transition);padding:0 24px;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;max-width:1320px;height:56px;margin:0 auto;display:flex}.header-brand{align-items:center;gap:10px;display:flex}.header-logo-wrap{flex-shrink:0;justify-content:center;align-items:center;width:88px;height:88px;display:flex}.header-logo-img{object-fit:contain;width:100%;height:100%}.header-title{letter-spacing:-.01em;color:var(--text);font-size:14px;font-weight:600}.header-subtitle{color:var(--text-3);letter-spacing:.01em;margin-top:1px;font-size:11px}.header-actions{align-items:center;gap:8px;display:flex}.header-npm{letter-spacing:.02em;border:1px solid var(--border-2);color:var(--text-2);transition:border-color var(--transition), color var(--transition), background var(--transition);background:0 0;border-radius:20px;padding:4px 12px;font-size:12px;font-weight:500;text-decoration:none}.header-npm:hover{border-color:var(--accent);color:var(--accent);background:var(--surface)}.theme-toggle{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;width:32px;height:32px;color:var(--text-2);transition:border-color var(--transition), color var(--transition), background var(--transition);background:0 0;justify-content:center;align-items:center;display:flex}.theme-toggle:hover{border-color:var(--accent);color:var(--accent);background:var(--surface)}.main{flex:1;grid-template-columns:240px 1fr;width:100%;max-width:1320px;margin:0 auto;display:grid}.sidebar{border-right:1px solid var(--border);flex-direction:column;gap:14px;height:calc(100vh - 56px);padding:20px 14px;display:flex;position:sticky;top:56px;overflow-y:auto}.sidebar-section{flex-direction:column;gap:16px;display:flex}.sidebar-section-title{color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:600}.sidebar-divider{background:var(--border);height:1px}.prop-controls{flex-direction:column;gap:20px;display:flex}.prop-group{flex-direction:column;gap:8px;display:flex}.prop-label{color:var(--text-2);justify-content:space-between;align-items:center;font-size:11px;font-weight:500;display:flex}.prop-label-value{font-variant-numeric:tabular-nums}.size-buttons{gap:4px;display:flex}.size-btn{border-radius:var(--radius-sm);border:1px solid var(--border);color:var(--text-2);cursor:pointer;transition:all var(--transition);text-align:center;background:0 0;flex:1;padding:5px 4px;font-size:11px;font-weight:500}.size-btn:hover{border-color:var(--border-2);color:var(--text)}.size-btn.active{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.color-row{align-items:center;gap:8px;display:flex}.color-picker{border-radius:var(--radius-sm);border:1px solid var(--border);cursor:pointer;background:0 0;flex-shrink:0;width:32px;height:32px;padding:3px}.color-text{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);transition:border-color var(--transition);outline:none;flex:1;padding:6px 9px;font-family:JetBrains Mono,Fira Code,monospace;font-size:11px}.color-text:focus{border-color:var(--border-2)}.stroke-slider{width:100%;height:4px;accent-color:var(--accent);cursor:pointer}.sidebar-cat-search-wrap{align-items:center;display:flex;position:relative}.sidebar-cat-search-icon{color:var(--text-3);pointer-events:none;align-items:center;display:flex;position:absolute;left:9px}.sidebar-cat-search-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text);transition:border-color var(--transition), background var(--transition);outline:none;padding:6px 28px;font-family:inherit;font-size:12px}.sidebar-cat-search-input:focus{border-color:var(--border-2);background:var(--bg)}.sidebar-cat-search-input::placeholder{color:var(--text-3)}.sidebar-cat-search-clear{cursor:pointer;color:var(--text-3);transition:color var(--transition);background:0 0;border:none;border-radius:3px;align-items:center;padding:2px;display:flex;position:absolute;right:7px}.sidebar-cat-search-clear:hover{color:var(--text)}.sidebar-cat-list{flex-direction:column;gap:1px;display:flex}.sidebar-cat-item{border-radius:var(--radius-sm);width:100%;color:var(--text-2);cursor:pointer;text-align:left;text-transform:capitalize;transition:background var(--transition), color var(--transition);background:0 0;border:none;justify-content:space-between;align-items:center;padding:6px 8px;font-size:12.5px;font-weight:500;display:flex}.sidebar-cat-item:hover{background:var(--surface-2);color:var(--text)}.sidebar-cat-item.active{background:var(--accent-muted);color:var(--accent)}.sidebar-cat-name{flex:1}.sidebar-cat-count{color:var(--text-3);font-variant-numeric:tabular-nums;transition:color var(--transition);font-size:11px;font-weight:400}.sidebar-cat-item.active .sidebar-cat-count{color:var(--accent);opacity:.7}.sidebar-cat-empty{color:var(--text-3);text-align:center;padding:8px;font-size:11px}.install-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:6px;padding:12px 14px;display:flex}.install-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.07em;font-size:10px;font-weight:600}.install-code{color:var(--text);font-family:JetBrains Mono,Fira Code,monospace;font-size:11px;line-height:1.6;display:block}.install-hint{color:var(--text-3);align-items:flex-start;gap:6px;font-size:11px;line-height:1.5;display:flex}.install-hint-icon{flex-shrink:0;margin-top:1px}.content{flex-direction:column;gap:20px;padding:28px;display:flex}.search-bar{flex-direction:column;gap:12px;display:flex}.search-input-wrap{align-items:center;display:flex;position:relative}.search-icon{color:var(--text-3);pointer-events:none;align-items:center;display:flex;position:absolute;left:12px}.search-input{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--text);transition:border-color var(--transition), background var(--transition);outline:none;padding:10px 38px;font-family:inherit;font-size:14px}.search-input:focus{border-color:var(--border-2);background:var(--bg)}.search-input::placeholder{color:var(--text-3)}.search-clear{cursor:pointer;color:var(--text-3);transition:color var(--transition);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;right:10px}.search-clear:hover{color:var(--text)}.category-tabs{flex-wrap:wrap;gap:5px;display:flex}.category-tab{border:1px solid var(--border);color:var(--text-2);cursor:pointer;text-transform:capitalize;transition:all var(--transition);background:0 0;border-radius:20px;padding:4px 12px;font-size:12px;font-weight:500}.category-tab:hover{border-color:var(--border-2);color:var(--text)}.category-tab.active{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.result-count{color:var(--text-3);border-bottom:1px solid var(--border);padding-bottom:4px;font-size:12px}.icon-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:6px;display:grid}.icon-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;transition:border-color var(--transition), background var(--transition), transform var(--transition), box-shadow var(--transition);text-align:center;flex-direction:column;align-items:center;gap:9px;width:100%;padding:18px 8px 14px;display:flex;position:relative}.icon-card:hover{border-color:var(--accent);background:var(--surface-2);box-shadow:var(--shadow-md);transform:translateY(-2px)}.icon-card:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.icon-card-preview{width:36px;height:36px;color:var(--text);justify-content:center;align-items:center;display:flex}html.dark .icon-card-preview{color:#fff}.icon-card-name{color:var(--text);word-break:break-word;font-size:10.5px;font-weight:500;line-height:1.3}.icon-card-category{color:var(--text-3);text-transform:capitalize;font-size:10px}@keyframes overlay-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.icon-card-copied{border-radius:var(--radius);background:var(--accent);color:var(--accent-fg);pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:6px;animation:.12s forwards overlay-in;display:flex;position:absolute;inset:0}.icon-card-copied-label{font-size:11px;font-weight:600}.empty-state{text-align:center;color:var(--text-3);flex-direction:column;grid-column:1/-1;align-items:center;gap:12px;padding:80px 0;display:flex}.empty-state-icon{opacity:.4}.empty-title{color:var(--text-2);font-size:14px;font-weight:500}.empty-hint{color:var(--text-3);font-size:12px}.footer{border-top:1px solid var(--border);text-align:center;padding:16px 24px}.footer-text{color:var(--text-3);font-size:11px}@media (width<=768px){.main{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--border);height:auto;position:static}.icon-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.content{padding:20px}}.nav-tabs{z-index:19;background:color-mix(in srgb, var(--bg) 90%, transparent);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--border);transition:background var(--transition), border-color var(--transition);position:sticky;top:56px}.nav-tab-inner{align-items:center;gap:6px;display:flex}.header-npm-inner{align-items:center;gap:5px;display:flex}.nav-tabs-inner{max-width:1320px;margin:0 auto;padding:0 24px;display:flex}.nav-tab{color:var(--text-2);cursor:pointer;transition:color var(--transition), border-color var(--transition);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:12px 18px;font-size:13px;font-weight:500}.nav-tab:hover{color:var(--text)}.nav-tab.active{color:var(--text);border-bottom-color:var(--accent)}.playground{flex:1;grid-template-columns:280px 1fr;width:100%;max-width:1320px;margin:0 auto;display:grid}.pg-picker{border-right:1px solid var(--border);flex-direction:column;height:calc(100vh - 101px);display:flex;position:sticky;top:101px;overflow:hidden}.pg-picker-top{border-bottom:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:8px;padding:14px 14px 10px;display:flex}.pg-search-wrap{align-items:center;display:flex;position:relative}.pg-search-icon-wrap{color:var(--text-3);pointer-events:none;align-items:center;display:flex;position:absolute;left:10px}.pg-search-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text);transition:border-color var(--transition), background var(--transition);outline:none;padding:7px 10px 7px 30px;font-family:inherit;font-size:12px}.pg-search-input:focus{border-color:var(--border-2);background:var(--bg)}.pg-search-input::placeholder{color:var(--text-3)}.pg-picker-count{color:var(--text-3);font-size:10.5px}.pg-picker-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(60px,1fr));align-content:start;gap:3px;padding:10px;display:grid;overflow-y:auto}.pg-picker-item{border-radius:var(--radius-sm);color:var(--text);cursor:pointer;transition:all var(--transition);background:0 0;border:1px solid #0000;flex-direction:column;align-items:center;gap:5px;padding:10px 4px 8px;display:flex}.pg-picker-item:hover{border-color:var(--border);background:var(--surface)}.pg-picker-item.active{border-color:var(--accent);background:var(--surface-2);box-shadow:0 0 0 2px var(--accent-muted)}.pg-picker-name{color:var(--text-3);text-align:center;word-break:break-all;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:9px;line-height:1.2;display:-webkit-box;overflow:hidden}.pg-picker-empty{color:var(--text-3);text-align:center;grid-column:1/-1;padding:32px 0;font-size:12px}.pg-panel{grid-template-columns:7fr 3fr;align-items:start;gap:0;display:grid}.pg-panel-controls{scrollbar-width:none;border-right:1px solid var(--border);height:calc(100vh - 101px);padding:28px 24px 28px 28px;position:sticky;top:101px;overflow-y:auto}.pg-panel-controls::-webkit-scrollbar{display:none}.pg-panel-preview{scrollbar-width:none;flex-direction:column;gap:0;height:calc(100vh - 101px);padding:28px 28px 28px 24px;display:flex;position:sticky;top:101px;overflow-y:auto}.pg-panel-preview::-webkit-scrollbar{display:none}.pg-preview{border:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;background:var(--surface);border-bottom:none;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:160px;padding:32px 16px 24px;display:flex}.pg-preview-icon{justify-content:center;align-items:center;display:flex}.pg-preview-meta{flex-direction:column;align-items:center;gap:3px;display:flex}.pg-preview-name{color:var(--text);font-size:13px;font-weight:600}.pg-preview-cat{color:var(--text-3);text-transform:capitalize;font-size:11px}.pg-controls{flex-direction:column;gap:28px;display:flex}.pg-section{flex-direction:column;gap:16px;display:flex}.pg-section-header{border-bottom:1px solid var(--border);align-items:center;gap:7px;padding-bottom:10px;display:flex}.pg-section-icon{color:var(--text-3);align-items:center;display:flex}.pg-section-title{color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:600}.pg-section-grid{grid-template-columns:1fr 1fr;gap:16px 36px;display:grid}.pg-section-grid--full{grid-column:1/-1}.pg-anim-sub{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);grid-column:1/-1;grid-template-columns:1fr 1fr;gap:14px 28px;padding:14px;animation:.12s forwards overlay-in;display:grid}.pg-reset-btn{color:var(--text-3);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);background:0 0;align-items:center;gap:5px;margin-left:auto;padding:3px 9px;font-size:11px;font-weight:500;display:flex}.pg-reset-btn:hover{color:var(--text);border-color:var(--border-2)}.pg-group{flex-direction:column;gap:10px;display:flex}.pg-group--full{grid-column:1/-1}.pg-label{color:var(--text-2);align-items:center;gap:6px;font-size:11px;font-weight:500;display:flex}.pg-value{color:var(--text);font-variant-numeric:tabular-nums;font-style:normal;font-weight:600}.pg-row{flex-wrap:wrap;gap:4px;display:flex}.pg-btn{border-radius:var(--radius-sm);border:1px solid var(--border);color:var(--text-2);cursor:pointer;white-space:nowrap;transition:all var(--transition);background:0 0;padding:5px 11px;font-size:11px;font-weight:500}.pg-btn:hover{border-color:var(--border-2);color:var(--text)}.pg-btn.active{color:var(--accent);border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:0 0}.pg-color-row{align-items:center;gap:8px;display:flex}.pg-color-swatch{border-radius:var(--radius-sm);border:1px solid var(--border);cursor:pointer;background:0 0;flex-shrink:0;width:32px;height:32px;padding:3px}.pg-color-text{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-width:0;color:var(--text);transition:border-color var(--transition);outline:none;flex:1;padding:6px 8px;font-family:JetBrains Mono,Fira Code,monospace;font-size:11px}.pg-color-text:focus{border-color:var(--accent)}.pg-color-text[type=number]{appearance:none;-moz-appearance:textfield;padding-right:0}.pg-color-text[type=number]::-webkit-inner-spin-button{appearance:none;margin:0}.pg-color-text[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}.pg-number-wrap{flex:1;min-width:0;display:flex;position:relative}.pg-number-wrap .pg-color-text{width:100%;padding-right:22px}.pg-number-spin{border-left:1px solid var(--border);border-radius:0 var(--radius-sm) var(--radius-sm) 0;flex-direction:column;width:22px;display:flex;position:absolute;top:0;bottom:0;right:0;overflow:hidden}.pg-number-spin button{background:var(--surface);width:100%;color:var(--text-3);cursor:pointer;transition:background var(--transition), color var(--transition);border:none;flex:1;justify-content:center;align-items:center;padding:0;font-size:8px;line-height:1;display:flex}.pg-number-spin button:first-child{border-bottom:1px solid var(--border)}.pg-number-spin button:hover{background:var(--accent);color:var(--accent-fg)}.pg-anim-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pg-anim-sep{background:var(--border);flex-shrink:0;width:1px;height:20px}.pg-toggle{color:var(--text-2);border:1px solid var(--border);cursor:pointer;transition:all var(--transition);background:0 0;border-radius:20px;align-items:center;gap:8px;padding:5px 12px 5px 8px;font-size:12px;font-weight:500;display:flex}.pg-toggle:hover{border-color:var(--border-2);color:var(--text)}.pg-toggle.active{border-color:var(--accent);color:var(--accent);background:var(--surface-2)}.pg-toggle-track{background:var(--border-2);width:28px;height:16px;transition:background var(--transition);border-radius:8px;flex-shrink:0;position:relative}.pg-toggle.active .pg-toggle-track{background:var(--accent)}.pg-toggle-thumb{width:12px;height:12px;transition:transform var(--transition);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px}.pg-toggle.active .pg-toggle-thumb{transform:translate(12px)}.pg-code-wrap{border:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius);background:var(--surface);overflow:hidden}.pg-code-header{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.pg-code-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:600}.pg-copy-btn{color:var(--text-2);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);background:0 0;align-items:center;gap:5px;padding:3px 10px;font-size:11px;font-weight:500;display:flex}.pg-copy-btn:hover{border-color:var(--border-2);color:var(--text)}.pg-code{color:var(--text);background:var(--surface);border-left:3px solid var(--border-2);white-space:pre;margin:0;padding:16px 16px 16px 13px;font-family:JetBrains Mono,Fira Code,monospace;font-size:12.5px;line-height:1.65;overflow-x:auto}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--accent);transition:background var(--transition);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--accent);opacity:.8}::-webkit-scrollbar-corner{background:0 0}*{scrollbar-width:thin;scrollbar-color:var(--accent) transparent}@media (width<=768px){.playground{grid-template-columns:1fr}.pg-picker{border-right:none;border-bottom:1px solid var(--border);height:220px;position:static}.pg-controls{grid-template-columns:1fr}.pg-group--full{grid-column:1}.pg-panel{grid-template-columns:1fr}.pg-panel-controls{border-right:none;border-bottom:1px solid var(--border);height:auto;padding:20px;position:static}.pg-panel-preview{height:auto;padding:20px;position:static}}
