.ils-app{--ink:#1d2230;--muted:#657083;--paper:#f7f7f4;--card:#fff;--line:#dfe3e5;--pink:#f06474;--coral:#ff836a;--yellow:#f5d76e;--blue:#6c91e8;--teal:#4aa99b;--navy:#26334b;--shadow:0 18px 50px #26334b17;color:var(--ink);background:var(--paper);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.ils-app *{box-sizing:border-box}.ils-app{scroll-behavior:smooth;background:var(--paper);margin:0;line-height:1.55}.ils-app a{color:inherit}.ils-app .skip-link{position:absolute;top:auto;left:-9999px}.ils-app .skip-link:focus{z-index:5;background:#fff;border-radius:8px;padding:.7rem 1rem;top:1rem;left:1rem}.ils-app .site-header{border-bottom:1px solid var(--line);z-index:4;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f7f7f4eb;position:sticky;top:0}.ils-app .header-inner{justify-content:space-between;align-items:center;gap:1rem;max-width:1180px;margin:auto;padding:1rem 1.4rem;display:flex}.ils-app .brand{align-items:center;gap:.65rem;font-weight:500;text-decoration:none;display:flex}.ils-app .brand strong{font-weight:800}.ils-app .brand-mark{background:var(--pink);color:#fff;border-radius:50%;place-items:center;width:2rem;height:2rem;font-family:Georgia,serif;font-size:1.3rem;display:grid}.ils-app .site-nav{color:var(--muted);gap:1.4rem;font-size:.88rem;display:flex}.ils-app .site-nav a{text-decoration:none}.ils-app .site-nav a:hover,.ils-app .text-link:hover{color:var(--pink)}.ils-app .hero,.ils-app .section{max-width:1180px;margin:auto;padding-left:1.4rem;padding-right:1.4rem}.ils-app .hero{grid-template-columns:1fr 1fr;align-items:center;gap:4rem;min-height:600px;display:grid}.ils-app .hero-copy{max-width:570px}.ils-app .eyebrow,.ils-app .card-kicker{text-transform:uppercase;letter-spacing:.16em;color:var(--pink);margin:0 0 1rem;font-size:.72rem;font-weight:800}.ils-app .hero h1{letter-spacing:-.07em;max-width:650px;margin:0 0 1.6rem;font-size:clamp(3rem,6vw,5.5rem);line-height:.98}.ils-app .hero-lede{color:var(--muted);max-width:500px;font-size:1.2rem;line-height:1.5}.ils-app .hero-actions{flex-wrap:wrap;align-items:center;gap:1.5rem;margin-top:2rem;display:flex}.ils-app .button{border-radius:999px;align-items:center;gap:.7rem;padding:.85rem 1.2rem;font-size:.9rem;font-weight:750;text-decoration:none;display:inline-flex}.ils-app .button-primary{background:var(--navy);color:#fff;box-shadow:0 8px 20px #26334b2e}.ils-app .button-primary:hover{background:var(--pink)}.ils-app .text-link{font-size:.9rem;font-weight:700;text-decoration:none}.ils-app .hero-visual{background:#f0e6df;border-radius:48% 52% 44% 56%;height:390px;position:relative;overflow:hidden;transform:rotate(4deg)}.ils-app .hero-visual:after{content:"";border:1px solid #26334b29;border-radius:50%;position:absolute;inset:10% 9%;transform:rotate(-5deg)}.ils-app .orb{border-radius:50%;width:8rem;height:8rem;position:absolute;box-shadow:inset -14px -14px #26334b14}.ils-app .orb-one{background:var(--pink);top:30%;left:18%}.ils-app .orb-two{background:var(--yellow);top:18%;left:43%}.ils-app .orb-three{background:var(--teal);top:47%;left:63%}.ils-app .hero-axis{color:var(--muted);justify-content:space-between;gap:1rem;font-size:.7rem;display:flex;position:absolute;bottom:17%;left:15%;right:10%;transform:rotate(-4deg)}.ils-app .hero-axis i{border-top:1px solid var(--navy);position:absolute;top:1.3rem;left:0;right:0}.ils-app .hero-axis i:after{content:"";border:4px solid #0000;border-left-color:var(--navy);position:absolute;top:-4px;right:0}.ils-app .section{padding-top:6rem;padding-bottom:6rem}.ils-app .intro-grid{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:5rem;display:grid}.ils-app h2{letter-spacing:-.05em;margin:.2rem 0;font-size:clamp(2rem,4vw,3.4rem);line-height:1.04}.ils-app h3{letter-spacing:-.035em;margin:.3rem 0 .8rem;font-size:1.7rem}.ils-app .section-copy{color:var(--muted);align-self:end;max-width:490px;font-size:1.15rem}.ils-app .section-heading{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2.5rem;display:flex}.ils-app .section-heading h2{max-width:550px}.ils-app .section-note{color:var(--muted);font-size:.9rem}.ils-app .module-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.ils-app .module-card{background:var(--card);border:1px solid var(--line);border-radius:20px;flex-direction:column;min-height:300px;padding:1.8rem;text-decoration:none;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 4px #26334b08}.ils-app .module-card:hover{box-shadow:var(--shadow);transform:translateY(-5px)}.ils-app .module-card-featured{background:var(--navy);color:#fff;border-color:var(--navy)}.ils-app .module-card-featured .card-kicker{color:var(--yellow)}.ils-app .module-card p{color:var(--muted);max-width:290px}.ils-app .module-card-featured p{color:#d8deea}.ils-app .card-arrow{margin-top:auto;font-size:.9rem;font-weight:750}.ils-app .module-card-muted{background:#efefeb}.ils-app .principles{background:var(--yellow);grid-template-columns:1fr 1fr;gap:5rem;max-width:none;padding-left:max(1.4rem,50% - 590px + 1.4rem);padding-right:max(1.4rem,50% - 590px + 1.4rem);display:grid}.ils-app .principle-list{align-self:center}.ils-app .principle-list p{border-top:1px solid #1d223040;margin:0;padding:1rem 0}.ils-app .principle-list strong{width:3rem;display:inline-block}.ils-app .site-footer{max-width:1180px;color:var(--muted);justify-content:space-between;margin:auto;padding:2rem 1.4rem;font-size:.8rem;display:flex}.ils-app .app-shell{max-width:1280px;margin:auto;padding:2rem 1.4rem 5rem}.ils-app .app-header{justify-content:space-between;align-items:end;gap:1rem;margin:2rem 0 2.5rem;display:flex}.ils-app .app-header h1{letter-spacing:-.07em;margin:0;font-size:clamp(2.5rem,5vw,4.5rem);line-height:.98}.ils-app .app-header p{color:var(--muted);max-width:600px;margin:.8rem 0 0}.ils-app .route-tabs{flex-wrap:wrap;gap:.4rem;margin:1rem 0 2rem;display:flex}.ils-app .tab{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:999px;padding:.55rem .8rem;font-size:.8rem;text-decoration:none}.ils-app .tab.active{background:var(--navy);color:#fff;border-color:var(--navy)}.ils-app .learning-grid{grid-template-columns:310px 1fr;align-items:start;gap:1rem;display:grid}.ils-app .control-panel,.ils-app .explain-card,.ils-app .table-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:1.3rem}.ils-app .control-panel{position:sticky;top:5rem}.ils-app .control-panel h2,.ils-app .explain-card h2{letter-spacing:-.03em;margin:0 0 1.2rem;font-size:1.2rem}.ils-app .mode-group{gap:.4rem;margin-bottom:1.25rem;display:flex}.ils-app .mode-button{border:1px solid var(--line);font:inherit;color:var(--muted);cursor:pointer;background:#fff;border-radius:10px;flex:1;padding:.6rem .3rem;font-size:.76rem}.ils-app .mode-button[aria-pressed=true]{background:var(--pink);color:#fff;border-color:var(--pink)}.ils-app .control{margin:1.1rem 0;display:block}.ils-app .control label{justify-content:space-between;gap:.5rem;font-size:.82rem;font-weight:700;display:flex}.ils-app .value-output{color:var(--pink);font-variant-numeric:tabular-nums}.ils-app input[type=range]{width:100%;accent-color:var(--pink);margin-top:.55rem}.ils-app .control small{color:var(--muted);margin-top:.2rem;font-size:.72rem;line-height:1.35;display:block}.ils-app .plot-card{background:var(--navy);color:#fff;border-radius:18px;min-height:400px;padding:1.1rem}.ils-app .plot-header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.ils-app .plot-header h2{margin:0;font-size:1.2rem}.ils-app .plot-header p{color:#b8c4da;margin:.25rem 0;font-size:.78rem}.ils-app .plot-legend{color:#d8deea;flex-wrap:wrap;gap:.8rem;font-size:.7rem;display:flex}.ils-app .legend-dot{border-radius:50%;width:.6rem;height:.6rem;margin-right:.3rem;display:inline-block}.ils-app .plot-svg{width:100%;height:335px;display:block}.ils-app .dashboard-grid{grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem;display:grid}.ils-app .explain-card{min-height:190px}.ils-app .explain-card p{color:var(--muted);font-size:.9rem}.ils-app .callout{border-left:4px solid var(--pink);padding-left:.8rem;color:var(--ink)!important}.ils-app .bars{align-items:end;gap:1.2rem;height:150px;padding:1rem 1rem .3rem;display:flex}.ils-app .bar-wrap{height:100%;color:var(--muted);flex-direction:column;flex:1;justify-content:end;align-items:center;gap:.45rem;font-size:.7rem;display:flex}.ils-app .bar{background:var(--pink);border-radius:8px 8px 2px 2px;width:100%;max-width:80px;min-height:4px}.ils-app .bar.error{background:var(--yellow)}.ils-app .bar.interaction{background:var(--teal)}.ils-app .table-card{margin-top:1rem;overflow:auto}.ils-app .table-card h2{font-size:1.2rem}.ils-app .stats-table{border-collapse:collapse;width:100%;font-size:.82rem}.ils-app .stats-table th,.ils-app .stats-table td{text-align:right;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;padding:.65rem .5rem}.ils-app .stats-table th:first-child,.ils-app .stats-table td:first-child{text-align:left}.ils-app .stats-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.7rem}.ils-app .f-ratio{color:var(--pink);font-size:1.4rem;font-weight:800}.ils-app .embed-banner{background:#fbe8e9;border:1px solid #f3bdc2;border-radius:12px;margin-bottom:1rem;padding:.8rem 1rem;font-size:.8rem}.ils-app .embed-banner strong{color:#b93e4c}.ils-app .hidden{display:none!important}@media (width<=850px){.ils-app .hero{grid-template-columns:1fr;gap:2rem;min-height:auto;padding-top:4rem;padding-bottom:5rem}.ils-app .hero-visual{height:280px}.ils-app .intro-grid,.ils-app .principles{grid-template-columns:1fr;gap:2rem}.ils-app .module-grid,.ils-app .learning-grid{grid-template-columns:1fr}.ils-app .control-panel{position:static}.ils-app .dashboard-grid{grid-template-columns:1fr}.ils-app .app-header{display:block}.ils-app .app-header .text-link{margin-top:1rem;display:inline-block}}@media (width<=520px){.ils-app .site-nav{gap:.7rem}.ils-app .site-nav a{font-size:.75rem}.ils-app .header-inner{padding:.8rem 1rem}.ils-app .hero,.ils-app .section,.ils-app .app-shell{padding-left:1rem;padding-right:1rem}.ils-app .hero h1{font-size:3.3rem}.ils-app .hero-visual{height:230px}.ils-app .orb{width:5.5rem;height:5.5rem}.ils-app .site-footer{padding-left:1rem;padding-right:1rem}.ils-app .site-footer span:last-child{display:none}.ils-app .plot-card{padding:.8rem}.ils-app .plot-svg{height:270px}.ils-app .section{padding-top:4rem;padding-bottom:4rem}}
