/* A readable, crawlable hierarchy: category, subcategory, then the tool. */
html{scroll-padding-top:96px}
.fs-header{top:0;padding:0;background:color-mix(in srgb,var(--solid) 96%,transparent);border-bottom:1px solid var(--line);backdrop-filter:blur(18px) saturate(140%)}
.fs-header.scrolled{box-shadow:0 12px 35px -28px #0008}
.header-frame{position:relative;border:0;border-radius:0;background:transparent;box-shadow:none}
.fs-header .nav-shell,[data-theme] .fs-header .nav-shell{display:grid;grid-template-columns:auto minmax(0,1fr) auto;min-height:78px;padding:0;gap:28px;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}
[data-theme] .fs-header.scrolled .nav-shell{background:transparent;box-shadow:none}
.brand--inspect{gap:10px;font-size:25px;font-weight:700;letter-spacing:-1.25px;flex-shrink:0}
.brand--inspect .brand-mark{width:42px;height:42px;border:1px solid #ffffff1f;border-radius:12px;transform:none;background:#172231;color:#f8f6ee;box-shadow:0 9px 25px -13px #172231cc,inset 0 1px #ffffff17}
.brand-logo{width:30px;height:30px;overflow:visible;fill:none;stroke-linecap:round;stroke-linejoin:round}
.brand-logo-window,.brand-logo-bar{stroke:#f8f6ee;stroke-width:1.55}
.brand-logo-lens{stroke:#ff8765;stroke-width:1.75}
.brand-wordmark{display:block;padding-bottom:2px}
.brand-emphasis{color:var(--accent)}
.brand-tld{margin-left:2px;font:700 10px/1 var(--font-ui);letter-spacing:.02em;color:var(--ink-3)}
.fs-footer .brand-tld{color:#aab7c6}
.fs-footer .brand--inspect .brand-mark{border-color:#ffffff2b;box-shadow:none}
.desktop-nav{gap:clamp(18px,1.8vw,28px);flex-shrink:0}.desktop-nav:empty{display:none}
.desktop-nav a{display:flex;position:relative;align-items:center;justify-content:center;width:auto;height:44px;padding:0;border:0;border-radius:0;background:transparent;font-size:13px;font-weight:600;line-height:1.2;letter-spacing:-.01em;color:var(--ink-2);transition:color .2s}
.desktop-nav a:hover{color:var(--ink)}
.desktop-nav a.active{color:var(--accent)}
.desktop-nav a.active:after{bottom:3px;left:50%;width:18px;height:2px;border-radius:2px;transform:translateX(-50%);background:var(--accent)}
.category-navigation{display:flex;align-items:center;justify-content:center;min-width:0;gap:clamp(20px,2vw,34px);margin:0;border:0}
.category-menu{min-width:0}
.category-menu>summary{display:flex;position:relative;align-items:center;gap:7px;min-height:44px;padding:11px 10px;font-size:13px;font-weight:600;line-height:1.5;letter-spacing:-.01em;white-space:nowrap;cursor:pointer;list-style:none;border-radius:0;transition:color .2s}
.desktop-categories .category-menu{width:auto}
.desktop-categories .category-menu>summary{justify-content:center;width:auto;height:44px;min-height:44px;padding:0;gap:6px;border:0;border-radius:0;background:transparent;color:var(--ink-2)}
.category-menu>summary::-webkit-details-marker{display:none}
.category-menu>summary>.icon{width:18px;height:18px;color:var(--accent)}
.desktop-categories .category-menu>summary>.icon{display:none}
.category-menu>summary>span:not(.nav-chevron){flex:1}
.desktop-categories .category-menu>summary>span:not(.nav-chevron){flex:0 1 auto}
.nav-chevron{width:5px;height:5px;border-right:1.25px solid currentColor;border-bottom:1.25px solid currentColor;opacity:.62;transform:rotate(45deg);flex-shrink:0;transition:transform .2s,opacity .2s}
.category-menu[open]>summary,.category-menu>summary:hover{background:var(--inset);color:var(--accent)}
.desktop-categories .category-menu[open]>summary,.desktop-categories .category-menu>summary:hover{background:transparent;color:var(--ink)}
.desktop-categories .category-menu.category-current>summary{background:transparent;color:var(--accent)}
.desktop-categories .category-menu[open]>summary:after,.desktop-categories .category-menu.category-current>summary:after{content:'';position:absolute;left:50%;bottom:3px;width:18px;height:2px;border-radius:2px;background:var(--accent);transform:translateX(-50%)}
[data-theme=light] .fs-header .nav-shell{border-color:#242529}
[data-theme=light] .desktop-categories .category-menu>summary,[data-theme=light] .desktop-nav a{color:#242529;font-weight:700}
[data-theme=light] .nav-actions .icon-button{color:#242529}
[data-theme=dark] .desktop-categories .category-menu>summary,[data-theme=dark] .desktop-nav a{color:#f7f4ee;font-weight:700}
[data-theme=dark] .nav-actions .icon-button{color:#f7f4ee}
.category-menu[open]>summary .nav-chevron{opacity:1;transform:rotate(225deg)}
.category-menu.category-current>summary{color:var(--accent);background:var(--inset)}
@media(min-width:981px){.nav-actions{gap:4px}.nav-actions .icon-button{width:42px;height:44px;border:0;border-radius:50%;background:transparent;transition:background .2s,color .2s}.nav-actions .icon-button:hover{background:var(--accent-soft);color:var(--accent)}}
.desktop-categories .site-menu{min-width:0}
.desktop-categories .site-menu>summary{display:flex;position:relative;align-items:center;justify-content:center;gap:7px;height:48px;list-style:none;cursor:pointer;font-size:14px;font-weight:650;color:#242529;white-space:nowrap}
.desktop-categories .site-menu>summary::-webkit-details-marker{display:none}
[data-theme=dark] .desktop-categories .site-menu>summary{color:#f7f4ee}
.desktop-categories .site-menu[open]>summary,.desktop-categories .site-menu>summary:hover{color:var(--accent)}
.desktop-categories .site-menu[open]>summary:after,.desktop-categories .site-menu.category-current>summary:after{content:'';position:absolute;left:50%;bottom:3px;width:18px;height:2px;border-radius:2px;background:var(--accent);transform:translateX(-50%)}
.desktop-section-link{display:flex;position:relative;align-items:center;justify-content:center;height:48px;font-size:14px;font-weight:650;line-height:1.2;color:#242529;white-space:nowrap;transition:color .2s}
[data-theme=dark] .desktop-section-link{color:#f7f4ee}.desktop-section-link:hover,.desktop-section-link.active{color:var(--accent)}
.desktop-section-link.active:after{content:'';position:absolute;left:50%;bottom:3px;width:18px;height:2px;border-radius:2px;background:var(--accent);transform:translateX(-50%)}
.site-menu[open]>summary .nav-chevron{opacity:1;transform:rotate(225deg)}
.site-mega{position:absolute;top:calc(100% + 8px);left:-1px;right:-1px;display:grid;gap:22px;padding:26px;border:1px solid var(--line-2);border-radius:16px;background:var(--solid);box-shadow:0 32px 80px -32px #0008;overflow:hidden}
.site-menu[open] .site-mega{animation:nav-entrance .18s ease-out}
.site-mega--tools{grid-template-columns:minmax(0,1fr) 255px}
.site-mega-head{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.site-mega-head>span,.mega-category-title>span:first-child,.resource-menu-grid>a>span:first-child,.mega-feature-icon{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:10px;background:var(--inset);color:var(--accent);flex-shrink:0}
.site-mega-head .icon{width:20px;height:20px}.site-mega-head small,.mega-feature-label,.resource-feature>span{display:block;margin-bottom:4px;font:700 8px/1.4 var(--font-mono);letter-spacing:.12em;color:var(--accent)}
.site-mega-head h2{font-size:20px;line-height:1.2}.site-mega-head p{margin-top:4px;font-size:11px;color:var(--ink-2)}
.site-mega-head>a{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;color:var(--accent)}.site-mega-head>a .icon{width:14px;height:14px}
.mega-tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.mega-category{min-width:0;padding:17px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.mega-category-title{display:flex;align-items:flex-start;gap:12px}.mega-category-title>span:first-child{width:36px;height:36px;color:var(--menu-color)}.mega-category-title .icon{width:19px;height:19px}
.mega-category-title strong{display:block;font-size:13px;line-height:1.4}.mega-category-title small{display:block;margin-top:4px;font-size:9px;line-height:1.55;color:var(--ink-3)}
.mega-category ul{display:grid;grid-template-columns:1fr 1fr;gap:3px 12px;margin:14px 0 10px;padding:12px 0 0;border-top:1px solid var(--line);list-style:none}
.mega-category li>a{display:flex;align-items:center;gap:7px;padding:5px 0;font-size:10px;line-height:1.45;color:var(--ink-2)}.mega-category li>a .icon{width:13px;height:13px;color:var(--menu-color)}
.mega-category li>a:hover,.mega-category li>a[aria-current]{color:var(--accent)}
.mega-category-more{display:flex;align-items:center;gap:7px;font-size:9px;font-weight:700;color:var(--ink)}.mega-category-more .icon{width:12px;height:12px;color:var(--menu-color)}
.mega-feature,.resource-feature{display:flex;flex-direction:column;min-width:0;padding:22px;border:1px solid color-mix(in srgb,var(--accent) 42%,var(--line));border-radius:13px;background:linear-gradient(145deg,var(--accent-soft),var(--solid));box-shadow:inset 0 1px #ffffff35}
.mega-feature-icon{width:46px;height:46px;margin:20px 0;color:var(--accent)}.mega-feature-icon .icon{width:24px;height:24px}
.mega-feature strong,.resource-feature strong{font-size:19px;line-height:1.25}.mega-feature p,.resource-feature p{margin:9px 0 18px;font-size:10px;line-height:1.7;color:var(--ink-2)}
.mega-feature-link,.resource-feature em{display:flex;align-items:center;gap:8px;margin-top:auto;font-size:10px;font-style:normal;font-weight:700;color:var(--accent)}.mega-feature-link .icon,.resource-feature em .icon{width:13px;height:13px}
.site-mega--resources{grid-template-columns:minmax(0,1.45fr) minmax(250px,.55fr);width:min(760px,calc(100% - 80px));left:auto}
.resource-menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.resource-menu-grid>a{display:flex;align-items:flex-start;gap:12px;padding:15px;border:1px solid transparent;border-radius:11px}.resource-menu-grid>a:hover,.resource-menu-grid>a[aria-current]{border-color:var(--line);background:var(--inset)}
.resource-menu-grid>a>span:first-child{width:36px;height:36px}.resource-menu-grid .icon{width:18px;height:18px}.resource-menu-grid strong{display:block;font-size:12px}.resource-menu-grid small{display:block;margin-top:5px;font-size:9px;line-height:1.55;color:var(--ink-3)}
.category-dropdown{position:absolute;top:calc(100% + 8px);left:-1px;right:-1px;max-height:calc(100dvh - 115px);overflow-y:auto;overscroll-behavior:contain;padding:24px 28px 29px;border:1px solid var(--line-2);border-radius:10px;background:var(--solid);box-shadow:0 25px 65px -28px #0005}
.category-menu[open] .category-dropdown{animation:nav-entrance .18s ease-out}
.dropdown-parent{padding-bottom:18px;margin-bottom:23px;border-bottom:1px solid var(--line)}
.dropdown-parent>a{display:flex;align-items:center;justify-content:space-between;gap:20px;font:700 23px/1.4 var(--font-display);letter-spacing:-.025em}
.dropdown-parent>a>span{display:flex;align-items:center;gap:10px;font:600 12px/1.5 var(--font-ui);letter-spacing:0;color:var(--accent)}
.dropdown-parent .icon,.dropdown-subcategory .icon{width:15px;height:15px}
.dropdown-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.dropdown-groups>section{min-width:0}
.dropdown-subcategory{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:700;line-height:1.6;margin-bottom:10px;color:var(--ink)}
.dropdown-subcategory .icon{color:var(--accent);flex-shrink:0}
.dropdown-groups ul{list-style:none;padding:0;margin:0}
.dropdown-groups li>a{display:block;padding:8px 0;font-size:12px;line-height:1.7;color:var(--ink-2)}
.category-dropdown a:hover,.category-dropdown a[aria-current],.topic-directory a:hover,.subcategory-links a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:4px}
.mobile-nav,.mobile-categories{display:none}
.lux-hero{margin-top:-80px;padding-top:180px}
.breadcrumb{display:block;line-height:1.8}
.breadcrumb ol{list-style:none;display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 10px;padding:0;margin:0}
.breadcrumb li{display:flex;align-items:baseline;gap:10px;min-width:0}
.breadcrumb li:last-child{color:var(--ink-2)}
.breadcrumb-separator{color:var(--ink-3)}
.breadcrumb a:hover{text-decoration:underline;text-underline-offset:4px;color:var(--accent)}
.collection-page{padding-bottom:85px}
.collection-page .page-heading{max-width:1050px;margin-bottom:36px}
.collection-page .page-heading h1{font-size:clamp(43px,5.5vw,72px);max-width:25ch;font-weight:700}
.collection-page .page-heading .lede{margin-top:24px;max-width:76ch;font-size:15px;line-height:1.9}
.topic-directory{padding:25px 0 28px;border-block:1px solid var(--line);margin-bottom:45px}
.topic-directory-label,.subcategory-links>p{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:20px}
.topic-parents{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;margin:0;padding:0}
.topic-parents>li{min-width:0}
.topic-parent{display:block;font:700 19px/1.4 var(--font-display);letter-spacing:-.035em}
.topic-parent>span{display:block;font:500 10px/1.6 var(--font-ui);letter-spacing:0;color:var(--ink-3);margin-top:6px}
.topic-parents ul{list-style:none;margin:16px 0 0;padding:0 0 0 13px;border-left:1px solid var(--line-2)}
.topic-parents ul a{display:block;font-size:12px;line-height:1.7;padding:6px 0;color:var(--ink-2)}
.topic-directory [aria-current],.topic-current>.topic-parent{color:var(--accent)}
.topic-directory [aria-current]{text-decoration:underline;text-underline-offset:4px}
.subcategory-links{border-block:1px solid var(--line);padding:23px 0;margin:0 0 40px}
.subcategory-links>p{margin-bottom:14px}
.subcategory-links ul{display:flex;flex-wrap:wrap;gap:12px 30px;list-style:none;margin:0;padding:0}
.subcategory-links a{display:inline-flex;align-items:center;gap:12px;font-size:13px;font-weight:600;padding:6px 0}
.subcategory-links a>span{font:500 10px var(--font-mono);color:var(--ink-3)}
.subcategory-links [aria-current]{color:var(--accent);text-decoration:underline;text-underline-offset:5px}
.collection-list-heading{margin-bottom:27px}
.collection-list-heading h2{font-size:34px;font-weight:700}
.collection-list-heading>p{font-size:13px;color:var(--ink-2);margin-top:12px;max-width:80ch}
.tool-group-heading{padding:25px 28px;background:var(--solid-2);border-bottom:1px solid var(--line)}
.tool-group-heading h2{font-size:25px;font-weight:700;line-height:1.3;letter-spacing:-.035em}
.tool-group-heading h2 a:hover{color:var(--accent)}
.tool-group-heading h2 span{font-family:var(--font-ui);font-size:20px;color:var(--accent);margin-left:8px}
.tool-group-heading p{font-size:12px;line-height:1.8;color:var(--ink-2);margin-top:12px;max-width:90ch}
.collection-back{margin-top:30px;display:inline-flex}
.all-tools-section{padding-bottom:0}
.article-topic{display:flex;flex-direction:column;gap:5px;margin:19px 0 13px;font-size:11px;line-height:1.6;color:var(--ink-2)}
.article-topic>span:first-child{font-weight:700;color:var(--accent)}
.article-topic>span:last-child{border-left:1px solid var(--line-2);padding-left:10px}
.article-subtopic{font-size:13px;color:var(--ink-2);margin:-7px 0 24px}
.blog-collection .journal-card h3{font-size:28px;font-weight:700;line-height:1.2}
.blog-collection .journal-card>p{font-size:13px;line-height:1.9}
.blog-collection .journal-art{border-radius:7px}
.blog-collection .journal-meta{margin-bottom:15px}
.blog-collection .journal-grid{row-gap:50px}
@keyframes nav-entrance{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media(min-width:981px) and (max-width:1250px){
  .fs-header .nav-shell,[data-theme] .fs-header .nav-shell{gap:clamp(12px,1.4vw,18px);padding-inline:12px}
  .category-navigation,.desktop-nav{gap:clamp(12px,1.4vw,18px)}
  .desktop-categories .site-menu>summary,.desktop-section-link{font-size:12px}
  .category-menu>summary,.desktop-nav a{font-size:12px}
  .nav-shell .brand--inspect{font-size:22px;gap:7px}
  .nav-shell .brand--inspect .brand-mark{width:36px;height:36px}
  .nav-shell .brand--inspect .brand-logo{width:26px;height:26px}
  .nav-actions{gap:2px}.nav-actions .icon-button{width:40px;height:44px}
}
@media(max-width:980px){
  html{scroll-padding-top:110px}
  .fs-header{top:10px;background:transparent;border-bottom:0;backdrop-filter:none}
  .header-frame{border:1px solid var(--line-2);border-radius:12px;background:var(--solid);box-shadow:0 16px 38px -28px #0004}
  .desktop-nav,.desktop-categories{display:none}
  .mobile-toggle{display:grid}
  .fs-header .nav-shell,[data-theme] .fs-header .nav-shell{display:flex;min-height:70px;padding:12px 15px;gap:12px;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}
  .mobile-nav{display:block;position:absolute;top:calc(100% + 9px);left:-1px;right:-1px;width:auto;margin:0;padding:8px 18px 18px;border:1px solid var(--line-2);border-radius:10px;background:var(--solid);max-height:calc(100dvh - 112px);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 20px 50px -25px #0006}
  .mobile-main-links{display:flex;gap:26px;padding:10px 0 16px}
  .mobile-main-links>a{padding:8px 0;font-size:14px;font-weight:700}
  .mobile-main-links>a.active{color:var(--accent);text-decoration:underline;text-underline-offset:6px}
  .mobile-categories{display:block;border-top:1px solid var(--line)}
  .category-menu+.category-menu{border-left:0;border-top:1px solid var(--line)}
  .category-menu>summary{font-size:14px;min-height:57px;padding:16px 3px;border-radius:0!important;white-space:normal}
  .category-menu.category-current>summary{box-shadow:none}
  .category-menu[open]>summary,.category-menu>summary:hover,.category-menu.category-current>summary{background:transparent}
  .category-dropdown{position:static;max-height:none;overflow:visible;padding:0 0 23px 28px;border:0;border-radius:0;box-shadow:none;background:none}
  .dropdown-parent{padding-bottom:14px;margin-bottom:19px}
  .dropdown-parent>a{display:block;font:700 15px/1.5 var(--font-ui);letter-spacing:0}
  .dropdown-parent>a>span{margin-top:7px;font-size:11px}
  .dropdown-groups{grid-template-columns:1fr;gap:23px}
  .dropdown-subcategory{font-size:13px;margin-bottom:5px}
  .dropdown-groups li>a{font-size:13px;padding:10px 0}
  .mobile-approach{display:block;border-top:1px solid var(--line);padding-top:17px;font-size:12px;color:var(--ink-2)}
  .lux-hero{margin-top:-90px;padding-top:160px}
  .topic-parents{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
}
@media(max-width:700px){
  .fs-header .nav-shell,[data-theme] .fs-header .nav-shell{padding:10px 11px;min-height:65px;gap:8px}
  .nav-shell .brand--inspect{font-size:23px;gap:8px;letter-spacing:-1px}
  .nav-shell .brand--inspect .brand-mark{width:37px;height:37px;border-radius:10px}
  .nav-shell .brand--inspect .brand-logo{width:27px;height:27px}
  .nav-actions{gap:5px}.nav-actions .icon-button{width:34px;height:36px;border:0}
  .breadcrumb{font-size:10px;margin-block:32px 26px}
  .breadcrumb ol{gap:6px 8px}.breadcrumb li{gap:8px}
  .collection-page{padding-bottom:60px}
  .collection-page .page-heading{margin:30px 0}
  .collection-page .page-heading h1{font-size:42px;overflow-wrap:break-word}
  .collection-page .page-heading .lede{font-size:13px;margin-top:20px}
  .topic-directory{padding-block:21px;margin-bottom:32px}
  .topic-parents{gap:25px 16px}.topic-parent{font-size:18px}
  .topic-parents ul{padding-left:9px;margin-top:12px}
  .topic-parents ul a{font-size:11px;padding-block:7px}
  .topic-directory-label,.subcategory-links>p{font-size:10px}
  .subcategory-links{margin-bottom:30px}.subcategory-links ul{display:block}
  .subcategory-links a{font-size:12px;line-height:1.7;padding:9px 0}
  .collection-list-heading h2{font-size:29px}.collection-list-heading>p{font-size:12px}
  .tool-group-heading{padding:22px 20px}.tool-group-heading h2{font-size:24px}
  .tool-group-heading p{font-size:12px}.article-subtopic{font-size:12px}
  .blog-collection .journal-grid{row-gap:38px}
}
@media(max-width:359px){
  .nav-shell .brand--inspect{font-size:21px}
  .brand-tld{font-size:8px}
  .nav-actions{gap:2px}.nav-actions .icon-button{width:30px}
  .topic-parents{grid-template-columns:1fr}
}
::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}
::view-transition-old(root){z-index:1}
::view-transition-new(root){z-index:2}
@media(prefers-reduced-motion:reduce){
  .category-menu[open] .category-dropdown{animation:none}
  .category-menu>summary,.nav-chevron{transition:none}
}
@media print{.topic-directory,.subcategory-links{display:none}}
