:root{--ink:#10221d;--paper:#f1f0e9;--sheet:#faf9f4;--line:#c8cec5;--green:#187149;--lime:#dcff62;--muted:#5f6d65;--night:#0d1d17;--serif:"Iowan Old Style","Songti SC","STSong",serif;--sans:"PingFang SC","Noto Sans CJK SC","Microsoft YaHei",sans-serif}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:var(--sans)}body{margin:0;min-width:320px;background:var(--paper)}a:focus-visible{outline:3px solid var(--lime);outline-offset:4px}.site-header{position:sticky;top:0;z-index:10;height:72px;padding:0 max(24px,calc((100vw - 1320px)/2));display:flex;justify-content:space-between;align-items:center;gap:28px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--sheet) 92%,transparent);backdrop-filter:blur(14px)}.brand{display:flex;flex:0 0 auto;gap:11px;align-items:center;color:var(--ink);text-decoration:none;font-size:15px;font-weight:800;letter-spacing:-.03em}.brand-mark{width:34px;height:34px;border-radius:50%;background:var(--night);display:grid;place-items:center;color:var(--lime);font-family:var(--serif);font-size:19px;font-weight:900}.nav{height:100%;display:flex;align-items:stretch;gap:0}.nav a{position:relative;display:grid;place-items:center;padding:0 clamp(9px,1.25vw,20px);color:#35483f;text-decoration:none;font-size:13px;white-space:nowrap}.nav a:after{content:"";position:absolute;right:18px;bottom:0;left:18px;height:3px;transform:scaleX(0);transform-origin:left;background:var(--green);transition:transform .2s ease}.nav a:hover,.nav a:focus-visible{color:var(--ink);background:rgba(24,113,73,.055)}.nav a:hover:after,.nav a:focus-visible:after,.nav .active:after{transform:scaleX(1)}.nav .active{color:var(--ink);font-weight:800}.home{min-height:calc(100vh - 72px);background:var(--night);color:#fff}.hero{position:relative;isolation:isolate;min-height:min(72vh,760px);overflow:hidden;display:flex;align-items:flex-end;padding:clamp(48px,9vw,126px) max(24px,calc((100vw - 1320px)/2))}.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,19,15,.97) 0%,rgba(7,19,15,.9) 38%,rgba(7,19,15,.22) 71%),linear-gradient(0deg,rgba(7,19,15,.72),transparent 42%)}.hero:after{content:"";position:absolute;inset:0;z-index:-2;background:url('assets/safety-factory-hero.png') center/cover;transform:scale(1.02);animation:hero-settle 1.1s cubic-bezier(.2,.7,.2,1) both}.hero-copy{max-width:790px;animation:rise .7s .12s both}.eyebrow{display:flex;align-items:center;gap:10px;color:var(--lime);font-size:11px;font-weight:900;letter-spacing:.19em;text-transform:uppercase}.eyebrow:before{width:28px;height:1px;background:currentColor;content:""}h1{max-width:760px;margin:19px 0 26px;font-family:var(--serif);font-size:clamp(58px,8.4vw,122px);font-weight:900;letter-spacing:-.065em;line-height:.9}.hero p{max-width:555px;margin:0;color:#d4ddd6;font-size:17px;line-height:1.85}.portal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;border-top:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.2)}.portal-link{position:relative;min-height:164px;padding:24px 26px;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;background:#112720;color:#fff;text-decoration:none;transition:color .25s ease}.portal-link:before{position:absolute;inset:0;z-index:-1;transform:translateY(101%);background:var(--lime);content:"";transition:transform .32s cubic-bezier(.2,.72,.2,1)}.portal-link:hover,.portal-link:focus-visible{color:var(--night)}.portal-link:hover:before,.portal-link:focus-visible:before{transform:translateY(0)}.portal-link b{font-family:var(--serif);font-size:clamp(22px,2vw,29px);letter-spacing:-.045em}.portal-link span{color:inherit;opacity:.76;font-size:11px;font-weight:800;letter-spacing:.08em}.portal-link em{align-self:flex-end;font-size:25px;font-style:normal;line-height:1;transition:transform .25s ease}.portal-link:hover em,.portal-link:focus-visible em{transform:translate(4px,-4px)}.page{max-width:1320px;margin:0 auto;padding:clamp(58px,8vw,118px) 28px 112px}.page-kicker{display:flex;align-items:center;gap:10px;color:var(--green);font-size:11px;font-weight:900;letter-spacing:.16em}.page-kicker:before{width:28px;height:1px;background:currentColor;content:""}.page h2{max-width:820px;margin:14px 0 21px;font-family:var(--serif);font-size:clamp(48px,6.4vw,88px);font-weight:900;letter-spacing:-.065em;line-height:.94}.intro{max-width:690px;color:var(--muted);font-size:17px;line-height:1.85}.topic-feature{position:relative;isolation:isolate;overflow:hidden;margin-top:54px;padding:clamp(34px,6vw,76px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:36px;align-items:end;background:var(--night);color:#fff}.topic-feature:after{position:absolute;top:-22vw;right:-10vw;z-index:-1;width:46vw;height:46vw;border:1px solid rgba(220,255,98,.28);border-radius:50%;box-shadow:0 0 0 52px rgba(220,255,98,.035),0 0 0 104px rgba(220,255,98,.025);content:""}.topic-feature h3{margin:13px 0;font-family:var(--serif);font-size:clamp(37px,4vw,62px);letter-spacing:-.055em;line-height:.95}.topic-feature p{max-width:560px;color:#c9d7ce;line-height:1.8}.action{display:inline-flex;align-items:center;justify-content:center;padding:14px 20px;border:1px solid var(--lime);background:var(--lime);color:var(--night);font-size:14px;font-weight:800;text-decoration:none;white-space:nowrap;transition:transform .2s ease,background .2s ease}.action:hover,.action:focus-visible{transform:translateY(-3px);border-color:#fff;background:#fff}.topic-catalog{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin-top:28px;border:1px solid var(--line);background:var(--line)}.topic-catalog article{min-height:244px;padding:34px;background:var(--sheet)}.topic-catalog span,.library-card .type{color:var(--green);font-size:11px;font-weight:900;letter-spacing:.12em}.topic-catalog h3{margin:48px 0 10px;font-family:var(--serif);font-size:34px;letter-spacing:-.045em}.topic-catalog p{margin:0;color:var(--muted);line-height:1.75}.library-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:46px;border:1px solid var(--line);background:var(--line)}.library-card{position:relative;min-height:270px;padding:27px;display:flex;flex-direction:column;overflow:hidden;background:var(--sheet);color:var(--ink);text-decoration:none;transition:background .25s ease,color .25s ease}.library-card:before{position:absolute;right:22px;bottom:20px;color:var(--green);content:"↗";font-size:25px;opacity:.7;transition:transform .2s ease,color .2s ease}.library-card:hover,.library-card:focus-visible{background:var(--green);color:#fff}.library-card:hover:before,.library-card:focus-visible:before{transform:translate(5px,-5px);color:var(--lime)}.library-card[aria-disabled="true"]{opacity:.52;pointer-events:none}.library-card h3{max-width:310px;margin:25px 0 10px;font-family:var(--serif);font-size:30px;letter-spacing:-.045em;line-height:1.06}.library-card p,.library-card small{color:var(--muted);line-height:1.7;transition:color .25s ease}.library-card:hover p,.library-card:hover small,.library-card:focus-visible p,.library-card:focus-visible small{color:#d8e8de}.library-card small{margin-top:auto}.empty{padding:36px;border:1px dashed var(--line);background:var(--sheet);color:var(--muted)}.about-block{max-width:820px;margin-top:50px;padding-top:33px;border-top:2px solid var(--ink)}.about-block h3{margin:28px 0 8px;font-size:14px}.about-block p{color:var(--muted);line-height:1.9}.site-footer{min-height:76px;padding:18px 24px;display:flex;align-items:center;justify-content:center;gap:10px;background:#091510;color:#cbd7d0;font-size:12px}.site-footer a{color:inherit;text-decoration:none}.site-footer a:hover,.site-footer a:focus-visible{color:var(--lime);text-decoration:underline}@keyframes rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}@keyframes hero-settle{from{transform:scale(1.08)}to{transform:scale(1.02)}}@media(max-width:900px){.portal-grid{grid-template-columns:repeat(2,1fr)}.library-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.site-header{height:auto;min-height:66px;padding:14px 20px;align-items:flex-start;gap:16px}.nav{height:auto;flex-wrap:wrap;justify-content:flex-end}.nav a{padding:6px 8px;font-size:12px}.nav a:after{right:8px;left:8px;height:2px}.hero{min-height:610px;padding:48px 20px}.hero p{font-size:16px}.portal-link{min-height:140px;padding:21px}.page{padding:54px 20px 82px}.topic-feature{grid-template-columns:1fr}.topic-feature h3{font-size:42px}.topic-catalog{grid-template-columns:1fr}}@media(max-width:500px){h1{font-size:56px}.portal-grid,.library-grid{grid-template-columns:1fr}.portal-link{min-height:118px}.library-card{min-height:220px}.page h2{font-size:52px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
