:root {
      color-scheme:light;
      --bg:#f3f4ee;
      --paper:#fffefa;
      --paper-soft:#f6f8f3;
      --ink:#162822;
      --ink-soft:#52635b;
      --muted:#75847b;
      --line:#e0e7df;
      --accent:#ed7655;
      --accent-dark:#c95236;
      --accent-light:#fff0e9;
      --green:#21755c;
      --green-light:#e4f2e9;
      --amber:#9e621e;
      --amber-light:#fff2dd;
      --red:#b44837;
      --red-light:#fff0e9;
      --shadow:0 6px 24px rgba(21,47,34,.045);
      --round:20px;
      font-family:"Avenir Next","Nunito Sans",Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
    }
    *,*::before,*::after{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;color:var(--ink);background:radial-gradient(ellipse 750px 850px at -18% 30%,#e5eee5 0%,transparent 73%),var(--bg);line-height:1.5;font-size:14px;-webkit-font-smoothing:antialiased}
    button,input,select{font:inherit}
    button{cursor:pointer}
    button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #ffb993;outline-offset:3px}
    .shell{max-width:1500px;margin:auto;padding:25px clamp(18px,3.8vw,56px) 48px}
    .hero{position:relative;isolation:isolate;overflow:hidden;background:#152922;color:#f9f8f0;border-radius:26px;padding:0 clamp(24px,3.7vw,49px);box-shadow:0 15px 40px rgba(16,38,31,.12)}
    .hero::before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at 91% 6%,rgba(125,183,158,.17),transparent 28%),radial-gradient(circle at 53% 102%,rgba(255,157,116,.11),transparent 33%);pointer-events:none}
    .hero::after{content:"";position:absolute;z-index:-1;right:-80px;top:-125px;border:1px solid rgba(247,246,240,.08);width:370px;height:370px;border-radius:50%;box-shadow:0 0 0 84px rgba(248,248,242,.025),0 0 0 168px rgba(248,248,242,.012);pointer-events:none}
    .masthead{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:21px 0;border-bottom:1px solid rgba(243,249,242,.13)}
    .brand{display:flex;align-items:center;gap:11px}
    .logo{display:grid;place-items:center;width:39px;height:39px;border:1px solid rgba(246,247,238,.2);border-radius:12px;background:#f7f1e3;color:#162c24;transform:rotate(-4deg)}
    .logo svg{transform:rotate(4deg)}
    .brand-kicker{font-size:9px;font-weight:850;letter-spacing:.22em;text-transform:uppercase;color:#a7cdb8;line-height:1.5}
    .brand-name{font-size:14px;font-weight:850;letter-spacing:.055em;text-transform:uppercase;line-height:1.3;color:#fff}
    .brand-name span{color:#f3a587!important;font-weight:700!important}
    .topnote{display:flex;align-items:center;gap:9px;font-size:10px;letter-spacing:.08em;font-weight:750;color:#d4e6da;text-transform:uppercase}
    .topnote::before{content:"";width:7px;height:7px;border-radius:50%;background:#a6e3b9;box-shadow:0 0 0 5px rgba(166,227,185,.12);flex:none}
    .intro{position:relative;display:flex;justify-content:space-between;align-items:center;gap:25px;padding:38px 0 40px;min-height:340px}
    .intro-copy{position:relative;z-index:2;flex:1 1 60%;min-width:0}
    .eyebrow{display:flex;gap:9px;align-items:center;margin:0 0 14px;color:#ffb194;text-transform:uppercase;letter-spacing:.17em;font-size:10px;font-weight:850}
    .eyebrow::before{content:"";width:21px;height:1px;background:#ffac8a}
    h1{font-size:clamp(38px,5.15vw,70px);letter-spacing:-.06em;line-height:1.02;font-weight:740;margin:0 0 18px;max-width:750px}
    h1 em{color:#f4b191;font-family:Georgia,"Times New Roman",serif;font-size:.99em;letter-spacing:-.048em;font-weight:400}
    .lead{color:#bbd0c4;font-size:14px;line-height:1.7;max-width:515px;margin:0}
    .intro-actions{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:9px;margin-top:24px}
    .btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:39px;padding:9px 15px;border-radius:11px;border:1px solid #dce4db;background:#fffefa;color:#283e34;font-size:12px;font-weight:790;white-space:nowrap;transition:background .17s,border-color .17s,transform .17s,box-shadow .17s}
    .btn:hover{border-color:#aabdaf;background:#f4f8f3;transform:translateY(-1px);box-shadow:0 4px 12px #1c3f2a0b}
    .btn:active{transform:translateY(0);box-shadow:none}
    .btn.primary{background:var(--ink);color:#fff;border-color:var(--ink)}
    .btn.primary:hover{background:#284c3c}
    .btn.small{min-height:32px;padding:6px 11px;font-size:11px;border-radius:9px}
    .btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
    .btn svg{width:16px;height:16px;flex:none;stroke-width:1.9}
    .intro-actions .btn{background:transparent;border-color:rgba(242,247,240,.32);color:#f5f7ef}
    .intro-actions .btn:hover{background:rgba(241,248,238,.1);border-color:rgba(242,247,240,.7);box-shadow:none}
    .intro-actions .btn:first-child{background:#f7f4e9;color:#1b342a;border-color:#f7f4e9}
    .intro-actions .btn:first-child:hover{background:#fff}
    .hero-visual{position:relative;flex:0 1 40%;width:40%;max-width:475px;min-width:285px;align-self:stretch;display:flex;align-items:center;justify-content:center;z-index:1}
    .hero-visual::before{content:"";position:absolute;width:75%;aspect-ratio:1;max-width:300px;background:#abcdb31a;filter:blur(38px);border-radius:50%}
    .hero-visual svg{width:100%;height:auto;max-height:295px;display:block;filter:drop-shadow(0 6px 18px rgba(12,38,28,.22))}
    .hero-art-label{position:absolute;bottom:0;right:3px;font-size:10px;letter-spacing:.16em;color:#a9c8b8;font-weight:750}
    .hero-facts{display:flex;align-items:center;gap:22px;margin-top:23px;flex-wrap:wrap}
    .hero-fact{display:flex;gap:8px;align-items:baseline}
    .hero-fact strong{color:#fff;font-size:18px;line-height:1;font-weight:820;letter-spacing:-.05em;font-variant-numeric:tabular-nums}
    .hero-fact span{color:#9fc1ae;font-size:10px;font-weight:750;letter-spacing:.10em;text-transform:uppercase}
    .hero-fact+.hero-fact{padding-left:21px;border-left:1px solid rgba(245,251,243,.19)}
    .layout{display:grid;grid-template-columns:minmax(300px,360px) minmax(0,1fr);gap:23px;align-items:start;margin-top:26px}
    .controls-stack,.results-stack{display:flex;flex-direction:column;gap:15px;min-width:0}
    .card{background:var(--paper);border:1px solid var(--line);border-radius:var(--round);box-shadow:var(--shadow);overflow:hidden;min-width:0}
    .card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 23px;border-bottom:1px solid #ecf0e9}
    .card-head h2{font-size:16px;font-weight:810;letter-spacing:-.035em;margin:0;color:var(--ink);line-height:1.3}
    .card-subtitle{font-size:11px;color:var(--muted);margin:4px 0 0;line-height:1.45}
    .card-body{padding:22px 23px}
    .card-topline{display:flex;align-items:center;gap:10px}
    .num{display:inline-flex;justify-content:center;align-items:center;width:32px;height:32px;border-radius:10px;background:var(--accent-light);border:1px solid #f8dacb;color:#be573e;font-size:11px;letter-spacing:.03em;font-weight:850}
    .controls-group{display:grid;gap:19px}
    .control{min-width:0}
    .ctrl-top{display:flex;justify-content:space-between;align-items:center;gap:11px;margin-bottom:13px}
    .ctrl-top label{font-size:12px;font-weight:720;color:#40554a;line-height:1.35}
    .num-entry{display:flex;align-items:center;min-width:91px;max-width:117px;border:1px solid #dce5dc;background:#f8faf6;border-radius:10px;overflow:hidden;transition:border-color .15s,background .15s}
    .num-entry:focus-within{border-color:#e68c69;box-shadow:0 0 0 3px #ffeadf;background:white}
    .num-entry input{border:0;outline:0;background:transparent;width:100%;min-width:0;padding:8px 3px 8px 10px;font-size:13px;color:var(--ink);font-weight:820;text-align:right;font-variant-numeric:tabular-nums;appearance:textfield;-moz-appearance:textfield}
    input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
    .unit{padding:0 10px 0 2px;font-size:11px;font-weight:750;color:#8c988f;white-space:nowrap}
    /* Native progress supplies the coloured range fill without inline style attributes. */
.range-wrap{position:relative;height:20px;display:flex;align-items:center}
.ctrl-progress{position:absolute;top:50%;left:0;transform:translateY(-50%);width:100%;height:5px;border:0;border-radius:99px;appearance:none;-webkit-appearance:none;background:#e6eae3;overflow:hidden;pointer-events:none}
.ctrl-progress::-webkit-progress-bar{background:#e6eae3;border-radius:99px}
.ctrl-progress::-webkit-progress-value{background:#e67e5b;border-radius:99px}
.ctrl-progress::-moz-progress-bar{background:#e67e5b;border-radius:99px}
.ctrl-range{position:relative;z-index:1;display:block;width:100%;height:20px;margin:0;appearance:none;-webkit-appearance:none;border:0;outline:0;cursor:pointer;background:transparent}
.ctrl-range::-webkit-slider-runnable-track{height:5px;border:0;background:transparent}
.ctrl-range::-moz-range-track{height:5px;border:0;background:transparent}
    .ctrl-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;height:18px;width:18px;background:#fffefa;border:5px solid #db7656;border-radius:50%;box-shadow:0 1px 6px rgba(114,62,33,.22);transition:transform .13s}
    .ctrl-range::-webkit-slider-thumb:hover{transform:scale(1.14)}
    .ctrl-range::-moz-range-thumb{height:10px;width:10px;background:#fffefa;border:5px solid #db7656;border-radius:50%;box-shadow:0 1px 6px rgba(114,62,33,.22)}
    .ctrl-hint{display:flex;justify-content:space-between;gap:10px;color:#97a29a;font-size:10px;margin-top:10px;font-variant-numeric:tabular-nums}
    .pitch-info{font-size:11px;line-height:1.6;color:#5d7565;background:#f1f7ef;border:1px solid #dcebdc;border-radius:9px;padding:10px 11px;margin:13px 0 10px}
    .pitch-presets{display:flex;gap:6px;flex-wrap:wrap}
    .pitch-preset{flex:1 1 auto;min-width:82px;border-radius:8px;border:1px solid #dce6dc;background:#f9fbf7;padding:8px 7px;color:#466051;font-size:10px;font-weight:750;transition:background .15s,border-color .15s,color .15s}
    .pitch-preset:hover{background:#edf4e9;border-color:#a1c4ab}
    .pitch-preset[aria-pressed="true"]{background:#245941;color:#fff;border-color:#245941}
    .recommended{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px dashed #dde5db;padding-top:17px;margin-top:22px}
    .recommended span{color:var(--muted);font-size:11px;line-height:1.4}
    .selector{display:flex;gap:4px;padding:4px;border-radius:11px;background:#eff2ec;margin-bottom:18px}
    .selector button{flex:1;background:transparent;border:0;border-radius:8px;padding:10px;color:#6c7c71;font-size:12px;font-weight:760}
    .selector button[aria-selected=true]{background:#fffefa;color:#1a4231;box-shadow:0 2px 8px rgba(20,52,35,.09)}
    .mode-copy{margin:0 0 20px;color:var(--muted);font-size:11.5px;line-height:1.7}
    .select-line{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:20px}
    .select-line label{font-size:12px;color:#40554a;font-weight:720}
    .select-line select{border:1px solid #dce5dc;background:#f8faf6;border-radius:10px;padding:9px 11px;color:var(--ink);font-size:12px;font-weight:700;min-width:126px}
    .advanced{margin-top:19px;border-top:1px dashed #dce4db;padding-top:15px}
    .advanced summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:9px;cursor:pointer;font-size:12px;font-weight:760;color:#344c3f;user-select:none}
    .advanced summary::-webkit-details-marker{display:none}
    .advanced summary::before{content:"+";display:grid;place-items:center;width:22px;height:22px;background:#ecf2e9;border-radius:7px;font-size:17px;font-weight:400;color:#52725e}
    .advanced[open] summary::before{content:"−"}
    .advanced summary span{color:#92a093;font-size:10px;font-weight:600;margin-left:auto}
    .advanced .controls-group{padding-top:20px}
    .tiny{font-size:10.5px;color:var(--muted);line-height:1.65}
    .status-strip{order:0;display:flex;align-items:center;justify-content:space-between;gap:13px;background:#1d493b;border:1px solid #1d493b;color:#fff;border-radius:var(--round);padding:18px 21px;box-shadow:0 10px 22px rgba(22,67,45,.09)}
    .status-strip.warning{background:#4b3624;border-color:#4b3624}
    .status-left{display:flex;align-items:center;gap:13px;min-width:0}
    .status-glyph{width:43px;height:43px;border-radius:13px;display:grid;place-items:center;background:#bfebc7;color:#195a41;font-size:22px;font-weight:850;flex:none}
    .status-glyph.warn{background:#ffdfb8;color:#8b4c27}
    .status-title{color:#fff;font-size:15px;font-weight:800;letter-spacing:-.025em;line-height:1.35}
    .status-text{color:#b5d3c4;font-size:11px;margin-top:3px;line-height:1.4}
    .status-strip.warning .status-text{color:#ead0ba}
    .status-badge{background:rgba(193,240,200,.14);color:#d4f4d9;border:1px solid rgba(210,244,219,.17);padding:7px 10px;border-radius:100px;font-size:10px;font-weight:780;white-space:nowrap;letter-spacing:.03em}
    .status-badge.warn{background:#ffdda91a;color:#ffe2bd;border-color:#e9c58a4d}
    .results-stack>.metrics{order:1}
    .metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
    .metric{min-width:0;border:1px solid var(--line);border-radius:16px;background:var(--paper);padding:17px 16px 16px;box-shadow:var(--shadow);position:relative;overflow:hidden}
    .metric::before{content:"";position:absolute;top:0;left:16px;width:35px;height:3px;background:#c9dfd2;border-radius:0 0 4px 4px}
    .metric:first-child::before{background:#e58b6b}
    .metric-label{font-size:10.5px;color:#718177;line-height:1.35;min-height:28px;font-weight:620}
    .metric-value{margin:13px 0 6px;font-size:clamp(20px,2.4vw,29px);font-weight:825;letter-spacing:-.065em;color:#1c3b2c;line-height:1.1;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
    .metric-footer{font-size:10px;color:#8a968d;line-height:1.35}
    .metric.alert{border-color:#e7baa1;background:#fff9f4}
    .metric.alert .metric-value{color:#b34f37}
    #diagrams-card{order:2}
    #assessment-card{order:3}
    #row-plan-card{order:4}
    #methodology-card{order:5}
    #assessment-card .assessment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:19px 23px 15px}
    .assessment-value{font-size:22px!important;margin:9px 0 0!important;letter-spacing:-.055em}
    .alerts{display:grid;gap:9px}
    .alert{display:flex;align-items:flex-start;gap:10px;background:#fff5e9;border:1px solid #f2dec3;color:#76522b;border-radius:12px;padding:12px 13px;font-size:11.5px;line-height:1.6}
    .alert strong{font-weight:820}
    .alert-symbol{display:grid;place-items:center;width:18px;height:18px;border-radius:100px;background:#f6d29d;color:#81461a;flex:none;font-size:12px;font-weight:900}
    .notice{display:flex;gap:10px;background:#eaf5eb;color:#396a4c;border:1px solid #d7ebd8;border-radius:12px;padding:13px 14px;font-size:11.5px;line-height:1.6}
    .viz{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:16px}
    .viz-panel{min-width:0;position:relative;background:#f6f8f3;border:1px solid #e5ede2;border-radius:15px;padding:17px 13px 13px;overflow:hidden}
    .viz-panel h3{font-size:12px;font-weight:810;letter-spacing:-.01em;margin:0 5px 9px;color:#294a39}
    .viz-panel svg{display:block;width:100%;height:auto;aspect-ratio:500/440;overflow:hidden;background:#fcfdf8;border-radius:11px;border:1px solid #ecf0e7}
    .viz-panel p{margin:13px 4px 0;color:#7b8980;font-size:10.5px;line-height:1.55}
    .viz-panel .chart-legend{display:flex;align-items:center;gap:13px;margin:11px 5px 0;font-size:9.5px;color:#698074;font-weight:720}
    .chart-legend .legend-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px;background:#286d52;vertical-align:-1px}
    .chart-legend .legend-dot.alt{background:#ee926a}
    .plot-bg{fill:#fcfdf8}
    .plot-label{fill:#78897c;font-size:11px;font-weight:630}
    .plot-label-strong{fill:#1d4838;font-size:12px;font-weight:820}
    .plot-dots{fill:#2c8065;stroke:#f9fff7;stroke-width:1.2}
    .plot-dots.alt{fill:#ec9a75}
    .plot-scene{stroke:#b7d0bd;stroke-dasharray:5 5;stroke-width:1.5;fill:rgba(221,239,224,.16)}
    .plot-guide{stroke:#c8d9cb;stroke-width:1.2;stroke-dasharray:3 5}
    .plot-wedge{fill:#8dcbb2;fill-opacity:.13;stroke:none}
    .plot-ray{stroke:#7eb6a1;stroke-width:1.5;stroke-dasharray:6 5;fill:none}
    .plot-camera{fill:#194b3b}
    .plot-person{stroke:#387f66;stroke-width:4.5;stroke-linecap:round;fill:none}
    .plot-head{fill:#387f66}
    .plot-head.alt{fill:#ee9c77}
    .plot-ground{stroke:#96a99b;stroke-width:1.6}
    .plot-frame{fill:none;stroke:#e0e9df;stroke-width:1}
    .vis-footnote{padding:0 21px 18px;font-size:10.5px;color:#8a988d;line-height:1.7}
    .table-wrap{overflow-x:auto}
    table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:11.5px;font-variant-numeric:tabular-nums}
    th{font-size:9.5px;text-transform:uppercase;letter-spacing:.055em;font-weight:840;color:#788b7c;text-align:right;background:#f3f6f0;padding:13px 16px;border-bottom:1px solid #e8eee6}
    th:first-child,td:first-child{text-align:left}
    td{padding:11px 16px;text-align:right;border-bottom:1px solid #e9eee6;color:#536a59}
    tbody tr:nth-child(even){background:#fafbf8}
    tbody tr:hover{background:#f0f7f0}
    tbody td:first-child{font-weight:850;color:#274735}
    tr:last-child td{border-bottom:0}
    tfoot td{font-weight:850;color:#1f4533;background:#eff5ed;border-top:1px solid #dce8db}
    .table-note{font-size:10.5px;color:#89998c;padding:14px 20px 16px;border-top:1px solid #e7eee5;line-height:1.65}
    .small-card .card-body{padding:18px 22px 22px}
    .small-card p{font-size:11.5px;color:#627467;line-height:1.8;margin:0}
    .small-card .formula{display:block;margin:14px 0;border:1px solid #e3ebe0;background:#f6f9f4;border-radius:10px;text-align:center;font:600 14px Georgia,serif;padding:15px 8px;color:#2b6446;overflow-x:auto}
    .lower-actions{display:flex;gap:10px;flex-wrap:wrap;padding:16px 20px;border-top:1px solid #e7ede7}
    footer{font-size:10.5px;color:#8d9b90;line-height:1.7;display:flex;justify-content:space-between;gap:15px;margin:24px 4px 0;padding:18px 0 0;border-top:1px solid #dee7dc}
    .toast{position:fixed;bottom:23px;right:23px;z-index:50;max-width:min(360px,calc(100vw - 30px));background:#173e2f;color:#fff;padding:12px 15px;font-size:12px;border-radius:12px;box-shadow:0 14px 36px rgba(21,49,32,.23);pointer-events:none;transform:translateY(12px);opacity:0;transition:opacity .16s,transform .16s}
    .toast.show{transform:translateY(0);opacity:1}
    .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
    @media(max-width:1260px){
      .layout{grid-template-columns:minmax(280px,325px) minmax(0,1fr);gap:16px}
      .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
      .metric-label{min-height:0}
      .viz{grid-template-columns:1fr 1fr}
      .viz-panel{padding:13px 9px}
    }
    @media(max-width:1050px){
      .viz{grid-template-columns:1fr}
      .viz-panel svg{max-width:600px;margin-inline:auto;aspect-ratio:500/440}
      .hero-visual{min-width:230px}
      .hero-facts{gap:10px}
      .hero-fact+.hero-fact{padding-left:12px}
    }
    @media(max-width:790px){
      .shell{padding:14px 14px 30px}
      .hero{padding:0 24px;border-radius:21px}
      .intro{min-height:0;padding:32px 0 38px}
      .hero-visual{width:37%;min-width:175px}
      .hero-facts{margin-top:22px}
      .layout{grid-template-columns:1fr;gap:18px;margin-top:19px}
      .controls-stack{display:grid;grid-template-columns:1fr 1fr;align-items:start}
      #spacing-card{grid-column:1 / -1}
      .viz{grid-template-columns:1fr 1fr}
      .viz-panel svg{aspect-ratio:500/440}
      .metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
      .metric-value{font-size:24px}
    }
    @media(max-width:610px){
      .shell{padding:9px 9px 27px}
      .hero{border-radius:16px;padding:0 19px}
      .masthead{padding:15px 0}
      .topnote{font-size:0;gap:0}
      .topnote::before{width:8px;height:8px}
      .intro{padding:29px 0 28px;display:block}
      .hero-visual{display:none}
      h1{font-size:clamp(37px,9vw,54px)}
      .lead{font-size:12px}
      .hero-facts{gap:11px}
      .hero-fact{gap:5px}
      .hero-fact strong{font-size:16px}
      .hero-fact span{font-size:9px}
      .hero-fact+.hero-fact{padding-left:11px}
      .intro-actions{margin-top:22px}
      .layout{margin-top:13px;gap:14px}
      .controls-stack{grid-template-columns:1fr;gap:12px}
      #spacing-card{grid-column:auto}
      .card-head{padding:16px 18px}
      .card-body{padding:19px 18px}
      .status-strip{padding:15px 16px}
      .status-badge{display:none}
      .metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
      .metric{padding:14px 13px}
      .metric-value{font-size:25px;margin:10px 0 5px}
      .viz{grid-template-columns:1fr;gap:11px;padding:12px}
      .viz-panel{padding:14px 11px}
      #assessment-card .assessment-grid{padding:17px 18px 14px}
      .assessment-value{font-size:18px!important}
      .metric-label{font-size:10px}
      th,td{padding:11px 13px}
      .lower-actions .btn{flex:1}
    }
    @media(max-width:380px){
      .hero-facts{flex-wrap:wrap}
      .hero-fact+.hero-fact{border:0;padding-left:0}
      .hero-fact{margin-right:10px}
      .btn{padding:9px 11px}
      .status-title{font-size:13px}
      #assessment-card .assessment-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
      .assessment-value{font-size:16px!important}
    }
    @media print{
      @page{size:A4 portrait;margin:12mm}
      body{background:white;font-size:11px}
      .shell{max-width:none;padding:0}
      .hero{background:white;color:var(--ink);padding:0;border-radius:0;box-shadow:none}
      .hero::before,.hero::after,.hero-visual,.topnote,.intro-actions,.controls-stack,.lower-actions,.status-badge{display:none!important}
      .masthead{border-bottom:1px solid #ddd;padding:0 0 8px}
      .brand-name,.brand-kicker{color:var(--ink)}
      .intro{min-height:0;padding:15px 0}
      h1{color:var(--ink);font-size:28px;margin-bottom:7px}
      h1 em{color:var(--ink)}
      .eyebrow,.lead,.hero-facts{color:var(--muted);font-size:10px}
      .hero-fact strong{color:var(--ink)}
      .layout{display:block;margin-top:10px}
      .results-stack{gap:8px}
      .card,.status-strip,.metric{box-shadow:none;break-inside:avoid}
      .status-strip{background:#eaf2e9;color:#173d2b;border-color:#ddd}
      .status-title{color:#193e2c}
      .status-text{color:#66786a}
      .metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
      .metric-value{font-size:17px}
      .viz{grid-template-columns:1fr 1fr}
      .viz-panel svg{max-height:220px}
      .viz-panel p,.vis-footnote,.chart-legend{display:none!important}
      .card-head{padding:9px 13px}
      .card-body{padding:10px 14px}
      .table-wrap{overflow:visible}
      table{font-size:10px}
      th,td{padding:6px 10px}
      footer{font-size:9px}
    }
    @media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* Additional layout rules formerly written as inline style attributes. */
.camera-hint{margin:13px 0 0}
.assessment-overview{padding:15px 20px}
.alerts-body{padding-top:0}
.clipboard-fallback{position:fixed;left:-10000px;top:0;opacity:0}
