/* PHPDownload 1.0 — theme-first directory, no remote fonts or layout-driven menu. */
html{scrollbar-gutter:stable;scroll-padding-top:98px}body:not(.admin-body){--ink:#18181b;--muted:#68686f;--line:#e7e7eb;--red:#252529;background:#fff;color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.6}.container{max-width:1480px;width:calc(100% - 64px)}.site-header{border-bottom:1px solid var(--line);background:#fff;box-shadow:none;z-index:60}.header-inner{max-width:1480px;min-height:76px;width:calc(100% - 64px);gap:30px}.brand{font-size:26px;letter-spacing:-1px;white-space:nowrap}.brand span{color:#18181b}.main-nav{gap:23px;min-width:0}.main-nav a{font-size:14px;white-space:nowrap}.header-actions{gap:14px;flex-shrink:0}.submit-link{font-size:13px}.header-actions .register-link{padding:8px 12px}.main-content{padding-top:0}.theme-hero{display:flex;justify-content:space-between;gap:42px;align-items:center;padding:35px 0 28px}.theme-hero>div{max-width:670px}.theme-hero h1{font-size:clamp(28px,2.8vw,40px);line-height:1.23;letter-spacing:-1px;margin:10px 0 12px}.theme-hero p{font-size:16px;color:var(--muted);max-width:660px;margin:0}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.12em;color:#71717a}.theme-search{width:400px;max-width:100%;display:flex;align-items:center;gap:10px;border:1px solid #d7d7de;border-radius:5px;padding:6px 6px 6px 14px;flex-shrink:0}.theme-search input{border:0!important;box-shadow:none!important;min-width:0;padding:9px 0;width:100%;font-size:14px;background:transparent}.theme-search input:focus{outline:0}.theme-search .btn{min-height:40px;padding:8px 16px;flex-shrink:0}.theme-search:focus-within{outline:2px solid #71717a;outline-offset:2px}.platform-nav{display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid #f0f0f3;border-bottom:1px solid var(--line);padding:16px 0}.platform-nav a{padding:8px 16px;background:#f6f6f8;border-radius:4px;white-space:nowrap;line-height:1.4;font-size:13px;font-weight:600}.platform-nav a:hover{background:#ededf1;color:#111}.themes-section{margin-top:32px;margin-bottom:0}.section-heading{align-items:end;gap:18px;margin-bottom:18px}.section-heading h2{font-size:24px;line-height:1.3;letter-spacing:-.5px;margin:6px 0 0}.section-heading p{font-size:14px;margin-top:8px}.section-heading .read-link{font-size:13px;flex-shrink:0}.section-count{font-size:12px;vertical-align:middle;letter-spacing:0;background:#f1f1f4;color:#666;padding:3px 8px;border-radius:3px;margin-left:6px}.theme-grid{display:grid;gap:20px;grid-template-columns:repeat(5,minmax(0,1fr))}.theme-card{min-width:0;border:1px solid var(--line);border-radius:5px;overflow:hidden;background:white;display:flex;flex-direction:column;transition:box-shadow .16s,border-color .16s}.theme-card:hover{box-shadow:0 7px 20px #18181b0b;border-color:#c4c4cb}.theme-preview{display:block;position:relative;aspect-ratio:8/5;overflow:hidden;background:#f5f5f7;color:#252529;isolation:isolate}.theme-preview>img{width:100%;height:100%;object-fit:cover;object-position:center top;position:absolute;inset:0;z-index:1}.theme-preview img[hidden]{display:none}.preview-fallback{display:flex;position:absolute;inset:0;justify-content:center;align-items:center;flex-direction:column;padding:24px;text-align:center;gap:10px}.preview-fallback strong{font-size:23px;font-weight:650;line-height:1.2;overflow-wrap:anywhere}.preview-fallback small{font-size:10px;color:#777}.platform-badge{position:absolute;bottom:8px;left:8px;background:#fff;box-shadow:0 1px 5px #0001;padding:3px 7px;border-radius:3px;font-size:10px;line-height:1.4;font-weight:600;z-index:2}.theme-card-content{padding:12px 14px;display:flex;flex-direction:column;flex:1}.theme-title-row{display:flex;align-items:start;justify-content:space-between;gap:5px}.theme-title-row h3{font-size:16px;line-height:1.35;margin:2px 0 8px;letter-spacing:-.2px}.theme-title-row .icon-btn{height:28px;width:28px;min-height:28px;min-width:28px;flex-shrink:0;padding:5px;margin:-1px -4px 0 0}.theme-title-row .i{height:17px;width:17px}.theme-card-content>p{font-size:12px;line-height:1.65;color:#68686f;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 12px;min-height:3.3em}.theme-card-bottom{border-top:1px solid #efeff2;display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:9px;font-size:11px}.theme-card-bottom .text-btn{font-size:11px;white-space:nowrap;padding:2px 0}.theme-card-bottom>span{min-width:0;line-height:1.4}.is-marketplace .theme-preview{aspect-ratio:2.7/1;background:#f7f7f9}.is-marketplace .platform-badge{display:none}.is-marketplace .preview-fallback{padding:12px;gap:3px}.is-marketplace .preview-fallback strong{font-size:20px}.marketplace-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.community-banner{margin-top:42px;background:#f6f6f8;border:1px solid var(--line);padding:28px 32px;color:var(--ink);border-radius:5px}.community-banner h2{font-size:24px;line-height:1.3}.community-banner p{font-size:14px}.article-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.article-card .article-cover{aspect-ratio:2/1;height:auto}.article-card h3{font-size:18px;line-height:1.5}.article-card p{font-size:13px}.article-card-body{padding:16px}.site-footer{margin-top:52px;background:#f8f8fa;padding-top:36px}.footer-grid{gap:40px}.footer-grid p,.footer-grid a:not(.brand){font-size:13px}.footer-bottom{font-size:11px;gap:16px}.directory-layout{grid-template-columns:230px minmax(0,1fr);gap:28px}.directory-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.filter-sidebar{position:static}.page-heading{padding:34px 0 24px}.page-heading h1{font-size:32px}.theme-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.theme-specs>div{padding:14px 0;border-bottom:1px solid var(--line)}.theme-specs dt{font-size:12px;color:var(--muted);margin-bottom:5px}.theme-specs dd{margin:0;font-size:14px}.theme-detail-preview{margin:0 0 24px;background:#f7f7f9}.theme-detail-preview img{width:100%;height:auto;display:block;max-height:600px;object-fit:contain;object-position:top}.image-credit{padding:10px;font-size:11px;color:#777}.detail-side{position:static}.site-hero{padding:26px 0;gap:26px}.site-hero h1{font-size:34px}.theme-specs+p:empty{display:none}.rank-row{display:flex;align-items:center;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}.rank-number{font-size:30px;color:#a0a0a9}.rank-info{flex:1;min-width:0}.rank-info h3{margin:0}.rank-info p{font-size:14px;color:var(--muted)}.rank-actions{display:flex;flex-direction:column;gap:10px}.rank-info .tiny{font-size:12px}
/* Fixed portal prevents header reflow, scrollbar shifts and transformed-ancestor jumps. */
.pd-language{width:151px;flex:0 0 151px}.pd-language-trigger{display:flex;align-items:center;gap:8px;width:100%;height:40px;background:#fff;border:1px solid #e1e1e6;border-radius:5px;padding:0 11px;color:#323239;font-family:inherit;font-size:12px;line-height:1;cursor:pointer;box-sizing:border-box}.pd-language-trigger>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.pd-language-trigger svg{flex-shrink:0}.pd-chevron{transition:transform .14s}.pd-language-trigger[aria-expanded=true] .pd-chevron{transform:rotate(180deg)}.pd-language-trigger:focus-visible{outline:2px solid #47474e;outline-offset:3px}.pd-language-panel{position:fixed;z-index:10000;box-sizing:border-box;background:#fff;border:1px solid #dedee5;border-radius:6px;box-shadow:0 14px 46px #14142024;padding:12px;overflow-y:auto;overscroll-behavior:contain;contain:layout;transition:none;line-height:1.4}.pd-language-panel[hidden]{display:none!important}.pd-language-heading{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#777;font-weight:650;padding:4px 8px 10px}.pd-language-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.pd-language-links a{display:flex;align-items:center;justify-content:space-between;gap:5px;min-height:42px;border:1px solid transparent;border-radius:4px;padding:9px 10px;font-size:13px;color:#333;white-space:nowrap}.pd-language-links a:hover,.pd-language-links a:focus-visible{background:#f5f5f8;border-color:#e2e2e8;outline:none}.pd-language-links a[aria-current=true]{background:#eeeef3;color:#17171b;font-weight:600}.pd-check{width:15px;flex-shrink:0;font-size:13px}.theme-card :focus-visible{outline:2px solid #4c4c56;outline-offset:-2px}
@media(min-width:1600px){.container,.header-inner{max-width:1600px}.home-theme-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:1250px){.header-inner{gap:22px}.header-actions .submit-link{display:none}.main-nav{gap:16px}.theme-search{width:330px}.theme-grid{gap:16px;grid-template-columns:repeat(4,minmax(0,1fr))}.directory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.theme-hero{gap:28px}.theme-hero h1{font-size:32px}}
@media(max-width:1000px){.header-inner{width:calc(100% - 40px);gap:16px}.container{width:calc(100% - 40px)}.main-nav{gap:12px}.main-nav a{font-size:12px}.header-actions{gap:9px}.header-actions .register-link,.header-actions .login-link{display:none}.theme-hero{display:block}.theme-hero>div{max-width:100%}.theme-search{width:100%;margin-top:20px}.theme-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.theme-specs{grid-template-columns:1fr}.community-banner{gap:20px}.footer-grid{gap:25px}}
@media(max-width:760px){.header-inner{min-height:68px;width:calc(100% - 32px)}.container{width:calc(100% - 32px)}.brand{font-size:23px}.header-actions{gap:10px}.pd-language{width:135px;flex-basis:135px}.pd-language-trigger{height:38px;font-size:11px;padding:0 8px;gap:6px}.main-nav{top:68px}.theme-hero{padding:25px 0 20px}.theme-hero h1{font-size:29px;letter-spacing:-.7px;max-width:95%;margin:8px 0 10px}.theme-hero p{font-size:14px}.theme-search{margin-top:18px}.theme-search input{font-size:12px}.theme-search .btn{font-size:12px;padding:7px 12px;min-height:37px}.platform-nav{gap:7px;padding:13px 0}.platform-nav a{padding:7px 10px;font-size:11px}.themes-section{margin-top:26px}.section-heading{gap:12px;align-items:center;flex-direction:row!important}.section-heading h2{font-size:21px}.section-heading p{display:none}.section-heading .read-link{max-width:45%;font-size:11px;white-space:normal;text-align:right;line-height:1.4}.section-count{font-size:10px}.theme-grid,.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.theme-preview{aspect-ratio:1.45/1}.theme-card-content{padding:10px}.theme-title-row h3{font-size:14px;margin-top:0}.theme-title-row .icon-btn{width:24px;height:24px;min-width:24px;min-height:24px}.theme-card-content>p{font-size:11px;-webkit-line-clamp:2;min-height:3.3em;margin-bottom:8px}.theme-card-bottom{font-size:10px;gap:4px;padding-top:7px;flex-wrap:wrap}.theme-card-bottom .text-btn{font-size:10px}.platform-badge{font-size:9px;padding:2px 5px;left:6px;bottom:6px}.preview-fallback{padding:12px}.preview-fallback strong{font-size:18px}.preview-fallback small{font-size:9px}.is-marketplace .theme-preview{aspect-ratio:2/1}.is-marketplace .preview-fallback strong{font-size:17px}.article-grid{grid-template-columns:1fr;gap:18px}.article-card{display:grid;grid-template-columns:120px minmax(0,1fr)}.article-card .article-cover{height:100%;aspect-ratio:auto;min-height:170px}.article-card .article-cover img{height:100%;object-fit:cover}.article-card-body{padding:13px}.article-card-body h3{font-size:16px}.article-card-body p{font-size:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.article-card-body .eyebrow{font-size:9px}.article-card-body .read-link{font-size:12px}.community-banner{padding:22px 18px;display:block}.community-banner h2{font-size:23px}.community-banner .button-row{margin-top:16px}.community-banner .btn{font-size:12px;padding:10px}.directory-layout{display:block}.filter-sidebar{margin-bottom:22px}.results-heading{gap:10px;font-size:12px}.results-heading>span{font-size:10px}.page-heading h1{font-size:28px}.site-hero h1{font-size:28px}.rank-row{gap:12px;flex-wrap:wrap}.rank-row .tool-logo{display:none}.rank-actions{width:100%;flex-direction:row;margin-left:44px}.rank-number{font-size:24px}.rank-info p{font-size:12px}.site-footer{margin-top:32px}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{flex-wrap:wrap}.detail-main>.panel{padding:18px}.theme-specs dd{font-size:13px}}
@media(prefers-reduced-motion:reduce){.pd-chevron,.theme-card{transition:none}}
.theme-checklist{display:grid;gap:16px;margin-top:24px}.theme-checklist>label{display:flex;gap:12px;align-items:flex-start;line-height:1.65}.theme-checklist input{flex:none;width:18px;height:18px;margin-top:4px;accent-color:#171717}.tools-grid{align-items:start}.tool-output{margin-top:22px}.article-detail-layout .article-sidebar .sticky-panel{position:static}.article-figure{overflow:hidden}.theme-card[hidden]{display:none}
.themes-section{padding-top:0;padding-bottom:0}.main-nav .mobile-account-link{display:none}@media(max-width:760px){.main-nav .mobile-account-link{display:block}}.article-detail-cover[hidden]{display:none}.theme-detail-preview img[hidden]{display:none}

/* PHPDownload 1.1: a consistent five-column editorial grid, independent of theme cards. */
.article-grid,.article-grid.two{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px;align-items:stretch}
.article-grid>.article-card{display:flex;flex-direction:column;min-width:0;margin:0}
.article-grid .article-cover{display:block;width:100%;aspect-ratio:16/10;height:auto;min-height:0;overflow:hidden}
.article-grid .article-cover img{width:100%;height:100%;padding:0;object-fit:cover;display:block}
.article-grid .article-card-body{padding:18px 16px;flex:1;display:flex;flex-direction:column;gap:10px;min-width:0}
.article-grid .article-card h3{font-size:18px;line-height:1.5;margin:0;letter-spacing:-.15px;overflow-wrap:anywhere}
.article-grid .article-card p{font-size:14px;line-height:1.75;margin:0;color:#626262;overflow-wrap:anywhere}
.article-grid .article-card .read-link{margin-top:auto;padding-top:8px;font-size:13px}
.article-grid .article-card .tags{gap:6px;flex-wrap:wrap}
.article-grid .article-card .tags span{font-size:11px}
/* Read as one centered column. No invisible sidebar and no sticky publishing panels. */
.article-reading-shell{width:min(100%,920px);margin-inline:auto}
.article-reading-shell .article-detail-layout{display:block;grid-template-columns:none;gap:0;margin:0}
.article-reading-shell .article-detail{width:100%;max-width:none;margin:0;min-width:0}
.article-reading-shell .breadcrumbs{margin-top:30px;margin-bottom:24px;overflow-wrap:anywhere;flex-wrap:wrap}
.article-reading-shell .article-detail header h1{font-size:clamp(29px,3.2vw,43px);line-height:1.25;max-width:none;letter-spacing:-.6px;margin:18px 0}
.article-reading-shell .article-deck{font-size:18px;line-height:1.8;max-width:none}
.article-reading-shell .article-byline{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0 28px}
.article-reading-shell .article-figure{margin:26px 0}
.article-reading-shell .article-detail-cover{display:block;width:100%;height:auto;max-height:550px;object-fit:contain;padding:0;background:#f5f5f5}
.article-reading-shell .prose{font-size:17px;line-height:1.95;overflow-wrap:anywhere}
.article-reading-shell .prose img{max-width:100%;height:auto}
.article-reading-shell .prose table{display:block;max-width:100%;overflow-x:auto}
.article-reading-shell .prose pre{max-width:100%;overflow-x:auto;white-space:pre}
.article-toc-panel{border:1px solid #e4e4e4;background:#fafafa;padding:22px 26px;border-radius:4px;margin:28px 0}
.article-toc-panel h2{font-size:18px;margin:0 0 14px;line-height:1.4}
.article-toc-panel .article-toc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 32px;list-style:decimal;padding-left:22px;margin:0;font-size:14px;line-height:1.65}
.article-toc-panel .article-toc li{padding:0;margin:0;overflow-wrap:anywhere}
.article-toc-panel .article-toc a{border:0;padding:0;color:#434343;text-decoration:underline;text-underline-offset:4px}
.article-reading-shell .method-note{margin:28px 0;padding:22px 26px}
.article-reading-shell .method-note h2,.article-reading-shell .article-end h2{font-size:19px;line-height:1.4;margin:0 0 12px}
.article-reading-shell .method-note p{font-size:15px;line-height:1.85;margin:0}
.article-reading-shell .article-end{margin-top:38px;padding-top:28px;border-top:1px solid #e5e5e5}
.article-reading-shell .article-bottom-actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 48px}
.article-related-section,.article-reading-next{margin-top:38px}
@media(max-width:1199px){.article-grid,.article-grid.two{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}}
@media(max-width:959px){.article-grid,.article-grid.two{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}}
@media(max-width:719px){.article-grid,.article-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.article-reading-shell .article-deck{font-size:17px}.article-reading-shell .prose{font-size:16px;line-height:1.9}.article-toc-panel .article-toc{grid-template-columns:1fr}.article-reading-shell .breadcrumbs{font-size:13px}}
@media(max-width:519px){.article-grid,.article-grid.two{grid-template-columns:minmax(0,1fr);gap:22px}.article-grid .article-card-body{padding:20px}.article-grid .article-card h3{font-size:21px}.article-grid .article-card p{font-size:15px}.article-reading-shell .article-bottom-actions .btn{flex:1 1 145px}.article-toc-panel,.article-reading-shell .method-note{padding:20px}.article-reading-shell .article-detail header h1{font-size:29px}.article-reading-shell .article-byline{gap:8px 12px}}
@supports(scrollbar-gutter:stable both-edges){html{scrollbar-gutter:stable both-edges}}

/* Failed external previews must not retain a broken, full-height image box. */
img[data-theme-image][hidden]{display:none!important}
.article-figure.image-unavailable{display:none}

.article-grid .article-cover{background:#f4f5f6}
.article-grid .article-cover>.article-cover-fallback{position:absolute;inset:0;display:grid;place-items:center;color:#b7bcc2;background:transparent;padding:0}
.article-grid .article-cover>.article-cover-fallback svg{width:36px;height:36px;stroke-width:1.1}
.article-grid .article-cover>img{position:relative;z-index:1}
.article-grid .article-cover>.article-cover-label{z-index:2;max-width:calc(100% - 24px);font-size:11px;line-height:1.4;left:12px;bottom:12px;padding:5px 8px;white-space:normal}
