:root{--bg:#fbfbf9;--fg:#1c1d1f;--mut:#6b6f76;--line:#e6e4df;--acc:#2f6b4f;--card:#fff}
*{box-sizing:border-box}body{margin:0;font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--fg)}
.wrap{max-width:960px;margin:0 auto;padding:0 20px}a{color:var(--acc)}
.top{border-bottom:1px solid var(--line);background:#fff}.top .wrap{display:flex;justify-content:space-between;align-items:center;height:56px}
.logo{font-weight:600;font-size:20px;text-decoration:none;color:var(--fg)}.logo b{color:var(--acc)}nav a{margin-left:20px;text-decoration:none;color:var(--fg)}
h1{font-size:34px;line-height:1.2;margin:32px 0 8px}h2{font-size:21px;margin:32px 0 10px}h3{margin:0 0 4px;font-size:18px}
.hero h1 span{color:var(--acc)}.lede{font-size:18px;color:#3b3e43}.muted{color:var(--mut)}.small{font-size:14px}.meta{color:var(--mut);margin:0}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.tile{display:block;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:18px;text-decoration:none;color:inherit}
a.tile:hover{border-color:var(--acc)}
table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:8px}
th,td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:top;font-size:15px}th{width:30%;font-weight:600}
code{background:#f1efea;padding:1px 5px;border-radius:4px;font-size:13.5px;word-break:break-word}
.b{display:inline-block;font-size:12px;font-weight:600;padding:2px 8px;border-radius:99px;white-space:nowrap}
.b-ok{background:#e1f3e8;color:#1d6b3e}.b-warn{background:#fff2d6;color:#8a5a00}.b-bad{background:#fde2e2;color:#a12121}.b-unverified{background:#ececec;color:#555}
.fix{background:#eef6f1;border-left:3px solid var(--acc);padding:10px 14px;border-radius:4px}
.list{padding-left:20px}.list li{margin:6px 0}.src{font-size:13px;padding-left:20px;word-break:break-all}
.signup{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px;margin:20px 0 8px}
.signup .row{display:flex;gap:8px;margin-top:10px}.signup input{flex:1;padding:10px;border:1px solid var(--line);border-radius:6px;font-size:16px}
button{background:var(--acc);color:#fff;border:0;border-radius:6px;padding:10px 16px;font-size:15px;cursor:pointer}button:disabled{opacity:.55;cursor:default}
.price .big{font-size:30px;font-weight:700;margin:6px 0}.price .big span{font-size:14px;color:var(--mut);font-weight:400}
.crumb{margin:20px 0 0;font-size:14px}.foot{color:var(--mut);font-size:13px;padding:40px 20px;border-top:1px solid var(--line);margin-top:48px}
.qs{background:#fff;border:2px solid var(--acc);border-radius:12px;padding:6px 22px 14px;margin:22px 0 8px}
.qs-cloud{border-color:#d9a63a}.qs-llamacpp,.qs-vllm,.qs-none{border-color:#9aa0a6}
.qs h2{margin:4px 0 10px;font-size:23px}.qs-tag{margin:12px 0 0;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--acc)}
.qs-tag .b{text-transform:none;letter-spacing:0;margin-left:6px}.qs-steps{padding-left:22px;margin:6px 0}.qs-steps li{margin:3px 0}
.qs-facts{list-style:none;padding:0;margin:10px 0}.qs-facts li{margin:5px 0}.qs-alt{margin:12px 0 4px}
.cmd{display:flex;gap:8px;align-items:stretch;margin:8px 0}.cmd pre{flex:1;margin:0;background:#1f2421;color:#e9f3ec;padding:11px 14px;border-radius:8px;overflow-x:auto;font-size:14.5px}
.cmd pre code{background:none;color:inherit;padding:0;font-size:inherit;white-space:pre}.cmd button{padding:6px 12px;font-size:13px}
.det{margin-top:40px;padding-top:18px;border-top:1px solid var(--line)}
.starter{background:#fff;border:1px solid var(--line);border-radius:10px;padding:4px 20px 8px;margin:18px 0}.starter h2{margin-top:16px}
.starter-list{list-style:none;padding:0}.starter-list li{margin:12px 0}
.v2{background:#fff;border:1px solid var(--line);border-radius:12px;padding:6px 22px 14px;margin:18px 0}.v2 h2{margin:14px 0 8px}
.fit th{width:40%}.pick{background:#f6f8f6;border-radius:8px;padding:4px 14px;margin:14px 0}.pick p{margin:8px 0}
.brks{padding-left:22px}.brk{margin:14px 0}.brk p{margin:4px 0}
.pkf{display:flex;gap:16px;flex-wrap:wrap;margin:14px 0}.pkf select{font-size:16px;padding:8px;margin-left:6px;border:1px solid var(--line);border-radius:6px}
.ste{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 16px 12px;margin:14px 0;font-size:15.5px}
.ste-title{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.02em;font-size:28px}
.ste-h{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px;letter-spacing:.06em;margin:2px 0 8px;color:var(--acc)}
.ste-l{display:grid;grid-template-columns:7.2em 1fr;gap:10px;align-items:baseline;padding:3px 0;border-top:1px dashed #efede8}
.ste-l:first-of-type{border-top:0}.ste-k{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;font-weight:700;letter-spacing:.05em;color:var(--mut)}
.ste-v{min-width:0}.ste-cmd .cmd{margin:2px 0}.ste-src .ste-v{font-size:13.5px;color:var(--mut)}.ste-p2{background:#f6f6f3}
.ste-how{margin:20px 0}.ste-how summary{cursor:pointer;font-weight:600}
@media (max-width:520px){.ste{padding:8px 12px 10px}.ste-l{grid-template-columns:6.4em 1fr;gap:8px}.ste-title{font-size:23px}.cmd pre{font-size:13px;padding:9px 10px}}
.credit{background:#fffbea;border:1px solid #ecd9a0;border-radius:10px;padding:8px 14px;margin:16px 0 4px;font-size:14.5px;line-height:1.45}
.credit p{margin:3px 0}.credit-by{font-weight:600;font-size:15.5px}.credit-lic{font-size:13px}.ste-safe{border-color:#e7b4b4;background:#fff7f7}
.ste-safe .ste-k{color:#a12121}
.tested{font-size:13.5px;margin-top:5px!important;padding-top:5px;border-top:1px dashed #ecd9a0}
@media (max-width:640px){.top .wrap{flex-wrap:wrap;height:auto;padding-top:8px;padding-bottom:8px;row-gap:4px}
.top nav{width:100%;display:flex;flex-wrap:wrap;gap:2px 14px}.top nav a{margin-left:0;font-size:14px}}
.signup input{min-width:0}.signup button{flex:none}
.btn{display:inline-block;background:var(--acc);color:#fff!important;text-decoration:none;font-weight:700;padding:12px 18px;border-radius:8px;font-size:17px}
.list.cols li{margin:4px 0}.tile .ste-h{margin:0 0 6px}.tile p{margin:4px 0}
.credit-by a{font-weight:700}
@media (max-width:520px){.hero h1{font-size:30px}.grid{grid-template-columns:1fr}}
.cmd pre{min-width:0}.cmd-wrap pre code{white-space:pre-wrap;word-break:break-word}
@media (max-width:520px){.cmd{flex-direction:column;gap:4px}.cmd button{align-self:flex-start;padding:4px 12px}.cmd pre code{white-space:pre-wrap;word-break:break-word}}
.b{white-space:normal}
td,th{overflow-wrap:anywhere}@media (max-width:520px){table{display:block;overflow-x:auto;max-width:100%}}

.easy{max-width:560px;margin:0 auto;padding:8px 0 24px}
.e-back{max-width:560px;margin:18px auto 0;font-size:15px}.e-back a{text-decoration:none}
.e-q{font-size:28px;line-height:1.25;margin:22px 0 8px}.e-sub,.e-say{font-size:18px;color:#3b3e43;margin:0 0 18px}
.e-model{font-size:30px;line-height:1.2;margin:10px 0 10px;word-break:break-word}
.e-ctx{color:var(--mut);font-size:15px;margin:18px 0 0}
.choice{display:block;background:#fff;border:2px solid var(--line);border-radius:14px;padding:18px 20px;margin:12px 0;text-decoration:none;color:var(--fg);min-height:60px}
.choice:hover,.choice:focus{border-color:var(--acc)}.choice-l{display:block;font-size:20px;font-weight:600}.choice-s{display:block;color:var(--mut);font-size:15px;margin-top:2px}
.e-help{background:#eef6f1;border-radius:10px;padding:12px 16px;font-size:15px;margin:20px 0}
.e-links{margin-top:28px;text-align:center}
.e-steps{padding-left:22px;font-size:17px;margin:18px 0 8px}.e-steps li{margin:6px 0}
.e-copy .cmd{flex-direction:column;gap:8px}.e-copy .cmd pre{font-size:15px}.e-copy .cmd pre code{white-space:pre-wrap;word-break:break-word}
.e-copy .cmd button{align-self:stretch;font-size:18px;padding:14px 18px;border-radius:10px}
.e-h{font-size:18px;margin:26px 0 6px}.e-next{padding-left:22px;font-size:17px;margin:0 0 22px}.e-next li{margin:4px 0}
.e-tested{font-size:15px;color:#3b3e43;margin:0 0 14px}.e-pre{background:#fff2d6;border-radius:10px;padding:12px 16px;font-size:15px}
.credit-line{font-size:14px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin:16px 0 0;overflow-wrap:anywhere}
.e-details{border-top:1px solid var(--line);margin-top:26px;padding-top:6px}.e-details>summary{font-size:17px;font-weight:600;cursor:pointer;padding:12px 0;color:var(--acc)}
.e-how{margin-top:16px}

@font-face{font-family:Geist;src:url(../fonts/Geist-Variable.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Geist Mono";src:url(../fonts/GeistMono-Variable.woff2) format("woff2");font-weight:100 900;font-display:swap}
body{font-family:Geist,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;font-feature-settings:"ss01"}
code,pre,.ste-title,.ste-h,.ste-k{font-family:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace}
.top{background:var(--top);border-bottom:1px solid var(--line);backdrop-filter:saturate(1.4) blur(10px);position:sticky;top:0;z-index:5}
.top .wrap{height:60px}.logo{font-size:18px;font-weight:600;letter-spacing:-.02em}nav a{font-size:14.5px;color:var(--mut);transition:color .15s}nav a:hover{color:var(--fg)}
h1,h2,h3{letter-spacing:-.025em;font-weight:650}
.easy{max-width:620px;padding:12px 0 40px}.e-back{max-width:620px;margin:28px auto 0;font-size:14.5px}
.e-q{font-size:clamp(30px,6.4vw,44px);line-height:1.08;letter-spacing:-.035em;font-weight:650;margin:44px 0 12px}
.e-q2{font-size:clamp(22px,4.6vw,28px);line-height:1.15;letter-spacing:-.03em;font-weight:620;margin:0 0 18px}
.e-sub,.e-say{font-size:17.5px;line-height:1.5;color:var(--ink2);margin:0 0 30px}
.step{margin:0 0 8px}.step-2,.step-3{padding-top:44px}
.step.in,.flow-result.in{animation:rise .5s cubic-bezier(.2,.8,.2,1) both}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.step.in,.flow-result.in{animation:none}*{transition:none!important}}
.flow .tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.flow .tile{display:flex;flex-direction:column;justify-content:space-between;gap:26px;min-height:132px;padding:18px;border-radius:20px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);color:var(--fg);text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s,background .2s}
.flow .tile:hover{transform:translateY(-2px);border-color:var(--line2)}
.ico{width:34px;height:34px;color:var(--acc)}
.tile-l{font-size:17px;font-weight:600;letter-spacing:-.015em;line-height:1.2}
.flow .sel{border-color:var(--acc)!important;box-shadow:var(--selshadow)!important;background:var(--selbg)!important}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{display:inline-flex;align-items:center;justify-content:center;min-width:92px;height:52px;padding:0 22px;border-radius:999px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);color:var(--fg);text-decoration:none;font-size:17px;font-weight:560;font-variant-numeric:tabular-nums;transition:transform .2s,border-color .2s,box-shadow .2s}
.chip:hover{transform:translateY(-1px);border-color:var(--line2)}
.e-help{background:none;padding:0;margin:18px 0 0;color:var(--mut);font-size:14.5px}
.jobs{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.job{display:flex;flex-direction:column;gap:4px;padding:18px;border-radius:20px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);color:var(--fg);text-decoration:none;min-height:140px;transition:transform .2s,border-color .2s,box-shadow .2s}
.job:hover{transform:translateY(-2px);border-color:var(--line2)}
.job .ico{width:30px;height:30px;margin-bottom:auto}.job-l{font-size:17px;font-weight:600;letter-spacing:-.015em;margin-top:22px;line-height:1.2}.job-s{font-size:13.5px;color:var(--mut);line-height:1.3}
.flow-result{margin-top:44px}
.easy:has(.e-model),.flow-result>.easy{background:var(--card);border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow2);padding:26px 26px 14px;margin-top:22px}
.flow-result>.easy{margin-top:0}
.e-model{font-size:clamp(32px,7vw,46px);line-height:1.04;letter-spacing:-.04em;font-weight:680;margin:8px 0 14px}
.e-ctx{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--mut);font-weight:550;margin:14px 0 0}
.credit-line{background:var(--soft);border:1px solid var(--line);border-radius:14px;font-size:13.5px;line-height:1.5;margin:0 0 6px;padding:10px 14px;color:var(--ink2)}
.e-tested{font-size:14.5px;color:var(--ink2)}
.e-pre{background:var(--warnbg);color:var(--fg);border-radius:14px}
.e-steps{font-size:16px;padding-left:20px;margin:22px 0 10px;color:var(--ink2)}.e-steps li::marker{color:var(--mut);font-variant-numeric:tabular-nums}
.e-copy .cmd{position:relative;flex-direction:column;gap:0;margin:10px 0 0;border-radius:16px;overflow:hidden;background:var(--codebg);border:1px solid var(--codeline);box-shadow:var(--codeshadow)}
.e-copy .cmd::before{content:"";display:block;height:34px;border-bottom:1px solid var(--codeline);background:var(--codebar) no-repeat 14px 50%/42px 10px}
.e-copy .cmd pre{background:none;color:var(--codefg);font-size:15px;line-height:1.6;padding:16px 18px 18px;border-radius:0}
.e-copy .cmd button{position:absolute;top:3px;right:6px;align-self:auto;height:28px;padding:0 16px;font-size:13.5px;font-weight:600;border-radius:999px;background:var(--copybg);color:var(--copyfg);letter-spacing:.01em;transition:background .2s,transform .1s}
.e-copy .cmd button:active{transform:scale(.96)}.e-copy .cmd button.ok{background:var(--okbg);color:var(--okfg)}
.e-copy .cmd-wrap pre{max-height:none}
.e-h{font-size:15px;letter-spacing:-.01em;margin:30px 0 8px;font-weight:620}
.e-next{font-size:15.5px;color:var(--ink2);padding-left:20px}
.e-details{border-top:1px solid var(--line);margin-top:26px}.e-details>summary{font-size:15px;color:var(--fg);list-style:none;display:flex;justify-content:space-between;align-items:center}
.e-details>summary::-webkit-details-marker{display:none}.e-details>summary::after{content:"+";font-size:22px;font-weight:300;color:var(--mut);transition:transform .25s}.e-details[open]>summary::after{transform:rotate(45deg)}
.e-links{margin-top:56px;font-size:14px;color:var(--mut)}.e-links a{color:var(--mut);text-decoration:none}.e-links a:hover{color:var(--fg)}
a{text-underline-offset:2px;text-decoration-thickness:1px}
.foot{border-top:1px solid var(--line);margin-top:72px}
@media (min-width:760px){.flow .tiles{grid-template-columns:repeat(4,1fr)}.jobs{grid-template-columns:repeat(3,1fr)}.easy{max-width:760px}.e-back{max-width:760px}.easy:has(.e-model){max-width:640px}}
@media (max-width:520px){.easy:has(.e-model),.flow-result>.easy{padding:20px 18px 8px;border-radius:22px}.flow .tile,.job{border-radius:18px;padding:16px}.flow .tile{min-height:118px}.chip{min-width:84px;height:48px;padding:0 18px;font-size:16px}.e-copy .cmd pre{font-size:13.5px}}
body:has(.e-model) .e-back{max-width:640px}

:root{color-scheme:dark;--bg:#0b0c0d;--fg:#f2f4f3;--mut:#8d948f;--ink2:#c5cbc7;--line:#1f2324;--line2:#323838;--acc:#3ddc97;--card:#131516;--soft:#181b1c;--top:rgba(11,12,13,.78);
--shadow:0 1px 0 rgba(255,255,255,.03) inset;--shadow2:0 1px 0 rgba(255,255,255,.04) inset,0 30px 80px rgba(0,0,0,.55);
--selbg:#0f1d17;--selshadow:0 0 0 1px rgba(61,220,151,.55),0 0 28px rgba(61,220,151,.22),0 0 2px rgba(61,220,151,.6) inset;--warnbg:#2a2214;
--codebg:#050606;--codefg:#b8f5d6;--codeline:#1c2120;--codeshadow:0 0 0 1px rgba(61,220,151,.06),0 20px 50px rgba(0,0,0,.6);--copybg:#3ddc97;--copyfg:#04140c;--okbg:#e9fff4;--okfg:#04140c}
body{background:radial-gradient(1200px 500px at 50% -200px,rgba(61,220,151,.07),transparent 70%) no-repeat,var(--bg)}
.e-copy .cmd::before{background-position:14px 50%;background-size:16px 10px;background-repeat:repeat-x;background-image:radial-gradient(circle at 5px 5px,#2a302e 4px,transparent 4.5px);background-clip:content-box;padding:0 calc(100% - 62px) 0 14px;box-sizing:border-box}
.e-copy .cmd pre code::before{content:"$ ";color:var(--acc);opacity:.85}.e-copy .cmd-wrap pre code::before{content:none}
.e-copy .cmd pre{font-family:"Geist Mono",ui-monospace,monospace;text-shadow:0 0 12px rgba(61,220,151,.18)}
.ico{filter:drop-shadow(0 0 6px rgba(61,220,151,.25))}
.flow .sel .ico{filter:drop-shadow(0 0 10px rgba(61,220,151,.6))}
.flow .tile:hover,.job:hover,.chip:hover{background:#171a1b}
.logo b{color:var(--acc)}

table,.ste,.signup,.starter,.v2,.qs{background:var(--card);border-color:var(--line)}
th,td{border-color:var(--line)}.ste-l{border-top-color:var(--line)}.ste-p2,.pick{background:var(--soft)}
code{background:#1b1f1e;color:#d8e2dc}.lede{color:var(--ink2)}
.credit{background:#1c1a12;border-color:#3a3420;color:var(--ink2)}.tested{border-top-color:#3a3420}
.fix,.e-help{background:transparent}.fix{border-left-color:var(--acc);background:#0f1a15}
.b-ok{background:#0f2a1d;color:#7ff0bb}.b-warn{background:#2c2410;color:#f3c76a}.b-bad{background:#2d1414;color:#ff9a9a}.b-unverified{background:#222;color:#bbb}
.ste-safe{background:#1f1212;border-color:#4a2626}.ste-safe .ste-k{color:#ff9a9a}
.cmd pre{background:#050606;color:#cfe9db}button{color:#04140c}.signup input{background:#0b0c0d;color:var(--fg);border-color:var(--line2)}

h1{font-size:clamp(28px,6vw,38px);line-height:1.12;letter-spacing:-.035em;margin:40px 0 12px}h2{font-size:22px;letter-spacing:-.025em;margin:36px 0 12px}
.ste-title{font-size:clamp(22px,5.4vw,30px);letter-spacing:-.01em}
.lede,.e-sub{color:var(--ink2)}.crumb a,.e-back a{text-decoration:none}
a{color:var(--acc)}a:hover{color:#7ff0bb}
.btn{background:var(--acc);color:var(--copyfg)!important;border-radius:999px;font-weight:620;font-size:16px;padding:13px 24px;box-shadow:0 0 24px rgba(61,220,151,.22);transition:transform .15s,box-shadow .2s}
.btn:hover{transform:translateY(-1px);box-shadow:0 0 34px rgba(61,220,151,.32)}
button{background:var(--acc);color:var(--copyfg);border-radius:999px;font-weight:620;font-family:inherit}
.ste,.credit,.starter,.v2,.qs,.signup,table{border-radius:18px}
.ste{padding:14px 18px 16px;box-shadow:var(--shadow)}
.ste-l{border-top:1px solid var(--line)}.ste-h{color:var(--acc);letter-spacing:.08em}.ste-k{color:var(--mut)}
.ste-how>summary,.e-details details>summary{cursor:pointer;font-weight:600;color:var(--fg);padding:6px 0}
.ste-how>summary::marker{color:var(--acc)}
.cmd:not(.e-copy .cmd){border-radius:12px;overflow:hidden;background:var(--codebg);border:1px solid var(--codeline);gap:0;align-items:center}
.cmd:not(.e-copy .cmd) pre{background:none;color:var(--codefg);border-radius:0;font-size:13.5px;padding:10px 12px}
.cmd:not(.e-copy .cmd) button{margin:6px;padding:5px 14px;font-size:12.5px;height:auto;flex:none}
.cmd button.ok{background:var(--okbg);color:var(--okfg)}
@media (max-width:520px){.cmd:not(.e-copy .cmd){flex-direction:column;align-items:stretch}.cmd:not(.e-copy .cmd) button{align-self:flex-start;margin:0 10px 10px}}
code{border-radius:6px;padding:1px 6px;background:#1a1e1d;color:#d8e2dc}
.signup{padding:20px 20px 16px}.signup input{border-radius:999px;padding:12px 16px}.signup button{padding:0 20px}
.list li{margin:8px 0}.list.cols{columns:2;column-gap:20px}@media (max-width:520px){.list.cols{columns:1}}
.list.cols a{text-decoration:none}.list.cols a:hover b{text-decoration:underline}
.b{border-radius:999px}
.foot{color:var(--mut)}.foot a{color:var(--ink2)}
.e-details .ste{background:var(--soft)}
.price .big{letter-spacing:-.03em}
::selection{background:rgba(61,220,151,.3)}
:focus-visible{outline:2px solid var(--acc);outline-offset:2px;border-radius:8px}

[hidden]{display:none!important}
.e-h2{font-size:19px;letter-spacing:-.02em;font-weight:620;margin:34px 0 14px}
.card-credit{margin:0 0 16px}
.e-warn{background:#2a1414;border:1px solid #5a2a2a;color:#ffd6d6;border-radius:14px;padding:12px 16px;font-size:15px;line-height:1.5;margin:0 0 14px}
.e-warn b{color:#ff9a9a;letter-spacing:.04em}.e-warn a{color:#ffb4b4}.e-warn code{background:#3a1c1c;color:#ffe3e3}
.e-note{background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:12px 16px;font-size:15px;margin:0 0 14px}
.fgroup{margin:0 0 14px}.fgroup-l{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--mut);font-weight:560}
.fgroup-l .ico{width:18px;height:18px}
.fchips{display:flex;flex-wrap:wrap;gap:8px}
.fchip{display:inline-flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:76px;padding:8px 14px;border-radius:14px;background:var(--soft);border:1px solid var(--line);text-decoration:none;color:var(--fg);transition:transform .15s,border-color .2s}
.fchip:hover{transform:translateY(-1px);border-color:var(--line2)}
.fchip-m{font-size:14.5px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.2}.fchip-v{font-size:12.5px;font-weight:600;line-height:1.3}
.f-fits .fchip-v{color:#7ff0bb}.f-fits{border-color:rgba(61,220,151,.35)}
.f-tight .fchip-v{color:#f3c76a}.f-tight{border-color:rgba(243,199,106,.3)}
.f-no .fchip-v{color:#ff9a9a}.f-no{opacity:.92}
.e-est{font-size:13.5px;color:var(--mut);margin:6px 0 0}
.e-details+.e-details{margin-top:0}
.mfilter{margin:0 0 22px}.mfilter input{width:100%;height:50px;border-radius:999px;border:1px solid var(--line2);background:var(--card);color:var(--fg);font:inherit;font-size:16px;padding:0 20px;margin:0 0 14px}
.mfilter input::placeholder{color:var(--mut)}.mfilter .chip{height:40px;min-width:0;padding:0 16px;font-size:14.5px}
.mtiles{display:grid;grid-template-columns:1fr;gap:10px}@media (min-width:640px){.mtiles{grid-template-columns:repeat(2,1fr)}}
.mtile{display:flex;flex-direction:column;gap:3px;padding:16px 18px;border-radius:18px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);text-decoration:none;color:var(--fg);transition:transform .15s,border-color .2s}
.mtile:hover{transform:translateY(-2px);border-color:var(--line2)}
.mtile-n{font-size:17px;font-weight:620;letter-spacing:-.015em}.mtile-m{font-size:13.5px;color:var(--mut)}.mtile-h{font-size:12.5px;color:var(--acc);font-weight:600;margin-top:6px}
q.ui{quotes:"“" "”"}
.fchip-t{font-size:11.5px;color:var(--mut);line-height:1.2}

body{--ink2:#3a3a40;--soft:#efeff2;--line2:#d4d4da;--copybg:#1d6b48;--copyfg:#fff;--okbg:#e6f4ec;--okfg:#0b3a24;--selbg:#eef6f1;--selshadow:0 0 0 1px rgba(29,107,72,.55);--warnbg:#fff3dc;--codeline:#2c2c30;--codeshadow:none;--shadow:none;--bg:#f5f5f7;--fg:#1d1d1f;--mut:#5f5f66;--line:#e2e2e7;--acc:#1d6b48;--card:#fff;--codebg:#1d1d1f;--codefg:#f5f5f7;--top:rgba(245,245,247,.85);--shadow2:0 1px 2px rgba(0,0,0,.04),0 12px 40px rgba(0,0,0,.06);background:var(--bg);color:var(--fg)}
@media (prefers-color-scheme:dark){body{--ink2:#c5cbc7;--soft:#181b1c;--line2:#323838;--copybg:#7fd6a8;--copyfg:#04140c;--okbg:#e9fff4;--okfg:#04140c;--selbg:#0f1d17;--warnbg:#2a2214;--bg:#111214;--fg:#f2f2f4;--mut:#a3a3ab;--line:#2a2b2f;--acc:#7fd6a8;--card:#1a1b1e;--codebg:#000;--codefg:#ececf0;--top:rgba(17,18,20,.85)}}
body header.top{background:var(--top);border-bottom:1px solid var(--line)}
body :is(header.top a,.foot,.foot a){color:var(--mut)}
body .logo{color:var(--fg)!important}
.p1{max-width:640px;margin:0 auto;padding:28px 0 48px}
.p1 a{color:var(--acc)}
.p-step{font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--mut);margin:0 0 6px}
.p-q{font-size:34px;line-height:1.15;letter-spacing:-.02em;font-weight:650;margin:0 0 10px;color:var(--fg)}
.p-sub{color:var(--mut);font-size:17px;margin:0 0 24px}
.p-tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.p-sizes{grid-template-columns:repeat(3,1fr)}
.p-tile,.p-job{display:flex;flex-direction:column;gap:4px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;text-decoration:none;color:var(--fg)!important;box-shadow:var(--shadow2);transition:transform .15s}
.p-tile:hover,.p-job:hover{transform:translateY(-1px)}
.p-tile b,.p-job b{font-size:18px;font-weight:600}
.p-tile span,.p-job span{font-size:14px;color:var(--mut)}
.p-jobs{display:flex;flex-direction:column;gap:10px}
.p-result{background:var(--card);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow2);padding:28px 28px 18px;margin-top:20px}
.p-credit{font-size:15px;font-weight:600;margin:0 0 2px;color:var(--fg)}
.p-tested{font-size:14px;color:var(--mut);margin:0 0 18px}
.p-traction{font-size:14px;color:var(--mut);margin:-10px 0 18px}.p-traction p{margin:0 0 2px}.p-traction ul{margin:0;padding-left:20px}.p-traction li{margin:2px 0}
.p-ctx{font-size:14px;color:var(--mut);margin:0}
.p-model{font-size:38px;letter-spacing:-.025em;line-height:1.1;margin:2px 0 10px}
.p-model a{color:var(--fg)!important;text-decoration:none}
.p-say{font-size:18px;margin:0 0 12px;color:var(--fg)}
.p-added{font-size:14px;color:var(--mut);background:var(--bg);border-radius:12px;padding:10px 14px;margin:0 0 18px}
.p-added b{color:var(--fg);font-weight:600}
.p-steps{padding-left:22px;margin:0 0 10px;font-size:16px}
.p-steps li{margin:4px 0}
.p-copy{position:relative;margin:4px 0 14px}
.p-pre{background:var(--codebg);color:var(--codefg);border-radius:14px;padding:14px 16px;font-size:12.5px;line-height:1.5;white-space:pre-wrap;word-break:break-all;max-height:220px;overflow:auto;margin:0}
.p-copy button{display:block;width:100%;margin-top:8px;background:var(--acc);color:var(--card);border:0;border-radius:999px;padding:8px 18px;font-weight:600;font-size:15px;cursor:pointer}
.p-copy button.ok{background:var(--fg)}
.p-next{font-size:15px;color:var(--mut);margin:0 0 8px}
.p-pin{font-size:13px;color:var(--mut);margin:12px 0;padding-top:12px;border-top:1px solid var(--line);word-break:break-word}
.p-run{display:flex;align-items:center;gap:10px;margin:8px 0 14px}
.p-runbtn{background:transparent;border:1px solid var(--line);color:var(--fg);border-radius:999px;padding:8px 16px;font-size:14px;cursor:pointer}
.p-runbtn[aria-pressed=true]{color:var(--mut)}
.p-count{font-size:14px;color:var(--mut)}
.p-ask{font-size:14px;color:var(--mut);margin:18px 0 0}
.p-details{border-top:1px solid var(--line);margin-top:8px;padding-top:6px}
.p-details summary{cursor:pointer;font-weight:600;padding:8px 0;color:var(--fg)}
.p-details h3{font-size:15px;margin:18px 0 4px}
.p-details p,.p-details li{font-size:14px;color:var(--fg)}
.p-details code{word-break:break-all;font-size:12px}
.p-back{font-size:15px;margin:18px 0 0}
@media (max-width:480px){.p1{padding-top:18px}.p-q{font-size:28px}.p-model{font-size:32px}.p-result{padding:20px 18px 12px;border-radius:22px}.p-tiles{grid-template-columns:1fr}.p-sizes{grid-template-columns:1fr 1fr}}
@media (prefers-color-scheme:light){body :is(.fix){background:#eef6f1;color:var(--fg)}
body :is(.fix) a{color:var(--acc)}
body .credit{background:#fbf6e6;border-color:#eadfb8;color:var(--fg)}
body .b-ok{background:#e6f4ec;color:#0b5a36}
body .b-warn{background:#fff3dc;color:#7a4b00}
body .b-bad{background:#fdecec;color:#a11b1b}
body .ste-safe{background:#fdf1f1;border-color:#f0caca}
body .e-warn{background:#fdf1f1;border-color:#f0caca;color:#5a1414}
body .f-fits .fchip-v{color:#0b5a36}
body .f-tight .fchip-v{color:#7a4b00}
body .f-no .fchip-v{color:#a11b1b}
body .flow .tile:hover,body .chip:hover{background:var(--soft)}}
@media (prefers-color-scheme:light){body .e-warn b{color:#a11b1b}body .e-warn a{color:#8a1515}body .e-warn code{background:#f8dede;color:#5a1414}}
@media (prefers-color-scheme:light){body .ste-safe .ste-k{color:#a11b1b}}
.p-review{font-size:14px;background:var(--soft);border-radius:12px;padding:10px 14px;margin:10px 0}
.p-sub2{font-size:16px;color:var(--mut);margin:-4px 0 12px}
.p-sub2 a{color:var(--fg)}
@media (max-width:480px){.p-model{font-size:28px}}
.p-old{background:#fff3dc;border:1px solid #ecd39a;color:#3d2a00;border-radius:14px;padding:12px 16px;margin:16px 0}
.p-old p{margin:4px 0;font-size:15px;color:#3d2a00}
.p-oldtag{display:inline-block;font-size:12px;font-weight:600;color:#6b4300;background:#fff3dc;border-radius:999px;padding:1px 8px}
.p-oldlist li{margin:10px 0}

@media (prefers-color-scheme:dark){
body{--soft:#232428;--shadow2:0 1px 2px rgba(0,0,0,.3),0 12px 40px rgba(0,0,0,.25)}
body .p-old{background:#241d10;border-color:#5a4720;color:#f1e2bd}
body .p-old p{color:#f1e2bd}
body .p-old b{color:#fff3d6}
body .p-oldtag{background:#2e2410;color:#f3c76a}
body .p-review{border:1px solid var(--line)}
body .p-tile,body .p-job{border-color:var(--line)}
body .p-tile:hover,body .p-job:hover{border-color:var(--line2)}
body .p-runbtn{border-color:var(--line2)}
}

.p-page .p-result h2{font-size:19px;letter-spacing:-.01em;margin:22px 0 6px;color:var(--fg)}
.p-page .p-result h2:first-child{margin-top:0}
.p-page .p-result p,.p-page .p-result li{font-size:16px;color:var(--fg)}
.p-page .p-result ul{padding-left:22px;margin:0 0 10px}.p-page .p-result li{margin:4px 0}
.p-page .signup{background:var(--bg);border:1px solid var(--line);border-radius:18px;padding:18px;margin:22px 0 10px}
.p-page .signup label{color:var(--fg);font-size:15px}
.p-page .signup input{background:var(--card);color:var(--fg);border:1px solid var(--line2)}
.p-page .signup button{background:var(--acc);color:var(--card);border-radius:999px;font-weight:600}
.p-stale{font-size:14px;color:var(--mut);background:var(--soft);border-radius:10px;padding:8px 12px;margin:10px 0 4px}.p-stale-list{font-size:12px}


.trust-line{color:var(--mut);font-size:13px;line-height:1.5;margin:32px 0 0;padding-top:14px;border-top:1px solid var(--line)}.trust-line a{color:var(--ink2)}
.fix-line{color:var(--mut);font-size:13px;line-height:1.5;margin:8px 0 0}.fix-line a{color:var(--ink2)}
.changes li{margin:0 0 10px}

.p-what{font-size:16px;line-height:1.45;color:var(--fg);background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:10px 14px;margin:0 0 16px}
.p-help{font-size:14px;line-height:1.45;color:var(--mut);margin:14px 0 0}
.p-help code{font-size:13px}
@media (max-width:480px){.p-kinds{grid-template-columns:1fr 1fr;gap:10px}.p-kinds .p-tile{padding:14px}.p-kinds .p-tile b{font-size:16px;line-height:1.25}.p-kinds .p-tile span{font-size:13px;line-height:1.3}.p-home .p-sub{margin-bottom:16px}}
.p-sub-linux{margin-top:-16px}.p-sub code{font-size:14px;word-break:break-word}
.p-get{font-size:16px;margin:0 0 10px;color:var(--fg)}.p-get b{font-weight:600}
.p-os{font-size:15px;margin:0 0 12px;padding:8px 12px;border-left:3px solid var(--acc);background:var(--soft);border-radius:6px;color:var(--fg)}
.p-words li{margin:6px 0}

.p-nextstep{font-size:15px;line-height:1.45;margin:16px 0 0;color:var(--fg)}
.p-tiles + .p-get{margin-top:16px}

.p-layer{border:1px solid var(--line);border-radius:12px;padding:4px 18px 10px;margin:16px 0;background:var(--card)}
.p-layer h2{font-size:19px;margin:14px 0 8px}
.p-layer[data-layer="1"]{border:2px solid var(--acc)}
.p-scores{padding-left:20px;margin:6px 0}.p-scores li{margin:4px 0}
.p-out,.p-more,.p-apps{font-size:15px;color:var(--fg)}
.p-safety{font-weight:600}
.p-recipe{border-top:1px solid var(--line);padding-top:6px}
.p-adv{border-top:1px solid var(--line);margin-top:4px;padding-top:6px}
.p-adv summary{cursor:pointer;font-weight:600;padding:8px 0;color:var(--fg)}
.p-adv h3{font-size:15px;margin:18px 0 4px}.p-adv p,.p-adv li{font-size:14px;color:var(--fg)}
.p-tablewrap{overflow-x:auto}.p-table{background:var(--card);color:var(--fg)}.p-table th{width:auto}.p-table th,.p-table td{font-size:13px;padding:6px 8px}
.p-basics{padding-left:20px}.p-basics li{margin:4px 0}
.p-doors{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}
.p-door{display:block;border:1px solid var(--line);border-radius:12px;padding:16px;text-decoration:none;color:var(--fg);background:var(--card)}
.p-door b{display:block;font-size:19px;color:var(--acc);margin-bottom:4px}.p-door-main{border:2px solid var(--acc)}
@media (max-width:600px){.p-doors{grid-template-columns:1fr}}

.p-chipset{margin:0}
.p-chipq{margin:0 0 10px;font-weight:600}
.p-chipset>input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.p-chipset>label{display:inline-flex;align-items:center;justify-content:center;min-width:92px;min-height:48px;margin:0 8px 14px 0;padding:0 20px;border-radius:999px;background:var(--card);border:1px solid var(--line2);color:var(--fg);font-size:16.5px;font-weight:600;cursor:pointer}
.p-chipset>input:checked+label{background:var(--acc);border-color:var(--acc);color:var(--bg)}
.p-chipset>input:focus-visible+label{outline:3px solid var(--acc);outline-offset:2px}
.p-chipfor{margin:0 0 6px;color:var(--mut);font-size:14.5px}
.p-chipset>input.p-c1:checked~.p-chipbody.p-b2,.p-chipset>input.p-c2:checked~.p-chipbody.p-b1{display:none}

.p-disclaimer{font-size:15px;line-height:1.45;color:var(--fg);background:var(--card);border:1px solid var(--line);border-left:4px solid var(--acc);border-radius:12px;padding:12px 14px;margin:14px 0 0}
.p-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0 8px;align-items:stretch}

.p-choices:has(>.p-choice[open]){grid-template-columns:1fr}
@supports not selector(:has(*)){.p-choices{grid-template-columns:1fr}}
.p-choice{border:1px solid var(--line);border-radius:16px;background:var(--card);min-width:0}
.p-choice[open]{border-color:var(--acc)}
.p-choice-s{list-style:none;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:16px 44px 16px 16px;position:relative;border-radius:16px;color:var(--fg)}
.p-choice-b{padding:0 16px 14px;min-width:0}
.p-choice-s::-webkit-details-marker{display:none}
.p-choice-s::after{content:"+";position:absolute;right:16px;top:14px;font-size:24px;font-weight:300;line-height:1;color:var(--fg)}
.p-choice[open]>.p-choice-s::after{content:"\2212"}
.p-choice-s:focus-visible{outline:3px solid var(--acc);outline-offset:2px}
.p-choice-t{font-size:18px;font-weight:650;line-height:1.25}
.p-choice-sub{font-size:14.5px;color:var(--mut)}
.p-choice-b .p-layer{margin-top:4px}
.p-best .p-opt-h{margin-top:4px}
@media (max-width:640px){.p-choices{grid-template-columns:1fr}}
@media (prefers-color-scheme:dark){.p-choice-sub{color:#a3aaa5}}
