:root{
 --ink:#081522;
 --ink2:#11283b;
 --text:#304155;
 --muted:#738195;
 --soft:#f6f9fb;
 --line:#e5ebf0;
 --white:#fff;
 --cyan:#09b9bd;
 --teal:#0ca88f;
 --mint:#34d7bd;
 --violet:#7357e7;
 --danger:#bd434d;
 --shadow:0 18px 50px rgba(17,38,58,.08);
 --shadow2:0 8px 26px rgba(17,38,58,.07);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
 margin:0;
 color:var(--text);
 background:#fff;
 font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
 font-size:14px;
 line-height:1.65;
 -webkit-font-smoothing:antialiased;
 text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
::selection{color:#fff;background:var(--teal)}

.site-header{
 position:sticky;
 top:0;
 z-index:100;
 border-bottom:1px solid rgba(226,233,239,.85);
 background:rgba(255,255,255,.92);
 backdrop-filter:blur(18px);
}
.header-inner{
 width:min(1220px,calc(100% - 40px));
 min-height:72px;
 margin:auto;
 display:flex;
 align-items:center;
 gap:27px;
}
.brand{
 display:flex;
 align-items:center;
 gap:10px;
 margin-right:18px;
}
.brand-mark{
 display:grid;
 width:39px;
 height:39px;
 place-items:center;
 border-radius:13px;
 background:linear-gradient(145deg,var(--ink),#193750);
 box-shadow:0 9px 22px rgba(8,21,34,.18);
}
.brand-mark span{
 color:#42e0ca;
 font-size:19px;
 font-weight:900;
}
.brand-copy b{
 display:block;
 color:var(--ink);
 font-size:18px;
 line-height:17px;
 letter-spacing:-.45px;
}
.brand-copy small{
 color:#738195;
 font-size:7px;
 font-weight:800;
 letter-spacing:2.8px;
}
.main-nav{
 display:flex;
 align-items:center;
 gap:3px;
}
.main-nav a{
 padding:8px 11px;
 border-radius:9px;
 color:#4f5d70;
 font-size:12px;
 font-weight:650;
 transition:.18s ease;
}
.main-nav a:hover{
 color:var(--ink);
 background:#f3f6f8;
}
.member-nav{
 margin-left:auto;
 display:flex;
 align-items:center;
 gap:7px;
}
.signin-link,.library-link,.join-link{
 padding:9px 13px;
 border-radius:10px;
 font-size:11px;
 font-weight:750;
}
.signin-link,.library-link{color:#435267}
.join-link{
 color:#fff;
 background:linear-gradient(135deg,var(--ink),#193951);
 box-shadow:0 7px 18px rgba(8,21,34,.13);
}
.nav-toggle{
 display:none;
 width:37px;
 padding:6px;
 border:0;
 background:none;
}
.nav-toggle span{
 display:block;
 width:22px;
 height:2px;
 margin:4px auto;
 border-radius:2px;
 background:var(--ink);
}

.hero{
 position:relative;
 overflow:hidden;
 border-bottom:1px solid #edf2f5;
 background:
 linear-gradient(180deg,#fcfeff 0%,#f6fafc 100%);
}
.hero-glow{
 position:absolute;
 border-radius:999px;
 filter:blur(2px);
 pointer-events:none;
}
.hero-glow-a{
 top:-270px;
 right:-100px;
 width:630px;
 height:630px;
 background:radial-gradient(circle,rgba(115,87,231,.11),transparent 67%);
}
.hero-glow-b{
 left:-170px;
 bottom:-320px;
 width:620px;
 height:620px;
 background:radial-gradient(circle,rgba(9,185,189,.14),transparent 68%);
}
.hero-inner{
 position:relative;
 z-index:2;
 width:min(1220px,calc(100% - 40px));
 margin:auto;
 padding:61px 0 57px;
}
.hero-copy{max-width:750px}
.eyebrow{
 display:flex;
 align-items:center;
 gap:8px;
 color:var(--teal);
 font-size:9px;
 font-weight:850;
 letter-spacing:2.1px;
}
.eyebrow i{
 width:7px;
 height:7px;
 border-radius:50%;
 background:var(--mint);
 box-shadow:0 0 0 5px rgba(52,215,189,.10);
}
.hero h1{
 margin:10px 0 9px;
 color:var(--ink);
 font-size:49px;
 line-height:1.03;
 letter-spacing:-2px;
}
.hero h1 span{
 color:transparent;
 background:linear-gradient(100deg,#079fa5,var(--teal),var(--violet));
 -webkit-background-clip:text;
 background-clip:text;
}
.hero-copy>p{
 max-width:670px;
 margin:0;
 color:#68778a;
 font-size:15px;
 line-height:1.7;
}
.hero-points{
 display:flex;
 gap:17px;
 margin-top:17px;
 color:#647286;
 font-size:10px;
}
.hero-points b{color:var(--teal)}
.hero-search{
 display:flex;
 width:min(760px,100%);
 height:61px;
 margin-top:30px;
 padding:6px;
 border:1px solid #e0e8ed;
 border-radius:17px;
 background:rgba(255,255,255,.96);
 box-shadow:0 15px 40px rgba(30,53,74,.08);
}
.hero-search-main{
 flex:1;
 display:flex;
 align-items:center;
 min-width:0;
}
.hero-search-main>span{
 display:grid;
 width:48px;
 place-items:center;
 color:#8b97a6;
 font-size:22px;
}
.hero-search input{
 flex:1;
 min-width:0;
 border:0;
 outline:0;
 color:var(--ink);
 background:transparent;
 font-size:13px;
}
.hero-search button{
 display:flex;
 align-items:center;
 gap:20px;
 padding:0 20px;
 border:0;
 border-radius:12px;
 color:#fff;
 background:linear-gradient(135deg,var(--ink),#193a53);
 font-size:11px;
 font-weight:800;
}
.hero-search button b{color:var(--mint)}

.page-shell{
 width:min(1220px,calc(100% - 40px));
 margin:46px auto 75px;
 display:grid;
 grid-template-columns:minmax(0,850px) 310px;
 gap:58px;
}
.catalogue-head{
 display:flex;
 justify-content:space-between;
 align-items:flex-end;
 margin-bottom:21px;
}
.section-kicker{
 color:var(--teal);
 font-size:9px;
 font-weight:850;
 letter-spacing:1.9px;
}
.catalogue-head h2{
 margin:3px 0 0;
 color:var(--ink);
 font-size:27px;
 line-height:1.2;
 letter-spacing:-.8px;
}
.catalogue-head p{
 margin:3px 0 0;
 color:#8792a0;
 font-size:10px;
}
.release-count{
 display:flex;
 align-items:baseline;
 gap:6px;
 color:#8d98a6;
}
.release-count b{
 color:var(--ink);
 font-size:16px;
}
.release-count span{font-size:9px}

.software-list{display:grid;gap:14px}
.software-card{
 display:grid;
 grid-template-columns:245px minmax(0,1fr);
 gap:0;
 padding:12px;
 border:1px solid var(--line);
 border-radius:18px;
 background:#fff;
 transition:.2s ease;
}
.software-card:hover{
 transform:translateY(-2px);
 border-color:#cddddd;
 box-shadow:var(--shadow2);
}
.software-cover{
 position:relative;
 overflow:hidden;
 min-height:170px;
 border-radius:12px;
 background:#f2f6f8;
}
.software-cover img{
 display:block;
 width:100%;
 height:100%;
 min-height:170px;
 object-fit:cover;
 transition:transform .28s ease;
}
.software-card:hover .software-cover img{
 transform:scale(1.018);
}
.featured-tag{
 position:absolute;
 top:10px;
 left:10px;
 display:flex;
 align-items:center;
 gap:4px;
 padding:5px 8px;
 border-radius:7px;
 color:#61ead7;
 background:rgba(8,21,34,.91);
 font-size:8px;
 font-weight:800;
 letter-spacing:.3px;
}
.cover-arrow{
 position:absolute;
 right:10px;
 bottom:10px;
 display:grid;
 width:29px;
 height:29px;
 place-items:center;
 border-radius:9px;
 color:#fff;
 background:rgba(8,21,34,.84);
 opacity:0;
 transform:translateY(3px);
 transition:.18s ease;
}
.software-card:hover .cover-arrow{
 opacity:1;
 transform:none;
}
.software-info{
 padding:7px 11px 4px 21px;
}
.card-meta{
 display:flex;
 gap:10px;
 align-items:center;
 text-transform:uppercase;
 font-size:8px;
 letter-spacing:.65px;
}
.card-meta a{
 color:var(--teal);
 font-weight:850;
}
.card-meta span{color:#99a3af}
.software-info h2{
 margin:5px 0 0;
 color:var(--ink);
 font-size:19px;
 line-height:1.26;
 letter-spacing:-.45px;
}
.software-info h2 a:hover{color:#087f84}
.card-version{
 margin-top:1px;
 color:#8995a4;
 font-size:9px;
}
.software-info>p{
 max-width:520px;
 margin:8px 0 14px;
 color:#607084;
 font-size:11px;
 line-height:1.62;
}
.software-actions{
 display:flex;
 align-items:center;
 gap:15px;
}
.download-link{
 display:flex;
 align-items:center;
 gap:13px;
 padding:8px 13px;
 border-radius:9px;
 color:#fff;
 background:linear-gradient(135deg,var(--cyan),var(--teal));
 font-size:9px;
 font-weight:850;
 box-shadow:0 7px 18px rgba(9,185,189,.15);
}
.download-stat{
 display:flex;
 gap:5px;
 align-items:center;
 color:#9aa4af;
 font-size:8px;
}
.download-stat span{color:var(--teal)}

.sidebar{
 display:flex;
 flex-direction:column;
 gap:15px;
}
.side-search,.widget{
 padding:13px;
 border:1px solid var(--line);
 border-radius:16px;
 background:#fff;
 box-shadow:0 9px 30px rgba(25,47,68,.05);
}
.side-search form{
 display:flex;
 height:42px;
}
.search-symbol{
 display:grid;
 width:39px;
 place-items:center;
 border:1px solid #e2e8ed;
 border-right:0;
 border-radius:9px 0 0 9px;
 color:#8a96a4;
}
.side-search input{
 flex:1;
 min-width:0;
 border:1px solid #e2e8ed;
 border-left:0;
 border-right:0;
 outline:0;
 font-size:10px;
}
.side-search button{
 padding:0 11px;
 border:0;
 border-radius:0 9px 9px 0;
 color:#fff;
 background:var(--ink);
 font-size:9px;
 font-weight:750;
}
.widget-title{
 display:flex;
 align-items:center;
 gap:9px;
 margin-bottom:10px;
 padding:9px 10px;
 border-radius:10px;
 color:#fff;
 background:linear-gradient(135deg,var(--ink),#18364e);
}
.widget-icon{
 display:grid;
 width:25px;
 height:25px;
 place-items:center;
 border-radius:8px;
 color:#39dbc5;
 background:rgba(255,255,255,.08);
}
.widget-title small{
 display:block;
 color:#79dfd1;
 font-size:6px;
 letter-spacing:1.25px;
}
.widget-title h2{
 margin:1px 0 0;
 font-size:11px;
 line-height:1.2;
}
.release-list{display:grid;gap:5px}
.release-list>a{
 display:flex;
 align-items:center;
 gap:8px;
 padding:7px 8px;
 border:1px solid #edf1f3;
 border-radius:8px;
 transition:.15s ease;
}
.release-list>a:hover{
 border-color:#d6e8e5;
 background:#f7fbfb;
}
.release-list i{
 display:grid;
 width:17px;
 height:17px;
 flex:0 0 17px;
 place-items:center;
 border-radius:5px;
 color:var(--teal);
 background:#e9f9f6;
 font-style:normal;
}
.release-list>a>span{
 min-width:0;
 display:block;
}
.release-list b{
 display:block;
 overflow:hidden;
 color:#34475b;
 font-size:9px;
 font-weight:700;
 white-space:nowrap;
 text-overflow:ellipsis;
}
.release-list small{
 display:block;
 color:#9aa4af;
 font-size:7px;
}
.widget-empty{
 color:#8390a0;
 font-size:9px;
}
.category-list{display:grid}
.category-list a{
 display:flex;
 justify-content:space-between;
 align-items:center;
 padding:8px 4px;
 border-bottom:1px solid #edf1f3;
 color:#536276;
 font-size:9px;
}
.category-list a:last-child{border:0}
.category-list b{
 display:grid;
 min-width:22px;
 height:22px;
 place-items:center;
 border-radius:7px;
 color:#738092;
 background:#f3f6f8;
 font-size:8px;
}
.trust-widget{
 display:flex;
 gap:10px;
 padding:15px;
 border:1px solid #dcece9;
 border-radius:15px;
 background:linear-gradient(145deg,#f7fcfb,#fff);
}
.trust-badge{
 display:grid;
 width:34px;
 height:34px;
 flex:0 0 34px;
 place-items:center;
 border-radius:11px;
 color:#fff;
 background:linear-gradient(135deg,var(--cyan),var(--teal));
}
.trust-widget b{
 color:var(--ink);
 font-size:10px;
}
.trust-widget p{
 margin:2px 0 0;
 color:#7b8999;
 font-size:8px;
 line-height:1.45;
}

.empty-state,.standalone-empty{
 padding:60px 30px;
 border:1px dashed #d7e0e6;
 border-radius:18px;
 background:#fafcfd;
 text-align:center;
}
.empty-icon{
 color:var(--teal);
 font-size:33px;
}
.empty-state>span{
 color:var(--teal);
 font-size:8px;
 font-weight:850;
 letter-spacing:1.6px;
}
.empty-state h2,.standalone-empty h1{
 margin:4px 0;
 color:var(--ink);
 font-size:23px;
}
.empty-state p,.standalone-empty p{
 max-width:500px;
 margin:5px auto 18px;
 color:#778596;
 font-size:11px;
}
.dark-button{
 display:inline-flex;
 padding:9px 13px;
 border-radius:9px;
 color:#fff;
 background:var(--ink);
 font-size:9px;
 font-weight:800;
}
.standalone-empty{
 width:min(850px,calc(100% - 30px));
 margin:80px auto;
}
.standalone-empty>span{
 color:#d6dde3;
 font-size:60px;
 font-weight:900;
}

.pagination{
 display:flex;
 justify-content:space-between;
 align-items:center;
 margin-top:30px;
}
.pagination>div{display:flex;gap:5px}
.pagination a{
 display:grid;
 min-width:33px;
 height:33px;
 padding:0 8px;
 place-items:center;
 border:1px solid var(--line);
 border-radius:8px;
 color:#607084;
 font-size:9px;
}
.pagination a.active{
 border-color:var(--ink);
 color:#fff;
 background:var(--ink);
}
.pagination-direction{min-width:auto!important}

.site-footer{
 color:#8d9cad;
 background:
 radial-gradient(circle at 15% 0,rgba(9,185,189,.08),transparent 24%),
 #071522;
}
.footer-inner{
 width:min(1220px,calc(100% - 40px));
 margin:auto;
 padding:48px 0 40px;
 display:grid;
 grid-template-columns:2.1fr 1fr 1fr 1.3fr;
 gap:50px;
}
.footer-logo{
 display:flex;
 align-items:center;
 gap:8px;
 color:#fff;
}
.footer-logo span{
 display:grid;
 width:31px;
 height:31px;
 place-items:center;
 border-radius:10px;
 color:#071522;
 background:#39d9c5;
 font-weight:900;
}
.footer-logo b{font-size:15px}
.footer-about p{
 max-width:440px;
 color:#7d8da0;
 font-size:10px;
}
.footer-group{
 display:flex;
 flex-direction:column;
 gap:6px;
}
.footer-group>b{
 margin-bottom:3px;
 color:#fff;
 font-size:10px;
}
.footer-group a{
 color:#7d8da0;
 font-size:9px;
}
.footer-group a:hover{color:#39d9c5}
.footer-security span{
 display:block;
 color:#39d9c5;
 font-size:7px;
 font-weight:850;
 letter-spacing:1.6px;
}
.footer-security b{
 display:block;
 margin:4px 0;
 color:#fff;
 font-size:11px;
}
.footer-security small{
 color:#758598;
 font-size:8px;
}
.footer-bottom{
 width:min(1220px,calc(100% - 40px));
 margin:auto;
 padding:13px 0 17px;
 display:flex;
 justify-content:space-between;
 border-top:1px solid rgba(255,255,255,.07);
 color:#66778a;
 font-size:8px;
}

.product-page{
 width:min(1180px,calc(100% - 40px));
 margin:35px auto 75px;
}
.breadcrumbs{
 display:flex;
 flex-wrap:wrap;
 gap:7px;
 margin-bottom:25px;
 color:#98a2ae;
 font-size:9px;
}
.breadcrumbs a{color:#5c7184}
.breadcrumbs b{
 color:#7a8795;
 font-weight:600;
}
.product-intro{
 display:flex;
 justify-content:space-between;
 gap:35px;
 align-items:flex-start;
 margin-bottom:29px;
}
.product-intro>div:first-child{max-width:760px}
.product-kicker{
 color:var(--teal);
 font-size:8px;
 font-weight:850;
 letter-spacing:1.5px;
}
.product-intro h1{
 margin:6px 0;
 color:var(--ink);
 font-size:39px;
 line-height:1.12;
 letter-spacing:-1.3px;
}
.product-intro>div>p{
 margin:0;
 color:#68778a;
 font-size:14px;
}
.product-meta{
 display:flex;
 flex-wrap:wrap;
 gap:7px;
 margin-top:15px;
}
.product-meta>span{
 min-width:94px;
 padding:7px 9px;
 border:1px solid #e5eaef;
 border-radius:9px;
 background:#fafbfd;
}
.product-meta small{
 display:block;
 color:#9aa4af;
 font-size:6px;
 letter-spacing:.9px;
}
.product-meta b{
 display:block;
 color:#4d5c70;
 font-size:9px;
}
.intro-actions{
 display:flex;
 gap:7px;
}
.intro-actions form{margin:0}
.save-button,.share-button{
 display:inline-flex;
 align-items:center;
 min-height:38px;
 padding:8px 11px;
 border:1px solid #dfe5ea;
 border-radius:10px;
 color:#425166;
 background:#fff;
 font-size:9px;
 font-weight:750;
}
.save-button.saved{
 color:#087c70;
 border-color:#cae8e2;
 background:#f4fbf9;
}
.product-layout{
 display:grid;
 grid-template-columns:minmax(0,820px) 300px;
 gap:46px;
}
.main-shot{margin:0}
.main-shot img{
 display:block;
 width:100%;
 max-height:550px;
 object-fit:cover;
 border:1px solid var(--line);
 border-radius:19px;
 box-shadow:var(--shadow2);
}
.product-description,.detail-section{
 margin-top:37px;
}
.product-description h2,.detail-section h2{
 margin:3px 0 15px;
 color:var(--ink);
 font-size:24px;
 letter-spacing:-.6px;
}
.prose,.text-panel{
 color:#4f6074;
 font-size:13px;
 line-height:1.85;
}
.features{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:9px;
}
.features>div{
 display:flex;
 align-items:flex-start;
 gap:9px;
 min-height:45px;
 padding:10px 11px;
 border:1px solid #e9edf1;
 border-radius:11px;
 background:#fbfcfd;
}
.features span{
 color:var(--teal);
 font-weight:900;
}
.features p{
 margin:0;
 color:#536378;
 font-size:10px;
}
.screenshots{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:12px;
}
.screenshots a{
 position:relative;
 overflow:hidden;
 border:1px solid var(--line);
 border-radius:13px;
 background:#f4f6f8;
}
.screenshots img{
 display:block;
 width:100%;
 aspect-ratio:16/10;
 object-fit:cover;
}
.screenshots a span{
 position:absolute;
 right:8px;
 bottom:8px;
 padding:5px 7px;
 border-radius:7px;
 color:#fff;
 background:#071522d9;
 font-size:7px;
}
.text-panel{
 padding:17px;
 border:1px solid #e7ebef;
 border-radius:13px;
 background:#fafcfd;
}
.related-grid{
 display:grid;
 grid-template-columns:repeat(3,1fr);
 gap:10px;
}
.related-card{
 overflow:hidden;
 border:1px solid var(--line);
 border-radius:13px;
 background:#fff;
}
.related-card img{
 width:100%;
 aspect-ratio:16/10;
 object-fit:cover;
}
.related-card>div{padding:10px}
.related-card small{
 color:var(--teal);
 font-size:7px;
}
.related-card h3{
 margin:2px 0;
 color:var(--ink);
 font-size:12px;
}
.related-card p{
 margin:0;
 color:#7c8897;
 font-size:8px;
}
.download-column{
 display:flex;
 flex-direction:column;
 gap:12px;
}
.download-card{
 position:sticky;
 top:94px;
 padding:20px;
 border:1px solid #dfe7e8;
 border-radius:17px;
 background:linear-gradient(180deg,#fff,#f8fcfb);
 box-shadow:var(--shadow);
}
.verified-line{
 display:flex;
 align-items:center;
 gap:8px;
}
.verified-line>span{
 display:grid;
 width:27px;
 height:27px;
 place-items:center;
 border-radius:9px;
 color:#fff;
 background:linear-gradient(135deg,var(--cyan),var(--teal));
}
.verified-line b,.verified-line small{display:block}
.verified-line b{
 color:var(--ink);
 font-size:9px;
}
.verified-line small{
 color:#8c98a5;
 font-size:7px;
}
.download-card h2{
 margin:14px 0 12px;
 color:var(--ink);
 font-size:19px;
 line-height:1.3;
}
.download-card dl{margin:0}
.download-card dl>div{
 display:flex;
 justify-content:space-between;
 gap:10px;
 padding:8px 0;
 border-bottom:1px solid #e8edef;
 font-size:9px;
}
.download-card dt{color:#8a96a4}
.download-card dd{
 margin:0;
 color:#435166;
 font-weight:700;
 text-align:right;
}
.main-download{
 display:flex;
 justify-content:space-between;
 align-items:center;
 margin-top:17px;
 padding:12px 13px;
 border-radius:11px;
 color:#fff;
 background:linear-gradient(135deg,var(--cyan),var(--teal));
 box-shadow:0 10px 24px rgba(9,185,189,.18);
}
.main-download small{
 display:block;
 color:#cffff7;
 font-size:6px;
 letter-spacing:.9px;
}
.main-download span{
 font-size:11px;
 font-weight:800;
}
.main-download>b{font-size:18px}
.download-unavailable{
 margin-top:17px;
 padding:12px;
 border-radius:10px;
 color:#697687;
 background:#edf1f4;
 text-align:center;
 font-size:9px;
}
.https-note{
 margin:8px 0 0;
 color:#8995a2;
 text-align:center;
 font-size:7px;
}
.https-note span{color:#23be9f}
.checksum-card,.share-card{
 padding:15px;
 border:1px solid var(--line);
 border-radius:14px;
 background:#fff;
}
.checksum-card>div span{
 display:block;
 color:#8a96a4;
 font-size:6px;
 letter-spacing:1px;
}
.checksum-card>div b{
 color:var(--ink);
 font-size:9px;
}
.checksum-card code{
 display:block;
 margin:7px 0;
 color:#687587;
 font-size:7px;
 line-height:1.5;
 overflow-wrap:anywhere;
}
.checksum-card button{
 padding:0;
 border:0;
 color:var(--teal);
 background:none;
 font-size:8px;
}
.share-card>span{
 color:var(--teal);
 font-size:7px;
 font-weight:850;
 letter-spacing:1px;
}
.share-card h3{
 margin:3px 0;
 color:var(--ink);
 font-size:13px;
}
.share-card p{
 margin:0 0 10px;
 color:#7e8a98;
 font-size:8px;
}
.share-card button{
 margin-right:5px;
 padding:7px 8px;
 border:1px solid #e0e6eb;
 border-radius:8px;
 color:#4e5e71;
 background:#fff;
 font-size:8px;
}

.auth-page{
 width:min(1050px,calc(100% - 40px));
 min-height:620px;
 margin:70px auto 90px;
 display:grid;
 grid-template-columns:1fr 430px;
 gap:90px;
 align-items:center;
}
.auth-message h1{
 max-width:560px;
 margin:8px 0;
 color:var(--ink);
 font-size:42px;
 line-height:1.08;
 letter-spacing:-1.5px;
}
.auth-message>p{
 max-width:560px;
 color:#68778a;
 font-size:14px;
}
.account-benefits{
 display:grid;
 gap:8px;
 margin-top:22px;
}
.account-benefits>div{
 display:grid;
 grid-template-columns:32px 1fr;
 align-items:center;
 padding:9px 11px;
 border:1px solid var(--line);
 border-radius:11px;
}
.account-benefits>div>span{
 grid-row:1/3;
 color:var(--teal);
 font-size:17px;
}
.account-benefits b{
 color:var(--ink);
 font-size:10px;
}
.account-benefits small{
 color:#8c97a4;
 font-size:8px;
}
.auth-panel{
 padding:29px;
 border:1px solid var(--line);
 border-radius:20px;
 background:#fff;
 box-shadow:var(--shadow);
}
.auth-panel-head>span{
 color:var(--teal);
 font-size:7px;
 font-weight:850;
 letter-spacing:1.4px;
}
.auth-panel-head h2{
 margin:4px 0;
 color:var(--ink);
 font-size:24px;
}
.auth-panel-head p{
 margin:0 0 15px;
 color:#85919f;
 font-size:9px;
}
.auth-form label,.private-form label{
 display:block;
 margin:12px 0;
}
.auth-form label>span,.private-form label>span{
 color:#516075;
 font-size:9px;
 font-weight:750;
}
.auth-form input,.private-form input{
 width:100%;
 height:44px;
 margin-top:5px;
 padding:0 11px;
 border:1px solid #dce3e9;
 border-radius:9px;
 outline:0;
}
.auth-form input:focus,.private-form input:focus{
 border-color:var(--cyan);
 box-shadow:0 0 0 3px rgba(9,185,189,.08);
}
.auth-form label small,.private-form label small{
 display:block;
 margin-top:4px;
 color:#929daa;
 font-size:7px;
}
.auth-form>button,.private-form>button{
 display:flex;
 width:100%;
 min-height:44px;
 margin-top:16px;
 padding:0 13px;
 align-items:center;
 justify-content:space-between;
 border:0;
 border-radius:10px;
 color:#fff;
 background:linear-gradient(135deg,var(--ink),#193a53);
 font-size:10px;
 font-weight:800;
}
.auth-switch{
 margin-top:15px;
 color:#84909f;
 text-align:center;
 font-size:9px;
}
.auth-switch a{
 color:var(--teal);
 font-weight:800;
}
.auth-error,.admin-success{
 display:flex;
 align-items:center;
 gap:8px;
 margin:11px 0;
 padding:9px 10px;
 border-radius:9px;
 font-size:9px;
}
.auth-error{
 color:#a13d45;
 background:#fff1f2;
}
.auth-error>span{
 display:grid;
 width:20px;
 height:20px;
 place-items:center;
 border-radius:7px;
 color:#fff;
 background:#c34a54;
}
.admin-success{
 color:#177562;
 background:#eefaf6;
}
.admin-success>span{
 color:#0ca88f;
 font-weight:900;
}

.account-page{
 width:min(1100px,calc(100% - 40px));
 min-height:630px;
 margin:55px auto 90px;
}
.account-header{
 display:flex;
 justify-content:space-between;
 align-items:flex-end;
}
.account-header h1{
 margin:4px 0;
 color:var(--ink);
 font-size:34px;
 letter-spacing:-1px;
}
.account-header p{
 margin:0;
 color:#7c8999;
}
.signout-button{
 padding:8px 10px;
 border:1px solid var(--line);
 border-radius:9px;
 color:#697688;
 font-size:9px;
}
.account-summary{
 display:grid;
 grid-template-columns:repeat(3,1fr);
 gap:10px;
 margin:27px 0 38px;
}
.account-summary>div{
 position:relative;
 padding:16px;
 border:1px solid var(--line);
 border-radius:14px;
 background:#fafcfd;
}
.account-summary>div>span{
 position:absolute;
 top:14px;
 right:15px;
 color:var(--teal);
}
.account-summary b{
 display:block;
 color:var(--ink);
 font-size:21px;
}
.account-summary small{
 color:#8b96a4;
 font-size:8px;
}
.account-section-head h2{
 margin:3px 0 15px;
 color:var(--ink);
 font-size:23px;
}
.library-grid{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:12px;
}
.library-card{
 display:grid;
 grid-template-columns:145px 1fr;
 gap:14px;
 padding:11px;
 border:1px solid var(--line);
 border-radius:14px;
 transition:.18s ease;
}
.library-card:hover{
 transform:translateY(-2px);
 box-shadow:var(--shadow2);
}
.library-card img{
 width:145px;
 height:110px;
 object-fit:cover;
 border-radius:10px;
}
.library-meta{
 display:flex;
 gap:7px;
 color:#8a96a4;
 font-size:7px;
}
.library-meta span{color:var(--teal)}
.library-card h3{
 margin:3px 0;
 color:var(--ink);
 font-size:14px;
}
.library-card p{
 margin:0;
 color:#7b8796;
 font-size:8px;
}
.library-open{
 display:block;
 margin-top:7px;
 color:var(--teal);
 font-size:8px;
}

.toast{
 position:fixed;
 z-index:200;
 right:20px;
 bottom:20px;
 padding:10px 14px;
 border-radius:10px;
 color:#fff;
 background:var(--ink);
 box-shadow:var(--shadow);
 font-size:9px;
 opacity:0;
 pointer-events:none;
 transform:translateY(8px);
 transition:.2s ease;
}
.toast.show{
 opacity:1;
 transform:none;
}

/* Private admin */
.admin-body{
 min-height:100vh;
 background:#f4f7f9;
}
.private-login{
 width:min(430px,calc(100% - 30px));
 margin:70px auto;
}
.private-brand{
 display:flex;
 align-items:center;
 justify-content:center;
 gap:8px;
 margin-bottom:17px;
}
.private-brand>span,.admin-brand>span{
 display:grid;
 width:34px;
 height:34px;
 place-items:center;
 border-radius:11px;
 color:#36d8c3;
 background:var(--ink);
 font-weight:900;
}
.private-brand b,.private-brand small,
.admin-brand b,.admin-brand small{
 display:block;
}
.private-brand b,.admin-brand b{
 color:var(--ink);
 line-height:15px;
}
.private-brand small,.admin-brand small{
 color:#84909e;
 font-size:6px;
 letter-spacing:1.5px;
}
.private-card{
 padding:27px;
 border:1px solid var(--line);
 border-radius:19px;
 background:#fff;
 box-shadow:var(--shadow);
}
.private-kicker{
 color:var(--teal);
 font-size:7px;
 font-weight:850;
 letter-spacing:1.4px;
}
.private-card h1{
 margin:5px 0;
 color:var(--ink);
 font-size:25px;
}
.private-card>p{
 margin:0 0 14px;
 color:#7f8b99;
 font-size:9px;
}
.private-security{
 margin-top:12px;
 color:#8b96a4;
 text-align:center;
 font-size:8px;
}
.private-security span{color:#20b99d}
.admin-shell{
 min-height:100vh;
}
.admin-header{
 min-height:68px;
 padding:0 max(calc((100vw - 1180px)/2),20px);
 display:flex;
 align-items:center;
 justify-content:space-between;
 border-bottom:1px solid var(--line);
 background:#fff;
}
.admin-brand{
 display:flex;
 align-items:center;
 gap:8px;
}
.admin-header-right{
 display:flex;
 gap:13px;
 align-items:center;
 color:#6f7c8c;
 font-size:9px;
}
.admin-header-right>span{color:#9aa4b0}
.admin-main{
 width:min(1180px,calc(100% - 36px));
 margin:35px auto 70px;
}
.admin-title{
 display:flex;
 justify-content:space-between;
 align-items:flex-end;
}
.admin-title>div>span,.admin-panel-head>div>span{
 color:var(--teal);
 font-size:7px;
 font-weight:850;
 letter-spacing:1.4px;
}
.admin-title h1{
 margin:3px 0;
 color:var(--ink);
 font-size:30px;
}
.admin-title p{
 margin:0;
 color:#84909e;
 font-size:10px;
}
.new-release{
 padding:9px 12px;
 border-radius:9px;
 color:#fff;
 background:var(--ink);
 font-size:9px;
 font-weight:750;
}
.admin-stats{
 display:grid;
 grid-template-columns:repeat(3,1fr);
 gap:11px;
 margin:24px 0;
}
.admin-stats>div{
 position:relative;
 padding:17px;
 border:1px solid var(--line);
 border-radius:14px;
 background:#fff;
}
.stat-icon{
 position:absolute;
 top:14px;
 right:15px;
 color:var(--teal);
 font-size:18px;
}
.admin-stats p{
 margin:0;
 color:#7f8b9a;
 font-size:8px;
}
.admin-stats b{
 display:block;
 color:var(--ink);
 font-size:25px;
}
.admin-stats small{
 color:#9ba5b0;
 font-size:7px;
}
.admin-panel{
 margin-top:14px;
 padding:22px;
 border:1px solid var(--line);
 border-radius:17px;
 background:#fff;
}
.admin-panel-head{
 display:flex;
 justify-content:space-between;
 align-items:flex-end;
 margin-bottom:18px;
}
.admin-panel-head h2{
 margin:3px 0 0;
 color:var(--ink);
 font-size:20px;
}
.admin-panel-head>a,.admin-panel-head>small{
 color:#84909e;
 font-size:8px;
}
.admin-form{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:13px;
}
.admin-form>label>span,.software-upload>span{
 color:#536176;
 font-size:9px;
 font-weight:750;
}
.admin-form input,.admin-form textarea,.admin-form select{
 display:block;
 width:100%;
 margin-top:5px;
 padding:9px 10px;
 border:1px solid #dce3e9;
 border-radius:8px;
 color:#36475a;
 background:#fff;
 outline:0;
}
.admin-form input:focus,.admin-form textarea:focus,.admin-form select:focus{
 border-color:var(--cyan);
 box-shadow:0 0 0 3px rgba(9,185,189,.07);
}
.admin-form>label>small{
 color:#929da9;
 font-size:7px;
}
.admin-wide{grid-column:1/-1}
.upload-grid{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:12px;
}
.upload-field>span{font-size:9px;font-weight:750}
.upload-field>div,.software-upload>div{
 margin-top:5px;
 padding:13px;
 border:1px dashed #ccd7de;
 border-radius:10px;
 background:#fafcfd;
}
.upload-field b,.software-upload strong{
 display:block;
 color:var(--ink);
 font-size:10px;
}
.upload-field small,.software-upload small{
 display:block;
 color:#8e99a6;
 font-size:7px;
}
.upload-field input,.software-upload input{
 border:0;
 padding:7px 0 0;
 background:none;
 box-shadow:none!important;
}
.screenshot-clear{
 display:flex!important;
 align-items:center;
 gap:7px;
}
.screenshot-clear input{
 width:auto;
 margin:0;
}
.publish-options{
 display:flex;
 gap:10px;
}
.publish-options>label{
 flex:1;
 display:flex;
 align-items:flex-start;
 gap:8px;
 padding:11px;
 border:1px solid var(--line);
 border-radius:10px;
 background:#fafcfd;
}
.publish-options input{
 width:auto;
 margin:3px 0 0;
}
.publish-options b,.publish-options small{display:block}
.publish-options b{
 color:var(--ink);
 font-size:9px;
}
.publish-options small{
 color:#8c97a4;
 font-size:7px;
}
.admin-submit{
 display:flex;
 align-items:center;
 gap:14px;
}
.admin-submit button{
 display:flex;
 gap:22px;
 padding:10px 14px;
 border:0;
 border-radius:9px;
 color:#fff;
 background:linear-gradient(135deg,var(--ink),#193a53);
 font-size:9px;
 font-weight:800;
}
.admin-submit button span{color:var(--mint)}
.admin-submit a{
 color:#83909e;
 font-size:8px;
}
.admin-empty{
 padding:35px;
 text-align:center;
}
.admin-empty>span{
 color:var(--teal);
 font-size:25px;
}
.admin-empty h3{
 margin:3px;
 color:var(--ink);
}
.admin-empty p{
 margin:0;
 color:#8b96a4;
 font-size:9px;
}
.catalogue-table-wrap{overflow:auto}
.catalogue-table{
 width:100%;
 border-collapse:collapse;
}
.catalogue-table th{
 padding:8px;
 border-bottom:1px solid var(--line);
 color:#929da9;
 font-size:7px;
 text-align:left;
 text-transform:uppercase;
 letter-spacing:.8px;
}
.catalogue-table td{
 padding:10px 8px;
 border-bottom:1px solid #edf1f3;
 color:#5a687a;
 font-size:9px;
}
.release-cell>div{
 display:flex;
 align-items:center;
 gap:9px;
}
.release-cell img,.mini-placeholder{
 width:44px;
 height:34px;
 object-fit:cover;
 border-radius:7px;
}
.mini-placeholder{
 display:grid;
 place-items:center;
 color:#fff;
 background:var(--ink);
}
.release-cell b,.release-cell small{
 display:block;
}
.release-cell b{
 color:var(--ink);
 font-size:9px;
}
.release-cell small{
 color:#929da8;
 font-size:7px;
}
.status{
 display:inline-block;
 margin-right:3px;
 padding:3px 5px;
 border-radius:5px;
 font-size:7px;
}
.status.live{
 color:#11816d;
 background:#eaf8f4;
}
.status.draft{
 color:#826c3d;
 background:#fff8e7;
}
.status.featured{
 color:#6752b8;
 background:#f1edff;
}
.management{
 display:flex;
 gap:7px;
 align-items:center;
}
.management a{color:#26868a}
.management form{margin:0}
.management button{
 padding:0;
 border:0;
 color:#b94c55;
 background:none;
 font-size:9px;
}
.admin-footer{
 display:flex;
 justify-content:space-between;
 padding:15px max(calc((100vw - 1180px)/2),20px);
 color:#8a96a3;
 background:#fff;
 border-top:1px solid var(--line);
 font-size:7px;
}

@media(max-width:940px){
 .page-shell,.product-layout{grid-template-columns:1fr}
 .sidebar{display:grid;grid-template-columns:1fr 1fr}
 .download-card{position:static}
 .auth-page{grid-template-columns:1fr;gap:35px}
 .footer-inner{grid-template-columns:2fr 1fr 1fr}
 .footer-security{display:none}
}
@media(max-width:700px){
 .header-inner{
  width:calc(100% - 24px);
  min-height:65px;
  flex-wrap:wrap;
 }
 .nav-toggle{display:block;margin-left:auto}
 .main-nav{
  display:none;
  order:20;
  flex-basis:100%;
  padding-bottom:10px;
  flex-direction:column;
  align-items:stretch;
 }
 .main-nav.open{display:flex}
 .member-nav{margin-left:0}
 .join-link{display:none}
 .hero-inner{width:calc(100% - 28px);padding:43px 0}
 .hero h1{font-size:36px;letter-spacing:-1.4px}
 .hero-points{flex-wrap:wrap}
 .hero-search{height:55px}
 .hero-search button{padding:0 12px}
 .page-shell{width:calc(100% - 24px);margin-top:29px}
 .software-card{grid-template-columns:125px 1fr}
 .software-cover,.software-cover img{min-height:150px}
 .software-info{padding-left:12px}
 .software-info h2{font-size:16px}
 .software-info>p,.download-stat{display:none}
 .sidebar{grid-template-columns:1fr}
 .footer-inner{grid-template-columns:1fr 1fr;gap:28px}
 .footer-about{grid-column:1/-1}
 .product-page{width:calc(100% - 24px);margin-top:25px}
 .product-intro{flex-direction:column}
 .product-intro h1{font-size:31px}
 .features,.screenshots,.related-grid{grid-template-columns:1fr}
 .auth-page{width:calc(100% - 26px);margin:45px auto}
 .auth-message h1{font-size:34px}
 .account-page{width:calc(100% - 24px)}
 .library-grid{grid-template-columns:1fr}
 .account-summary{grid-template-columns:1fr}
 .admin-form,.upload-grid{grid-template-columns:1fr}
 .admin-wide{grid-column:auto}
 .admin-stats{grid-template-columns:1fr}
 .publish-options{flex-direction:column}
 .admin-header-right>span{display:none}
}
@media(max-width:470px){
 .signin-link{display:none}
 .hero h1{font-size:32px}
 .hero-search-main>span{width:35px}
 .hero-search input{font-size:11px}
 .software-card{grid-template-columns:105px 1fr}
 .software-cover,.software-cover img{min-height:130px}
 .software-info h2{font-size:14px}
 .card-meta span{display:none}
 .download-link{padding:7px 9px}
 .footer-inner{grid-template-columns:1fr}
 .footer-about{grid-column:auto}
 .footer-bottom{flex-direction:column;gap:3px}
 .product-meta{display:grid;grid-template-columns:1fr 1fr}
 .intro-actions{width:100%}
 .save-button,.share-button{flex:1;justify-content:center}
 .library-card{grid-template-columns:100px 1fr}
 .library-card img{width:100px;height:90px}
}
@media(prefers-reduced-motion:reduce){
 *{scroll-behavior:auto!important;transition:none!important}
}

/* =========================================================
   PIXELRACK — PREMIUM LIGHT ACCESSIBLE THEME
   Large readable typography / no dark filled UI blocks
   ========================================================= */

:root{
 --ink:#17243b;
 --ink2:#243653;
 --text:#34455f;
 --muted:#66758c;

 --cyan:#15b9bd;
 --teal:#109d91;
 --mint:#37cbb8;
 --blue:#4779e6;
 --violet:#796be8;

 --line:#dfe8ee;
 --soft:#f7fafc;
 --white:#fff;

 --light-teal:#eafaf7;
 --light-blue:#edf4ff;
 --light-violet:#f3f0ff;

 --shadow:0 12px 35px rgba(60,83,110,.10);
 --shadow2:0 7px 22px rgba(60,83,110,.08);
}

/* Global readability */
body{
 color:var(--text);
 background:#fff;
 font-size:16px;
 line-height:1.7;
}

.main-nav a,
.signin-link,
.library-link,
.join-link{
 font-size:14px;
}

.brand-copy b{font-size:20px}
.brand-copy small{font-size:9px}

.member-nav a{
 min-height:42px;
 display:inline-flex;
 align-items:center;
}

/* Premium light header */
.site-header{
 background:rgba(255,255,255,.97);
 border-bottom:1px solid #e5edf2;
 box-shadow:0 3px 15px rgba(65,90,115,.05);
}

.brand-mark{
 background:linear-gradient(135deg,#e8faf7,#eef5ff);
 border:1px solid #d7ebe8;
 box-shadow:0 7px 18px rgba(40,130,140,.10);
}

.brand-mark span{
 color:#109d91;
}

.join-link{
 color:#176b72;
 background:linear-gradient(135deg,#e6faf6,#e9f4ff);
 border:1px solid #cfe9e6;
 box-shadow:none;
}

.join-link:hover{
 background:linear-gradient(135deg,#dcf8f3,#e2efff);
}

/* Hero */
.hero{
 background:
 radial-gradient(circle at 12% 90%,rgba(29,195,183,.14),transparent 29%),
 radial-gradient(circle at 83% 13%,rgba(121,107,232,.13),transparent 30%),
 linear-gradient(180deg,#fff,#f7fbfd);
}

.eyebrow,
.section-kicker,
.product-kicker{
 font-size:12px;
 letter-spacing:1.6px;
}

.hero h1{
 font-size:52px;
 line-height:1.08;
 color:#18283f;
}

.hero-copy>p{
 max-width:730px;
 color:#53667e;
 font-size:18px;
 line-height:1.7;
}

.hero-points{
 gap:23px;
 font-size:14px;
}

.hero-search{
 height:66px;
 border:1px solid #dbe7ed;
 box-shadow:var(--shadow);
}

.hero-search input{
 font-size:16px;
}

.hero-search button{
 min-width:120px;
 justify-content:center;
 color:#15767b;
 background:linear-gradient(135deg,#e6faf7,#e9f4ff);
 border:1px solid #cde8e5;
 font-size:14px;
}

.hero-search button b{
 color:#159d91;
}

/* Catalogue typography */
.catalogue-head h2{
 font-size:32px;
}

.catalogue-head p{
 font-size:15px;
 color:#66778c;
}

.release-count b{font-size:21px}
.release-count span{font-size:13px}

/* Product list */
.software-card{
 border-color:#dfe9ee;
 border-radius:20px;
 box-shadow:0 3px 12px rgba(55,80,105,.04);
}

.software-card:hover{
 border-color:#bcdedb;
 box-shadow:var(--shadow);
}

.card-meta{
 font-size:12px;
}

.software-info h2{
 margin-top:6px;
 color:#1b2a42;
 font-size:23px;
}

.card-version{
 margin-top:3px;
 font-size:13px;
}

.software-info>p{
 color:#53657a;
 font-size:15px;
 line-height:1.65;
}

.download-link{
 min-height:42px;
 padding:9px 16px;
 color:#176f73;
 background:linear-gradient(135deg,#dff8f4,#e7f2ff);
 border:1px solid #c9e7e3;
 box-shadow:none;
 font-size:13px;
}

.download-link:hover{
 background:linear-gradient(135deg,#d2f5ef,#deeefe);
}

.download-stat{
 font-size:12px;
}

/* No dark overlay */
.featured-tag{
 color:#6759bb;
 background:#f0edff;
 border:1px solid #ddd7ff;
 font-size:11px;
}

.cover-arrow{
 color:#177b7d;
 background:rgba(235,250,248,.96);
 border:1px solid #cce9e5;
}

/* Sidebar */
.side-search,
.widget{
 border-color:#dfe8ee;
 box-shadow:var(--shadow2);
}

.side-search{
 background:linear-gradient(145deg,#fff,#fbfdfd);
}

.search-symbol{
 font-size:18px;
}

.side-search input{
 font-size:14px;
}

.side-search button{
 color:#167276;
 background:#e5f8f5;
 border:1px solid #cce8e4;
 font-size:13px;
}

.widget-title{
 padding:12px;
 color:#31445b;
 background:linear-gradient(135deg,#e8faf6,#edf4ff);
 border:1px solid #d3e9e6;
}

.widget-icon{
 width:31px;
 height:31px;
 color:#11998f;
 background:#fff;
 box-shadow:0 3px 10px rgba(60,100,120,.08);
}

.widget-title small{
 color:#178f87;
 font-size:9px;
}

.widget-title h2{
 color:#263b53;
 font-size:15px;
}

.release-list>a{
 padding:10px;
 font-size:14px;
}

.release-list i{
 width:24px;
 height:24px;
 flex-basis:24px;
 font-size:16px;
}

.release-list b{
 font-size:13px;
}

.release-list small{
 margin-top:2px;
 font-size:11px;
}

.widget-empty{
 font-size:13px;
 line-height:1.6;
}

.category-list a{
 padding:11px 5px;
 font-size:13px;
}

.category-list b{
 min-width:28px;
 height:28px;
 font-size:11px;
}

.trust-widget b{font-size:14px}
.trust-widget p{font-size:12px}

/* Empty state */
.empty-state>span{
 font-size:11px;
}

.empty-state h2{
 font-size:27px;
}

.empty-state p{
 font-size:15px;
}

.dark-button{
 color:#176e72;
 background:linear-gradient(135deg,#e2f8f4,#e8f2ff);
 border:1px solid #cae7e3;
 font-size:14px;
}

/* Pagination */
.pagination a{
 min-width:40px;
 height:40px;
 font-size:14px;
}

.pagination a.active{
 color:#15756f;
 border-color:#bde1dc;
 background:#def6f1;
}

/* Footer — premium LIGHT instead of black */
.site-footer{
 color:#617188;
 background:
 radial-gradient(circle at 15% 0,rgba(23,184,178,.10),transparent 28%),
 radial-gradient(circle at 85% 100%,rgba(121,107,232,.08),transparent 26%),
 linear-gradient(180deg,#f7fbfc,#eef5f7);
 border-top:1px solid #dae8eb;
}

.footer-logo{
 color:#1e3048;
}

.footer-logo span{
 color:#fff;
 background:linear-gradient(135deg,#1ab7ae,#5c83e7);
}

.footer-about p{
 color:#607188;
 font-size:13px;
}

.footer-group>b{
 color:#283c54;
 font-size:14px;
}

.footer-group a{
 color:#617188;
 font-size:13px;
}

.footer-group a:hover{
 color:#0e8f87;
}

.footer-security span{
 color:#118f87;
 font-size:10px;
}

.footer-security b{
 color:#263b53;
 font-size:14px;
}

.footer-security small{
 color:#64758a;
 font-size:12px;
}

.footer-bottom{
 color:#69798c;
 border-top:1px solid #dae5e9;
 font-size:12px;
}

/* Product page readable */
.breadcrumbs{font-size:13px}

.product-kicker{
 color:#118f87;
}

.product-intro h1{
 color:#192b43;
 font-size:42px;
}

.product-intro>div>p{
 color:#55687e;
 font-size:17px;
}

.product-meta small{
 font-size:9px;
}

.product-meta b{
 font-size:13px;
}

.save-button,
.share-button{
 min-height:44px;
 padding:10px 14px;
 font-size:13px;
}

.product-description h2,
.detail-section h2{
 color:#1c2d45;
 font-size:28px;
}

.prose,
.text-panel{
 color:#465a70;
 font-size:16px;
 line-height:1.85;
}

.features>div{
 min-height:54px;
 padding:13px;
}

.features p{
 font-size:14px;
}

/* Download panel: light only */
.download-card{
 background:linear-gradient(145deg,#fff,#f5fbfa);
 border-color:#d4e8e5;
}

.verified-line b{font-size:13px}
.verified-line small{font-size:11px}

.download-card h2{
 color:#233850;
 font-size:22px;
}

.download-card dl>div{
 padding:11px 0;
 font-size:13px;
}

.main-download{
 min-height:55px;
 color:#166e70;
 background:linear-gradient(135deg,#dff8f3,#e7f2ff);
 border:1px solid #c7e5e1;
 box-shadow:none;
}

.main-download small{
 color:#408887;
 font-size:9px;
}

.main-download span{
 font-size:15px;
}

.https-note{font-size:11px}

.checksum-card>div span{font-size:9px}
.checksum-card>div b{font-size:13px}
.checksum-card code{font-size:11px}
.checksum-card button{font-size:12px}

.share-card>span{font-size:9px}
.share-card h3{font-size:17px}
.share-card p{font-size:12px}

.share-card button{
 min-height:37px;
 font-size:12px;
}

/* Accounts */
.auth-message h1{
 color:#1b2c44;
 font-size:44px;
}

.auth-message>p{
 font-size:17px;
}

.account-benefits b{font-size:14px}
.account-benefits small{font-size:12px}

.auth-panel-head>span{
 font-size:10px;
}

.auth-panel-head h2{
 font-size:28px;
}

.auth-panel-head p{
 font-size:13px;
}

.auth-form label>span,
.private-form label>span{
 font-size:13px;
}

.auth-form input,
.private-form input{
 height:50px;
 font-size:15px;
}

.auth-form label small,
.private-form label small{
 font-size:11px;
}

.auth-form>button,
.private-form>button{
 min-height:50px;
 color:#176d71;
 background:linear-gradient(135deg,#def7f3,#e8f2ff);
 border:1px solid #c9e7e3;
 font-size:14px;
}

.auth-switch{
 font-size:13px;
}

.auth-error,
.admin-success{
 font-size:13px;
}

/* Account */
.account-header h1{font-size:38px}
.account-header p{font-size:15px}
.signout-button{font-size:13px}

.account-summary small{font-size:12px}
.account-section-head h2{font-size:27px}

.library-meta{font-size:11px}
.library-card h3{font-size:18px}
.library-card p{font-size:13px}
.library-open{font-size:12px}

/* Admin remains light too */
.admin-body{
 background:#f6f9fb;
}

.private-card,
.admin-panel,
.admin-stats>div{
 box-shadow:0 8px 25px rgba(60,80,105,.06);
}

.private-card h1{
 color:#22364e;
 font-size:29px;
}

.private-card>p{font-size:13px}

.admin-title h1{
 color:#1e3149;
 font-size:34px;
}

.admin-title p{font-size:13px}

.new-release{
 color:#176d71;
 background:#e1f7f3;
 border:1px solid #c9e7e3;
 font-size:13px;
}

.admin-stats p{font-size:12px}
.admin-stats small{font-size:11px}

.admin-panel-head>div>span{
 font-size:10px;
}

.admin-panel-head h2{
 font-size:24px;
}

.admin-form>label>span,
.software-upload>span{
 font-size:13px;
}

.admin-form input,
.admin-form textarea,
.admin-form select{
 font-size:14px;
}

.admin-form>label>small,
.upload-field small,
.software-upload small{
 font-size:11px;
}

.upload-field b,
.software-upload strong{
 font-size:14px;
}

.publish-options b{font-size:13px}
.publish-options small{font-size:11px}

.admin-submit button{
 min-height:44px;
 color:#176d71;
 background:linear-gradient(135deg,#dff8f3,#e8f2ff);
 border:1px solid #cae7e3;
 font-size:13px;
}

.catalogue-table th{font-size:11px}
.catalogue-table td{font-size:13px}
.release-cell b{font-size:13px}
.release-cell small{font-size:11px}

.status{font-size:10px}

/* Accessibility */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible{
 outline:3px solid rgba(18,173,168,.25);
 outline-offset:2px;
}

/* Responsive readability */
@media(max-width:700px){
 body{font-size:16px}

 .hero h1{font-size:38px}
 .hero-copy>p{font-size:16px}

 .software-card{
  grid-template-columns:145px minmax(0,1fr);
 }

 .software-info h2{font-size:18px}

 .product-intro h1{font-size:34px}

 .footer-group a{font-size:14px}
}

@media(max-width:480px){
 .software-card{
  grid-template-columns:1fr;
 }

 .software-cover,
 .software-cover img{
  min-height:auto;
  aspect-ratio:16/10;
 }

 .software-info{
  padding:15px 5px 7px;
 }

 .software-info>p{
  display:block;
  font-size:14px;
 }

 .hero h1{
  font-size:34px;
 }

 .hero-points{
  font-size:13px;
 }
}

/* =========================================================
   DYNAMIC DATABASE CATEGORY NAVIGATION
   ========================================================= */

.category-menu{
 position:relative;
 display:flex;
 align-items:center;
 align-self:stretch;
}

.category-toggle{
 display:flex;
 align-items:center;
 gap:7px;
 min-height:40px;
 padding:8px 12px;
 border:0;
 border-radius:10px;
 color:#4f5d70;
 background:transparent;
 font-size:14px;
 font-weight:650;
}

.category-toggle:hover,
.category-menu.open .category-toggle{
 color:#147b78;
 background:#edf9f7;
}

.category-chevron{
 display:inline-block;
 color:#159b91;
 font-size:15px;
 transition:transform .18s ease;
}

.category-menu.open .category-chevron{
 transform:rotate(180deg);
}

.category-dropdown{
 position:absolute;
 z-index:150;
 top:calc(100% - 5px);
 left:0;
 width:430px;
 padding:13px;
 border:1px solid #dce8ec;
 border-radius:16px;
 background:rgba(255,255,255,.99);
 box-shadow:0 20px 50px rgba(54,79,101,.14);
 visibility:hidden;
 opacity:0;
 transform:translateY(7px);
 transition:
   opacity .16s ease,
   transform .16s ease,
   visibility .16s ease;
}

.category-menu.open .category-dropdown{
 visibility:visible;
 opacity:1;
 transform:none;
}

.category-dropdown-head{
 display:flex;
 justify-content:space-between;
 align-items:center;
 padding:3px 4px 10px;
 border-bottom:1px solid #e9eff2;
}

.category-dropdown-head span{
 color:#263b53;
 font-size:13px;
 font-weight:750;
}

.category-dropdown-head small{
 color:#8391a1;
 font-size:11px;
}

.category-dropdown-grid{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:6px;
 padding-top:9px;
}

.category-dropdown-grid>a{
 display:grid;
 grid-template-columns:31px minmax(0,1fr) 16px;
 gap:8px;
 align-items:center;
 min-height:55px;
 padding:8px;
 border:1px solid transparent;
 border-radius:11px;
 transition:.16s ease;
}

.category-dropdown-grid>a:hover{
 border-color:#d6eae7;
 background:linear-gradient(135deg,#f0faf8,#f3f7ff);
}

.category-nav-icon{
 display:grid;
 width:31px;
 height:31px;
 place-items:center;
 border-radius:9px;
 color:#108f87;
 background:#e9f8f5;
 font-size:15px;
}

.category-dropdown-grid b{
 display:block;
 overflow:hidden;
 color:#30445c;
 font-size:13px;
 line-height:1.3;
 white-space:nowrap;
 text-overflow:ellipsis;
}

.category-dropdown-grid small{
 display:block;
 margin-top:2px;
 color:#8996a5;
 font-size:11px;
}

.category-dropdown-grid i{
 color:#179a90;
 font-size:13px;
 font-style:normal;
}

/* Desktop pointer convenience, JS still handles keyboard/click */
@media(min-width:701px){
 .category-menu:hover .category-dropdown{
  visibility:visible;
  opacity:1;
  transform:none;
 }
}

/* Mobile navigation */
@media(max-width:700px){
 .category-menu{
  display:block;
  width:100%;
 }

 .category-toggle{
  justify-content:space-between;
  width:100%;
  padding:11px 8px;
  font-size:15px;
 }

 .category-dropdown{
  position:static;
  width:100%;
  margin:3px 0 5px;
  padding:9px;
  box-shadow:none;
  display:none;
  visibility:visible;
  opacity:1;
  transform:none;
  background:#f8fbfc;
 }

 .category-menu.open .category-dropdown{
  display:block;
 }

 .category-dropdown-grid{
  grid-template-columns:1fr;
 }

 .category-dropdown-grid>a{
  min-height:52px;
 }

 .category-dropdown-head{
  padding:4px 5px 9px;
 }
}

/* =========================================================
   DIRECT PUBLIC CATEGORY NAVIGATION
   No category dropdown
   ========================================================= */

.category-menu,
.category-dropdown,
.category-toggle{
 display:none!important;
}

.header-inner{
 width:min(1380px,calc(100% - 36px));
 gap:18px;
}

.brand{
 margin-right:10px;
 flex-shrink:0;
}

.direct-category-nav{
 flex:1;
 display:flex;
 align-items:center;
 justify-content:center;
 gap:2px;
 min-width:0;
}

.direct-category-nav>a{
 display:flex;
 min-height:42px;
 padding:8px 10px;
 align-items:center;
 justify-content:center;
 border-radius:9px;
 color:#45576d;
 font-size:13px;
 font-weight:650;
 line-height:1.2;
 white-space:nowrap;
 transition:.16s ease;
}

.direct-category-nav>a:hover{
 color:#117f79;
 background:#eaf8f5;
}

.direct-category-nav .software-all{
 color:#0e817a;
 background:#edf9f7;
 border:1px solid #d7ece8;
 font-weight:750;
}

.member-nav{
 flex-shrink:0;
}

/* Medium desktop: slightly compact but still direct */
@media(max-width:1180px) and (min-width:701px){
 .header-inner{
  width:calc(100% - 24px);
  gap:10px;
 }

 .direct-category-nav>a{
  padding:8px 6px;
  font-size:12px;
 }

 .brand{
  margin-right:2px;
 }

 .brand-copy small{
  letter-spacing:1.8px;
 }

 .join-link{
  padding-left:9px;
  padding-right:9px;
 }
}

/* On mobile categories remain direct links inside hamburger.
   Still NO dropdown. */
@media(max-width:700px){
 .direct-category-nav{
  display:none;
  order:20;
  flex:0 0 100%;
  width:100%;
  padding:7px 0 13px;
  flex-direction:column;
  align-items:stretch;
  gap:4px;
 }

 .direct-category-nav.open{
  display:flex;
 }

 .direct-category-nav>a{
  width:100%;
  min-height:45px;
  padding:10px 12px;
  justify-content:flex-start;
  font-size:15px;
 }

 .direct-category-nav .software-all{
  margin-bottom:3px;
 }

 .member-nav{
  margin-left:auto;
 }
}

/* ==========================================================
   PIXELRACK ADMIN — PREMIUM ACCESSIBLE UI
   Readable typography + high contrast + light luxury palette
   ========================================================== */

.admin-body{
 color:#33465f;
 background:
   radial-gradient(circle at 8% 0%,rgba(28,190,180,.09),transparent 23%),
   radial-gradient(circle at 92% 2%,rgba(102,117,232,.08),transparent 22%),
   linear-gradient(180deg,#fbfdfe 0,#f4f8fa 100%);
 font-size:16px;
 line-height:1.65;
}

/* Header */
.admin-header{
 min-height:82px;
 border-bottom:1px solid #dce7eb;
 background:rgba(255,255,255,.96);
 box-shadow:0 4px 18px rgba(50,75,100,.05);
 backdrop-filter:blur(15px);
}

.admin-brand>span{
 width:43px;
 height:43px;
 border:1px solid #cbe7e3;
 border-radius:13px;
 color:#128e87;
 background:linear-gradient(135deg,#e2f8f4,#edf4ff);
 font-size:19px;
}

.admin-brand b{
 color:#1d3048;
 font-size:19px;
 line-height:1.2;
}

.admin-brand small{
 margin-top:2px;
 color:#64768b;
 font-size:10px;
 font-weight:800;
 letter-spacing:1.6px;
}

.admin-header-right{
 gap:18px;
 color:#52657b;
 font-size:14px;
}

.admin-header-right>span{
 color:#6c7b8e;
}

.admin-header-right a{
 padding:8px 11px;
 border-radius:9px;
 transition:.16s ease;
}

.admin-header-right a:hover{
 color:#0b817a;
 background:#eaf8f5;
}

/* Main page heading */
.admin-main{
 margin-top:44px;
}

.admin-title>div>span,
.admin-panel-head>div>span{
 color:#108f87;
 font-size:12px;
 font-weight:850;
 letter-spacing:1.5px;
}

.admin-title h1{
 margin:5px 0 2px;
 color:#192c44;
 font-size:38px;
 line-height:1.2;
 letter-spacing:-1px;
}

.admin-title p{
 color:#5e7085;
 font-size:16px;
}

.new-release{
 min-height:45px;
 display:inline-flex;
 align-items:center;
 padding:10px 17px;
 border:1px solid #bfe2dd;
 border-radius:11px;
 color:#127b76;
 background:linear-gradient(135deg,#def7f2,#e8f2ff);
 box-shadow:0 7px 20px rgba(55,110,120,.08);
 font-size:15px;
 font-weight:750;
}

.new-release:hover{
 border-color:#9fd7cf;
 transform:translateY(-1px);
}

/* Dashboard statistics */
.admin-stats{
 gap:16px;
 margin:30px 0;
}

.admin-stats>div{
 min-height:135px;
 padding:23px;
 border:1px solid #dce7ec;
 border-radius:18px;
 background:
   linear-gradient(145deg,#fff,#f8fbfc);
 box-shadow:0 9px 28px rgba(55,80,105,.06);
}

.stat-icon{
 top:21px;
 right:22px;
 display:grid;
 width:39px;
 height:39px;
 place-items:center;
 border-radius:12px;
 color:#118f86;
 background:linear-gradient(135deg,#e4f9f5,#eaf3ff);
 font-size:20px;
}

.admin-stats p{
 margin:0 0 3px;
 color:#607187;
 font-size:15px;
 font-weight:600;
}

.admin-stats b{
 color:#1b2e47;
 font-size:34px;
 line-height:1.25;
}

.admin-stats small{
 color:#718196;
 font-size:13px;
}

/* Panels */
.admin-panel{
 margin-top:20px;
 padding:28px;
 border:1px solid #dce7ec;
 border-radius:20px;
 background:rgba(255,255,255,.97);
 box-shadow:0 10px 35px rgba(55,80,105,.06);
}

.admin-panel-head{
 margin-bottom:25px;
 padding-bottom:17px;
 border-bottom:1px solid #e8eef1;
}

.admin-panel-head h2{
 margin:4px 0 0;
 color:#1d3048;
 font-size:27px;
 line-height:1.25;
}

.admin-panel-head>a,
.admin-panel-head>small{
 color:#607388;
 font-size:14px;
}

.admin-panel-head>a{
 padding:6px 9px;
 border-radius:7px;
}

.admin-panel-head>a:hover{
 color:#0e837b;
 background:#edf9f7;
}

/* Form labels */
.admin-form{
 gap:20px;
}

.admin-form>label>span,
.software-upload>span,
.upload-field>span{
 color:#344b64;
 font-size:15px;
 font-weight:750;
}

.admin-form input,
.admin-form textarea,
.admin-form select{
 margin-top:7px;
 padding:12px 14px;
 border:1px solid #ccd9e0;
 border-radius:10px;
 color:#293d55;
 background:#fff;
 font-size:16px;
 line-height:1.55;
 transition:
   border-color .16s ease,
   box-shadow .16s ease,
   background .16s ease;
}

.admin-form input:not([type=checkbox]):not([type=file]),
.admin-form select{
 min-height:49px;
}

.admin-form input::placeholder,
.admin-form textarea::placeholder{
 color:#8a98a8;
 opacity:1;
}

.admin-form input:focus,
.admin-form textarea:focus,
.admin-form select:focus{
 border-color:#3abbb2;
 outline:0;
 background:#fff;
 box-shadow:0 0 0 4px rgba(34,181,171,.10);
}

.admin-form>label>small,
.upload-field small,
.software-upload small{
 display:block;
 margin-top:6px;
 color:#68798d;
 font-size:13px;
 line-height:1.55;
}

/* Upload boxes */
.upload-grid{
 gap:17px;
}

.upload-field>div,
.software-upload>div{
 margin-top:7px;
 padding:18px;
 border:1px dashed #b8d6d4;
 border-radius:13px;
 background:
   linear-gradient(135deg,#f8fdfc,#f7faff);
 transition:.16s ease;
}

.upload-field>div:hover,
.software-upload>div:hover{
 border-color:#69c5bd;
 background:linear-gradient(135deg,#effbf8,#f1f6ff);
}

.upload-field b,
.software-upload strong{
 color:#263d55;
 font-size:16px;
}

.upload-field small,
.software-upload small{
 color:#62758a;
 font-size:13px;
}

.upload-field input[type=file],
.software-upload input[type=file]{
 margin-top:11px;
 color:#465d75;
 font-size:14px;
}

/* Option cards */
.publish-options{
 gap:15px;
}

.publish-options>label{
 min-height:82px;
 padding:16px;
 border:1px solid #dae5e9;
 border-radius:13px;
 background:linear-gradient(145deg,#fbfdfd,#f7fafc);
 cursor:pointer;
}

.publish-options>label:hover{
 border-color:#b7ddd8;
 background:#f4fbf9;
}

.publish-options input{
 width:18px;
 height:18px;
 margin-top:3px;
 accent-color:#16a69b;
}

.publish-options b{
 color:#283e56;
 font-size:15px;
}

.publish-options small{
 margin-top:2px;
 color:#66778b;
 font-size:13px;
}

/* Screenshot checkbox */
.screenshot-clear{
 min-height:47px;
 padding:10px 13px;
 border:1px solid #e1e8ec;
 border-radius:10px;
 background:#fafcfd;
 font-size:14px;
}

.screenshot-clear input{
 width:18px;
 height:18px;
 accent-color:#16a69b;
}

/* Submit controls */
.admin-submit{
 margin-top:4px;
 gap:20px;
}

.admin-submit button{
 min-height:49px;
 padding:11px 20px;
 border:1px solid #b8dfda;
 border-radius:11px;
 color:#126e6b;
 background:
   linear-gradient(135deg,#dcf7f2,#e7f1ff);
 box-shadow:0 7px 20px rgba(50,110,120,.08);
 font-size:15px;
 font-weight:800;
}

.admin-submit button:hover{
 border-color:#8fcfc7;
 background:linear-gradient(135deg,#cff3ec,#dcecff);
 transform:translateY(-1px);
}

.admin-submit button span{
 color:#148e86;
}

.admin-submit a{
 color:#65768a;
 font-size:14px;
}

/* Success/error */
.admin-success,
.admin-error{
 min-height:49px;
 padding:12px 15px;
 border-radius:11px;
 font-size:14px;
}

.admin-success{
 border:1px solid #c4e8dd;
 color:#176f61;
 background:#effaf6;
}

/* Catalogue table */
.catalogue-table th{
 padding:13px 12px;
 color:#52677e;
 background:#f6f9fb;
 border-bottom:1px solid #dbe5ea;
 font-size:13px;
 font-weight:800;
 letter-spacing:.45px;
}

.catalogue-table td{
 padding:15px 12px;
 color:#455a70;
 border-bottom:1px solid #e8eef1;
 font-size:14px;
}

.catalogue-table tbody tr{
 transition:.15s ease;
}

.catalogue-table tbody tr:hover{
 background:#f8fcfb;
}

.release-cell img,
.mini-placeholder{
 width:58px;
 height:44px;
 border-radius:9px;
}

.release-cell b{
 color:#263b53;
 font-size:15px;
}

.release-cell small{
 margin-top:2px;
 color:#6c7d90;
 font-size:13px;
}

.status{
 margin:2px;
 padding:5px 8px;
 border-radius:7px;
 font-size:12px;
 font-weight:700;
}

.status.live{
 color:#147869;
 background:#e8f8f3;
}

.status.draft{
 color:#836c35;
 background:#fff7e2;
}

.status.featured{
 color:#6255ad;
 background:#efedff;
}

.management{
 gap:12px;
}

.management a,
.management button{
 min-height:34px;
 display:inline-flex;
 align-items:center;
 padding:5px 8px;
 border-radius:7px;
 font-size:13px;
}

.management a{
 color:#147f7c;
}

.management a:hover{
 background:#e9f8f5;
}

.management button{
 color:#a8444d;
}

.management button:hover{
 background:#fff0f1;
}

/* Empty admin catalogue */
.admin-empty{
 padding:50px 25px;
}

.admin-empty>span{
 font-size:36px;
}

.admin-empty h3{
 color:#253a52;
 font-size:21px;
}

.admin-empty p{
 color:#66778c;
 font-size:14px;
}

/* Admin footer */
.admin-footer{
 padding-top:19px;
 padding-bottom:19px;
 color:#65768a;
 background:#f9fbfc;
 font-size:12px;
}

/* Private admin login */
.private-login{
 width:min(500px,calc(100% - 30px));
}

.private-brand>span{
 width:43px;
 height:43px;
 color:#128d86;
 background:linear-gradient(135deg,#e2f8f4,#e9f2ff);
 border:1px solid #cce8e3;
}

.private-brand b{
 font-size:19px;
 color:#24384f;
}

.private-brand small{
 font-size:10px;
}

.private-card{
 padding:34px;
 border-color:#dce7ec;
 background:#fff;
}

.private-kicker{
 color:#108e86;
 font-size:11px;
}

.private-card h1{
 margin:7px 0;
 color:#1f324a;
 font-size:31px;
}

.private-card>p{
 margin-bottom:20px;
 color:#5e7187;
 font-size:14px;
}

.private-security{
 color:#617388;
 font-size:12px;
}

/* Better focus visibility */
.admin-body a:focus-visible,
.admin-body button:focus-visible,
.admin-body input:focus-visible,
.admin-body textarea:focus-visible,
.admin-body select:focus-visible{
 outline:3px solid rgba(19,166,157,.24);
 outline-offset:3px;
}

/* Responsive admin */
@media(max-width:800px){
 .admin-main{
  width:calc(100% - 24px);
  margin-top:28px;
 }

 .admin-title{
  align-items:flex-start;
  flex-direction:column;
  gap:15px;
 }

 .admin-title h1{
  font-size:31px;
 }

 .admin-stats{
  grid-template-columns:1fr;
 }

 .admin-panel{
  padding:18px;
 }

 .admin-form{
  grid-template-columns:1fr;
 }

 .admin-wide{
  grid-column:auto;
 }

 .upload-grid{
  grid-template-columns:1fr;
 }

 .publish-options{
  flex-direction:column;
 }

 .admin-header{
  padding-left:14px;
  padding-right:14px;
 }

 .admin-header-right{
  gap:6px;
 }

 .admin-header-right>span{
  display:none;
 }

 .catalogue-table th,
 .catalogue-table td{
  font-size:13px;
 }
}

@media(max-width:520px){
 .admin-title h1{
  font-size:28px;
 }

 .admin-panel-head h2{
  font-size:23px;
 }

 .admin-form input,
 .admin-form textarea,
 .admin-form select{
  font-size:16px;
 }

 .private-card{
  padding:23px;
 }

 .management{
  min-width:160px;
 }
}

/* PixelRack single-page legal/site information */
.legal-page{
 width:min(1000px,calc(100% - 40px));
 margin:55px auto 80px;
}

.legal-hero{
 margin-bottom:30px;
 padding:35px;
 border:1px solid #dfe9ee;
 border-radius:20px;
 background:
   radial-gradient(circle at 90% 0,rgba(116,105,230,.09),transparent 30%),
   linear-gradient(135deg,#fbfefd,#f5fafc);
}

.legal-hero h1{
 margin:5px 0;
 color:#1d3048;
 font-size:38px;
 line-height:1.15;
 letter-spacing:-1px;
}

.legal-hero>p{
 max-width:720px;
 margin:8px 0 20px;
 color:#596c82;
 font-size:16px;
}

.legal-index{
 display:flex;
 flex-wrap:wrap;
 gap:7px;
}

.legal-index a{
 padding:8px 11px;
 border:1px solid #d5e6e5;
 border-radius:9px;
 color:#167d78;
 background:#f0faf8;
 font-size:13px;
 font-weight:700;
}

.legal-content{
 border:1px solid #e0e8ed;
 border-radius:20px;
 overflow:hidden;
 background:#fff;
 box-shadow:0 12px 35px rgba(55,80,105,.06);
}

.legal-content>section{
 scroll-margin-top:95px;
 display:grid;
 grid-template-columns:55px 1fr;
 gap:18px;
 padding:30px 34px;
 border-bottom:1px solid #e8eef1;
}

.legal-content>section:last-child{
 border-bottom:0;
}

.legal-number{
 color:#b2c1cc;
 font-size:14px;
 font-weight:800;
}

.legal-content h2{
 margin:3px 0 12px;
 color:#21364e;
 font-size:25px;
 line-height:1.25;
}

.legal-content p{
 max-width:780px;
 margin:0 0 13px;
 color:#4f6278;
 font-size:15px;
 line-height:1.8;
}

.legal-content p a{
 color:#087f79;
 text-decoration:underline;
 text-underline-offset:3px;
}

.legal-email{
 display:inline-flex;
 margin:2px 0 13px;
 padding:9px 12px;
 border:1px solid #cde6e2;
 border-radius:9px;
 color:#137d76;
 background:#eefaf7;
 font-size:14px;
 font-weight:750;
}

.legal-note{
 color:#758497!important;
 font-size:13px!important;
}

.legal-updated{
 padding:17px 3px 0;
 color:#8290a0;
 font-size:12px;
 text-align:right;
}

@media(max-width:650px){
 .legal-page{
  width:calc(100% - 24px);
  margin-top:30px;
 }

 .legal-hero{
  padding:24px 20px;
 }

 .legal-hero h1{
  font-size:31px;
 }

 .legal-content>section{
  grid-template-columns:1fr;
  gap:5px;
  padding:24px 20px;
 }

 .legal-number{
  font-size:11px;
 }

 .legal-content p{
  font-size:15px;
 }
}

/* =========================================================
   STANDARD SOFTWARE LISTING SIZE
   Applies automatically to every present/future upload
   ========================================================= */

.software-card{
 grid-template-columns:210px minmax(0,1fr);
 min-height:164px;
 padding:11px;
 align-items:stretch;
}

.software-cover{
 width:210px;
 height:142px;
 min-height:142px;
 align-self:center;
 border-radius:11px;
}

.software-cover img{
 width:210px;
 height:142px;
 min-height:142px;
 aspect-ratio:auto;
 object-fit:cover;
 object-position:center;
}

.software-info{
 display:flex;
 min-width:0;
 padding:5px 12px 4px 20px;
 flex-direction:column;
 justify-content:center;
}

.software-info h2{
 margin-top:4px;
 font-size:21px;
}

.software-info>p{
 max-width:570px;
 margin:7px 0 11px;
 font-size:14px;
 line-height:1.55;
}

.download-link{
 min-height:39px;
 padding:7px 14px;
}

@media(max-width:700px){
 .software-card{
  grid-template-columns:140px minmax(0,1fr);
  min-height:135px;
 }

 .software-cover,
 .software-cover img{
  width:140px;
  height:105px;
  min-height:105px;
 }

 .software-info{
  padding-left:12px;
 }

 .software-info h2{
  font-size:18px;
 }
}

@media(max-width:480px){
 .software-card{
  grid-template-columns:1fr;
 }

 .software-cover,
 .software-cover img{
  width:100%;
  height:auto;
  min-height:0;
  aspect-ratio:16/9;
 }

 .software-info{
  padding:13px 4px 5px;
 }
}

/* PixelRack premium text wordmark */
.pixelrack-wordmark{
 display:inline-flex;
 min-width:155px;
 align-items:center;
 margin-right:14px;
 padding:5px 2px;
}

.pixelrack-wordmark .brand-copy b{
 display:flex;
 align-items:baseline;
 color:#23364e;
 font-size:23px;
 font-weight:800;
 line-height:1;
 letter-spacing:-.8px;
}

.pixelrack-wordmark .pixel-word{
 color:transparent;
 background:linear-gradient(105deg,#0ba79f,#19b9bd,#537fe1);
 -webkit-background-clip:text;
 background-clip:text;
}

.pixelrack-wordmark .rack-word{
 color:#22354e;
}

.pixelrack-wordmark .brand-copy small{
 display:block;
 margin-top:5px;
 padding-left:1px;
 color:#66788e;
 font-size:9px;
 font-weight:850;
 letter-spacing:4.6px;
 line-height:1;
}

.pixelrack-wordmark:hover .pixel-word{
 background:linear-gradient(105deg,#098f89,#15aaa8,#705fdc);
 -webkit-background-clip:text;
 background-clip:text;
}

@media(max-width:700px){
 .pixelrack-wordmark{
  min-width:132px;
  margin-right:0;
 }

 .pixelrack-wordmark .brand-copy b{
  font-size:21px;
 }

 .pixelrack-wordmark .brand-copy small{
  font-size:8px;
  letter-spacing:4px;
 }
}

/* Center STUDIO beneath Pixel Rack */
.pixelrack-wordmark .brand-copy{
 display:inline-flex;
 flex-direction:column;
 align-items:center;
}

.pixelrack-wordmark .brand-copy small{
 width:100%;
 margin-top:5px;
 padding-left:4.6px;
 text-align:center;
}

/* ==========================================================
   PIXEL RACK TEAM ACCESS
   ========================================================== */

.admin-wordmark{
 min-width:150px;
 justify-content:flex-start;
}

.admin-wordmark>div{
 display:inline-flex;
 flex-direction:column;
 align-items:center;
}

.admin-wordmark b{
 color:#263a52;
 font-size:21px;
 font-weight:800;
 letter-spacing:-.6px;
}

.admin-wordmark b>span{
 color:#109d91;
}

.admin-wordmark small{
 width:100%;
 margin-top:4px;
 color:#6b7c90;
 text-align:center;
 font-size:9px;
 font-weight:850;
 letter-spacing:4px;
}

.admin-team-shortcut{
 margin-left:auto;
 padding:8px 12px;
 border:1px solid #cee7e3;
 border-radius:9px;
 color:#117d76;
 background:#edf9f7;
 font-size:13px;
 font-weight:750;
}

.team-panel{
 scroll-margin-top:25px;
}

.team-intro{
 max-width:760px;
 margin:-5px 0 22px;
 color:#617388;
 font-size:14px;
}

.team-layout{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:18px;
 margin-bottom:24px;
}

.team-create,
.team-role-guide{
 padding:19px;
 border:1px solid #dfe8ed;
 border-radius:15px;
 background:linear-gradient(145deg,#fff,#f8fbfc);
}

.team-create h3,
.team-role-guide h3{
 margin:0 0 14px;
 color:#263a52;
 font-size:19px;
}

.team-form{
 display:grid;
 grid-template-columns:1fr 1fr;
 gap:12px;
}

.team-form label>span{
 display:block;
 color:#455b72;
 font-size:13px;
 font-weight:700;
}

.team-form input,
.team-form select{
 width:100%;
 min-height:44px;
 margin-top:5px;
 padding:9px 10px;
 border:1px solid #ccd9e0;
 border-radius:9px;
 color:#33485f;
 background:#fff;
 font-size:14px;
}

.team-form label small{
 color:#7b8998;
 font-size:11px;
}

.team-form button{
 grid-column:1/-1;
 min-height:44px;
 border:1px solid #bee2dd;
 border-radius:10px;
 color:#11756f;
 background:linear-gradient(135deg,#dff7f2,#e8f2ff);
 font-size:14px;
 font-weight:800;
}

.team-role-guide>div{
 padding:9px 0;
 border-bottom:1px solid #e8eef1;
}

.team-role-guide>div:last-child{
 border:0;
}

.team-role-guide b{
 color:#30465d;
 font-size:14px;
}

.team-role-guide p{
 margin:2px 0 0;
 color:#6c7d90;
 font-size:12px;
}

.team-members{
 display:grid;
 gap:8px;
}

.team-member{
 display:grid;
 grid-template-columns:46px minmax(220px,1fr) 150px 260px;
 gap:13px;
 align-items:center;
 padding:13px;
 border:1px solid #dfe8ed;
 border-radius:13px;
 background:#fff;
}

.team-member.disabled{
 opacity:.63;
 background:#f8fafb;
}

.team-avatar{
 display:grid;
 width:44px;
 height:44px;
 place-items:center;
 border-radius:13px;
 color:#137c75;
 background:linear-gradient(135deg,#e2f8f3,#e8f2ff);
 font-size:17px;
 font-weight:850;
}

.team-identity>div{
 display:flex;
 gap:7px;
 align-items:center;
}

.team-identity b{
 color:#283e56;
 font-size:14px;
}

.team-identity p{
 margin:1px 0;
 color:#607286;
 font-size:12px;
}

.team-identity small{
 color:#8995a3;
 font-size:10px;
}

.owner-badge{
 padding:3px 5px;
 border-radius:5px;
 color:#6355af;
 background:#f0edff;
 font-size:8px;
 font-weight:850;
 letter-spacing:.6px;
}

.team-role b,
.team-role small{
 display:block;
}

.team-role b{
 color:#3e5369;
 font-size:13px;
}

.team-role small{
 color:#7c8a99;
 font-size:11px;
}

.team-controls{
 display:flex;
 gap:7px;
 align-items:center;
}

.team-controls select{
 min-height:37px;
 padding:6px 8px;
 border:1px solid #d6e0e5;
 border-radius:8px;
 color:#42586e;
 background:#fff;
 font-size:12px;
}

.team-controls details{
 position:relative;
}

.team-controls summary{
 padding:7px 9px;
 border:1px solid #d6e0e5;
 border-radius:8px;
 color:#52677d;
 background:#fafcfd;
 font-size:11px;
 cursor:pointer;
 list-style:none;
}

.team-controls details[open]{
 z-index:5;
}

.team-controls details[open]>summary{
 color:#117c75;
 border-color:#bddfd9;
 background:#eef9f7;
}

.team-reset,
.team-security-actions{
 position:absolute;
 right:0;
 width:270px;
 padding:10px;
 border:1px solid #dbe5e9;
 background:#fff;
 box-shadow:0 15px 35px rgba(50,75,95,.12);
}

.team-reset{
 top:40px;
 display:flex;
 gap:5px;
 border-radius:11px 11px 0 0;
}

.team-reset input{
 min-width:0;
 flex:1;
 padding:7px;
 border:1px solid #d4dee4;
 border-radius:7px;
 font-size:11px;
}

.team-reset button,
.team-security-actions button{
 padding:7px 8px;
 border:1px solid #cce6e1;
 border-radius:7px;
 color:#14766f;
 background:#edf9f7;
 font-size:10px;
}

.team-security-actions{
 top:91px;
 display:flex;
 gap:6px;
 border-top:0;
 border-radius:0 0 11px 11px;
}

.team-security-actions form{
 flex:1;
}

.team-security-actions button{
 width:100%;
}

.team-security-actions .team-delete{
 color:#a8474e;
 border-color:#f0d3d5;
 background:#fff3f4;
}

.owner-protected{
 justify-self:end;
 padding:6px 9px;
 border-radius:7px;
 color:#5f55a0;
 background:#f3f0ff;
 font-size:10px;
 font-weight:750;
}

@media(max-width:1000px){
 .team-member{
  grid-template-columns:46px 1fr 140px;
 }

 .team-controls,
 .owner-protected{
  grid-column:2/-1;
  justify-self:start;
 }
}

@media(max-width:700px){
 .team-layout,
 .team-form{
  grid-template-columns:1fr;
 }

 .team-form button{
  grid-column:auto;
 }

 .team-member{
  grid-template-columns:46px 1fr;
 }

 .team-role{
  grid-column:2;
 }

 .team-controls,
 .owner-protected{
  grid-column:1/-1;
 }

 .admin-team-shortcut{
  display:none;
 }
}

/* ==========================================================
   PIXEL RACK FIRST-PARTY ANALYTICS
   ========================================================== */

.admin-analytics-shortcut{
 padding:8px 12px;
 border:1px solid #d3e5eb;
 border-radius:9px;
 color:#3e6480;
 background:#f2f8fc;
 font-size:13px;
 font-weight:750;
}

.traffic-dashboard{
 margin:22px 0;
 padding:25px;
 border:1px solid #dce7ec;
 border-radius:20px;
 background:
   radial-gradient(circle at 95% 0,rgba(111,103,228,.06),transparent 28%),
   linear-gradient(145deg,#fff,#f9fcfd);
 box-shadow:0 10px 34px rgba(55,80,105,.06);
 scroll-margin-top:20px;
}

.traffic-heading{
 display:flex;
 justify-content:space-between;
 align-items:flex-start;
 gap:25px;
 margin-bottom:20px;
}

.traffic-heading>div>span,
.traffic-section-title>div>span{
 color:#108f87;
 font-size:11px;
 font-weight:850;
 letter-spacing:1.4px;
}

.traffic-heading h2{
 margin:4px 0 2px;
 color:#1d3048;
 font-size:28px;
}

.traffic-heading p{
 max-width:620px;
 margin:0;
 color:#65768a;
 font-size:13px;
}

.traffic-live{
 display:flex;
 align-items:center;
 gap:10px;
 min-width:140px;
 padding:11px 14px;
 border:1px solid #cae8e1;
 border-radius:13px;
 background:#f0faf7;
}

.traffic-live>i{
 width:10px;
 height:10px;
 border-radius:50%;
 background:#22bd99;
 box-shadow:
   0 0 0 5px rgba(34,189,153,.11);
}

.traffic-live b,
.traffic-live small{
 display:block;
}

.traffic-live b{
 color:#187663;
 font-size:20px;
 line-height:1.1;
}

.traffic-live small{
 color:#617b72;
 font-size:11px;
}

.traffic-cards{
 display:grid;
 grid-template-columns:repeat(4,1fr);
 gap:12px;
 margin-bottom:17px;
}

.traffic-cards article{
 min-height:132px;
 padding:17px;
 border:1px solid #dfe8ed;
 border-radius:15px;
 background:#fff;
 box-shadow:0 5px 16px rgba(55,80,105,.04);
}

.traffic-cards article>span{
 color:#168c84;
 font-size:10px;
 font-weight:850;
 letter-spacing:1px;
}

.traffic-cards article>b{
 display:block;
 margin-top:5px;
 color:#233850;
 font-size:31px;
 line-height:1.15;
}

.traffic-cards article p{
 margin:2px 0;
 color:#566a80;
 font-size:13px;
}

.traffic-cards article small{
 color:#8290a0;
 font-size:11px;
}

.traffic-detail-grid{
 display:grid;
 grid-template-columns:minmax(0,1.65fr) minmax(270px,.8fr);
 gap:13px;
}

.traffic-chart-panel,
.top-downloads-panel{
 padding:18px;
 border:1px solid #dfe8ed;
 border-radius:15px;
 background:#fff;
}

.traffic-section-title{
 display:flex;
 justify-content:space-between;
 align-items:flex-end;
 min-height:43px;
}

.traffic-section-title h3{
 margin:2px 0;
 color:#263b53;
 font-size:18px;
}

.chart-legend{
 display:flex;
 gap:10px;
 color:#69798c;
 font-size:10px;
}

.chart-legend>span{
 display:flex;
 align-items:center;
 gap:4px;
}

.chart-legend i{
 width:8px;
 height:8px;
 border-radius:50%;
}

.visitor-dot{background:#18b7aa}
.views-dot{background:#8094e8}

.traffic-chart{
 height:220px;
 margin-top:17px;
 display:flex;
 align-items:stretch;
 gap:7px;
 border-bottom:1px solid #e3e9ed;
}

.traffic-day{
 min-width:0;
 flex:1;
 display:flex;
 flex-direction:column;
 justify-content:flex-end;
 align-items:center;
}

.bars{
 width:100%;
 height:180px;
 display:flex;
 justify-content:center;
 align-items:flex-end;
 gap:2px;
}

.bars span{
 display:block;
 width:min(10px,38%);
 min-height:2px;
 border-radius:4px 4px 1px 1px;
 transition:height .2s ease;
}

.views-bar{
 background:linear-gradient(
   180deg,
   #93a4ee,
   #d9def8
 );
}

.visitors-bar{
 background:linear-gradient(
   180deg,
   #16b6a8,
   #a3e7dc
 );
}

.traffic-day>small{
 margin:7px 0 8px;
 color:#8a96a4;
 font-size:8px;
 white-space:nowrap;
}

.top-download-list{
 display:grid;
 gap:5px;
 margin-top:10px;
}

.top-download-list>a{
 display:grid;
 grid-template-columns:29px minmax(0,1fr) auto;
 gap:8px;
 align-items:center;
 padding:8px;
 border:1px solid #edf1f3;
 border-radius:9px;
}

.top-download-list>a:hover{
 border-color:#cee6e2;
 background:#f7fbfa;
}

.download-rank{
 display:grid;
 width:27px;
 height:27px;
 place-items:center;
 border-radius:8px;
 color:#148178;
 background:#e9f8f5;
 font-size:11px;
 font-weight:800;
}

.top-download-list b,
.top-download-list small{
 display:block;
}

.top-download-list b{
 overflow:hidden;
 color:#354b62;
 font-size:12px;
 white-space:nowrap;
 text-overflow:ellipsis;
}

.top-download-list small{
 color:#8b97a4;
 font-size:9px;
}

.top-download-list strong{
 color:#52667c;
 font-size:12px;
}

.top-download-list strong span{
 color:#13a18f;
}

.traffic-empty{
 color:#718195;
 font-size:13px;
}

.privacy-analytics-note{
 display:flex;
 gap:9px;
 align-items:flex-start;
 margin-top:13px;
 padding:11px 13px;
 border:1px solid #d5e9e5;
 border-radius:11px;
 color:#64788b;
 background:#f4fbf9;
}

.privacy-analytics-note>span{
 color:#11988c;
 font-size:17px;
}

.privacy-analytics-note p{
 margin:0;
 font-size:11px;
}

.privacy-analytics-note b{
 color:#3a5a60;
}

@media(max-width:1000px){
 .traffic-cards{
  grid-template-columns:1fr 1fr;
 }

 .traffic-detail-grid{
  grid-template-columns:1fr;
 }
}

@media(max-width:650px){
 .traffic-dashboard{
  padding:16px;
 }

 .traffic-heading{
  flex-direction:column;
 }

 .traffic-live{
  width:100%;
 }

 .traffic-cards{
  grid-template-columns:1fr;
 }

 .traffic-chart{
  gap:2px;
  overflow-x:auto;
 }

 .traffic-day{
  min-width:32px;
 }

 .admin-analytics-shortcut{
  display:none;
 }
}

/* Optional external download provider */
.external-download-field{
 padding:15px;
 border:1px solid #d7e8e5;
 border-radius:12px;
 background:linear-gradient(135deg,#f8fdfc,#f7faff);
}

.external-download-field>span{
 color:#344b64;
 font-size:15px;
 font-weight:750;
}

.external-download-field small{
 display:block;
 margin-top:6px;
 color:#68798d;
 font-size:13px;
}

.external-provider-note{
 margin:9px 0 0;
 color:#768596;
 text-align:center;
 font-size:11px;
}

/* ==========================================================
   PIXEL RACK COMMUNITY COMMENTS
   ========================================================== */

.community-section{
 scroll-margin-top:95px;
}

.community-heading{
 display:flex;
 justify-content:space-between;
 gap:20px;
 align-items:flex-end;
 margin-bottom:17px;
}

.community-heading h2{
 margin-bottom:3px;
}

.community-heading p{
 margin:0;
 color:#67788c;
 font-size:14px;
}

.comment-count{
 padding:6px 9px;
 border:1px solid #d8e7e5;
 border-radius:8px;
 color:#17827b;
 background:#f0faf8;
 font-size:12px;
 font-weight:700;
 white-space:nowrap;
}

.comment-form{
 margin-bottom:24px;
 padding:19px;
 border:1px solid #dfe8ed;
 border-radius:15px;
 background:linear-gradient(145deg,#fff,#f8fbfc);
}

.comment-form-top{
 display:grid;
 grid-template-columns:minmax(0,330px);
}

.comment-form label{
 display:block;
 margin-bottom:13px;
}

.comment-form label>span{
 display:block;
 margin-bottom:5px;
 color:#425970;
 font-size:14px;
 font-weight:700;
}

.comment-form input,
.comment-form textarea{
 width:100%;
 padding:11px 12px;
 border:1px solid #cedbe2;
 border-radius:10px;
 color:#30465e;
 background:#fff;
 font-size:15px;
 outline:0;
}

.comment-form input{
 min-height:47px;
}

.comment-form textarea{
 resize:vertical;
 line-height:1.65;
}

.comment-form input:focus,
.comment-form textarea:focus{
 border-color:#42bab1;
 box-shadow:0 0 0 4px rgba(27,174,164,.09);
}

.comment-submit-row{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:20px;
}

.comment-submit-row p{
 margin:0;
 color:#7a8898;
 font-size:12px;
}

.comment-submit-row button{
 display:flex;
 align-items:center;
 gap:15px;
 min-height:43px;
 padding:8px 14px;
 border:1px solid #bfe1dd;
 border-radius:9px;
 color:#13766f;
 background:linear-gradient(135deg,#ddf7f2,#e8f2ff);
 font-size:13px;
 font-weight:800;
}

.comment-message{
 margin-bottom:13px;
 padding:10px 12px;
 border-radius:9px;
 font-size:13px;
}

.comment-message.success{
 color:#176e60;
 background:#edf9f5;
 border:1px solid #cbe7de;
}

.comment-message.warning{
 color:#856d38;
 background:#fff9e9;
 border:1px solid #eee0b9;
}

.comment-list{
 display:grid;
 gap:9px;
}

.comment-item{
 display:grid;
 grid-template-columns:43px minmax(0,1fr);
 gap:12px;
 padding:15px;
 border:1px solid #e0e8ed;
 border-radius:13px;
 background:#fff;
}

.comment-avatar{
 display:grid;
 width:42px;
 height:42px;
 place-items:center;
 border-radius:13px;
 color:#147b75;
 background:linear-gradient(135deg,#e3f8f4,#e8f2ff);
 font-weight:850;
}

.comment-content header{
 display:flex;
 justify-content:space-between;
 gap:15px;
}

.comment-content header b{
 color:#2b4058;
 font-size:14px;
}

.comment-content time{
 color:#8a96a4;
 font-size:11px;
}

.comment-content p{
 margin:6px 0 0;
 color:#53667c;
 font-size:14px;
 line-height:1.7;
 overflow-wrap:anywhere;
}

.comments-empty{
 display:flex;
 align-items:center;
 gap:12px;
 padding:18px;
 border:1px dashed #d5e0e5;
 border-radius:12px;
 background:#fafcfd;
}

.comments-empty>span{
 color:#15948a;
 font-size:22px;
}

.comments-empty b{
 color:#344a61;
}

.comments-empty p{
 margin:1px 0 0;
 color:#7d8a99;
 font-size:12px;
}

/* Admin comment moderation */
.moderation-list{
 display:grid;
 gap:8px;
}

.moderation-list article{
 padding:14px;
 border:1px solid #e0e8ed;
 border-radius:12px;
 background:#fafcfd;
}

.moderation-meta{
 display:flex;
 justify-content:space-between;
 gap:20px;
}

.moderation-meta>div{
 display:flex;
 gap:5px;
 align-items:center;
 flex-wrap:wrap;
}

.moderation-meta b{
 color:#30465d;
 font-size:13px;
}

.moderation-meta span,
.moderation-meta time{
 color:#8a96a4;
 font-size:11px;
}

.moderation-meta a{
 color:#11817a;
 font-size:12px;
 font-weight:700;
}

.moderation-list article>p{
 margin:8px 0;
 color:#56697e;
 font-size:13px;
}

.moderation-list button{
 padding:6px 8px;
 border:1px solid #eed2d5;
 border-radius:7px;
 color:#a6454d;
 background:#fff4f5;
 font-size:11px;
}

/* ==========================================================
   GENERIC SUBSCRIBE PROMPT
   No channel branding displayed on PixelRack
   ========================================================== */

.subscribe-prompt{
 position:fixed;
 z-index:190;
 right:22px;
 bottom:22px;
 width:min(410px,calc(100% - 30px));
 padding:17px;
 display:grid;
 grid-template-columns:43px minmax(0,1fr);
 gap:12px;
 border:1px solid #d7e6e5;
 border-radius:17px;
 background:rgba(255,255,255,.98);
 box-shadow:0 20px 55px rgba(55,78,100,.17);
 opacity:0;
 transform:translateY(12px);
 transition:.18s ease;
}

.subscribe-prompt[hidden]{
 display:none;
}

.subscribe-prompt.visible{
 opacity:1;
 transform:none;
}

.subscribe-close{
 position:absolute;
 top:8px;
 right:9px;
 width:28px;
 height:28px;
 border:0;
 border-radius:8px;
 color:#718094;
 background:#f3f6f8;
 font-size:19px;
 line-height:1;
}

.subscribe-symbol{
 display:grid;
 width:43px;
 height:43px;
 place-items:center;
 border-radius:13px;
 color:#147f78;
 background:linear-gradient(135deg,#e0f8f3,#e8f2ff);
 font-size:18px;
}

.subscribe-copy{
 padding-right:22px;
}

.subscribe-copy>span{
 color:#138f86;
 font-size:9px;
 font-weight:850;
 letter-spacing:1.3px;
}

.subscribe-copy>b{
 display:block;
 margin:2px 0;
 color:#263b53;
 font-size:17px;
}

.subscribe-copy>p{
 margin:0;
 color:#66778b;
 font-size:12px;
 line-height:1.5;
}

.subscribe-actions{
 grid-column:2;
 display:flex;
 gap:7px;
}

.subscribe-actions>a,
.subscribe-actions>button{
 min-height:39px;
 padding:7px 11px;
 border-radius:9px;
 font-size:12px;
 font-weight:750;
}

.subscribe-actions>a{
 display:flex;
 gap:14px;
 align-items:center;
 color:#14756f;
 border:1px solid #bfe2dc;
 background:linear-gradient(135deg,#ddf7f2,#e7f1ff);
}

.subscribe-actions>button{
 border:1px solid #dfe6ea;
 color:#67778a;
 background:#fff;
}

@media(max-width:600px){
 .community-heading{
  align-items:flex-start;
  flex-direction:column;
 }

 .comment-submit-row{
  align-items:flex-start;
  flex-direction:column;
 }

 .comment-content header{
  flex-direction:column;
  gap:1px;
 }

 .subscribe-prompt{
  right:15px;
  bottom:15px;
 }

 .subscribe-actions{
  grid-column:1/-1;
 }
}

/* ==========================================================
   PIXEL RACK MULTI DOWNLOAD MIRRORS
   ========================================================== */

.mirror-panel{
 scroll-margin-top:25px;
}

.mirror-intro{
 max-width:800px;
 margin:-6px 0 20px;
 color:#607287;
 font-size:14px;
}

.mirror-form{
 display:grid;
 grid-template-columns:1.2fr 1fr 1fr .65fr;
 gap:12px;
 padding:16px;
 border:1px solid #dfe8ed;
 border-radius:14px;
 background:linear-gradient(145deg,#fff,#f8fbfc);
}

.mirror-form label>span{
 display:block;
 color:#405870;
 font-size:13px;
 font-weight:700;
}

.mirror-form input,
.mirror-form select{
 width:100%;
 min-height:44px;
 margin-top:5px;
 padding:8px 10px;
 border:1px solid #ccd9e0;
 border-radius:9px;
 color:#344a62;
 background:#fff;
 font-size:14px;
}

.mirror-form input:focus,
.mirror-form select:focus{
 border-color:#42b9b0;
 outline:0;
 box-shadow:0 0 0 4px rgba(30,173,164,.08);
}

.mirror-url{
 grid-column:1/-2;
}

.mirror-submit{
 display:flex;
 align-items:flex-end;
}

.mirror-submit button{
 width:100%;
 min-height:44px;
 padding:8px 12px;
 border:1px solid #bee1dc;
 border-radius:9px;
 color:#14766f;
 background:linear-gradient(135deg,#dcf7f2,#e7f2ff);
 font-size:13px;
 font-weight:800;
}

.mirror-admin-list{
 display:grid;
 gap:7px;
 margin-top:14px;
}

.mirror-admin-list>article{
 display:grid;
 grid-template-columns:minmax(190px,1fr) 1fr 80px 130px;
 gap:12px;
 align-items:center;
 padding:11px 12px;
 border:1px solid #e1e8ed;
 border-radius:11px;
 background:#fff;
}

.mirror-provider{
 display:flex;
 gap:9px;
 align-items:center;
 min-width:0;
}

.mirror-provider>span{
 display:grid;
 width:31px;
 height:31px;
 flex:0 0 31px;
 place-items:center;
 border-radius:9px;
 color:#147e77;
 background:#e7f8f4;
}

.mirror-provider b,
.mirror-provider small,
.mirror-clicks b,
.mirror-clicks small{
 display:block;
}

.mirror-provider b{
 color:#334a62;
 font-size:13px;
}

.mirror-provider small{
 overflow:hidden;
 color:#8996a4;
 font-size:10px;
 text-overflow:ellipsis;
 white-space:nowrap;
}

.mirror-tags{
 display:flex;
 gap:5px;
 flex-wrap:wrap;
}

.mirror-tags span{
 padding:4px 6px;
 border-radius:6px;
 color:#53697e;
 background:#f0f4f7;
 font-size:10px;
}

.mirror-clicks{
 text-align:center;
}

.mirror-clicks b{
 color:#344c62;
 font-size:13px;
}

.mirror-clicks small{
 color:#8a97a5;
 font-size:9px;
}

.mirror-admin-actions{
 display:flex;
 gap:5px;
 justify-content:flex-end;
}

.mirror-admin-actions form{
 margin:0;
}

.mirror-admin-actions a,
.mirror-admin-actions button{
 padding:6px 7px;
 border:1px solid #dce5e9;
 border-radius:7px;
 color:#3f6671;
 background:#fafcfd;
 font-size:10px;
}

.mirror-admin-actions button{
 color:#a6474e;
 border-color:#efd7d9;
 background:#fff5f6;
}

.mirror-empty{
 margin-top:13px;
 padding:15px;
 border:1px dashed #d4e0e5;
 border-radius:10px;
 color:#7b8998;
 background:#fafcfd;
 font-size:12px;
}

/* Public mirrors */
.download-mirrors{
 padding:15px;
 border:1px solid #dfe8ed;
 border-radius:14px;
 background:#fff;
}

.mirror-title>span{
 color:#118d85;
 font-size:9px;
 font-weight:850;
 letter-spacing:1.2px;
}

.mirror-title h3{
 margin:2px 0;
 color:#293e56;
 font-size:17px;
}

.mirror-title p{
 margin:0 0 10px;
 color:#778697;
 font-size:11px;
}

.mirror-list{
 display:grid;
 gap:6px;
}

.mirror-list>a{
 display:grid;
 grid-template-columns:minmax(0,1.3fr) minmax(90px,.8fr) 25px;
 gap:8px;
 align-items:center;
 padding:10px;
 border:1px solid #e6ecef;
 border-radius:10px;
 transition:.15s ease;
}

.mirror-list>a:hover{
 border-color:#bfe0dc;
 background:linear-gradient(135deg,#f5fbf9,#f6f9ff);
 transform:translateY(-1px);
}

.mirror-main{
 display:flex;
 gap:8px;
 align-items:center;
}

.mirror-platform-icon{
 display:grid;
 width:32px;
 height:32px;
 place-items:center;
 border-radius:9px;
 color:#137e76;
 background:#e8f8f5;
 font-size:16px;
}

.mirror-main b,
.mirror-main strong{
 display:block;
}

.mirror-main b{
 color:#31475f;
 font-size:12px;
}

.mirror-main strong{
 color:#768596;
 font-size:9px;
 font-weight:600;
}

.mirror-source small,
.mirror-source b{
 display:block;
}

.mirror-source small{
 color:#929daa;
 font-size:7px;
 letter-spacing:.7px;
}

.mirror-source b{
 color:#40576e;
 font-size:10px;
}

.mirror-go{
 color:#128e84;
 font-size:15px;
}

@media(max-width:800px){
 .mirror-form{
  grid-template-columns:1fr 1fr;
 }

 .mirror-url{
  grid-column:1/-1;
 }

 .mirror-submit{
  grid-column:1/-1;
 }

 .mirror-admin-list>article{
  grid-template-columns:1fr 1fr;
 }

 .mirror-admin-actions{
  justify-content:flex-start;
 }
}

@media(max-width:520px){
 .mirror-form{
  grid-template-columns:1fr;
 }

 .mirror-url,
 .mirror-submit{
  grid-column:auto;
 }

 .mirror-admin-list>article{
  grid-template-columns:1fr;
 }

 .mirror-list>a{
  grid-template-columns:1fr 90px 20px;
 }

 .mirror-title h3{
  font-size:16px;
 }
}

/* ==========================================================
   INLINE DOWNLOAD MIRROR EDITOR
   Product + mirrors saved together
   ========================================================== */

.inline-mirrors{
 padding:18px;
 border:1px solid #d7e7e5;
 border-radius:15px;
 background:
   linear-gradient(145deg,#fbfefd,#f6fafc);
}

.inline-mirror-heading{
 display:flex;
 justify-content:space-between;
 align-items:flex-end;
 gap:20px;
 margin-bottom:14px;
}

.inline-mirror-heading>div>span{
 color:#108f87;
 font-size:10px;
 font-weight:850;
 letter-spacing:1.3px;
}

.inline-mirror-heading h3{
 margin:3px 0;
 color:#283e56;
 font-size:20px;
}

.inline-mirror-heading p{
 max-width:650px;
 margin:0;
 color:#68798c;
 font-size:13px;
}

.add-inline-mirror{
 min-height:41px;
 padding:8px 12px;
 border:1px solid #bde0dc;
 border-radius:9px;
 color:#14766f;
 background:
   linear-gradient(135deg,#dcf7f2,#e7f2ff);
 font-size:13px;
 font-weight:800;
 white-space:nowrap;
}

.inline-mirror-rows{
 display:grid;
 gap:8px;
}

.inline-mirror-row{
 position:relative;
 display:grid;
 grid-template-columns:35px 1fr .8fr 1fr 1.8fr 35px;
 gap:8px;
 align-items:end;
 padding:11px;
 border:1px solid #dfe8ed;
 border-radius:11px;
 background:#fff;
}

.mirror-row-number{
 display:grid;
 width:31px;
 height:43px;
 place-items:center;
 border-radius:9px;
 color:#157d76;
 background:#e9f8f5;
 font-size:12px;
 font-weight:800;
}

.inline-mirror-row label>span{
 display:block;
 margin-bottom:4px;
 color:#50657b;
 font-size:11px;
 font-weight:700;
}

.inline-mirror-row input,
.inline-mirror-row select{
 width:100%;
 min-width:0;
 height:43px;
 margin:0;
 padding:7px 8px;
 border:1px solid #ccd9e0;
 border-radius:8px;
 color:#344a61;
 background:#fff;
 font-size:12px;
}

.remove-inline-mirror{
 width:34px;
 height:43px;
 border:1px solid #efd5d7;
 border-radius:8px;
 color:#a8464e;
 background:#fff5f6;
 font-size:18px;
}

.inline-mirror-help{
 display:flex;
 gap:8px;
 align-items:flex-start;
 margin-top:12px;
 color:#6e7f91;
}

.inline-mirror-help>span{
 display:grid;
 width:22px;
 height:22px;
 flex:0 0 22px;
 place-items:center;
 border-radius:7px;
 color:#137c75;
 background:#e7f7f4;
 font-size:11px;
 font-weight:850;
}

.inline-mirror-help p{
 margin:1px 0 0;
 font-size:12px;
}

@media(max-width:1050px){
 .inline-mirror-row{
  grid-template-columns:35px 1fr 1fr;
 }

 .inline-url{
  grid-column:2/4;
 }

 .remove-inline-mirror{
  position:absolute;
  top:10px;
  right:10px;
 }
}

@media(max-width:650px){
 .inline-mirror-heading{
  align-items:flex-start;
  flex-direction:column;
 }

 .inline-mirror-row{
  grid-template-columns:1fr;
  padding-top:47px;
 }

 .mirror-row-number{
  position:absolute;
  top:10px;
  left:10px;
  height:30px;
 }

 .inline-url{
  grid-column:auto;
 }

 .remove-inline-mirror{
  height:30px;
 }
}

/* Download mirror anchor */
#download-options{
 scroll-margin-top:95px;
}

/* ==========================================================
   ALWAYS-VISIBLE DOWNLOAD OPTIONS
   ========================================================== */

.inline-download-heading{
 margin-top:16px;
 padding:11px 12px;
 border:1px solid #d7e8e5;
 border-radius:10px;
 background:linear-gradient(135deg,#f3fbf9,#f5f8ff);
}

.inline-download-heading span,
.inline-download-heading b{
 display:block;
}

.inline-download-heading span{
 color:#138f86;
 font-size:9px;
 font-weight:850;
 letter-spacing:1px;
}

.inline-download-heading b{
 margin-top:2px;
 color:#3b5269;
 font-size:13px;
}

.quick-mirrors{
 display:grid;
 gap:7px;
 margin-top:14px;
 padding-top:13px;
 border-top:1px solid #e4ebee;
}

.quick-mirror-title{
 display:flex;
 justify-content:space-between;
 align-items:center;
 margin-bottom:2px;
}

.quick-mirror-title span{
 color:#138d85;
 font-size:9px;
 font-weight:850;
 letter-spacing:1px;
}

.quick-mirror-title b{
 padding:3px 6px;
 border-radius:6px;
 color:#69798b;
 background:#f1f5f7;
 font-size:9px;
}

.quick-mirror{
 display:grid;
 grid-template-columns:minmax(0,1.2fr) minmax(80px,.8fr);
 gap:8px;
 padding:10px;
 border:1px solid #dfe8ed;
 border-radius:10px;
 background:#fff;
 transition:.16s ease;
}

.quick-mirror:hover{
 border-color:#a9d8d2;
 background:linear-gradient(135deg,#f3fbf9,#f5f8ff);
 transform:translateY(-1px);
}

.quick-mirror-platform{
 display:flex;
 align-items:center;
 gap:8px;
}

.quick-mirror-platform>span{
 display:grid;
 width:33px;
 height:33px;
 flex:0 0 33px;
 place-items:center;
 border-radius:9px;
 color:#137e76;
 background:#e6f8f4;
 font-size:16px;
}

.quick-mirror-platform b,
.quick-mirror-platform small,
.quick-mirror-provider b,
.quick-mirror-provider small{
 display:block;
}

.quick-mirror-platform b{
 color:#324960;
 font-size:12px;
}

.quick-mirror-platform small{
 color:#798797;
 font-size:9px;
}

.quick-mirror-provider{
 text-align:right;
}

.quick-mirror-provider small{
 color:#949eaa;
 font-size:7px;
 letter-spacing:.6px;
}

.quick-mirror-provider b{
 color:#475e74;
 font-size:10px;
}

.quick-download-action{
 grid-column:1/-1;
 display:flex;
 justify-content:center;
 align-items:center;
 gap:10px;
 min-height:34px;
 border-radius:8px;
 color:#14766f;
 background:linear-gradient(135deg,#e0f8f3,#e7f1ff);
 border:1px solid #c8e5e1;
 font-size:11px;
}

.quick-download-action span{
 color:#128e84;
}

@media(max-width:400px){
 .quick-mirror{
  grid-template-columns:1fr;
 }

 .quick-mirror-provider{
  text-align:left;
 }

 .quick-download-action{
  grid-column:auto;
 }
}

/* Mirror editor with optional file metadata */
.inline-mirror-row{
 grid-template-columns:
   35px
   minmax(110px,.9fr)
   minmax(105px,.75fr)
   minmax(130px,.9fr)
   minmax(180px,1.5fr)
   minmax(90px,.65fr)
   minmax(80px,.55fr)
   35px;
}

.quick-mirror-platform small{
 line-height:1.5;
}

@media(max-width:1200px){
 .inline-mirror-row{
  grid-template-columns:35px 1fr 1fr 1fr;
 }

 .inline-url{
  grid-column:2/5;
 }
}

@media(max-width:650px){
 .inline-mirror-row{
  grid-template-columns:1fr;
 }

 .inline-url{
  grid-column:auto;
 }
}

/* Fix sidebar long-title overflow */
.sidebar,
.widget,
.release-list,
.release-list > a,
.release-list > a > span{
 min-width:0;
 max-width:100%;
}

.release-list > a{
 width:100%;
 overflow:hidden;
}

.release-list b{
 display:-webkit-box;
 max-width:100%;
 overflow:hidden;
 white-space:normal;
 overflow-wrap:anywhere;
 word-break:normal;
 text-overflow:ellipsis;
 -webkit-box-orient:vertical;
 -webkit-line-clamp:2;
 line-clamp:2;
 line-height:1.4;
}

.release-list small{
 max-width:100%;
 overflow:hidden;
 white-space:normal;
 overflow-wrap:anywhere;
}

html,
body{
 max-width:100%;
 overflow-x:hidden;
}

/* Secondary About/Contact links in account area */
.member-nav{
    flex-wrap:wrap;
}

.header-info-links{
    flex-basis:100%;
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:7px;
    margin-top:3px;
    font-size:11px;
    line-height:1.2;
}

.header-info-links a{
    color:#64748b;
    text-decoration:none;
    font-weight:600;
}

.header-info-links a:hover,
.header-info-links a:focus-visible{
    color:#087f79;
    text-decoration:underline;
    text-underline-offset:3px;
}

.header-info-links span{
    color:#b5c0cb;
}

@media(max-width:900px){
    .header-info-links{
        justify-content:flex-start;
        margin-top:8px;
    }
}

/* Keep account and information navigation in a clean sequence */
.member-nav{
    flex-wrap:nowrap !important;
    align-items:center;
    gap:10px;
}

.header-info-links{
    flex-basis:auto !important;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:10px;
    margin:0 0 0 4px !important;
    font-size:12px;
    white-space:nowrap;
}

.header-info-links a{
    color:#53657a;
    font-weight:650;
}

@media(max-width:900px){
    .member-nav{
        flex-wrap:wrap !important;
    }

    .header-info-links{
        flex-basis:100% !important;
        margin:7px 0 0 !important;
    }
}
