:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}:root{--bg:#f8f7f4;--surface:#fff;--border:#e4e1d9;--border-strong:#c8c4bc;--accent:#c9820a;--accent-light:#fdf3e0;--accent2:#1a7a5e;--accent2-light:#e8f6f1;--accent3:#c44d1a;--accent3-light:#fdf0ea;--text:#1a1916;--text-body:#3a3832;--muted:#7a7669;--card:#fff;--card-hover:#faf9f7;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 12px #00000014, 0 2px 4px #0000000a;--shadow-lg:0 8px 24px #0000001a, 0 4px 8px #0000000d}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text-body);min-height:100vh;font-family:DM Sans,sans-serif;font-weight:400;line-height:1.65}.top-nav{z-index:100;gap:.75rem;display:flex;position:fixed;top:1rem;right:1.5rem}.top-nav-link{letter-spacing:.08em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid #0000;border-radius:2rem;padding:.35rem .9rem;font-family:DM Mono,monospace;font-size:.75rem;text-decoration:none;transition:transform .2s,box-shadow .2s,opacity .2s}.top-nav-link:hover{opacity:.9;transform:translateY(-2px)}.top-nav-link--1{color:#7dd3fc;background:linear-gradient(135deg,#1a3a5c,#1e5799);border-color:#7dd3fc4d;box-shadow:0 2px 12px #1e579966}.top-nav-link--1:hover{box-shadow:0 4px 18px #1e579999}.top-nav-link--2{color:#c4b5fd;background:linear-gradient(135deg,#2d1a4a,#6d28d9);border-color:#c4b5fd4d;box-shadow:0 2px 12px #6d28d966}.top-nav-link--2:hover{box-shadow:0 4px 18px #6d28d999}.hero{text-align:center;background:var(--surface);border-bottom:1px solid var(--border);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:6rem 2rem 5rem;display:flex;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background:radial-gradient(80% 55% at 50% -5%,#c9820a12 0%,#0000 65%),radial-gradient(50% 40% at 85% 90%,#1a7a5e0d 0%,#0000 60%);position:absolute;inset:0}.grid-bg{pointer-events:none;background-image:linear-gradient(#00000006 1px,#0000 1px),linear-gradient(90deg,#00000006 1px,#0000 1px);background-size:60px 60px;position:absolute;inset:0}.badge{letter-spacing:.18em;text-transform:uppercase;color:var(--accent);background:var(--accent-light);border:1px solid #c9820a59;border-radius:2rem;margin-bottom:2rem;padding:.35rem 1.1rem;font-family:DM Mono,monospace;font-size:.68rem;display:inline-block}.hero h1{letter-spacing:-.03em;color:var(--text);margin-bottom:1.5rem;font-family:DM Serif Display,serif;font-size:clamp(3rem,8vw,7rem);line-height:1}.hero h1 em{color:var(--accent);font-style:italic}.hero-sub{color:var(--muted);max-width:600px;margin:0 auto 3rem;font-size:clamp(1rem,2vw,1.2rem);font-weight:400;line-height:1.75}.hero-sub strong{color:var(--text-body);font-weight:600}.cta-row{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.btn{cursor:pointer;border:none;border-radius:.5rem;padding:.85rem 2rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-block}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 2px 8px #c9820a4d}.btn-primary:hover{background:#b5720a;transform:translateY(-2px);box-shadow:0 4px 14px #c9820a59}.btn-ghost{border:1.5px solid var(--border-strong);color:var(--muted);background:0 0}.btn-ghost:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.stats{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;justify-content:center;gap:4rem;padding:3rem 2rem;display:flex}.stat{text-align:center}.stat-num{color:var(--accent);font-family:DM Serif Display,serif;font-size:2.5rem;line-height:1.1;display:block}.stat-label{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-top:.2rem;font-family:DM Mono,monospace;font-size:.72rem;display:block}.main{max-width:1100px;margin:0 auto;padding:5rem 2rem}.section-header{border-bottom:2px solid var(--border);align-items:center;gap:.85rem;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.section-num{color:var(--accent);background:var(--accent-light);border:1px solid #c9820a40;border-radius:.25rem;padding:.2rem .6rem;font-family:DM Mono,monospace;font-size:.68rem;font-weight:500}.section-title{color:var(--text);letter-spacing:-.01em;font-family:DM Serif Display,serif;font-size:1.55rem}.section-icon{opacity:.4;margin-left:auto;font-size:1.3rem}.category{margin-bottom:5rem}.category-desc{color:var(--muted);border-left:3px solid var(--border-strong);background:var(--bg);border-radius:0 .35rem .35rem 0;max-width:700px;margin-bottom:2rem;padding:.75rem 1rem;font-size:.9rem;line-height:1.85}.category-desc .highlight{color:var(--accent2);font-weight:600}.book-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem;display:grid}.book-card{background:var(--card);border:1.5px solid var(--border);box-shadow:var(--shadow-sm);border-radius:.75rem;flex-direction:column;gap:.75rem;padding:1.5rem;transition:border-color .2s,transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.book-card:before{content:"";background:linear-gradient(90deg, var(--accent-color,var(--accent)), transparent 80%);opacity:.7;height:3px;position:absolute;top:0;left:0;right:0}.book-card:hover{border-color:var(--accent-color,var(--accent));box-shadow:var(--shadow-lg);background:var(--card-hover);transform:translateY(-3px)}.book-num{color:var(--accent-color,var(--accent));letter-spacing:.18em;text-transform:uppercase;font-family:DM Mono,monospace;font-size:.62rem;font-weight:500}.book-title{color:var(--text);font-family:DM Serif Display,serif;font-size:1.05rem;line-height:1.35}.book-authors{color:var(--muted);font-family:DM Mono,monospace;font-size:.78rem}.book-note{color:var(--accent2);background:var(--accent2-light);border-left:2.5px solid var(--accent2);border-radius:0 .35rem .35rem 0;padding:.6rem .85rem;font-size:.8rem;line-height:1.55}.book-note.warn{color:var(--accent3);background:var(--accent3-light);border-color:var(--accent3)}.book-links{flex-wrap:wrap;gap:.5rem;margin-top:auto;padding-top:.25rem;display:flex}.book-link{color:var(--muted);border:1.5px solid var(--border);background:var(--bg);border-radius:.35rem;align-items:center;gap:.3rem;padding:.3rem .7rem;font-family:DM Mono,monospace;font-size:.73rem;text-decoration:none;transition:all .15s;display:inline-flex}.book-link:hover{color:var(--accent);background:var(--accent-light);border-color:#c9820a66}.tag-must{background:var(--accent-light);color:var(--accent);letter-spacing:.1em;text-transform:uppercase;border:1px solid #c9820a33;border-radius:.25rem;padding:.22rem .55rem;font-family:DM Mono,monospace;font-size:.62rem;font-weight:500;display:inline-block}.tag-optional{background:var(--accent2-light);color:var(--accent2);letter-spacing:.1em;text-transform:uppercase;border:1px solid #1a7a5e33;border-radius:.25rem;padding:.22rem .55rem;font-family:DM Mono,monospace;font-size:.62rem;font-weight:500;display:inline-block}.fw-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1rem;display:grid}.fw-card{background:var(--card);border:1.5px solid var(--border);box-shadow:var(--shadow-sm);border-radius:.5rem;padding:1rem 1.25rem;transition:box-shadow .2s,border-color .2s}.fw-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.fw-category{color:var(--accent);text-transform:uppercase;letter-spacing:.15em;margin-bottom:.45rem;font-family:DM Mono,monospace;font-size:.63rem;font-weight:500}.fw-items{color:var(--text-body);font-size:.83rem;line-height:1.75}footer{border-top:1px solid var(--border);text-align:center;color:var(--muted);background:var(--surface);padding:3rem 2rem;font-family:DM Mono,monospace;font-size:.74rem}footer a{color:var(--accent);text-decoration:none}footer a:hover{text-decoration:underline}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.hero>*{animation:.55s both fadeUp}.hero .badge{animation-delay:.1s}.hero h1{animation-delay:.2s}.hero-sub{animation-delay:.3s}.cta-row{animation-delay:.4s}.divider{border:none;border-top:1px solid var(--border);margin:3rem 0}.scroll-top{color:#0d0f14;cursor:pointer;z-index:100;opacity:0;pointer-events:none;background:linear-gradient(135deg,#e8c547,#f0a030);border:none;border-radius:50%;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;font-size:1.2rem;font-weight:700;transition:opacity .25s,transform .25s,box-shadow .2s,scale .2s;display:flex;position:fixed;bottom:2rem;right:2rem;transform:translateY(10px);box-shadow:0 4px 16px #e8c54759}.scroll-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.scroll-top:hover{scale:1.1;box-shadow:0 6px 24px #e8c54799}
