@layer demo-ui{:root{--color-primary: #1f3a5f;--color-primary-soft: #2e4a74;--color-accent: #b8860b;--color-accent-soft: #f5e6c8;--color-highlight: #ffd98a;--color-bg: #eef3f8;--color-bg-alt: #f4f7fa;--color-line: #d8e0ea;--color-text: #4a4a4a;--color-success: #1e7b34;--color-muted: #667286;--font-sans: "Segoe UI", system-ui, -apple-system, Helvetica, Arial, sans-serif;--radius-card: 14px;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--focus-ring: 0 0 0 3px rgba(184, 134, 11, .35);--soft-shadow: 0 8px 24px rgba(31, 58, 95, .08)}:where(*,*:before,*:after){box-sizing:border-box}:where(html,body){margin:0;overflow-x:clip}:where(body){min-width:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans)}:where(img,svg,video,canvas){max-width:100%}:where(button,input,select,textarea){font:inherit}:where(button,[type=button],[type=submit],[type=reset],.button,.tab,[role=tab]){min-height:44px}:where(button,[type=button],[type=submit],[type=reset],.button,.tab,[role=tab],a):focus-visible{outline:var(--focus-ring);outline-offset:2px}:where(h1){font-size:clamp(1.5rem,4vw,1.9rem)}:where(h2){font-size:clamp(1.25rem,3vw,1.5rem)}:where(h3){font-size:1.05rem}:where(.card){min-width:0;border:1px solid var(--color-line);border-radius:var(--radius-card);box-shadow:var(--soft-shadow)}:where(button,.button){touch-action:manipulation}:where(.table-scroll){max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}:where(.table-scroll>table){min-width:600px}:where(.table-scroll th){white-space:nowrap}:where(.tabs,[role=tablist]){display:flex;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}:where(.tabs>*,[role=tablist]>*){flex-shrink:0}:where(.brand-footer){min-width:0;border-top:1px solid var(--color-line);color:var(--color-muted)}:where(.brand-footer a){display:inline-flex;min-height:44px;align-items:center}:where(.brand-eyebrow){color:var(--color-muted)}}:root{--radius-card-sm: 10px;--radius-card-md: 14px;--radius-card-lg: 20px}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;overflow-x:clip}body{font-family:var(--font-sans);color:var(--color-text);background:linear-gradient(180deg,var(--color-bg) 0%,var(--color-bg-alt) 100%)}.app-shell{width:min(1100px,100%);margin:0 auto;padding:var(--space-5);display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-5)}h1,h2,h3,h4,p,span,button,a,li{overflow-wrap:anywhere}h2,h3{margin:0 0 var(--space-3);color:var(--color-primary)}.card{background:#fff;border:1px solid var(--color-line);border-radius:var(--radius-card-md);box-shadow:var(--soft-shadow);min-width:0}.app-header{background:linear-gradient(140deg,var(--color-primary) 0%,var(--color-primary-soft) 100%);color:#fff;padding:var(--space-6);border:1px solid rgba(255,255,255,.2)}.app-header h1,.app-header p{margin:0}.app-header h1{margin-top:var(--space-2);font-size:clamp(1.7rem,4vw,2.4rem)}.eyebrow{opacity:.85;font-size:.875rem}.lede{margin-top:var(--space-4);line-height:1.55;max-width:72ch}.panel-padding{padding:var(--space-4)}.panel-stack{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4)}.panel-lede{margin:0 0 var(--space-4);line-height:1.55}.tab-nav{padding:var(--space-2)}.tab-list{display:flex;gap:var(--space-2);overflow-x:auto;scrollbar-width:thin;padding-bottom:var(--space-1)}.tab-button{min-height:44px;border:1px solid transparent;border-radius:var(--radius-card-sm);padding:0 var(--space-4);background:transparent;color:var(--color-primary-soft);font-size:.95rem;font-weight:600;white-space:nowrap;flex-shrink:0;cursor:pointer}.tab-button[aria-selected=true]{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.tab-content{min-width:0}.callout{padding:var(--space-4);border-radius:var(--radius-card-sm);margin-top:var(--space-3)}.callout-warning{background:var(--color-accent-soft);border:2px solid color-mix(in srgb,var(--color-accent) 50%,var(--color-line))}.callout-info{background:var(--color-bg-alt);border:1px solid var(--color-line)}.source-links{margin:var(--space-3) 0;padding-left:var(--space-5)}.text-link{color:var(--color-primary)}.source-detail{margin:var(--space-2) 0 0;line-height:1.5}.provenance-note{font-size:.9rem;color:var(--color-muted)}.estimator-list{margin:0;display:grid;gap:var(--space-3)}.estimator-list dt{font-weight:700;color:var(--color-primary-soft)}.estimator-list dd{margin:var(--space-1) 0 0;line-height:1.5}.estimator-note,.placeholder-note{margin:var(--space-3) 0 0;line-height:1.55}.bullet-list{margin:0;padding-left:var(--space-5);line-height:1.55}.compact-table{width:100%;border-collapse:collapse;font-size:.92rem}.compact-table th,.compact-table td{border:1px solid var(--color-line);padding:var(--space-2) var(--space-3);text-align:left;vertical-align:top}.compact-table th{background:var(--color-bg-alt);color:var(--color-primary-soft)}.table-scroll{width:100%;overflow-x:auto}.metrics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.metric-card{border:1px solid var(--color-line);border-radius:var(--radius-card-sm);padding:var(--space-4);background:var(--color-bg-alt);min-width:0}.metric-card__title{margin:0 0 var(--space-2);font-size:1rem;color:var(--color-primary-soft)}.metric-card__value{margin:0;font-size:1.1rem;font-weight:700;color:var(--color-success)}.metric-card__detail,.metric-card__note{margin:var(--space-2) 0 0;line-height:1.5;font-size:.92rem}.walkthrough-stages{list-style:none;margin:0 0 var(--space-4);padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.walkthrough-stage__button{width:100%;min-height:44px;display:flex;align-items:center;gap:var(--space-2);border:1px solid var(--color-line);border-radius:var(--radius-card-sm);background:#fff;padding:var(--space-2) var(--space-3);cursor:pointer;text-align:left}.walkthrough-stage.is-active .walkthrough-stage__button{border-color:var(--color-primary);background:var(--color-bg)}.walkthrough-stage__number{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:999px;background:var(--color-primary);color:#fff;font-weight:700;flex-shrink:0}.walkthrough-content{border:1px solid var(--color-line);border-radius:var(--radius-card-sm);padding:var(--space-4);background:#fff}.precomputed-badge{display:inline-block;margin:0 0 var(--space-2);padding:.2rem .6rem;border-radius:999px;background:var(--color-accent-soft);color:#523901;font-size:.8rem;font-weight:700}.walkthrough-controls{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4)}.btn-primary,.btn-secondary{min-height:44px;padding:0 var(--space-4);border-radius:var(--radius-card-sm);font-weight:600;cursor:pointer}.btn-primary{border:1px solid var(--color-primary);background:var(--color-primary);color:#fff}.btn-secondary{border:1px solid var(--color-line);background:#fff;color:var(--color-primary-soft)}.btn-primary:disabled,.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.app-footer{padding:var(--space-5);text-align:center}.footer-tagline{margin:0 0 var(--space-3);font-weight:600;color:var(--color-primary)}.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2);margin-bottom:var(--space-3)}.footer-link{color:var(--color-primary-soft)}.footer-gallery{margin:0;font-size:.875rem;color:var(--color-muted)}.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}button:focus-visible,[role=tab]:focus-visible,a:focus-visible{outline:none;box-shadow:var(--focus-ring)}@media (max-width: 720px){.app-shell{padding:var(--space-3);gap:var(--space-3)}.metrics-grid,.walkthrough-stages{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.filters-panel{display:grid;gap:var(--space-3);margin-bottom:var(--space-4)}.filters-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.filter-field{display:grid;gap:var(--space-1);min-width:0}.filter-label{font-size:.85rem;font-weight:600;color:var(--color-primary-soft)}.filter-input,.filter-select{min-height:44px;border:1px solid var(--color-line);border-radius:var(--radius-card-sm);padding:0 var(--space-3);font:inherit;color:var(--color-text);background:#fff;width:100%}.filter-clear{justify-self:start}.comparison-table{width:100%;border-collapse:collapse;font-size:.9rem}.comparison-table th,.comparison-table td{border:1px solid var(--color-line);padding:var(--space-2) var(--space-3);text-align:left;vertical-align:top}.comparison-table th{background:var(--color-bg-alt);color:var(--color-primary-soft)}.sort-button,.expand-button{min-height:44px;border:none;background:transparent;color:inherit;font:inherit;font-weight:600;cursor:pointer;padding:0;text-align:left}.col-expand{width:7.5rem}.empty-row{text-align:center;color:var(--color-muted);padding:var(--space-5)}.table-footnote{margin:var(--space-3) 0 0;font-size:.9rem;color:var(--color-muted)}.verdict-badge{display:inline-block;padding:.2rem .55rem;border-radius:999px;border:1px solid var(--color-line);font-size:.85rem;font-weight:600}.verdict-badge--reproduced{background:#e8f5ec;border-color:#b9dfc5;color:var(--color-success)}.verdict-badge--pattern{background:var(--color-accent-soft);border-color:#dfc98d;color:#523901}.effect-detail{margin-top:var(--space-3);padding:var(--space-4);border:1px solid var(--color-line);border-radius:var(--radius-card-sm);background:var(--color-bg-alt)}.effect-detail__title{margin-top:0}.effect-detail__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin:0 0 var(--space-3)}.effect-detail__grid dt{font-weight:700;color:var(--color-primary-soft)}.effect-detail__grid dd{margin:var(--space-1) 0 0;line-height:1.5}.validation-summary{padding:var(--space-4);border-radius:var(--radius-card-sm);background:var(--color-bg-alt);border:1px solid var(--color-line)}.validation-headline{margin:0 0 var(--space-3);font-size:1.1rem;font-weight:700;color:var(--color-primary)}.validation-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin:0 0 var(--space-3)}.validation-metrics dt{font-weight:700}.validation-metrics dd{margin:var(--space-1) 0 0;font-size:1.1rem}.pattern-list,.notes-list{margin:0;padding-left:var(--space-5);line-height:1.55}.pattern-pass{color:var(--color-success)}.pattern-fail{color:#8a3b12}.methods-options{border:1px solid var(--color-line);border-radius:var(--radius-card-sm);padding:var(--space-3);margin-bottom:var(--space-3)}.checkbox-field{display:flex;align-items:center;gap:var(--space-2);min-height:44px}.methods-output p{line-height:1.6}.card-inset{margin-bottom:var(--space-4)}@media (max-width: 720px){.filters-grid,.effect-detail__grid,.validation-metrics{grid-template-columns:minmax(0,1fr)}}.export-bar{display:flex;justify-content:flex-end;min-width:0}.export-menu{position:relative;min-width:0}.export-trigger,.export-menu-item{min-height:44px;min-width:44px;border-radius:var(--radius-card-sm);font-weight:600;cursor:pointer}.export-trigger{border:1px solid var(--color-primary);background:var(--color-primary);color:#fff;padding:0 var(--space-4)}.export-dropdown{position:absolute;right:0;top:calc(100% + var(--space-2));z-index:20;list-style:none;margin:0;padding:var(--space-2);min-width:12rem;background:#fff;border:1px solid var(--color-line);border-radius:var(--radius-card-sm);box-shadow:var(--soft-shadow)}.export-menu-item{width:100%;border:none;background:transparent;color:var(--color-primary-soft);text-align:left;padding:0 var(--space-3)}.export-menu-item:hover,.export-menu-item:focus-visible{background:var(--color-bg-alt)}.export-menu-item:disabled{opacity:.6;cursor:not-allowed}.export-error{margin:var(--space-2) 0 0;color:#8a3b12}.filters-panel,.filters-grid,.filter-field,.tab-list,.walkthrough-controls,.export-menu,.panel-stack,.tab-content,.metrics-grid,.effect-detail,.validation-summary,.methods-output{min-width:0}@media print{body{background:#fff}.export-bar,.tab-nav,.filters-panel,.walkthrough-controls,.export-menu,.filter-clear,.expand-button{display:none!important}.app-shell{width:100%;padding:0}.card{box-shadow:none;break-inside:avoid}.table-scroll{overflow:visible}}.table-scroll{-webkit-overflow-scrolling:touch}.table-scroll table{min-width:600px}.table-scroll th,.table-scroll td{overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none}.table-scroll th{white-space:nowrap}:where(h1){font-size:clamp(1.5rem,4vw,1.9rem)}:where(h2){font-size:clamp(1.25rem,3vw,1.5rem);margin:0 0 var(--space-3)}:where(h3){font-size:1.05rem;margin:0 0 var(--space-3)}
