:root{--p:#1d4ed8;--p2:#0ea5e9;--bg:#f8fafc;--t:#0f172a;--m:#475569;--c:#fff;--r:14px}
*{box-sizing:border-box}body{margin:0;font-family:Rubik,"Noto Sans Hebrew",Arial,sans-serif;background:var(--bg);color:var(--t);line-height:1.6}
.skip{position:absolute;right:-999px}.skip:focus{right:8px;top:8px;background:#000;color:#fff;padding:8px;z-index:9}
a{color:var(--p)}:focus-visible{outline:3px solid #f59e0b;outline-offset:2px}
.top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;padding:14px 5%;background:#fff;box-shadow:0 1px 4px #0001;position:sticky;top:0;z-index:5}
.logo{font-weight:700;text-decoration:none;font-size:1.15rem}nav a{margin-inline-start:16px;text-decoration:none;color:var(--t)}
main{max-width:1100px;margin:auto;padding:24px 5%}
.hero{background:linear-gradient(135deg,var(--p),var(--p2));color:#fff;padding:64px 5%;text-align:center}
.hero h1{font-size:clamp(1.8rem,5vw,3rem);margin:0 0 12px}.hero p{font-size:1.15rem;max-width:700px;margin:0 auto 24px}
.btn{display:inline-block;background:#f59e0b;color:#111;font-weight:700;padding:14px 28px;border-radius:999px;text-decoration:none;border:0;font-size:1rem;cursor:pointer;font-family:inherit}
.btn.sec{background:#e2e8f0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.card{background:var(--c);border-radius:var(--r);padding:20px;box-shadow:0 2px 10px #0000000d}
.card h3{margin-top:0}.muted{color:var(--m)}
.badge{display:inline-block;background:#fee2e2;color:#991b1b;font-size:.8rem;padding:2px 10px;border-radius:999px;font-weight:600}
.site-footer{text-align:center;padding:24px 5%;background:#0f172a;color:#e2e8f0;margin-top:40px}.site-footer a{color:#7dd3fc}
.progress{background:#e2e8f0;border-radius:999px;height:12px;overflow:hidden}.progress div{background:var(--p);height:100%;transition:width .3s}
fieldset{border:0;padding:0;margin:0 0 18px}legend{font-weight:700;margin-bottom:6px}
label{display:block;margin:10px 0 4px;font-weight:500}
input,select,textarea{width:100%;padding:10px;border:1px solid #cbd5e1;border-radius:10px;font:inherit;background:#fff}
.opts label{display:inline-flex;gap:6px;align-items:center;margin-inline-end:14px;font-weight:400}.opts input{width:auto}
.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.step{display:none}.step.active{display:block}.actions{display:flex;justify-content:space-between;margin-top:20px;gap:10px}
table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:10px;border-bottom:1px solid #e2e8f0;text-align:right}
.score{font-size:2rem;font-weight:700;color:var(--p)}.warn{background:#fef3c7;border:1px solid #f59e0b;padding:12px;border-radius:10px}
.tablewrap{overflow-x:auto}
.err{color:#b91c1c;font-size:.9rem;min-height:1.2em;display:block}input[aria-invalid=true],select[aria-invalid=true]{border-color:#dc2626;background:#fef2f2}
.step.active{animation:fade .35s ease}@keyframes fade{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}
.banner{background:#dbeafe;border:1px solid #93c5fd;padding:12px;border-radius:10px;display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-bottom:12px}
.sum dl{display:grid;grid-template-columns:minmax(120px,1fr) 2fr;gap:4px 12px;margin:0}.sum dt{font-weight:600}.sum dd{margin:0;color:var(--m)}
.sum .card{margin-bottom:12px}.link{background:none;border:0;color:var(--p);text-decoration:underline;cursor:pointer;font:inherit;padding:0}
.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:12px 0}.toolbar>*{flex:1 1 160px}
.dest{transition:transform .25s,box-shadow .25s;animation:fade .4s ease both}.dest:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0000001a}
.meter{height:10px;background:#e2e8f0;border-radius:99px;overflow:hidden;margin:6px 0}.meter div{height:100%;background:linear-gradient(90deg,#22c55e,#0ea5e9);transition:width .6s ease}
.why{font-size:.92rem;padding-inline-start:18px}.why .neg{color:#b91c1c}.why .pos{color:#15803d}
details summary{cursor:pointer;font-weight:600;color:var(--p);margin-top:8px}details[open] .more{animation:fade .3s}
.cmpbar{position:sticky;bottom:0;background:#0f172a;color:#fff;padding:10px 5%;display:flex;gap:10px;align-items:center;justify-content:space-between;z-index:4;transform:translateY(100%);transition:transform .3s}.cmpbar.show{transform:none}
.panel{position:fixed;top:0;bottom:0;left:0;width:min(380px,92vw);background:#fff;box-shadow:4px 0 24px #0003;padding:20px;overflow:auto;z-index:20;transform:translateX(-105%);transition:transform .3s ease}.panel.open{transform:none}
.big{font-size:1.4rem;font-weight:700}.pos{color:#15803d}.neg{color:#b91c1c}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.lang select{width:auto;padding:6px 10px;border-radius:999px}
.top nav{display:flex;flex-wrap:wrap;gap:4px 0}
.hero-art{width:min(420px,90%);height:auto;display:block;margin:0 auto 10px}
.pin{animation:bob 2s ease-in-out infinite}.pin.p2{animation-delay:.6s}.pin.p3{animation-delay:1.2s}
@keyframes bob{50%{transform:translateY(-6px)}}
.hero-art .pin{transform-box:fill-box}.hero-art .case{animation:roll 6s ease-in-out infinite alternate}
@keyframes roll{from{transform:translate(40px,168px)}to{transform:translate(250px,168px)}}
.track{position:relative;padding-top:34px}
.suitcase{position:absolute;top:0;width:40px;height:40px;inset-inline-start:-4px;transition:inset-inline-start .6s cubic-bezier(.5,1.6,.4,1);animation:wobble 1s ease-in-out infinite}
@keyframes wobble{50%{transform:rotate(4deg) translateY(-2px)}}
.withicon{display:flex;align-items:center;gap:10px}.mini{width:32px;height:40px}
.mapart{width:100%;height:auto;margin:6px 0 14px}
@media (prefers-reduced-motion:reduce){.plane{display:none}}
[hidden]{display:none!important}
.skip{right:auto;left:auto;clip:rect(0 0 0 0);width:1px;height:1px;overflow:hidden}.skip:focus{clip:auto;width:auto;height:auto;inset-inline-start:8px}
.cmpbar{position:fixed;left:0;right:0;bottom:0}
.cmpbar:not(.show){visibility:hidden}
.src{font-size:.75rem;white-space:nowrap}.facts li{margin-bottom:4px}td small,li small{color:var(--m)}
#cmpTable td,#cmpTable th{vertical-align:top;font-size:.9rem}
.cities{list-style:none;padding:0}.cities>li{border-top:1px solid #e2e8f0;padding:8px 0}.score.sm{font-size:1.1rem}
.cityrank li{margin-bottom:6px}.cityrank .opts{display:inline-flex;font-size:.85rem}.nat{color:#b45309}
.install-btn{margin-inline-start:8px;background:#2563eb;color:#fff;border:0;border-radius:999px;padding:6px 12px;font:inherit;font-size:.85rem;cursor:pointer}
.install-btn[hidden],.offline-pill[hidden]{display:none}
.offline-pill{position:fixed;top:64px;inset-inline-start:50%;transform:translateX(-50%);background:#111827;color:#fff;padding:6px 14px;border-radius:999px;z-index:60;font-size:.85rem}
.pwa-bar{position:fixed;bottom:16px;left:16px;right:16px;max-width:560px;margin:auto;background:#fff;border:1px solid #cbd5e1;box-shadow:0 8px 30px #0003;border-radius:14px;padding:12px 16px;z-index:70;transform:translateY(150%);transition:transform .3s}
.pwa-bar.show{transform:none}.pwa-bar .x{background:none;border:0;font-size:1rem;cursor:pointer;float:inline-end}.btn.sm{padding:6px 14px;font-size:.9rem}
@media (prefers-reduced-motion:reduce){.pwa-bar{transition:none}}
.legal{text-align:center;font-size:.85rem;margin:8px 0}
#list,#cityRank{min-height:60vh}
/* a11y: stronger focus ring (dark + white halo, ≥3:1 on any background) */
:focus-visible{outline:3px solid #111827!important;outline-offset:2px;box-shadow:0 0 0 5px #fff!important}
.a11y-btn{margin-inline-start:8px;background:#fff;color:#1e3a8a;border:2px solid #1e3a8a;border-radius:999px;padding:6px 12px;font:inherit;font-size:.85rem;cursor:pointer;min-height:36px}
.a11y-dlg{position:fixed;top:70px;inset-inline-end:12px;z-index:80;background:#fff;color:#111;border:2px solid #1e3a8a;border-radius:12px;padding:14px;max-width:min(340px,94vw);box-shadow:0 10px 30px #0004;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.a11y-dlg[hidden]{display:none}.a11y-h{width:100%;margin:0 0 4px;font-size:1.05rem}
.a11y-dlg button{min-height:40px;min-width:44px;padding:6px 10px;border:1px solid #475569;border-radius:8px;background:#f8fafc;color:#111;font:inherit;cursor:pointer}
.a11y-dlg button[aria-pressed="true"]{background:#1e3a8a;color:#fff}
html.a11y-lg{font-size:118%}html.a11y-xl{font-size:136%}
html.a11y-ul a{text-decoration:underline!important;text-underline-offset:3px}
html.a11y-nm *,html.a11y-nm *::before,html.a11y-nm *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}html.a11y-nm .plane{display:none}
html.a11y-hc body,html.a11y-hc .card,html.a11y-hc header,html.a11y-hc main,html.a11y-hc section,html.a11y-hc .panel,html.a11y-hc footer,html.a11y-hc .hero{background:#000!important;color:#fff!important}
html.a11y-hc a{color:#ffeb3b!important}html.a11y-hc .btn,html.a11y-hc button,html.a11y-hc select,html.a11y-hc input{background:#000!important;color:#fff!important;border:2px solid #fff!important}
html.a11y-hc .pos{color:#7CFC00!important}html.a11y-hc .neg,html.a11y-hc .badge{color:#ff8a80!important;background:#000!important}html.a11y-hc .muted,html.a11y-hc small{color:#e5e7eb!important}
html.a11y-hc .a11y-dlg{background:#000!important;color:#fff!important;border-color:#fff}
html.a11y-hc .a11y-dlg button[aria-pressed="true"]{background:#ffeb3b!important;color:#000!important}
.legal a{display:inline-block;padding:6px 4px}
/* payments / paywall */
html:not(.ra-full) .full-only{display:none!important}html.ra-full .paywall,html.ra-full .free-note{display:none!important}
.paywall{border:2px dashed #1e3a8a;background:#eff6ff;border-radius:14px;padding:14px 16px;margin:12px 0}.paywall p{margin:.3em 0}
.price .big{font-size:2rem;font-weight:800}.ok{color:#166534;font-weight:700}.mock{border:2px solid #b45309;background:#fffbeb}.small{font-size:.9rem}
.draft-banner{background:#fef3c7;border:2px solid #b45309;color:#78350f;padding:10px 14px;border-radius:10px;font-weight:700}
@media print{header.top,.toolbar,.cmpbar,.panel,.a11y-btn,.a11y-dlg,.install-btn,.pwa-bar,.offline-pill,.legal,#printBtn,.opts,.skip,.hero-art,svg{display:none!important}body{background:#fff;color:#000}a{color:#000}.card{break-inside:avoid;box-shadow:none;border:1px solid #999}}
.panel-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.panel-head h2{margin:0}
.langnav{text-align:center;font-size:.85rem;margin:0 0 8px}.langnav a{display:inline-block;padding:6px 4px}.langnav a[aria-current]{font-weight:700;text-decoration:none}@media print{.langnav{display:none!important}}
