/* The delivered calculator stylesheet, scoped under .calc-app.
 *
 * Every selector here was global in the standalone build and several of them - .wrap,
 * .brand, .nav, .button, .card, .field - are names this product already uses elsewhere.
 * The scope is what keeps the calculators from repainting the marketing pages.
 *
 * Generated from the delivered file; edit that and rerun rather than patching this by hand.
 */
.calc-app {
  --bg:#07090d;
  --bg-deep:#040806;
  --panel:#0b1315;
  --panel-2:#0f191d;
  --ink:#f7f8fb;
  --muted:rgba(255,255,255,.59);
  --muted-2:rgba(255,255,255,.39);
  --line:rgba(255,255,255,.09);
  --line-strong:rgba(255,255,255,.15);
  --green:#22c55e;
  --green-2:#34d399;
  --teal:#5eead4;
  --amber:#fbbf24;
  --rose:#fb7185;
  --blue:#60a5fa;
  --shadow:0 34px 110px rgba(0,0,0,.52);
  --ease:cubic-bezier(.22,.61,.25,1);
  /* Light/dark. Every colour below is stated by ROLE, not by brightness, which is
     what lets one override block flip the whole sheet:
       --ink-strong  the maximum-contrast colour. Body text on a dark panel AND the
                     fill of a primary button - the same role, so it inverts once.
       --on-ink      whatever sits on top of --ink-strong.
       --veil-*      a faint lift off the background, at the alphas the design uses.
       --panel-inset a surface punched INTO a panel (donut hole, select menu). */
  --ink-strong:#fff;
  --ink-strong-hover:#effff4;
  --on-ink:#07100a;
  --panel-inset:#0b1314;
  /* The base fill under .glass - the form card, the result panel, every method block and the
     directory note. It was a literal rgba(6,13,14,.88) sitting behind the two veil gradients,
     so on a light page every card in the calculator stayed near-black while the page around it
     went white. Semi-transparent on purpose in both themes: that is what makes it glass. */
  --glass-fill:rgba(6,13,14,.88);
  /* The vignette that darkens the edges of the ambient backdrop. Inverts for the same reason. */
  --vignette:rgba(4,6,9,.76);
  /* The little pill on each card visual. Same role as --glass-fill, lighter alpha. */
  --chip-fill:rgba(6,13,14,.7);
  --veil-08:rgba(255,255,255,.08);
  --veil-015:rgba(255,255,255,.015);
  --veil-017:rgba(255,255,255,.017);
  --veil-018:rgba(255,255,255,.018);
  --veil-02:rgba(255,255,255,.02);
  --veil-025:rgba(255,255,255,.025);
  --veil-03:rgba(255,255,255,.03);
  --veil-035:rgba(255,255,255,.035);
  --veil-04:rgba(255,255,255,.04);
  --veil-05:rgba(255,255,255,.05);
  --veil-065:rgba(255,255,255,.065);
  --veil-07:rgba(255,255,255,.07);
  --veil-075:rgba(255,255,255,.075);
  --veil-1:rgba(255,255,255,.1);
  --veil-12:rgba(255,255,255,.12);
  --veil-13:rgba(255,255,255,.13);
  --veil-16:rgba(255,255,255,.16);
  --veil-18:rgba(255,255,255,.18);
  --veil-2:rgba(255,255,255,.2);
  --veil-22:rgba(255,255,255,.22);
  --veil-25:rgba(255,255,255,.25);
  --veil-28:rgba(255,255,255,.28);
  --veil-3:rgba(255,255,255,.3);
  --veil-49:rgba(255,255,255,.49);
  --veil-55:rgba(255,255,255,.55);
  --veil-73:rgba(255,255,255,.73);
  --veil-76:rgba(255,255,255,.76);
  --veil-78:rgba(255,255,255,.78);
  --veil-82:rgba(255,255,255,.82);
}.calc-app * {box-sizing:border-box;margin:0;padding:0}.calc-app {scroll-behavior:smooth}.calc-app {
  min-width:320px;min-height:100vh;overflow-x:hidden;background:var(--bg);color:var(--ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility
}.calc-app body>*:not(.ambient) {position:relative;z-index:1}.calc-app a {color:inherit;text-decoration:none}.calc-app button, .calc-app input, .calc-app select, .calc-app textarea {font:inherit}.calc-app button {border:0;background:none;color:inherit;cursor:pointer}.calc-app input, .calc-app select, .calc-app textarea {
  width:100%;min-height:3.15rem;padding:.72rem .88rem;color:var(--ink-strong);background:var(--veil-035);
  border:1px solid var(--line-strong);border-radius:.78rem;outline:none;
  transition:border-color .18s,box-shadow .18s,background .18s
}.calc-app textarea {min-height:6.4rem;resize:vertical}.calc-app input:hover, .calc-app select:hover, .calc-app textarea:hover {border-color:var(--veil-25)}.calc-app input:focus, .calc-app select:focus, .calc-app textarea:focus {border-color:rgba(52,211,153,.68);box-shadow:0 0 0 3px rgba(52,211,153,.09);background:var(--veil-05)}.calc-app input::placeholder, .calc-app textarea::placeholder {color:var(--veil-28)}.calc-app select {
  appearance:none;padding-right:2.35rem;background-image:linear-gradient(45deg,transparent 50%,var(--veil-55) 50%),linear-gradient(135deg,var(--veil-55) 50%,transparent 50%);
  background-position:calc(100% - 18px) calc(50% - 2px),calc(100% - 13px) calc(50% - 2px);background-size:5px 5px,5px 5px;background-repeat:no-repeat
}.calc-app option {background:var(--panel-inset);color:var(--ink-strong)}.calc-app input[type="checkbox"] {width:1.08rem;height:1.08rem;min-height:0;padding:0;flex:none;accent-color:var(--green)}.calc-app input[type="range"] {appearance:none;height:4px;min-height:0;padding:0;border:0;border-radius:99px;background:var(--veil-1);box-shadow:none}.calc-app input[type="range"]::-webkit-slider-thumb {appearance:none;width:19px;height:19px;border-radius:50%;background:var(--ink-strong);border:4px solid var(--green);box-shadow:0 0 20px rgba(34,197,94,.5)}.calc-app ::selection {background:var(--green);color:#041007}.calc-app :focus-visible {outline:2px solid var(--green-2);outline-offset:3px;border-radius:6px}.calc-app .wrap {width:min(1240px,calc(100% - 56px));margin-inline:auto}.calc-app .hidden, .calc-app .is-hidden {display:none!important}.calc-app .muted {color:var(--muted)}.calc-app .text-right {text-align:right}.calc-app .ambient {position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:#050b09}.calc-app .ambient-horizon {
  position:absolute;left:50%;top:-43vh;width:165vw;max-width:2400px;aspect-ratio:2/1;transform:translateX(-50%);
  background:radial-gradient(42% 48% at 66% 35%,rgba(52,211,153,.30),transparent 68%),radial-gradient(55% 60% at 24% 66%,rgba(16,185,129,.23),transparent 70%),radial-gradient(80% 80% at 50% 45%,rgba(4,35,29,.96),rgba(7,9,13,0) 72%);
  animation:orb 12s ease-in-out infinite
}@keyframes orb {50% {transform:translateX(-50%) scale(1.12) translateY(20px);opacity:1}}.calc-app #waveCanvas {position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 0 22px rgba(52,211,153,.2));transform:scale(1.01)}.calc-app .ambient-grain {position:absolute;inset:0;opacity:.15;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .035 0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E")}.calc-app .ambient-vignette {position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 28%,transparent 52%,var(--vignette) 100%)}.calc-app .glass {
  position:relative;background:linear-gradient(145deg,var(--veil-075),var(--veil-017)),var(--glass-fill);
  border:1px solid var(--veil-13);box-shadow:inset 0 1px 0 var(--veil-1),var(--shadow);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)
}.calc-app .button {
  min-height:3.05rem;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.8rem 1.35rem;
  border:1px solid transparent;border-radius:999px;font-size:.8rem;font-weight:750;white-space:nowrap;
  transition:transform .18s,border-color .18s,background .18s,box-shadow .18s,opacity .18s
}.calc-app .button:hover {transform:translateY(-2px)}.calc-app .button:disabled {opacity:.55;cursor:not-allowed;transform:none}.calc-app .button-primary {background:var(--ink-strong);color:var(--on-ink);box-shadow:0 12px 35px rgba(0,0,0,.28),0 0 34px rgba(34,197,94,.18)}.calc-app .button-primary:hover {background:var(--ink-strong-hover);box-shadow:0 16px 42px rgba(0,0,0,.35),0 0 46px rgba(34,197,94,.25)}.calc-app .button-secondary {border-color:var(--line-strong);background:var(--veil-04);color:var(--veil-82);box-shadow:inset 0 1px 0 var(--veil-07)}.calc-app .button-secondary:hover {border-color:var(--veil-3);color:var(--ink-strong)}.calc-app .button-green {background:linear-gradient(135deg,var(--green),var(--green-2));color:var(--panel-inset);box-shadow:0 14px 36px rgba(34,197,94,.22)}.calc-app .button-green:hover {box-shadow:0 18px 44px rgba(34,197,94,.32)}.calc-app .button-small {min-height:2.55rem;padding:.58rem 1.08rem}.calc-app .button-block {width:100%}.calc-app .button .spinner {width:.92rem;height:.92rem;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .65s linear infinite;display:none}.calc-app .button.loading .spinner {display:block}.calc-app .button.loading .button-label {opacity:.68}@keyframes spin {to {transform:rotate(360deg)}}.calc-app .eyebrow {display:inline-flex;align-items:center;gap:.58rem;color:var(--veil-49);font-size:.66rem;font-weight:750;letter-spacing:.13em;text-transform:uppercase}.calc-app .eyebrow::before {content:"";width:.43rem;height:.43rem;border-radius:50%;background:var(--green);box-shadow:0 0 18px var(--green)}.calc-app .pill {display:inline-flex;align-items:center;gap:.4rem;padding:.38rem .64rem;border-radius:999px;border:1px solid var(--line);background:var(--veil-035);color:var(--muted);font-size:.67rem;font-weight:650}.calc-app .pill-green {border-color:rgba(52,211,153,.25);background:rgba(34,197,94,.08);color:var(--green-2)}.calc-app .site-nav {position:sticky;top:0;z-index:80;border-bottom:1px solid transparent;transition:.25s}.calc-app .site-nav.scrolled {background:rgba(7,9,13,.88);border-bottom-color:var(--line);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.calc-app .nav-inner {height:74px;display:flex;align-items:center;justify-content:space-between;gap:22px}.calc-app .brand {display:flex;width:158px;align-items:center;flex:none}.calc-app .brand img {display:block;width:100%;height:auto;filter:drop-shadow(0 0 14px rgba(34,197,94,.18))}.calc-app .nav-links {display:flex;align-items:center;gap:30px;color:var(--muted);font-size:.82rem;font-weight:650}.calc-app .nav-links a {position:relative;padding:.55rem 0;transition:color .18s}.calc-app .nav-links a:hover, .calc-app .nav-links a.active {color:var(--ink-strong)}.calc-app .nav-links a::after {content:"";position:absolute;left:0;bottom:.22rem;width:100%;height:1.5px;border-radius:2px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:.22s}.calc-app .nav-links a:hover::after, .calc-app .nav-links a.active::after {transform:scaleX(1)}.calc-app .nav-actions {display:flex;align-items:center;gap:14px}.calc-app .engine-status {display:flex;align-items:center;gap:7px;color:var(--muted-2);font-size:.67rem;font-weight:650;white-space:nowrap}.calc-app .engine-status i {width:7px;height:7px;border-radius:50%;background:#64748b;box-shadow:0 0 0 4px rgba(100,116,139,.08)}.calc-app .engine-status.online i {background:var(--green-2);box-shadow:0 0 16px rgba(52,211,153,.55)}.calc-app .engine-status.error i {background:var(--rose)}.calc-app .menu-button {display:none;width:42px;height:42px;border:1px solid var(--line-strong);border-radius:50%;align-items:center;justify-content:center;flex-direction:column;gap:6px}.calc-app .menu-button span {display:block;width:16px;height:1.5px;background:var(--ink-strong);transition:.2s}.calc-app .menu-button.open span:first-child {transform:translateY(3.75px) rotate(45deg)}.calc-app .menu-button.open span:last-child {transform:translateY(-3.75px) rotate(-45deg)}.calc-app .mobile-nav {display:none;position:absolute;left:0;right:0;top:74px;padding:1rem 28px 1.35rem;background:rgba(7,9,13,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}.calc-app .mobile-nav.open {display:grid;gap:.45rem}.calc-app .mobile-nav a {padding:.85rem 0;border-bottom:1px solid var(--line);font-size:.9rem;font-weight:650;color:var(--muted)}.calc-app .home-hero {min-height:700px;display:grid;grid-template-columns:minmax(0,.88fr) minmax(500px,1.12fr);gap:clamp(44px,6vw,88px);align-items:center;padding:58px 0 86px}.calc-app .home-copy {max-width:600px}.calc-app .hero-badge {padding:.45rem .78rem;border:1px solid var(--line);border-radius:999px;background:var(--veil-04)}.calc-app .home-copy h1 {max-width:10.5ch;margin:1.5rem 0 0;font-size:clamp(3.6rem,6.3vw,6rem);font-weight:650;letter-spacing:-.075em;line-height:.92}.calc-app .shiny {display:block;padding-bottom:.08em;background-image:linear-gradient(95deg,#0b3b25 0%,#16a34a 25%,#86efac 50%,#22c55e 75%,#0b3b25 100%);background-position:-200% center;background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shine 7s linear infinite}@keyframes shine {to {background-position:200% center}}.calc-app .home-lede {max-width:570px;margin-top:1.65rem;color:var(--muted);font-size:clamp(1rem,1.3vw,1.13rem);line-height:1.72}.calc-app .hero-actions {display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.calc-app .trust-row {display:flex;flex-wrap:wrap;gap:1.25rem;margin-top:1.6rem;color:var(--muted-2);font-size:.74rem}.calc-app .trust-row span {display:flex;align-items:center;gap:.34rem}.calc-app .trust-row span::before {content:"✓";color:var(--green-2);font-size:.66rem}.calc-app .home-product {position:relative;perspective:1700px}.calc-app .home-product::before {content:"";position:absolute;inset:-22% -16%;background:radial-gradient(55% 55% at 58% 42%,rgba(52,211,153,.22),transparent 68%),radial-gradient(40% 45% at 35% 70%,rgba(34,197,94,.16),transparent 70%);pointer-events:none}.calc-app .product-window {border-radius:1.35rem;overflow:hidden;transform:rotateY(-4.2deg) rotateX(1.3deg);box-shadow:inset 0 1px 0 var(--veil-13),-16px 40px 90px rgba(0,0,0,.52),0 0 90px rgba(34,197,94,.14);animation:sway 9s ease-in-out infinite}@keyframes sway {50% {transform:rotateY(-2.5deg) rotateX(2.2deg) translateY(-5px)}}.calc-app .window-top {height:47px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 1.05rem;border-bottom:1px solid var(--line);font-size:.62rem;color:var(--muted-2)}.calc-app .window-dots {display:flex;gap:5px}.calc-app .window-dots i {display:block;width:8px;height:8px;border-radius:50%;background:#25313b}.calc-app .window-live {display:flex;align-items:center;gap:6px;color:var(--green-2);font-weight:650}.calc-app .window-live::before {content:"";width:6px;height:6px;border-radius:50%;background:var(--green-2);animation:blink 1.6s ease-in-out infinite}@keyframes blink {50% {opacity:.25}}.calc-app .product-body {display:grid;grid-template-columns:110px 1fr;min-height:412px}.calc-app .product-side {border-right:1px solid var(--line);padding:1rem .72rem;display:flex;flex-direction:column;gap:.35rem}.calc-app .product-side span {padding:.52rem .58rem;border-radius:.6rem;color:var(--muted-2);font-size:.62rem;font-weight:650}.calc-app .product-side span.active {color:var(--green-2);background:rgba(34,197,94,.1);box-shadow:inset 0 0 0 1px rgba(52,211,153,.18)}.calc-app .product-main {padding:1.15rem 1.25rem}.calc-app .product-kicker {font-size:.61rem;color:var(--muted-2)}.calc-app .product-main h3 {font-size:1.05rem;letter-spacing:-.02em;margin:.3rem 0 1rem}.calc-app .preview-metrics {display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}.calc-app .preview-metric {padding:.75rem .78rem;border:1px solid var(--line);border-radius:.78rem;background:var(--veil-025)}.calc-app .preview-metric span {display:block;color:var(--muted-2);font-size:.55rem;text-transform:uppercase;letter-spacing:.06em}.calc-app .preview-metric b {display:block;margin-top:.18rem;font-size:1rem;letter-spacing:-.03em}.calc-app .preview-metric b.green {color:var(--green-2)}.calc-app .preview-chart {display:grid;grid-template-columns:1.05fr .95fr;gap:1rem;margin-top:1rem}.calc-app .preview-donut-wrap {display:flex;align-items:center;justify-content:center;min-height:190px;border:1px solid var(--line);border-radius:.9rem;background:var(--veil-02)}.calc-app .preview-donut {width:130px;height:130px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--green-2) 0 68%,var(--amber) 68% 82%,var(--veil-1) 82% 100%)}.calc-app .preview-donut::after {content:"€31.3k\A net";white-space:pre;text-align:center;display:grid;place-items:center;width:88px;height:88px;border-radius:50%;background:var(--panel-inset);font-size:.72rem;font-weight:750;line-height:1.35}.calc-app .preview-list {display:grid;gap:.5rem;align-content:center}.calc-app .preview-list div {display:grid;grid-template-columns:1fr auto;gap:.7rem;padding:.62rem .7rem;border:1px solid var(--line);border-radius:.7rem;background:var(--veil-02);font-size:.61rem}.calc-app .preview-list span {color:var(--muted-2)}.calc-app .float-note {position:absolute;z-index:4;padding:.72rem .88rem;border-radius:.9rem;font-size:.64rem;box-shadow:0 22px 55px rgba(0,0,0,.38);animation:float 6s ease-in-out infinite}.calc-app .float-note b {display:block}.calc-app .float-note small {display:block;color:var(--muted-2);margin-top:.1rem}.calc-app .float-note.a {left:-1.5rem;top:-1.2rem}.calc-app .float-note.b {right:-1rem;bottom:-1.2rem;animation-delay:1.1s}@keyframes float {50% {transform:translateY(-8px)}}.calc-app .home-section {padding:5.9rem 0}.calc-app .section-heading {max-width:720px}.calc-app .section-heading.centered {text-align:center;margin-inline:auto}.calc-app .section-heading h2 {margin:.9rem 0 .85rem;font-size:clamp(2.2rem,4.3vw,3.45rem);font-weight:680;letter-spacing:-.052em;line-height:1.03}.calc-app .section-heading p {color:var(--muted);font-size:1rem;line-height:1.7}.calc-app .home-card-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2.4rem}.calc-app .mini-service-card {padding:1.35rem;border-radius:1rem;transition:transform .25s,border-color .25s}.calc-app .mini-service-card:hover {transform:translateY(-5px);border-color:rgba(52,211,153,.26)}.calc-app .mini-icon {width:2.7rem;height:2.7rem;border-radius:.82rem;display:grid;place-items:center;margin-bottom:1rem;color:var(--green-2);background:rgba(34,197,94,.1);border:1px solid rgba(52,211,153,.22)}.calc-app .mini-icon svg {width:1.3rem;height:1.3rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.calc-app .mini-service-card h3 {font-size:.97rem}.calc-app .mini-service-card p {color:var(--muted);font-size:.78rem;margin-top:.35rem}.calc-app .home-callout {display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:center;padding:2.2rem 2.35rem;border-radius:1.25rem;margin-bottom:5.8rem;overflow:hidden}.calc-app .home-callout::after {content:"";position:absolute;right:-5%;top:-80%;width:30rem;height:30rem;border-radius:50%;background:radial-gradient(circle,rgba(52,211,153,.18),transparent 67%);pointer-events:none}.calc-app .home-callout h2 {font-size:clamp(1.7rem,3vw,2.5rem);letter-spacing:-.04em}.calc-app .home-callout p {color:var(--muted);margin-top:.45rem}.calc-app .page-hero {padding:6.1rem 0 3rem;text-align:center}.calc-app .page-hero h1 {max-width:800px;margin:.95rem auto 0;font-size:clamp(3rem,6vw,5.5rem);font-weight:650;letter-spacing:-.07em;line-height:.94}.calc-app .page-hero p {max-width:690px;margin:1.35rem auto 0;color:var(--muted);font-size:1.03rem;line-height:1.72}.calc-app .directory-toolbar {display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:1rem 0 1.55rem}.calc-app .directory-toolbar p {color:var(--muted-2);font-size:.76rem}.calc-app .directory-filter {display:inline-flex;gap:3px;padding:.28rem;border:1px solid var(--line-strong);border-radius:999px;background:var(--veil-03)}.calc-app .directory-filter button {padding:.6rem 1rem;border-radius:999px;color:var(--muted);font-size:.73rem;font-weight:700;transition:.2s}.calc-app .directory-filter button.active {background:var(--ink-strong);color:var(--on-ink)}.calc-app .calculator-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding-bottom:7rem}.calc-app .calculator-card {min-height:390px;display:flex;flex-direction:column;border-radius:1.18rem;overflow:hidden;transition:transform .3s var(--ease),border-color .3s,box-shadow .3s}.calc-app .calculator-card:hover {transform:translateY(-7px);border-color:rgba(52,211,153,.28);box-shadow:inset 0 1px 0 var(--veil-12),0 34px 110px rgba(0,0,0,.55),0 0 70px rgba(34,197,94,.08)}.calc-app .card-visual {position:relative;height:160px;overflow:hidden;border-bottom:1px solid var(--line);background:radial-gradient(circle at 70% 25%,rgba(52,211,153,.18),transparent 48%),linear-gradient(145deg,var(--veil-04),transparent)}.calc-app .card-visual svg {position:absolute;inset:0;width:100%;height:100%}.calc-app .card-visual .visual-label {position:absolute;left:1rem;top:1rem;padding:.35rem .55rem;border-radius:999px;border:1px solid rgba(52,211,153,.22);background:var(--chip-fill);color:var(--green-2);font-size:.58rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.calc-app .card-body {display:flex;flex-direction:column;flex:1;padding:1.35rem}.calc-app .card-title-row {display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.calc-app .card-title-row h2 {font-size:1.2rem;letter-spacing:-.025em}.calc-app .card-title-row span {color:var(--veil-18);font-size:.65rem;font-weight:800;letter-spacing:.08em}.calc-app .card-body>p {min-height:4.2rem;margin-top:.52rem;color:var(--muted);font-size:.82rem;line-height:1.62}.calc-app .card-features {display:flex;flex-wrap:wrap;gap:.42rem;margin:1rem 0 1.2rem}.calc-app .card-features span {padding:.34rem .52rem;border-radius:999px;background:var(--veil-035);border:1px solid var(--line);color:var(--muted-2);font-size:.61rem}.calc-app .card-cta {margin-top:auto;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:1rem;color:var(--ink-strong);font-size:.76rem;font-weight:700}.calc-app .card-cta span:last-child {color:var(--green-2);font-size:1rem;transition:transform .2s}.calc-app .calculator-card:hover .card-cta span:last-child {transform:translateX(4px)}.calc-app .directory-note {margin-bottom:6rem;padding:1.3rem 1.45rem;border-radius:1rem;display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start}.calc-app .directory-note svg {width:1.25rem;height:1.25rem;color:var(--green-2);stroke:currentColor;fill:none;stroke-width:1.7}.calc-app .directory-note h3 {font-size:.88rem}.calc-app .directory-note p {color:var(--muted);font-size:.76rem;margin-top:.25rem}.calc-app .calculator-page {padding:3.8rem 0 7rem}.calc-app .calc-breadcrumb {display:flex;align-items:center;gap:.5rem;margin-bottom:1.2rem;color:var(--muted-2);font-size:.72rem}.calc-app .calc-breadcrumb a:hover {color:var(--ink-strong)}.calc-app .calc-breadcrumb i {font-style:normal;color:var(--veil-2)}.calc-app .calc-heading {display:grid;grid-template-columns:1fr auto;gap:1.5rem;align-items:end;margin-bottom:1.65rem}.calc-app .calc-heading-copy {display:flex;gap:1rem;align-items:flex-start;max-width:850px}.calc-app .calc-heading-icon {width:3.2rem;height:3.2rem;border-radius:.95rem;display:grid;place-items:center;flex:none;color:var(--green-2);background:rgba(34,197,94,.11);border:1px solid rgba(52,211,153,.24);box-shadow:0 0 28px rgba(34,197,94,.11)}.calc-app .calc-heading-icon svg {width:1.55rem;height:1.55rem;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.calc-app .calc-heading h1 {font-size:clamp(2.3rem,4.2vw,3.75rem);font-weight:680;letter-spacing:-.057em;line-height:1.02}.calc-app .calc-heading p {max-width:720px;margin-top:.55rem;color:var(--muted);font-size:.9rem}.calc-app .rule-badge {display:flex;align-items:center;gap:.55rem;padding:.7rem .85rem;border:1px solid var(--line);border-radius:.8rem;color:var(--muted-2);font-size:.67rem;white-space:nowrap}.calc-app .rule-badge i {width:7px;height:7px;border-radius:50%;background:var(--green-2);box-shadow:0 0 14px rgba(52,211,153,.5)}.calc-app .calc-layout {display:grid;grid-template-columns:minmax(0,1.06fr) minmax(390px,.94fr);gap:1rem;align-items:start}.calc-app .calc-form-card, .calc-app .result-panel {border-radius:1.2rem;overflow:hidden}.calc-app .form-card-head {display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.2rem;border-bottom:1px solid var(--line)}.calc-app .form-card-head h2 {font-size:.88rem}.calc-app .form-card-head p {color:var(--muted-2);font-size:.64rem;margin-top:.1rem}.calc-app .mode-switch {display:inline-flex;gap:3px;padding:.24rem;border:1px solid var(--line);border-radius:999px;background:var(--veil-025)}.calc-app .mode-switch button {padding:.5rem .82rem;border-radius:999px;color:var(--muted);font-size:.65rem;font-weight:700;transition:.18s}.calc-app .mode-switch button.active {background:var(--ink-strong);color:var(--on-ink)}.calc-app .calc-form {padding:1.25rem}.calc-app .form-section {padding:1.1rem 0;border-bottom:1px solid var(--line)}.calc-app .form-section:first-child {padding-top:0}.calc-app .form-section:last-of-type {border-bottom:0}.calc-app .form-section-head {display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.85rem}.calc-app .form-section-head h3 {font-size:.78rem;letter-spacing:.01em}.calc-app .form-section-head p {color:var(--muted-2);font-size:.62rem;margin-top:.15rem}.calc-app .form-section-head span {color:var(--veil-22);font-size:.6rem;font-weight:750;letter-spacing:.08em}.calc-app .field-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.82rem}.calc-app .field-grid.three {grid-template-columns:repeat(3,minmax(0,1fr))}.calc-app .field-grid.one {grid-template-columns:1fr}.calc-app .field {display:grid;gap:.36rem;align-content:start}.calc-app .field.full {grid-column:1/-1}.calc-app .field label, .calc-app .field>span {display:flex;align-items:center;justify-content:space-between;gap:.5rem;color:var(--veil-76);font-size:.67rem;font-weight:650}.calc-app .field label small, .calc-app .field>span small {color:var(--muted-2);font-size:.58rem;font-weight:500}.calc-app .field-note {color:var(--muted-2);font-size:.58rem;line-height:1.45}.calc-app .input-prefix {position:relative}.calc-app .input-prefix>span {position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:var(--muted-2);font-size:.75rem;pointer-events:none}.calc-app .input-prefix input {padding-left:1.75rem}.calc-app .input-suffix {position:relative}.calc-app .input-suffix>span {position:absolute;right:.85rem;top:50%;transform:translateY(-50%);color:var(--muted-2);font-size:.68rem;pointer-events:none}.calc-app .input-suffix input {padding-right:2.4rem}.calc-app .check-row {display:flex;align-items:flex-start;gap:.65rem;padding:.68rem .72rem;border:1px solid var(--line);border-radius:.72rem;background:var(--veil-02);cursor:pointer}.calc-app .check-row input {margin-top:.18rem}.calc-app .check-row span {display:block;color:var(--veil-78);font-size:.67rem;font-weight:650}.calc-app .check-row small {display:block;color:var(--muted-2);font-size:.58rem;font-weight:500;margin-top:.12rem;line-height:1.45}.calc-app .range-row {display:grid;grid-template-columns:1fr 4rem;gap:.8rem;align-items:center}.calc-app .range-value {text-align:center;padding:.5rem;border:1px solid var(--line);border-radius:.65rem;color:var(--green-2);font-size:.68rem;font-weight:750}.calc-app .form-actions {display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1.15rem}.calc-app .form-actions p {max-width:330px;color:var(--muted-2);font-size:.58rem;line-height:1.45}.calc-app .form-actions .button {min-width:180px}.calc-app .advanced-fields {display:none}.calc-app .calc-form.full-mode .advanced-fields {display:block}.calc-app .advanced-fields.form-section {display:none}.calc-app .calc-form.full-mode .advanced-fields.form-section {display:block}.calc-app .subsection {padding:.85rem;border:1px solid var(--line);border-radius:.82rem;background:var(--veil-018)}.calc-app .subsection+.subsection {margin-top:.75rem}.calc-app .subsection-title {display:flex;justify-content:space-between;align-items:center;margin-bottom:.7rem;font-size:.68rem;font-weight:700}.calc-app .subsection-title span {color:var(--muted-2);font-size:.57rem;font-weight:500}.calc-app .rate-stack {display:grid;gap:.55rem}.calc-app .rate-line {display:grid;grid-template-columns:76px 1fr 86px;gap:.6rem;align-items:end}.calc-app .rate-line>span {align-self:center;color:var(--green-2);font-size:.68rem;font-weight:750}.calc-app .rate-line .field label {font-size:.58rem}.calc-app .conditional-panel {padding:.85rem;margin-top:.75rem;border:1px solid rgba(52,211,153,.15);border-radius:.82rem;background:rgba(34,197,94,.035)}.calc-app .result-panel {position:sticky;top:90px;min-height:620px}.calc-app .result-empty {min-height:620px;display:grid;place-items:center;padding:2rem;text-align:center}.calc-app .result-empty-inner {max-width:300px}.calc-app .result-orbit {position:relative;width:145px;height:145px;margin:0 auto 1.4rem;border-radius:50%;border:1px solid rgba(52,211,153,.23);display:grid;place-items:center;background:radial-gradient(circle,rgba(34,197,94,.12),transparent 67%)}.calc-app .result-orbit::before, .calc-app .result-orbit::after {content:"";position:absolute;border-radius:50%;border:1px solid var(--veil-07)}.calc-app .result-orbit::before {inset:18px}.calc-app .result-orbit::after {inset:38px}.calc-app .result-orbit svg {width:2rem;height:2rem;color:var(--green-2);stroke:currentColor;fill:none;stroke-width:1.6;z-index:1}.calc-app .result-empty h2 {font-size:1rem}.calc-app .result-empty p {margin-top:.45rem;color:var(--muted);font-size:.74rem;line-height:1.55}.calc-app .result-content {display:none}.calc-app .result-panel.has-result .result-empty {display:none}.calc-app .result-panel.has-result .result-content {display:block}.calc-app .result-top {padding:1.25rem 1.3rem 1.1rem;border-bottom:1px solid var(--line);background:linear-gradient(145deg,rgba(34,197,94,.07),transparent 60%)}.calc-app .result-kicker {display:flex;align-items:center;justify-content:space-between;gap:1rem;color:var(--muted-2);font-size:.61rem}.calc-app .result-kicker span:first-child {display:flex;align-items:center;gap:.48rem}.calc-app .result-kicker span:first-child::before {content:"";width:6px;height:6px;border-radius:50%;background:var(--green-2);box-shadow:0 0 14px rgba(52,211,153,.55)}.calc-app .result-primary {margin-top:.55rem}.calc-app .result-primary span {display:block;color:var(--muted);font-size:.68rem}.calc-app .result-primary strong {display:block;margin-top:.05rem;font-size:clamp(2.25rem,5vw,3.3rem);font-weight:720;letter-spacing:-.065em;line-height:1.04}.calc-app .result-primary small {display:block;margin-top:.33rem;color:var(--muted-2);font-size:.62rem}.calc-app .result-metrics {display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem;margin-top:1rem}.calc-app .result-metric {padding:.7rem;border:1px solid var(--line);border-radius:.74rem;background:var(--veil-025)}.calc-app .result-metric span {display:block;color:var(--muted-2);font-size:.54rem;text-transform:uppercase;letter-spacing:.055em}.calc-app .result-metric b {display:block;margin-top:.24rem;font-size:.84rem;letter-spacing:-.02em}.calc-app .result-metric b.good {color:var(--green-2)}.calc-app .result-metric b.warn {color:var(--amber)}.calc-app .result-scroll {max-height:calc(100vh - 305px);overflow:auto;scrollbar-width:thin;scrollbar-color:var(--veil-16) transparent}.calc-app .result-section {padding:1.05rem 1.3rem;border-bottom:1px solid var(--line)}.calc-app .result-section:last-child {border-bottom:0}.calc-app .result-section-head {display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.85rem}.calc-app .result-section-head h3 {font-size:.72rem}.calc-app .result-section-head span {color:var(--muted-2);font-size:.57rem}.calc-app .donut-layout {display:grid;grid-template-columns:145px 1fr;gap:1rem;align-items:center}.calc-app .donut {position:relative;width:138px;height:138px;border-radius:50%;display:grid;place-items:center;transform:rotate(-90deg);box-shadow:0 0 42px rgba(34,197,94,.09)}.calc-app .donut::after {content:"";width:88px;height:88px;border-radius:50%;background:var(--panel-inset);border:1px solid var(--veil-07)}.calc-app .donut-center {position:absolute;z-index:1;width:88px;text-align:center;transform:rotate(90deg)}.calc-app .donut-center b {display:block;font-size:.79rem}.calc-app .donut-center span {display:block;color:var(--muted-2);font-size:.52rem;margin-top:.1rem}.calc-app .legend {display:grid;gap:.48rem}.calc-app .legend-row {display:grid;grid-template-columns:auto 1fr auto;gap:.48rem;align-items:center;font-size:.6rem}.calc-app .legend-row i {width:7px;height:7px;border-radius:50%;background:var(--legend)}.calc-app .legend-row span {color:var(--muted)}.calc-app .legend-row b {font-size:.61rem}.calc-app .bar-chart {display:grid;gap:.62rem}.calc-app .bar-row {display:grid;grid-template-columns:minmax(90px,1fr) minmax(110px,1.6fr) auto;gap:.65rem;align-items:center;font-size:.58rem}.calc-app .bar-row>span {color:var(--muted)}.calc-app .bar-row>b {font-size:.59rem}.calc-app .bar-track {height:5px;border-radius:99px;background:var(--veil-065);overflow:hidden}.calc-app .bar-track i {display:block;height:100%;width:var(--w);border-radius:99px;background:linear-gradient(90deg,var(--green),var(--teal));animation:barIn .8s var(--ease)}@keyframes barIn {from {width:0}}.calc-app .waterfall {display:grid;gap:.52rem}.calc-app .waterfall-row {display:grid;grid-template-columns:1fr auto;gap:.7rem;align-items:center;padding:.56rem .65rem;border:1px solid var(--line);border-radius:.65rem;background:var(--veil-018);font-size:.61rem}.calc-app .waterfall-row span {color:var(--muted)}.calc-app .waterfall-row b.negative {color:var(--rose)}.calc-app .waterfall-row b.positive {color:var(--green-2)}.calc-app .waterfall-row.total {border-color:rgba(52,211,153,.23);background:rgba(34,197,94,.045)}.calc-app .timeline-chart {position:relative;display:flex;align-items:flex-end;gap:.38rem;height:130px;padding:0 .2rem 1.25rem;border-bottom:1px solid var(--line)}.calc-app .timeline-col {position:relative;flex:1;min-width:8px;height:100%;display:flex;align-items:flex-end}.calc-app .timeline-col i {display:block;width:100%;height:var(--h);min-height:3px;border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,var(--teal),var(--green));animation:riseBar .8s var(--ease)}@keyframes riseBar {from {height:0}}.calc-app .timeline-col span {position:absolute;left:50%;bottom:-1.05rem;transform:translateX(-50%);color:var(--muted-2);font-size:.45rem;white-space:nowrap}.calc-app .schedule-card {padding:.8rem;border:1px solid rgba(52,211,153,.2);border-radius:.78rem;background:rgba(34,197,94,.04)}.calc-app .schedule-card .schedule-label {color:var(--green-2);font-size:.59rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.calc-app .schedule-grid {display:grid;grid-template-columns:repeat(2,1fr);gap:.65rem;margin-top:.6rem}.calc-app .schedule-grid span {display:block;color:var(--muted-2);font-size:.53rem}.calc-app .schedule-grid b {display:block;margin-top:.12rem;font-size:.66rem}.calc-app .data-table {width:100%;border-collapse:collapse;font-size:.57rem}.calc-app .data-table th, .calc-app .data-table td {padding:.5rem .38rem;text-align:left;border-bottom:1px solid var(--line)}.calc-app .data-table th {color:var(--muted-2);font-weight:650}.calc-app .data-table td {color:var(--veil-73)}.calc-app .data-table td:last-child, .calc-app .data-table th:last-child {text-align:right}.calc-app .warning-list {display:grid;gap:.55rem}.calc-app .warning-item {display:grid;grid-template-columns:auto 1fr;gap:.55rem;color:var(--muted);font-size:.58rem;line-height:1.48}.calc-app .warning-item i {width:1.1rem;height:1.1rem;border-radius:50%;display:grid;place-items:center;font-style:normal;color:var(--amber);background:rgba(251,191,36,.08);border:1px solid rgba(251,191,36,.18);font-size:.52rem}.calc-app .warning-item.info i {color:var(--green-2);background:rgba(34,197,94,.08);border-color:rgba(52,211,153,.18)}.calc-app .result-actions {display:flex;gap:.5rem;margin-top:.8rem}.calc-app .result-actions button {flex:1;padding:.6rem;border:1px solid var(--line);border-radius:.65rem;color:var(--muted);font-size:.58rem;font-weight:650;transition:.18s}.calc-app .result-actions button:hover {color:var(--ink-strong);border-color:var(--veil-25)}.calc-app .method-page {padding:6.1rem 0 7rem}.calc-app .method-hero {max-width:800px}.calc-app .method-hero h1 {margin:.9rem 0 1rem;font-size:clamp(3rem,6vw,5.2rem);font-weight:650;letter-spacing:-.068em;line-height:.95}.calc-app .method-hero p {color:var(--muted);font-size:1.02rem;line-height:1.75}.calc-app .method-grid {display:grid;grid-template-columns:280px 1fr;gap:1rem;margin-top:2.5rem}.calc-app .method-index {position:sticky;top:92px;align-self:start;padding:1rem;border-radius:1rem}.calc-app .method-index h2 {font-size:.72rem;margin-bottom:.7rem}.calc-app .method-index nav {display:grid}.calc-app .method-index a {padding:.65rem;border-radius:.62rem;color:var(--muted);font-size:.67rem}.calc-app .method-index a:hover {color:var(--ink-strong);background:var(--veil-035)}.calc-app .method-content {display:grid;gap:1rem}.calc-app .method-block {padding:1.45rem;border-radius:1rem;scroll-margin-top:100px}.calc-app .method-block h2 {font-size:1.1rem}.calc-app .method-block>p {color:var(--muted);font-size:.78rem;line-height:1.7;margin-top:.5rem}.calc-app .method-list {display:grid;gap:.55rem;margin-top:1rem}.calc-app .method-list li {list-style:none;display:grid;grid-template-columns:auto 1fr;gap:.55rem;color:var(--muted);font-size:.72rem}.calc-app .method-list li::before {content:"✓";color:var(--green-2)}.calc-app .source-row {display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;padding:.72rem .8rem;border:1px solid var(--line);border-radius:.72rem;margin-top:.55rem}.calc-app .source-row b {display:block;font-size:.69rem}.calc-app .source-row span {display:block;color:var(--muted-2);font-size:.58rem;margin-top:.12rem}.calc-app .source-row a {color:var(--green-2);font-size:.62rem;font-weight:650}.calc-app .site-footer {padding-top:1rem}.calc-app .footer-line {height:1px;background:linear-gradient(90deg,transparent,var(--veil-18),transparent)}.calc-app .footer-inner {min-height:106px;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.calc-app .brand-footer {width:132px}.calc-app .footer-inner p {color:var(--muted-2);font-size:.72rem}.calc-app .footer-inner nav {display:flex;gap:1.15rem;color:var(--muted);font-size:.72rem}.calc-app .footer-inner a:hover {color:var(--ink-strong)}.calc-app .legal-row {display:flex;justify-content:space-between;gap:1rem;padding:1rem 0 1.7rem;border-top:1px solid var(--line);color:var(--muted-2);font-size:.61rem}.calc-app .toast {position:fixed;left:50%;bottom:24px;z-index:140;max-width:min(520px,calc(100% - 32px));transform:translate(-50%,20px);opacity:0;pointer-events:none;padding:.8rem 1rem;border-radius:.75rem;background:var(--ink-strong-hover);color:var(--on-ink);box-shadow:0 22px 55px rgba(0,0,0,.4);font-size:.72rem;font-weight:700;transition:.24s}.calc-app .toast.show {transform:translate(-50%,0);opacity:1}.calc-app [data-reveal] {opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.calc-app [data-reveal].visible {opacity:1;transform:none}.calc-app .route-enter {animation:routeIn .48s var(--ease)}@keyframes routeIn {from {opacity:0;transform:translateY(12px)}to {opacity:1;transform:none}}@media(max-width:1080px) {.calc-app .home-hero {grid-template-columns:1fr;min-height:0;padding-top:4rem}.calc-app .home-copy {max-width:720px}.calc-app .home-product {max-width:720px}.calc-app .product-window {transform:none;animation:none}.calc-app .calculator-grid {grid-template-columns:repeat(2,1fr)}.calc-app .calc-layout {grid-template-columns:1fr}.calc-app .result-panel {position:relative;top:auto}.calc-app .result-scroll {max-height:none}.calc-app .result-empty {min-height:420px}.calc-app .home-card-grid {grid-template-columns:repeat(2,1fr)}
}@media(max-width:860px) {.calc-app .nav-links, .calc-app .engine-status, .calc-app .nav-open {display:none}.calc-app .menu-button {display:flex}.calc-app .site-nav:has(.mobile-nav.open) {background:rgba(7,9,13,.96);border-bottom-color:var(--line)}.calc-app .calc-heading {grid-template-columns:1fr}.calc-app .rule-badge {width:max-content}.calc-app .field-grid.three {grid-template-columns:repeat(2,minmax(0,1fr))}.calc-app .method-grid {grid-template-columns:1fr}.calc-app .method-index {position:relative;top:auto}.calc-app .method-index nav {grid-template-columns:repeat(2,1fr)}.calc-app .home-callout {grid-template-columns:1fr;align-items:start}.calc-app .home-callout .button {width:max-content}
}@media(max-width:680px) {.calc-app .wrap {width:min(100% - 32px,1240px)}.calc-app .nav-inner {height:68px}.calc-app .mobile-nav {top:68px}.calc-app .brand {width:140px}.calc-app .home-hero {padding:3rem 0 5rem}.calc-app .home-copy h1 {font-size:clamp(3.05rem,15vw,4.4rem)}.calc-app .product-side {display:none}.calc-app .product-body {grid-template-columns:1fr}.calc-app .float-note {display:none}.calc-app .preview-chart {grid-template-columns:1fr}.calc-app .preview-list {grid-template-columns:repeat(2,1fr)}.calc-app .home-card-grid, .calc-app .calculator-grid {grid-template-columns:1fr}.calc-app .page-hero {padding-top:4.3rem}.calc-app .page-hero h1 {font-size:clamp(2.8rem,14vw,4.3rem)}.calc-app .directory-toolbar {align-items:flex-start;flex-direction:column}.calc-app .directory-filter {width:100%}.calc-app .directory-filter button {flex:1}.calc-app .calculator-page {padding-top:2.1rem}.calc-app .calc-heading-copy {display:block}.calc-app .calc-heading-icon {margin-bottom:.85rem}.calc-app .calc-heading h1 {font-size:2.65rem}.calc-app .form-card-head {align-items:flex-start;flex-direction:column}.calc-app .mode-switch {width:100%}.calc-app .mode-switch button {flex:1}.calc-app .field-grid, .calc-app .field-grid.three {grid-template-columns:1fr}.calc-app .field.full {grid-column:auto}.calc-app .rate-line {grid-template-columns:58px 1fr 74px}.calc-app .form-actions {align-items:stretch;flex-direction:column}.calc-app .form-actions .button {width:100%}.calc-app .result-metrics {grid-template-columns:repeat(2,1fr)}.calc-app .result-metrics .result-metric:last-child:nth-child(3) {grid-column:1/-1}.calc-app .donut-layout {grid-template-columns:1fr}.calc-app .donut {margin-inline:auto}.calc-app .bar-row {grid-template-columns:1fr auto}.calc-app .bar-track {grid-column:1/-1;grid-row:2}.calc-app .timeline-chart {gap:.22rem}.calc-app .timeline-col span {display:none}.calc-app .home-callout {padding:1.5rem}.calc-app .footer-inner {align-items:flex-start;flex-direction:column;padding:2rem 0}.calc-app .footer-inner nav {flex-wrap:wrap}.calc-app .legal-row {flex-direction:column}.calc-app .method-page {padding-top:4.2rem}.calc-app .method-index nav {grid-template-columns:1fr}.calc-app .source-row {grid-template-columns:1fr}
}@media(max-width:420px) {.calc-app .preview-metrics {grid-template-columns:1fr}.calc-app .preview-list {grid-template-columns:1fr}.calc-app .product-main {padding:1rem}.calc-app .result-top, .calc-app .result-section {padding-left:1rem;padding-right:1rem}.calc-app .result-metrics {grid-template-columns:1fr}.calc-app .result-metrics .result-metric:last-child:nth-child(3) {grid-column:auto}.calc-app .schedule-grid {grid-template-columns:1fr}
}@media(prefers-reduced-motion:reduce) {.calc-app {scroll-behavior:auto}.calc-app *, .calc-app *::before, .calc-app *::after {animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.calc-app #waveCanvas {display:none}
}@media print {.calc-app .ambient, .calc-app .site-nav, .calc-app .site-footer, .calc-app .calc-form-card, .calc-app .calc-breadcrumb, .calc-app .calc-heading .rule-badge, .calc-app .result-actions, .calc-app .toast {display:none!important}.calc-app {background:var(--ink-strong);color:#111}.calc-app .wrap {width:100%;max-width:none}.calc-app .calculator-page {padding:0}.calc-app .calc-heading {display:block}.calc-app .calc-heading p {color:#444}.calc-app .result-panel {position:static;border:1px solid #ddd;box-shadow:none;background:var(--ink-strong)}.calc-app .result-scroll {max-height:none;overflow:visible}.calc-app .result-top, .calc-app .result-section {background:var(--ink-strong);border-color:#ddd}.calc-app .result-primary span, .calc-app .result-primary small, .calc-app .result-section-head span, .calc-app .legend-row span, .calc-app .bar-row span, .calc-app .warning-item, .calc-app .waterfall-row span {color:#444}.calc-app .result-metric, .calc-app .waterfall-row, .calc-app .schedule-card {border-color:#ddd;background:var(--ink-strong)}.calc-app .donut::after {background:var(--ink-strong);border-color:#ddd}.calc-app .result-kicker {color:#555}
}.calc-app .sr-only {position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.calc-app .engine-status.offline i {background:var(--rose);box-shadow:0 0 16px rgba(251,113,133,.45)}.calc-app .result-metric small {display:block;margin-top:.12rem;color:var(--muted-2);font-size:.5rem;line-height:1.35}.calc-app .form-error {margin-top:1rem;padding:.8rem .9rem;border:1px solid rgba(251,113,133,.28);border-radius:.75rem;background:rgba(251,113,133,.07);color:#fecdd3;font-size:.66rem;line-height:1.5}.calc-app .info-callout {display:grid;grid-template-columns:auto 1fr;gap:.65rem;align-items:start;padding:.78rem .82rem;margin-bottom:.85rem;border:1px solid rgba(52,211,153,.18);border-radius:.78rem;background:rgba(34,197,94,.035)}.calc-app .info-callout span {width:1.3rem;height:1.3rem;color:var(--green-2)}.calc-app .info-callout svg {width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7}.calc-app .info-callout p {color:var(--muted);font-size:.61rem;line-height:1.55}.calc-app .invoice-rows {display:grid;gap:.65rem}.calc-app .invoice-row {position:relative;display:grid;grid-template-columns:minmax(145px,1.25fr) minmax(115px,.85fr) 82px minmax(120px,.95fr) 30px;gap:.55rem;align-items:end;padding:.72rem;border:1px solid var(--line);border-radius:.82rem;background:var(--veil-018)}.calc-app .invoice-row.purchase-row {grid-template-columns:minmax(140px,1.2fr) minmax(105px,.75fr) 76px 90px minmax(92px,.65fr) minmax(110px,.75fr) 30px}.calc-app .invoice-row .field {gap:.28rem}.calc-app .invoice-row .field label {font-size:.55rem}.calc-app .invoice-row input, .calc-app .invoice-row select {min-height:2.55rem;padding:.55rem .64rem;font-size:.65rem}.calc-app .invoice-row .input-prefix>span {left:.62rem}.calc-app .invoice-row .input-prefix input {padding-left:1.45rem}.calc-app .invoice-row .input-suffix>span {right:.62rem}.calc-app .invoice-row .input-suffix input {padding-right:1.85rem}.calc-app .row-remove {width:30px;height:30px;margin-bottom:.36rem;border:1px solid var(--line);border-radius:50%;color:var(--muted-2);font-size:1rem;line-height:1;transition:.18s}.calc-app .row-remove:hover {border-color:rgba(251,113,133,.35);color:#fecdd3;background:rgba(251,113,133,.06)}.calc-app .add-row {display:inline-flex;align-items:center;justify-content:center;margin-top:.65rem;padding:.56rem .75rem;border:1px solid var(--line);border-radius:.65rem;color:var(--green-2);font-size:.61rem;font-weight:700;transition:.18s}.calc-app .add-row:hover {border-color:rgba(52,211,153,.28);background:rgba(34,197,94,.045)}.calc-app .mini-check {display:flex;align-items:center;gap:.45rem;min-height:2.55rem;padding:.48rem .55rem;border:1px solid var(--line);border-radius:.65rem;color:var(--muted);font-size:.55rem;cursor:pointer}.calc-app .mini-check input {width:.9rem;height:.9rem}.calc-app .mini-check span {line-height:1.25}.calc-app .source-links {display:grid;gap:.42rem;margin-top:.9rem;padding-top:.85rem;border-top:1px solid var(--line)}.calc-app .source-links h4 {font-size:.62rem}.calc-app .source-links a {display:grid;grid-template-columns:1fr auto;gap:.65rem;align-items:center;padding:.55rem .62rem;border:1px solid var(--line);border-radius:.62rem;background:var(--veil-015);transition:.18s}.calc-app .source-links a:hover {border-color:rgba(52,211,153,.25);background:rgba(34,197,94,.035)}.calc-app .source-links b {display:block;color:var(--veil-78);font-size:.57rem}.calc-app .source-links small {display:block;color:var(--muted-2);font-size:.51rem;margin-top:.08rem}.calc-app .source-links em {color:var(--green-2);font-style:normal;font-size:.66rem}.calc-app .table-scroll {overflow-x:auto}.calc-app .empty-copy {color:var(--muted);font-size:.62rem;line-height:1.55}.calc-app .not-found {min-height:70vh;display:grid;place-content:center;justify-items:start;max-width:800px}.calc-app .not-found h1 {margin:.8rem 0;font-size:clamp(2.8rem,7vw,5rem);letter-spacing:-.06em;line-height:.95}.calc-app .not-found p {color:var(--muted);margin-bottom:1.5rem}.calc-app .calculator-card.is-hidden {display:none}.calc-app .directory-note>svg {flex:none}@media(max-width:1180px) {.calc-app .invoice-row, .calc-app .invoice-row.purchase-row {grid-template-columns:repeat(2,minmax(0,1fr));padding-right:2.8rem}.calc-app .row-remove {position:absolute;right:.65rem;top:.65rem;margin:0}.calc-app .mini-check {align-self:end}
}@media(max-width:680px) {.calc-app .invoice-row, .calc-app .invoice-row.purchase-row {grid-template-columns:1fr}.calc-app .mini-check {min-height:2.8rem}.calc-app .info-callout {grid-template-columns:1fr}.calc-app .info-callout span {display:none}
}.calc-app .check-field {display:grid;gap:.28rem;align-content:start}.calc-app .field-error-message {display:none;color:#fecdd3;font-size:.57rem;line-height:1.4;font-weight:600}.calc-app [data-field].has-error .field-error-message {display:block}.calc-app [data-field].has-error input:not([type="checkbox"]), .calc-app [data-field].has-error select, .calc-app [data-field].has-error textarea {
  border-color:rgba(251,113,133,.76);background:rgba(251,113,133,.055);box-shadow:0 0 0 3px rgba(251,113,133,.08)
}.calc-app [data-field].has-error .check-row {border-color:rgba(251,113,133,.55);background:rgba(251,113,133,.055)}.calc-app [aria-invalid="true"]:focus {border-color:#fb7185;box-shadow:0 0 0 3px rgba(251,113,133,.12)}.calc-app .form-error {outline:none}.calc-app .form-error>strong {display:block;color:var(--ink-strong);font-size:.69rem;margin-bottom:.42rem}.calc-app .form-error ul {display:grid;gap:.3rem;padding-left:1rem}.calc-app .form-error li {color:#fecdd3}.calc-app .form-error li button, .calc-app .form-error li span {color:inherit;text-align:left;font-size:.62rem;line-height:1.45}.calc-app .form-error li button {border-bottom:1px dashed rgba(254,205,211,.38)}.calc-app .form-error li button:hover, .calc-app .form-error li button:focus {color:var(--ink-strong);border-color:var(--ink-strong)}.calc-app .assurance-callout {display:grid;gap:.18rem;margin-top:.82rem;padding:.78rem .82rem;border:1px solid rgba(96,165,250,.22);border-radius:.78rem;background:rgba(96,165,250,.055)}.calc-app .assurance-callout b {color:#bfdbfe;font-size:.65rem}.calc-app .assurance-callout p {color:var(--muted);font-size:.58rem;line-height:1.55}.calc-app .guarantee-panel {margin-top:1rem}.calc-app .result-progress {position:absolute;inset:0;z-index:30;display:grid;place-items:center;padding:2rem;background:rgba(4,10,9,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.calc-app .result-progress[hidden] {display:none!important}.calc-app .result-progress-inner {max-width:330px;display:grid;grid-template-columns:auto 1fr;gap:.9rem;align-items:center;padding:1.1rem 1.15rem;border:1px solid rgba(52,211,153,.22);border-radius:1rem;background:linear-gradient(145deg,rgba(52,211,153,.09),var(--veil-025));box-shadow:0 24px 70px rgba(0,0,0,.42)}.calc-app .result-progress-inner b {display:block;font-size:.77rem}.calc-app .result-progress-inner small {display:block;margin-top:.18rem;color:var(--muted);font-size:.61rem;line-height:1.45}.calc-app .analysis-spinner {width:2rem;height:2rem;border:2px solid rgba(52,211,153,.18);border-top-color:var(--green-2);border-radius:50%;animation:assuranceSpin .75s linear infinite;box-shadow:0 0 24px rgba(52,211,153,.16)}@keyframes assuranceSpin {to {transform:rotate(360deg)}}.calc-app .result-stale {position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:.65rem;padding:.56rem .8rem;border-bottom:1px solid rgba(251,191,36,.2);background:rgba(251,191,36,.075);color:#fde68a;font-size:.56rem}.calc-app .result-stale[hidden] {display:none!important}.calc-app .result-stale span {font-weight:750;text-transform:uppercase;letter-spacing:.06em}.calc-app .result-stale b {font-size:.57rem;font-weight:600;color:#fef3c7}.calc-app .result-panel.result-updated {animation:resultPulse .62s var(--ease)}@keyframes resultPulse {0% {box-shadow:inset 0 1px 0 var(--veil-1),var(--shadow),0 0 0 0 rgba(52,211,153,.38)}55% {box-shadow:inset 0 1px 0 var(--veil-1),var(--shadow),0 0 0 7px rgba(52,211,153,.07)}100% {box-shadow:inset 0 1px 0 var(--veil-1),var(--shadow),0 0 0 0 rgba(52,211,153,0)}}.calc-app .result-panel[aria-busy="true"] {min-height:620px}@media(max-width:680px) {.calc-app .result-stale {align-items:flex-start;flex-direction:column}.calc-app .result-progress-inner {grid-template-columns:1fr;text-align:center;justify-items:center}
}@media print {.calc-app .result-progress, .calc-app .result-stale, .calc-app .field-error-message, .calc-app .form-error {display:none!important}
}.calc-app .calculator-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }@media (max-width: 1024px) {.calc-app .calculator-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }@media (max-width: 640px) {.calc-app .calculator-grid { grid-template-columns: 1fr; } }.calc-app .accountant-cta { margin-top:2rem; padding:2rem; border-radius:24px; background:linear-gradient(135deg,#073b2a,#0b6b4a); color:white; }.calc-app .accountant-cta .cta-buttons { display:flex; gap:12px; flex-wrap:wrap; }.calc-app .calculator-meta-disclaimer { font-size:.78rem; opacity:.72; margin-top:1rem; }

/* ---------------------------------------------------------------------------
   Emerald owns the page behind it.

   Everything above came from a standalone document that painted its own body:
   an opaque background, a full-viewport height and its own font stack. Inside
   this site that covers the gradient and the frequency-wave the rest of the
   product sits on, and the calculators stop looking like part of it.

   The colours, spacing and components above are kept - they are the design.
   Only the page-level painting is handed back.
   --------------------------------------------------------------------------- */
.calc-app {
  background: transparent;
  /* The shell already fills the viewport; forcing it again leaves a dead band
     under short calculators where the backdrop stops. */
  min-height: 0;
  /* Inherit Emerald's typeface rather than restating a font stack that happens
     to match today and would silently diverge the next time either changes. */
  font-family: inherit;
}

/* The delivered ambient layers are not rendered here - the shell supplies one
   wave, not two - but the rules survive the port, and an absolutely positioned
   backdrop with no parent would sit over the page if the engine ever emits it. */
.calc-app .ambient,
.calc-app .ambient-horizon,
.calc-app .ambient-grain,
.calc-app .ambient-vignette {
  display: none;
}

/* The closing disclaimer. Quiet, readable, and deliberately not a wall of grey small print:
   somebody who cannot read it has not been warned, whatever the page technically said. */
.calc-app .calc-disclaimer {
  max-width: 62rem;
  margin: 2.6rem 0 4rem;
  padding: 1.5rem 1.6rem;
  border: 1px solid var(--line);
  border-radius: 1rem;
  background: var(--veil-02);
}
.calc-app .calc-disclaimer h2 {
  margin-bottom: 0.7rem;
  font-size: 0.95rem;
  letter-spacing: -0.01em;
}
.calc-app .calc-disclaimer p {
  color: var(--muted);
  font-size: 0.8rem;
  line-height: 1.65;
}
.calc-app .calc-disclaimer p + p {
  margin-top: 0.6rem;
}
.calc-app .calc-disclaimer-cta a {
  color: var(--green-2);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.calc-app .calc-disclaimer-cta a:hover {
  color: var(--ink-strong);
}

/* ---------------------------------------------------------------------------
   The printed document.

   Not a hidden-furniture version of the screen: a document, in the house style
   the invoices already set. The mark at the top, a light body because this gets
   printed and photographed, the facts entered kept next to the figures they
   produced, and the disclaimer on the page rather than left behind on the site.
   --------------------------------------------------------------------------- */
.calc-app .print-masthead {
  display: none;
}

@media print {
  @page {
    margin: 14mm 12mm 16mm;
  }

  .calc-app .print-masthead {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding-bottom: 0.7rem;
    margin-bottom: 1.1rem;
    border-bottom: 2px solid #07090d;
  }
  .calc-app .print-masthead img {
    width: 42mm;
    height: auto;
  }
  .calc-app .print-masthead strong {
    display: block;
    font-size: 12pt;
    letter-spacing: -0.01em;
    color: #07090d;
  }
  .calc-app .print-masthead span {
    display: block;
    margin-top: 1mm;
    font-size: 8pt;
    color: #555;
  }

  /* The scenario is the other half of the document. A result with no inputs is
     unreadable a month later, so the form prints - as text, not as controls. */
  .calc-app .calc-form-card {
    display: block !important;
    border: 0;
    box-shadow: none;
    background: var(--ink-strong);
    padding: 0;
    margin-bottom: 6mm;
    break-inside: avoid;
  }
  .calc-app .form-card-head,
  .calc-app .mode-switch,
  .calc-app .form-actions,
  .calc-app .add-row,
  .calc-app .row-remove,
  .calc-app .info-callout,
  .calc-app .assurance-callout,
  .calc-app .calc-offer,
  .calc-app .nav-menu {
    display: none !important;
  }
  .calc-app .calc-form {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2mm 6mm;
  }
  .calc-app .form-section > h3,
  .calc-app .form-section-head {
    grid-column: 1 / -1;
    font-size: 9pt;
    color: #07090d;
  }
  .calc-app .field label {
    font-size: 7.5pt;
    color: #666;
  }
  /* Controls become their values. A printed dropdown with an arrow on it is the
     thing that made the old output look like a screenshot. */
  .calc-app .calc-form input,
  .calc-app .calc-form select,
  .calc-app .calc-form textarea {
    min-height: 0;
    padding: 0;
    border: 0;
    background: none;
    color: #07090d;
    font-size: 9.5pt;
    font-weight: 650;
    appearance: none;
    -webkit-appearance: none;
  }

  .calc-app .result-panel {
    break-inside: auto;
  }
  .calc-app .result-primary strong {
    color: #07090d;
  }

  /* The disclaimer travels with the document. Printing a tax figure without the
     sentence that says it is an estimate is the one thing this must not do. */
  .calc-app .calc-disclaimer {
    display: block !important;
    break-inside: avoid;
    margin-top: 6mm;
    border: 1px solid #bbb;
    background: #fafafa;
    color: #333;
  }
  .calc-app .calc-disclaimer h2 {
    color: #07090d;
    font-size: 9.5pt;
  }
  .calc-app .calc-disclaimer p {
    color: #444;
    font-size: 8pt;
  }
  .calc-app .calc-disclaimer-cta {
    display: none;
  }

  /* Sources and the dated rule set: what makes the figure checkable later. */
  .calc-app .source-links a {
    border-color: #ddd;
    background: var(--ink-strong);
  }
  .calc-app .source-links b,
  .calc-app .source-links small,
  .calc-app .source-links em {
    color: #333;
  }
}

@media print {
  /* The metric labels are hidden on screen behind a colour that disappears on paper. Four figures
     with no labels is not a document. */
  .calc-app .result-metric span,
  .calc-app .result-metric small {
    display: block !important;
    color: #555 !important;
    font-size: 7.5pt !important;
  }
  .calc-app .result-metric strong {
    color: #07090d !important;
  }
  /* Charts are decoration here; the numbers beside them carry the meaning, and a donut costs a
     third of a page in ink. */
  .calc-app .donut,
  .calc-app .preview-donut-wrap {
    display: none !important;
  }
}

@media print {
  /* The explainability tables render white on white otherwise: they inherit the screen palette,
     and the section prints as a titled blank space - which reads as a bug in the calculator
     rather than as a styling miss. */
  .calc-app .data-table,
  .calc-app .data-table th,
  .calc-app .data-table td,
  .calc-app .result-table,
  .calc-app .result-table th,
  .calc-app .result-table td {
    color: #222 !important;
    background: var(--ink-strong) !important;
    border-color: #ddd !important;
  }
  .calc-app .data-table th,
  .calc-app .result-table th {
    color: #07090d !important;
  }
}

/* The offer at the foot of a result. Sits below the workings, in the panel, so it reads as the
   next step rather than as an advertisement placed over the answer. */
.calc-app .result-cta {
  margin-top: 1rem;
  padding: 1.05rem 1.1rem;
  border: 1px solid rgba(52, 211, 153, 0.22);
  border-radius: 0.9rem;
  background: rgba(34, 197, 94, 0.05);
}
.calc-app .result-cta p {
  color: var(--muted);
  font-size: 0.72rem;
  line-height: 1.6;
}
.calc-app .result-cta strong {
  color: var(--ink-strong);
}
.calc-app .result-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin: 0.8rem 0 0.6rem;
}
.calc-app .result-cta-primary {
  padding: 0.6rem 0.95rem;
  border-radius: 0.62rem;
  background: var(--ink-strong);
  color: var(--on-ink);
  font-size: 0.68rem;
  font-weight: 750;
}
.calc-app .result-cta-primary:hover {
  background: var(--ink-strong-hover);
}
.calc-app .result-cta-secondary {
  padding: 0.6rem 0.95rem;
  border: 1px solid var(--line-strong);
  border-radius: 0.62rem;
  color: var(--veil-82);
  font-size: 0.68rem;
  font-weight: 700;
}
.calc-app .result-cta-secondary:hover {
  border-color: var(--veil-3);
  color: var(--ink-strong);
}
.calc-app .result-cta small {
  display: block;
  color: var(--muted-2);
  font-size: 0.6rem;
  line-height: 1.5;
}

/* Not on paper. A printed estimate is a document somebody keeps or gives to an accountant, and a
   sign-up button on it is the thing that makes it look like an advert instead. */
@media print {
  .calc-app .result-cta {
    display: none !important;
  }
}

/* The lead-in call to action.

   The fuller pitch at the bottom of .result-scroll stayed where it was - it is the
   right thing to read after the numbers. But .result-scroll is a scroll region on
   desktop (max-height: 100vh - 305px), so on a long result that CTA sat below the
   fold of a panel most visitors never scrolled. This one lives inside .result-top,
   which is always visible the moment a result renders.

   Deliberately quieter than the bottom one: it appears next to the headline figure
   and must not compete with it for attention. One line, one link. */
.calc-app .result-lead {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.7rem;
  margin-top: 1rem;
  padding: 0.78rem 0.9rem;
  border: 1px solid rgba(52, 211, 153, 0.24);
  border-radius: 0.78rem;
  background: rgba(34, 197, 94, 0.07);
}
.calc-app .result-lead p {
  flex: 1 1 12rem;
  color: var(--muted);
  font-size: 0.7rem;
  line-height: 1.5;
}
.calc-app .result-lead strong {
  color: var(--ink-strong);
}
.calc-app .result-lead-primary {
  flex: none;
  padding: 0.55rem 0.9rem;
  border-radius: 0.6rem;
  background: var(--ink-strong);
  color: var(--on-ink);
  font-size: 0.68rem;
  font-weight: 750;
  white-space: nowrap;
  transition: background 0.18s;
}
.calc-app .result-lead-primary:hover {
  background: var(--ink-strong-hover);
}
@media (max-width: 420px) {
  .calc-app .result-lead {
    flex-direction: column;
    align-items: stretch;
    text-align: center;
  }
  .calc-app .result-lead-primary {
    text-align: center;
  }
}
/* A printed result is a document, not a funnel. */
@media print {
  .calc-app .result-lead {
    display: none !important;
  }
}

/* Light mode.

   Only the variables move. No selector below the :root block names a brightness,
   so this is the entire theme - which is also why it cannot drift out of sync with
   a component somebody adds later.

   The veils invert to a dark ink rather than pure black: a hairline of #000 on a
   white panel reads harder than the same alpha of white on a dark one. */
:root[data-theme="light"] .calc-app {
  --bg:#f6f8f9;
  --bg-deep:#eef2f3;
  --panel:#ffffff;
  --panel-2:#f3f6f7;
  --panel-inset:#ffffff;
  --glass-fill:rgba(255,255,255,.88);
  --vignette:rgba(9,14,20,.06);
  --chip-fill:rgba(255,255,255,.7);
  --veil-08:rgba(9,14,20,.08);
  --ink:#0b1215;
  --ink-strong:#07100a;
  --ink-strong-hover:#16261b;
  --on-ink:#ffffff;
  --muted:rgba(9,14,20,.66);
  --muted-2:rgba(9,14,20,.48);
  --line:rgba(9,14,20,.12);
  --line-strong:rgba(9,14,20,.2);
  /* Greens darkened for contrast: #34d399 on white is about 1.7:1 and unreadable. */
  --green:#15803d;
  --green-2:#0f766e;
  --teal:#0d9488;
  --amber:#b45309;
  --rose:#be123c;
  --blue:#1d4ed8;
  --shadow:0 24px 70px rgba(9,14,20,.13);
  --veil-015:rgba(9,14,20,.015);
  --veil-017:rgba(9,14,20,.017);
  --veil-018:rgba(9,14,20,.018);
  --veil-02:rgba(9,14,20,.02);
  --veil-025:rgba(9,14,20,.025);
  --veil-03:rgba(9,14,20,.03);
  --veil-035:rgba(9,14,20,.035);
  --veil-04:rgba(9,14,20,.04);
  --veil-05:rgba(9,14,20,.05);
  --veil-065:rgba(9,14,20,.065);
  --veil-07:rgba(9,14,20,.07);
  --veil-075:rgba(9,14,20,.075);
  --veil-1:rgba(9,14,20,.1);
  --veil-12:rgba(9,14,20,.12);
  --veil-13:rgba(9,14,20,.13);
  --veil-16:rgba(9,14,20,.16);
  --veil-18:rgba(9,14,20,.18);
  --veil-2:rgba(9,14,20,.2);
  --veil-22:rgba(9,14,20,.22);
  --veil-25:rgba(9,14,20,.25);
  --veil-28:rgba(9,14,20,.28);
  --veil-3:rgba(9,14,20,.3);
  --veil-49:rgba(9,14,20,.49);
  --veil-55:rgba(9,14,20,.55);
  --veil-73:rgba(9,14,20,.73);
  --veil-76:rgba(9,14,20,.76);
  --veil-78:rgba(9,14,20,.78);
  --veil-82:rgba(9,14,20,.82);
}
/* The ambient orb is a glow against black. On white it is a grey smudge. */
:root[data-theme="light"] .calc-app .ambient {
  opacity: .5;
}
/* The shiny headline gradient bottoms out at #0b3b25, invisible on a light page. */
:root[data-theme="light"] .calc-app .shiny {
  background-image: linear-gradient(95deg,#0b3b25 0%,#15803d 25%,#0f766e 50%,#15803d 75%,#0b3b25 100%);
}


/* Card-visual decoration. These were `stroke="rgba(255,255,255,.08)"` attributes
   inside the generated SVG, which no theme can reach - an SVG presentation
   attribute is not a CSS custom property. Moved to classes so they follow the
   theme like everything else. */
.calc-app .visual-rule {
  stroke: var(--veil-08);
  fill: none;
}
.calc-app .visual-orb {
  fill: color-mix(in srgb, var(--green) 4%, transparent);
  stroke: color-mix(in srgb, var(--green-2) 8%, transparent);
}
