/* UX-14 reflow and input-method closure. Tables and spatial diagrams retain named 2D regions. */
:root{--im-a11y-size:.875rem;--im-a11y-small:.8125rem;--im-a11y-border:#70818b;--im-line:#70818b}
html{scroll-padding-block:1rem}body{line-height:1.5}
:where(button,input,select,textarea,summary){font-size:var(--im-a11y-size);max-width:100%}
:where(button,.btn,.button,.oc-btn,.icon-button,.ui-icon-button,summary){min-height:36px;min-width:24px;white-space:normal}
:where(input:not([type=checkbox]):not([type=radio]),select,textarea){min-width:0;border-color:var(--im-line,var(--im-a11y-border));line-height:1.5}
:where(input[type=checkbox],input[type=radio]){min-width:24px;min-height:24px;flex-shrink:0}
:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--im-focus,#83e8d4)!important;outline-offset:3px;scroll-margin:1rem}
.sidebar :focus-visible{outline-color:#b1ffe0!important}
[hidden]{display:none!important}
.im-a11y-sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.im-a11y-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:.5rem .75rem;border-bottom:1px solid var(--im-line);background:var(--im-surface);color:var(--im-text);font-size:var(--im-a11y-small);min-width:0;flex-shrink:0}
.im-a11y-toolbar button{border:1px solid var(--im-line);border-radius:6px;padding:.4rem .7rem;background:var(--im-surface);color:var(--im-text);font:inherit;cursor:pointer}
.im-a11y-toolbar span{flex:1 1 15rem;overflow-wrap:anywhere}
.im-a11y-scroll{max-width:100%;min-width:0;overflow:auto;overscroll-behavior-inline:contain;scrollbar-gutter:stable;scroll-padding:.75rem}
.im-a11y-scroll table{max-width:none;min-width:100%;width:max-content;border-collapse:collapse}
.im-a11y-scroll :is(th,td){font-size:var(--im-a11y-small);line-height:1.5;max-width:35rem;white-space:normal;overflow-wrap:anywhere}
.im-a11y-table-caption{text-align:left;font-weight:600;padding:.65rem;font-size:var(--im-a11y-small);color:var(--im-text)}
.im-a11y-errors{border:2px solid var(--im-error);color:var(--im-error);padding:1rem;margin-block:.5rem}
.im-a11y-errors a{display:block;color:inherit;text-decoration:underline;padding-block:.35rem}
:where(main,.main,.stage,.app-window,.panel,.card,.builder-panel,.im-builder-detail,.oc-main,.ot-main,.oe-main){min-width:0}
:where(p,dd,code,pre,.pill,.badge,.im-state,.breadcrumbs,.workspace-breadcrumb){overflow-wrap:anywhere}
:where(pre,.code-block,.oe-json){max-width:100%;overflow:auto;white-space:pre-wrap}
:where(.page-head,.panel-head,.workspace-bar,.topbar,.top-actions,.page-actions,.builder-card-actions,.oc-top,.command-footer,.modal-actions){flex-wrap:wrap;height:auto;min-height:0}
:where(.page-head h1,.topbar h2){font-size:clamp(1.5rem,2.2vw,2rem)}
:where(small,.muted,.im-count,.oc-muted,.oc-status,.oc-quality,.oc-action-note,.ot-quality,.ot-series small,.command-hint,.command-footer,.metric-sub){font-size:var(--im-a11y-small);line-height:1.5}
.oc-quality,.oc-action-note{opacity:1}
dialog{width:min(42rem,calc(100vw - 2rem));max-width:calc(100vw - 2rem);max-height:calc(100dvh - 2rem);overflow:auto}
:where(.modal-body,.modal-header,.command-heading,.palette-top){min-width:0;overflow-wrap:anywhere}
.command-heading input,.palette-top input{min-width:0;width:100%}
.command-result[aria-selected=true]{background:var(--ui-soft);border-color:var(--border)}
/* Essential control boundaries are distinct from decorative panel dividers. */
.experience :is(input,select,textarea),.desktop :is(input,select,textarea){border-color:var(--im-line)}
.desktop .button.primary{background:#654bbd;color:#fff}
/* Canvas keeps its geometry editor and evidence sidebar at narrow widths. */
.oc-shell,.ot-shell,.oe-shell{height:auto;min-height:100dvh;grid-template-rows:auto minmax(0,1fr)}
.oc-top{gap:.5rem;white-space:normal;padding:.75rem;grid-column:1/-1;overflow:visible}
.oc-main,.ot-main,.oe-main{max-width:100%;overflow:auto;overscroll-behavior-inline:contain}
.oc-right,.ot-right,.oe-right{display:block;min-width:0}
.oc-field label{display:block;font-size:var(--im-a11y-small)}
.oc-field :is(input,select,textarea){width:100%;font-size:var(--im-a11y-size)}
.oc-field input[type=checkbox]{width:auto}
.oc-context-select{min-width:0;max-width:100%}
.oc-context-label{max-width:100%;white-space:normal;overflow:visible}
.oc-element[role=group]:focus-visible{outline:3px solid #b1d4ff!important;outline-offset:3px}
.oc-element.has-tooltip[data-tooltip-dismissed] .oc-rich-tooltip{display:none}
.oc-rich-tooltip{pointer-events:auto;max-width:min(22rem,90vw)}
.im-canvas-elements{background:#121a24;color:#e8edf5;padding:1rem;margin-top:1rem}
.im-canvas-elements button{margin:.25rem;min-height:44px;border:1px solid #70818b;background:#111a25;color:#e8edf5;border-radius:6px;padding:.5rem}
.im-pipeline-alternative{border:1px solid var(--im-line);padding:1rem;margin-block:1rem;border-radius:8px}
.im-pipeline-alternative form,.im-pipeline-controls{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end}
.im-pipeline-alternative label{display:grid;gap:.3rem;min-width:0;flex:1 1 9rem}
@media(max-width:1100px){.oc-shell,.ot-shell,.oe-shell{grid-template-columns:minmax(12rem,1fr) minmax(0,3fr)}.oc-right,.ot-right,.oe-right{display:block;grid-column:1/-1;border-top:1px solid #70818b}}
@media(max-width:1024px){.systembar{flex-wrap:wrap;height:auto;min-height:48px}.systembar-middle{flex-wrap:wrap}.window-toolbar{height:auto;min-height:44px;flex-wrap:wrap}.open-tabs{min-width:0;max-width:100%;overflow:auto}.stage-meta{height:auto;min-height:44px;flex-wrap:wrap}.navigation-scope{flex-wrap:wrap}.navigation-scope label{min-width:0;max-width:100%}.navigation-scope select{max-width:100%}}
@media(max-width:760px){.main,.stage,#main{max-width:100%;padding-inline:.75rem}.app-window{min-width:0}.desktop{height:auto;min-height:100dvh}.desktop-body{min-height:0}.stage{padding-bottom:6rem}.app-window main{max-height:none;height:auto;overflow:visible}.workspace-bar{min-height:3.5rem;margin-inline:-.75rem;padding:.6rem .75rem}.workspace-breadcrumb{flex:1 1 10rem}.workspace-breadcrumb strong{white-space:normal;overflow:visible}.workspace-bar-actions{flex-wrap:wrap}.workspace-breadcrumb>span:not(.ui-icon){display:inline}.top-actions #last-refresh{display:inline}.section-meta{display:block}.welcome-context{display:block}.metric-grid,.overview-stats,.home-grid,.workspace-launchers,.app-grid,.board,.builder-form-grid,.builder-card-grid,.builder-layout,.industrial-workbench-grid,.pipeline-studio-layout{grid-template-columns:minmax(0,1fr)!important}.span-2{grid-column:auto!important}.builder-rail{position:static!important;max-height:none!important}.oc-shell,.ot-shell,.oe-shell{display:block;height:auto}.oc-left,.oc-right,.ot-left,.ot-right,.oe-left,.oe-right{display:block;width:auto;max-height:none;overflow:visible}.oc-viewer .oc-left,.oc-viewer .oc-right{display:none}.oc-top{display:flex;position:static}.oc-main,.ot-main,.oe-main{padding:.75rem;overflow:auto}.oc-library-main{padding:.75rem}.oc-library-filters label{min-width:0;width:100%}.oc-library-grid{grid-template-columns:minmax(0,1fr)}.ot-stats{grid-template-columns:minmax(0,1fr)}.im-a11y-toolbar{padding:.5rem}.im-a11y-scroll{max-height:70dvh}.command-dialog,.modal,.palette{margin:1rem auto;width:calc(100vw - 2rem);max-height:calc(100dvh - 2rem)}.modal-actions>*{flex:1 1 10rem}.command-footer{gap:.5rem}.sidebar{max-width:calc(100vw - 2rem)}}
@media(max-width:480px){.workspace-start div{min-width:0}.systembar .wordmark{max-width:60%}.systembar .system-tools{margin-left:auto}.breadcrumbs{font-size:var(--im-a11y-small);flex-wrap:wrap}.breadcrumbs span:last-child{white-space:normal;overflow:visible}.context-pill{font-size:var(--im-a11y-small)}.dock{max-width:calc(100vw - 1rem);overflow:auto}.im-a11y-toolbar button{width:100%}.pipeline-studio-inspector,.pipeline-studio-palette{max-width:100%;min-width:0}}
@media(pointer:coarse){:where(button,.btn,.button,.oc-btn,.icon-button,.ui-icon-button,summary,input:not([type=checkbox]):not([type=radio]),select){min-width:44px;min-height:44px}.row-actions,.builder-card-actions,.modal-actions{gap:8px}.oc-element{touch-action:pan-x pan-y}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(forced-colors:active){:where(button,input,select,textarea,summary,.im-state,.pill,.oc-element,.pipeline-studio-node){border:1px solid ButtonText!important}:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid Highlight!important}.im-a11y-toolbar,.im-canvas-elements{background:Canvas;color:CanvasText}}

.im-nav-close{display:none;border:1px solid currentColor;border-radius:6px;color:inherit;padding:.5rem;margin-bottom:.5rem}body.im-nav-open{overflow:hidden}
@media(max-width:1024px){.experience .im-nav-close{display:block}.experience .sidebar{overflow-y:auto}.experience .sidebar .nav{min-height:3rem}}
@media(max-width:700px){.desktop .im-nav-close{display:block}.desktop .sidebar{top:0;max-height:100dvh;min-width:0;z-index:60}.desktop .nav-scrim{z-index:55}}
.skip-link{position:fixed;left:1rem;top:-8rem;z-index:10000;background:var(--im-surface);color:var(--im-text);padding:.75rem;border:2px solid var(--im-focus)}.skip-link:focus{top:1rem}

:root[data-theme=light] .desktop .sidebar :focus-visible{outline-color:#00634f!important}
.oc-field :is(input,select,textarea){border-color:#70818b}
@media(max-width:480px){.systembar .wordmark{min-width:0}.systembar-middle{max-width:100%;overflow-wrap:anywhere}.systembar .brand-tag{white-space:normal}}
