.matcher-page{--ink:var(--color-ink);--ink-2:var(--color-ink-2);--ink-deep:var(--color-ink-deep);--paper:var(--color-paper);--cream:var(--color-cream);--cream-2:var(--color-cream-2);--bone:var(--color-bone);--mute:var(--color-mute);--mute-2:var(--color-mute-2);--line:var(--color-line);--line-strong:var(--color-line-strong);--line-ink:var(--color-line-ink);--sage:var(--color-sage);--sage-deep:var(--color-sage-deep);--serif:var(--font-sans);--body:var(--font-sans);--mono:var(--font-mono);background:var(--bone);color:var(--ink);font-family:var(--body);a{color:var(--ink);text-decoration:none}a:hover{color:var(--ink-deep)}.w{max-width:1300px;margin:0 auto;padding:0 40px}@media (max-width:640px){.w{padding:0 22px}}.lab{font-family:var(--mono);font-weight:600;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);display:block}.crumb{border-bottom:1px solid var(--line)}.crumb .w{padding:14px 40px;font-family:var(--body);font-size:12.5px;display:flex;gap:8px;flex-wrap:wrap}.crumb .w,.crumb a{color:var(--mute)}.crumb a:hover{color:var(--ink)}.topramp{height:3px;display:flex}.topramp span{flex:1}.hero{border-bottom:1px solid var(--line)}.hero .w{padding:62px 40px 54px}.hero .inner{max-width:780px;margin:0 auto;text-align:center}.hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(34px,4.8vw,58px);line-height:1;letter-spacing:-.026em;margin:0;text-wrap:balance}.hero h1 em{color:var(--ink);font-style:normal;background:linear-gradient(transparent 58%,rgba(172,173,151,.6) 0);padding:0 .05em}.hero p.sub{font-family:var(--serif);font-size:clamp(16px,1.7vw,20px);line-height:1.5;color:var(--mute);margin:20px auto 0;max-width:58ch;text-wrap:pretty}@media (max-width:640px){.hero .w{padding:42px 22px 38px}}.tool{margin:30px auto 0;max-width:720px;text-align:left;background:var(--paper);border:1px solid var(--line-strong);padding:26px 26px 24px;box-shadow:0 20px 44px -30px rgba(35,46,58,.4)}@media (max-width:640px){.tool{padding:18px 16px}}.inrow{display:flex;align-items:stretch;gap:10px}.infield{flex:1;display:flex;align-items:center;gap:11px;border:1px solid var(--line-strong);background:var(--paper);padding:14px 16px;transition:border-color .15s;min-width:0}.infield:focus-within{border-color:var(--ink)}.infield svg{width:18px;height:18px;color:var(--mute-2);flex-shrink:0}.infield input{flex:1;min-width:0;border:none;background:none;outline:none;font-family:var(--body);font-size:15.5px;color:var(--ink)}.infield input::placeholder{color:var(--mute-2)}.pick{position:relative;width:52px;flex-shrink:0;border:1px solid var(--line-strong);background:var(--paper);cursor:pointer;overflow:hidden;transition:border-color .15s}.pick:hover{border-color:var(--ink)}.pick input[type=color]{position:absolute;inset:-4px;width:calc(100% + 8px);height:calc(100% + 8px);border:none;padding:0;background:none;cursor:pointer}.match{background:var(--ink);color:var(--bone);border:1px solid var(--ink);padding:0 24px;font-family:var(--body);font-weight:500;font-size:14.5px;cursor:pointer;flex-shrink:0;transition:background .16s}.match:hover{background:var(--ink-deep)}@media (max-width:640px){.inrow{flex-wrap:wrap}.infield{width:100%;flex-basis:100%}.match{flex:1;padding:13px 20px}}.hint{font-family:var(--body);font-size:12.5px;color:var(--mute-2);margin:10px 0 0;text-align:center}.scope{margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;align-items:center;justify-content:center}.chips .cl{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute-2);margin-right:4px}.chip{display:inline-flex;align-items:center;gap:7px;background:var(--paper);border:1px solid var(--line-strong);padding:7px 12px;font-family:var(--body);font-size:12.5px;color:var(--mute);cursor:pointer;transition:border-color .14s,color .14s,background .14s}.chip:hover{border-color:var(--ink);color:var(--ink)}.chip .d{width:13px;height:13px;border:1px solid var(--line-strong)}.chip.on{background:var(--ink);border-color:var(--ink);color:var(--bone)}.chip.on .d{border-color:rgba(237,234,224,.5)}.chip.locked{cursor:default;box-shadow:inset 0 0 0 1px rgba(237,234,224,.35)}.how{background:var(--cream);border-bottom:1px solid var(--line)}.how .w{padding:52px 40px}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}@media (max-width:820px){.facts{grid-template-columns:1fr;gap:22px}}.fact{display:flex;flex-direction:column;gap:8px}.fact .n{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--sage-deep)}.fact h3{font-family:var(--serif);font-weight:500;font-size:19px;letter-spacing:-.012em;line-height:1.14;margin:0;color:var(--ink)}.fact p{font-size:14.5px;line-height:1.6;margin:0;max-width:38ch}.childlinks,.fact p{font-family:var(--body);color:var(--mute)}.childlinks{margin:52px 0 0;padding:22px 0 0;border-top:1px solid var(--line-strong);font-size:14px;line-height:2.1}.childlinks b{display:block;margin-bottom:4px;font-weight:500;color:var(--ink)}.childlinks a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-strong)}.childlinks a:hover{text-decoration-color:var(--ink)}.block{border-bottom:1px solid var(--line)}.block .w{padding:52px 40px}@media (max-width:640px){.block .w{padding:38px 22px}}.bhead{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}.bhead h2{font-family:var(--serif);font-weight:500;font-size:clamp(22px,2.6vw,32px);line-height:1.08;letter-spacing:-.018em;margin:0;text-wrap:balance}.bhead h2 em{color:var(--ink);font-style:normal;background:linear-gradient(transparent 58%,rgba(172,173,151,.55) 0);padding:0 .05em}.bhead p{font-family:var(--body);font-size:15px;line-height:1.55;color:var(--mute);margin:0;max-width:70ch}.refbar{position:sticky;top:70px;z-index:20;display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--cream);padding:12px 16px;margin-bottom:26px}.refbar,.refbar .sw{border:1px solid var(--line-strong)}.refbar .sw{width:34px;height:34px;flex-shrink:0}.refbar .t{font-family:var(--body);font-size:14px;color:var(--ink)}.refbar .t b{font-weight:500}.refbar .m{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--mute);display:block;margin-top:2px}.refbar .again{margin-left:auto;background:none;border:none;padding:0;cursor:pointer;font-family:var(--body);font-size:13px;color:var(--mute);text-decoration:underline;text-underline-offset:3px}.refbar .again:hover{color:var(--ink)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:14px}.card{display:block;border:1px solid var(--line);background:var(--paper);overflow:hidden;transition:border-color .15s,transform .18s,box-shadow .18s}.card:hover{border-color:var(--line-strong);transform:translateY(-2px);box-shadow:0 14px 30px -18px rgba(35,46,58,.45)}.card .sw{height:104px;display:block;box-shadow:inset 0 0 0 1px rgba(47,61,76,.07)}.card .meta{padding:13px 14px 15px;display:flex;flex-direction:column;gap:3px}.card .n{font-family:var(--serif);font-weight:500;font-size:16px;letter-spacing:-.01em;line-height:1.12}.card .c{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}.card .cmp{font-family:var(--body);font-size:12px;color:var(--mute);line-height:1.4;margin-top:3px}.card .lrv{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute-2);margin-top:5px}.grp{margin-bottom:28px}.grp:last-child{margin-bottom:0}.grp .gh{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:12px;padding-bottom:9px;border-bottom:1px solid var(--line)}.empty-res{padding:8px 0 4px}.pop-row{border-top:1px solid var(--line);padding:22px 0;display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:start}.pop-row:first-of-type{border-top:none}@media (max-width:760px){.pop-row{grid-template-columns:1fr;gap:14px}}.pop-anchor{display:flex;align-items:center;gap:12px}.pop-anchor .sw{width:44px;height:44px;border:1px solid var(--line-strong);flex-shrink:0}.pop-anchor .nm{font-family:var(--serif);font-weight:500;font-size:17px;letter-spacing:-.012em;line-height:1.14}.pop-anchor .cd{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);display:block;margin-top:3px}.pop-matches{flex-wrap:wrap}.pm,.pop-matches{display:flex;gap:9px}.pm{align-items:center;border:1px solid var(--line);background:var(--paper);padding:8px 12px;transition:border-color .15s}.pm:hover{border-color:var(--line-strong)}.pm .sw{width:20px;height:20px;border:1px solid var(--line-strong);flex-shrink:0}.pm .t{font-family:var(--body);font-size:12.5px;color:var(--ink);line-height:1.25}.pm .t span{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin-top:2px}.closer{position:relative;isolation:isolate;overflow:hidden;background:var(--ink);color:var(--bone);text-align:center;border-top:1px solid var(--line-ink)}.closer:before{content:"";position:absolute;left:50%;top:-46%;width:min(860px,116%);aspect-ratio:1;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,var(--sage) 0,transparent 68%);opacity:.2;z-index:-1;pointer-events:none}.closer .strip{position:absolute;left:0;right:0;top:0;height:3px;display:flex;z-index:-1}.closer .strip span{flex:1}.closer .w{padding:104px 40px 108px}.closer .eyebrow{font-family:var(--mono);font-weight:600;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(237,234,224,.55);display:block;margin-bottom:20px}.closer h2{font-weight:500;font-size:clamp(30px,4.2vw,50px);line-height:1.01;letter-spacing:-.024em;margin:0 auto 18px;max-width:18ch;text-wrap:balance;color:var(--bone)}.closer h2,.closer p{font-family:var(--serif)}.closer p{font-size:clamp(16px,1.6vw,19px);line-height:1.5;color:rgba(237,234,224,.76);max-width:46ch;margin:0 auto 32px;text-wrap:pretty}.closer .btn{display:inline-flex;align-items:center;gap:9px;background:var(--bone);color:var(--ink);border:1px solid transparent;padding:16px 30px;font-family:var(--body);font-weight:500;font-size:15px;cursor:pointer;transition:background .16s,transform .16s}.closer .btn:hover{background:#fff;color:var(--ink-deep);transform:translateY(-2px)}.closer .micro{margin:16px auto 0;font-family:var(--body);font-size:13px;color:rgba(237,234,224,.5)}@media (max-width:640px){.closer .w{padding:76px 22px 80px}}}