.irca-demo { --irca-bg:var(--container-bg,var(--paper,#fff)); --irca-ink:var(--text-color,var(--ink,#222)); --irca-muted:var(--muted-text,var(--muted,#677)); --irca-accent:var(--accent-color,var(--link,#164c99)); --irca-rule:var(--border-color,var(--rule,#ccd3da)); background:var(--irca-bg); color:var(--irca-ink); min-width:0; border:1px solid color-mix(in srgb,var(--irca-accent) 35%,var(--irca-rule)); border-radius:8px; overflow:hidden; box-shadow:0 18px 48px #00000016; }
.irca-demo [hidden] { display:none!important; }
.irca-heading { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px; padding:20px; }
.irca-heading p { margin:0 0 7px; color:var(--irca-accent); font:12px/1.5 system-ui,sans-serif; }
.irca-demo .irca-heading h2 { margin:0; font:550 23px/1.2 system-ui,sans-serif; letter-spacing:-.025em; }
.irca-badge { color:var(--irca-muted); font:11px/1.5 system-ui,sans-serif; }
.irca-badge > span { color:var(--irca-accent); margin-right:5px; }
.irca-product-copy,.irca-product-note { display:none; }
.lab-hero .irca-product-copy { display:block; padding:0 16px 16px; }
.lab-hero .irca-product-copy > p { margin:0 0 12px; color:var(--irca-ink); font:14px/1.65 system-ui,sans-serif; }
.irca-product-features { display:flex; flex-wrap:wrap; gap:8px 16px; list-style:none; margin:0 0 14px; padding:0; color:var(--irca-muted); font:12px/1.5 system-ui,sans-serif; }
.irca-product-features li { display:inline-flex; align-items:center; gap:6px; }
.irca-product-features i { color:var(--irca-accent); }
.irca-more { padding:8px 12px; min-height:44px; border:1px solid var(--irca-accent); border-radius:4px; background:transparent; color:var(--irca-accent); font:12px/1.5 system-ui,sans-serif; cursor:pointer; }
.irca-more:focus-visible { outline:2px solid var(--irca-accent); outline-offset:3px; }
.lab-hero .irca-product-note { display:block; margin:0; padding:9px 16px; font:11px/1.5 system-ui,sans-serif; color:var(--irca-muted); }
.lab-hero .irca-demo:not(.is-advanced) :is(.irca-modes,.irca-result-teaser,.irca-carousel,.irca-rotate,.irca-screen-status,.irca-footer p,.irca-inspect) { display:none; }
.lab-hero .irca-demo:not(.is-advanced) .irca-footer { padding:0 16px; border:0; }
.lab-hero .irca-demo.irca-load-error .irca-status { display:block!important; }
.irca-promo { display:grid; gap:4px; }
.irca-promo a { color:var(--irca-muted); text-decoration:none; }
.irca-promo a span,.irca-promo-guide { color:var(--irca-accent)!important; }
.irca-promo a:hover { text-decoration:underline; }
.irca-promo a:focus-visible { outline:2px solid var(--irca-accent); outline-offset:3px; }
.lab-hero-personal .irca-promo { position:relative; width:29ch; max-width:100%; height:3.4em; perspective:400px; }
.lab-hero-personal .irca-promo a { position:absolute; inset-inline:0; top:.85em; line-height:1.6; white-space:nowrap; transform-origin:center; animation:irca-promo-flip 10s infinite; }
.lab-hero-personal .irca-promo-guide { animation-delay:-5s!important; }
@keyframes irca-promo-flip {
    0%,42% { opacity:1; visibility:visible; transform:rotateX(0); }
    48%,92% { opacity:0; visibility:hidden; transform:rotateX(-90deg); }
    98%,100% { opacity:1; visibility:visible; transform:rotateX(0); }
}
.lab-hero-personal .irca-promo:hover a { animation-play-state:paused; }
.lab-hero-personal .irca-promo:has(a:focus-visible) a { animation:none; opacity:1; visibility:visible; transform:none; top:0; }
.lab-hero-personal .irca-promo:has(a:focus-visible) .irca-promo-guide { top:1.8em; }
@media(prefers-reduced-motion:reduce) {
    .lab-hero-personal .irca-promo a { animation:none; opacity:1; visibility:visible; transform:none; top:0; }
    .lab-hero-personal .irca-promo .irca-promo-guide { top:1.8em; }
}
.irca-modes { display:flex; flex-wrap:wrap; gap:6px; padding:10px 14px; border-block:1px solid var(--irca-rule); }
.irca-demo .irca-modes button { border:1px solid transparent; border-radius:4px; padding:9px 13px; color:var(--irca-muted); background:transparent; font:13px/1.4 system-ui,sans-serif; cursor:pointer; }
.irca-modes button i { margin-right:6px; }
.irca-result-teaser { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:14px 18px; border-bottom:1px solid var(--irca-rule); background:color-mix(in srgb,var(--irca-accent) 8%,var(--irca-bg)); }
.irca-result-teaser > div { display:flex; flex-direction:column; gap:5px; }
.irca-result-teaser > div > span { color:var(--irca-muted); font:11px/1.5 system-ui,sans-serif; }
.irca-result-teaser strong { color:var(--irca-accent); font:600 15px/1.5 system-ui,sans-serif; }
.irca-demo .irca-study-open { padding:8px 11px; border:1px solid var(--irca-accent); border-radius:4px; background:var(--irca-bg); color:var(--irca-accent); font:12px/1.5 system-ui,sans-serif; cursor:pointer; }
.irca-demo .irca-modes button[aria-pressed="true"] { background:var(--irca-accent); color:var(--irca-bg); }
.irca-demo button:focus-visible,.irca-demo summary:focus-visible { outline:2px solid var(--irca-accent); outline-offset:3px; }
.irca-stage { position:relative; background:#101923; min-height:420px; }
.irca-stage.is-loading .irca-preview { position:absolute; inset:0; height:100%; z-index:2; }
.irca-preview { width:100%; height:440px; display:block; object-fit:contain; }
.irca-board { width:100%; height:460px; }
.irca-carousel { border-top:1px solid var(--irca-rule); padding:12px 16px; }
.irca-carousel:empty { display:none; }
.irca-demo-playback { display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding:10px 16px; border-top:1px solid var(--irca-rule); }
.irca-demo-playback span { color:var(--irca-muted); font:11px/1.5 system-ui,sans-serif; }
.irca-demo .irca-rotate,.irca-demo .irca-screen-focus,.irca-demo .irca-screen-camera { color:var(--irca-accent); background:var(--irca-bg); border:1px solid var(--irca-accent); border-radius:4px; padding:7px 11px; font:12px/1.5 system-ui,sans-serif; cursor:pointer; }
.irca-carousel section { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.irca-carousel section > span { flex:1 1 200px; color:var(--irca-muted); font:12px/1.5 system-ui,sans-serif; }
.irca-carousel button,.irca-demo .irca-start,.irca-demo .irca-inspect { border:1px solid var(--irca-rule); border-radius:4px; color:var(--irca-ink); background:var(--irca-bg); padding:8px 11px; font:12px/1.5 system-ui,sans-serif; cursor:pointer; }
.irca-demo .irca-inspect { margin-top:8px; color:var(--irca-accent); }
.irca-demo button:disabled { opacity:.5; cursor:wait; }
.irca-carousel button:hover:not(:disabled),.irca-demo .irca-start:hover { border-color:var(--irca-accent); color:var(--irca-accent); }
.irca-footer { padding:14px 20px; border-top:1px solid var(--irca-rule); }
.irca-footer p { margin:0; font:12px/1.7 system-ui,sans-serif; color:var(--irca-muted); }
.irca-footer .irca-model-note { font-size:11px; margin-top:5px; }
.irca-demo .irca-start { margin-top:10px; border-color:var(--irca-accent); color:var(--irca-accent); }
.irca-pi { display:flex; flex-direction:column; }
.irca-pi > .irca-metrics { order:-1; }
.irca-pi > img { display:block; width:100%; height:auto; background:#101923; }
.irca-metrics { display:flex; flex-wrap:wrap; gap:12px 24px; border-block:1px solid var(--irca-rule); padding:14px 20px; font:12px/1.6 system-ui,sans-serif; }
.irca-metrics strong { color:var(--irca-accent); font-size:20px; font-weight:550; margin-right:5px; }
.irca-study-note { margin:12px 20px; font:12px/1.7 system-ui,sans-serif; color:var(--irca-muted); }
.irca-pi details { margin:0 20px 16px; font:12px/1.7 system-ui,sans-serif; color:var(--irca-muted); }
.irca-pi summary { color:var(--irca-accent); cursor:pointer; }
.irca-study-details p { margin:10px 0; }
.irca-study-details ul { margin:10px 0; padding-left:20px; }
.wv-irca-showcase { margin:1rem 0 4rem; }
.wv-irca-showcase .irca-board { height:620px; }
.wv-irca-showcase .irca-preview { height:560px; }
.irca-screen-toolbar { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:12px 20px; flex-shrink:0; border-bottom:1px solid var(--irca-rule); font:13px/1.5 system-ui,sans-serif; }
.irca-screen-toolbar button { color:var(--irca-accent); background:var(--irca-bg); border:1px solid var(--irca-accent); border-radius:4px; padding:8px 14px; cursor:pointer; font:inherit; }
.irca-demo.is-screen-active .irca-assembly { position:fixed; inset:0; z-index:10000; display:flex; flex-direction:column; background:var(--irca-bg); isolation:isolate; }
.irca-demo.is-screen-active .irca-stage { flex:1; min-height:0; }
.irca-demo.is-screen-active .irca-stage .irca-board { height:100%; }
.irca-demo.is-screen-active .irca-demo-playback,.irca-demo.is-screen-active .irca-carousel { display:none; }
.irca-screen-toolbar { padding-top:max(12px,env(safe-area-inset-top)); padding-left:max(16px,env(safe-area-inset-left)); padding-right:max(16px,env(safe-area-inset-right)); }
.irca-screen-toolbar button { min-height:44px; flex-shrink:0; }
@media(max-width:600px) {
    .irca-demo .irca-modes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; padding:10px; }
    .irca-demo .irca-modes button { min-height:44px; padding:8px; }
    .irca-demo-playback { gap:8px; padding:10px; }
    .irca-demo-playback > button { min-height:44px; flex:1 1 auto; }
    .irca-demo-playback > span { flex-basis:100%; }
    .irca-demo .irca-carousel button,.irca-demo .irca-study-open,.irca-demo .irca-inspect { min-height:44px; }
    .irca-demo .irca-carousel section > span { min-width:0; }
    .irca-result-teaser { padding:12px; }
    .irca-result-teaser strong { font-size:14px; }
    .irca-screen-toolbar { font-size:12px; gap:8px; }
}
@media(max-width:600px) { .irca-heading { padding:16px; } .irca-demo .irca-heading h2 { font-size:21px; } .irca-stage { min-height:350px; } .irca-board,.wv-irca-showcase .irca-board { height:420px; } .irca-preview,.wv-irca-showcase .irca-preview { height:350px; } .irca-carousel section > span { flex-basis:100%; order:3; } }
