:root{--bg:#f9f9f9;--bg-alt:#f2f2f2;--surface:#fff;--line:#e2e2e2;--line-soft:#ececec;--ink:#1a1c1c;--ink-soft:#4a4455;--ink-faint:#7b7487;--primary:#630ed4;--primary-strong:#4d00a8;--primary-bg:#630ed414;--primary-line:#630ed438;--amber:#a15e00;--amber-bg:#fea61924;--amber-line:#fea61959;--dev-bg:#eaeaea;--serif:"Source Serif 4", "Iowan Old Style", Georgia, serif;--sans:"Source Sans 3", "Segoe UI", Helvetica, Arial, sans-serif;--mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace}@media (prefers-color-scheme:dark){:root{--bg:#17181a;--bg-alt:#1e1f21;--surface:#1f2022;--line:#33353a;--line-soft:#2a2c30;--ink:#f0f1f1;--ink-soft:#b9b3c8;--ink-faint:#8b859c;--primary:#b18aff;--primary-strong:#cbb0ff;--primary-bg:#b18aff24;--primary-line:#b18aff4d;--amber:#ffc25c;--amber-bg:#ffc25c24;--amber-line:#ffc25c59;--dev-bg:#2a2c30}}:root[data-theme=dark]{--bg:#17181a;--bg-alt:#1e1f21;--surface:#1f2022;--line:#33353a;--line-soft:#2a2c30;--ink:#f0f1f1;--ink-soft:#b9b3c8;--ink-faint:#8b859c;--primary:#b18aff;--primary-strong:#cbb0ff;--primary-bg:#b18aff24;--primary-line:#b18aff4d;--amber:#ffc25c;--amber-bg:#ffc25c24;--amber-line:#ffc25c59;--dev-bg:#2a2c30}:root[data-theme=light]{--bg:#f9f9f9;--bg-alt:#f2f2f2;--surface:#fff;--line:#e2e2e2;--line-soft:#ececec;--ink:#1a1c1c;--ink-soft:#4a4455;--ink-faint:#7b7487;--primary:#630ed4;--primary-strong:#4d00a8;--primary-bg:#630ed414;--primary-line:#630ed438;--amber:#a15e00;--amber-bg:#fea61924;--amber-line:#fea61959;--dev-bg:#eaeaea}.jasmiris-home *{box-sizing:border-box}.jasmiris-home{background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.55}:where(.jasmiris-home) a{color:inherit}.jasmiris-home .wrap{max-width:78rem;margin:0 auto;padding:0 1.5rem}.jasmiris-home h1,.jasmiris-home h2,.jasmiris-home h3{font-family:var(--serif);text-wrap:balance;margin:0;font-weight:600}.home-nav{background:var(--bg);border-bottom:1px solid var(--line);z-index:30;position:sticky;top:0}.home-nav .wrap{justify-content:space-between;align-items:center;gap:1.5rem;height:4rem;display:flex}.wordmark{font-family:var(--serif);letter-spacing:.04em;font-size:1.15rem;text-decoration:none}.brand{flex-shrink:0;align-items:baseline;gap:.65rem;display:flex}.brand .tagline{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);font-size:.62rem}.navlinks{flex-grow:1;align-items:center;gap:2rem;display:flex}.navlinks>a{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);border-bottom:2px solid #0000;padding-bottom:.35rem;font-size:.72rem;text-decoration:none}.navlinks>a.active{color:var(--primary);border-color:var(--primary)}.navlinks>a:hover{color:var(--primary)}.nav-right{flex-shrink:0;align-items:center;gap:1.1rem;display:flex}.btn-cta{background:var(--primary);color:#fff;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;white-space:nowrap;border:none;border-radius:3px;padding:.7rem 1.3rem;font-size:.72rem;text-decoration:none}.btn-cta:hover{background:var(--primary-strong)}.lang-link{font-family:var(--mono);letter-spacing:.06em;border:1px solid var(--line);color:var(--ink-faint);border-radius:999px;padding:.4rem .7rem;font-size:.72rem;text-decoration:none}.lang-link:hover{color:var(--primary);border-color:var(--primary-line)}.mega-menu{position:relative}.mega-menu>summary{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);cursor:pointer;border-bottom:2px solid #0000;align-items:center;gap:.3rem;padding-bottom:.35rem;font-size:.72rem;list-style:none;display:flex}.mega-menu>summary::-webkit-details-marker{display:none}.mega-menu>summary:hover{color:var(--primary)}.mega-menu[open]>summary{color:var(--primary);border-color:var(--primary)}.mega-menu>summary .caret{transition:transform .15s}.mega-menu[open]>summary .caret{transform:rotate(180deg)}.mega-panel{background:var(--surface);border:1px solid var(--line);z-index:40;border-radius:8px;width:min(92vw,46rem);padding:1.6rem;position:absolute;top:calc(100% + .9rem);left:50%;transform:translate(-50%);box-shadow:0 16px 40px #0000001f}.mega-grid{grid-template-columns:repeat(3,1fr);gap:1.4rem 1.6rem;display:grid}.mega-col .mega-cat{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--primary);margin-bottom:.6rem;font-size:.66rem;text-decoration:none;display:block}.mega-col .mega-cat:hover{color:var(--primary-strong)}.mega-col .mega-link{color:var(--ink-soft);margin-bottom:.5rem;font-size:.82rem;line-height:1.35;text-decoration:none;display:block}.mega-col .mega-link:hover{color:var(--ink);text-decoration:underline}.mega-all{text-align:center;border-top:1px solid var(--line);color:var(--primary);margin-top:1.4rem;padding-top:1.2rem;font-size:.85rem;font-weight:600;text-decoration:none;display:block}.mega-all:hover{color:var(--primary-strong)}@media (width<=720px){.mega-panel{width:auto;max-height:calc(100vh - 5rem);position:fixed;top:4rem;left:.75rem;right:.75rem;overflow-y:auto;transform:none}.mega-grid{grid-template-columns:1fr}}.hero{padding:5rem 0 4rem}.eyebrow-row{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.chip{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;border-radius:3px;padding:.25rem .65rem;font-size:.66rem;font-weight:600}.chip-live{background:var(--primary-bg);color:var(--primary);border:1px solid var(--primary-line)}.chip-beta{background:var(--amber-bg);color:var(--amber);border:1px solid var(--amber-line)}.chip-dev{background:var(--dev-bg);color:var(--ink-faint);border:1px solid var(--line)}.eyebrow-rule{background:var(--line);width:4rem;height:1px}.eyebrow-year{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);font-size:.68rem}.hero h1{max-width:20ch;margin-bottom:1.6rem;font-size:clamp(2rem,4.6vw,3.5rem);line-height:1.15}.hero h1 em{color:var(--primary);font-style:italic;font-weight:400}.hero p.sub{max-width:42rem;color:var(--ink-soft);margin-bottom:2.5rem;font-size:1.1rem}.cta-row{flex-wrap:wrap;gap:1rem;margin-bottom:3.5rem;display:flex}.btn-primary{background:var(--primary);color:#fff}.btn-outline{border:1px solid var(--ink);color:var(--ink);background:0 0}.btn-primary,.btn-outline{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;border-radius:3px;padding:.95rem 1.8rem;font-size:.75rem;text-decoration:none}.btn-primary:hover{background:var(--primary-strong)}.btn-outline:hover{background:var(--bg-alt)}.stat-row{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,auto);gap:3rem;padding:1.8rem 0;display:grid}.stat b{font-family:var(--serif);font-variant-numeric:tabular-nums;font-size:1.7rem;display:block}.stat span{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);font-size:.66rem}.ecosystem{padding:4.5rem 0}.ecosystem h2{margin-bottom:.8rem;font-size:1.7rem}.ecosystem .intro{max-width:46ch;color:var(--ink-soft);margin-bottom:2.5rem}.bento{grid-template-columns:repeat(12,1fr);gap:1.25rem;display:grid}.tile{background:var(--surface);border:1px solid var(--line);border-radius:6px;flex-direction:column;grid-column:span 4;min-height:15rem;padding:1.6rem 1.6rem 1.8rem;transition:transform .25s,box-shadow .25s;display:flex;position:relative}.tile:hover{transform:translateY(-2px);box-shadow:0 8px 28px #0000000f}.tile.tile-featured{grid-column:span 8}.tile .chips{flex-wrap:wrap;align-items:center;gap:.4rem .5rem;margin-bottom:1.1rem;display:flex}.tile .classification{font-family:var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);text-align:right;min-width:0;margin-left:auto;font-size:.62rem}.tile h3{margin-bottom:.6rem;font-size:1.5rem}.tile p.desc{color:var(--ink-soft);max-width:34ch;margin:0;font-size:.95rem}.card-foot{margin-top:auto;padding-top:1rem}.card-link{color:var(--primary);border-bottom:1px solid;font-size:.85rem;font-weight:600;text-decoration:none}.card-link:hover{color:var(--primary-strong)}.card-link.quiet{color:var(--ink-faint);border-bottom-color:#0000}.card-link.quiet:hover{color:var(--ink-soft)}@media (width<=860px){.tile,.tile.tile-featured{grid-column:span 12}}.tile-featured{background:linear-gradient(160deg, var(--surface) 60%, var(--primary-bg) 150%);overflow:hidden}.tile-featured h3{font-size:1.9rem}.tile-featured .desc{max-width:42ch;font-size:1.02rem}.tile-featured .classification{margin-left:.6rem}.tile-featured .rings{border:1px solid var(--primary-line);opacity:.6;pointer-events:none;z-index:0;border-radius:999px;width:14rem;height:14rem;position:absolute;top:-3rem;right:-3rem}.tile-featured .rings.inner{width:9rem;height:9rem;top:-1rem;right:-1.5rem}.teaser{margin-top:auto;padding-top:1.2rem}.extract-box{background:var(--bg-alt);border:1px solid var(--line);border-radius:4px;align-items:center;gap:.5rem;max-width:22rem;padding:.5rem .6rem;display:flex}.extract-box svg{color:var(--ink-faint);flex-shrink:0}.extract-box input{font-family:var(--mono);color:var(--ink-soft);background:0 0;border:none;flex-grow:1;min-width:0;font-size:.78rem}.extract-box button{background:var(--primary);color:#fff;font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;border:none;border-radius:3px;padding:.5rem .8rem;font-size:.68rem}.calc-box{background:var(--bg-alt);border:1px solid var(--line);border-radius:4px;padding:1rem 1.1rem}.calc-row{border-bottom:1px solid var(--line-soft);font-family:var(--mono);justify-content:space-between;align-items:baseline;padding:.5rem 0;display:flex}.calc-row:last-child{border-bottom:none;padding-top:.7rem}.calc-row .label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);font-size:.68rem}.calc-row .value{font-variant-numeric:tabular-nums;font-size:1rem}.calc-row.result .label,.calc-row.result .value{color:var(--primary);font-weight:600}.calc-row.result .value{font-size:1.25rem}.philosophy{background:var(--bg-alt);border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;padding:5.5rem 0}.philosophy .quote-mark{font-family:var(--serif);color:var(--ink-faint);opacity:.4;font-size:3rem;line-height:1}.philosophy .story{font-family:var(--serif);text-align:left;max-width:38rem;margin:1rem auto 1.8rem;font-size:clamp(1rem,1.3vw,1.2rem);line-height:1.75}.philosophy .story p{margin:0 0 1.1rem}.philosophy .story p:last-child{margin-bottom:0;font-style:italic}.philosophy .attribution{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);font-size:.7rem}.philosophy .rule{background:var(--ink-faint);width:3rem;height:1px;margin:0 auto 1rem}.home-footer{border-top:1px solid var(--line);padding:3.5rem 0}.footer-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2.5rem;display:flex}.footer-brand .wordmark{margin-bottom:.5rem;display:block}.footer-brand p{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);max-width:20rem;margin:0;font-size:.68rem}.notify-form{flex-grow:1;gap:.5rem;max-width:26rem;display:flex}.notify-form input{border:1px solid var(--line);background:var(--bg-alt);font-family:var(--sans);color:var(--ink);border-radius:3px;flex-grow:1;padding:.6rem .8rem;font-size:.88rem}.notify-form button{background:var(--ink);color:var(--bg);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border:none;border-radius:3px;padding:.6rem 1.1rem;font-size:.68rem}.footer-links{flex-wrap:wrap;gap:1.5rem;display:flex}.footer-links a{color:var(--ink-faint);font-size:.85rem;text-decoration:none}.footer-links a:hover{color:var(--ink)}@media (prefers-reduced-motion:reduce){.tile{transition:none}}
