:root{--th-primary:#f0a22e;--th-primary-hover:#d98e1a;--th-primary-tint:#fdf3e0;--th-link:#c98a14;--th-link-hover:#a66f0b;--th-text:#1f2329;--th-text-2:#5a6069;--th-text-3:#8a9099;--th-border:#e4e7eb;--th-divider:#f0f2f5;--th-bg:#fff;--th-bg-alt:#f7f8fa;--th-success:#2e9e5b;--th-warning:#e07b39;--th-danger:#d64545;--th-info:#3b7bd9;--th-hot:#e07b39;--th-cloud-tint:#eef4fc;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-6:24px;--sp-8:32px;--sp-12:48px;--r-sm:6px;--r:10px;--r-lg:14px;--r-pill:999px;--sh:0 1px 3px rgba(31,35,41,.06);--sh-hover:0 2px 8px rgba(31,35,41,.06);--maxw:1200px;--header-h:64px;--font:"Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,-apple-system,sans-serif;--font-mono:"SFMono-Regular","JetBrains Mono",ui-monospace,Menlo,Consolas,monospace}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font);font-size:15px;line-height:1.7;color:var(--th-text);background:var(--th-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}button{font-family:inherit;cursor:pointer}ol,ul{margin:0;padding:0;list-style:none}mark{background:var(--th-primary-tint);color:var(--th-link);padding:0 2px;border-radius:3px}:focus-visible{outline:2px solid var(--th-primary);outline-offset:2px}h1,h2,h3{margin:0;line-height:1.3;color:var(--th-text)}h1{font-size:28px;font-weight:900}h2{font-size:22px}h2,h3{font-weight:700}h3{font-size:17px}.text-2{color:var(--th-text-2)}.text-3{color:var(--th-text-3)}.mono{font-family:var(--font-mono);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.small{font-size:13px}.container{max-width:var(--maxw);margin:0 auto;padding:0 24px;width:100%}.page{min-height:calc(100vh - var(--header-h))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.card{background:var(--th-bg);border:1px solid var(--th-border);border-radius:var(--r);box-shadow:var(--sh)}.card-hover{transition:border-color .15s ease,box-shadow .15s ease}.card-hover:hover{border-color:var(--th-primary);box-shadow:var(--sh-hover)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:700;font-size:15px;border-radius:var(--r);border:none;transition:background .15s ease,border-color .15s ease,color .15s ease}.btn-primary{height:46px;padding:0 20px;background:var(--th-primary);color:var(--th-text)}.btn-primary:hover{background:var(--th-primary-hover)}.btn-ghost{height:44px;padding:0 18px;background:var(--th-bg);border:1.5px solid var(--th-border);color:var(--th-text);font-weight:500}.btn-ghost:hover{border-color:var(--th-primary);color:var(--th-link)}.chip{display:inline-flex;align-items:center;gap:4px;height:30px;padding:0 14px;background:var(--th-bg-alt);border:1px solid transparent;border-radius:var(--r-pill);font-size:13px;color:var(--th-text-2);transition:all .15s ease}.chip:hover{border-color:var(--th-primary);background:var(--th-primary-tint);color:var(--th-link)}.chip.is-active{background:var(--th-text);color:#fff}.tag{display:inline-flex;align-items:center;height:20px;padding:0 8px;background:var(--th-primary-tint);color:var(--th-link);border-radius:var(--r-sm);font-size:12px;font-weight:500}.tag-cloud{background:var(--th-cloud-tint);color:var(--th-info)}.tag-hot{color:var(--th-hot);font-weight:700}.searchbox{display:flex;align-items:center;background:var(--th-bg);border:2px solid var(--th-border);border-radius:var(--r-pill);transition:border-color .15s ease;overflow:hidden}.searchbox:focus-within,.searchbox:hover{border-color:var(--th-primary)}.searchbox input{flex:1 1;min-width:0;border:none;outline:none;background:transparent;font-size:15px;color:var(--th-text);padding:0 18px}.searchbox input::placeholder{color:var(--th-text-3)}.footer{background:var(--th-bg-alt);border-top:1px solid var(--th-border);font-size:13px;color:var(--th-text-3)}@keyframes hnl-pulse{0%,to{opacity:1}50%{opacity:.5}}.skeleton{background:var(--th-bg-alt);border-radius:var(--r-sm);animation:hnl-pulse 1.4s ease-in-out infinite}@keyframes hnl-spin{to{transform:rotate(1turn)}}.spinner{width:32px;height:32px;border:2.5px solid var(--th-divider);border-top-color:var(--th-primary);border-radius:50%;animation:hnl-spin .8s linear infinite}@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}@media (max-width:768px){h1{font-size:24px}h2{font-size:19px}.container{padding:0 16px}.hide-mobile{display:none!important}}@media (min-width:769px){.only-mobile{display:none!important}}.has-mobile-tabbar{padding-bottom:0}@media (max-width:768px){.has-mobile-tabbar{padding-bottom:64px}}.navbar{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:var(--th-bg);border-bottom:1px solid var(--th-border)}.navbar-inner{min-height:var(--header-h);display:flex;align-items:center;gap:24px}.navbar-search{flex:1 1;display:flex;justify-content:center}.navbar-nav{display:flex;align-items:center;gap:4px;margin-left:auto}.navbar-link{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:var(--r-sm);font-size:14px;color:var(--th-text-2);font-weight:500}.navbar-link:hover{background:var(--th-bg-alt)}.navbar-link.is-active,.navbar-link:hover{color:var(--th-link)}.hero{text-align:center;padding:96px 24px 72px}.hero-logo{display:flex;justify-content:center;margin-bottom:14px}.hero-slogan{font-size:15px;color:var(--th-text-3);margin:8px 0 32px}.hero-search,.hotwords{display:flex;justify-content:center}.hotwords{flex-wrap:wrap;gap:8px;align-items:center;margin-top:20px}.hotwords-label{color:var(--th-text-3);font-size:13px}@media (max-width:768px){.hero{padding:48px 16px 40px}}.type-grid{display:grid;grid-template-columns:repeat(8,1fr);grid-gap:14px;gap:14px}.type-cell{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 8px;border:1px solid var(--th-border);border-radius:var(--r);background:var(--th-bg);transition:all .15s ease}.type-cell:hover{border-color:var(--th-primary);background:var(--th-primary-tint)}.type-cell-name{font-size:14px;font-weight:500;color:var(--th-text)}.type-cell-count{font-size:12px;color:var(--th-text-3)}@media (max-width:768px){.type-grid{grid-template-columns:repeat(4,1fr);gap:10px}}.result-card{display:block;padding:16px 20px}.result-title{font-size:16px;font-weight:700;line-height:1.5;color:var(--th-text)}.result-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:10px;font-size:13px;color:var(--th-text-2)}.result-meta-item{display:inline-flex;align-items:center;gap:4px}.result-meta-item svg{color:var(--th-text-3)}.result-getmagnet{margin-left:auto;display:inline-flex;align-items:center;gap:4px;color:var(--th-link);font-weight:500}@media (max-width:768px){.result-getmagnet{margin-left:0}}.latest-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}@media (max-width:768px){.latest-grid{grid-template-columns:1fr}}.section-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 16px}.sortctl{display:inline-flex;background:var(--th-bg-alt);border-radius:var(--r-sm);padding:3px;gap:2px}.sort-btn{border:none;background:transparent;font-size:13px;color:var(--th-text-2);padding:6px 14px;border-radius:5px}.sort-btn.is-active{background:var(--th-text);color:#fff}.pagination{display:flex;gap:6px;justify-content:center;margin-top:24px;flex-wrap:wrap}.page-btn{min-width:36px;height:36px;padding:0 8px;border:1px solid var(--th-border);background:var(--th-bg);border-radius:var(--r-sm);font-size:14px;color:var(--th-text-2)}.page-btn.is-active,.page-btn:hover:not(:disabled){border-color:var(--th-primary)}.page-btn.is-active{background:var(--th-primary);color:var(--th-text);font-weight:700}.page-btn:disabled{opacity:.4;cursor:default}.page-ellipsis{min-width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--th-text-3)}.results-layout{display:flex;gap:24px;align-items:flex-start;padding:24px 0}.results-main{flex:1 1;min-width:0}.results-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}.results-list{gap:12px}.filter-sidebar,.results-list{display:flex;flex-direction:column}.filter-sidebar{gap:16px;width:200px;flex:none}.filter-card{padding:16px}.filter-card-title{font-size:13px;font-weight:700;color:var(--th-text);margin-bottom:10px}.filter-options{display:flex;flex-direction:column;gap:4px}.filter-opt{display:flex;align-items:center;justify-content:space-between;border:none;background:transparent;text-align:left;font-size:14px;color:var(--th-text-2);padding:7px 10px;border-radius:var(--r-sm);width:100%}.filter-opt:hover{background:var(--th-bg-alt)}.filter-opt.is-active{background:var(--th-primary-tint);color:var(--th-link);font-weight:700}.filter-count{font-size:12px;color:var(--th-text-3)}@media (max-width:900px){.results-desktop-sidebar{display:none}}.filter-toggle{display:none}@media (max-width:900px){.filter-toggle{display:inline-flex}}.filter-sheet-backdrop{position:fixed;inset:0;background:rgba(31,35,41,.4);z-index:60}.filter-sheet{position:fixed;left:0;right:0;bottom:0;z-index:61;background:var(--th-bg);border-radius:14px 14px 0 0;max-height:82vh;overflow:auto;padding:16px;box-shadow:0 -4px 20px rgba(31,35,41,.12)}.filter-sheet .filter-sidebar{width:100%}.detail-layout{display:flex;gap:24px;align-items:flex-start;padding:8px 0 24px}.detail-main{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:16px}.detail-side{width:320px;flex:none;display:flex;flex-direction:column;gap:16px}@media (max-width:900px){.detail-layout{flex-direction:column}.detail-side{width:100%}}.detail-actions{display:flex;flex-wrap:wrap;gap:10px}.detail-card{padding:20px}.info-kv{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--th-divider);font-size:14px}.info-kv:last-child{border-bottom:none}.info-kv .k{color:var(--th-text-3)}.info-kv .v{color:var(--th-text);font-weight:500;text-align:right}.detail-sticky-actions{position:fixed;left:0;right:0;bottom:64px;z-index:40;background:var(--th-bg);border-top:1px solid var(--th-border);padding:10px 16px;display:flex;gap:10px}@media (min-width:769px){.detail-sticky-actions{display:none}}.magnet-strip{display:flex;align-items:center;gap:8px;background:var(--th-bg-alt);border-radius:var(--r-sm);padding:10px 12px}.magnet-uri{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--th-text-2)}.magnet-uri.is-selectable{white-space:normal;word-break:break-all;-webkit-user-select:all;-moz-user-select:all;user-select:all}.magnet-copy-icon{border:none;background:transparent;color:var(--th-text-3);padding:4px;border-radius:4px;display:inline-flex;flex:none}.magnet-copy-icon:hover{color:var(--th-link);background:var(--th-bg)}.cloud-section{border-top:1px solid var(--th-divider);margin-top:16px;padding-top:16px}.cloud-section-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.cloud-section-head strong{font-size:15px}.cloud-links{display:flex;flex-wrap:wrap;gap:10px}.cloud-btn{display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 14px;border:1.5px solid var(--th-border);border-radius:var(--r-sm);font-size:14px;color:var(--th-text);background:var(--th-bg);transition:all .15s ease}.cloud-btn:hover{border-color:var(--th-primary);color:var(--th-link)}.cloud-dot{width:8px;height:8px;border-radius:50%;flex:none}.cloud-verified{font-size:12px;color:var(--th-success)}.cloud-code{font-size:12px;color:var(--th-text-3)}.file-list{border:1px solid var(--th-border);border-radius:var(--r-sm);overflow:hidden}.file-row{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--th-divider)}.file-row:last-child{border-bottom:none}.file-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.file-size{color:var(--th-text-3);flex:none}.file-expand{width:100%;border:none;background:var(--th-bg-alt);color:var(--th-link);font-size:13px;padding:10px;display:inline-flex;align-items:center;justify-content:center;gap:4px}.file-expand:hover{background:var(--th-primary-tint)}.rank-list{display:flex;flex-direction:column;gap:8px}.rank-row{gap:14px;padding:14px 16px}.rank-num,.rank-row{display:flex;align-items:center}.rank-num{flex:none;width:32px;height:32px;justify-content:center;border-radius:var(--r-sm);font-weight:700;font-size:15px}.rank-num.rank-1{background:var(--th-primary);color:var(--th-text)}.rank-num.rank-top{background:var(--th-border);color:var(--th-text-2)}.rank-num.rank-rest{background:var(--th-bg-alt);color:var(--th-text-3)}.rank-main{flex:1 1;min-width:0}.rank-title{font-size:15px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-heat{align-items:center;gap:4px}.rank-delta,.rank-heat{flex:none;display:inline-flex}.fav-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1.5px solid var(--th-border);background:var(--th-bg);border-radius:var(--r-sm);color:var(--th-text-2);height:44px;min-width:44px;padding:0 12px;font-weight:500}.fav-btn.is-active,.fav-btn:hover{border-color:var(--th-primary);color:var(--th-link)}.breadcrumb{display:flex;align-items:center;gap:6px;font-size:13px;margin-bottom:16px}.footer-cols{display:grid;grid-template-columns:2fr 1fr 1fr;grid-gap:32px;gap:32px}.footer-col-title{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--th-text-3);margin-bottom:10px}.footer-links{display:flex;flex-direction:column;gap:8px}.footer-links a{color:var(--th-text-2)}.footer-links a:hover{color:var(--th-link)}.footer-bottom{margin-top:24px;padding-top:16px;border-top:1px solid var(--th-border);color:var(--th-text-3)}@media (max-width:768px){.footer-cols{grid-template-columns:1fr 1fr}.footer-cols>:first-child{grid-column:1/-1}}.mobile-tabbar{position:fixed;bottom:0;left:0;right:0;z-index:50;height:64px;background:var(--th-bg);border-top:1px solid var(--th-border);display:flex}.tabbar-item{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px;color:var(--th-text-3);min-height:44px}.tabbar-item.is-active{color:var(--th-primary)}.stack{display:flex;flex-direction:column}.section{padding:32px 0}