/* Connected World only. Approved V2 component declarations, scoped to #catalog. */
#catalog .directory-controls{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;padding:24px;border:1px solid #bfa1d527;border-radius:20px;background:#14101c}
#catalog .directory-controls label{display:flex;flex-direction:column;gap:10px;min-width:0;font-size:11px;font-weight:500;color:#c6b8d4;letter-spacing:.01em}
#catalog .input-shell{display:flex;align-items:center;gap:12px;min-height:52px;border:1px solid #ae94c139;border-radius:11px;background:#1a1423;padding:0 15px;transition:border-color .16s}
#catalog .input-shell svg{width:18px;height:18px;color:#aa96ba;flex-shrink:0}
#catalog .input-shell input{border:0;border-radius:0;outline:0;appearance:none;-webkit-appearance:none;min-width:0;width:100%;padding:13px 0;background:transparent;color:#f4edf9;font-size:14px;caret-color:#fff}
#catalog .input-shell input:is(:focus,:focus-visible){outline:0;outline-offset:0;box-shadow:none}
#catalog .input-shell input::placeholder{color:#8e7f9f}
#catalog .input-shell:focus-within{border-color:#b18bcc;outline:0;outline-offset:0;box-shadow:none}
#catalog .category-control select{width:100%;min-height:52px;padding:12px 15px;background:#1a1423;color:#e4d8ed;border:1px solid #ae94c139;border-radius:11px;font-size:14px;cursor:pointer}
#catalog .category-control select:is(:focus,:focus-visible){outline:0;outline-offset:0;box-shadow:none;border-color:#b18bcc}
#catalog .directory-filter-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0 22px}
#catalog .directory-tabs{display:flex;gap:7px;flex-wrap:wrap}
#catalog .directory-tabs button{border:1px solid transparent;border-radius:22px;background:transparent;color:#b9a8c8;min-height:40px;padding:9px 15px;font-size:12px;line-height:1.4;transition:background-color .18s,color .18s,border-color .18s}
#catalog .directory-tabs button[aria-pressed=true]{background:#342341;color:#e8d8f7;border-color:#b18bcc4d}
#catalog .directory-tabs button:hover{color:#f4e6ff;border-color:#b18bcc38}
#catalog .results-and-reset{display:flex;align-items:center;gap:14px;flex-shrink:0}
#catalog #brand-results{font-size:12px;color:#a99ab9;white-space:nowrap}
#catalog .reset-filters{padding:8px 0;min-height:40px;font-size:12px;color:#dcc1f0;border:0;background:none;text-decoration:underline;text-underline-offset:4px}
#catalog .directory-grid{grid-auto-rows:1fr;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
#catalog .directory-card{min-width:0;display:flex;flex-direction:column;min-height:263px;padding:25px 25px 19px;border:1px solid #b59bc52b;border-radius:20px;background:linear-gradient(135deg,#1b1524,#14101b);box-shadow:0 6px 22px #00000012;transition:border-color .2s,box-shadow .2s,transform .2s}
#catalog .brand-heading{display:flex;align-items:center;gap:15px;min-width:0}
#catalog .brand-heading>div{min-width:0}
#catalog .brand-avatar{width:52px;height:52px;aspect-ratio:1;object-fit:contain;border-radius:14px;flex-shrink:0;background:none;filter:none;box-shadow:0 2px 8px #0003}
#catalog .brand-heading h3{font-size:22px;line-height:1.3;font-weight:550;letter-spacing:-.03em}
#catalog .brand-categories{font-size:10px;line-height:1.6;color:#a995ba;margin-top:5px}
#catalog .family-summary{font-size:14px;line-height:1.8;color:#bfb1cc;margin-top:25px;flex:1;min-height:76px;overflow-wrap:anywhere}
#catalog .explore-brand{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:44px;margin-top:18px;padding:13px 0 3px;border:0;border-top:1px solid #b89ccb1f;background:none;color:#d9bdee;font-size:12px;font-weight:550;text-align:left;line-height:1.5}
#catalog .explore-brand span{font-size:20px;font-weight:400;transition:transform .18s}
/* Card keyboard focus is indicated on its action only; hover styling stays unchanged. */
#catalog .explore-brand:hover{color:#f2e4ff}
#catalog .explore-brand:hover span{transform:translate(2px,-2px)}
#catalog .directory-empty{padding:55px 25px;text-align:center;border:1px solid #b59bc52b;border-radius:20px;background:#17111f}
#catalog .directory-empty h2{font-size:25px;font-weight:500;letter-spacing:-.03em}
#catalog .directory-empty p{color:#b5a5c3;font-size:14px;margin-top:15px}
#catalog .reset-empty{margin-top:23px;padding:12px 19px;min-height:44px;border:1px solid #ba93d154;border-radius:12px;background:#32223f;color:#eddbfa;font-size:13px}
#catalog .directory-boundary{display:flex;align-items:flex-start;gap:12px;padding:24px 0;margin-top:7px;border-top:1px solid #b59bc51a;color:#9888a8}
#catalog .directory-boundary svg{width:18px;height:18px;flex-shrink:0;margin-top:2px}
#catalog .directory-boundary p{font-size:11px;line-height:1.8;max-width:890px}
#catalog #brand-details{width:min(720px,calc(100% - 32px));max-height:calc(100dvh - 48px);padding:0;border:1px solid #b99ad252;border-radius:24px;background:#17111f;color:#f0e8f8;box-shadow:0 30px 120px #0009;overflow:hidden}
#catalog #brand-details[open]{display:flex;flex-direction:column}
#catalog #brand-details::backdrop{background:#08050ed9;backdrop-filter:blur(5px)}
html.directory-dialog-open{overflow:hidden}
#catalog .details-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 28px;background:#20162b;border-bottom:1px solid #b99ad228;flex-shrink:0}
#catalog .details-brand{display:flex;align-items:center;gap:17px;min-width:0}
#catalog .details-brand h2{font-size:28px;line-height:1.25;letter-spacing:-.03em;font-weight:550}
#catalog .details-brand .eyebrow{font-size:9px;margin-bottom:5px}
#catalog .details-top form{margin:0}
#catalog .close-details{display:grid;place-items:center;width:40px;height:40px;min-height:40px;border:1px solid #b99ad230;border-radius:11px;background:#2e203a;color:#cfb7df;font-size:24px;line-height:1}
#catalog .close-details:hover{background:#3d2a4c;color:white}
#catalog .details-body{padding:25px 28px 28px;overflow:auto;overscroll-behavior:contain}
#catalog .details-body>p{font-size:14px;line-height:1.8;color:#bfb0ce;margin-bottom:27px}
#catalog .details-body h3{font-size:15px;font-weight:550;letter-spacing:-.015em;margin-bottom:20px}
#catalog .device-record{padding:19px 0;border-top:1px solid #b99ad228}
#catalog .record-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}
#catalog .device-record h4{font-size:13px;line-height:1.6;color:#dfc9ee;margin:0;font-weight:550}
#catalog .device-record .record-support{font-size:10px;color:#a893b9;line-height:1.6;text-align:right}
#catalog .device-record p{font-size:14px;line-height:1.75;color:#d1c1de;margin-top:10px;overflow-wrap:anywhere}
#catalog .details-body .details-boundary{font-size:11px;line-height:1.8;padding:17px;border:1px solid #b99ad228;border-radius:12px;background:#21162a;margin:20px 0}
#catalog .details-links{display:flex;gap:15px;justify-content:space-between;flex-wrap:wrap}
#catalog .details-links a{display:flex;gap:14px;align-items:center;min-height:42px;font-size:12px;color:#d8b7ef}
#catalog .details-links a:hover{color:#f6eaff}
#catalog .details-links span{font-size:19px}
#catalog #directory-error{padding:18px;border:1px solid #bc8bb85c;border-radius:12px;background:#2c192c;color:#ecd4e9;font-size:13px;margin-bottom:20px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){#catalog .directory-card:hover{border-color:#bc97da66;box-shadow:0 10px 32px #0003;transform:translateY(-2px)}
}
@media(max-width:980px){#catalog .directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
#catalog .directory-controls{grid-template-columns:minmax(0,1fr) 250px}
#catalog .directory-filter-row{align-items:flex-start}
#catalog .results-and-reset{flex-direction:column;align-items:flex-end;gap:0}
}
@media(max-width:620px){#catalog .directory-controls{grid-template-columns:1fr;padding:18px;gap:17px;border-radius:17px}
#catalog .input-shell input,#catalog .category-control select{font-size:16px}
#catalog .directory-filter-row{display:block;padding:19px 0 18px}
#catalog .directory-tabs{gap:4px}
#catalog .directory-tabs button{font-size:11px;padding:9px 12px;min-height:40px}
#catalog .results-and-reset{margin-top:12px;flex-direction:row;align-items:center;justify-content:space-between;min-height:28px}
#catalog .reset-filters{min-height:32px;padding:5px 0}
#catalog #brand-results{font-size:11px}
#catalog .directory-grid{grid-template-columns:1fr;gap:16px}
#catalog .directory-card{min-height:253px;padding:24px 23px 18px;border-radius:19px}
#catalog .brand-heading h3{font-size:22px}
#catalog .family-summary{font-size:14px;margin-top:22px;min-height:68px}
#catalog .explore-brand{font-size:13px;margin-top:13px}
#catalog .directory-boundary{padding:20px 0}
#catalog .directory-boundary p{font-size:10px}
#catalog #brand-details{width:calc(100% - 24px);max-height:calc(100dvh - 30px);border-radius:20px}
#catalog .details-top{padding:20px;gap:12px}
#catalog .details-brand{gap:13px}
#catalog .details-brand h2{font-size:25px}
#catalog .details-brand .eyebrow{font-size:8px}
#catalog .details-body{padding:22px 20px}
#catalog .record-heading{align-items:flex-start;gap:12px}
#catalog .device-record .record-support{max-width:110px}
#catalog .details-links{display:block}
#catalog .details-links a{padding-block:5px}
}
@media(prefers-reduced-motion:reduce){#catalog .directory-card:hover,#catalog .explore-brand:hover span{transform:none!important}
}

