.rec{--rec-surface:rgba(var(--paper-rgb),1);--rec-line:rgba(var(--pine-rgb),.2);--rec-soft:rgba(var(--sage-rgb),.2);--rec-good:#3E7A4F;--rec-warn:#8F6713;--rec-gap:#A2574A;color:var(--ink);overflow-wrap:anywhere}
:root[data-theme="dark"] .rec{--rec-surface:var(--deep-pine);--ink:var(--paper);--slate:#CCD2C5;--rec-line:rgba(var(--sage-rgb),.3);--rec-good:#7FB58D;--rec-warn:#D9B25F;--rec-gap:#D98C7E;background:var(--deep-pine)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .rec{--rec-surface:var(--deep-pine);--ink:var(--paper);--slate:#CCD2C5;--rec-line:rgba(var(--sage-rgb),.3);--rec-good:#7FB58D;--rec-warn:#D9B25F;--rec-gap:#D98C7E;background:var(--deep-pine)}}
.rec *{min-width:0}
.rec-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,380px);gap:2rem;align-items:start}
@media (max-width:900px){.rec-grid{grid-template-columns:minmax(0,1fr)}}
.rec fieldset{border:0;margin:0;padding:0;min-width:0}
.rec-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.rec-arr{max-width:360px;margin-bottom:1rem}
.rec-field{display:grid;gap:.3rem;margin:0 0 .7rem}
.rec label{text-transform:none;letter-spacing:0;font-size:.85rem;color:var(--ink)}
.rec select,.rec input[type=text],.rec input[type=email]{width:100%;background:var(--rec-surface);color:var(--ink);border:1px solid var(--rec-line);border-radius:var(--radius)}
.rec-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.rec-scale{display:flex;flex-wrap:wrap;gap:.3rem 1.1rem;font-size:.82rem;color:var(--slate);margin:0 0 .6rem}
.rec-scale b{color:var(--ink)}
.rec-area{border-top:1px solid var(--sage)!important;padding:1rem 0 .3rem!important}
.rec-area legend{float:left;width:100%;padding:0;margin:0 0 .6rem;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--pine)}
.rec-area legend+*{clear:both}
:root[data-theme="dark"] .rec-area legend{color:var(--sage)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .rec-area legend{color:var(--sage)}}
.rec-q{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem 1.1rem;align-items:center;padding:.6rem 0;border-bottom:1px solid var(--rec-line)}
.rec-q p{margin:0}
@media (max-width:560px){.rec-q{grid-template-columns:minmax(0,1fr)}}
.rec-seg{position:relative;display:inline-flex;border:1px solid var(--rec-line);border-radius:var(--radius);overflow:hidden;background:var(--rec-surface);justify-self:start}
.rec-seg input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.rec-seg label{min-width:46px;min-height:44px;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:600;cursor:pointer;color:var(--slate);border-left:1px solid var(--rec-line);font-variant-numeric:tabular-nums}
.rec-seg input:first-child+label{border-left:0}
.rec-seg input:checked+label{background:var(--pine);color:var(--paper)}
:root[data-theme="dark"] .rec-seg input:checked+label{background:var(--sage);color:var(--deep-pine)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .rec-seg input:checked+label{background:var(--sage);color:var(--deep-pine)}}
.rec-seg input:focus-visible+label{outline:3px solid var(--pine);outline-offset:-3px;box-shadow:inset 0 0 0 5px var(--rec-surface)}
:root[data-theme="dark"] .rec-seg input:focus-visible+label{outline-color:var(--sage)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .rec-seg input:focus-visible+label{outline-color:var(--sage)}}
.rec-seg label:hover{color:var(--ink)}
.rec-seg input:checked+label:hover{color:inherit}
.rec-card{position:sticky;top:1rem;background:var(--rec-surface);border:1px solid var(--rec-line);padding:1.4rem}
@media (max-width:900px){.rec-card{position:static}}
.rec-k{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--slate);margin:0 0 .4rem}
.rec-score{display:flex;align-items:baseline;gap:.6rem}
.rec-big{font-family:var(--font-display);font-size:3.4rem;line-height:1;font-variant-numeric:tabular-nums}
.rec-of{color:var(--slate);font-size:.85rem}
.rec-progress{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .6rem;font-size:.82rem;color:var(--slate);margin:.4rem 0 1rem}
.rec-pill{display:inline-block;font-size:.75rem;font-weight:700;padding:.1rem .65rem;border-radius:999px;border:1px solid currentColor}
.rec-pill.good{color:var(--rec-good)}.rec-pill.warn{color:var(--rec-warn)}.rec-pill.gap{color:var(--rec-gap)}.rec-pill.none{color:var(--slate)}
.rec-bars{display:grid;gap:.45rem;margin:0 0 1.1rem}
.rec-bar{display:grid;grid-template-columns:minmax(0,1fr) 72px 28px;gap:.5rem;align-items:center;font-size:.78rem;line-height:1.25}
.rec-track{height:8px;background:var(--rec-soft);border-radius:4px;overflow:hidden}
.rec-fill{height:100%;border-radius:4px;background:var(--sage)}
.rec-fill.warn{background:var(--rec-warn)}.rec-fill.gap{background:var(--rec-gap)}
.rec-bar b{text-align:right;font-variant-numeric:tabular-nums}
.rec-gaps{list-style:none;margin:0 0 1.1rem;padding:0;display:grid;gap:.6rem}
.rec-gaps li{border-left:3px solid var(--rec-gap);padding:.1rem 0 .1rem .65rem;font-size:.88rem}
.rec-gaps strong{display:block;font-size:.85rem}
.rec-range{background:var(--deep-pine);color:var(--paper);padding:1rem;margin:0 0 1.1rem}
.rec-range .rec-k{color:var(--sage)}
.rec-val{font-family:var(--font-display);font-size:1.75rem;line-height:1.15;font-variant-numeric:tabular-nums}
.rec-range p:last-child{margin:.4rem 0 0;font-size:.85rem;opacity:.85}
.rec-gate-intro{font-size:.92rem;margin:0 0 .8rem}
.rec-check{display:flex;gap:.6rem;align-items:flex-start;margin:0 0 .7rem}
.rec-check input{margin-top:.3rem;width:1.1rem;height:1.1rem;flex:none;accent-color:var(--pine)}
.rec-check label{font-size:.85rem}
.rec-check input:focus-visible{outline:2px solid var(--pine);outline-offset:2px}
:root[data-theme="dark"] .rec-check input{accent-color:var(--sage)}
:root[data-theme="dark"] .rec-check input:focus-visible{outline-color:var(--sage)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .rec-check input{accent-color:var(--sage)}:root:not([data-theme="light"]) .rec-check input:focus-visible{outline-color:var(--sage)}}
.rec-err{color:var(--rec-gap);font-size:.85rem;margin:0 0 .6rem}
.rec-submit{width:100%;font-family:var(--font-body);font-size:.92rem;padding:.85rem 1rem;border:1px solid var(--pine);background:var(--pine);color:var(--paper);border-radius:var(--radius);cursor:pointer}
.rec-submit:hover{background:var(--deep-pine)}
.rec-submit:disabled{opacity:.6;cursor:wait}
.rec-submit:focus-visible{outline:3px solid var(--sage);outline-offset:2px}
:root[data-theme="dark"] .rec-submit{background:var(--sage);color:var(--deep-pine);border-color:var(--sage)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .rec-submit{background:var(--sage);color:var(--deep-pine);border-color:var(--sage)}}
.rec-done{border:1px solid var(--sage);padding:1rem;font-size:.95rem}
@media (prefers-reduced-motion:no-preference){.rec-fill{transition:width .35s ease}}
