:root{--bg:#fff;--surface:#fff;--surface-2:#f7f8fb;--surface-3:#eef4ff;--line:#e8eaf0;--line-soft:#eef1f6;--text:#111827;--heading:#0f172a;--muted:#5b6472;--faint:#6b7280;--hint:#94a3b8;--on-brand:#fff;--brand:#2563eb;--brand-strong:#1d4ed8;--brand-soft:#2563eb;--brand-tint:#eef4ff;--brand-line:#bfdbfe;--brand-ring:#2563eb59;--chip-line:#dbe2ec;--dash-line:#cdd5e1;--cyan:#086a9a;--cyan-tint:#086a9a1a;--teal:#0c6e5f;--teal-tint:#0c6e5f1a;--success:#15694c;--success-tint:#15694c1a;--warn:#8a5808;--warn-tint:#8a58081f;--danger:#c2372e;--danger-tint:#c2372e1a;--info:var(--brand);--font-sans:"Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-mono:"IBM Plex Mono", "Space Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--fs-display:34px;--fs-h1:26px;--fs-h2:22px;--fs-h3:17px;--fs-body:14.5px;--fs-sm:13px;--fs-cap:12.5px;--lh-tight:1.3;--lh-snug:1.4;--lh-body:1.6;--tracking-tight:-.02em;--tracking-wide:.08em;--w-regular:400;--w-medium:500;--w-semibold:600;--w-bold:700;--w-black:800;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--sec-y:48px;--r-xs:6px;--r-sm:8px;--r-md:10px;--r-lg:12px;--r-card:14px;--r-xl:16px;--r-pill:999px;--sh-1:0 1px 3px #0f172a0f;--sh-2:0 8px 24px #0f172a1a;--sh-card:0 4px 14px #2563eb14;--sh-search:0 6px 20px #2563eb1a;--sh-focus:0 0 0 3px var(--brand-ring);--hero-grad:linear-gradient(180deg, #f5f8ff 0%, #fff 100%);--tool-grad:linear-gradient(160deg, #f5f8ff, #fff);--footer-bg:#0f172a;--footer-text:#94a3b8;--maxw:1120px;--z-header:100;--z-modal:1000;--dur-fast:.12s;--dur:.15s;--ease:ease}[data-theme=dark]{--bg:#0b1526;--surface:#101c30;--surface-2:#15233c;--surface-3:#1b2c4a;--line:#24334f;--line-soft:#1b2840;--text:#e8eefc;--heading:#f4f7ff;--muted:#9fb0ce;--faint:#8fa3c4;--hint:#64789b;--on-brand:#fff;--brand:#3b82f6;--brand-strong:#2563eb;--brand-soft:#7fb0ff;--brand-tint:#3b82f624;--brand-line:#3b82f673;--brand-ring:#3b82f666;--chip-line:#2c3d5e;--dash-line:#33456a;--cyan:#38bdf8;--cyan-tint:#38bdf824;--teal:#22d3b8;--teal-tint:#22d3b826;--success:#2cc08a;--success-tint:#2cc08a29;--warn:#f5b544;--warn-tint:#f5b54426;--danger:#f2695f;--danger-tint:#f2695f26;--sh-1:0 1px 2px #00000073;--sh-2:0 8px 24px #0006;--sh-card:0 4px 14px #00000059;--sh-search:0 6px 20px #3b82f62e;--hero-grad:linear-gradient(180deg, #0d1a30 0%, #0b1526 100%);--tool-grad:linear-gradient(160deg, #12203a, #101c30);--footer-bg:#0a111f;--footer-text:#8fa3c4}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:var(--lh-body);word-break:keep-all;overflow-wrap:break-word;-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}button{font-family:inherit}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.container{max-width:var(--maxw);margin:0 auto;padding:0 24px}.muted{color:var(--muted)}.faint{color:var(--faint)}.site-header{z-index:var(--z-header);background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0}.site-header .inner{align-items:center;gap:28px;min-width:0;height:64px;display:flex}.logo{align-items:center;gap:8px;display:inline-flex}.logo .word{font-size:17px;font-weight:var(--w-black);letter-spacing:var(--tracking-tight);white-space:nowrap;color:var(--text)}.logo .word b{color:inherit}.logo-sq{background:var(--brand);color:#fff;width:26px;height:26px;font-weight:var(--w-black);border-radius:7px;flex:none;place-items:center;font-size:14px;display:grid}.site-header nav{font-size:14px;font-weight:var(--w-medium);align-items:center;gap:24px;display:flex}.site-header nav a{color:var(--muted);cursor:pointer;align-items:center;gap:5px;display:inline-flex}.site-header nav a:hover{color:var(--text)}.site-header nav a.active{color:var(--text);font-weight:var(--w-bold)}.soon{color:var(--warn);font-size:10.5px;font-weight:700}.theme-btn{border:1px solid var(--line);color:var(--muted);border-radius:var(--r-sm);cursor:pointer;background:0 0;width:34px;height:34px;font-size:14px}.theme-btn:hover{color:var(--text);border-color:var(--chip-line)}.btn.login{border:1px solid var(--brand-line);color:var(--brand);font-size:13.5px;font-weight:var(--w-semibold);border-radius:var(--r-sm);background:0 0;padding:7px 14px}.btn.login:hover{background:var(--brand-tint)}.home-sec{padding:var(--sec-y) 0}.home-sec.alt{background:var(--surface-2);border-top:1px solid var(--line-soft)}.home-sec.tools{border-top:1px solid var(--line-soft)}.hero{background:var(--hero-grad);border-bottom:1px solid var(--line-soft);padding:56px 0 44px;position:relative}.hero-in{text-align:center;flex-direction:column;align-items:center;gap:20px;max-width:760px;margin:0 auto;padding:0 24px;display:flex}.hero h1{font-size:var(--fs-display);font-weight:var(--w-black);letter-spacing:-.03em;color:var(--heading);margin:0;line-height:1.3}.hero p.sub{color:var(--muted);max-width:620px;margin:0;font-size:15.5px;line-height:1.6}.search{background:var(--surface);border:1.5px solid var(--brand);border-radius:var(--r-card);width:100%;max-width:620px;box-shadow:var(--sh-search);align-items:center;gap:10px;padding:6px 6px 6px 18px;display:flex}.search:focus-within{box-shadow:var(--sh-search),var(--sh-focus)}.search input{min-width:0;color:var(--text);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:15px}.search input::placeholder{color:var(--hint)}.search .ico{color:var(--hint);cursor:pointer;background:0 0;border:none;padding:0;font-size:17px;display:inline-flex}.search .go{background:var(--brand);color:#fff;font-size:14.5px;font-weight:var(--w-bold);border-radius:var(--r-md);cursor:pointer;border:none;flex:none;padding:11px 22px}.search .go:hover{background:var(--brand-strong)}.suggest{z-index:60;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-2);text-align:left;max-height:320px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 10px);left:-8px;right:-8px;overflow:auto}.sug-item{border-radius:var(--r-sm);cursor:pointer;color:var(--text);align-items:baseline;gap:10px;padding:9px 12px;font-size:14px;display:flex}.sug-item.on{background:var(--brand-tint)}.sug-label{font-weight:var(--w-semibold);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sug-sub{color:var(--hint);flex:none;margin-left:auto;font-size:12px}.intent-chips{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.ichip{font-size:13px;font-weight:var(--w-semibold);color:#334155;background:var(--surface);border:1px solid var(--chip-line);border-radius:var(--r-pill);cursor:pointer;transition:border-color var(--dur) var(--ease);padding:7px 14px}[data-theme=dark] .ichip{color:var(--muted)}.ichip:hover{border-color:var(--brand);color:var(--brand)}.stat-strip{border-radius:var(--r-card);background:var(--surface);border:1px solid #e5e9f0;margin-top:8px;display:flex;overflow:hidden}[data-theme=dark] .stat-strip{border-color:var(--line)}.stat-strip .cell{border-right:1px solid var(--line-soft);flex-direction:column;gap:2px;padding:16px 36px;display:flex}.stat-strip .cell:last-child{border-right:none}.stat-strip .n{font-size:24px;font-weight:var(--w-black);color:var(--heading);letter-spacing:var(--tracking-tight)}.stat-strip .l{font-size:13px;font-weight:var(--w-semibold);color:var(--muted)}.sec-title{font-size:var(--fs-h2);font-weight:var(--w-black);letter-spacing:var(--tracking-tight);color:var(--heading);align-items:baseline;gap:14px;margin:34px 0 16px;scroll-margin-top:80px;display:flex}.sec-title .linklike{font-size:13.5px;font-weight:var(--w-semibold);color:var(--brand)}.sec-sub{color:var(--faint);margin:-10px 0 22px;font-size:14px}.sec-link{font-size:13.5px;font-weight:var(--w-semibold);color:var(--brand);cursor:pointer;background:0 0;border:none;padding:0}.sec-link:hover{color:var(--brand-strong)}.pop-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.card-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.hstrip{scroll-snap-type:x proximity;gap:16px;padding:4px 2px 12px;display:flex;overflow-x:auto}.hstrip .pcard{scroll-snap-align:start;flex:0 0 300px}.pcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);cursor:pointer;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease);flex-direction:column;gap:10px;padding:20px;display:flex;position:relative}.pcard:hover{border-color:var(--brand);box-shadow:var(--sh-card)}.pcard.fit{border-color:var(--success);box-shadow:inset 3px 0 0 var(--success)}.pcard .top{align-items:center;gap:10px;display:flex}.avatar{border-radius:var(--r-md);width:38px;height:38px;font-weight:var(--w-black);flex:none;justify-content:center;align-items:center;font-size:15px;display:flex;overflow:hidden}.avatar img{object-fit:contain;width:100%;height:100%}.avatar.lg{border-radius:var(--r-lg);width:64px;height:64px;font-size:26px}.pcard h4{font-size:15px;font-weight:var(--w-bold);color:var(--text);flex-wrap:wrap;align-items:center;gap:6px;margin:0;display:flex}.pcard .cat{color:var(--hint);margin-top:1px;font-size:12px}.pcard p{color:var(--muted);margin:0;font-size:13px;line-height:1.55}.pcard .star{color:var(--muted);cursor:pointer;transition:color var(--dur-fast,.12s) ease,transform var(--dur-fast,.12s) ease;background:0 0;border:none;align-self:flex-start;margin-left:auto;font-size:20px;line-height:1}.pcard .star:hover{color:#f59e0b;transform:scale(1.18)}.pcard .star.on{color:#f59e0b;text-shadow:0 0 6px #f59e0b59}.pcard .cta{font-size:13px;font-weight:var(--w-semibold);color:var(--brand);margin-top:auto}.ext{color:var(--muted);font-size:12.5px}.ext:hover{color:var(--brand)}.pname{font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;padding:0}.pname:hover{color:var(--brand)}.pcard-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:2px;display:flex}.linklike{color:var(--brand);font-size:12.5px;font-weight:var(--w-semibold);cursor:pointer;background:0 0;border:none;padding:0}.linklike:hover{color:var(--brand-strong)}.cmp-btn{border:1px solid var(--line);color:var(--faint);border-radius:var(--r-xs);cursor:pointer;background:0 0;margin-left:auto;padding:3px 9px;font-size:11.5px;font-weight:600}.cmp-btn.on{background:var(--brand-tint);border-color:var(--brand-line);color:var(--brand)}.cmp-btn:disabled{opacity:.4;cursor:not-allowed}.group-h{align-items:center;gap:10px;margin:28px 0 14px;display:flex}.group-h svg{color:var(--brand);flex:none}.group-h h3{font-size:16px;font-weight:var(--w-black);color:var(--text);margin:0}.group-h .g-ct{font-size:12.5px;font-weight:var(--w-semibold);color:var(--hint)}.cat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.ccard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);cursor:pointer;text-align:left;width:100%;transition:border-color var(--dur) var(--ease);justify-content:space-between;align-items:center;gap:10px;padding:16px 18px;display:flex}.ccard:hover{border-color:var(--brand)}.ccard>div:first-child{min-width:0}.ccard .c-name{font-size:14.5px;font-weight:var(--w-bold);color:var(--text)}.ccard .c-desc{color:var(--faint);margin-top:3px;font-size:12.5px}.ccard .c-ct{font-size:12.5px;font-weight:var(--w-bold);color:var(--hint);flex:none}.ccard.more{border-style:dashed;border-color:var(--dash-line);background:0 0;justify-content:center}.ccard.more span{font-size:13.5px;font-weight:var(--w-bold);color:var(--brand)}.ccard.more:hover{border-color:var(--brand)}.tool-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.tcard{border:1px solid var(--line);border-radius:var(--r-xl);background:var(--tool-grad);cursor:pointer;text-align:left;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease);flex-direction:column;gap:10px;padding:26px;display:flex}.tcard:hover{border-color:var(--brand);box-shadow:var(--sh-card)}.tcard svg{color:var(--brand)}.tcard .t-title{font-size:17px;font-weight:var(--w-black);color:var(--text)}.tcard p{color:var(--muted);margin:0;font-size:13.5px;line-height:1.6}.tcard .t-cta{font-size:13.5px;font-weight:var(--w-bold);color:var(--brand);margin-top:4px}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin:16px 0 8px;display:flex}.select,.btn{font-family:inherit}.select{background:var(--surface);border:1px solid var(--line);color:var(--text);border-radius:var(--r-md);padding:8px 12px;font-size:13px}.btn{font-size:14px;font-weight:var(--w-semibold);border-radius:var(--r-md);cursor:pointer;color:var(--text);transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease);border:1px solid #0000;align-items:center;gap:7px;padding:9px 16px;display:inline-flex}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--brand);color:var(--on-brand)}.btn.primary:hover{background:var(--brand-strong)}.btn.ghost{border-color:var(--line);color:var(--muted);background:0 0}.btn.ghost:hover{border-color:var(--chip-line);color:var(--text);background:var(--surface-2)}.btn.ghost.on{border-color:var(--brand);color:var(--brand);background:var(--brand-tint)}.btn.teal{background:var(--teal-tint);border-color:var(--teal);color:var(--teal)}.btn.sm{padding:6px 12px;font-size:12.5px}.stats{grid-template-columns:repeat(3,1fr);gap:12px;max-width:560px;margin:8px 0 30px;display:grid}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:15px 16px}.stat .n{font-size:24px;font-weight:var(--w-black);color:var(--heading);letter-spacing:var(--tracking-tight)}.stat .n.b{color:var(--brand)}.stat .n.t{color:var(--teal)}.stat .l{font-size:12.5px;font-weight:var(--w-semibold);color:var(--muted);margin-top:2px}.groups{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.gcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);cursor:pointer;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease);text-align:left;width:100%;padding:16px}.gcard:hover{border-color:var(--brand);box-shadow:var(--sh-card)}.gcard .g-ic{font-size:22px}.gcard h4{font-size:16px;font-weight:var(--w-bold);color:var(--text);margin:8px 0 4px}.gcard .g-meta{color:var(--hint);font-size:11.5px;font-weight:600}.gcard .g-cats{color:var(--muted);margin-top:8px;font-size:12.5px;line-height:1.5}.gcard.sel{border-color:var(--brand);background:var(--brand-tint)}.acc{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);margin-bottom:10px;overflow:hidden}.acc-h{background:var(--surface);cursor:pointer;width:100%;color:var(--text);text-align:left;border:none;align-items:center;gap:10px;padding:13px 16px;display:flex}.acc-h .ic{font-size:16px}.acc-h .nm{font-weight:var(--w-semibold)}.acc-h .ct{color:var(--hint);margin-left:auto;font-size:12px;font-weight:700}.acc-h .chev{color:var(--hint);transition:transform var(--dur)}.acc.open .acc-h .chev{transform:rotate(90deg)}.acc-b{border-top:1px solid var(--line-soft);padding:14px 16px}.badge{font-size:11px;font-weight:var(--w-bold);letter-spacing:.02em;border-radius:var(--r-xs);align-items:center;gap:4px;padding:3px 8px;display:inline-flex}.badge.new{background:var(--teal-tint);color:var(--teal)}.badge.good{background:var(--success-tint);color:var(--success)}.badge.soon{background:var(--warn-tint);color:var(--warn)}.badge.muted{background:var(--surface-2);color:var(--muted);border:1px solid var(--line-soft)}.badge.verify{background:var(--cyan-tint);color:var(--cyan)}.badge.ad{color:#111;letter-spacing:.04em;background:#f5b544;font-weight:800}.banner{border:1px solid var(--brand-line);background:var(--brand-tint);border-radius:var(--r-lg);color:var(--text);padding:13px 16px;font-size:13.5px}[data-theme=dark] .banner{border-color:var(--line)}.banner.admin{border-color:var(--teal);background:var(--teal-tint)}.banner.warn{border-color:var(--warn);background:var(--warn-tint)}.banner.plain{border-color:var(--line);background:var(--surface-2)}.banner code{font-family:var(--font-mono);background:var(--surface-2);border-radius:4px;padding:1px 5px;font-size:12px}.result-meta{color:var(--faint);margin:8px 0 14px;font-size:12.5px}.empty{text-align:center;color:var(--muted);border:1px dashed var(--dash-line);border-radius:var(--r-lg);padding:44px 20px}.empty:before{content:"";background:var(--brand);opacity:.35;border-radius:3px;width:10px;height:10px;margin:0 auto 10px;display:block}.auth-layout{grid-template-columns:minmax(0,440px) minmax(260px,420px);align-items:start;gap:24px;display:grid}.auth-value ul{gap:10px;margin:10px 0 0;padding:0;list-style:none;display:grid}.auth-value li{align-items:baseline;gap:9px;font-size:13.5px;line-height:1.55;display:flex}.auth-value .vico{flex:none}@media (width<=860px){.auth-layout{grid-template-columns:1fr}}.empty.es{flex-direction:column;align-items:center;gap:10px;padding:30px 20px;display:flex}.empty.es:before{display:none}.es-ico{opacity:.85;font-size:26px;line-height:1}.es-text{max-width:420px;margin:0;font-size:13.5px;line-height:1.6}.site-footer{background:var(--footer-bg);color:var(--footer-text);margin-top:60px;padding:34px 0 24px;font-size:13px}.site-footer .logo .word{color:#fff}.foot-grid{grid-template-columns:1.2fr .7fr 1.3fr;gap:28px;margin-bottom:18px;display:grid}@media (width<=700px){.foot-grid{grid-template-columns:1fr;gap:18px}}.foot-h{letter-spacing:var(--tracking-wide);text-transform:uppercase;color:#64748b;margin-bottom:8px;font-size:11.5px;font-weight:700}.foot-desc{color:var(--footer-text);margin:6px 0 8px;font-size:12.5px;line-height:1.6}.foot-link{color:#cbd5e1;cursor:pointer;text-align:left;background:0 0;border:none;padding:2px 0;font-size:13px;display:block}.foot-link:hover{color:#fff}a.foot-link{display:inline-block}.foot-cap{letter-spacing:.08em;color:#64748b;border-top:1px solid #94a3b82e;padding-top:12px;font-size:11px}.page{padding:36px 0}.page h1{font-size:var(--fs-h1);font-weight:var(--w-black);letter-spacing:var(--tracking-tight);color:var(--heading);margin:0 0 10px}.page .lead{color:var(--muted);max-width:640px;margin:0 0 22px;font-size:15.5px}.process{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:20px 0;display:grid}.step{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:15px}.step .num{font-family:var(--font-mono);color:var(--brand);font-weight:700}.step h4{margin:6px 0 4px;font-size:14px}.step p{color:var(--muted);margin:0;font-size:12.5px}.detail-hero{align-items:flex-start;gap:18px;margin:14px 0 22px;display:flex}.detail-hero h1{color:var(--heading);flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 6px;display:flex}.detail-cta{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.facts{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:20px;display:grid}.fact{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:13px 15px}.fact .k{color:var(--faint);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:700}.fact .k .est{color:var(--warn);border:1px solid var(--warn);letter-spacing:0;text-transform:none;vertical-align:middle;border-radius:4px;margin-left:4px;padding:0 4px;font-size:9.5px;font-weight:600}.fact .v{margin-top:4px;font-size:14px}.fact .v .src{color:var(--brand);white-space:nowrap;font-size:12px}.panel-note{margin-bottom:8px}.panel-note a{color:var(--brand)}.est{color:var(--warn);border:1px solid var(--warn);vertical-align:middle;border-radius:4px;padding:0 4px;font-size:10px;font-weight:600}.src{color:var(--brand);font-size:12px}.search-layout{align-items:flex-start;gap:22px;display:flex}.facets{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);flex:0 0 240px;max-height:calc(100vh - 100px);padding:16px;position:sticky;top:80px;overflow:auto}.facet-group{margin-bottom:18px}.facet-title{text-transform:uppercase;letter-spacing:.08em;color:var(--faint);margin-bottom:8px;font-size:11px;font-weight:700}.facet-sub{margin-bottom:10px}.facet-sub-title{font-size:12px;font-weight:var(--w-semibold);color:var(--muted);margin:8px 0 4px}.facet-opt{cursor:pointer;color:var(--text);align-items:center;gap:8px;padding:4px 0;font-size:13px;display:flex}.facet-opt.sm{padding:3px 0;font-size:12.5px}.facet-opt .facet-ct{color:var(--hint);margin-left:auto;font-size:11px;font-weight:600}.facet-opt input{accent-color:var(--brand)}.search-main{flex:1;min-width:0}.search-toolbar{align-items:center;gap:10px;margin-bottom:12px;display:flex}.chips-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.fchip{font-size:12.5px;font-weight:var(--w-semibold);background:var(--surface);border:1px solid var(--chip-line);color:var(--muted);border-radius:var(--r-pill);cursor:pointer;padding:6px 12px}.fchip.on{background:var(--brand-tint);border-color:var(--brand);color:var(--brand)}.cmp-scroll{border:1px solid var(--line);border-radius:var(--r-lg);margin-top:16px;overflow-x:auto}.cmp-table{border-collapse:collapse;width:100%;min-width:520px;font-size:14px}.cmp-table th,.cmp-table td{border-bottom:1px solid var(--line-soft);text-align:left;vertical-align:top;padding:12px 14px}.cmp-table thead th{background:var(--surface-2)}.cmp-h{font-weight:var(--w-bold);align-items:center;gap:8px;display:flex}.cmp-k{color:var(--faint);text-transform:uppercase;width:80px;font-size:11.5px;font-weight:700}.cmp-bar{z-index:50;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--sh-2);max-width:var(--maxw);align-items:center;gap:12px;margin:16px auto;padding:10px 16px;display:flex;position:sticky;bottom:12px}.cmp-bar .names{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.type-card h4{font-size:15px}.type-detail{border-top:1px dashed var(--line-soft);color:var(--muted);flex-direction:column;gap:8px;margin-top:10px;padding-top:10px;font-size:12.5px;line-height:1.55;display:flex}.type-detail .k{text-transform:uppercase;letter-spacing:.08em;color:var(--brand);margin-bottom:2px;font-size:10.5px;font-weight:700;display:block}.ob-bar{flex-wrap:wrap;gap:8px;margin-bottom:22px;display:flex}.ob-step{color:var(--faint);border-radius:var(--r-pill);border:1px solid var(--line);align-items:center;gap:6px;padding:6px 12px;font-size:13px;display:flex}.ob-step .mono{font-size:11px}.ob-step.on{color:var(--brand);border-color:var(--brand);background:var(--brand-tint)}.ob-step.done{color:var(--teal)}.ob-panel h2{font-size:22px;font-weight:var(--w-black);color:var(--heading);margin:0 0 6px}.ob-nav{gap:10px;margin-top:22px;display:flex}.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);max-width:440px;padding:22px}.tabbar{gap:8px;margin-bottom:16px;display:flex}.frm{flex-direction:column;gap:12px;display:flex}.frm label{font-size:12px;font-weight:var(--w-semibold);color:var(--muted);flex-direction:column;gap:6px;display:flex}.frm label.facet-opt{color:var(--text);font-weight:400;line-height:1.6;display:block}.frm label.facet-opt input{vertical-align:middle;margin-right:6px}.frm input,.frm textarea,.frm select{background:var(--surface);border:1px solid var(--line);color:var(--text);border-radius:var(--r-md);outline:none;padding:10px 12px;font-family:inherit;font-size:14px}.frm input:focus,.frm textarea:focus,.frm select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint)}.frm textarea{resize:vertical}.frm-note{color:var(--faint);font-size:12px;line-height:1.5}.err{color:var(--danger);font-size:13px}.ok{color:var(--success);font-size:13px}.sub-list{flex-direction:column;gap:8px;max-width:640px;display:flex}.sub-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.admin-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-card);max-width:720px;margin-bottom:12px;padding:16px 18px}.admin-card-h{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.admin-form{flex-wrap:wrap;gap:10px;margin-top:10px;display:flex}.admin-form label{font-size:11px;font-weight:var(--w-semibold);color:var(--faint);flex-direction:column;gap:5px;min-width:140px;display:flex}.admin-form input,.admin-form select{background:var(--surface);border:1px solid var(--line);color:var(--text);border-radius:var(--r-sm);outline:none;padding:7px 10px;font-family:inherit;font-size:13px}.admin-form input:focus,.admin-form select:focus{border-color:var(--brand)}.done-card{border:1px solid var(--success);background:var(--success-tint);border-radius:var(--r-lg);color:var(--text);padding:22px 24px;font-size:14.5px;line-height:1.6}.pcard.demo{opacity:.88;border-style:dashed}.pcard.demo:hover{border-color:var(--line);box-shadow:none}.hub-intro{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);margin-bottom:16px;padding:16px 18px}.hub-intro p{color:var(--muted);margin:0 0 8px;font-size:13.5px;line-height:1.65}.hub-intro .pickby{border-top:1px solid var(--line-soft);margin-top:10px;padding-top:10px}.hub-intro .pickby b{color:var(--faint);font-size:12.5px}.hub-intro .pickby ul{flex-wrap:wrap;gap:2px 20px;margin:6px 0 0;padding-left:18px;display:flex}.hub-intro .pickby li{color:var(--muted);min-width:200px;font-size:12.5px}.favorite-login{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.favorite-tabs{flex-wrap:wrap;align-items:center;gap:8px;margin:18px 0;display:flex}.favorite-tabs .fchip{margin:0}.favorite-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px;display:grid}.favorite-item{min-width:0}.favorite-item>.pcard{border-radius:var(--r-card) var(--r-card) 0 0}.favorite-controls{background:var(--surface-2);border:1px solid var(--line);border-radius:0 0 var(--r-card) var(--r-card);flex-direction:column;gap:12px;margin-top:-1px;padding:14px 16px;display:flex}.favorite-control-row{flex-wrap:wrap;align-items:flex-end;gap:14px;display:flex}.favorite-control-row>label:first-child,.favorite-memo{font-size:12px;font-weight:var(--w-semibold);color:var(--muted);flex-direction:column;gap:6px;display:flex}.favorite-controls select,.favorite-controls textarea{background:var(--surface);border:1px solid var(--line);color:var(--text);border-radius:var(--r-md);outline:none;padding:9px 11px;font-family:inherit;font-size:13.5px}.favorite-controls select:focus,.favorite-controls textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint)}.favorite-controls textarea{resize:vertical;width:100%;line-height:1.5}.favorite-alert{min-height:38px;color:var(--muted);cursor:pointer;align-items:center;gap:7px;font-size:12.5px;display:inline-flex}.favorite-alert input{accent-color:var(--brand);width:16px;height:16px}.favorite-actions{flex-wrap:wrap;align-items:center;gap:10px;min-height:32px;display:flex}.favorite-actions [role=status]{margin-right:auto;font-size:12px}.favorite-actions .btn:disabled{opacity:.45;cursor:not-allowed}.favorite-remove,.favorite-remove:hover{color:var(--danger)}.favorite-remove:disabled{opacity:.45;cursor:not-allowed}.legal section{max-width:720px;margin-bottom:22px}.legal h3{color:var(--text);margin:0 0 8px;font-size:15px}.legal p,.legal li{color:var(--muted);font-size:13.5px;line-height:1.7}.legal ul{margin:6px 0;padding-left:20px}.legal a{color:var(--brand);text-decoration:underline}@media (width<=1024px){.pop-grid,.cat-grid,.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.search-layout{flex-direction:column}.facets{flex:1;width:100%;max-height:none;position:static}}@media (width<=640px){.hero{padding:40px 0 32px}.hero h1{font-size:26px}.pop-grid,.cat-grid,.tool-grid{grid-template-columns:minmax(0,1fr)}.stat-strip .cell{flex:1;padding:14px 20px}.stat-strip{justify-content:space-between;width:100%}.stat-strip .n{font-size:20px}.stats{grid-template-columns:repeat(3,1fr);gap:8px}.stats .stat{padding:12px}.stats .n{font-size:20px}.site-header .inner{gap:10px}.site-header nav{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-shrink:1;gap:14px;min-width:0;font-size:13px;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 85%,#0000);mask-image:linear-gradient(90deg,#000 85%,#0000)}.site-header nav::-webkit-scrollbar{display:none}.site-header nav>*{white-space:nowrap;flex:none}.site-header nav .soon{display:none}.detail-hero{flex-direction:column}.favorite-grid{grid-template-columns:minmax(0,1fr)}.favorite-login{flex-direction:column;align-items:flex-start}.favorite-control-row{flex-direction:column;align-items:stretch;gap:10px}.favorite-controls select{width:100%}}.site-header .logo{flex:none}@media (pointer:coarse){.frm input,.frm textarea,.frm select,.admin-form input,.admin-form select,.select,.favorite-controls select,.favorite-controls textarea{font-size:16px}.theme-btn,.pcard .star{min-width:44px;min-height:44px}.site-header nav a,.site-header nav button,.btn,.btn.sm,.fchip,.ichip,.select,.cmp-btn,.ccard{min-height:44px}.btn,.btn.sm{align-items:center;display:inline-flex}.linklike,.pname,.ext,.sec-link{padding-block:8px;display:inline-block}.cmp-bar{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:3px}.admin-form input:focus-visible,.admin-form select:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.filters-toggle{margin-bottom:12px;display:none}@media (width<=760px){.filters-toggle{display:inline-flex}.search-layout .facets{display:none}.search-layout.filters-open .facets{display:block}}.driver-popover{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:var(--r-md,10px);max-width:320px;box-shadow:0 12px 32px #0000002e}.driver-popover-title{color:var(--heading);font-size:15px;font-weight:800}.driver-popover-description{color:var(--muted);font-size:13.5px;line-height:1.55}.driver-popover-progress-text{color:var(--faint);font-size:12px}.driver-popover-navigation-btns button{background:var(--brand);color:var(--on-brand);cursor:pointer;text-shadow:none;border:none;border-radius:8px;padding:6px 12px;font-size:12.5px;font-weight:700}.driver-popover-navigation-btns button.driver-popover-prev-btn{color:var(--muted);border:1px solid var(--line);background:0 0}.driver-popover-arrow-side-left.driver-popover-arrow{border-left-color:var(--surface)}.driver-popover-arrow-side-right.driver-popover-arrow{border-right-color:var(--surface)}.driver-popover-arrow-side-top.driver-popover-arrow{border-top-color:var(--surface)}.driver-popover-arrow-side-bottom.driver-popover-arrow{border-bottom-color:var(--surface)}.driver-popover-close-btn{color:var(--faint)}
