@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)}.card{background:#fff;border:1px solid var(--color-line);border-radius:var(--radius-card-md);box-shadow:var(--soft-shadow);min-width:0;padding:24px 22px}.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;overflow-wrap:anywhere}.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}.header-meta{margin-top:var(--space-4);display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.meta-text{font-size:.9rem;overflow-wrap:anywhere}.badge{display:inline-flex;align-items:center;min-height:32px;padding:0 var(--space-3);border-radius:999px;font-size:.8rem;font-weight:600;max-width:100%;overflow-wrap:anywhere}.badge-warning{background:var(--color-accent-soft);color:#523901}.badge-info{background:#e7eff7;color:var(--color-primary)}.tab-nav{padding:16px}.tab-list{display:flex;gap:var(--space-2);overflow-x:auto;scrollbar-width:thin;padding-bottom:var(--space-1)}.tab-button,.tab-btn{min-height:44px;border:1px solid transparent;border-radius:var(--radius-card-sm);padding:12px 16px;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],.tab-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.tab-content{min-height:400px}.panel-stack{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4)}h2,h3,h4,p,span,button{overflow-wrap:anywhere}h2{margin:0 0 16px;color:var(--color-primary)}.card h2+p{margin-top:0}h3,h4{margin:0 0 var(--space-3);color:var(--color-primary-soft)}.callout{padding:var(--space-5);min-width:0}.callout p{margin:0;line-height:1.6}.callout-brand{background:#f1f6ff;border:2px solid var(--color-primary)}.disclosure-banner{padding:var(--space-4);background:#f7f9fc;border-left:3px solid var(--color-primary)}.disclosure-banner p{margin:0;color:#5e6a78;line-height:1.6}.app-footer{padding:var(--space-4);display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap}.footer-content{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:var(--space-2)}.footer-tagline{margin:0;color:var(--color-primary);font-weight:600;line-height:1.5}.footer-links{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.footer-link{color:var(--color-primary);text-decoration:none;font-weight:600;overflow-wrap:anywhere}.footer-link:hover,.footer-link:focus{color:var(--color-accent);text-decoration:underline}.footer-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:2px}.footer-separator{color:var(--color-accent);font-weight:600}.footer-attribution,.footer-gallery{margin:0;color:#657185;font-size:.9rem;line-height:1.5}.footer-gallery{font-size:.85rem;font-style:italic}button:focus-visible,[role=tab]:focus-visible{outline:none;box-shadow:var(--focus-ring)}.card svg,.card canvas,.card img{max-width:100%;height:auto}@media (max-width: 720px){.app-shell{padding:var(--space-3);gap:var(--space-3)}.app-header,.app-footer,.callout{padding:var(--space-4)}.app-footer{flex-direction:column;align-items:stretch}.footer-content{flex:1 1 auto}.footer-tagline,.footer-attribution,.footer-gallery{overflow-wrap:anywhere;word-break:break-word}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media print{body{background:#fff}.tab-nav,.app-footer{display:none!important}.app-shell{max-width:100%;padding:0}.card{box-shadow:none}}.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)}.badge-reproduced{background:#1f3a5f;color:#fff;border-radius:12px;padding:3px 9px;font-size:11px;font-weight:600;letter-spacing:.02em;border:1px solid #2c4d7c}.param-table{width:100%;border-collapse:collapse;font-size:.92rem}.param-table th{text-align:left;color:var(--ink-soft, #555);font-weight:600;padding:10px 12px 10px 0;vertical-align:top;width:34%}.param-table td{padding:10px 0;border-bottom:1px solid #eee}.step-list{padding-left:1.2rem;margin:0}.step-list li{margin-bottom:1rem}.step-list li>strong{display:block;margin-bottom:6px}.step-list p{margin:.5rem 0;font-size:.92rem;line-height:1.55;overflow-wrap:anywhere}.provenance-list li{margin-bottom:.4rem;font-size:.92rem}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.stat-card{border:1px solid #e3ddcf;border-radius:10px;padding:20px 22px;background:#fdfbf5}.stat-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:#6e6e6e;margin:0 0 4px}.stat-value{font-size:1.35rem;font-weight:700;color:#1f3a5f;margin:0}.stat-note{font-size:.78rem;color:#6e6e6e;margin:4px 0 0}.chart-figure{margin:0 0 12px}.waveform-chart{width:100%;height:auto;background:#fff;border:1px solid #eee;border-radius:10px}.chart-figure figcaption{font-size:.82rem;color:#666;margin-top:6px}.legend-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin:0 4px 0 10px;vertical-align:middle}.legend-text{margin-left:10px}.figure-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:16px}.figure-grid>*{min-width:0}.fig-card{margin:0;border:1px solid #eee;border-radius:12px;padding:16px;background:#fff}.fig-card img{width:100%;height:auto;border-radius:8px}.fig-card figcaption{font-size:.88rem;color:#444}.fig-card .muted{font-size:.78rem;color:#6e6e6e}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.compare-box{border:1px solid #e3ddcf;border-radius:10px;padding:18px 20px;background:#fdfbf5}.compare-box h3{margin:0 0 6px;font-size:.95rem}.check-list{list-style:none;padding:0;margin:12px 0 0}.check-list li{padding:12px 14px;border-radius:8px;margin-bottom:8px;font-size:.92rem}.check-list li.ok{background:#eef5ee}.check-list li.no{background:#fdeeee}.limitation-list li{margin-bottom:.5rem;font-size:.92rem}.export-menu{margin:12px 0}.export-toggle{background:#1f3a5f;color:#fff;border:none;border-radius:8px;padding:9px 16px;font-size:.92rem;cursor:pointer}.export-options{margin-top:8px;padding:8px;display:flex;flex-wrap:wrap;gap:6px}.export-option{border:1px solid #d8d2c2;background:#fff;border-radius:8px;padding:7px 14px;font-size:.88rem;cursor:pointer}.export-option:hover{background:#f5f2e8}.export-links{display:flex;flex-direction:column;gap:6px;margin-top:12px}.export-links a{color:#1f3a5f;font-size:.92rem}.dl-section{margin:22px 0 0}.dl-section h3{margin:0 0 4px}.dl-section .muted{margin:0 0 10px}.export-lead{margin:14px 0 0}.zip-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:14px;padding:20px 24px;border:2px solid var(--color-primary);border-radius:12px;background:#f1f6ff}.zip-info h3{margin:0 0 6px;font-size:1.05rem}.zip-info p{margin:0;font-size:.92rem;line-height:1.55;color:#444}.zip-error{color:#b00020;margin-top:8px!important;font-weight:600}.zip-btn{flex-shrink:0;background:var(--color-primary, #1F3A5F);color:#fff;border:none;border-radius:10px;padding:13px 20px;font-size:.95rem;font-weight:600;cursor:pointer}.zip-btn:hover{background:#2e4a74}.zip-btn:disabled{opacity:.6;cursor:wait}@media (max-width: 640px){.zip-hero{flex-direction:column;align-items:stretch}.zip-btn{text-align:center}}.dl-list{display:flex;flex-direction:column;gap:10px}.dl-row{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #e3ddcf;border-radius:10px;padding:14px 16px;background:#fdfbf5}.dl-info{display:flex;flex-direction:column;gap:3px;min-width:0}.dl-label{font-weight:600;color:#1f3a5f;font-size:.95rem}.dl-purpose{font-size:.85rem;color:#6e6e6e;line-height:1.45}.dl-action{flex-shrink:0;background:#1f3a5f;color:#fff!important;border:none;border-radius:8px;padding:9px 14px;font-size:.85rem;cursor:pointer;text-decoration:none}.dl-action:hover{background:#2e4a74}@media (max-width: 640px){.dl-row{flex-direction:column;align-items:stretch}.dl-action{text-align:center}}@media (max-width: 640px){.app-shell{padding-inline:16px}.card{padding:20px 16px}.card.app-header,.card.disclosure-banner,.card.tab-nav{padding:16px}.table-scroll{overflow-x:visible}.param-table{width:100%;min-width:0;table-layout:fixed}.param-table th,.param-table td{white-space:normal;overflow-wrap:anywhere;word-break:normal}}.provenance-list li,.citation,.card p{overflow-wrap:anywhere}@media (max-width: 640px){.compare-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,1fr)}}.check-ok{color:#1e7b34}.check-no{color:#b00020}
