/* The public header belongs to the top of the document and must not follow scrolling. */
.site-header{position:relative!important;top:auto!important}
.site-header nav a:hover,.site-header nav a:focus-visible{background:var(--nav-hover)!important;color:var(--nav-hover-text)!important}
.section-more{background:var(--more-button)!important;color:var(--more-button-text)!important}
.section-more{min-height:48px;display:flex!important;align-items:center;justify-content:center;padding:10px 12px!important;font-size:14px!important;font-weight:400!important;line-height:1.25!important}
.load-more-button{width:calc(100% + 20px);border:0;cursor:pointer;font:inherit}.load-more-button:disabled{cursor:default;opacity:.78}
.home-copy{padding:24px clamp(18px,4vw,48px)!important}.home-copy>h2{margin:-24px calc(clamp(18px,4vw,48px)*-1) 24px!important;padding:18px 20px!important;text-align:center!important;font-size:clamp(23px,3vw,34px)!important;line-height:1.25!important}.home-copy-content{font-size:clamp(15px,1.25vw,18px)!important;line-height:1.85!important;color:var(--text)!important}.home-copy-content p{margin:0 0 1.1em}.home-copy-content h2,.home-copy-content h3{line-height:1.3;color:var(--heading)}.home-copy-content img{max-width:100%;height:auto}
.home-copy,.home-copy>h2,.home-copy-content,.home-copy-content *{font-family:var(--site-font,system-ui,-apple-system,"Segoe UI",sans-serif)!important}
.simple-footer{min-height:0!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:31px 20px 21px!important;background:var(--footer,#087fba)!important;color:var(--footer-text,#fff)!important;text-align:center!important}
.simple-footer p{width:100%;margin:5px 0 0!important;color:inherit!important;text-align:center!important}
.simple-footer a{color:inherit!important}
.sticky-socials{position:fixed;right:16px;top:50%;z-index:55;display:grid;gap:8px;transform:translateY(-50%)}
.sticky-socials a{display:grid;place-items:center;width:46px;height:46px;border:2px solid #fff;border-radius:15px;background:var(--social-color);color:#fff;box-shadow:0 8px 24px #0003;transition:transform .18s ease,filter .18s ease}
.sticky-socials a:hover{transform:translateX(-5px) scale(1.07);filter:brightness(1.08)}
.sticky-socials span,.sticky-socials svg{display:block;width:22px;height:22px}.sticky-socials svg{fill:currentColor}
@media(max-width:700px){body{padding-bottom:66px}.sticky-socials{left:50%;right:auto;top:auto;bottom:9px;display:flex;align-items:center;justify-content:center;gap:5px;max-width:calc(100vw - 20px);padding:6px 7px;border:1px solid #fff9;border-radius:18px;background:#fffdf2;box-shadow:0 8px 30px #0004;transform:translateX(-50%)}.sticky-socials a{flex:0 0 38px;width:38px;height:38px;border-radius:12px;border-width:1px;box-shadow:none}.sticky-socials a:hover{transform:translateY(-2px) scale(1.04)}.sticky-socials span,.sticky-socials svg{width:19px;height:19px}}
.nav-toggle{color:var(--mobile-menu,#315f7d)!important}
.site-header .logo{order:0}.site-header nav{order:1}.theme-toggle{order:2;display:grid;place-items:center;width:34px;height:34px;margin-left:8px;padding:0;border:1px solid color-mix(in srgb,var(--header-text) 35%,transparent);border-radius:50%;background:color-mix(in srgb,var(--header-text) 10%,transparent);color:var(--header-text);font-size:18px;line-height:1;cursor:pointer;transition:.2s}.theme-toggle:hover{background:var(--nav-hover);color:var(--nav-hover-text);transform:translateY(-1px)}.nav-toggle{order:3}.theme-toggle .theme-sun{display:none}html.theme-dark .theme-toggle .theme-moon{display:none}html.theme-dark .theme-toggle .theme-sun{display:block}
.site-header nav a,.drawer-nav a{display:flex;align-items:center;gap:8px}.menu-icon{display:block;width:var(--menu-icon-width,17px)!important;height:var(--menu-icon-height,17px)!important;min-width:var(--menu-icon-width,17px);object-fit:contain;border-radius:0;background:transparent}.menu-icon-text{display:inline-grid;place-items:center;width:var(--menu-icon-width,17px);height:var(--menu-icon-height,17px);min-width:var(--menu-icon-width,17px);line-height:1}
html.theme-dark{color-scheme:dark;--bg:#10151b!important;--card:#171e26!important;--text:var(--dark-text,#fff)!important;--muted:color-mix(in srgb,var(--dark-text,#fff) 72%,transparent)!important;--border:#303a45!important;--heading:var(--dark-text,#fff)!important}html.theme-dark body{background:var(--bg);color:var(--text)}html.theme-dark input,html.theme-dark textarea,html.theme-dark select{color-scheme:dark}body,.directory-box,.directory-title,.app-grid,.content-card,.stat-grid div{transition:background-color .2s ease,color .2s ease,border-color .2s ease}
html.theme-dark .directory-wrap,html.theme-dark .post-wrap,html.theme-dark .page-content,html.theme-dark .recent-section,html.theme-dark .content-card,html.theme-dark .home-copy-content{color:var(--dark-text,#fff)!important}html.theme-dark h1,html.theme-dark h2,html.theme-dark h3,html.theme-dark h4,html.theme-dark h5,html.theme-dark h6,html.theme-dark .app-body h3,html.theme-dark .directory-title{color:var(--dark-text,#fff)!important}html.theme-dark p,html.theme-dark .prose,html.theme-dark .home-copy-content p,html.theme-dark .app-body p,html.theme-dark .crumb,html.theme-dark td,html.theme-dark th{color:var(--dark-text,#fff)!important}html.theme-dark .rating,html.theme-dark .rating small{color:var(--star)!important}html.theme-dark .section-more{color:var(--more-button-text)!important}html.theme-dark .download-btn{color:var(--download-text)!important}
html.theme-dark .prose li,html.theme-dark .prose strong,html.theme-dark .prose b,html.theme-dark .home-copy-content li,html.theme-dark .home-copy-content strong,html.theme-dark .page-content li{color:var(--dark-text,#fff)!important}html.theme-dark .prose a,html.theme-dark .home-copy-content a,html.theme-dark .page-content a{color:var(--primary)!important}
html.theme-dark .home-copy-content *:not(a),html.theme-dark .prose *:not(a),html.theme-dark .page-content *:not(a){color:var(--dark-text,#fff)!important}html.theme-dark .home-copy-content a,html.theme-dark .prose a,html.theme-dark .page-content a{color:var(--primary)!important}
html.theme-dark .home-copy-content,html.theme-dark .home-copy-content *:not(a){color:#fff!important;-webkit-text-fill-color:#fff!important}html.theme-dark .home-copy-content a{color:var(--primary)!important;-webkit-text-fill-color:var(--primary)!important}html.theme-dark .prose,html.theme-dark .prose *:not(a),html.theme-dark .page-content,html.theme-dark .page-content *:not(a){color:var(--dark-text,#fff)!important;-webkit-text-fill-color:var(--dark-text,#fff)!important}html.theme-dark .prose a,html.theme-dark .page-content a{color:var(--primary)!important;-webkit-text-fill-color:var(--primary)!important}
@media(max-width:900px){.theme-toggle{margin-left:auto;margin-right:5px;width:31px;height:31px;font-size:16px}.nav-toggle{margin-left:0}}
.directory-box>.section-more,.directory-box>.load-more-button{font-family:inherit!important;font-size:16px!important;font-weight:400!important;line-height:20px!important}

/* PageSpeed accessibility: one generous tap target per app card. */
.app-card-link{display:block;color:inherit;min-width:0}
.app-card-link:focus-visible{outline:3px solid var(--primary);outline-offset:3px;border-radius:12px}

/* Keep user-selected colors, while adding enough darkness for readable light-mode controls. */
.intro-box form.search>button,.intro-box form.search>button:hover,.intro-box form.search>button:focus-visible{background:var(--search-button,#087fba)!important;color:var(--search-button-text,#fff)!important}
html.theme-dark .intro-box form.search>input{color:var(--dark-search-text,#222)!important;-webkit-text-fill-color:var(--dark-search-text,#222)!important}
html.theme-dark .intro-box form.search>input::placeholder{color:var(--dark-search-placeholder,#8a939d)!important;-webkit-text-fill-color:var(--dark-search-placeholder,#8a939d)!important;opacity:1}
html:not(.theme-dark) .category-pills a{color:color-mix(in srgb,var(--muted) 62%,#000 38%)!important}
html:not(.theme-dark) .category-pills a.active,html:not(.theme-dark) .category-pills a:hover,html:not(.theme-dark) .category-pills a:focus-visible{color:color-mix(in srgb,var(--primary) 70%,#000 30%)!important;border-color:currentColor!important}
html:not(.theme-dark) .app-body p{color:color-mix(in srgb,var(--muted) 62%,#000 38%)!important}
html:not(.theme-dark) .section-more{background:var(--more-button)!important;color:var(--more-button-text)!important}

@media(max-width:700px){.category-pills a{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px!important}.app-card-link{min-height:44px}}

/* Small, simple circular Back to Top button. */
.to-top{right:20px!important;bottom:20px!important;display:none;width:42px!important;height:42px!important;padding:0!important;border:1px solid var(--back-top-border,#79c8e5)!important;border-radius:50%!important;background:var(--back-top-bg,#fff)!important;color:var(--back-top-arrow,#0799d1)!important;box-shadow:0 4px 12px #13223820!important;font-size:0!important;line-height:1!important;cursor:pointer;z-index:60;transition:transform .16s ease,border-color .16s ease,background-color .16s ease,color .16s ease}
.to-top::before{content:"";position:absolute;left:50%;top:15px;width:10px;height:10px;border-top:2px solid currentColor;border-left:2px solid currentColor;transform:translateX(-50%) rotate(45deg)}
.to-top:hover{transform:translateY(-2px);background:var(--back-top-hover-bg,#0799d1)!important;color:var(--back-top-hover-arrow,#fff)!important}
.to-top:active{transform:scale(.95)}
.to-top:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 30%,transparent);outline-offset:3px}
html.theme-dark .to-top{border-color:var(--back-top-border,#79c8e5)!important;background:var(--back-top-bg,#fff)!important;color:var(--back-top-arrow,#0799d1)!important;box-shadow:0 4px 14px #0005!important}
html.theme-dark .to-top:hover{background:var(--back-top-hover-bg,#0799d1)!important;color:var(--back-top-hover-arrow,#fff)!important}
@media(max-width:700px){.to-top{right:12px!important;bottom:76px!important;width:40px!important;height:40px!important}.to-top::before{top:14px}}

/* Accurate fractional rating stars, including values such as 4.4 and 4.6. */
.rating{justify-content:center!important;align-items:center;gap:6px;width:100%;line-height:1;background:transparent!important;text-align:center}
.rating-stars{position:relative;display:inline-block;flex:0 0 5.35em;width:5.35em;height:1.2em;overflow:hidden;background:transparent!important;color:transparent;font-style:normal;line-height:1.2;letter-spacing:.07em;vertical-align:middle}
.rating-stars::before{content:none!important}
.rating-stars::after{content:"★★★★★";position:absolute;inset:0 auto 0 0;width:var(--rating-percent,0%);overflow:hidden;background:transparent!important;color:var(--star,#ffd500);white-space:nowrap}

/* Preserve rich-editor formatting on posts, pages, categories and homepage content. */
.prose:after,.home-copy-content:after,.page-content:after,.category-content:after{content:"";display:block;clear:both}
.prose img,.home-copy-content img,.page-content img,.category-content img{max-width:100%;height:auto}
.prose img.alignleft,.prose img[data-align="left"],.home-copy-content img.alignleft,.home-copy-content img[data-align="left"],.page-content img.alignleft,.page-content img[data-align="left"],.category-content img.alignleft,.category-content img[data-align="left"]{display:block;float:left;margin:12px 20px 12px 0}.prose img.aligncenter,.prose img[data-align="center"],.home-copy-content img.aligncenter,.home-copy-content img[data-align="center"],.page-content img.aligncenter,.page-content img[data-align="center"],.category-content img.aligncenter,.category-content img[data-align="center"]{display:block;float:none;margin:12px auto}.prose img.alignright,.prose img[data-align="right"],.home-copy-content img.alignright,.home-copy-content img[data-align="right"],.page-content img.alignright,.page-content img[data-align="right"],.category-content img.alignright,.category-content img[data-align="right"]{display:block;float:right;margin:12px 0 12px 20px}
.prose .has-text-align-left,.home-copy-content .has-text-align-left,.page-content .has-text-align-left,.category-content .has-text-align-left{text-align:left!important}.prose .has-text-align-center,.home-copy-content .has-text-align-center,.page-content .has-text-align-center,.category-content .has-text-align-center{text-align:center!important}.prose .has-text-align-right,.home-copy-content .has-text-align-right,.page-content .has-text-align-right,.category-content .has-text-align-right{text-align:right!important}.prose .has-text-align-justify,.home-copy-content .has-text-align-justify,.page-content .has-text-align-justify,.category-content .has-text-align-justify{text-align:justify!important}
.prose table,.home-copy-content table,.page-content table,.category-content table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}
.prose th,.prose td,.home-copy-content th,.home-copy-content td,.page-content th,.page-content td,.category-content th,.category-content td{padding:8px;border:1px solid var(--border)}
