
:root{color-scheme:light;--bg:#f7f9f6;--paper:#fff;--ink:#14231f;--muted:#6e7975;--line:#e5ebe6;--accent:#11c58b;--dark:#0b201b;--radius:15px;--shadow:0 15px 45px rgba(14,43,29,.045)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--ink);font-family:"DM Sans",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #2ecb9c;outline-offset:3px}button:disabled{opacity:.45;cursor:not-allowed}.shell{width:min(1370px,calc(100% - 96px));margin:0 auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only.skip:focus{position:fixed;top:0;left:0;width:auto;height:auto;margin:0;background:#fff;padding:12px;clip:auto;z-index:1000}
.top-strip{background:#09241d;color:#b2d8c9;font:600 10px "IBM Plex Mono",monospace;letter-spacing:.11em}.strip-in{height:35px;display:flex;justify-content:space-between;align-items:center}.live-dot,.mini-pulse{display:inline-block;width:7px;height:7px;border-radius:50%;background:#5ce9b0;margin-right:8px;box-shadow:0 0 0 4px rgba(68,213,152,.1)}.strip-right{letter-spacing:0;font-weight:400;color:#87a69b}.strip-right a{color:#d6fae7;font-weight:600;margin-left:8px}.header{position:sticky;top:0;z-index:25;background:rgba(247,249,246,.94);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.header-in{height:77px;display:flex;align-items:center;gap:48px}.brand{display:inline-flex;align-items:center;gap:11px;font:800 24px Manrope,sans-serif;letter-spacing:-1.8px;white-space:nowrap}.brand-light{font-weight:500}.brand-period{color:#10b985}.brand-icon{height:30px;width:31px;border-radius:8px;background:#0d372a;display:inline-flex;align-items:center;justify-content:center;gap:3px;transform:rotate(-5deg)}.brand-icon i{display:block;height:15px;width:3px;border-radius:20px;background:#76e9bc;transform:rotate(32deg)}.brand-icon i:nth-child(2){height:20px;background:#fff}.brand-icon i:nth-child(3){height:12px}.main-nav{display:flex;align-items:center;gap:28px;margin-left:42px}.main-nav a{font-weight:600;font-size:13px;color:#6e7a73;white-space:nowrap;transition:color .2s}.main-nav a:hover,.main-nav .nav-active{color:#183a2c}.nav-end{margin-left:auto;display:flex;align-items:center;gap:18px}.open-index{font:600 10px "IBM Plex Mono",monospace;letter-spacing:.07em;color:#638473;white-space:nowrap}.open-index span{display:inline-block;width:5px;height:5px;border-radius:50%;background:#1ac68c;margin:0 5px 1px 0}.theme-button{border:0;background:transparent;color:#576f61;font-size:25px;padding:4px}.nav-cta{font-size:12px;font-weight:800;padding:12px 17px;border:1px solid #d6e3da;border-radius:7px;background:#fff;white-space:nowrap}.nav-cta span{color:#08a974;margin-left:8px}.mobile-nav-btn{display:none;background:transparent;border:none;font-size:23px}
.hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:40px;align-items:center;padding-top:82px;padding-bottom:100px;min-height:635px}.hero-copy{padding:15px 0}.hero-eyebrow,.section-kicker{font:600 10px "IBM Plex Mono",monospace;letter-spacing:.14em;color:#52947b;display:flex;align-items:center;gap:13px}.eyebrow-line{width:23px;height:1px;background:#10ac79}.eyebrow-idx{color:#a2b6aa}.hero h1{font:800 clamp(49px,5.1vw,80px)/1.13 Manrope,sans-serif;letter-spacing:-.075em;margin:30px 0 26px}.hero h1 .serif-inline,h2 em{font-family:Georgia,serif;font-weight:400;font-style:italic;letter-spacing:-.06em}.muted-word{color:#82998e}.dot{color:#04bc80}.hero-sub{font-size:16px;line-height:1.86;color:#71827a;max-width:600px;margin:0}.hero-actions{display:flex;gap:12px;margin:30px 0}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;padding:17px 21px;font-size:13px;font-weight:800;border-radius:8px;border:1px solid transparent;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:#102a20;color:white}.button-primary:hover{background:#194932}.button-primary span{color:#7aefbd}.button-secondary{background:#fff;border-color:#dee9e1;color:#34473c}.hero-trust{display:flex;gap:15px;align-items:center;font-size:12px;color:#8b9a92;padding-top:13px}.hero-trust strong{color:#2b4437}.avatar-stack{display:flex;padding-left:7px}.avatar-stack span{display:grid;place-items:center;width:31px;height:31px;margin-left:-7px;border-radius:50%;background:#d3e9dc;border:2px solid var(--bg);font:700 9px "IBM Plex Mono",monospace;color:#386851}.avatar-stack span:nth-child(2){background:#dcefe5}.avatar-stack span:nth-child(3){background:#c8e8e0}.avatar-stack span:nth-child(4){background:#bbe0ca}
.hero-visual{position:relative;height:505px;background:#0d2d25;border-radius:19px;overflow:hidden;box-shadow:0 26px 67px rgba(11,48,34,.14);border:1px solid #194a3c}.visual-head,.visual-bottom{display:flex;justify-content:space-between;align-items:center;position:absolute;left:30px;right:30px;z-index:2;font:500 9px "IBM Plex Mono",monospace;letter-spacing:.09em;color:#80b4a4}.visual-head{top:24px}.visual-bottom{bottom:23px;color:#77a99a}.molecule-art{position:absolute;width:100%;height:87%;top:5%;left:0;opacity:.96}.visual-card{position:absolute;z-index:2;display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid rgba(158,239,210,.25);background:rgba(14,55,43,.84);backdrop-filter:blur(13px);border-radius:10px;box-shadow:0 12px 30px rgba(0,0,0,.12)}.visual-card-one{top:102px;left:32px}.visual-card-two{bottom:84px;right:34px}.vc-icon{font-size:17px;color:#c6ffec}.vc-green{display:grid;place-items:center;background:#1bba88;border-radius:5px;width:29px;height:29px;color:#fff;font-size:12px}.visual-card strong{display:block;color:#e9fff6;font-size:11px;white-space:nowrap}.visual-card span:not(.vc-arrow):not(.vc-led){display:block;color:#7eae9b;font:500 8px "IBM Plex Mono",monospace;margin-top:6px;letter-spacing:.045em;white-space:nowrap}.vc-arrow{font-size:17px;color:#69e4b3;margin-left:6px}.vc-led{width:6px;height:6px;border-radius:50%;background:#62e9ac;margin-left:5px;box-shadow:0 0 12px #45d99d}
.stat-band{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stats-in{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) 1.25fr;min-height:118px}.stat-item{display:flex;flex-direction:column;justify-content:center;border-right:1px solid var(--line);padding-left:38px}.stat-item:first-child{padding-left:0}.stat-item:last-child{border-right:0}.stat-num{font:800 31px Manrope,sans-serif;letter-spacing:-.05em}.stat-label{font-size:11px;font-weight:600;color:#819088;margin-top:5px}.stat-label>span{color:#8ba899}.stat-mini.green,.green{color:#1cbb83!important}.stat-mini.amber{color:#e8a44c!important}.stat-mini.grey{color:#9ba8a2!important}.stat-kicker{font:600 10px "IBM Plex Mono",monospace;letter-spacing:.08em;color:#a2ada6}.stat-date .stat-label{font:700 13px "IBM Plex Mono",monospace;color:#32483b;margin-top:12px}
.section-top{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:30px}.section-top h2,.method h2,.s2s-layout h2,.compare-head h2{font:800 clamp(32px,3.45vw,51px)/1.17 Manrope,sans-serif;letter-spacing:-.06em;margin:17px 0 10px}.section-top p{font-size:14px;color:#819087;margin:0}.plain-link{font:700 10px "IBM Plex Mono",monospace;letter-spacing:.06em;color:#3a6f58;padding-bottom:10px;white-space:nowrap}.plain-link span{font-size:16px;color:#1bc792;margin-left:4px}
.workflows{padding:112px 0 106px}.workflow-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.workflow-card{min-width:0;min-height:247px;text-align:left;display:flex;flex-direction:column;border:1px solid #e1e9e3;border-radius:12px;background:#fff;padding:20px 22px;transition:transform .22s,border-color .22s,box-shadow .22s}.workflow-card:hover{transform:translateY(-4px);border-color:#6adbb2;box-shadow:0 15px 35px rgba(25,76,50,.07)}.wf-top{display:flex;justify-content:space-between;align-items:center;font:600 10px "IBM Plex Mono",monospace;color:#9aaea2}.wf-arrow{font-size:19px;color:#3c9572}.wf-symbol{display:grid;place-items:center;width:52px;height:52px;border-radius:10px;background:#eaf8ef;color:#34a478;margin:13px 0 17px;font:500 28px Georgia,serif}.workflow-card:nth-child(2) .wf-symbol{background:#eaf4f9;color:#5e87a9}.workflow-card:nth-child(3) .wf-symbol{background:#f1eefb;color:#8e80c4}.workflow-card:nth-child(4) .wf-symbol{background:#fdf5ea;color:#c79958}.workflow-card strong{font:800 17px Manrope,sans-serif;letter-spacing:-.035em}.workflow-card>span:nth-last-child(2){font-size:12px;color:#89978e;line-height:1.6;margin-top:8px}.wf-link{margin-top:auto!important;padding-top:20px;color:#248b63!important;font-size:11px!important;font-weight:800!important}.wf-link b{float:right;font-size:16px}
.directory-section{background:#edf2ed;padding:106px 0 116px;border-top:1px solid #e3ebe3}.directory-intro{margin-bottom:34px}.explorer{background:transparent}.explorer-top{display:flex;gap:14px;align-items:center}.search-wrap{display:flex;flex:1;align-items:center;gap:12px;padding:0 20px;height:65px;background:#fff;border-radius:10px;border:1px solid #dce5db;box-shadow:var(--shadow)}.search-wrap:focus-within{border-color:#28bc8f;box-shadow:0 0 0 3px rgba(38,200,144,.09)}.search-glass{font-size:31px;color:#68a286;line-height:1}.search-wrap input{width:100%;outline:none;border:none;color:#213d2d;font-size:14px;background:transparent}.search-wrap input::placeholder{color:#a5b0a8}.search-wrap kbd{font:600 11px "IBM Plex Mono",monospace;color:#8d9b91;background:#f6f8f5;border:1px solid #e6ebe6;border-radius:4px;padding:5px 9px}.clear-btn{border:1px solid #dce5db;background:white;border-radius:8px;padding:23px 22px;font-size:12px;font-weight:700;color:#607365;white-space:nowrap}.filter-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:15px}.filter-label{font:700 10px "IBM Plex Mono",monospace;letter-spacing:.08em;color:#89968d;padding-right:9px}.filter-group{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e0e7de;border-radius:7px;padding:9px 12px}.filter-group label{font-size:11px;color:#9da9a0}.filter-group select{border:0;background:transparent;color:#365443;font-weight:700;font-size:11px;outline:none;max-width:164px}.category-wrap{display:flex;gap:9px;flex-wrap:wrap;padding:25px 0 21px}.cat-chip{border:1px solid #d6e1d6;background:transparent;color:#76877b;border-radius:6px;padding:10px 14px;font-size:11px;font-weight:700;transition:background .15s}.cat-chip span{font-family:"IBM Plex Mono",monospace;color:#9cad9f;margin-left:5px}.cat-chip:hover{background:#fff}.cat-chip.active{background:#113629;border-color:#113629;color:white}.cat-chip.active span{color:#8bd8ae}.results-bar{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-top:1px solid #dce6dc}.results-bar strong{font:800 15px Manrope,sans-serif}.results-bar #active-filter-text{color:#8d9b8e;font-size:12px;margin-left:5px}.results-actions{display:flex;align-items:center;gap:24px}.results-actions button{border:0;background:transparent;color:#208963;font-size:12px;font-weight:800}.results-actions button span:nth-child(1){display:inline-grid;place-items:center;background:#d9eee2;border-radius:5px;width:22px;height:22px;color:#24764f;margin:0 5px}.results-label{font:600 9px "IBM Plex Mono",monospace;letter-spacing:.08em;color:#a0aca3}
.tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.tool-card{position:relative;display:flex;flex-direction:column;min-height:303px;background:#fff;border:1px solid #e4eae3;border-radius:11px;padding:23px 23px 19px;transition:transform .2s,box-shadow .2s,border-color .2s}.tool-card:hover{transform:translateY(-2px);border-color:#8adab2;box-shadow:0 16px 30px rgba(37,73,49,.055)}.tc-head{display:flex;align-items:start;justify-content:space-between;gap:10px}.tc-icon{display:grid;place-items:center;width:41px;height:41px;flex:0 0 41px;border-radius:9px;color:#1d7855;background:#e4f5e9;font:800 18px Manrope,sans-serif}.tc-icon[data-tone="blue"]{background:#e7f2fa;color:#5981a4}.tc-icon[data-tone="purple"]{background:#f1edfb;color:#8476b3}.tc-icon[data-tone="sand"]{background:#fff3e4;color:#b98b54}.tc-actions{display:flex;align-items:center;gap:7px}.tc-external{border:1px solid #e8ede8;border-radius:6px;padding:7px 9px;color:#7d9c87;font-weight:800;font-size:13px}.tc-compare{font-size:10px;font-weight:700;border:1px solid #dce5dd;border-radius:6px;background:#fff;color:#6c8872;padding:8px 9px}.tc-compare[aria-pressed="true"]{background:#dff4e8;border-color:#66cfa2;color:#0b8456}.tc-cat{margin:19px 0 8px;font:700 9px "IBM Plex Mono",monospace;letter-spacing:.06em;text-transform:uppercase;color:#86a294;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tool-card h3{font:800 21px/1.2 Manrope,sans-serif;letter-spacing:-.04em;margin:0 0 6px}.tc-maker{font-size:11px;color:#96a49b;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin:0 0 16px}.tc-desc{font-size:12px;color:#75877d;line-height:1.65;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 19px;flex:1}.tc-info{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:4px;padding:6px 8px;font:700 9px "IBM Plex Mono",monospace;white-space:nowrap}.badge:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.badge-yes{color:#168357;background:#e5f7e9}.badge-restricted{color:#9f691f;background:#fff4dd}.badge-no{color:#ab5651;background:#fff0eb}.badge-unverified{color:#777f7f;background:#eff1f1}.other-pill{font-size:10px;color:#77877d;background:#f3f6f3;border-radius:4px;padding:6px 8px;white-space:nowrap}.tc-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #eff2ee;padding-top:15px}.tc-bottom span{font-size:10px;color:#a2ada3}.tc-detail{font-size:11px;color:#1d9567;font-weight:800;border:0;background:transparent}.tc-detail span{margin-left:6px}
.loading{padding:50px;text-align:center;color:#7c9384}.no-results{text-align:center;padding:40px 0}.no-results strong{font-size:19px}.no-results p{color:#8a978e}.load-area{display:flex;justify-content:center;margin-top:29px}.load-button{border:1px solid #d3dfd5;background:#fff;padding:16px 34px;border-radius:7px;color:#376449;font-weight:800;font-size:12px}.load-button:hover{background:#f6fcf7}
.method{display:grid;grid-template-columns:1fr 1.12fr;gap:65px;padding-top:115px;padding-bottom:128px}.method h2{margin:21px 0 0}.method-content{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;align-content:start}.method-card{border-top:2px solid #d5e2d9;padding-top:18px}.method-n{font:600 9px "IBM Plex Mono",monospace;color:#27916c}.method-card strong{display:block;font:800 15px Manrope,sans-serif;letter-spacing:-.04em;margin:18px 0 9px}.method-card p{font-size:12px;line-height:1.8;color:#87958b;margin:0}.method-footer{grid-column:1/-1;color:#7d8f80;font-size:11px;background:#edf5ef;padding:15px 18px;border-radius:7px;margin-top:16px}.method-footer a{font-weight:800;color:#208358;margin-left:7px}.method-pulse{color:#29b780;margin-right:8px}
.s2s-section{background:#0d3025;color:#fff;overflow:hidden}.s2s-layout{display:grid;grid-template-columns:1fr 1fr;gap:120px;align-items:center;min-height:450px;padding-top:82px;padding-bottom:82px}.s2s-kicker{font:600 10px "IBM Plex Mono",monospace;letter-spacing:.12em;color:#89e4ba}.s2s-layout h2{font-size:clamp(34px,4.2vw,58px);margin:23px 0}.s2s-layout h2 em{color:#91eac0}.s2s-layout p{font-size:14px;max-width:470px;line-height:1.8;color:#a7c6b7;margin-bottom:28px}.button-light{background:#dffde8;color:#114c34}.button-light:hover{background:#fff}.s2s-art{border:1px solid #32604b;border-radius:14px;background:#164131;padding:35px 38px;position:relative;box-shadow:15px 15px 0 #10392d}.s2s-top-mini{font:600 10px "IBM Plex Mono",monospace;color:#79bc9c;letter-spacing:.1em;padding-bottom:23px}.s2s-step{display:flex;align-items:center;gap:22px;border:1px solid #487760;padding:17px 20px;border-radius:8px;color:#dcf8e9;background:#1e4a38}.s2s-step span:first-child{font:600 11px "IBM Plex Mono",monospace;color:#80ac93}.s2s-step strong{font:700 11px "IBM Plex Mono",monospace;letter-spacing:.08em;flex:1}.s2s-step span:last-child{color:#6de5aa}.s2s-line{height:23px;width:1px;border-left:1px dashed #83ca9d;margin-left:31px}.s2s-done{background:#46bf7c;color:white!important;border-radius:50%;width:20px;height:20px;display:grid;place-items:center}
.footer{background:#fbfcfa}.footer-grid{display:flex;justify-content:space-between;gap:30px;padding-top:75px;padding-bottom:68px}.footer-brand{font-size:28px}.footer-grid p{color:#8c9c90;font-size:12px;max-width:330px;margin:16px 0}.footer-small{font-size:12px;color:#9aaa9c;margin-top:30px}.footer-small a{color:#18774f;font-weight:800}.footer-links{display:flex;gap:110px}.footer-links>div{display:flex;flex-direction:column;gap:15px}.footer-links strong{font:700 10px "IBM Plex Mono",monospace;letter-spacing:.08em;color:#38654a;margin-bottom:10px}.footer-links a{font-size:12px;color:#7d9082}.footer-links a:hover{color:#088855}.footer-base{border-top:1px solid #e4ebe2;padding:21px 0;display:flex;justify-content:space-between;gap:15px;font-size:11px;color:#a2aca1}
.compare-tray{position:fixed;z-index:50;bottom:24px;left:50%;transform:translateX(-50%);width:min(840px,calc(100vw - 36px));background:#11382a;box-shadow:0 18px 55px rgba(9,51,26,.25);padding:17px 20px;border:1px solid #276746;color:white;border-radius:11px;display:flex;justify-content:space-between;align-items:center;gap:14px}.compare-tray[hidden]{display:none}.compare-tray>div{display:flex;gap:13px;align-items:center}.compare-tray strong{font-size:13px;white-space:nowrap}.compare-tray #tray-names{font-size:11px;color:#a5d6b5;max-width:380px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tray-clear,.tray-primary{border:0;border-radius:6px;padding:11px 15px;font-size:11px;font-weight:800;white-space:nowrap}.tray-clear{color:#b1dbc2;background:transparent}.tray-primary{color:#063826;background:#bdf9d3}
.overlay{position:fixed;inset:0;z-index:60;background:rgba(8,25,17,.55);backdrop-filter:blur(2px)}.overlay[hidden]{display:none}.details{position:fixed;z-index:61;right:0;top:0;bottom:0;width:min(560px,100vw);background:#fff;box-shadow:-22px 0 70px rgba(7,32,17,.13);overflow:auto;padding:28px 34px}.details[hidden]{display:none}.detail-top{display:flex;justify-content:space-between;align-items:center;font:700 10px "IBM Plex Mono",monospace;color:#769686;letter-spacing:.05em}.detail-top button,.compare-head button{border:0;background:#edf6ee;border-radius:7px;font-size:27px;width:38px;height:38px;color:#2f6849}.detail-name{font:800 37px Manrope,sans-serif;letter-spacing:-.06em;margin:30px 0 7px}.detail-category{color:#2b9a69;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.detail-desc{color:#64796b;font-size:14px;line-height:1.8;margin-top:25px}.detail-badges{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.detail-section{padding:22px 0;border-top:1px solid #e9eee9}.detail-section h4{font-size:12px;letter-spacing:.02em;text-transform:uppercase;margin:0 0 12px;color:#194b32}.detail-section p{font-size:13px;line-height:1.75;color:#6a7e70;margin:0}.detail-metadata{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.detail-metadata>div{padding:14px;background:#f2f7f3;border-radius:8px}.detail-metadata span{font-size:10px;color:#8a9d8b;display:block;margin-bottom:9px}.detail-metadata strong{font-size:12px;color:#274936}.detail-links{display:flex;flex-direction:column;gap:8px}.detail-links a{font-size:12px;font-weight:700;color:#187e52;overflow-wrap:anywhere}.detail-actions{display:flex;gap:10px;flex-wrap:wrap;padding:20px 0}.detail-actions a,.detail-actions button{border:1px solid #d7e6d9;background:#f4faf5;padding:12px 16px;border-radius:7px;color:#195e3f;font-size:12px;font-weight:800}
.compare-modal{position:fixed;inset:5vh 3.5vw;z-index:62;background:#fff;border-radius:14px;overflow:auto;padding:26px 32px;box-shadow:0 25px 70px rgba(0,0,0,.25)}.compare-modal[hidden]{display:none}.compare-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #e4eee5;padding-bottom:22px}.compare-head h2{font-size:34px;margin:12px 0}.compare-head p{font-size:12px;color:#7b8e80}.compare-content{overflow:auto}.compare-table{border-collapse:collapse;width:100%;min-width:650px;font-size:12px}.compare-table th,.compare-table td{padding:17px 13px;border-bottom:1px solid #e4ede7;min-width:190px;text-align:left;vertical-align:top;line-height:1.65;overflow-wrap:anywhere}.compare-table th:first-child,.compare-table td:first-child{width:170px;min-width:145px;position:sticky;left:0;background:white;color:#789180;font-size:11px;font-weight:700}.compare-table th{font:800 17px Manrope,sans-serif;color:#123526}.compare-table td a{color:#128354;font-weight:700}.compare-table td .badge{white-space:normal}.compare-table tbody tr:hover td{background:#f7fbf8}.compare-table tbody tr:hover td:first-child{background:#f7fbf8}
html[data-theme="dark"]{color-scheme:dark;--bg:#0b1713;--paper:#162720;--ink:#e6f5e8;--muted:#8caa9b;--line:#264036;--shadow:none}html[data-theme="dark"] .header{background:rgba(11,23,19,.94)}html[data-theme="dark"] .main-nav a,html[data-theme="dark"] .hero-sub,html[data-theme="dark"] .section-top p{color:#93aa9d}html[data-theme="dark"] .main-nav .nav-active{color:#effdf2}html[data-theme="dark"] .hero-trust strong{color:#d5f7df}html[data-theme="dark"] .nav-cta,html[data-theme="dark"] .stat-band,html[data-theme="dark"] .workflow-card,html[data-theme="dark"] .search-wrap,html[data-theme="dark"] .clear-btn,html[data-theme="dark"] .filter-group,html[data-theme="dark"] .tool-card,html[data-theme="dark"] .footer,html[data-theme="dark"] .details,html[data-theme="dark"] .compare-modal{background:#162820;color:#eef9f0;border-color:#2a4939}html[data-theme="dark"] .directory-section{background:#101f18;border-color:#294335}html[data-theme="dark"] .cat-chip{border-color:#335540;color:#b4d7be}html[data-theme="dark"] .cat-chip.active,html[data-theme="dark"] .button-primary{background:#29bd87;color:#092518}html[data-theme="dark"] .filter-group select,html[data-theme="dark"] .search-wrap input{color:#e2f6e8}html[data-theme="dark"] .workflow-card .wf-symbol,html[data-theme="dark"] .tc-icon{background:#244934}html[data-theme="dark"] .method-footer,html[data-theme="dark"] .other-pill{background:#253a2b}html[data-theme="dark"] .compare-table th:first-child,html[data-theme="dark"] .compare-table td:first-child{background:#162820}html[data-theme="dark"] .compare-table tbody tr:hover td{background:#1b3427}html[data-theme="dark"] .search-wrap kbd{background:#294136;color:#b3ccbb;border-color:#345540}html[data-theme="dark"] .tc-compare{background:#233b2b;color:#b6d9bf;border-color:#345b44}
@media(max-width:1180px){.shell{width:min(1370px,calc(100% - 56px))}.header-in{gap:10px}.main-nav{margin-left:24px;gap:19px}.open-index{display:none}.hero{gap:23px}.hero h1{font-size:clamp(44px,5.5vw,65px)}.method{gap:30px}.workflow-card{padding:18px}.s2s-layout{gap:55px}}
@media(max-width:900px){.shell{width:calc(100% - 38px)}.strip-right{display:none}.header-in{height:65px}.main-nav{display:none;position:absolute;top:65px;left:0;right:0;background:var(--bg);padding:16px 24px;box-shadow:0 15px 35px #0001;flex-direction:column;align-items:flex-start;margin:0}.main-nav.show{display:flex}.mobile-nav-btn{display:block}.nav-cta{display:none}.hero{grid-template-columns:1fr;padding-top:55px;padding-bottom:55px}.hero h1{font-size:clamp(45px,7.6vw,71px)}.hero-visual{height:380px}.molecule-art{width:100%;height:100%}.stats-in{grid-template-columns:repeat(4,1fr)}.stat-date{display:none}.stat-item{padding-left:20px}.workflow-grid{grid-template-columns:repeat(2,1fr)}.workflows{padding:74px 0}.tool-grid{grid-template-columns:repeat(2,1fr)}.method{grid-template-columns:1fr;padding:80px 0}.s2s-layout{gap:25px}.s2s-layout h2{font-size:36px}}
@media(max-width:580px){.shell{width:calc(100% - 32px)}.brand{font-size:22px}.top-strip{font-size:9px}.hero{padding-top:42px;gap:38px}.hero h1{font-size:clamp(42px,11vw,58px);margin:23px 0}.hero-sub{font-size:14px}.hero-actions{flex-wrap:wrap}.button{padding:15px 16px;gap:15px}.hero-trust{font-size:10px}.hero-visual{height:340px}.visual-head,.visual-bottom{left:16px;right:16px;font-size:8px}.visual-card-one{top:80px;left:14px}.visual-card-two{right:14px;bottom:65px}.stats-in{grid-template-columns:repeat(2,1fr)}.stat-item{min-height:92px;padding:14px!important;border-bottom:1px solid var(--line)}.stat-num{font-size:28px}.section-top{align-items:start}.section-top h2,.method h2{font-size:35px}.section-top .plain-link{display:none}.workflow-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.workflow-card{min-height:225px;padding:14px}.workflow-card strong{font-size:13px}.workflow-card>span:nth-last-child(2){font-size:10px}.wf-symbol{width:42px;height:42px;font-size:23px}.wf-link{font-size:10px!important}.workflows{padding:70px 0}.directory-section{padding:65px 0 75px}.explorer-top{flex-direction:column;align-items:stretch}.search-wrap{height:59px}.clear-btn{padding:12px}.filter-row{gap:8px}.filter-label{width:100%;padding:7px 0}.filter-group{flex:1;justify-content:space-between}.filter-group label{display:none}.filter-group select{width:100%}.category-wrap{flex-wrap:nowrap;overflow-x:auto;padding:20px 0;-webkit-overflow-scrolling:touch}.cat-chip{white-space:nowrap}.tool-grid{grid-template-columns:1fr}.tool-card{min-height:265px}.results-actions{gap:5px}.results-label{display:none}.results-bar #active-filter-text{display:none}.method-content{grid-template-columns:1fr}.method-card{padding:15px 0}.method-footer{grid-column:auto}.s2s-layout{grid-template-columns:1fr;padding:70px 0}.s2s-art{margin-top:15px;padding:24px}.footer-grid{flex-direction:column}.footer-links{gap:70px}.footer-base{flex-direction:column}.compare-tray{bottom:10px;flex-wrap:wrap}.compare-tray #tray-names{display:none}.details{padding:20px}.detail-name{font-size:30px}.compare-modal{inset:1vh 1vw;padding:15px}.compare-head h2{font-size:28px}}


/* v2.1 — independent commercial rights and license-fee display */
.stats-in{grid-template-columns:repeat(5,minmax(0,1fr)) 1.25fr}
.stat-item{padding-left:24px}.stat-item:first-child{padding-left:0}
.fee-explainer{margin:17px 0 -6px;max-width:850px;color:#6a8474;font-size:12px;line-height:1.7}
.fee-explainer strong{color:#20563a}.fee-explainer a{color:#149164;font-weight:800;margin-left:4px}
.fee-badge{display:inline-flex;align-items:center;gap:4px;border:1px solid transparent;border-radius:4px;padding:6px 8px;font:700 9px "IBM Plex Mono",monospace;white-space:nowrap}
.fee-symbol{font-size:10px;font-weight:700;border-radius:50%;width:13px;height:13px;display:inline-grid;place-items:center}
.fee-free{color:#197553;background:#e7f6ef;border-color:#c5e7d4}
.fee-paid{color:#8f591c;background:#fff4e5;border-color:#f6e5c6}
.fee-none{color:#8b6260;background:#f9ecea;border-color:#efd9d5}
.fee-unknown{color:#6d7e7b;background:#edf1f0;border-color:#e1e9e5}
.tc-info .fee-badge{order:1}
.tc-info .other-pill{order:2}
html[data-theme="dark"] .fee-explainer{color:#a7bdac}
html[data-theme="dark"] .fee-explainer strong{color:#c6ead1}
@media(max-width:900px){.stats-in{grid-template-columns:repeat(5,1fr)}.stat-item{padding:14px}.stat-label{font-size:10px}}
@media(max-width:580px){.stats-in{grid-template-columns:repeat(2,1fr)}.stat-item{padding:14px!important}.fee-explainer{margin:16px 0 0}.tc-info{gap:6px}}


/* Featured sponsorship placement — no paid sponsor is currently represented. */
.sponsor-placement{position:relative;overflow:hidden;margin:4px 0 31px;padding:17px 24px 0;background:linear-gradient(117deg,#fff 5%,#f7fbf8 65%,#eaf6ee 100%);border:1px solid #dce9dd;border-radius:12px;box-shadow:0 12px 26px rgba(14,57,31,.025)}
.sponsor-placement:after{content:"";pointer-events:none;position:absolute;right:-53px;top:-83px;width:245px;height:245px;border:1px solid #dbeee1;border-radius:50%;box-shadow:0 0 0 31px rgba(222,242,227,.37),0 0 0 65px rgba(222,242,227,.22)}
.sponsor-label{position:relative;z-index:1;display:inline-flex;align-items:center;gap:9px;color:#42835f;font:700 10px "IBM Plex Mono",monospace;letter-spacing:.1em}
.sponsor-label-dot{height:7px;width:7px;background:#26bc7e;border-radius:50%;box-shadow:0 0 0 4px #dff3e7}
.sponsor-label-separator{color:#afc6b4}
.sponsor-main{position:relative;z-index:1;display:flex;align-items:center;gap:22px;padding:17px 0 23px}
.sponsor-icon{flex:0 0 62px;width:62px;height:62px;background:#e5f6ea;border-radius:12px;display:grid;place-items:center;font-size:34px;color:#299765;position:relative}
.sponsor-icon-corner{position:absolute;right:6px;top:4px;font:700 13px "IBM Plex Mono",monospace;color:#60b488}
.sponsor-copy{min-width:0;flex:1;max-width:750px}
.sponsor-copy h3{font:800 clamp(16px,1.5vw,21px)/1.28 Manrope,sans-serif;letter-spacing:-.04em;color:#204432;margin:0 0 9px}
.sponsor-copy p{font-size:12px;line-height:1.75;color:#6e8776;margin:0;max-width:770px}
.sponsor-button{flex:0 0 auto;display:inline-flex;align-items:center;gap:17px;padding:14px 17px;background:#123c2a;color:#f1fff5;border-radius:7px;font-size:12px;font-weight:800;transition:background .2s,transform .2s}
.sponsor-button:hover{background:#226445;transform:translateY(-1px)}
.sponsor-button span{color:#8ceabb}
.sponsor-note{position:relative;z-index:1;border-top:1px solid #e5ece5;min-height:37px;display:flex;gap:22px;justify-content:space-between;align-items:center}
.sponsor-note span:first-child{color:#749a7f;font:700 9px "IBM Plex Mono",monospace;letter-spacing:.08em}
.sponsor-note span:last-child{color:#9aab9e;font-size:10px}
html[data-theme="dark"] .sponsor-placement{background:linear-gradient(115deg,#1c3226,#152e24);border-color:#315b43}
html[data-theme="dark"] .sponsor-copy h3{color:#ecfaef}
html[data-theme="dark"] .sponsor-copy p{color:#a9c1ad}
html[data-theme="dark"] .sponsor-icon{background:#285641;color:#a1eec4}
html[data-theme="dark"] .sponsor-button{background:#b8efcc;color:#143923}
html[data-theme="dark"] .sponsor-button span{color:#246d44}
html[data-theme="dark"] .sponsor-note{border-color:#355442}
@media(max-width:900px){.sponsor-main{flex-wrap:wrap}.sponsor-button{margin-left:84px}}
@media(max-width:580px){.sponsor-placement{padding:16px 16px 0}.sponsor-main{gap:12px;padding:18px 0}.sponsor-icon{height:46px;width:46px;flex-basis:46px;font-size:25px}.sponsor-copy{flex-basis:calc(100% - 60px)}.sponsor-copy h3{font-size:17px}.sponsor-copy p{font-size:11px}.sponsor-button{margin-left:0;width:100%;justify-content:space-between}.sponsor-note{padding:12px 0;display:block}.sponsor-note span{display:block}.sponsor-note span:last-child{margin-top:7px;line-height:1.5}}
