.recon-card{display:flex;flex-direction:column;gap:1.5rem}.recon-content-width{margin-inline:auto;width:100%;max-width:64rem}.tools-main{min-height:100vh;background:var(--pf-bg)}.recon-card__title{margin:0;font-size:var(--text-lg);font-weight:500;color:var(--pf-text-strong)}.recon-card__grid{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width:768px){.recon-card__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}}.recon-card__grid--results{gap:1.5rem}@media (min-width:768px){.recon-card__grid--results{gap:2rem}}.recon-result{display:flex;flex-direction:column;gap:.5rem}.recon-result.is-muted{opacity:.5}.recon-result__head{display:flex;flex-direction:column;gap:.125rem}.recon-result__title{font-size:var(--text-md);letter-spacing:var(--pf-tracking-label);text-transform:uppercase;color:var(--pf-accent)}.recon-result__subtitle{font-size:var(--text-sm);line-height:var(--pf-line-tight);color:var(--pf-text-soft)}.recon-card__links,.recon-card__results,.recon-card__stack,.recon-result__stack{display:flex;flex-direction:column}.recon-result__stack{gap:.5rem}.recon-result__box{border:2px solid var(--pf-accent);border-radius:var(--pf-radius-card);padding:.75rem}@media (min-width:768px){.recon-result__box{padding:.625rem 1rem}}.recon-card__stat,.recon-result__row,.recon-result__value{display:flex;align-items:baseline}.recon-result__row{justify-content:space-between}.recon-card__stat-label,.recon-result__label{font-size:var(--text-sm);font-weight:500;letter-spacing:var(--pf-tracking-label);text-transform:uppercase;color:var(--pf-text-soft)}@media (min-width:640px){.recon-card__stat-label,.recon-result__label{font-size:var(--text-2xs)}}.recon-result__value{gap:.25rem}.recon-result__number{font-size:var(--text-xl);font-weight:400;color:var(--pf-text-strong)}@media (min-width:640px){.recon-result__number{font-size:var(--text-result-2xs)}}.recon-result__number--placeholder{color:var(--pf-text-soft)}.recon-result__number--accent,.recon-result__unit{color:var(--pf-accent)}.recon-result__unit{font-size:var(--text-md);font-weight:500}.recon-result__meta{font-size:var(--text-md);color:var(--pf-text-soft)}.recon-card__stack,.recon-card__stack--balanced{gap:1rem}@media (min-width:768px){.recon-card__stack--balanced{justify-content:space-between;padding-bottom:1.75rem}}.recon-card__stat{gap:.5rem}.recon-card__stat-value{font-size:var(--text-xl);font-weight:500;color:var(--pf-text-strong)}.recon-card__links{gap:.5rem}.recon-card__results{gap:1rem}.recon-input-group{display:flex;flex-direction:column;gap:.375rem}.recon-input-label{font-size:var(--text-sm);font-weight:500;color:var(--pf-text-soft)}.recon-input-wrapper{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;min-height:52px;border:1.5px solid var(--pf-line);border-radius:var(--pf-radius-md);background:var(--pf-bg);transition:border-color .12s ease,box-shadow .12s ease}.recon-input-wrapper:focus-within{border-color:var(--pf-accent);box-shadow:0 0 0 1px var(--pf-accent)}.recon-input{flex:1;min-width:0;padding:0;border:0;background:transparent;font-size:var(--text-lg);color:var(--pf-text-strong);line-height:var(--pf-line-normal);outline:2px solid transparent;outline-offset:2px}@media (min-width:640px){.recon-input{font-size:var(--text-md)}}.recon-input::placeholder{color:var(--pf-text-soft)}.recon-input:focus{outline:2px solid transparent;outline-offset:2px}.recon-input-wrapper--vial{border-color:var(--pf-accent)}.recon-input-wrapper--vial:focus-within{border-color:var(--pf-accent);box-shadow:0 0 0 1px var(--pf-accent)}.recon-input-wrapper--dose{border-color:var(--pf-accent-mid)}.recon-input-wrapper--dose:focus-within{border-color:var(--pf-accent-mid);box-shadow:0 0 0 1px var(--pf-accent-mid)}.recon-input-wrapper:has(.recon-input--vial){border-color:var(--pf-accent)}.recon-input-wrapper:has(.recon-input--vial):focus-within{box-shadow:0 0 0 1px var(--pf-accent)}.recon-input-wrapper:has(.recon-input--dose){border-color:var(--pf-accent-mid)}.recon-input-wrapper:has(.recon-input--dose):focus-within{box-shadow:0 0 0 1px var(--pf-accent-mid)}.recon-input-suffix{flex:0 0 auto;font-size:var(--text-sm);font-weight:500;color:var(--pf-text-soft);white-space:nowrap;padding-left:.25rem}.recon-input::-webkit-inner-spin-button,.recon-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.recon-input[type=number]{-moz-appearance:textfield;appearance:textfield}.recon-input-unit-control{position:relative;flex:0 0 auto;margin-left:.25rem}.recon-input-unit{display:inline-flex;align-items:center;gap:.25rem;font-size:var(--text-sm);font-weight:500;color:var(--pf-text-soft);white-space:nowrap;border:0;background:transparent;padding:.125rem .25rem;cursor:pointer;border-radius:var(--pf-radius-sm);transition:color var(--pf-motion-fast)}.recon-input-unit:hover{color:var(--pf-text-strong)}.recon-input-unit:focus-visible{outline:2px solid var(--pf-accent);outline-offset:1px}.recon-input-unit__chevron{width:.75rem;height:.75rem;flex:0 0 auto;opacity:.7}.recon-input-unit-menu{position:absolute;top:calc(100% + .375rem);right:0;z-index:30;min-width:4.5rem;margin:0;padding:.25rem;list-style:none;background:var(--pf-surface);border:1px solid var(--pf-line);border-radius:var(--pf-radius-md);box-shadow:var(--pf-shadow-elevation)}.recon-input-unit-option{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;padding:.375rem .5rem;border:0;background:transparent;border-radius:var(--pf-radius-sm);font-size:var(--text-sm);font-weight:500;color:var(--pf-text-strong);text-align:left;cursor:pointer;transition:background-color var(--pf-motion-fast)}.recon-input-unit-option:hover{background:var(--pf-bg)}.recon-input-unit-option--active{color:var(--pf-accent)}.recon-input-unit-option__check{width:.875rem;height:.875rem;flex:0 0 auto}.recon-presets{display:flex;flex-wrap:wrap;gap:.375rem}.recon-preset-chip{padding:.25rem .75rem;border:1px solid var(--pf-line);border-radius:var(--pf-radius-pill);background:var(--pf-bg);font-size:var(--text-sm);color:var(--pf-text-soft);white-space:nowrap;cursor:pointer;transition:background-color var(--pf-motion-fast),border-color var(--pf-motion-fast),color var(--pf-motion-fast)}.recon-preset-chip--active,.recon-preset-chip:hover{border-color:var(--pf-accent);color:var(--pf-accent)}.recon-preset-chip--active{background:var(--pf-accent-light);font-weight:500}.recon-preset-chip--vial{border-color:var(--pf-accent-border)}.recon-preset-chip--vial,.recon-preset-chip--vial:hover{background:var(--pf-accent-light);color:var(--pf-accent)}.recon-preset-chip--vial:hover{border-color:var(--pf-accent)}.recon-preset-chip--vial.recon-preset-chip--active{background:var(--pf-accent);border-color:var(--pf-accent);color:#fff}.recon-preset-chip--dose{background:var(--pf-accent-light);border-color:var(--pf-accent-midlight);color:var(--pf-blue-on-light)}.recon-preset-chip--dose:hover{border-color:var(--pf-accent-mid);color:var(--pf-blue-on-light)}.recon-preset-chip--dose.recon-preset-chip--active{background:var(--pf-accent-mid);border-color:var(--pf-accent-mid);color:#fff}.recon-error{font-size:var(--text-sm);color:var(--pf-error);font-weight:500}.recon-link{color:var(--pf-accent);text-decoration:none}.recon-link:hover{text-decoration:underline}.recon-cross-link{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .75rem;border:1px solid var(--pf-line);border-radius:var(--pf-radius-pill);font-size:var(--text-sm);color:var(--pf-text-soft);text-decoration:none;transition:border-color var(--pf-motion-fast),color var(--pf-motion-fast)}.recon-cross-link:hover{border-color:var(--pf-accent);color:var(--pf-accent)}.recon-input-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;align-items:start}@media (max-width:480px){.recon-input-row{grid-template-columns:1fr}}