/* Free tools (/tools/*): guide.css tokens, the home fit-check form vocabulary (.field, .pick, .opts),
   and a result card. A tool is used, not admired: no motion except the completeness meter. */
.toolpage{padding-bottom:clamp(48px,8vw,96px)}
.toolpage .lead{max-width:62ch;font-size:1.08rem;color:var(--ink-soft);margin:14px 0 0}
.toolpage .eyebrow span::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--hair-2);vertical-align:middle;margin-inline-end:8px}
.tool{display:grid;gap:clamp(20px,3vw,32px);align-items:start}
@media (min-width:1000px){ .tool{grid-template-columns:minmax(0,1fr) 380px} }
.num,.out bdi{font-variant-numeric:tabular-nums}

/* form */
.fcard{background:var(--raised);border-radius:28px;padding:clamp(20px,3.4vw,40px);box-shadow:0 1px 0 var(--hair),0 30px 60px -40px rgba(23,21,15,.5);min-width:0}
.tool-form{display:grid;gap:26px}
.field{display:grid;gap:9px;min-width:0}
.field label,.field legend{font:700 1rem/1.4 var(--sans);padding:0;color:var(--ink)}
.field small{font-weight:500;color:var(--ink-mute)}
fieldset{border:0;margin:0;padding:0;display:grid;gap:11px;min-width:0}
.field input[type=text],.field input[type=date],.field textarea{width:100%;min-height:52px;padding:12px 16px;border-radius:14px;border:1.5px solid var(--hair-2);
  background:var(--paper);color:var(--ink);font:500 1.02rem/1.5 var(--sans)}
.field textarea{resize:vertical;min-height:96px}
.field input[type=date]{max-width:16rem;font-variant-numeric:tabular-nums}
.field input::placeholder,.field textarea::placeholder{color:#8a8476}
.field input:focus,.field textarea:focus{outline:3px solid var(--cobalt);outline-offset:1px;border-color:transparent}
.help{font-size:.88rem;color:var(--ink-mute);line-height:1.45}
.help.warn{color:var(--tomato-ink);font-weight:600}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.pick{position:relative}
.pick input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}
.pick span{display:inline-block;padding:0 16px;border-radius:999px;border:1.5px solid var(--hair-2);background:var(--paper);font:500 .98rem/41px var(--sans)}
.pick input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:700}
.pick input:checked+span::before{content:"";display:inline-block;vertical-align:middle;width:7px;height:7px;margin:-2px 0 0 8px;border-radius:50%;background:var(--lime)}
.pick input:focus-visible+span{outline:3px solid var(--cobalt);outline-offset:2px}
@media (hover:hover) and (pointer:fine){ .pick input:not(:checked):hover+span{border-color:var(--ink)} .linkbtn:hover{color:var(--ink)} }
/* amount + unit: the number is LTR, the unit sits at the inline end */
.unit{position:relative;max-width:16rem}
/* the input is dir=ltr, so its padding is set physically: number at the right edge, unit on the left */
.unit input[type=text]{padding-left:64px;padding-right:16px;text-align:right;font-variant-numeric:tabular-nums}
.unit span{position:absolute;inset-inline-end:16px;top:50%;transform:translateY(-50%);font:600 .9rem/1 var(--sans);color:var(--ink-mute);pointer-events:none}
.example{margin:0;padding:12px 16px;border-radius:14px;background:var(--paper-2);font-size:.95rem;color:var(--ink-soft)}
.roles{gap:14px}
.roles legend{font:700 1rem/1.4 var(--sans);margin-bottom:4px}
.role{display:grid;gap:12px;grid-template-columns:1fr 1fr;padding:14px;border-radius:18px;background:var(--paper);box-shadow:inset 0 0 0 1px var(--hair)}
.role-n{grid-column:1/-1;font:700 .98rem/1.2 var(--display)}
.role .field label{font-weight:600;font-size:.92rem}
.role .unit{max-width:none}
.row2{display:grid;gap:16px;grid-template-columns:1fr 1fr}
.form-foot{display:flex;justify-content:flex-start}
.linkbtn{background:none;border:0;padding:10px 0;font:600 .95rem/1.2 var(--sans);color:var(--ink-mute);text-decoration:underline;text-underline-offset:4px;cursor:pointer}

