/* forwarder comparison component — uses host vars with safe fallbacks; dark-safe */
.fwp{--fwc:var(--card,var(--pa,#fff));--fwl:var(--line,var(--ln,#e3e7ee));--fwm:var(--mut,var(--sub,#5b6472));--fwf:var(--fg,var(--ink,#14181f));--fwb:var(--brand,var(--pri,var(--acc,#4f46e5)));--fwok:var(--ok,#0f9d58);--fwokb:var(--okb,#e6f6ee);--fws:#6366f1;--fwsb:#eef0fd;--fwy:#fff7e0;color:var(--fwf);padding-bottom:30px}
:root[data-theme=dark] .fwp{--fwsb:#1d2040;--fws:#a5b4fc;--fwy:#2a2410}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .fwp{--fwsb:#1d2040;--fws:#a5b4fc;--fwy:#2a2410}}
.fwp .fwh{padding:26px 0 4px}.fwp h1{font-size:clamp(26px,4vw,38px);line-height:1.2;margin:4px 0 8px}.fwp .eb2{display:inline-block;font-size:13px;font-weight:700;color:var(--fwb);margin:0}.fwp .lead2{color:var(--fwm);font-size:16.5px;max-width:760px;margin:0}
.fwp .fwsa{margin:20px 0}
.fwp .pks{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.fwp .pk{background:var(--fwc);border:1px solid var(--fwl);border-radius:14px;padding:14px 16px}.fwp .pk p{margin:8px 0 10px;color:var(--fwm);font-size:14px}.fwp .pkl{display:flex;flex-wrap:wrap;gap:6px}.fwp .pkl a{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;border:1px solid var(--fwl);border-radius:99px;color:var(--fwf);font-size:13px;font-weight:600;text-decoration:none}
.fwp .bt{display:inline-block;font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:99px;background:var(--fwsb);color:var(--fws);margin:2px 4px 2px 0;white-space:nowrap}.fwp .b-free,.fwp .b-b4mfree{background:var(--fwokb);color:var(--fwok)}.fwp .b-storage,.fwp .b-done{background:var(--fwy);color:#b7791f}
.fwp .flg{position:relative;display:inline-grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--fwsb);overflow:hidden;flex:none}.fwp .flg b{font-size:13px;color:var(--fws)}.fwp .flg img{position:absolute;inset:15%;width:70%;height:70%;object-fit:contain}
.fwp .fnote{color:var(--fwm);font-size:13px}.fwp .ftw{overflow-x:auto;border:1px solid var(--fwl);border-radius:14px;background:var(--fwc)}
.fwp .ft2{width:100%;border-collapse:collapse;min-width:900px;font-size:13.5px}.fwp .ft2 th,.fwp .ft2 td{padding:10px 12px;border-bottom:1px solid var(--fwl);text-align:start;vertical-align:top}.fwp .ft2 thead th{font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--fwm);background:color-mix(in srgb,var(--fwl) 35%,transparent);position:sticky;top:0}
.fwp .ft2 tbody th{display:flex;gap:10px;align-items:flex-start;min-width:190px}.fwp .ft2 tbody th b{display:block}.fwp .ft2 tr.feat{background:color-mix(in srgb,var(--fwb) 6%,transparent)}.fwp .ft2 small{display:block;color:var(--fwm);font-size:12px}
.fwp .fi{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;font-size:11px;font-weight:800;margin-inline-end:6px;vertical-align:-3px}.fwp .fi.y{background:var(--fwokb);color:var(--fwok)}.fwp .fi.n{background:var(--fwsb);color:var(--fws)}.fwp .fi.u{background:color-mix(in srgb,var(--fwl) 60%,transparent);color:var(--fwm)}.fwp .fi.p{background:var(--fwy);color:#b7791f}
.fwp .fu{color:var(--fwm);font-style:italic}.fwp .st{font-weight:800;color:#e0a100}
.fwp .fcs{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.fwp .fc{background:var(--fwc);border:1px solid var(--fwl);border-radius:16px;padding:14px 16px;scroll-margin-top:90px}.fwp .fc.feat{border-color:color-mix(in srgb,var(--fwb) 45%,var(--fwl));box-shadow:0 0 0 3px color-mix(in srgb,var(--fwb) 10%,transparent)}
.fwp .fc header{display:flex;gap:10px;align-items:center}.fwp .fc header>div{flex:1}.fwp .fc h3{margin:0;font-size:17px}.fwp .fc header a{font-size:12.5px;color:var(--fwm)}.fwp .fc header .flg{width:38px;height:38px}
.fwp .fcl{list-style:none;padding:0;margin:10px 0;display:grid;gap:6px;font-size:14px}.fwp .fcl small{display:inline;margin-inline-start:6px;color:var(--fwm)}.fwp .fbn{font-size:13px;background:var(--fwsb);border-radius:10px;padding:8px 10px}.fwp .fsrc{font-size:12px;color:var(--fwm);margin:6px 0 0}
.fwp .fwbox{background:var(--fwc);border:1px solid var(--fwl);border-radius:14px;padding:4px 18px 10px;margin:24px 0}.fwp .fwbox h2{font-size:17px}
.fwp .faq details{background:var(--fwc);border:1px solid var(--fwl);border-radius:10px;margin:0 0 8px}.fwp .faq summary{cursor:pointer;padding:12px 16px;font-weight:700}.fwp .faq details p{margin:0;padding:0 16px 14px;color:var(--fwm)}
.fwp .sa{display:grid;grid-template-columns:auto 1fr;border-radius:14px;overflow:hidden;border:1px solid var(--fwl);background:var(--fwc)}.fwp .sah{display:flex;align-items:center;justify-content:center;padding:14px 16px;background:var(--fwok);color:#fff;font-weight:800;min-width:96px;text-align:center}.fwp .sab{padding:14px 18px}.fwp .sal{font-weight:700;font-size:17px;margin:0 0 6px}.fwp .pts{margin:6px 0;padding-inline-start:20px}
.fwp .h2{font-size:21px;margin:30px 0 12px}.fwp .disc{font-size:12.5px;color:var(--fwm)}
@media (max-width:700px){.fwp .sa{grid-template-columns:1fr}.fwp .sah{justify-content:flex-start}}
/* shared language switcher for en/ja shells */
.lsw{position:relative}.lsw summary{list-style:none;cursor:pointer;display:inline-flex;gap:6px;align-items:center;padding:5px 11px;border-radius:99px;border:1px solid color-mix(in srgb,currentColor 30%,transparent);font-size:13.5px;white-space:nowrap}.lsw summary::-webkit-details-marker{display:none}.lsw summary .ico{flex:none}
.lsm{position:absolute;inset-inline-end:0;top:calc(100% + 6px);background:var(--card,var(--pa,#fff));color:var(--fg,var(--ink,#14181f));border:1px solid var(--line,var(--ln,#e3e7ee));border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.18);padding:6px;min-width:210px;max-height:70vh;overflow:auto;z-index:60;display:grid}.lsm a{color:inherit;padding:7px 10px;border-radius:8px;font-size:14px;text-decoration:none}.lsm a:hover,.lsm a[aria-current]{background:color-mix(in srgb,currentColor 9%,transparent)}

/* ==== fx: dark-mode audit (mirrored for system dark) ==== */
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .fwp{--fwsb:#1d2040;--fws:#a5b4fc;--fwy:#2a2410}}
