/* The owned-vs-cloud cost calculator (site/calc.html), on the home page and /docs/compare. */
.calc{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);border:1px solid var(--line);background:var(--surface);border-radius:6px;overflow:hidden;box-shadow:0 30px 60px -45px #000a}
.calc-inputs{display:grid;gap:22px;padding:30px 32px;align-content:start}
.calc-field{display:grid;gap:10px}
.calc-field[hidden]{display:none}
.calc-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.calc-label{font:10px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.calc-field small{font:11px/1.4 var(--sans);color:var(--muted)}
/* each value is typed in place: click it and put in an exact number */
.calc-num{display:inline-flex;align-items:baseline;gap:1px;font:600 15px var(--mono);color:var(--text)}
.calc .calc-value{font:inherit;color:inherit;background:none;border:0;border-bottom:1px dashed var(--line);border-radius:0;padding:0 1px;min-height:0;width:auto;min-width:2ch;field-sizing:content;text-align:right;-moz-appearance:textfield;appearance:textfield}
.calc .calc-value::-webkit-inner-spin-button,.calc .calc-value::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.calc .calc-value:hover{border-bottom-color:var(--muted)}
.calc .calc-value:focus,.calc .calc-value:focus-visible{outline:none;border-bottom:1px solid var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}
.calc input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:18px;min-height:0;padding:0;border:0;background:none;cursor:pointer}
.calc input[type=range]::-webkit-slider-runnable-track{height:3px;background:linear-gradient(90deg,var(--accent) var(--fill,50%),var(--line) var(--fill,50%));border-radius:2px}
.calc input[type=range]::-moz-range-track{height:3px;background:var(--line);border-radius:2px}
.calc input[type=range]::-moz-range-progress{height:3px;background:var(--accent);border-radius:2px}
.calc input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;margin-top:-6.5px;background:var(--bg);border:2px solid var(--accent);border-radius:2px}
.calc input[type=range]::-moz-range-thumb{width:13px;height:13px;background:var(--bg);border:2px solid var(--accent);border-radius:2px}
.calc input[type=range]:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
/* one square per computer */
.calc-fleet{display:inline-flex;gap:3px;margin-right:10px;align-self:center}
.calc-fleet i{width:8px;height:8px;border:1px solid var(--line);transition:background-color .2s,border-color .2s}
.calc-fleet i.on{background:var(--accent);border-color:var(--accent)}
/* the cloud: a monthly plan or by the hour */
.calc-cloud{display:grid;gap:14px;margin:4px 0 0;padding:18px 0 0;border:0;border-top:1px solid var(--subtle);min-width:0}
.calc-cloud legend{float:left;margin-bottom:12px}
.calc-seg{display:flex;clear:both;border:1px solid var(--line);border-radius:3px;overflow:hidden;width:fit-content}
.calc-seg button{font:500 11px/1 var(--mono);padding:9px 14px;color:var(--muted);background:none;border:0;cursor:pointer;transition:background-color .15s,color .15s}
.calc-seg button+button{border-left:1px solid var(--line)}
.calc-seg button:hover{color:var(--text)}
.calc-seg button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}
.calc-seg button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.calc-results{display:flex;flex-direction:column;background:var(--bg);border-left:1px solid var(--line)}
.calc-row{display:grid;gap:8px;padding:28px 32px;border-bottom:1px solid var(--subtle)}
.calc-row strong{font:600 38px/1.05 var(--mono);letter-spacing:-.03em;color:var(--text);font-variant-numeric:tabular-nums}
.calc-row small{font:11px var(--mono);color:var(--muted)}
.calc-bar{display:block;height:6px;background:var(--subtle);border-radius:3px;overflow:hidden}
.calc-bar i{display:block;height:100%;width:0;background:var(--st-ready,var(--green));border-radius:3px;transition:width .35s cubic-bezier(.22,1,.36,1)}
.calc-bar.cloud i{background:var(--muted)}
/* three years, a square a month: amber while the computers are paying for themselves, green once they have */
.calc-years{gap:12px}
.calc-years .calc-top{flex-wrap:wrap}.calc-years .calc-top small{color:var(--text);white-space:nowrap}
.calc-strip{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px;max-width:420px}
.calc-strip i,.calc-key i{aspect-ratio:1;border:1px solid var(--line);transition:background-color .25s,border-color .25s}
.calc-strip i.paying,.calc-key i.paying{background:var(--amber);border-color:var(--amber)}
.calc-strip i.kept,.calc-key i.kept{background:var(--green);border-color:var(--green)}
.calc-key{display:flex;gap:18px;font:10px/1 var(--mono);color:var(--muted)}
.calc-key>span{display:inline-flex;align-items:center;gap:7px}
.calc-key i{width:8px}
.calc-foot{display:grid;grid-template-columns:1fr 1fr;margin-top:auto}
.calc-foot>div{display:grid;gap:8px;padding:24px 32px}.calc-foot>div+div{border-left:1px solid var(--subtle)}
.calc-foot strong{font:600 22px var(--mono);color:var(--accent);font-variant-numeric:tabular-nums;width:fit-content}
.calc-note{margin-top:12px}
/* Juice (juice.md): scrolled in, the bars grow slowly the first time; the savings stamp in when they first appear. */
.calc[data-intro] .calc-bar i{transition-duration:.9s}
@keyframes calc-stamp{from{scale:1.4;opacity:.3}}
.calc-foot strong.stamp{animation:calc-stamp .4s cubic-bezier(.22,1,.36,1)}
@media(max-width:860px){.calc{grid-template-columns:1fr}.calc-results{border-left:0;border-top:1px solid var(--line)}.calc-inputs,.calc-row,.calc-foot>div{padding-inline:20px}.calc-row strong{font-size:30px}.calc-strip{gap:4px}}
