.ds-root{color:#0f172a;max-width:1180px;margin:0 auto;padding:8px 16px 40px}.ds-head{margin-bottom:16px}.ds-title{letter-spacing:-.02em;margin:0 0 8px;font-size:24px;font-weight:800}.ds-sub{color:#475569;max-width:72ch;margin:0 0 12px;font-size:14px;line-height:1.65}.ds-notice{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:13px;line-height:1.6;display:flex}.ds-notice svg{flex:none;margin-top:2px}.ds-search{margin:16px 0 10px;position:relative}.ds-search input{box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:999px;outline:none;width:100%;height:48px;font-size:16px;box-shadow:0 4px 14px #0f172a0d;padding:0 44px!important}.ds-search input:focus{border-color:#10b981;box-shadow:0 0 0 3px #10b9812e}.ds-search-ico{color:#94a3b8;pointer-events:none;position:absolute;top:15px;left:16px}.ds-clear{color:#475569;cursor:pointer;background:#f1f5f9;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:flex;position:absolute;top:10px;right:10px}.ds-hot{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px;display:flex}.ds-hot-label{color:#64748b;margin-right:2px;font-size:12px}.ds-chip{color:#334155;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:5px 12px;font-size:13px}.ds-chip:hover,.ds-chip.on{color:#0f172a;background:#f1f5f9;border-color:#0f172a}.ds-cats{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.ds-cat{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:5px 12px;font-size:13px;font-weight:500}.ds-cat.on{color:#fff;background:#0f172a}.ds-count{color:#64748b;align-items:center;gap:6px;margin:8px 0 12px;font-size:12px;display:flex}.ds-spin{animation:1s linear infinite ds-spin}@keyframes ds-spin{to{transform:rotate(360deg)}}.ds-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.ds-grid.dense{grid-template-columns:repeat(auto-fill,minmax(188px,1fr));gap:10px}.ds-card{cursor:pointer;text-align:left;background:#fff;border:1px solid #e8eef5;border-radius:14px;flex-direction:column;padding:0;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex;overflow:hidden}.ds-card:hover{border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 12px 28px #0f172a17}a.ds-card{color:inherit;text-decoration:none}.ds-card-top{box-sizing:border-box;align-items:flex-end;height:68px;padding:10px 12px;display:flex;position:relative}.ds-avatar{color:#fff;border:2px solid #ffffff59;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;font-weight:800;display:flex;box-shadow:0 4px 12px #0000002e}.ds-lic{color:#fff;letter-spacing:.02em;background:#0f172ad1;border-radius:5px;padding:3px 7px;font-size:10px;font-weight:700;position:absolute;top:8px;right:8px}.ds-card-meta{flex-direction:column;flex:1;gap:4px;padding:10px 12px 12px;display:flex}.ds-card-name{color:#0f172a;letter-spacing:-.01em;font-size:13.5px;font-weight:750;line-height:1.35;display:block}.ds-card-blurb{-webkit-line-clamp:2;color:#64748b;-webkit-box-orient:vertical;min-height:2.9em;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.ds-card-row{color:#64748b;border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:8px;font-size:11px;display:flex}.ds-stars{color:#334155;align-items:center;gap:3px;font-weight:650;display:inline-flex}.ds-tags{text-overflow:ellipsis;white-space:nowrap;color:#64748b;overflow:hidden}.ds-empty{text-align:center;color:#64748b;padding:40px 0;font-size:14px}.ds-credit{color:#64748b;margin-top:20px;font-size:12px;line-height:1.7}.ds-credit a{color:#047857}.ds-tag{color:#334155;background:#f1f5f9;border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-flex}.ds-tag.lic{color:#047857;background:#ecfdf5;font-weight:700}.ds-tag.stars{color:#b45309;background:#fffbeb}.ds-install-label{color:#475569;align-items:center;gap:6px;margin:0 0 6px;font-size:12px;font-weight:700;display:flex}.ds-install{background:#0f172a;border-radius:12px;align-items:stretch;gap:8px;margin-bottom:12px;padding:8px;display:flex}.ds-install code{color:#e2e8f0;word-break:break-all;flex:1;padding:6px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.5}.ds-install button{color:#fff;cursor:pointer;background:#10b981;border:none;border-radius:8px;flex:none;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.ds-install.alt{background:#1e293b}.ds-linkbtn{color:#fff;background:#0f172a;border-radius:10px;align-items:center;gap:6px;padding:10px 14px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.ds-linkbtn.ghost{color:#0f172a;background:#fff;border:1px solid #e2e8f0}.ds-toast{z-index:1100;color:#fff;background:#0f172a;border-radius:999px;align-items:center;gap:6px;padding:10px 16px;font-size:13px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #00000040}@media (max-width:560px){.ds-install{flex-direction:column}.ds-install button{justify-content:center;height:36px}}.ds-detail-loading{color:#64748b;align-items:center;gap:8px;padding:48px 0;display:flex}.ds-back{color:#475569;align-items:center;gap:6px;margin-bottom:18px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.ds-back:hover{color:#0f172a}.dsd-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:36px;display:grid}.dsd-main{min-width:0;box-shadow:none;background:0 0;border:none;border-radius:0;padding:0;overflow:visible}.dsd-head{border-bottom:none;align-items:flex-start;gap:16px;padding:0 0 18px;display:flex}.dsd-icon{color:#fff;letter-spacing:-.03em;border:1px solid #0f172a0f;border-radius:14px;flex:none;justify-content:center;align-items:center;width:64px;height:64px;font-size:26px;font-weight:800;display:flex;box-shadow:0 6px 16px #0f172a24}.dsd-head-text{flex:1;min-width:0}.dsd-title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.dsd-title{letter-spacing:-.03em;color:#0f172a;margin:0;font-size:28px;font-weight:800;line-height:1.2}.dsd-meta-row{color:#64748b;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:6px;font-size:13px;display:flex}.dsd-author{color:#475569;font-weight:650}.dsd-repo{word-break:break-all;color:#64748b;background:0 0;border:none;border-radius:0;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12.5px}.dsd-summary{color:#475569;max-width:68ch;margin:12px 0 0;font-size:14px;line-height:1.7}.dsd-pills{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.dsd-pills .ds-tag{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;font-weight:500}.dsd-pills .ds-tag.lic{color:#047857;background:#ecfdf5;border-color:#a7f3d0;font-weight:700}.dsd-pills .ds-tag.stars{color:#b45309;background:#fffbeb;border-color:#fde68a}.dsd-tabs{background:0 0;border-bottom:1px solid #e2e8f0;flex-wrap:wrap;gap:0;margin-top:6px;padding:0;display:flex}.dsd-tabs button{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-bottom:2.5px solid #0000;margin-bottom:-1px;padding:12px 16px;font-size:14px;font-weight:600;position:relative}.dsd-tabs button:hover{color:#334155}.dsd-tabs button.on{color:#0f172a;border-bottom-color:#0f172a;font-weight:750}.dsd-body{padding:22px 0 8px}.dsd-h2{letter-spacing:-.02em;color:#0f172a;margin:0 0 12px;font-size:20px;font-weight:800}.dsd-h3{color:#0f172a;margin:22px 0 10px;font-size:15px;font-weight:750}.dsd-p{color:#334155;white-space:pre-wrap;max-width:72ch;margin:0 0 14px;font-size:14.5px;line-height:1.75}.dsd-principles,.dsd-features{color:#334155;max-width:72ch;margin:0 0 14px;padding-left:1.25em;font-size:14.5px;line-height:1.75}.dsd-principles li,.dsd-features li{margin-bottom:8px;padding-left:2px}.dsd-muted{color:#64748b;font-size:12.5px;line-height:1.6}.dsd-source{color:#94a3b8;margin:16px 0 0;font-size:12px;line-height:1.5}.dsd-files{margin:0;padding-left:1.1em;font-size:13px;line-height:1.85}.dsd-files a{color:#047857;word-break:break-all}.dsd-side{flex-direction:column;gap:10px;display:flex;position:sticky;top:72px}.dsd-cta{background:#fff radial-gradient(circle,#cbd5e1 .7px,#0000 .8px) 0 0/14px 14px;border:1px solid #e2e8f0;border-radius:16px;padding:18px 16px 16px;box-shadow:0 4px 18px #0f172a0d}.dsd-cta-visual{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;justify-content:center;align-items:center;height:56px;margin:0 0 14px;display:flex}.dsd-cta-visual span{color:#fff;background:#0f172a;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;font-size:17px;font-weight:800;display:flex;box-shadow:0 4px 12px #0f172a2e}.dsd-cta-label{color:#0f172a;letter-spacing:-.01em;margin:0 0 10px;font-size:14px;font-weight:750;line-height:1.5}.dsd-cta-cmd{color:#64748b;word-break:break-all;background:0 0;border:none;border-radius:0;margin-bottom:14px;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.5;display:block}.dsd-cta-btn{cursor:pointer;color:#0f172a;width:100%;box-shadow:none;background:#fff;border:1.5px solid #0f172a;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:12px 14px;font-size:14px;font-weight:750;display:inline-flex}.dsd-cta-btn:hover{color:#fff;background:#0f172a}.dsd-cta-btn:active{transform:translateY(1px)}.dsd-cta-stack{flex-direction:column;gap:8px;margin-top:12px;display:flex}.dsd-cta-sec{color:#0f172a;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;align-items:center;gap:10px;margin-top:0;padding:11px 14px;font-size:13px;font-weight:650;text-decoration:none;display:flex}.dsd-cta-sec:hover{background:#fff;border-color:#cbd5e1}.dsd-cta-sec svg{color:#64748b;flex:none}.dsd-side-note{color:#94a3b8;margin:2px 6px 0;font-size:11px;line-height:1.55}@media (max-width:960px){.dsd-layout{grid-template-columns:1fr;gap:16px}.dsd-side{order:-1;position:static}.dsd-head{gap:12px;padding:0 0 14px}.dsd-icon{border-radius:12px;width:52px;height:52px;font-size:22px}.dsd-title{font-size:22px}.dsd-body{padding:16px 0 8px}.dsd-tabs{padding:0}}
