@import"https://fonts.googleapis.com/css2?family=Sora:wght@400;600;700;800&family=Space+Grotesk:wght@500;700&display=swap";:root{--ink: #123d38}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:Sora,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-shell{min-height:100vh;color:var(--ink);background:var(--bg-grad);transition:background .26s ease,color .26s ease}.theme-light{--bg-grad: linear-gradient(145deg, #ecfff9 0%, #fff4e8 100%);--surface: rgba(255, 255, 255, .84);--surface-soft: rgba(255, 255, 255, .82);--ink: #123d38;--muted: #325d56;--line: rgba(8, 61, 55, .12);--line-strong: rgba(8, 61, 55, .16);--pill-bg: rgba(255, 255, 255, .9);--overlay: rgba(7, 33, 31, .48);--modal-bg: #f9fffc}.theme-dark{--bg-grad: linear-gradient(145deg, #082c2a 0%, #2a1e16 100%);--surface: rgba(8, 30, 28, .84);--surface-soft: rgba(8, 30, 28, .78);--ink: #dffbf5;--muted: #a8d4cc;--line: rgba(160, 230, 219, .18);--line-strong: rgba(255, 174, 122, .28);--pill-bg: rgba(11, 43, 40, .92);--overlay: rgba(0, 0, 0, .62);--modal-bg: #082624}.hero{padding:2rem 1.25rem 1rem;max-width:960px;margin:0 auto;animation:gentleFloat 7.5s ease-in-out infinite}.top-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem}.top-nav h1{margin:0;font-family:Space Grotesk,sans-serif;letter-spacing:.02em}.logo-text{background:linear-gradient(100deg,#02a896,#ff8b3f);-webkit-background-clip:text;background-clip:text;color:transparent;transition:transform .24s ease}.top-nav:hover .logo-text{transform:translate(2px)}.top-actions{display:flex;align-items:center;gap:.55rem;animation:floatX 5s ease-in-out infinite}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:.4rem .9rem;color:#0a534b;font-weight:700;font-size:.8rem;background:linear-gradient(90deg,#02a89638,#ff873447);border:1px solid rgba(10,83,75,.2)}.theme-dark .badge{color:#d8fff7;border-color:#9de7db38}.theme-toggle{width:2.3rem;height:2.3rem;border-radius:.7rem;border:1px solid var(--line);background:var(--surface);cursor:pointer;display:grid;place-items:center;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.theme-toggle:hover{transform:translateY(-1px) rotate(4deg);border-color:#ff8b3f80;box-shadow:0 0 0 5px #ff8b3f29}.mode-icon{width:1rem;height:1rem;display:inline-block;border-radius:999px;transition:all .22s ease}.mode-icon-light{background:radial-gradient(circle at 35% 35%,#ffd58c,#ff8b3f 66%);box-shadow:0 0 0 4px #ff8b3f2b}.mode-icon-dark{background:linear-gradient(145deg,#99f3e6,#0ca18e);box-shadow:inset -3px -2px #06201d99}.hero-content{margin-top:2rem;max-width:760px}.eyebrow{text-transform:uppercase;letter-spacing:.09em;font-size:.8rem;color:#0f6a5e;margin:0}.theme-dark .eyebrow{color:#fff}.hero-content h2{font-family:Space Grotesk,sans-serif;font-size:clamp(1.75rem,5vw,2.8rem);line-height:1.1;margin:.7rem 0 1rem;color:#083d37}.theme-dark .hero-content h2{color:#fff}.hero-subtext{max-width:620px;margin:0;color:var(--muted)}.theme-dark .hero-subtext{color:#fff}.hero-actions{margin-top:1.2rem;display:flex;flex-wrap:wrap;gap:.75rem}.hero-actions .btn{animation:popIn .56s ease both}.hero-actions .btn:nth-child(2){animation-delay:.12s}.btn{border:none;border-radius:.8rem;padding:.7rem 1rem;font-weight:700;font-family:Sora,sans-serif;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btn:hover{transform:translateY(-1px);box-shadow:0 5px 12px #083d3726;filter:saturate(1.08)}.btn-primary{background:linear-gradient(110deg,#00a390,#ff8b3f);color:#f9fffc}.btn-secondary{background:var(--surface);color:#0c5b52;border:1px solid var(--line)}.theme-dark .btn-secondary{color:#c7f0e8}.stats-grid{margin-top:.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:.75rem}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:.75rem;padding:.85rem;transition:transform .22s ease,border-color .22s ease}.stat-card h3{margin:0;font-size:1.55rem;color:#08a896}.stat-card p{margin:.3rem 0 0;color:var(--muted)}main{max-width:960px;margin:0 auto;padding:.5rem 1.25rem 2rem}.content-section{margin-top:1.2rem}.split-section{display:grid;gap:1rem;grid-template-columns:1fr 1fr}.panel{background:var(--surface-soft);border:1px solid var(--line);border-radius:.75rem;padding:1rem;transition:transform .22s ease,border-color .22s ease,background .22s ease}.panel h3{margin-top:0;color:var(--ink)}.clean-list,.book-list,.roadmap-list{margin:0;padding-left:1.1rem}.clean-list li,.roadmap-list li{margin-bottom:.56rem}.book-list li{display:flex;flex-direction:column;margin-bottom:1rem}.book-item{width:100%}.book-title-btn{width:100%;text-align:left;border:none;background:none;color:var(--ink);padding:0;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:space-between;gap:.5rem;transition:color .16s ease;margin-bottom:.35rem}.book-title-btn:hover{color:#ff8b3f}.expand-icon{display:inline-flex;align-items:center;font-size:.75rem;transition:transform .2s ease}.expand-icon.expanded{transform:rotate(180deg)}.book-list span{font-size:.88rem;color:#4f6864;display:block;margin-bottom:.55rem}.theme-dark .book-list span{color:#c3e6df}.book-preview-container{margin-top:.75rem;border-radius:.6rem;overflow:hidden;border:1px solid var(--line-strong);background:var(--surface);animation:expandDown .3s ease both;padding:.65rem}.book-preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.65rem;margin-bottom:.6rem}.book-preview-label{color:var(--muted);font-size:.82rem}.book-open-btn{border:1px solid var(--line);border-radius:.55rem;padding:.36rem .62rem;font-size:.78rem;font-weight:700;text-decoration:none;color:var(--ink);background:linear-gradient(120deg,#02a89624,#ff8b3f26)}.book-open-btn:hover{border-color:#ff8b3f73}.book-preview-pdf{border:1px solid var(--line);border-radius:.5rem;overflow:hidden;background:#ffffffbf;position:relative;min-height:380px}.theme-dark .book-preview-pdf{background:#0003}.book-preview-status{margin:0;color:var(--muted);font-size:.84rem;position:absolute;z-index:2;top:.55rem;left:.6rem;background:#ffffffd1;border:1px solid var(--line);border-radius:.4rem;padding:.2rem .4rem}.book-preview-iframe{width:100%;min-height:380px;border:none;display:block}@media (max-width: 640px){.book-preview-toolbar{flex-direction:column;align-items:flex-start}.book-preview-pdf,.book-preview-iframe{min-height:280px}}.section-head h3{margin-bottom:.25rem}.section-head p{margin-top:0;color:var(--muted)}.carousel-card{background:linear-gradient(125deg,#02a8961c,#ff873424);border-radius:.75rem;border:1px solid var(--line-strong);padding:1rem;animation:gradientDrift 7s ease-in-out infinite;background-size:180% 180%}.carousel-meta{display:flex;gap:.7rem;align-items:center;color:var(--muted)}.meta-with-icon{display:inline-flex;align-items:center;gap:.45rem}.resource-icon{width:1rem;height:1rem;color:#0e7f73;transition:transform .2s ease,color .2s ease}.theme-dark .resource-icon{color:#88e6d8}.meta-with-icon:hover .resource-icon{transform:scale(1.15) rotate(-6deg);color:#ff8b3f}.type-pill{border-radius:999px;font-size:.82rem;padding:.28rem .78rem;border:1px solid var(--line);background:var(--pill-bg)}.theme-light .type-pill{background:#e7fcf6;border-color:#096e6173;color:#065f55}.carousel-card h4{margin:.7rem 0 .45rem;font-size:1.1rem}.carousel-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1rem}.filter-row{display:flex;flex-wrap:wrap;gap:.58rem;animation:waveIn .62s ease both}.filter-btn{border:1px solid var(--line);border-radius:999px;background:var(--surface);color:#0f5d53;padding:.4rem .86rem;cursor:pointer;font-weight:600;transition:transform .18s ease,border-color .18s ease,background .18s ease}.theme-dark .filter-btn{color:#c7f0e8}.filter-btn:hover{transform:translateY(-1px);border-color:#ff8b3f7a}.active-filter{border-color:transparent;color:#f5fffb;background:linear-gradient(110deg,#00a390,#ff8b3f)}.resource-grid{margin-top:.95rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));align-items:stretch;gap:.8rem}.resource-card{animation:cardIn .42s ease both}.resource-card:nth-child(2){animation-delay:70ms}.resource-card:nth-child(3){animation-delay:.14s}.resource-card:nth-child(4){animation-delay:.21s}.resource-card{background:var(--surface);border:1px solid var(--line);border-radius:.75rem;padding:1.2rem;display:flex;flex-direction:column;min-height:260px;height:100%;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.resource-card:nth-child(odd){animation:softLift 5.5s ease-in-out infinite}.resource-card:nth-child(2n){animation:softLift 5.5s ease-in-out infinite .35s}.resource-card h4{margin:.6rem 0 .35rem;font-size:1.05rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.resource-card p,.resource-card small{margin:0;color:var(--muted)}.resource-card p{line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.resource-card small{margin-top:.35rem;min-height:1.1rem}.resource-action-btn{margin-top:auto;margin-bottom:.05rem;align-self:center;border:1px solid var(--line);background:linear-gradient(110deg,#02a89624,#ff8b3f29);color:var(--ink);font-weight:700;border-radius:.6rem;cursor:pointer;padding:.48rem .72rem;transition:transform .17s ease,border-color .17s ease,box-shadow .17s ease}.resource-action-btn:hover{transform:translateY(-1px);border-color:#ff8b3f80;box-shadow:0 6px 14px #083d3729}.theme-dark .resource-action-btn{color:#def9f3;border-color:#a0e6db42}.roadmap-panel li{margin-bottom:.8rem}.roadmap-panel h4{margin:0 0 .25rem}.faq-item{border-top:1px solid var(--line);padding-top:.5rem;margin-top:.5rem;animation:fadeSoft .45s ease both}.faq-question{width:100%;text-align:left;border:none;padding:0;background:none;font-family:Space Grotesk,sans-serif;font-size:1rem;color:var(--ink);cursor:pointer;transition:color .16s ease,transform .16s ease}.faq-question:hover{color:#ff8b3f;transform:translate(2px)}.faq-answer{margin-bottom:0;color:var(--muted)}.footer{max-width:960px;margin:0 auto;padding:0 1.25rem 1.5rem}.footer p{margin:0;color:var(--muted)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:grid;place-items:center;padding:1rem;z-index:30}.modal-card{width:min(540px,100%);background:var(--modal-bg);border-radius:.75rem;border:1px solid var(--line-strong);padding:1rem 1.05rem 1.2rem;position:relative;color:var(--ink);animation:modalBounce .3s cubic-bezier(.2,.9,.2,1) both}.modal-close{position:absolute;right:.7rem;top:.55rem;border:none;background:none;color:var(--muted);cursor:pointer;font-size:1rem}.modal-card h3{margin-top:.7rem;margin-bottom:.45rem}.modal-source,.modal-level{margin:.22rem 0;color:var(--muted)}.hover-pop:hover{transform:translateY(-3px);border-color:#ff8b3f73;box-shadow:0 10px 20px #061e1c1f}.glow-on-hover:hover{box-shadow:0 0 0 4px #02a89633,0 8px 16px #083d3738}.shimmer-border{position:relative}.shimmer-border:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;padding:1px;background:linear-gradient(110deg,#02a89626,#ff8b3f7a,#02a89626);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.7;animation:shimmerMove 3.3s linear infinite}.fade-in-up{animation:riseUp .52s ease both}.delay-1{animation-delay:80ms}.delay-2{animation-delay:.16s}.delay-3{animation-delay:.24s}.delay-4{animation-delay:.32s}.delay-5{animation-delay:.4s}.fade-in-down{animation:slideDown .52s ease both}.pulse-soft{animation:pulseGlow 2.4s ease-in-out infinite}@keyframes riseUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes gradientDrift{0%,to{background-position:0% 40%}50%{background-position:100% 60%}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes expandDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:450px}}@keyframes pulseGlow{0%,to{box-shadow:0 0 #02a89633}50%{box-shadow:0 0 0 7px #ff8b3f14}}@keyframes softLift{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes shimmerMove{0%{filter:hue-rotate(0deg);opacity:.55}50%{opacity:.95}to{filter:hue-rotate(12deg);opacity:.55}}@keyframes gentleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(2px)}}@keyframes floatX{0%,to{transform:translate(0)}50%{transform:translate(2px)}}@keyframes popIn{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes waveIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes cardIn{0%{opacity:0;transform:translateY(8px) scale(.995)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeSoft{0%{opacity:0}to{opacity:1}}@keyframes modalBounce{0%{opacity:0;transform:translateY(10px) scale(.96)}60%{opacity:1;transform:translateY(-2px) scale(1.01)}to{transform:translateY(0) scale(1)}}@media (max-width: 860px){.split-section{grid-template-columns:1fr}.top-nav{flex-direction:column;align-items:flex-start}}
