.tool-shell{background:color-mix(in srgb, var(--surface) 96%, transparent);border:1px solid var(--rule);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:clamp(1.25rem,4vw,2.25rem)}.tool-noscript{border-radius:var(--radius);padding:var(--s-4);font-size:var(--t-sm);color:#6b4e00;margin-bottom:var(--s-5);background:#fff4d6;border:1px solid #e5c158}.tool-disclaimer{margin-top:var(--s-5);color:var(--ink-faint);font-size:.75rem;line-height:1.6}.tool-disclaimer p+p{margin-top:.6rem}.t-field{margin-bottom:var(--s-5);gap:.4rem;display:grid}.t-field>label,.t-fieldset>legend{font-size:var(--t-sm);color:var(--ink);font-weight:600}.t-hint{font-size:var(--t-xs);color:var(--ink-muted);line-height:1.5}.t-field input[type=text],.t-field input[type=number],.t-field input[type=date],.t-field select{background:var(--porcelain);border:1px solid var(--rule);border-radius:var(--radius);width:100%;min-height:48px;color:var(--ink);padding:.75rem .9rem;font-size:1rem}.t-field input:focus-visible,.t-field select:focus-visible{border-color:var(--navy);box-shadow:0 0 0 3px var(--navy-tint);outline:none}.t-fieldset{margin:0 0 var(--s-5);border:0;padding:0}.t-fieldset>legend{margin-bottom:.6rem;padding:0}.t-options{gap:var(--s-2);display:grid}.t-option{background:var(--porcelain);border:1px solid var(--rule);border-radius:var(--radius);cursor:pointer;transition:border-color .2s var(--ease), background-color .2s var(--ease);align-items:flex-start;gap:.7rem;padding:.75rem .9rem;display:flex}.t-option:hover{border-color:color-mix(in srgb, var(--navy) 40%, transparent)}.t-option:has(input:checked){border-color:var(--navy);background:var(--navy-wash)}.t-option input{accent-color:var(--navy);flex:none;margin-top:.2rem}.t-option span{font-size:var(--t-sm);line-height:1.5}.t-option strong{color:var(--ink);display:block}.t-option em{font-style:normal;font-size:var(--t-xs);color:var(--ink-muted);display:block}.t-row{gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));display:grid}.t-actions{gap:var(--s-3);margin-top:var(--s-6);flex-wrap:wrap;display:flex}.t-error{color:#a42c1e;font-size:var(--t-sm);margin-top:var(--s-3)}.t-error:empty{display:none}.t-result{margin-top:var(--s-6);padding-top:var(--s-6);border-top:1px solid var(--rule)}.t-result[hidden]{display:none}.t-result__eyebrow{font-size:var(--t-xs);letter-spacing:.11em;text-transform:uppercase;color:var(--navy);margin-bottom:var(--s-3);font-weight:600}.t-result__head{font-family:var(--font-display);font-size:var(--t-2xl);color:var(--ink);margin-bottom:var(--s-4);letter-spacing:-.015em;line-height:1.15}.t-result__body{color:var(--ink-body);line-height:1.65}.t-result__body p+p{margin-top:.9rem}.t-stats{background:var(--rule);border:1px solid var(--rule);border-radius:var(--radius-lg);margin:var(--s-5) 0;grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));gap:1px;display:grid;overflow:hidden}.t-stat{background:var(--porcelain);padding:var(--s-4);gap:.2rem;display:grid}.t-stat__value{font-family:var(--font-display);color:var(--navy);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:clamp(1.35rem,3vw,1.75rem);line-height:1}.t-stat__label{font-size:var(--t-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);line-height:1.35}.t-timeline{margin:var(--s-5) 0;gap:0;padding:0;list-style:none;display:grid}.t-timeline li{padding:0 0 var(--s-5) var(--s-6);border-left:1px solid var(--rule);position:relative}.t-timeline li:last-child{border-left-color:#0000;padding-bottom:0}.t-timeline li:before{content:"";background:var(--navy);border-radius:50%;width:8px;height:8px;position:absolute;top:.45em;left:-4.5px}.t-timeline li[data-past]:before{background:var(--rule)}.t-timeline__when{font-size:var(--t-xs);letter-spacing:.07em;text-transform:uppercase;color:var(--navy);margin-bottom:.2rem;font-weight:600;display:block}.t-timeline li[data-past] .t-timeline__when{color:var(--ink-faint)}.t-timeline__what{color:var(--ink);margin-bottom:.15rem;font-weight:600;display:block}.t-timeline__note{font-size:var(--t-sm);color:var(--ink-muted);line-height:1.55}.cost-cols{gap:var(--s-4);margin:var(--s-5) 0;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));display:grid}.cost-col{border:1px solid var(--rule);border-radius:var(--radius-lg);padding:var(--s-5);background:var(--porcelain)}.cost-col[data-winner]{border-color:var(--navy);background:var(--navy-wash);box-shadow:0 0 0 1px var(--navy)}.cost-col__name{font-size:var(--t-xs);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:var(--s-2);font-weight:600}.cost-col[data-winner] .cost-col__name{color:var(--navy)}.cost-col__total{font-family:var(--font-display);color:var(--ink);letter-spacing:-.025em;font-variant-numeric:tabular-nums;font-size:clamp(1.75rem,5vw,2.4rem);line-height:1}.cost-col[data-winner] .cost-col__total{color:var(--navy)}.cost-col__per{font-size:var(--t-xs);color:var(--ink-faint);margin-bottom:var(--s-4)}.cost-col__lines{font-size:var(--t-sm);gap:.4rem;padding:0;list-style:none;display:grid}.cost-col__lines li{justify-content:space-between;gap:var(--s-3);color:var(--ink-muted);border-bottom:1px solid var(--rule-soft);padding-bottom:.4rem;display:flex}.cost-col__lines li:last-child{border-bottom:0}.cost-col__lines b{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.cost-col__flag{letter-spacing:.08em;text-transform:uppercase;color:var(--navy);border:1px solid var(--navy);margin-bottom:var(--s-3);background:#fff;border-radius:999px;padding:.1rem .55rem;font-size:.6875rem;font-weight:600;display:inline-block}