#catalog{max-width:1120px;scroll-margin-top:110px}
#catalog *,#catalog *:before,#catalog *:after{box-sizing:border-box}
#catalog [hidden]{display:none!important}
#catalog .directory-introduction{max-width:750px;margin:0 0 28px;color:#bdb1cb;font-size:15px;line-height:1.8}
#catalog .directory-controls input,#catalog .directory-controls select{font-family:inherit;margin:0;letter-spacing:normal;text-transform:none;box-shadow:none}
#catalog button{font-family:inherit;cursor:pointer;text-transform:none;letter-spacing:normal}
#catalog .directory-card{position:relative;overflow:visible}
#catalog .brand-heading{margin:0}
#catalog .brand-heading h3{margin:0;color:#f2edf8}
#catalog .brand-categories{margin:5px 0 0}
#catalog .family-summary{margin-bottom:0}
#catalog .directory-card .brand-avatar{display:block;max-width:none;margin:0;object-position:center;padding:0;border:0;clip-path:none;opacity:1}
#catalog .avatar-unresolved,.overview-brand .avatar-unresolved{display:grid;place-items:center;color:#a995bb;background:#251c30;border:1px solid #ac8ac138;box-shadow:none}
#catalog .avatar-contrast,.overview-brand .avatar-contrast{background:#f4f4f4}
#catalog .directory-tabs button{width:auto;white-space:normal}
#catalog .directory-grid{margin:0}
#catalog .directory-card:before,#catalog .directory-card:after,#catalog:before,#catalog:after{display:none}
#catalog .explore-brand:focus-visible,#catalog button:focus-visible,#catalog a:focus-visible{outline:2px solid #d4b2fa;outline-offset:4px}
#catalog .details-brand h2{margin:0}
#catalog .details-top .brand-avatar{max-width:none;margin:0;object-fit:contain;filter:none}
#catalog .details-body .device-record{background:none;border-radius:0;margin:0;box-shadow:none}
#catalog .device-record.is-selected{border-left:2px solid #be96df;padding-left:15px}
#catalog .record-heading{align-items:flex-start}
#catalog .record-heading .record-support{max-width:240px}
#catalog .device-record h4{font-size:13px;margin:0}
#catalog .device-record p{margin-bottom:0}
#catalog .details-asset-note{font-size:11px;color:#a995bb;margin:24px 0 0}
#catalog .details-links a{width:auto}
.overview-brand{display:flex;align-items:center;gap:12px;min-height:60px;font-size:14px;color:#e5d8ed}
.overview-brand .brand-avatar,.hue-brand-identity .brand-avatar{width:52px;height:52px;max-width:none;aspect-ratio:1;object-fit:contain;filter:none;border-radius:14px;flex-shrink:0;background:transparent}
.brand-ecosystem-groups .brand-cell{align-items:flex-start;padding:16px;gap:14px}
.brand-ecosystem-groups .brand-family-items{gap:12px}
.hue-brand-identity{display:flex;align-items:center;gap:15px;width:fit-content;min-height:68px;padding:8px 0;background:none;color:#eee2f7;font-size:20px;font-weight:550}
.directory-device-intro{background:none;background-image:none!important;padding-bottom:0}
.directory-device-intro:before,.directory-device-intro:after{display:none!important}
.directory-device-intro>p{max-width:720px;color:#bdb1cb;line-height:1.8}
.directory-device-intro .text-link{display:inline-flex;align-items:center;gap:16px;min-height:44px;margin-top:18px;color:#d9bdee;font-size:14px}
@media(max-width:620px){#catalog{width:calc(100% - 36px)}#catalog .record-heading{flex-direction:column;gap:6px}#catalog .record-heading .record-support{max-width:none;text-align:left}#catalog .brand-heading h3{font-size:21px}#catalog .details-brand h2{font-size:23px}#catalog .directory-introduction{font-size:14px}.overview-brand{font-size:13px}}
@media(prefers-reduced-motion:reduce){#catalog *,#catalog *:before,#catalog *:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}#catalog .directory-card:hover,#catalog .explore-brand:hover span{transform:none!important}}

#catalog .details-links a::after{content:none}
/* WebKit's native menulist ignores min-height; keep the approved control geometry. */
#catalog .category-control{position:relative}
#catalog .category-control select{height:52px;min-height:52px;appearance:none;-webkit-appearance:none;padding-right:42px}
#catalog .category-control:after{content:"";position:absolute;right:19px;bottom:23px;width:7px;height:7px;border-right:1.5px solid #c6b8d4;border-bottom:1.5px solid #c6b8d4;transform:rotate(45deg);pointer-events:none}

/* Shared existing-directory controls: one focus treatment, no inherited glow. */
#catalog .explore-brand:focus{outline:0;box-shadow:none}
#catalog .explore-brand:focus-visible,
#catalog[data-directory-input=keyboard] .explore-brand:focus{outline:2px solid #cba1e9;outline-offset:4px;box-shadow:none}
/* Override the broader catalog :focus-visible rules only for pointer interaction.
   Keep the actual focus target and all keyboard focus indications intact. */
#catalog[data-directory-input=pointer] .explore-brand:is(:focus,:focus-visible){outline:0;outline-offset:0;box-shadow:none}
#catalog .close-details:is(:focus,:focus-visible){outline:0;outline-offset:0;box-shadow:none}
#catalog .close-details:focus-visible{border-color:#b18bcc}
#catalog .details-links a:focus-visible{box-shadow:none}

/* Main-directory lock for the approved isolated profile; other modal states stay independent. */
html.profile-modal-open,html.profile-modal-open body{overflow:hidden}
html.profile-modal-open{scrollbar-gutter:stable}
