/* Reference-led midnight library: illuminated subject icons, glass cards and a warm map. */
.fh-knowledge { --library-gold:#e6bf8d; grid-column:span 8; isolation:isolate; padding:clamp(20px,1.7vw,28px); border-radius:18px; background:radial-gradient(ellipse at 100% 100%,#28336c70,transparent 58%),linear-gradient(135deg,#111835,#111b3f 62%,#18254f); box-shadow:inset 0 0 0 1px #7276cc55,inset 0 2px 0 #9b9cff12,0 8px 24px -14px #0b123d80; scroll-margin-top:24px; }
.fh-knowledge .fh-heading { position:relative; align-items:flex-start; min-height:0; padding-bottom:8px; }
.fh-knowledge .fh-heading>div,.fh-knowledge .fh-heading>.fh-text-link { position:relative; z-index:1; }
.fh-knowledge .fh-heading h2 { color:#f6f7ff; font-size:clamp(23px,1.65vw,30px); line-height:1.35; letter-spacing:.005em; font-weight:650; }
.fh-knowledge .fh-heading p { color:#9ba5c4; margin-top:6px; font-size:clamp(12px,.92vw,15px); }
.fh-knowledge .fh-heading>.fh-text-link { margin-top:9px; color:var(--library-gold)!important; font-size:12px; }
.fh-library-art { position:absolute; top:-14px; right:9%; width:38%; height:calc(100% + 14px); pointer-events:none; background:url('../knowledge/library-atlas.svg') center / contain no-repeat; }
.fh-library-tabs { position:relative; display:flex; gap:34px; border-bottom:1px solid #7582c329; margin-top:0; }
.fh-library-tabs button { position:relative; min-height:38px; padding:0 0 6px; border:0; color:#959fc2; background:transparent; font-size:13px; font-weight:450; }
.fh-library-tabs button[aria-selected="true"] { color:#f5f6ff; font-weight:600; }
.fh-library-tabs button[aria-selected="true"]::after { position:absolute; left:0; right:0; bottom:-1px; height:2px; border-radius:2px; background:linear-gradient(90deg,#eccca2 0%,#edc799 87%,#edc79900 100%); box-shadow:0 0 8px #e5b98030; content:""; }
.fh-library-tabs button:hover { color:#fff; }
.fh-library-index { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(9px,.75vw,12px); padding:12px 0 0; }
.fh-library-subject { --library-top:#a58ce9; --library-bottom:#5939c7; --library-glyph-cutout:#7959d1; position:relative; isolation:isolate; overflow:hidden; display:flex; flex-direction:column; min-width:0; min-height:clamp(126px,7.7vw,142px); padding:12px 13px 10px; border-radius:12px; background:linear-gradient(130deg,#8d89ca28,#808ecb16); box-shadow:inset 0 0 0 1px #c4c8f13b,inset 0 1px 0 #eeefff16,0 6px 15px -12px #050b27; }
.fh-library-subject[data-library-tone="notes"] { --library-top:#7ab7ff; --library-bottom:#2c66d0; --library-glyph-cutout:#4484dc; }
.fh-library-subject[data-library-tone="growth"] { --library-top:#f5aa8a; --library-bottom:#c85d4c; --library-glyph-cutout:#d97860; }
.fh-library-subject[data-library-tone="channel"] { --library-top:#6cd3b9; --library-bottom:#128d82; --library-glyph-cutout:#239d8b; }
.fh-library-subject[data-library-tone="live"] { --library-top:#eaa1b5; --library-bottom:#b65480; }
.fh-library-subject[data-library-tone="editing"] { --library-top:#79c9db; --library-bottom:#337eaa; }
.fh-library-subject[data-library-tone="ai"] { --library-top:#a8a5f4; --library-bottom:#5b63c9; }
.fh-library-subject[data-library-tone="brand"] { --library-top:#e2c497; --library-bottom:#a8793d; }
.fh-library-icon { position:absolute; top:12px; left:13px; display:grid; place-items:center; flex-shrink:0; width:30px; height:30px; border-radius:50%; background:linear-gradient(145deg,var(--library-top),var(--library-bottom) 88%); color:#fff; box-shadow:inset 0 0 0 1px #ffffff35,inset 1px 2px 2px #ffffff45,0 4px 12px -4px #080f4766; }
.fh-library-icon::before { content:""; position:absolute; inset:3px; border-radius:50%; background:linear-gradient(130deg,#ffffff28,transparent 58%); pointer-events:none; }
.fh-library-icon>svg { position:relative; width:18px; height:18px; fill:none; stroke-width:1.8; filter:drop-shadow(0 1px 2px #1823641a); }
.fh-library-watermark { position:absolute; z-index:-1; right:-8px; bottom:15px; width:clamp(62px,5vw,86px); height:clamp(70px,5.8vw,100px); display:grid; place-items:center; color:#8c82e5; opacity:.085; transform:rotate(12deg); --library-glyph-cutout:#151f48; pointer-events:none; }
.fh-library-watermark svg { width:100%; height:100%; fill:none; stroke-width:1.1; }
.fh-library-subject[data-library-tone="growth"] .fh-library-watermark { right:5px; transform:none; color:#cb9ccc; }
.fh-library-subject[data-library-tone="channel"] .fh-library-watermark { right:-12px; color:#7e8dd8; }
.fh-library-subject>small { display:block; min-height:30px; margin:0 0 6px; padding-left:39px; color:#a8b0d0; font-size:11px; line-height:30px; white-space:nowrap; }
.fh-library-subject h3 { margin:0; color:#f7f8ff; font-size:clamp(18px,1.3vw,23px); line-height:1.3; font-weight:600; letter-spacing:0; white-space:nowrap; }
.fh-library-subject p { margin-top:4px; font-size:11px; line-height:1.5; color:#a7b0d0; white-space:nowrap; }
.fh-library-enter { display:flex; align-items:center; gap:7px; margin-top:auto; padding-top:6px; min-height:24px; font-size:12px; line-height:1.4; color:var(--library-gold); }
.fh-library-enter>.zmt-fh-arrow { margin-left:0; }
.fh-library-subject:hover { background:linear-gradient(130deg,#a6a1e23e,#8094d426); box-shadow:inset 0 0 0 1px #d4d9ff6b,inset 0 1px 0 #ffffff21,0 10px 20px -12px #060b2aaa; transform:translateY(-3px); }
.fh-library-subject:hover .fh-library-enter { color:#ffe0af; }
.fh-library-subject .zmt-fh-arrow { transition:transform .2s ease; }
.fh-library-subject:hover .zmt-fh-arrow { transform:translateX(3px); }
.fh-library-map { position:relative; isolation:isolate; overflow:hidden; display:flex; align-items:center; gap:15px; margin-top:10px; min-height:64px; padding:10px 16px; border-radius:11px; background:radial-gradient(ellipse at 35% 0,#fff7e4a6,transparent 62%),linear-gradient(115deg,#e7d3b9,#ead8bd 55%,#dcc3a5); box-shadow:inset 0 0 0 1px #fff4e099,inset 0 2px 1px #fff8e266,0 5px 14px -8px #070b26; }
.fh-library-map::before { content:""; position:absolute; z-index:-1; inset:0; background:url('../knowledge/map-contours.svg') right center / 69% auto no-repeat; opacity:.8; pointer-events:none; }
.fh-library-map-icon { display:grid; place-items:center; width:44px; height:44px; flex-shrink:0; border-radius:50%; color:#f4d6a9; background:radial-gradient(circle at 35% 15%,#3d4a79,#17254d 80%); box-shadow:0 0 0 4px #6c533f24,inset 0 0 0 1px #e5c69c99,inset 0 2px 3px #f4e0bf4d,0 4px 9px #59412f33; }
.fh-library-map-icon>svg { width:27px; height:27px; filter:drop-shadow(0 0 3px #e8bc7059); }
.fh-library-map-copy { flex:1; min-width:0; }
.fh-library-map strong { display:block; font-size:clamp(15px,1.18vw,20px); line-height:1.4; font-weight:650; color:#51402d; }
.fh-library-map small { display:block; margin-top:4px; font-size:11px; line-height:1.5; color:#7c6650; }
.fh-library-map>b { display:flex; flex-shrink:0; align-items:center; font-weight:600; color:#5a432d; font-size:12px; }
.fh-library-map:hover { background:radial-gradient(ellipse at 35% 0,#fff9edc2,transparent 62%),linear-gradient(115deg,#efdcc3,#f1e0c5 55%,#e6ccb0); box-shadow:inset 0 0 0 1px #fff7e8,0 7px 17px -9px #050b2a; }
.fh-knowledge :is(a,button):focus-visible { outline-color:#edca94; }

/* v0.6.83 compact homepage resource library; preserve the unified library routes. */
.zmt-fh .fh-resources:has(.fh-download-library){grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:20px}
.zmt-fh .fh-resources:has(.fh-download-library)>.fh-module{grid-column:auto!important;min-width:0}
.zmt-fh .fh-download-library{--fdl-gold:#e8c694;position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;min-width:0;padding:22px 26px 20px;border:0;border-radius:20px;background:radial-gradient(ellipse at 88% 25%,#3b476766,transparent 55%),linear-gradient(125deg,#141e33,#1c2a43 70%,#24314a);box-shadow:inset 0 0 0 1px #a8b9d130,inset 0 1px 0 #e2e7ee12,0 5px 8px -5px #0c142d30,0 16px 32px -22px #0c142d75;color:#f6f2e9;-webkit-font-smoothing:antialiased;scroll-margin-top:25px}
.fh-download-library::before{position:absolute;inset:0;z-index:-1;content:"";pointer-events:none;background:linear-gradient(115deg,transparent 52%,#e9c79205 52.1%,transparent 78%),repeating-linear-gradient(0deg,#f0e4ca02 0,#f0e4ca02 1px,transparent 1px,transparent 4px)}
.fh-download-library :is(h2,h3,p){margin:0;text-wrap:pretty}
.fh-download-library :is(a,a:visited){color:inherit;text-decoration:none}
.fh-download-library svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.fdl-header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.fdl-heading{display:flex;gap:12px;align-items:center}
.fdl-seal{display:grid;place-items:center;align-self:stretch;width:34px;min-height:48px;border-radius:5px;box-shadow:inset 0 0 0 1px #ddbd8955,inset 0 0 0 4px #eac78909;background:#ad825a0b;color:#dcbb87;font-family:"Songti SC","Noto Serif SC",serif;font-size:21px;font-weight:500}
.fdl-eyebrow{display:block;margin-bottom:3px;color:#b8a487;font-size:10px;line-height:1.6;letter-spacing:.15em}
.zmt-fh .fdl-heading h2{color:#f9f5ed;font-size:27px;line-height:1.25;letter-spacing:.035em;font-weight:650}
.fh-download-library .fdl-read{display:flex;align-items:center;gap:6px;min-height:40px;font-size:12px;color:#cccfce;white-space:nowrap;transition:color .2s ease}
.fdl-read:hover{color:#f4d9ad!important}
.fdl-hero{position:relative;display:flex;align-items:center;min-height:154px;padding:12px 0}.fdl-copy{width:64%;min-width:0}
.fdl-copy{position:relative;z-index:2}
.zmt-fh .fdl-copy h3{font-family:"Songti SC","Noto Serif SC","STSong",serif;display:flex;flex-wrap:wrap;font-size:clamp(27px,2.25vw,34px);font-weight:600;line-height:1.45;letter-spacing:.02em;color:#fff7eb;text-wrap:initial}
.fdl-copy h3>span,.fdl-copy h3>em{white-space:nowrap}.fdl-copy h3 em{color:#e9c490;font-style:normal}
.zmt-fh .fdl-copy p{display:flex;flex-wrap:wrap;column-gap:.5em;margin:10px 0 0;color:#bac2cc;font-size:13px;line-height:1.7}.fdl-copy p>span{white-space:nowrap}
.fdl-formats{display:flex;align-items:center;gap:8px;margin-top:10px;color:#97a4b7;font-size:9px;line-height:1.5;letter-spacing:.07em;font-weight:550}
.fdl-formats i{width:2px;height:2px;border-radius:50%;background:#baa78799}
.fdl-archive{position:absolute;right:0;top:50%;width:222px;height:203px;transform:translateY(-50%) scale(.72);transform-origin:right center;pointer-events:none}
.fdl-orbit{position:absolute;left:-31px;right:-15px;height:115px;bottom:7px;border:1px solid #d5b68515;border-radius:50%;transform:rotate(-12deg);box-shadow:0 0 0 12px #d5b68502,0 0 0 13px #d5b68508;background:radial-gradient(ellipse,#e0b7770e,transparent 65%)}
.fdl-paper{position:absolute;width:97px;height:125px;border-radius:7px 13px 5px 5px;padding:14px;box-shadow:inset 0 0 0 1px #ffffffa3,inset -2px 0 2px #63564513,2px 5px 10px #070f2240;transition:transform .35s cubic-bezier(.2,0,0,1)}
.fdl-paper::after{content:"";position:absolute;right:0;top:0;width:18px;height:18px;border-radius:0 8px 0 5px;background:linear-gradient(45deg,#00000012,#ffffff9c);box-shadow:-1px 1px 2px #514c3f16;clip-path:polygon(0 0,100% 100%,0 100%)}
.fdl-paper-back{top:28px;left:100px;background:linear-gradient(150deg,#c8d4cc,#819e93);transform:rotate(15deg);color:#33594f}
.fdl-paper-middle{top:7px;left:61px;background:linear-gradient(150deg,#d9e3ee,#a4b9d1);transform:rotate(3deg);color:#45617e}
.fdl-paper-front{top:28px;left:20px;background:linear-gradient(150deg,#fcf4e3,#e7d5b6);transform:rotate(-12deg);color:#866244}
.fdl-paper-type{font-size:11px;letter-spacing:.08em;font-weight:700}
.fdl-paper-middle .fdl-paper-type,.fdl-paper-back .fdl-paper-type{display:block;text-align:right;margin-right:3px;font-size:9px}
.fdl-paper-title{display:block;margin-top:12px;color:#75654d;font-size:9px;letter-spacing:.05em}
.fdl-paper-lines{display:block;width:100%;height:28px;margin-top:9px;background:repeating-linear-gradient(180deg,currentColor 0,currentColor 2px,transparent 2px,transparent 8px);opacity:.22;clip-path:polygon(0 0,100% 0,100% 76%,65% 76%,65% 100%,0 100%)}
.fdl-mini-table{display:block;width:100%;height:40px;margin-top:14px;opacity:.25;border:1px solid currentColor;background:repeating-linear-gradient(0deg,transparent 0,transparent 9px,currentColor 9px,currentColor 10px),repeating-linear-gradient(90deg,transparent 0,transparent 22px,currentColor 22px,currentColor 23px)}
.fdl-folder-back{position:absolute;left:6px;right:0;top:97px;height:82px;border-radius:7px;background:#9e7951;box-shadow:inset 0 1px 0 #fff1cc80}
.fdl-folder-back::before{content:"";position:absolute;bottom:100%;left:0;width:75px;height:13px;border-radius:6px 11px 0 0;background:linear-gradient(#d2af7e,#ad895d)}
.fdl-folder{position:absolute;left:0;right:0;bottom:20px;height:87px;border-radius:7px 7px 12px 12px;padding:17px 20px;background:linear-gradient(115deg,#e8cca0,#c79d66 73%,#b78a58);transform:rotate(-3deg);box-shadow:inset 0 0 0 1px #fff0cb9e,inset 0 2px 1px #fff5d680,inset 0 -3px 2px #70533126,0 14px 16px -8px #050d23b3;transition:transform .35s cubic-bezier(.2,0,0,1)}
.fdl-folder::after{content:"";position:absolute;inset:5px;border:1px solid #835e3733;border-radius:4px 4px 8px 8px;pointer-events:none}
.fdl-folder-index{display:block;font-size:7px;letter-spacing:.12em;font-weight:650;color:#755336}
.fdl-folder-label{display:block;margin-top:8px;font-family:"Songti SC",serif;font-size:14px;font-weight:600;letter-spacing:.06em;color:#644a30;text-shadow:0 1px 0 #ffebc466}
.fdl-folder-lines{display:block;margin-top:8px;width:38px;border-bottom:1px solid #84633a80}
.fdl-download-medal{position:absolute;display:grid;place-items:center;right:16px;top:15px;width:46px;height:49px;color:#fbecd2;border-radius:11px;background:linear-gradient(145deg,#253953,#14273f);box-shadow:inset 0 0 0 1px #0d1c3244,inset 0 2px 1px #ffffff1a,0 3px 5px #4f361b40}
.fdl-download-medal svg{width:29px;height:29px;stroke-width:1.65}
.fdl-art-caption{position:absolute;left:28px;right:0;bottom:0;color:#b0a48f;font-size:9px;letter-spacing:.22em;text-align:center}
.fdl-directory-head{display:flex;justify-content:space-between;align-items:center;margin:0 0 9px;padding-top:11px;border-top:1px solid #c8cbd020;color:#d8dcd9;font-size:11px}
.fdl-directory-head>span:last-child{color:#8d9bad;font-size:10px;font-variant-numeric:tabular-nums}
.fdl-categories{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.fh-download-library .fdl-categories a{display:flex;align-items:center;gap:7px;min-width:0;min-height:42px;padding:7px 9px;border-radius:7px;background:linear-gradient(120deg,#edf0f209,#edf0f204);box-shadow:inset 0 0 0 1px #c7d2dc20;color:#dce0e5;font-size:11px;white-space:nowrap;transition:background .2s ease,box-shadow .2s ease,transform .2s ease,color .2s ease}
.fdl-folder-icon{position:relative;flex-shrink:0;width:15px;height:11px;margin-top:3px;border-radius:1.5px 2px 2px 2px;box-shadow:inset 0 0 0 1px #d8bb8680;background:linear-gradient(150deg,#e6c7983b,#c69b5710)}
.fdl-folder-icon::before{content:"";position:absolute;left:0;top:-3px;width:7px;height:3px;border:1px solid #d8bb8680;border-bottom:0;border-radius:2px 2px 0 0;background:#d8bb861a}
.fdl-category-arrow{margin-left:auto;color:#aa9b84;opacity:.55;font-size:11px}

.fdl-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:14px}
.fh-download-library .fdl-primary{display:flex;justify-content:center;align-items:center;gap:9px;min-height:43px;padding:10px 17px;border-radius:8px;background:linear-gradient(115deg,#edd6b0,#dbb782);color:#372d23;font-size:13px;font-weight:650;box-shadow:inset 0 0 0 1px #ffedcaaa,inset 0 2px 1px #fff6e17a,0 4px 8px #020c2433;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.fdl-primary>span{margin-left:10px;font-size:18px;line-height:1;transition:transform .2s ease}
.fdl-primary svg{width:17px;height:17px;stroke-width:1.8}
.zmt-fh .fh-download-library a.fdl-primary,.zmt-fh .fh-download-library a.fdl-primary:visited{color:#372d23}
.fdl-footer-note{color:#9aa6b6;font-family:"Songti SC",serif;font-size:11px;letter-spacing:.015em}
.fh-download-library a:focus-visible{outline:2px solid #f2d8a8!important;outline-offset:4px}
.fh-download-library :is(.fdl-primary,.fdl-categories a):active{transform:scale(.96)}
@media(hover:hover){.fh-download-library:hover .fdl-paper-front{transform:translate(-3px,-5px) rotate(-14deg)}.fh-download-library:hover .fdl-paper-middle{transform:translateY(-7px) rotate(3deg)}.fh-download-library:hover .fdl-paper-back{transform:translate(3px,-4px) rotate(17deg)}.fdl-categories a:hover{color:#fbe4bd!important;background:#d5b78013;box-shadow:inset 0 0 0 1px #dfc39566;transform:translateY(-2px)}.fdl-primary:hover{background:linear-gradient(115deg,#f5e1c0,#e5c292)!important;box-shadow:inset 0 0 0 1px #ffefcd,0 5px 12px #020c2444}.fdl-primary:hover>span{transform:translateX(3px)}}
/* Match the adjacent community density so its minimum height does not stretch the library. */
@media(min-width:1101px){.zmt-fh .fh-resources:has(.fh-download-library)>.fh-community{padding-top:18px}.fh-resources:has(.fh-download-library) .fh-community-body{margin-top:8px}.fh-resources:has(.fh-download-library) .fh-community-rooms{grid-template-rows:repeat(3,minmax(0,1fr));gap:6px}.fh-resources:has(.fh-download-library) .fh-community-room{padding-block:7px}.fh-resources:has(.fh-download-library) .fh-community-practical{min-height:64px;margin-top:8px;padding-block:8px}}
@media(min-width:1700px){.zmt-fh .fh-download-library{padding:24px 30px 22px}.fdl-hero{min-height:170px}.fdl-archive{right:8px;transform:translateY(-50%) scale(.8)}.fdl-categories a{font-size:13px!important;min-height:44px!important}.fdl-copy p{font-size:14px!important}.fdl-footer-note{font-size:13px}.fdl-primary{font-size:14px!important}}
@media(min-width:768px) and (max-width:1100px){.zmt-fh .fh-download-library{padding:20px}.fdl-hero{min-height:156px}.fdl-copy{width:62%}.fdl-archive{right:-5px;transform:translateY(-50%) scale(.55)}.zmt-fh .fdl-copy h3{font-size:25px}.fdl-copy p{font-size:11px!important}.fdl-categories{grid-template-columns:repeat(2,minmax(0,1fr))}.fdl-footer-note{display:none}}
@media(max-width:767px){.zmt-fh .fh-resources:has(.fh-download-library){grid-template-columns:minmax(0,1fr);gap:14px}.zmt-fh .fh-download-library{padding:20px 18px 18px;border-radius:16px}.zmt-fh .fdl-heading h2{font-size:25px}.fdl-heading{gap:10px}.fdl-eyebrow{font-size:9px}.fdl-seal{width:30px;min-height:43px}.fdl-read{font-size:11px!important}.fdl-hero{min-height:146px;padding:10px 0}.fdl-copy{width:100%}.fdl-archive{right:-4px;top:52px;transform:scale(.44);transform-origin:right top}.zmt-fh .fdl-copy h3{font-size:25px}.zmt-fh .fdl-copy p{width:62%;font-size:11px;line-height:1.8;margin-top:16px}.fdl-formats{font-size:8px;gap:5px;margin-top:10px}.fdl-categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.fdl-categories a{min-height:42px!important;font-size:12px!important;padding-inline:11px!important}.fdl-directory-head{padding-top:10px}.fdl-footer{padding-top:15px;gap:10px}.fdl-primary{font-size:12px!important;gap:7px!important;padding-inline:12px!important}.fdl-primary>span{margin-left:3px}.fdl-footer-note{font-size:10px;max-width:7em;line-height:1.8;text-wrap:balance}.fdl-footer .fdl-primary{flex:1;max-width:230px}}
@media(max-width:359px){.zmt-fh .fh-download-library{padding:17px 14px}.fdl-archive{right:-4px;top:50px;transform:scale(.4)}.fdl-hero{min-height:140px}.zmt-fh .fdl-copy h3{font-size:24px}.fdl-copy p{font-size:10px!important}.fdl-eyebrow{letter-spacing:.08em}.fdl-formats{gap:4px;font-size:7px}.fdl-footer-note{font-size:9px}}
@media(prefers-reduced-motion:reduce){.fh-download-library *{transition:none!important}.fh-download-library:hover :is(.fdl-paper-front,.fdl-paper-middle,.fdl-paper-back){translate:none}.fh-download-library:hover .fdl-paper-front{transform:rotate(-12deg)}.fh-download-library:hover .fdl-paper-middle{transform:rotate(3deg)}.fh-download-library:hover .fdl-paper-back{transform:rotate(15deg)}}
