.calc{position:relative;background:var(--card-bg);border:1px solid var(--card-line);border-radius:var(--r-xl);box-shadow:var(--sh-3);padding:var(--sp-6);margin-bottom:var(--sp-6);opacity:0;transform:scale(.97);animation:calcIn .38s var(--ease-spring) forwards}@keyframes calcIn{to{opacity:1;transform:none}}@media (max-width:640px){.calc{padding:var(--sp-5) var(--sp-4);border-radius:var(--r-lg)}}.calc__head{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:baseline;justify-content:space-between;margin-bottom:var(--sp-5)}.calc__head h2{margin:0;font-size:var(--step-1);font-family:var(--font-sans);font-weight:700}.calc__head h2::after{display:none}.calc__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-4) var(--sp-5)}@media (max-width:640px){.calc__fields{grid-template-columns:1fr}}.calc__fields .span-2{grid-column:1/-1}.field{position:relative;display:flex;flex-direction:column;gap:.35rem}.field__label{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:var(--step--1);font-weight:600;color:var(--text-soft);margin:0;transition:color var(--t-fast) var(--ease-out)}.field:focus-within .field__label{color:var(--brand-text)}.field__hint{font-size:.74rem;color:var(--text-faint);font-weight:500}.field__control{position:relative;display:flex;align-items:center}.field__control .unit{position:absolute;right:.9rem;font-size:var(--step--1);color:var(--text-faint);pointer-events:none;font-weight:600}.field__control .prefix{position:absolute;left:.9rem;font-size:var(--step--1);color:var(--text-faint);pointer-events:none;font-weight:600}.field__control.has-prefix input{padding-left:2.05rem}.field__control.has-unit input{padding-right:3.1rem}.field__control::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,var(--brand-500),var(--accent-400));border-radius:0 0 var(--r-md) var(--r-md);transform:scaleX(0);transform-origin:0 50%;transition:transform .26s var(--ease-out);pointer-events:none}.field__control:focus-within::after{transform:scaleX(1)}.field__error{display:none;align-items:center;gap:.35rem;font-size:.78rem;color:var(--danger);font-weight:600;margin-top:.1rem}.field__error svg{width:14px;height:14px;flex:0 0 14px}.field.has-error .field__error{display:flex}.field.has-error input,.field.has-error select{border-color:var(--danger)}.field.has-error .field__label{color:var(--danger)}.slider{position:relative;margin-top:.55rem;padding-top:.2rem}.slider input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:22px;background:transparent;padding:0;border:0;margin:0;min-height:22px;cursor:pointer}.slider input[type=range]:focus{outline:none;box-shadow:none}.slider input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:var(--r-full);background:linear-gradient(90deg,var(--brand-500) 0%,var(--accent-400) var(--fill,0%),var(--surface-3) var(--fill,0%),var(--surface-3) 100%)}.slider input[type=range]::-moz-range-track{height:6px;border-radius:var(--r-full);background:var(--surface-3)}.slider input[type=range]::-moz-range-progress{height:6px;border-radius:var(--r-full);background:linear-gradient(90deg,var(--brand-500),var(--accent-400))}.slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;margin-top:-6px;border-radius:50%;background:var(--card-bg);border:3px solid var(--brand-600);box-shadow:var(--sh-1);transition:transform var(--t-fast) var(--ease-spring),box-shadow var(--t-fast) var(--ease-out)}.slider input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--card-bg);border:3px solid var(--brand-600);box-shadow:var(--sh-1)}.slider input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:var(--sh-glow)}.slider.is-dragging input[type=range]::-webkit-slider-thumb{transform:scale(1.25)}.slider.is-dragging input[type=range]::-moz-range-thumb{transform:scale(1.25)}.slider__bubble{position:absolute;top:-1.55rem;transform:translateX(-50%) scale(.9);background:var(--ink);color:#fff;font-family:var(--font-mono);font-size:.72rem;padding:.12rem .42rem;border-radius:var(--r-sm);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--t-fast) linear,transform var(--t-fast) var(--ease-spring)}:root[data-theme="dark"] .slider__bubble{background:var(--surface-3);border:1px solid var(--card-line)}.slider.is-dragging .slider__bubble,.slider:focus-within .slider__bubble{opacity:1;transform:translateX(-50%) scale(1)}.slider__scale{display:flex;justify-content:space-between;font-size:.7rem;color:var(--text-faint);margin-top:.15rem;font-family:var(--font-mono)}.seg{position:relative;display:inline-flex;padding:3px;gap:0;background:var(--surface-3);border-radius:var(--r-full);border:1px solid var(--card-line)}.seg__pill{position:absolute;top:3px;bottom:3px;left:3px;background:var(--card-bg);border-radius:var(--r-full);box-shadow:var(--sh-1);transition:transform var(--t-med) var(--ease-spring),width var(--t-med) var(--ease-out);pointer-events:none}.seg button{position:relative;z-index:1;padding:.42rem .85rem;border-radius:var(--r-full);font-size:.82rem;font-weight:700;color:var(--text-soft);min-height:36px;transition:color var(--t-fast) var(--ease-out);white-space:nowrap}.seg button[aria-pressed="true"]{color:var(--brand-text)}.seg button:hover{color:var(--text)}.calc__actions{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-top:var(--sp-5)}.calc__actions .btn{flex:0 1 auto}@media (max-width:520px){.calc__actions .btn{flex:1 1 100%}}.result-panel{margin-top:var(--sp-5);border-radius:var(--r-lg);border:1px solid var(--card-line);background:linear-gradient(180deg,var(--surface-2),var(--card-bg));overflow:hidden;max-height:0;opacity:0;transition:max-height .45s var(--ease-out),opacity .35s var(--ease-out),margin-top .3s var(--ease-out)}.result-panel.is-open{max-height:3000px;opacity:1}.result-panel.is-pulse{animation:resultPulse .6s var(--ease-out)}@keyframes resultPulse{0%{box-shadow:0 0 0 0 rgba(249,147,7,.42)}70%{box-shadow:0 0 0 12px rgba(249,147,7,0)}100%{box-shadow:0 0 0 0 rgba(249,147,7,0)}}.result-panel__inner{padding:var(--sp-5)}@media (max-width:640px){.result-panel__inner{padding:var(--sp-4)}}.result-primary{display:flex;flex-wrap:wrap;align-items:baseline;gap:.6rem var(--sp-4);margin-bottom:var(--sp-4)}.result-primary__label{font-size:var(--step--1);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-soft);width:100%}.result-primary__value{font-family:var(--font-mono);font-size:var(--step-4);font-weight:700;color:var(--brand-text-strong);line-height:1.05;font-variant-numeric:tabular-nums;letter-spacing:-.02em;word-break:break-word}.result-primary__suffix{font-family:var(--font-sans);font-size:var(--step-1);font-weight:700;color:var(--text-soft)}.result-primary__tag{font-size:var(--step--1);font-weight:700;padding:.24rem .7rem;border-radius:var(--r-full);background:var(--surface-3);color:var(--text-soft)}.result-primary__tag.is-ok{background:color-mix(in srgb,var(--ok) 16%,transparent);color:var(--ok)}.result-primary__tag.is-warn{background:color-mix(in srgb,var(--warn) 18%,transparent);color:var(--warn)}.result-primary__tag.is-danger{background:color-mix(in srgb,var(--danger) 16%,transparent);color:var(--danger)}@supports not (background:color-mix(in srgb,red 10%,transparent)){.result-primary__tag.is-ok,.result-primary__tag.is-warn,.result-primary__tag.is-danger{background:var(--surface-3)}}.result-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--sp-3);margin-bottom:var(--sp-4)}.result-tile{padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);background:var(--card-bg);border:1px solid var(--card-line)}.result-tile span{display:block;font-size:.75rem;color:var(--text-faint);font-weight:600;letter-spacing:.03em}.result-tile b{display:block;font-family:var(--font-mono);font-size:var(--step-1);color:var(--text);margin-top:.15rem;font-variant-numeric:tabular-nums;word-break:break-word}.result-tile small{display:block;font-size:.72rem;color:var(--text-faint);margin-top:.1rem}.result-note{font-size:var(--step--1);color:var(--text-soft);margin:0}.result-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:var(--sp-4);padding-top:var(--sp-4);border-top:1px solid var(--card-line)}.chart{margin:var(--sp-5) 0 0}.chart__title{font-size:var(--step--1);font-weight:700;color:var(--text-soft);margin-bottom:var(--sp-3)}.chart svg{width:100%;height:auto;overflow:visible}.chart .bar{transform-origin:50% 100%;transform:scaleY(0);animation:barGrow .7s var(--ease-out) forwards}.chart .bar:nth-child(2){animation-delay:.06s}.chart .bar:nth-child(3){animation-delay:.12s}.chart .bar:nth-child(4){animation-delay:.18s}.chart .bar:nth-child(5){animation-delay:.24s}@keyframes barGrow{to{transform:scaleY(1)}}.chart .donut-seg{stroke-dasharray:var(--dash);stroke-dashoffset:var(--len);animation:donutDraw .9s var(--ease-out) forwards;animation-delay:var(--delay,0s)}@keyframes donutDraw{to{stroke-dashoffset:var(--off)}}.chart__legend{display:flex;flex-wrap:wrap;gap:.5rem var(--sp-4);margin-top:var(--sp-3);font-size:var(--step--1)}.chart__legend span{display:inline-flex;align-items:center;gap:.4rem;color:var(--text-soft)}.chart__legend i{width:11px;height:11px;border-radius:3px;display:inline-block}.chart__axis{font-family:var(--font-mono);font-size:10px;fill:var(--muted-2)}.breakdown{margin-top:var(--sp-5)}.breakdown__toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);background:var(--surface-3);font-weight:700;font-size:var(--step--1);color:var(--text);min-height:44px}.breakdown__toggle svg{width:16px;height:16px;transition:transform var(--t-med) var(--ease-out)}.breakdown__toggle[aria-expanded="true"] svg{transform:rotate(180deg)}.breakdown__body{max-height:0;overflow:hidden;transition:max-height var(--t-med) var(--ease-out)}.breakdown__scroll{max-height:420px;overflow:auto;border:1px solid var(--card-line);border-radius:var(--r-md);margin-top:var(--sp-3)}.breakdown__scroll thead th{position:sticky;top:0;z-index:1;background:var(--surface-3)}.breakdown__scroll tbody tr{opacity:0;animation:rowIn .3s var(--ease-out) forwards}@keyframes rowIn{to{opacity:1}}.mini-result{position:fixed;left:0;right:0;bottom:0;z-index:45;display:none;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:.7rem var(--sp-4);background:var(--glass-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--card-line);box-shadow:0 -6px 20px rgba(11,18,32,.1);transform:translateY(110%);transition:transform var(--t-med) var(--ease-out);width:100%;text-align:left;min-height:56px}@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.mini-result{background:var(--card-bg)}}@media (max-width:768px){.mini-result{display:flex}}.mini-result.is-up{transform:translateY(0)}.mini-result span{font-size:.72rem;color:var(--text-faint);display:block;letter-spacing:.06em;text-transform:uppercase;font-weight:700}.mini-result b{font-family:var(--font-mono);font-size:var(--step-1);color:var(--brand-text-strong);font-variant-numeric:tabular-nums}.mini-result svg{width:18px;height:18px;color:var(--text-faint);flex:0 0 18px}.rows{display:flex;flex-direction:column;gap:var(--sp-3)}.rows__row{display:grid;grid-template-columns:1.6fr 1fr auto;gap:var(--sp-3);align-items:end}@media (max-width:560px){.rows__row{grid-template-columns:1fr 1fr auto}}.rows__del{width:38px;height:38px;flex:0 0 38px;border-radius:var(--r-md);display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--card-line);color:var(--text-faint);background:var(--card-bg)}.rows__del:hover{border-color:var(--danger);color:var(--danger)}.rows__del svg{width:15px;height:15px}.rows__add{margin-top:var(--sp-3)}.keypad{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.45rem;margin-top:var(--sp-4)}.keypad button{min-height:48px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--card-line);font-family:var(--font-mono);font-size:var(--step-0);font-weight:600;color:var(--text);transition:background var(--t-fast) var(--ease-out),transform var(--t-fast) var(--ease-spring)}.keypad button:hover{background:var(--surface-3)}.keypad button:active{transform:scale(.94)}.keypad button.op{color:var(--brand-text)}.keypad button.fn{font-size:.8rem;color:var(--accent-text)}.keypad button.eq{background:linear-gradient(135deg,var(--accent-400),var(--accent-600));color:#2a1503;border-color:transparent}.keypad button.clr{color:var(--danger)}.calc__display{font-family:var(--font-mono);text-align:right;padding:var(--sp-4);background:var(--code-bg);border:1px solid var(--card-line);border-radius:var(--r-md);min-height:88px;display:flex;flex-direction:column;justify-content:flex-end;gap:.3rem;word-break:break-all}.calc__display .expr{font-size:var(--step-0);color:var(--text-soft);min-height:1.4em}.calc__display .val{font-size:var(--step-2);font-weight:700;color:var(--text)}
