.calc-modal-overlay{position:fixed;inset:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:#080c148c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);overflow-y:auto;overscroll-behavior:contain;animation:calc-overlay-in .2s ease-out}.calc-modal-sheet{background:var(--md-sys-color-surface-container-lowest,var(--surface-color));border-radius:var(--jth-shape-container,28px);border:1px solid var(--border-color);box-shadow:var(--shadow-xl);width:100%;max-width:560px;max-height:min(90dvh,880px);display:flex;flex-direction:column;overflow:hidden;margin:auto;animation:calc-sheet-in .28s cubic-bezier(.16,1,.3,1)}.calc-modal-handle{display:none;justify-content:center;padding:10px 0 0;flex-shrink:0}.calc-modal-handle span{width:40px;height:4px;border-radius:999px;background:var(--border-color)}.calc-modal-header{padding:1rem 1.25rem .9rem;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0;background:linear-gradient(180deg,color-mix(in srgb,var(--md-sys-color-primary-container,var(--primary-red-light,#fee2e2)) 42%,var(--surface-color)) 0,var(--surface-color) 100%)}.calc-modal-title-wrap{display:flex;align-items:center;gap:12px;min-width:0}.calc-modal-icon{width:44px;height:44px;border-radius:14px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--md-sys-color-surface-container,var(--md-sys-color-surface-variant));color:var(--primary-red,#dc2626)}.calc-modal-header h2{font-family:var(--font-heading);font-size:1.15rem;font-weight:800;margin:0;color:var(--text-main);letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calc-modal-close{flex-shrink:0}.calc-modal-body{padding:1.15rem 1.25rem calc(1.5rem + env(safe-area-inset-bottom, 0px));overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}@keyframes calc-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes calc-sheet-in{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:640px){.calc-modal-overlay{padding:0;align-items:flex-end}.calc-modal-sheet{max-width:100%;max-height:min(92dvh,920px);border-radius:22px 22px 0 0;margin:0;animation-name:calc-sheet-up}.calc-modal-handle{display:flex}.calc-modal-header{padding:.35rem 1rem .85rem}.calc-modal-header h2{font-size:1.05rem}.calc-modal-body{padding:1rem 1.1rem calc(1.35rem + env(safe-area-inset-bottom, 0px))}}@keyframes calc-sheet-up{0%{opacity:.6;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.calc-body{color:var(--text-main);display:flex;flex-direction:column;gap:1.1rem}.calc-tip{display:flex;gap:.85rem;align-items:flex-start;background:var(--md-sys-color-surface-container,var(--md-sys-color-surface-variant));border:1px solid var(--border-color);border-radius:var(--jth-shape-card,16px);padding:1rem 1.1rem}.calc-tip-icon{flex:0 0 auto;color:var(--primary-red,var(--primary-color,#dc2626));margin-top:2px}.calc-tip h4{font-size:.92rem;font-weight:700;color:var(--text-main);margin:0 0 .2rem}.calc-tip p{font-size:.875rem;color:var(--text-muted);line-height:1.5;margin:0}.calc-diagram{width:100%;display:flex;align-items:center;justify-content:center;background:var(--md-sys-color-surface-container,var(--md-sys-color-surface-variant));border:1px dashed var(--border-color);border-radius:var(--jth-shape-card,16px);padding:.5rem}.calc-body svg text{fill:var(--text-main)}.calc-body svg rect[stroke="#94a3b8"],.calc-body svg rect[stroke="#cbd5e1"]{stroke:var(--border-color);fill:var(--md-sys-color-surface,var(--surface-color))}.calc-body svg path[stroke="#94a3b8"],.calc-body svg path[stroke="#cbd5e1"]{stroke:var(--border-color)}.calc-segmented{display:flex;flex-wrap:wrap;gap:6px;background:var(--md-sys-color-surface-container,var(--md-sys-color-surface-variant));padding:4px;border-radius:14px;border:1px solid var(--border-color)}.calc-segmented-btn{flex:1 1 auto;min-width:calc(50% - 6px);padding:.65rem .5rem;border-radius:10px;font-weight:700;font-size:.82rem;font-family:inherit;border:none;cursor:pointer;background:#0000;color:var(--text-muted);transition:background .15s ease,color .15s ease,box-shadow .15s ease;min-height:44px}@media (min-width:480px){.calc-segmented-btn{min-width:0;flex:1 1;font-size:.85rem}}.calc-segmented-btn.is-active{background:var(--surface-color);color:var(--text-main);box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.calc-segmented-btn:focus-visible{outline:2px solid var(--primary-red);outline-offset:2px}.calc-field{flex:1 1;min-width:0}.calc-field label{display:block;font-size:.8rem;font-weight:700;color:var(--text-muted);margin-bottom:.4rem;letter-spacing:.02em}.calc-body input[type=number],.calc-body input[type=text],.calc-body select,.calc-field input,.calc-field select{width:100%;min-height:48px;padding:.75rem 1rem;border-radius:14px 14px 4px 4px;border:1.5px solid #0000;border-bottom:1.5px solid var(--border-color);background:var(--md-sys-color-surface-container,var(--md-sys-color-surface-variant));color:var(--text-main);font-size:1.05rem;font-weight:600;font-family:var(--font-body,inherit);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;box-sizing:border-box}.calc-body input:focus,.calc-body select:focus,.calc-field input:focus,.calc-field select:focus{outline:none;border-color:color-mix(in srgb,var(--primary-red,#dc2626) 35%,#0000);border-bottom-color:var(--primary-red,#dc2626);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-red,#dc2626) 16%,#0000);background:var(--surface-color)}.calc-field-row{display:flex;gap:.85rem}@media (max-width:420px){.calc-field-row{flex-direction:column}}@media (max-width:640px){.calc-body input[type=number],.calc-body input[type=text],.calc-body select,.calc-field input{min-height:52px;font-size:1.05rem}}.calc-result{background:var(--md-sys-color-primary-container,color-mix(in srgb,var(--primary-red,#dc2626) 10%,var(--surface-color)));border:1px solid color-mix(in srgb,var(--primary-red,#dc2626) 22%,#0000);border-left:4px solid var(--primary-red,#dc2626);border-radius:var(--jth-shape-card,16px);padding:1.25rem 1.35rem}.calc-result--error{background:color-mix(in srgb,#ef4444 10%,var(--surface-color));border-color:color-mix(in srgb,#ef4444 30%,#0000) color-mix(in srgb,#ef4444 30%,#0000) color-mix(in srgb,#ef4444 30%,#0000) #ef4444}.calc-result-label{font-size:.78rem;color:var(--text-muted);margin:0 0 .45rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.calc-result-value{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.calc-result-number{font-size:clamp(2rem,8vw,2.6rem);font-weight:800;color:var(--text-main);line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.02em}.calc-result-unit{font-size:1.2rem;font-weight:600;color:var(--text-muted)}.calc-result-error{margin:0;font-size:1.05rem;font-weight:700;color:#ef4444;line-height:1.35}.calc-result-detail{margin-top:.85rem;padding-top:.85rem;border-top:1px solid color-mix(in srgb,var(--border-color) 80%,#0000);display:flex;flex-direction:column;gap:.35rem;font-size:.875rem;color:var(--text-muted)}.calc-result-detail strong{color:var(--text-main);font-weight:700}.calc-result-detail .calc-accent{color:var(--primary-red,#dc2626);font-size:1rem}.calc-footnote{font-size:.75rem;color:var(--text-muted);text-align:center;margin:0;line-height:1.4;opacity:.9}.calc-tool-promo{margin-top:1.1rem;padding:12px 14px;background:color-mix(in srgb,#16a34a 8%,var(--surface-color));border:1px solid color-mix(in srgb,#16a34a 22%,#0000);border-radius:12px}.calc-tool-promo-title{margin:0;font-size:.85rem;font-weight:800;color:var(--text-main)}.calc-tool-promo-desc{margin:4px 0 10px;font-size:.78rem;color:var(--text-muted);line-height:1.4}.calc-tool-promo-list{display:flex;flex-direction:column;gap:8px}.calc-tool-promo-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;background:var(--bg-color,var(--md-sys-color-surface-container));border-radius:12px;border:1px solid var(--border-color)}.calc-tool-promo-name{font-size:.8rem;color:var(--text-main);display:flex;flex-direction:column;gap:2px;min-width:0}.calc-tool-promo-price{color:var(--text-muted);font-weight:600;font-size:.75rem}.calc-tool-promo-actions{display:flex;gap:6px;flex-shrink:0}.calc-tool-promo-view{background:var(--surface-color);color:var(--text-muted);border:1px solid var(--border-color);border-radius:8px;text-decoration:none}.calc-tool-promo-add,.calc-tool-promo-view{padding:6px 10px;font-size:.72rem;font-weight:700;min-height:34px;display:inline-flex;align-items:center}.calc-tool-promo-add{background:#16a34a;color:#fff;border:none;border-radius:8px;cursor:pointer;gap:4px;font-family:inherit}.calc-tool-promo-add:hover{background:#15803d}.calc-tool-promo-add:focus-visible,.calc-tool-promo-view:focus-visible{outline:2px solid var(--primary-red);outline-offset:2px}.calc-swap-btn{width:44px;height:44px;border-radius:12px;border:1px solid var(--border-color);background:var(--md-sys-color-surface-container);color:var(--text-main);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.calc-swap-btn:hover{background:var(--md-sys-color-primary-container,var(--primary-red-light,#fee2e2));color:var(--primary-red)}.calc-swap-btn:focus-visible{outline:2px solid var(--primary-red);outline-offset:2px}