/* CGWind charcoal / warm metal. Shared tokens adapt the existing Zibll UI. */
.cgwind-site { --cg-primary:#eab26b; --cg-background:#161719; --cg-surface:#222427; --cg-text:#f2f0ec; --cg-muted:#b4b3b0; --cg-border:#3b3d41; --cg-scroll-thumb:#55575b; --cg-scroll-hover:#828386; --cg-scroll-track:#161719; color-scheme:dark; }
.cgwind-site:not(.dark-theme) { --cg-background:#edebe7; --cg-surface:#faf9f6; --cg-text:#252525; --cg-muted:#62615f; --cg-border:#d0cdc8; --cg-primary:#a76720; color-scheme:light; }
.cgwind-site .cg-header { background:#17181aeb; border-color:#ffffff12; }
.cgwind-site.dark-theme { --muted-2-color:#aaa9a7; --muted-3-color:#93918e; --focus-shadow-color:#eab26b30; --header-bg:#17181a; }
.cgwind-site .cg-header .cg-nav .is-current,.cgwind-site .cg-header .cg-nav>a:hover,.cgwind-site .cg-header .cg-nav>button:hover { color:var(--cg-primary); }
.cgwind-site .cg-header .cg-nav .is-current::after { background:var(--cg-primary); }
.cg-search--nav { background:#2b2d31; color:#d1d0ce; border:1px solid #494b50; }
.cg-search--nav input::placeholder { color:#b7b8bc; }
.cg-hero { --cg-hero-caption:#e5edf5; position:relative; background-color:#080d14; background-image:linear-gradient(180deg,var(--cg-background),transparent 12%,transparent 70%,var(--cg-background)),linear-gradient(90deg,var(--cg-background),transparent 9%,transparent 91%,var(--cg-background)),var(--cg-home-hero-art,url('hero-vfx.webp')); background-position:center,center,center 46%; background-repeat:no-repeat; border:0; }
.cg-hero::before { display:none; }
.cg-hero-inner { display:grid; align-content:center; min-height:260px; padding-block:28px 24px; }
.cg-hero-search { width:100%; position:relative; z-index:1; }
.cg-hero-search .cg-search--hero { margin-inline:auto; }
.cg-hero-copy { width:100%; max-width:none; text-align:center; }
.cg-hero h1 { width:min(560px,100%); aspect-ratio:6.3/1; margin:0 auto 8px; line-height:1; }
.cg-hero-wordmark { display:block; width:100%; height:100%; object-fit:cover; object-position:center 43%; }
.cg-tagline { color:var(--cg-hero-caption); margin:0 0 18px; font-size:clamp(18px,1.6vw,28px); line-height:1.4; letter-spacing:.1em; text-shadow:0 1px 2px #080d18,0 3px 10px #080d18; }
.cg-search--hero { background:#f4f3f0; color:#45484e; }
.cg-search--hero input::placeholder { color:#74787e; }
.cgwind-site .cg-search--hero .cg-submit { background:linear-gradient(130deg,#efbd73,#b97835); color:#211a11; }
.cg-content { padding-top:0; }
.cg-category { position:relative; isolation:isolate; overflow:visible; background:#26282c!important; border:1px solid #ffffff24; min-height:96px; }
.cg-category::before { content:''; position:absolute; inset:0; border-radius:inherit; background-image:linear-gradient(90deg,#202226 10%,#20222680 70%,#20222622),var(--cg-category-art,url('hero.webp')); background-size:cover; background-position:center; opacity:.78; z-index:-1; pointer-events:none; }
.cg-category--model::before { background-position:70% 40%; }
.cg-category--motion::before { background-position:80% 60%; }
.cg-category--other::before { background-position:95% 70%; }
.cg-category strong { letter-spacing:1.5px; font-weight:650; font-size:21px; text-shadow:0 1px 8px #000; }
.cg-category small { color:#d0cfce; }
.cg-category[aria-expanded="true"] { background:var(--cg-surface)!important; }
.cg-category[aria-expanded="true"]::before { opacity:.28; }
.cgwind-site .cg-category-panel { background:var(--cg-surface); border-color:var(--cg-border); padding:12px 16px; }
.cgwind-site .cg-panel-heading,.cgwind-site .cg-detail-heading { gap:8px 10px; margin-bottom:8px; }
.cgwind-site .cg-panel-heading h2,.cgwind-site .cg-detail-heading h3 { font-size:16px; line-height:24px; }
.cgwind-site .cg-panel-heading>span { font-size:12px; line-height:18px; }
.cgwind-site .cg-category-panel :is(.cg-panel-close,.cg-detail-close) { min-height:30px; padding:4px 10px; gap:6px; font-size:12px; line-height:20px; }
.cgwind-site .cg-category-panel :is(.cg-panel-close,.cg-detail-close) span { font-size:18px; line-height:1; }
.cgwind-site .cg-options-browser { --cg-join-gap:10px; column-gap:10px; }
.cgwind-site .cg-software-choice,.cgwind-site .cg-software-detail { background:var(--cg-background); border-color:var(--cg-border); }
.cgwind-site .cg-software-choice { position:relative; }
.cgwind-site .cg-panel-options .cg-software-name { min-height:52px; padding:8px 12px; gap:8px; font-size:14px; line-height:20px; font-weight:600; letter-spacing:.15px; }
.cgwind-site .cg-software-name .cg-app-logo { width:26px; height:26px; }
.cgwind-site .cg-software-choice>.cg-count,.cgwind-site .cg-topic-links .cg-count { position:absolute!important; top:4px!important; right:7px!important; left:auto!important; min-width:20px; height:18px; padding:1px 5px; border-radius:20px; background:#44464b; color:#f4f4f4; font:600 10px/14px Arial,sans-serif; display:inline-flex; justify-content:center; align-items:center; z-index:4; flex:none; }
.cgwind-site .cg-software-expand { width:40px; min-width:40px; padding-top:14px; border-color:var(--cg-border); }
.cgwind-site .cg-software-detail { padding:12px 14px; }
.cgwind-site .cg-detail-heading .cg-app-logo { width:20px; height:20px; }
.cgwind-site .cg-topic-links { display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:8px; }
.cgwind-site .cg-topic-links a { position:relative; min-height:38px; padding:8px 10px; justify-content:space-between; gap:8px; font-size:14px; line-height:20px; font-weight:600; letter-spacing:.5px; background:var(--cg-surface); border-color:var(--cg-border); }
.cgwind-site .cg-topic-links .cg-count { position:static!important; top:auto!important; right:auto!important; }
.cgwind-site .cg-topic-links a:hover { background:#303236; }
@media(max-width:560px) {
 .cgwind-site .cg-category-panel { padding:10px 12px; }
 .cgwind-site .cg-options-browser { grid-template-columns:repeat(auto-fit,minmax(min(100%,142px),1fr)); }
 .cgwind-site .cg-panel-options .cg-software-name { min-height:46px; padding:6px 8px; gap:6px; font-size:13px; line-height:18px; }
 .cgwind-site .cg-software-name .cg-app-logo { width:22px; height:22px; }
 .cgwind-site .cg-software-expand { width:34px; min-width:34px; }
 .cgwind-site .cg-software-detail { padding:10px; }
 .cgwind-site .cg-topic-links a { padding:8px; gap:4px; font-size:13px; letter-spacing:0; }
}
.cgwind-site .cg-card { background:var(--cg-surface); border-color:var(--cg-border); }
.cgwind-site .cg-card-image { background:var(--cg-background); }
.cg-card-body h3 { font-size:15px; font-weight:600; line-height:1.6; }
.cg-card-meta { color:var(--cg-muted); }
.cg-author img.avatar { width:23px; height:23px; border-radius:50%; object-fit:cover; flex:none; }
.cgwind-site .cg-page-banner { background-image:linear-gradient(180deg,var(--cg-background),#16171980 50%,var(--cg-background)),var(--cg-hero-art,url('hero.webp')); border:0; }
.cgwind-site .cg-find-submit,.cgwind-site .cg-pagination .current { color:#211a11; }
.cg-find { border-top-color:var(--cg-border); }
.cg-sort { flex-wrap:wrap; }
.cg-sort-row { display:flex; justify-content:flex-start; gap:6px; margin:12px 0 20px; padding:4px; border:1px solid var(--cg-border); border-radius:9px; width:fit-content; }
.cg-sort-row a { display:inline-flex; align-items:center; gap:6px; min-height:32px; padding:5px 14px; border-radius:6px; font-size:14px; line-height:20px; }
.cg-sort-arrow { color:var(--cg-muted); font-size:16px; }
.cg-sort-row a[aria-current=true] .cg-sort-arrow { color:var(--cg-primary); }
.cg-home-sort-heading { flex-wrap:wrap; }
.cg-home-sort-heading .cg-sort-row { margin:0; }
.cgwind-home .cg-resources .cg-grid { --cg-home-grid-gap:22px; gap:var(--cg-home-grid-gap); grid-template-columns:repeat(auto-fit,minmax(min(100%,max(240px,calc((100% - 4 * var(--cg-home-grid-gap)) / 5))),1fr)); }
@media(max-width:600px) { .cg-home-sort-heading .cg-sort-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); } .cg-home-sort-heading .cg-sort-row a { justify-content:center; } }
/* The supplied still artwork is a sprite: no animated category assets. */
.cgwind-site .cg-category { padding:0; min-height:0; aspect-ratio:4/1; background:var(--cg-surface); isolation:isolate; }
.cgwind-site .cg-category::before { content:''; position:absolute; inset:0; opacity:1; border-radius:7px; background-image:url('category-strip.png'); background-size:var(--strip-size,520%) 117.5%; background-position:var(--strip-x,50%) 50%; filter:none; z-index:0; }
.cgwind-site .cg-category>span,.cgwind-site .cg-category>.cg-icon { opacity:0; pointer-events:none; }
.cgwind-site :is(.cg-category--model,.cg-category--account) { --strip-size:558.55%; --strip-x:1.291%; }
.cgwind-site .cg-category--motion { --strip-size:527.33%; --strip-x:24.637%; }
.cgwind-site .cg-category--scene { --strip-size:517.68%; --strip-x:49.635%; }
.cgwind-site .cg-category--fx { --strip-size:514.55%; --strip-x:74.854%; }
.cgwind-site .cg-category--other { --strip-size:551.3%; --strip-x:98.705%; }
.cgwind-site .cg-category[aria-expanded=true] { outline:1px solid var(--cg-primary); outline-offset:0; }
.cgwind-site .cg-category[aria-expanded=true]::after { z-index:-1; }
@media(max-width:600px) { .cgwind-site .cg-categories { grid-template-columns:1fr 1fr; } .cgwind-site .cg-category { aspect-ratio:3.8/1; } .cg-sort-row { gap:0; width:100%; } .cg-sort-row a { padding:5px 10px; } }
.cg-load-status { text-align:center; min-height:24px; margin-top:25px; font-size:13px; color:var(--cg-muted); }
.cg-load-more { display:block; min-height:44px; margin:8px auto 24px; padding:10px 28px; background:var(--cg-surface); color:var(--cg-text); border:1px solid var(--cg-border); border-radius:7px; }
.cg-load-more[hidden],.cg-pagination[hidden] { display:none!important; }
.cg-footer { border-color:var(--cg-border); margin-top:42px; }
.cg-site-footer { padding:28px 0 42px; border-top:1px solid var(--cg-border); line-height:1.85; }
.cg-site-footer .footer-logo { padding-right:32px; }
.cg-site-footer .footer-mini { margin-top:14px; }
.cg-site-footer img { border-radius:6px; }
.cg-site-footer .footer-contact-box { display:grid; grid-template-columns:minmax(180px,1fr) minmax(300px,2fr) auto; gap:36px; align-items:start; margin:0; }
.cg-site-footer .footer-contact-box>li { max-width:none!important; padding:0; margin:0; }
.cg-site-footer .footer-contact-box>li:last-child { justify-self:end; }
.cg-site-footer .footer-mini-img { gap:18px; }
@media(max-width:900px) { .cg-site-footer .footer-contact-box { grid-template-columns:1fr 2fr; } .cg-site-footer .footer-contact-box>li:last-child { grid-column:1/-1; justify-self:start; } }
@media(max-width:560px) { .cg-site-footer .footer-contact-box { grid-template-columns:1fr; gap:24px; } .cg-site-footer .footer-contact-box>.hidden-xs { display:block!important; } }
.cg-search,.cg-scoped-search { position:relative; }
.cg-search-suggestions { position:absolute; left:0; top:calc(100% + 10px); z-index:80; width:max(100%,320px); max-width:min(620px,90vw); padding:20px; background:var(--cg-surface); color:var(--cg-text); border:1px solid var(--cg-border); border-radius:12px; box-shadow:0 18px 48px #0006; text-align:left; }
.cg-search-suggestions h3 { color:var(--cg-muted); font-size:12px; font-weight:500; margin:0 0 10px; letter-spacing:1px; }
.cg-search-suggestions section+section { margin-top:20px; padding-top:16px; border-top:1px solid var(--cg-border); }
.cg-search-suggestions section>div { display:flex; flex-wrap:wrap; gap:8px; }
.cg-search-suggestions button { background:var(--cg-background); color:var(--cg-text); border:1px solid var(--cg-border); padding:7px 12px; border-radius:6px; font:13px/1.5 var(--cg-body); height:auto; }
.cg-search-suggestions button:hover { border-color:var(--cg-primary); color:var(--cg-primary); }
.cg-search-suggestions p { font-size:12px; color:var(--cg-muted); margin:0 0 16px; }
.cg-search-suggestions .cg-history-clear { border:0; padding-left:0; margin-top:14px; background:transparent; color:var(--cg-muted); font-size:11px; }
/* Search and archive routes share a left, progressively disclosed category tree. */
.cgwind-site .cg-browse { display:grid; grid-template-columns:240px minmax(0,1fr); column-gap:28px; align-items:start; }
.cg-resource-sidebar { grid-column:1; grid-row:1 / span 2; min-width:0; position:sticky; top:48px; max-height:calc(100vh - 64px); overflow-y:auto; overflow-x:hidden; padding:0 10px 18px 0; scrollbar-width:thin; scrollbar-color:var(--cg-scroll-thumb) transparent; }
.cg-browse>.cg-find { grid-column:2; grid-row:1; margin-top:0; }
.cg-browse>.cg-catalog-results { grid-column:2; grid-row:2; min-width:0; }
.cg-sidebar-title { display:flex; align-items:center; justify-content:space-between; padding:0 2px 16px; font-size:13px; letter-spacing:1px; color:var(--cg-muted); cursor:pointer; }
.cg-sidebar-title::marker,.cg-side-group>summary::marker,.cg-side-software>summary::marker { content:''; }
.cg-sidebar-title::-webkit-details-marker,.cg-side-group>summary::-webkit-details-marker,.cg-side-software>summary::-webkit-details-marker { display:none; }
.cg-side-group { margin-bottom:12px; }
.cg-side-category-art { display:block; position:relative; aspect-ratio:3.8/1; border:1px solid var(--cg-border); border-radius:8px; background-image:url('category-strip.png'); background-size:var(--strip-size) 117.5%; background-position:var(--strip-x) 50%; cursor:pointer; list-style:none; }
.cg-side-model { --strip-size:558.55%; --strip-x:1.291%; }
.cg-side-motion { --strip-size:527.33%; --strip-x:24.637%; }
.cg-side-scene { --strip-size:517.68%; --strip-x:49.635%; }
.cg-side-fx { --strip-size:514.55%; --strip-x:74.854%; }
.cg-side-other { --strip-size:551.3%; --strip-x:98.705%; }
.cg-side-group[open]>.cg-side-category-art { border-color:var(--cg-primary); box-shadow:0 0 0 2px #eab26b12; }
.cg-side-indicator { position:absolute; right:5px; top:50%; transform:translateY(-50%) rotate(-90deg); background:#24262bea; color:var(--cg-text); width:25px; text-align:center; border-radius:4px; font-size:18px; }
.cg-side-group[open] .cg-side-indicator { transform:translateY(-50%); color:var(--cg-primary); }
.cg-side-software-list { margin-top:8px; border-left:1px solid var(--cg-border); padding-left:8px; }
.cg-side-software>summary { display:flex; align-items:stretch; cursor:pointer; border-radius:6px; list-style:none; }
.cg-side-software>summary:hover { background:var(--cg-surface); }
.cg-side-software>summary>a { display:flex; align-items:center; gap:9px; min-width:0; flex:1; padding:21px 7px 12px; position:relative; font:500 13px/1.4 var(--cg-body); color:var(--cg-text); }
.cg-side-software>summary>a .cg-software-logo { width:24px; height:24px; flex:none; }
.cg-side-chevron { display:flex; align-items:center; justify-content:center; width:32px; flex:none; font-size:22px; color:var(--cg-muted); border-left:1px solid #ffffff08; }
.cg-side-software[open]>summary .cg-side-chevron { transform:rotate(90deg); border:0; color:var(--cg-primary); }
.cg-side-count { position:absolute; right:7px; top:4px; display:inline-flex; justify-content:center; align-items:center; padding:1px 6px; min-width:21px; height:17px; border-radius:12px; background:#414348; color:#eee; font:600 10px/1.4 Arial,sans-serif; }
.cg-side-topics { padding:5px 0 10px 15px; }
.cg-side-topics>a { display:block; position:relative; padding:12px 38px 10px 10px; margin-bottom:4px; border:1px solid transparent; border-radius:6px; color:var(--cg-muted); font-size:12px; }
.cg-side-topics>a:hover,.cg-side-topics>a[aria-current=page],.cg-side-software a[aria-current=page] { background:#eab26b0c; color:var(--cg-primary); border-color:#eab26b30; }
.cg-side-topics .cg-side-count { top:5px; right:5px; }
@media(max-width:1100px) { .cgwind-site .cg-browse { grid-template-columns:210px minmax(0,1fr); gap:20px; } .cg-browse .cg-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) { .cgwind-site .cg-browse { display:block; } .cg-resource-sidebar { position:static; max-height:380px; padding-right:4px; margin-bottom:22px; } .cg-sidebar-shell>nav { max-width:100%; } .cg-side-category-art { aspect-ratio:4.5/1; } .cg-sidebar-title { position:sticky; top:0; z-index:5; background:var(--cg-background); padding:12px 2px; } .cg-side-software>summary>a { font-size:14px; } .cg-side-topics>a { font-size:13px; } }
@media(max-width:560px) { .cg-browse .cg-grid { grid-template-columns:1fr; } }
/* Connected category tree, matching the user's blue-lit reference. */
.cg-side-group { --branch-accent:#42b7ff; }
.cg-side-group:has(.cg-side-fx) { --category-accent:#b849ff; }
.cg-side-group[open]>.cg-side-category-art { border-color:var(--category-accent,var(--branch-accent)); box-shadow:0 0 10px color-mix(in srgb,var(--category-accent,var(--branch-accent)) 25%,transparent); }
.cg-side-software-list { position:relative; margin:12px 0 0 12px; padding-left:14px; border-color:#59636d; }
.cg-side-software { position:relative; margin-bottom:7px; }
.cg-side-software::before,.cg-side-topics>a::before { content:''; position:absolute; width:7px; height:7px; border-radius:50%; background:#85909c; left:-18px; top:22px; z-index:1; }
.cg-side-software::after { content:''; position:absolute; width:13px; height:1px; background:#59636d; left:-14px; top:25px; }
.cg-side-software>summary { border:1px solid #46505a; background:linear-gradient(110deg,#202930,#181c21); box-shadow:inset 0 0 0 1px #ffffff06; }
.cg-side-software>summary>a { padding:10px 39px 10px 9px; min-height:46px; font-weight:600; gap:9px; }
.cg-side-software[open]>summary { border-color:#51bdff; background:linear-gradient(110deg,#12508080,#173e6366); box-shadow:inset 0 0 12px #168efe2b,0 0 8px #129fff20; }
.cg-side-software[open]::before { background:#44bcff; }
.cg-side-software[open]>summary a { color:#f3f7fb; }
.cg-side-software .cg-side-count { top:50%; transform:translateY(-50%); right:4px; font-size:11px; min-width:30px; height:22px; padding:2px 7px; background:#ffffff1f; }
.cg-side-chevron { color:#a6b4c1; border:0; width:29px; }
.cg-side-topics { position:relative; margin:6px 0 10px 17px; padding:0 0 0 12px; border-left:1px solid #687681; }
.cg-side-topics>a { display:flex; align-items:center; gap:5px; min-height:39px; padding:9px 57px 9px 10px; margin-bottom:5px; border:1px solid #37424b; background:linear-gradient(110deg,#202a31,#171c21); font-weight:500; border-radius:7px; color:#bdc4cb; }
.cg-side-topics>a::before { left:-16px; top:16px; }
.cg-side-topics>a::after { content:'›'; position:absolute; right:9px; top:50%; transform:translateY(-50%); font-size:19px; color:#a7b5c2; }
.cg-side-topics .cg-side-count { right:27px; min-width:27px; height:21px; font-size:11px; }
.cg-side-topics>a[aria-current=page],.cg-side-topics>a:hover { border-color:#45bcff; background:linear-gradient(110deg,#164974b3,#123e66aa); box-shadow:inset 0 0 12px #128ffc20; color:#fff; }
.cg-side-topics>a[aria-current=page]::before { background:#44c6ff; box-shadow:0 0 8px #28b9ff; }
.cg-side-topics>a[aria-current=page] .cg-side-count { background:#008eeb; }
.cg-resource-parameters { margin-bottom:26px; }
.cg-parameter-panel { padding:12px 20px; background:var(--cg-surface); border:1px solid var(--cg-border); border-radius:10px; }
.cg-resource-parameters dl { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; margin:0; }
.cg-resource-parameters dl>div { border-bottom:1px solid var(--cg-border); padding-bottom:12px; min-width:0; }
.cg-resource-parameters dt { font-size:12px; color:var(--cg-muted); font-weight:400; margin-bottom:6px; }
.cg-resource-parameters dd { margin:0; font-size:14px; color:var(--cg-text); overflow-wrap:anywhere; }
.cg-resource-parameters dd a { color:#6bcaff; }
.cg-post-section>h2,.cg-resource-parameters>h2 { color:#6bcaff; }
.cg-post-section video { max-width:100%; border-radius:8px; }
@media(max-width:560px) { .cg-parameter-panel { padding:8px 14px; } .cg-resource-parameters dl { gap:12px; } }
@media(max-width:900px) { .cg-hero-inner { min-height:270px; } .cg-sort { width:100%; } .cg-results-heading { flex-wrap:wrap; } }
@media(max-width:560px) { .cg-hero-inner { padding-block:28px 32px; min-height:240px; } .cg-hero h1 { width:min(340px,100%); margin-bottom:10px; } .cg-tagline { letter-spacing:.04em; } .cg-category { padding:12px; min-height:88px; } .cg-category strong { font-size:18px; } .cgwind-site .cg-topic-links { grid-template-columns:repeat(2,minmax(0,1fr)); } .cg-search-suggestions { min-width:0; width:100%; max-width:none; } }
