.ft-shell[data-v-803ce256]{min-height:100vh}.ft-shell--embed[data-v-803ce256]{background:var(--s0);min-height:auto}.ft-shell--transparent[data-v-803ce256],.ft-shell--transparent .ft-shell__embed-main[data-v-803ce256]{background:transparent}.ft-shell__embed-main[data-v-803ce256]{padding:16px;position:relative}.ft-cta-wrap[data-v-803ce256]{margin-top:clamp(48px,6vw,80px);padding-bottom:clamp(40px,5vw,64px)}html.common{zoom:1!important}.v2{--s2-soft:oklch(from var(--s2) l c h/.65);--line-3:oklch(1 0 0/.22);--acc-ink:oklch(.18 .04 295);--cat-calc:oklch(.74 .13 240);--cat-audit:oklch(.8 .13 80);--cat-gen:oklch(.78 .12 160);--cat-compare:oklch(.74 .16 295);--cat-track:oklch(.74 .16 18);--cat-util:oklch(.78 .005 285);--cat-calculator:var(--cat-calc);--cat-auditor:var(--cat-audit);--cat-generator:var(--cat-gen);--cat-comparator:var(--cat-compare);--cat-tracker:var(--cat-track);--cat-utility:var(--cat-util);--err:oklch(.7 .18 20);background:var(--s0);color:var(--t1);font-family:var(--sans);font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased;letter-spacing:-.005em}.v2[data-cat=calculator]{--cat:var(--cat-calc)}.v2[data-cat=auditor]{--cat:var(--cat-audit)}.v2[data-cat=generator]{--cat:var(--cat-gen)}.v2[data-cat=comparator]{--cat:var(--cat-compare)}.v2[data-cat=tracker]{--cat:var(--cat-track)}.v2[data-cat=utility]{--cat:var(--cat-util)}.v2:not([data-cat]),.v2[data-cat=brand]{--cat:var(--acc)}.v2 *,.v2 :after,.v2 :before{box-sizing:border-box}.v2 .nav-wrap,.v2 .nav-wrap *,.v2 .site-footer,.v2 .site-footer *{font-family:var(--sans);font-feature-settings:normal}.v2 .container{margin:0 auto;max-width:var(--container);padding:0 var(--gutter)}.v2-header{-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);background:oklch(from var(--s0) l c h/.82);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}.v2-header .nav{align-items:center;display:flex;gap:28px;padding:16px 0}.v2-header .brand{align-items:center;color:var(--t1);display:inline-flex;font-size:15px;font-weight:600;gap:11px;letter-spacing:-.02em;text-decoration:none}.v2-header .brand-mark{background:linear-gradient(135deg,var(--acc),oklch(.58 .2 305));border-radius:7px;box-shadow:inset 0 0 0 1px #ffffff24,0 4px 14px var(--acc-glow);height:26px;position:relative;width:26px}.v2-header .brand-mark:after{border-bottom:2px solid #fff;border-bottom-left-radius:2px;border-left:2px solid #fff;content:"";top:7px;right:7px;bottom:7px;left:7px;position:absolute}.v2-header .nav-menu{display:flex;gap:2px;margin-left:14px}.v2-header .nav-menu a,.v2-header .nav-trig{align-items:center;background:transparent;border:0;border-radius:var(--r-m);color:var(--t2);cursor:pointer;display:inline-flex;font:500 13.5px/1 var(--sans);gap:5px;letter-spacing:-.005em;padding:9px 12px;text-decoration:none}.v2-header .nav-menu a:hover,.v2-header .nav-trig:hover{background:#ffffff0a;color:var(--t1)}.v2-header .nav-menu a.active{color:var(--t1)}.v2-header .spacer{flex:1}.v2-header .right{align-items:center;display:flex;gap:8px}.v2-header .icon-btn{align-items:center;background:transparent;border:0;border-radius:var(--r-m);color:var(--t2);cursor:pointer;display:inline-flex;height:34px;justify-content:center;width:34px}.v2-header .icon-btn:hover{background:#ffffff0a;color:var(--t1)}.v2-header .signin{color:var(--t2);padding:8px 10px}.v2-header .cta,.v2-header .signin{border-radius:var(--r-m);font:500 13px/1 var(--sans);text-decoration:none}.v2-header .cta{align-items:center;background:var(--t1);color:var(--s0);display:inline-flex;gap:6px;height:34px;padding:0 14px}.v2-footer{border-top:1px solid var(--line);margin-top:64px;padding:56px 0 28px}.v2-footer .grid{display:grid;gap:40px;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr}.v2-footer h5{color:var(--t3);font:500 11px/1 var(--mono);letter-spacing:.14em;margin:0 0 14px;text-transform:uppercase}.v2-footer ul{display:flex;flex-direction:column;gap:9px;list-style:none;margin:0;padding:0}.v2-footer ul a{color:var(--t2);font-size:13.5px;text-decoration:none}.v2-footer ul a:hover{color:var(--t1)}.v2-footer p{color:var(--t3);font-size:13px;line-height:1.55;margin:12px 0 0;max-width:30ch}.v2-footer .legal{border-top:1px solid var(--line);color:var(--t3);display:flex;font:500 11px/1.4 var(--mono);gap:24px;justify-content:space-between;letter-spacing:.02em;margin-top:44px;padding-top:22px}.v2-footer .status:before{color:var(--good);content:"●";margin-right:7px}.hub-hero{padding:clamp(20px,2.5vw,32px) 0 clamp(16px,2vw,24px);position:relative}.hub-hero .eyebrow{align-items:center;color:var(--acc);display:inline-flex;font:500 11px/1 var(--mono);gap:8px;letter-spacing:.16em;margin-bottom:12px;text-transform:uppercase}.hub-hero .eyebrow:before{background:var(--acc);border-radius:50%;box-shadow:0 0 10px var(--acc-glow);content:"";height:6px;width:6px}.hub-hero h1{color:var(--t1);font-family:var(--sans);font-size:clamp(34px,4.4vw,60px);font-weight:600;letter-spacing:-.035em;line-height:1.04;margin:0 0 14px;max-width:26ch;text-wrap:balance}.hub-hero h1 em{color:var(--t2);font-family:var(--serif);font-style:italic;font-weight:400}.hub-hero h1 .count{background:linear-gradient(180deg,var(--t1) 0,oklch(.65 .16 295) 110%);-webkit-background-clip:text;background-clip:text;color:transparent;font-family:var(--mono);font-weight:500;padding-right:.04em}.hub-hero .lede{color:var(--t2);font-family:var(--serif);font-size:clamp(18px,1.5vw,22px);font-style:italic;line-height:1.45;margin:0 0 18px;max-width:60ch;text-wrap:pretty}.hub-hero .trust-strip{border-bottom:1px solid var(--line);border-top:1px solid var(--line);display:flex;gap:0;margin-top:24px;padding:12px 0}.hub-hero .trust-strip>div{align-items:center;border-right:1px solid var(--line);display:flex;flex:1;gap:10px;padding:4px 20px}.hub-hero .trust-strip>div:first-child{padding-left:0}.hub-hero .trust-strip>div:last-child{border-right:0;padding-right:0}.hub-hero .trust-strip .num{color:var(--t1);font:500 18px/1 var(--mono);letter-spacing:-.01em}.hub-hero .trust-strip .lbl{color:var(--t2);font-size:12.5px;line-height:1.35}.hub-hero .trust-strip .dot{background:var(--good);border-radius:50%;box-shadow:0 0 12px var(--good);height:8px;width:8px}.cat-anchors{display:flex;flex-wrap:wrap;gap:8px;padding:20px 0 4px}.cat-anchors a{align-items:center;background:#ffffff05;border:1px solid var(--line);border-radius:999px;color:var(--t2);display:inline-flex;font:500 13px/1 var(--sans);gap:8px;letter-spacing:-.005em;padding:8px 14px;text-decoration:none}.cat-anchors a:hover{background:#ffffff0a;border-color:var(--line-3);color:var(--t1)}.cat-anchors a .cnt{color:var(--t4);font-family:var(--mono);font-size:11.5px}.cat-anchors a .swatch{background:var(--c,var(--acc));border-radius:2px;height:8px;width:8px}.rail{margin:24px 0 56px}.rail .head{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:16px}.rail .micro{color:var(--t3);font:500 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase}.rail .head a{color:var(--t2);font-size:13px;text-decoration:none}.rail .grid{display:grid;gap:14px;grid-template-columns:repeat(4,1fr)}.rail-card{background:linear-gradient(180deg,var(--s1),var(--s0));border:1px solid var(--line);border-radius:var(--r-l);padding:18px;position:relative}.rail-card .stat{align-items:center;color:var(--cat,var(--acc));display:flex;font:500 11px/1 var(--mono);gap:7px;letter-spacing:.06em;margin-bottom:22px}.rail-card .stat:before{background:currentColor;border-radius:50%;content:"";height:4px;width:4px}.rail-card .name{font:500 16px/1.25 var(--sans);margin-bottom:6px}.rail-card .meta{color:var(--t3);font:500 11px/1.3 var(--mono)}.cat-section{border-top:1px solid var(--line);padding:44px 0 12px}.cat-section:first-of-type{border-top:0;padding-top:0}.cat-section .head{align-items:end;display:grid;gap:36px;grid-template-columns:1fr 1fr;margin-bottom:28px}.cat-section .left .micro{align-items:center;color:var(--cat,var(--acc));display:inline-flex;font:500 11px/1 var(--mono);gap:8px;letter-spacing:.14em;text-transform:uppercase}.cat-section .left .micro .swatch{background:var(--cat,var(--acc));border-radius:2px;box-shadow:0 0 12px var(--cat,var(--acc));height:9px;width:9px}.cat-section .left h2{font:600 clamp(28px,3vw,36px)/1.05 var(--sans);letter-spacing:-.025em;margin:12px 0 0}.cat-section .right p{color:var(--t2);font-size:14.5px;justify-self:end;line-height:1.5;margin:0;max-width:52ch}.cat-section .grid{display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.tool-card{background:#ffffff04;border:1px solid var(--line);border-radius:var(--r-l);color:inherit;display:flex;flex-direction:column;gap:14px;min-height:158px;padding:20px;position:relative;text-decoration:none;transition:border-color .18s,background .18s,transform .18s}.tool-card:hover{background:oklch(from var(--cat,var(--acc)) l c h/.04);border-color:oklch(from var(--cat,var(--acc)) l c h/.45);transform:translateY(-1px)}.tool-card .top{align-items:center;display:flex;justify-content:space-between}.tool-card .ico{align-items:center;background:oklch(from var(--cat,var(--acc)) l c h/.1);border:1px solid oklch(from var(--cat,var(--acc)) l c h/.22);border-radius:var(--r-m);color:var(--cat,var(--acc));display:inline-flex;height:36px;justify-content:center;width:36px}.tool-card .name{color:var(--t1);font:500 16px/1.3 var(--sans);letter-spacing:-.015em}.tool-card .desc{color:var(--t2);font-size:13.5px;line-height:1.45}.tool-card .foot{align-items:center;color:var(--t4);display:flex;font:500 11px/1 var(--mono);justify-content:space-between;letter-spacing:.06em;margin-top:auto}.tool-card .arrow{color:var(--cat,var(--acc));opacity:0;transition:opacity .18s,transform .18s}.tool-card:hover .arrow{opacity:1;transform:translate(2px)}.tool-card.stub{background:#ffffff02;cursor:not-allowed;opacity:.7}.tool-card.stub:hover{background:#ffffff02;border-color:var(--line);transform:none}.tool-card.stub .ico{background:#ffffff08;border-color:var(--line);color:var(--t4)}.badge{align-items:center;border-radius:4px;display:inline-flex;font:500 10px/1 var(--mono);letter-spacing:.08em;padding:4px 8px;text-transform:uppercase}.badge.brand{background:var(--acc-soft);border:1px solid var(--acc-mute);color:var(--acc)}.badge.new{background:oklch(from var(--good) l c h/.12);border:1px solid oklch(from var(--good) l c h/.32);color:var(--good)}.badge.beta{background:oklch(from var(--warn) l c h/.12);border:1px solid oklch(from var(--warn) l c h/.32);color:var(--warn)}.badge.updated{background:#ffffff0d;border:1px solid var(--line-2);color:var(--t2)}.badge.soon{background:#ffffff08;border:1px dashed var(--line-2);color:var(--t3)}.philosophy{border-bottom:1px solid var(--line);border-top:1px solid var(--line);margin:64px 0 0;padding:56px 0}.philosophy .grid{align-items:start;display:grid;gap:56px;grid-template-columns:1.3fr 1fr}.philosophy .micro{color:var(--t3);font:500 11px/1 var(--mono);letter-spacing:.14em;margin-bottom:18px;text-transform:uppercase}.philosophy h2{font:500 clamp(26px,2.8vw,34px)/1.18 var(--sans);letter-spacing:-.022em;margin:0;max-width:24ch}.philosophy h2 em{color:var(--t2);font-family:var(--serif);font-style:italic;font-weight:400}.philosophy .anchors{border-left:1px solid var(--line);display:flex;flex-direction:column;gap:22px;padding-left:32px}.philosophy .anchor{display:flex;gap:14px}.philosophy .anchor .n{color:var(--acc);flex-shrink:0;font:500 11px/1 var(--mono);letter-spacing:.06em;padding-top:4px}.philosophy .anchor .t{color:var(--t1);font:500 14.5px/1.5 var(--sans);letter-spacing:-.005em}.philosophy .anchor .d{color:var(--t3);font:13px/1.5 var(--sans);margin-top:3px}.shell-hero{max-width:760px;padding:32px 0}.shell-hero .row{align-items:center;color:var(--cat,var(--acc));display:flex;font:500 11px/1 var(--mono);gap:12px;letter-spacing:.14em;margin-bottom:16px;text-transform:uppercase}.shell-hero .row .swatch{background:var(--cat,var(--acc));border-radius:2px;height:9px;width:9px}.shell-hero h1{font:600 clamp(36px,4vw,52px)/1.04 var(--sans);letter-spacing:-.03em;margin:0}.shell-hero h1 .b{align-items:center;display:inline-flex;gap:12px}.shell-hero .lede{color:var(--t2);font-size:16.5px;line-height:1.5;margin:18px 0 12px;max-width:64ch}.shell-hero .trust{color:var(--t3);font:500 12.5px/1.55 var(--mono);letter-spacing:.02em}.shell-hero .trust .dot{color:var(--t4);padding:0 7px}.shell-hero .trust .updated{color:var(--good)}.panel{background:var(--s2);border:1px solid var(--line-2);border-radius:var(--r-l);overflow:hidden;padding:32px;position:relative}.panel:before{background-image:radial-gradient(circle,oklch(1 0 0/.04) 1px,transparent 0);background-size:18px 18px;content:"";top:0;right:0;bottom:0;left:0;-webkit-mask-image:radial-gradient(70% 70% at 80% 0,#000 0,transparent 100%);mask-image:radial-gradient(70% 70% at 80% 0,#000 0,transparent 100%);pointer-events:none;position:absolute}.panel>*{position:relative}.panel .panel-head{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:22px}.panel .panel-head h2{font:500 17px/1.2 var(--sans);letter-spacing:-.015em;margin:0}.panel .panel-head .ctrl{align-items:center;color:var(--t3);display:flex;font:500 11.5px/1 var(--mono);gap:8px;letter-spacing:.02em}.field{display:flex;flex-direction:column;gap:7px}.field label{align-items:center;color:var(--t2);display:flex;font:500 13px/1 var(--sans);justify-content:space-between;letter-spacing:-.005em}.field label .hint{color:var(--t4);font:400 11.5px/1 var(--mono);letter-spacing:.02em}.field .input{align-items:center;background:var(--s3);border:1px solid var(--line);border-radius:var(--r-m);display:flex;gap:10px;height:46px;padding:0 14px;transition:border-color .15s,box-shadow .15s}.field .input .val,.field .input input,.field .input select{background:transparent;border:0;color:var(--t1);flex:1;font:500 16px/1 var(--sans);font-feature-settings:"tnum";min-width:0;outline:0}.field .input .prefix,.field .input .suffix{color:var(--t3);flex-shrink:0;font:500 13.5px/1 var(--mono);letter-spacing:.02em}.field .input:focus-within{border-color:var(--cat,var(--acc));box-shadow:0 0 0 3px oklch(from var(--cat,var(--acc)) l c h/.18)}.field .input.valid{border-color:oklch(from var(--good) l c h/.5)}.field .input.error{border-color:oklch(from var(--err) l c h/.65)}.field .input.disabled{opacity:.55;pointer-events:none}.field .help{align-items:center;color:var(--t3);display:flex;font:12.5px/1.4 var(--sans);gap:6px}.field .help.error{color:var(--err)}.field .help svg{flex-shrink:0}.presets{display:flex;flex-wrap:wrap;gap:6px}.preset{align-items:center;background:#ffffff06;border:1px solid var(--line);border-radius:999px;color:var(--t2);cursor:pointer;display:inline-flex;font:500 13px/1 var(--mono);height:36px;letter-spacing:.01em;padding:0 14px;transition:all .15s}.preset:hover{background:#ffffff0d;border-color:var(--line-2);color:var(--t1)}.preset.active{background:oklch(from var(--cat,var(--acc)) l c h/.16);border-color:oklch(from var(--cat,var(--acc)) l c h/.5);color:var(--t1)}.preset:disabled{cursor:not-allowed;opacity:.4}.segmented{background:var(--s3);border:1px solid var(--line);border-radius:var(--r-m);display:inline-flex;gap:2px;padding:4px}.segmented button{background:transparent;border:0;border-radius:7px;color:var(--t2);cursor:pointer;font:500 13px/1 var(--sans);letter-spacing:-.005em;padding:8px 14px}.segmented button.active{background:var(--s1);box-shadow:inset 0 1px #ffffff0f,0 2px 8px #0000004d;color:var(--t1)}.segmented button:disabled{cursor:not-allowed;opacity:.4}.result{background:radial-gradient(80% 100% at 100% 0,oklch(from var(--cat,var(--acc)) l c h/.16),transparent 70%),oklch(from var(--cat,var(--acc)) l c h/.06);border:1px solid oklch(from var(--cat,var(--acc)) l c h/.32);border-radius:var(--r-l);overflow:hidden;padding:28px;position:relative}.result:after{background-image:radial-gradient(circle,oklch(from var(--cat,var(--acc)) l c h/.08) 1px,transparent 1px);background-size:16px 16px;content:"";top:0;right:0;bottom:0;left:0;-webkit-mask-image:radial-gradient(60% 90% at 90% 100%,#000 0,transparent 100%);mask-image:radial-gradient(60% 90% at 90% 100%,#000 0,transparent 100%);pointer-events:none;position:absolute}.result>*{position:relative}.result .kicker{color:oklch(from var(--cat,var(--acc)) l c h/.85);font:500 11px/1 var(--mono);letter-spacing:.14em;margin-bottom:12px;text-transform:uppercase}.result .primary{color:var(--t1);font:500 clamp(40px,5vw,64px)/1 var(--mono);font-feature-settings:"tnum";letter-spacing:-.03em}.result .secondary{color:var(--t2);font:500 16px/1.4 var(--sans);letter-spacing:-.005em;margin-top:10px}.result .stats{border-top:1px solid oklch(from var(--cat,var(--acc)) l c h/.22);display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-top:22px;padding-top:22px}.result .stat .l{color:var(--t3);font:500 10.5px/1 var(--mono);letter-spacing:.1em;margin-bottom:7px;text-transform:uppercase}.result .stat .v{color:var(--t1);font:500 18px/1 var(--mono);letter-spacing:-.01em}.share{display:flex;flex-wrap:wrap;gap:8px;padding-top:24px}.share .btn{align-items:center;background:#ffffff06;border:1px solid var(--line-2);border-radius:var(--r-m);color:var(--t1);cursor:pointer;display:inline-flex;font:500 13.5px/1 var(--sans);gap:9px;min-height:44px;padding:0 16px;text-decoration:none;transition:all .15s}.share .btn:hover{background:oklch(from var(--cat,var(--acc)) l c h/.08);border-color:oklch(from var(--cat,var(--acc)) l c h/.4)}.share .btn svg{color:var(--cat,var(--acc));flex-shrink:0}.share .btn.copied{background:oklch(from var(--good) l c h/.12);border-color:oklch(from var(--good) l c h/.4)}.share .btn.copied svg{color:var(--good)}.share .btn .kbd{border:1px solid var(--line);border-radius:3px;color:var(--t4);font:500 10.5px/1 var(--mono);letter-spacing:.06em;margin-left:4px;padding:3px 5px}.share-og-hint{align-items:center;color:var(--t3);display:flex;font:500 12px/1.4 var(--mono);gap:7px;letter-spacing:.02em;margin-top:14px}.share-og-hint a{color:var(--cat,var(--acc));text-decoration:none}.trust-band{border-bottom:1px solid var(--line);border-top:1px solid var(--line);display:grid;gap:24px;grid-template-columns:repeat(3,1fr);margin-top:36px;padding:22px 0}.trust-band .item{align-items:flex-start;color:var(--t2);display:flex;font-size:13.5px;gap:12px;line-height:1.5}.trust-band .item svg{color:var(--t3);flex-shrink:0;margin-top:1px}.trust-band .item strong{color:var(--t1);font-weight:500}.howto{border-top:1px solid var(--line);margin-top:56px;padding-top:44px}.howto .head{display:grid;gap:56px;grid-template-columns:1fr 1.6fr;margin-bottom:32px}.howto .micro{color:var(--t3);font:500 11px/1 var(--mono);letter-spacing:.14em;margin-bottom:14px;text-transform:uppercase}.howto h2{font:500 26px/1.15 var(--sans);letter-spacing:-.022em;margin:0}.howto .head p{align-self:end;color:var(--t2);font-size:14.5px;line-height:1.55;margin:0}.howto .steps{display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}.howto .step{background:#ffffff05;border:1px solid var(--line);border-radius:var(--r-l);padding:22px}.howto .step .n{color:var(--cat,var(--acc));font:500 11px/1 var(--mono);letter-spacing:.14em;margin-bottom:36px}.howto .step h3{font:500 16px/1.3 var(--sans);letter-spacing:-.015em;margin:0 0 7px}.howto .step p{color:var(--t2);font-size:13.5px;line-height:1.5;margin:0}.howto .step .demo{background:var(--s3);border:1px solid var(--line);border-radius:var(--r-s);color:var(--t2);font:500 11.5px/1.4 var(--mono);letter-spacing:.01em;margin-top:16px;padding:12px}.faq{border-top:1px solid var(--line);display:grid;gap:56px;grid-template-columns:1fr 1.5fr;margin-top:56px;padding-top:44px}.faq .lhs .micro{color:var(--t3);font:500 11px/1 var(--mono);letter-spacing:.14em;margin-bottom:14px;text-transform:uppercase}.faq .lhs h2{font:500 32px/1.1 var(--sans);letter-spacing:-.028em;margin:0;max-width:16ch}.faq .lhs h2 em{color:var(--t2);font-family:var(--serif);font-style:italic;font-weight:400}.faq .lhs p{color:var(--t3);font-size:13.5px;line-height:1.55;margin:14px 0 0;max-width:30ch}.faq .list{display:flex;flex-direction:column}.faq details{border-top:1px solid var(--line);padding:22px 0}.faq details:last-of-type{border-bottom:1px solid var(--line)}.faq summary{align-items:flex-start;color:var(--t1);cursor:pointer;display:flex;font:500 16.5px/1.4 var(--sans);gap:14px;letter-spacing:-.012em;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary:after{background:linear-gradient(var(--t2),var(--t2)) 50%/100% 1px no-repeat,linear-gradient(var(--t2),var(--t2)) 50%/1px 100% no-repeat;content:"";flex-shrink:0;height:12px;margin-left:auto;margin-top:7px;transition:transform .2s;width:12px}.faq details[open] summary:after{transform:rotate(45deg)}.faq .ans{color:var(--t2);font-size:14px;line-height:1.6;margin-top:12px;max-width:64ch}.related{border-top:1px solid var(--line);margin-top:56px;padding-top:44px}.related .head{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:22px}.related h2{font:500 22px/1.1 var(--sans);letter-spacing:-.022em;margin:0}.related .head a{color:var(--t2);font:500 12px/1 var(--mono);letter-spacing:.02em;text-decoration:none}.related .grid{display:grid;gap:12px;grid-template-columns:repeat(4,1fr)}.mini-card{background:#ffffff04;border:1px solid var(--line);border-radius:var(--r-l);color:inherit;display:flex;flex-direction:column;gap:10px;min-height:140px;padding:18px;text-decoration:none;transition:border-color .15s,background .15s}.mini-card:hover{background:#ffffff0a;border-color:var(--line-3)}.mini-card .ico{align-items:center;background:oklch(from var(--mc,var(--acc)) l c h/.1);border:1px solid oklch(from var(--mc,var(--acc)) l c h/.22);border-radius:7px;color:var(--mc,var(--acc));display:inline-flex;height:28px;justify-content:center;width:28px}.mini-card .name{font:500 14.5px/1.25 var(--sans);letter-spacing:-.012em}.mini-card .desc{color:var(--t3);font-size:12.5px;line-height:1.45;margin-top:-2px}.bottom-cta{align-items:end;background:radial-gradient(80% 60% at 80% 0,oklch(from var(--acc) l c h/.12),transparent 70%),var(--s1);border:1px solid var(--line-2);border-radius:var(--r-xl);display:grid;gap:40px;grid-template-columns:1.3fr auto;margin-top:72px;padding:56px}.bottom-cta h3{font:500 30px/1.1 var(--sans);letter-spacing:-.028em;margin:0;max-width:22ch}.bottom-cta h3 em{color:var(--t2);font-family:var(--serif);font-style:italic;font-weight:400}.bottom-cta p{color:var(--t2);font-size:14.5px;line-height:1.55;margin:14px 0 0;max-width:56ch}.bottom-cta .actions{align-items:center;display:flex;gap:12px}.bottom-cta .btn-p{background:var(--t1);color:var(--s0);padding:0 22px}.bottom-cta .btn-g,.bottom-cta .btn-p{align-items:center;border-radius:var(--r-m);display:inline-flex;font:500 14px/1 var(--sans);gap:7px;height:44px;text-decoration:none}.bottom-cta .btn-g{background:transparent;border:1px solid var(--line-2);color:var(--t1);padding:0 18px}.mobile-only-share .share{display:grid;gap:8px;grid-template-columns:1fr 1fr}.mobile-only-share .share .btn.span2{grid-column:1/-1}.mono{font-family:var(--mono);font-feature-settings:"tnum";letter-spacing:-.01em}.embed-stage{align-items:center;display:flex;height:100%;justify-content:center;padding:32px;position:relative;width:100%}.embed-stage.discord{background:#313338}.embed-stage.obs{background:radial-gradient(60% 70% at 20% 20%,oklch(.45 .16 220/.7),transparent 70%),radial-gradient(50% 50% at 80% 90%,oklch(.5 .18 320/.6),transparent 70%),linear-gradient(135deg,#10213e,#001321)}.powered-by{bottom:8px;color:#fff9;font:500 10px/1 var(--mono);letter-spacing:.04em;position:absolute;right:12px;text-decoration:none}.powered-by:before{color:var(--acc);content:"● ";margin-right:4px}.og{background:radial-gradient(80% 70% at 100% 0,oklch(from var(--cat,var(--acc)) l c h/.22),transparent 70%),var(--s0);border:1px solid var(--line);display:flex;flex-direction:column;height:630px;justify-content:space-between;overflow:hidden;padding:64px 72px;position:relative;width:1200px}.og:before{background-image:radial-gradient(circle,oklch(1 0 0/.04) 1px,transparent 0);background-size:22px 22px;content:"";top:0;right:0;bottom:0;left:0;-webkit-mask-image:radial-gradient(80% 70% at 100% 100%,#000 0,transparent 70%);mask-image:radial-gradient(80% 70% at 100% 100%,#000 0,transparent 70%);pointer-events:none;position:absolute}.og>*{position:relative}.og-brand{align-items:center;display:flex;gap:14px}.og-brand .mark{background:linear-gradient(135deg,var(--acc),oklch(.55 .2 305));border-radius:10px;height:40px;position:relative;width:40px}.og-brand .mark:after{border-bottom:3px solid #fff;border-bottom-left-radius:3px;border-left:3px solid #fff;content:"";top:10px;right:10px;bottom:10px;left:10px;position:absolute}.og-brand .wm{font:600 20px/1 var(--sans);letter-spacing:-.025em}.og-brand .div{background:var(--line-2);height:26px;width:1px}.og-brand .micro{color:var(--cat,var(--acc));font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase}.og-body{display:flex;flex-direction:column;gap:16px}.og-toolname{color:var(--t2);font:500 36px/1 var(--sans);letter-spacing:-.022em}.og-result{color:var(--t1);font:500 96px/1 var(--mono);letter-spacing:-.04em}.og-anno{color:var(--t3);font:500 18px/1.4 var(--sans)}.og-foot{align-items:center;color:var(--t3);display:flex;font:500 16px/1 var(--mono);justify-content:space-between}.a11y-ann,.og-foot{letter-spacing:.02em}.a11y-ann{background:oklch(from var(--warn) l c h/.1);border:1px dashed oklch(from var(--warn) l c h/.55);border-radius:4px;color:var(--warn);font:500 10px/1.2 var(--mono);padding:4px 7px;pointer-events:none;position:absolute;white-space:nowrap;z-index:2}.tab-order{align-items:center;background:var(--warn);border-radius:50%;box-shadow:0 0 0 2px var(--s2);color:var(--s0);display:flex;font:600 11px/1 var(--mono);height:22px;justify-content:center;position:absolute;width:22px;z-index:3}.cover{display:flex;flex-direction:column;gap:40px;height:100%;padding:56px 72px}.cover h1{font:500 48px/1.05 var(--sans);letter-spacing:-.032em;margin:0}.cover h1 em{color:var(--t2);font-family:var(--serif);font-style:italic;font-weight:400}.cover .lede{color:var(--t2);font-size:17px;line-height:1.55;max-width:60ch}.cover .grid{border-top:1px solid var(--line);display:grid;gap:24px;grid-template-columns:1fr 1fr 1fr;padding-top:32px}.cover .grid>div .micro{color:var(--t3);font:500 11px/1 var(--mono);letter-spacing:.14em;margin-bottom:16px;text-transform:uppercase}.cover .grid>div h3{font:500 17px/1.3 var(--sans);letter-spacing:-.015em;margin:0 0 8px}.cover .grid>div p{color:var(--t2);font-size:13.5px;line-height:1.55;margin:0}.cover .palette{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.cover .swatch{color:var(--t3);display:flex;flex-direction:column;font:500 10.5px/1 var(--mono);gap:5px;letter-spacing:.02em}.cover .swatch .chip{border:1px solid var(--line);border-radius:10px;height:56px;width:56px}.cover .deliverables{color:var(--t2);display:grid;font:500 12.5px/1.5 var(--mono);gap:6px;grid-template-columns:repeat(2,1fr);letter-spacing:.01em}.cover .deliverables span{border-bottom:1px dashed var(--line);padding:6px 0}.cover .deliverables span:before{color:var(--acc);content:"→ "}.v2[data-theme=light]{--s2-soft:oklch(from var(--s2) l c h/.65);--line-3:oklch(0 0 0/.2);--err:oklch(.55 .2 20);--cat-calc:oklch(.55 .15 240);--cat-audit:oklch(.62 .15 80);--cat-gen:oklch(.55 .14 160);--cat-compare:oklch(.55 .2 295);--cat-track:oklch(.55 .18 18);--cat-util:oklch(.55 .005 285);--cat-calculator:var(--cat-calc);--cat-auditor:var(--cat-audit);--cat-generator:var(--cat-gen);--cat-comparator:var(--cat-compare);--cat-tracker:var(--cat-track);--cat-utility:var(--cat-util)}.v2[data-theme=light] .v2-header{background:oklch(from var(--s0) l c h/.85)}.v2[data-theme=light] .brand-mark:after,.v2[data-theme=light] .v2-header .brand-mark:after{border-color:#fff}.v2[data-theme=light] .tool-card{background:#00000003}.v2[data-theme=light] .tool-card:hover{background:oklch(from var(--cat,var(--acc)) l c h/.04)}.v2[data-theme=light] .panel{background:var(--s2);box-shadow:0 1px #00000005,0 8px 24px -16px #00000014}.v2[data-theme=light] .field .input{background:var(--s3)}.v2[data-theme=light] .segmented button.active{background:#fff;box-shadow:0 1px 2px #00000014}.v2[data-theme=light] .v2-footer .legal{color:var(--t3)}.v2[data-theme=light] .powered-by{color:#0000008c}.v2[data-theme=light] .bottom-cta{background:radial-gradient(80% 60% at 80% 0,oklch(from var(--acc) l c h/.08),transparent 70%),var(--s1)}.v2[data-theme=light] .finder-pills .pill{background:#00000005;color:var(--t1)}.v2[data-theme=light] .finder-pills .pill .cnt{color:var(--t3)}.v2[data-theme=light] .finder-pills .pill.active{background:oklch(from var(--c,var(--acc)) l c h/.12)}.v2[data-theme=light] .field .input input{color:var(--t1)}.v2[data-theme=light] .preset,.v2[data-theme=light] .share .btn{background:#00000006;color:var(--t1)}.v2[data-theme=light] .toast{background:var(--t1);box-shadow:0 20px 40px #0000002e;color:var(--s0)}.v2[data-decor=off] .og:before,.v2[data-decor=off] .panel:before,.v2[data-decor=off] .result:after{display:none}.v2-mobile{border-left:1px dashed var(--line-2);border-right:1px dashed var(--line-2);margin:0 auto;max-width:375px}.v2-mobile .container{padding:0 16px}.v2-mobile .nav-menu{display:none}.v2-mobile .hub-hero h1{font-size:36px!important}.v2-mobile .shell-hero h1{font-size:30px}.v2-mobile .panel{padding:18px}.v2-mobile .cat-section .head,.v2-mobile .panel>div[style*=grid-template-columns]{grid-template-columns:1fr!important}.v2-mobile .cat-section .head{gap:14px}.v2-mobile .cat-section .grid{grid-template-columns:1fr!important}.v2-mobile .rail .grid{grid-template-columns:1fr 1fr!important}.v2-mobile .philosophy .grid,.v2-mobile .related .grid{grid-template-columns:1fr!important}.v2-mobile .philosophy .grid{gap:24px}.v2-mobile .bottom-cta{gap:22px;grid-template-columns:1fr!important;padding:28px!important}.v2-mobile .faq{gap:24px;grid-template-columns:1fr!important}.v2-mobile .trust-strip{flex-direction:column;gap:14px;padding:16px!important}.v2-mobile .trust-strip>div{border-right:0!important;padding:0!important}.v2-mobile .howto .head,.v2-mobile .trust-band{gap:14px;grid-template-columns:1fr!important}.v2-mobile .howto .steps{grid-template-columns:1fr!important}.v2-mobile .right .icon-btn:first-child,.v2-mobile .right .signin{display:none}.finder{align-items:start;display:grid;gap:16px;grid-template-columns:360px 1fr;padding:4px 0 8px}.finder-search{align-items:center;background:var(--s2);border:1px solid var(--line-2);border-radius:var(--r-m);display:flex;gap:10px;height:44px;padding:0 14px;transition:border-color .15s,box-shadow .15s}.finder-search:focus-within{border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-soft)}.finder-search svg{color:var(--t3)}.finder-search input{background:transparent;border:0;color:var(--t1);flex:1;font:500 14px/1 var(--sans);letter-spacing:-.005em;min-width:0;outline:0}.finder-search input::-moz-placeholder{color:var(--t4)}.finder-search input::placeholder{color:var(--t4)}.finder-search button{background:transparent;border:0;border-radius:4px;color:var(--t3);cursor:pointer;font:500 14px/1 var(--mono);padding:4px 6px}.finder-search button:hover{background:#ffffff0a;color:var(--t1)}.finder-pills{display:flex;flex-wrap:wrap;gap:6px}.finder-pills .pill{align-items:center;background:#ffffff05;border:1px solid var(--line);border-radius:var(--r-m);color:var(--t2);cursor:pointer;display:inline-flex;font:500 13px/1 var(--sans);gap:8px;height:44px;letter-spacing:-.005em;padding:0 14px;transition:all .15s}.finder-pills .pill .swatch{background:var(--c,var(--acc));border-radius:2px;height:8px;width:8px}.finder-pills .pill .cnt{color:var(--t4);font:500 11.5px/1 var(--mono);margin-left:2px}.finder-pills .pill:hover{border-color:var(--line-2);color:var(--t1)}.finder-pills .pill.active{background:oklch(from var(--c,var(--acc)) l c h/.1);border-color:oklch(from var(--c,var(--acc)) l c h/.4);color:var(--t1)}.finder-pills .pill.active .cnt{color:var(--t2)}.filter-summary{align-items:center;background:var(--acc-soft);border:1px solid var(--acc-mute);border-radius:var(--r-m);color:var(--t1);display:flex;flex-wrap:wrap;font:500 13px/1.4 var(--sans);gap:10px;letter-spacing:-.005em;margin-top:14px;padding:12px 16px}.filter-summary button{background:transparent;border:0;border-radius:4px;color:var(--acc);cursor:pointer;font:500 12px/1 var(--mono);margin-left:auto;padding:4px 6px}.filter-summary button:hover{background:oklch(from var(--acc) l c h/.12)}.empty-state{border:1px dashed var(--line-2);border-radius:var(--r-l);margin:24px 0;padding:80px 24px;text-align:center}.empty-state svg{color:var(--t4);margin-bottom:18px}.empty-state h3{font:500 18px/1.2 var(--sans);letter-spacing:-.015em;margin:0 0 6px}.empty-state p{color:var(--t2);font-size:14px;margin:0}.empty-state button{background:transparent;border:0;color:var(--acc);cursor:pointer;font:inherit;padding:0;text-decoration:underline}.toast{align-items:center;animation:toast-in .2s cubic-bezier(.2,.8,.3,1);background:var(--t1);border-radius:var(--r-m);bottom:32px;box-shadow:0 20px 40px #0006,0 0 0 1px var(--line-2);color:var(--s0);display:inline-flex;font:500 13.5px/1 var(--sans);gap:10px;left:50%;letter-spacing:-.005em;padding:12px 18px;position:fixed;transform:translate(-50%);z-index:9999}.toast svg{color:var(--good)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.tool-card:focus-visible{outline:2px solid var(--acc);outline-offset:3px}.preset:focus-visible{outline:2px solid var(--cat,var(--acc));outline-offset:2px}.segmented button:focus-visible{outline:2px solid var(--cat,var(--acc));outline-offset:2px}.share .btn:focus-visible{outline:2px solid var(--cat,var(--acc));outline-offset:2px}::view-transition-new(*),::view-transition-old(*){animation-duration:.28s;animation-timing-function:cubic-bezier(.2,.8,.3,1)}@media (prefers-reduced-motion:reduce){::view-transition-new(*),::view-transition-old(*){animation:none!important}}
