.calc{max-width:720px;margin:0 auto;padding-bottom:120px;position:relative}.msf-progress{gap:6px;padding:12px 20px 4px;display:flex}.msf-dot{background:var(--color-border);border-radius:var(--radius-pill);flex:1;height:3px;transition:background .24s ease-out}.msf-dot.active{background:var(--color-primary-500)}.msf-dot.done{background:var(--color-primary-500);opacity:.5}.msf-meta{color:var(--color-text-2);justify-content:space-between;align-items:center;margin-bottom:4px;padding:0 20px;font-size:12px;display:flex}.step-section{padding:20px}.step-h2{letter-spacing:-.02em;color:var(--color-text);margin:0 0 4px;font-size:22px;font-weight:600}.step-lead{color:var(--color-text-2);margin:0 0 24px;font-size:13px}.field{flex-direction:column;gap:6px;margin-bottom:24px;display:flex}.field-label{color:var(--color-text);font-size:13px;font-weight:500}.input{border:1px solid var(--color-border-2);border-radius:var(--radius-btn);height:48px;font-family:var(--font-sans);color:var(--color-text);background:var(--color-surface);width:100%;padding:0 14px;font-size:16px}.input:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100);outline:0}.field-hint{color:var(--color-success);font-size:12px;font-weight:500}.compass-set{border:0;margin:0 0 24px;padding:0}.compass-set legend{margin-bottom:12px}.compass{grid-template-rows:repeat(3,56px);grid-template-columns:repeat(3,56px);justify-content:center;gap:6px;display:grid}.compass-btn{border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-btn);width:56px;height:56px;font-family:var(--font-sans);color:var(--color-text);cursor:pointer;place-items:center;font-size:13px;font-weight:500;transition:all .16s ease-out;display:grid}.compass-btn:hover{border-color:var(--color-border-2)}.compass-btn.selected{background:var(--color-primary-500);border-color:var(--color-primary-500);color:#fff}.compass-center{color:var(--color-text-3);letter-spacing:.06em;text-transform:uppercase;border:1px dashed var(--color-border-2);pointer-events:none;border-radius:50%;place-items:center;font-size:10px;display:grid}.compass-hint{text-align:center;color:var(--color-text-2);margin-top:8px;font-size:12px}.slider-row{flex-direction:column;gap:10px;margin-bottom:24px;display:flex}.slider-head{justify-content:space-between;align-items:baseline;display:flex}.slider-label{color:var(--color-text);font-size:14px;font-weight:500}.slider-value{color:var(--color-primary-500);letter-spacing:-.01em;font-size:18px;font-weight:600}.slider-value .unit{color:var(--color-text-2);margin-left:2px;font-size:13px;font-weight:500}.slider-row input[type=range]{appearance:none;background:var(--color-border);border-radius:var(--radius-pill);outline:0;width:100%;height:4px}.slider-row input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--color-surface);border:2px solid var(--color-primary-500);cursor:grab;border-radius:50%;width:24px;height:24px}.slider-row input[type=range]::-moz-range-thumb{background:var(--color-surface);border:2px solid var(--color-primary-500);cursor:grab;border-radius:50%;width:24px;height:24px}.slider-bounds{color:var(--color-text-3);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:-2px;font-size:11px;display:flex}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);text-align:left;width:100%;font-family:var(--font-sans);color:var(--color-text);margin-bottom:14px;padding:18px}.card.highlight{background:var(--color-primary-50);border-color:color-mix(in srgb, var(--color-primary-500) 18%, transparent)}.eyebrow{letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-2);margin-bottom:8px;font-size:11px;font-weight:600}.card.highlight .eyebrow{color:var(--color-primary-500)}.kwp-result{letter-spacing:-.02em;color:var(--color-text);font-size:32px;font-weight:700;line-height:1}.kwp-unit{color:var(--color-text-2);margin-left:4px;font-size:16px;font-weight:500}.kwp-hint{color:var(--color-text-2);margin-top:4px;font-size:12px}.qs-grid{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:24px;display:grid}.qs-btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-btn);cursor:pointer;text-align:left;font-family:var(--font-sans);color:var(--color-text);flex-direction:column;align-items:flex-start;gap:4px;min-height:56px;padding:12px 14px;transition:all .16s ease-out;display:flex}.qs-btn:hover{border-color:var(--color-border-2)}.qs-btn.selected{border-color:var(--color-primary-500);background:var(--color-primary-50)}.qs-title{font-size:14px;font-weight:500}.qs-sub{color:var(--color-text-2);font-variant-numeric:tabular-nums;font-size:12px}.toggle-card{cursor:pointer;justify-content:space-between;align-items:center;display:flex}.toggle-title{font-size:15px;font-weight:500}.toggle-sub{color:var(--color-text-2);font-size:12px}.toggle{background:var(--color-border);border-radius:var(--radius-pill);flex-shrink:0;width:44px;height:26px;transition:background .2s ease-out;position:relative}.toggle.on{background:var(--color-primary-500)}.toggle:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s ease-out;position:absolute;top:3px;left:3px}.toggle.on:after{transform:translate(18px)}.summary-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);margin-bottom:20px;padding:0;overflow:hidden}.summary-row{border:0;border-top:1px solid var(--color-border);cursor:pointer;text-align:left;width:100%;font-family:var(--font-sans);color:var(--color-text);background:0 0;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.summary-row:first-child{border-top:0}.summary-row:hover{background:var(--color-surface-2)}.summary-key{color:var(--color-text-2);font-size:13px}.summary-val{align-items:center;gap:8px;font-size:14px;font-weight:500;display:flex}.summary-edit{color:var(--color-text-3);font-size:12px}.scenario-section{margin-bottom:16px}.hint-text{color:var(--color-text-2);margin-top:8px;font-size:13px;line-height:1.55}.cta-bar{padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--color-surface) 92%, transparent);backdrop-filter:blur(12px)saturate(180%);border-top:1px solid var(--color-border);z-index:40;gap:10px;display:flex;position:fixed;bottom:0;left:0;right:0}@media (width>=720px){.cta-bar{border-left:1px solid var(--color-border);border-right:1px solid var(--color-border);width:100%;max-width:720px;margin:0 auto;left:50%;right:auto;transform:translate(-50%)}}.calc .btn{border-radius:var(--radius-btn);height:56px;font-family:var(--font-sans);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 22px;font-size:16px;font-weight:500;display:inline-flex}.calc .btn-primary{background:var(--color-primary-500);color:#fff}.calc .btn-primary:hover{background:var(--color-primary-600)}.calc .btn-primary:disabled{opacity:.5;cursor:not-allowed}.calc .btn-secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border-2)}.calc .btn-secondary:disabled{opacity:.5;cursor:not-allowed}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:.36s ease-out both fade-up}.calc-skeleton{background:color-mix(in srgb, var(--color-bg) 88%, transparent);backdrop-filter:blur(2px);z-index:30;padding:60px 20px 96px;animation:.24s ease-out both fade-up;position:absolute;inset:0}@keyframes skel-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skel-bar,.skel-text,.skel-stat,.skel-pill{background:linear-gradient(90deg, var(--color-surface-2) 0%, var(--color-border) 50%, var(--color-surface-2) 100%);border-radius:var(--radius-btn);background-size:200% 100%;animation:1.4s ease-in-out infinite skel-shimmer}.skel-bar{border-radius:var(--radius-pill);height:4px;margin-bottom:12px}.skel-meta{gap:8px;margin-bottom:22px;display:flex}.skel-pill{border-radius:var(--radius-pill);width:80px;height:12px}.skel-text{height:14px;margin-bottom:10px}.skel-line-lg{width:80%;height:22px;margin-bottom:14px}.skel-line-md{width:60%}.skel-stats{grid-template-columns:1fr 1fr;gap:8px;margin:24px 0 16px;display:grid}.skel-stat{height:80px}.skel-hint{text-align:center;color:var(--color-text-2);margin-top:16px;font-size:13px}.calc-error{background:color-mix(in srgb, var(--color-error) 8%, var(--color-surface));border:1px solid color-mix(in srgb, var(--color-error) 30%, transparent);border-radius:var(--radius-btn);color:var(--color-error);margin:0 20px;padding:14px 16px;font-size:13px}