/* result */
.out{border-radius:28px;background:var(--ink);color:#f4f1ea;padding:clamp(20px,3vw,28px);display:grid;gap:20px;min-width:0}
@media (min-width:1000px){ .out{position:sticky;top:20px;max-height:calc(100vh - 40px);overflow:auto;overscroll-behavior:contain} }
.out-body{display:grid;gap:12px;min-width:0}
.out-k{margin:0;font:700 .82rem/1.3 var(--sans);color:#c9c3b6}
.out-k2{margin-top:12px}
.out-big{margin:0;font:800 clamp(1.5rem,3vw,1.9rem)/1.25 var(--display);color:#fff}
.out-big span{font:500 1rem/1.4 var(--sans);color:#c9c3b6}
.out-sub{margin:0;color:#c9c3b6;font-size:.95rem}
.meter{height:8px;border-radius:99px;background:rgba(255,255,255,.14);overflow:hidden}
.meter i{display:block;height:100%;background:var(--lime);transform-origin:100% 50%;transform:scaleX(0);transition:transform 240ms var(--ease)}
.out ul{margin:0;padding-inline-start:1.2em;display:grid;gap:6px;font-size:.96rem;line-height:1.5}
.out-miss p,.out-adds p,.out-asks p{margin:0 0 8px;font-weight:700}
.out-miss.all ul{list-style:none;padding:0;color:var(--lime);font-weight:700}
.out-adds b{color:#fff}
.out-adds li,.out-asks li{color:#e4dfd5}
.out-check{list-style:none;padding:0!important}
.out-check li{position:relative;padding-inline-start:26px}
.out-check li::before{content:"";position:absolute;inset-inline-start:0;top:.3em;width:16px;height:16px;border-radius:5px;box-shadow:inset 0 0 0 2px var(--lime)}
.out-text summary{cursor:pointer;font-weight:600;min-height:44px;display:flex;align-items:center;color:#fff}
.out-text pre{margin:6px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;font:500 .9rem/1.6 var(--sans);background:rgba(255,255,255,.06);border-radius:14px;padding:12px 14px;max-height:320px;overflow:auto}
.out-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-block:8px;border-bottom:1px solid rgba(255,255,255,.12)}
.out-row span{color:#c9c3b6}
.out-row b{font:800 1.15rem/1.2 var(--display);color:#fff;white-space:nowrap}
.out-row small{font:600 .85rem/1 var(--sans);color:#c9c3b6}
.out-main b{font-size:1.6rem;color:var(--lime)}
.neg b,.plan.neg .plan-k bdi{color:#ff9f86}
.plans{display:grid;gap:6px}
.plan{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1.5px transparent}
.plan-n{font:700 .98rem/1.3 var(--display);color:#fff}
.plan-p{font-size:.86rem;color:#c9c3b6;grid-row:2}
.plan-k{grid-row:1/3;grid-column:2;align-self:center;text-align:end;font-size:.86rem;color:#c9c3b6}
.plan-k bdi{display:block;font:800 1.1rem/1.2 var(--display);color:#fff}
.plan.fit{background:rgba(200,242,58,.1);box-shadow:inset 0 0 0 1.5px var(--lime)}
.plan.fit .plan-n::after{content:"מתאים לכמות שלכם";display:inline-block;margin-inline-start:8px;padding:3px 7px;border-radius:7px;background:var(--lime);color:var(--ink);font:700 .7rem/1 var(--sans);vertical-align:middle}
.out-free{margin:0;color:#e4dfd5;font-size:.95rem;min-height:1.5em}
.out-cta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding-top:18px;border-top:1px solid rgba(255,255,255,.14)}
.out-cta .btn-lime{flex:1 1 220px}
.out-cta .btn-ghost{color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.6);border:0;cursor:pointer;font-family:var(--sans)}
.out-note{flex-basis:100%;margin:0;font-size:.9rem;color:#c9c3b6;line-height:1.5}
/* Until the module script fills the numbers, they keep their place but are not shown as zeros. */
.tool:not(.ready) .out-body bdi,.tool:not(.ready) .out-big{visibility:hidden}

.tool-how{margin-top:clamp(36px,5vw,56px)}
.tool-how > h2:first-child{margin-top:0}
@media (max-width:340px){ .row2,.role{grid-template-columns:1fr} }
/* Reduced motion: the meter still fills, faster. */
@media (prefers-reduced-motion:reduce){ .meter i{transition-duration:120ms} }
