/* Giftproof calculator. All classes are prefixed sc-. Site variables are used with fallbacks. */
.sc-page{margin:0;background:#0b0b0d;color:var(--text,#f2f2f0);font:16px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif}
.sc-wrap,.sc-calc{
  --sc-acc:var(--acc-rgb,229,57,53);
  --sc-text:var(--text,#f2f2f0);
  --sc-muted:var(--muted,#a3a3a0);
  --sc-line:var(--line,#2a2a2e);
  --sc-line2:var(--line-2,#3a3a40);
  --sc-good:62,207,142;
  --sc-warn:245,184,66;
}
.sc-wrap{max-width:46rem;margin:0 auto;padding:2rem 16px 4rem;color:var(--sc-text)}
.sc-wrap *{box-sizing:border-box}
.sc-kicker{margin:0 0 .5rem;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:rgb(var(--sc-acc));font-weight:700}
.sc-head h1{margin:0 0 .75rem;font-size:clamp(1.7rem,6vw,2.4rem);line-height:1.15}
.sc-lead{margin:0 0 1.75rem;color:var(--sc-muted);font-size:1.05rem}

.sc-calc{display:grid;gap:1.25rem}

/* inputs */
.sc-inputs{display:grid;gap:1rem}
.sc-field{padding:1rem 1rem 1.1rem;border:1px solid var(--sc-line);border-radius:16px;background:rgba(255,255,255,.025)}
.sc-field-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem}
.sc-field label{font-weight:650;font-size:1rem}
.sc-num{display:flex;align-items:baseline;gap:.5rem;padding:.35rem .9rem;border:1px solid var(--sc-line2);border-radius:12px;background:rgba(0,0,0,.35);transition:border-color .2s,box-shadow .2s}
.sc-num:focus-within{border-color:rgb(var(--sc-acc));box-shadow:0 0 0 3px rgba(var(--sc-acc),.25)}
.sc-num input{width:6.2rem;min-height:2.6rem;padding:0;border:0;background:transparent;color:var(--sc-text);font:inherit;font-size:1.7rem;font-weight:750;text-align:right;outline:none;-webkit-appearance:none;appearance:none;border-radius:0}
.sc-unit{color:var(--sc-muted);font-size:.8rem;white-space:nowrap}
.sc-num.sc-bad{border-color:rgb(var(--sc-warn))}
.sc-hint{margin:.55rem 0 0;color:var(--sc-muted);font-size:.88rem}

/* sliders */
.sc-range{--sc-fill:0%;display:block;width:100%;height:2.75rem;margin:.6rem 0 0;padding:0;background:transparent;-webkit-appearance:none;appearance:none;cursor:pointer;touch-action:pan-y}
.sc-range:focus{outline:none}
.sc-range::-webkit-slider-runnable-track{height:10px;border-radius:99px;background:linear-gradient(90deg,rgb(var(--sc-acc)) var(--sc-fill),var(--sc-line2) var(--sc-fill))}
.sc-range::-moz-range-track{height:10px;border-radius:99px;background:var(--sc-line2)}
.sc-range::-moz-range-progress{height:10px;border-radius:99px;background:rgb(var(--sc-acc))}
.sc-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:30px;height:30px;margin-top:-10px;border:3px solid #fff;border-radius:50%;background:rgb(var(--sc-acc));box-shadow:0 2px 10px rgba(0,0,0,.5);transition:transform .15s}
.sc-range::-moz-range-thumb{width:24px;height:24px;border:3px solid #fff;border-radius:50%;background:rgb(var(--sc-acc));box-shadow:0 2px 10px rgba(0,0,0,.5)}
.sc-range:active::-webkit-slider-thumb{transform:scale(1.15)}
.sc-range:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px rgba(var(--sc-acc),.4)}
.sc-range:focus-visible::-moz-range-thumb{box-shadow:0 0 0 4px rgba(var(--sc-acc),.4)}

/* result card */
.sc-result{--sc-state:var(--sc-good);position:relative;overflow:hidden;padding:1.25rem;border:1px solid rgba(var(--sc-state),.45);border-radius:20px;background:radial-gradient(120% 90% at 50% 0%,rgba(var(--sc-state),.16),rgba(255,255,255,.02) 70%);transition:border-color .4s,background .4s}
.sc-result[data-state="watch"]{--sc-state:var(--sc-warn)}
.sc-result[data-state="heavy"]{--sc-state:var(--sc-acc)}
.sc-result[data-state="idle"]{--sc-state:128,128,128}
.sc-hero{text-align:center;padding:.5rem 0 1.25rem}
.sc-hero-label{margin:0;color:var(--sc-muted);font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;font-weight:650}
.sc-hero-value{margin:.15rem 0 0;font-size:clamp(3rem,16vw,4.75rem);line-height:1.05;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--sc-text);text-shadow:0 0 40px rgba(var(--sc-state),.45)}
.sc-hero-sub{margin:.2rem 0 0;color:var(--sc-muted);font-size:.9rem}

.sc-visual{display:grid;gap:1.25rem;align-items:center;padding:1.1rem 0;border-top:1px solid var(--sc-line);border-bottom:1px solid var(--sc-line)}
.sc-ring-wrap{position:relative;width:9.5rem;height:9.5rem;margin:0 auto}
.sc-ring{width:100%;height:100%;display:block}
.sc-ring-bg{fill:none;stroke:var(--sc-line2);stroke-width:12}
.sc-ring-fg{fill:none;stroke:rgb(var(--sc-state));stroke-width:12;stroke-linecap:round;stroke-dasharray:0 326.73;transition:stroke-dasharray .45s ease,stroke .4s}
.sc-ring-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.sc-ring-num{font-size:1.75rem;font-weight:800;font-variant-numeric:tabular-nums}
.sc-ring-cap{color:var(--sc-muted);font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}

.sc-split-title{margin:0 0 .6rem;color:var(--sc-muted);font-size:.9rem}
.sc-bar{display:flex;height:1.5rem;overflow:hidden;border-radius:99px;background:var(--sc-line2)}
.sc-seg{display:block;height:100%;transition:width .45s ease}
.sc-seg-cost{background:#6b6b73}
.sc-seg-gift{background:rgb(var(--sc-acc))}
.sc-seg-left{background:rgb(var(--sc-good))}
.sc-legend{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;margin:.7rem 0 0;padding:0;list-style:none;color:var(--sc-muted);font-size:.85rem}
.sc-dot{display:inline-block;width:.7rem;height:.7rem;margin-right:.4rem;border-radius:50%}
.sc-dot-cost{background:#6b6b73}
.sc-dot-gift{background:rgb(var(--sc-acc))}
.sc-dot-left{background:rgb(var(--sc-good))}

.sc-stats{display:grid;gap:.75rem;padding-top:1.1rem}
.sc-stat{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.8rem 1rem;border:1px solid var(--sc-line);border-radius:12px;background:rgba(0,0,0,.25)}
.sc-stat-l{color:var(--sc-muted);font-size:.9rem}
.sc-stat-v{font-size:1.3rem;font-weight:750;font-variant-numeric:tabular-nums}

.sc-note{margin:1rem 0 0;padding:.8rem 1rem;border-radius:12px;background:rgba(var(--sc-state),.14);color:var(--sc-text);font-size:.95rem}
.sc-note:empty{display:none}
.sc-sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* copy */
.sc-copy{margin-top:2.5rem;color:var(--sc-text)}
.sc-copy h2{margin:2rem 0 .6rem;font-size:1.25rem}
.sc-copy p,.sc-copy li{color:var(--sc-muted)}
.sc-fine{font-size:.9rem}

@media (min-width:640px){
  .sc-inputs{grid-template-columns:1fr}
  .sc-visual{grid-template-columns:auto 1fr;gap:2rem}
  .sc-ring-wrap{margin:0}
  .sc-stats{grid-template-columns:repeat(3,1fr)}
  .sc-stat{flex-direction:column;align-items:flex-start;gap:.3rem}
  .sc-result{padding:1.75rem}
}
@media (prefers-reduced-motion:reduce){
  .sc-seg,.sc-ring-fg,.sc-result,.sc-num,.sc-range::-webkit-slider-thumb{transition:none}
}
