/* Oracle style guide: shared tokens, components, guide chrome, and page specimens. */
/* Oracle's shared materials, typography, semantic pairs and component geometry. */
@font-face{font-family:'Exo 2';src:url('../ts/packages/oracle-ui/src/fonts/Exo2-Variable.ttf') format('truetype');font-weight:100 900;font-display:swap}
@font-face{font-family:Oxanium;src:url('../ts/packages/oracle-ui/src/fonts/Oxanium-Variable.ttf') format('truetype');font-weight:100 900;font-display:swap}
@font-face{font-family:'JetBrainsMono Nerd Font Mono';src:url('fonts/JetBrainsMonoNerdFontMono-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'JetBrainsMono Nerd Font Mono';src:url('fonts/JetBrainsMonoNerdFontMono-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:'Oracle Terminal Graphics';src:url('fonts/FairfaxHD.ttf') format('truetype');font-weight:400 700;font-display:swap;size-adjust:120%;unicode-range:U+2500-259F,U+1FB00-1FBFF}
:root{
  color-scheme:dark;
  --canvas:#080b12;--surface-content:#101722;--surface-chrome:#182131;--surface-input:#0d131d;
  --text:#e3eaf3;--muted:#91a0b7;--quiet:#2a3648;--edge:#62748d;--cyan:#46ddeb;--violet:#ad8aff;--action-edge:#006eff;
  --positive-foreground:#70dea2;--positive-surface:#14281f;
  --running-foreground:#a3ff12;--running-surface:#1a290d;
  --syntax-key:#46ddeb;--syntax-string:#ad8aff;--syntax-number:#e8b568;
  --warning-foreground:#e8b568;--warning-surface:#2c2419;
  --danger-foreground:#ffc5d0;--danger-surface:#351f26;
  --selection-surface:#253044;
  --content-start:#151e2c;--chrome-start:#1c2738;--chrome-end:#151d2b;--control-start:#0d2545;--control-end:#0f1d31;--control-hover-start:#10294a;--control-hover-end:#10223b;--control-pressed-start:#0b203b;--control-pressed-end:#0c192a;--selection-start:#293447;--selection-end:#202b3b;--shadow-overlay-color:#00000066;--shadow-dialog-color:#00000080;
  --content:linear-gradient(120deg,var(--content-start) 0%,var(--surface-content) 55%,var(--surface-input) 100%);
  --chrome:linear-gradient(110deg,var(--chrome-start) 0%,var(--surface-chrome) 55%,var(--chrome-end) 100%);
  --control:linear-gradient(110deg,var(--control-start),var(--control-end));
  --control-hover:linear-gradient(110deg,var(--control-hover-start),var(--control-hover-end));
  --control-pressed:linear-gradient(110deg,var(--control-pressed-start),var(--control-pressed-end));
  --menu-row-hover:#253247;--field-hover-edge:#91a0b7;
  --surface-disabled:#101722;--focus-fill:#52677E;
  --shadow-overlay:0 8px 24px var(--shadow-overlay-color);
  --shadow-dialog:0 16px 40px var(--shadow-dialog-color);
  --scrim:#0000008f;
  --selection:linear-gradient(110deg,var(--selection-start),var(--selection-end));
  --font-body:'Exo 2',system-ui,sans-serif;
  --font-heading:Oxanium,'Exo 2',system-ui,sans-serif;
  --font-code:'Cascadia Mono',Consolas,ui-monospace,monospace;
  --font-terminal:'Oracle Terminal Graphics','JetBrainsMono Nerd Font Mono','Cascadia Mono',Consolas,ui-monospace,monospace;
  --type-display-size:2.25rem;--type-display-line-height:2.75rem;
  --type-display:700 var(--type-display-size)/var(--type-display-line-height) var(--font-heading);
  --type-page-title-size:1.75rem;--type-page-title-line-height:2.25rem;
  --type-page-title:700 var(--type-page-title-size)/var(--type-page-title-line-height) var(--font-heading);
  --type-section-size:1.375rem;--type-section-line-height:1.75rem;
  --type-section:700 var(--type-section-size)/var(--type-section-line-height) var(--font-heading);
  --type-panel-heading-size:1rem;--type-panel-heading-line-height:1.5rem;
  --type-panel-heading:600 var(--type-panel-heading-size)/var(--type-panel-heading-line-height) var(--font-body);
  --type-body-size:1rem;--type-body-line-height:1.5rem;
  --type-body:400 var(--type-body-size)/var(--type-body-line-height) var(--font-body);
  --type-control-size:1rem;--type-control-line-height:1.5rem;
  --type-control:500 var(--type-control-size)/var(--type-control-line-height) var(--font-body);
  --type-metadata-size:.875rem;--type-metadata-line-height:1.25rem;
  --type-metadata:400 var(--type-metadata-size)/var(--type-metadata-line-height) var(--font-body);
  --type-badge-size:.875rem;--type-badge-line-height:1.25rem;
  --type-badge:600 var(--type-badge-size)/var(--type-badge-line-height) var(--font-body);
  --type-code-size:.875rem;--type-code-line-height:1.25rem;
  --type-code:400 var(--type-code-size)/var(--type-code-line-height) var(--font-code);
  --icon-16:16px;--icon-20:20px;--icon-24:24px;
  --icon-stroke:2;--icon-stroke-small:1.5;--icon-tile:36px;
  --touch-target:48px;--mark-size:20px;
  --button-cut:8px;--chip-cut:6px;--tab-cut:10px;--panel-cut:12px;--panel-cut-small:8px;--field-radius:4px;
  --chip-padding:.25rem .625rem;--chip-font-size:.875rem;
  --control-padding:.5rem 1rem;--control-height:40px;--target-size:40px;--row-min:48px;--control-stroke:1px;--chamfer-inset:calc(var(--control-stroke)*0.586);--chamfer-diagonal:calc(var(--control-stroke)*1.414);--tab-marker-stroke:3px;
  --switch-track:calc(var(--mark-size)+var(--space-3));--switch-thumb:calc(var(--mark-size)-var(--space-1));--switch-track-height:var(--mark-size);--switch-thumb-inset:calc(var(--space-1)/2);--switch-thumb-travel-gap:var(--space-1);
  --panel-inset:1rem;--frame-recess-width:40px;--frame-recess-depth:4px;--frame-recess-inset:24px;
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-12:48px;
  --header-height:52px;--status-min:28px;--rail-icon:64px;--rail-labeled:76px;--rail-expanded:240px;
  --drawer-width:340px;--drawer-min:230px;--drawer-rail:36px;
  --scrollbar-width:10px;--scrollbar-thumb-min:32px;
  --motion-hover:120ms;--motion-press:80ms;--motion-menu-enter:120ms;--motion-menu-exit:120ms;
  --motion-drawer:180ms;--motion-page-detail:160ms;--motion-scroll:200ms;
  --motion-state-change:160ms;--motion-collapse:180ms;--motion-list-enter:160ms;--motion-list-exit:160ms;--motion-progress-step:60ms;--motion-progress-max:1500ms;--motion-spinner-cycle:1000ms;--motion-marquee-cycle:3500ms;--motion-flow-cycle:1200ms;
  --motion-containment-curve:cubic-bezier(0.4,0,0.2,1);--motion-standard-curve:cubic-bezier(0.2,0,0,1);--motion-enter-curve:cubic-bezier(0,0,0.2,1);--motion-exit-curve:cubic-bezier(0.4,0,1,1);
}

/* Guide composition only: visible elements use the shared Oracle components. */
*{box-sizing:border-box}html{scroll-padding-top:6rem}body{margin:0}::selection{background:var(--selection-surface);color:var(--text)}
.oracle-button.skip{position:fixed;top:-5rem;left:1rem;z-index:10}.skip:focus{top:1rem}
.app-header{min-height:4rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 2rem}.brand{margin:0}
.header-label{flex-shrink:0}
.workspace{display:grid;grid-template-columns:16rem minmax(0,1fr);max-width:110rem;margin:auto}.oracle-panel.sidebar{align-self:start;position:sticky;top:1rem;max-height:calc(100dvh - 2rem);overflow:auto;margin-top:1rem}.sidebar nav{display:grid;gap:4px;margin-top:.75rem}
.document{--contents-width:15rem;min-width:0;padding:2rem;display:grid;grid-template-columns:minmax(0,1fr) var(--contents-width);grid-template-areas:'reading drawer';align-items:start;gap:1.5rem;transition:grid-template-columns var(--motion-drawer) var(--motion-containment-curve)}.document:has(.oracle-drawer-disclosure:not([open])){--contents-width:var(--drawer-rail)}.reading{grid-area:reading;min-width:0}article{min-width:0}h3{margin:1.75rem 0 .75rem}p,ul,ol,blockquote{max-width:75ch}p{margin:0 0 1rem}li+li{margin-top:.5rem}strong{font-weight:600}
.oracle-drawer.toc{grid-area:drawer;align-self:start;position:sticky;top:1rem;width:100%;height:min(32rem,calc(100dvh - 2rem));overflow:hidden}.toc .oracle-drawer-body{display:grid;gap:4px;max-height:calc(min(32rem,100dvh - 2rem) - var(--header-height))}.pager{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-top:2.5rem;padding-top:1.5rem}
@media(max-width:1100px){.document{--contents-width:min(13rem,40vw);gap:.75rem}}
@media(max-width:800px){.workspace{grid-template-columns:minmax(0,1fr)}.oracle-panel.sidebar{position:static;max-height:none;margin:1rem}.sidebar nav{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}.document{padding:1rem;gap:.75rem}.app-header{padding:1rem;flex-wrap:wrap}.oracle-panel--document.reading{padding:1.5rem .75rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}.document{transition:none}}
@media print{.app-header,.sidebar,.toc,.pager,.skip{display:none}.workspace,.document{display:block;padding:0}.oracle-table-scroll{overflow:visible}thead{display:table-header-group}tr{break-inside:avoid}}

/* Shared components: use these classes in the guide shell and every specimen. */
.oracle-app{color:var(--text);font:1rem/1.5 var(--font-body);font-synthesis:none}
.oracle-link{color:var(--cyan);text-underline-offset:.2em;border:1px solid transparent}.oracle-link:is(.is-focused,:focus-visible){border-color:var(--cyan);outline:none}
.oracle-link:hover{text-decoration-thickness:2px}
.oracle-link.is-focused{border-color:var(--cyan);outline:none}
.oracle-terminal .oracle-link:is(.is-focused,:focus-visible){outline:none;color:var(--cyan)}
.oracle-app :where(a,summary,[tabindex]):focus-visible{outline:1px solid var(--cyan);outline-offset:-1px}
.oracle-display{font:var(--type-display);letter-spacing:0;overflow-wrap:anywhere;margin:0}
.oracle-page-title,.oracle-section-title{letter-spacing:0;overflow-wrap:anywhere}
.oracle-page-title{font:var(--type-page-title);margin:0 0 1.5rem}
.oracle-section-title{font:var(--type-section);margin:2.5rem 0 1rem;padding-top:1.5rem;border-top:1px solid var(--quiet)}
.oracle-title{font:var(--type-section);margin:0 0 .5rem;overflow-wrap:anywhere}
.oracle-title--flush{margin:0}
.oracle-title:is(a){color:inherit;text-decoration:none}
.oracle-panel-heading{font:var(--type-panel-heading);margin:0 0 .5rem;overflow-wrap:anywhere}
.oracle-body{font:var(--type-body);margin:0}
.oracle-control-label{font:var(--type-control);margin:0}
.oracle-label{font:var(--type-panel-heading)}
.oracle-disclosure{display:block}
.oracle-disclosure>.oracle-disclosure-trigger{list-style:none}
.oracle-disclosure>.oracle-disclosure-trigger::-webkit-details-marker{display:none}
.oracle-disclosure-trigger{font-weight:600;padding:.5rem;border:1px solid transparent;cursor:pointer}
.oracle-disclosure-trigger:focus-visible{border-color:var(--cyan);outline:0}
/* Shared disclosure marker: ▸ collapsed, ▾ expanded, matching the motion disclosure. */
.oracle-disclosure:not(.oracle-motion-disclosure)>.oracle-disclosure-trigger:before{content:'\25B8';display:inline-block;width:1ch;margin-right:var(--space-2);color:var(--muted)}
.oracle-disclosure:not(.oracle-motion-disclosure)[open]>.oracle-disclosure-trigger:before{content:'\25BE'}
.oracle-code,.oracle-code-block{font:var(--type-code);background:var(--surface-input)}
.oracle-code{padding:.125rem .25rem;overflow-wrap:anywhere}
.oracle-code-block{padding:var(--panel-inset);border:1px solid var(--quiet);overflow:auto}
.oracle-code-block>.oracle-code{padding:0;overflow-wrap:normal}
.oracle-table-scroll{max-width:100%;overflow:auto;margin:1.5rem 0;border:1px solid var(--quiet);scrollbar-color:var(--edge) var(--surface-input)}
.oracle-table{width:100%;border-collapse:collapse;text-align:left}
.oracle-table th{background:var(--chrome);font-size:.875rem;font-weight:600}
.oracle-table th,.oracle-table td{padding:.75rem 1rem;vertical-align:top;border-bottom:1px solid var(--quiet);min-width:9rem}
.oracle-table tr:last-child td{border-bottom:0}
.oracle-table td{overflow-wrap:anywhere}
.oracle-table tbody tr:hover{background:var(--surface-content)}
.oracle-table tbody tr.oracle-row{display:table-row;gap:0;min-height:0;padding-inline:0;border-bottom:0}
.oracle-table tbody tr.oracle-row.is-selected{background:var(--selection);font-weight:700;box-shadow:inset 3px 0 0 var(--text)}
.oracle-table tbody tr.oracle-row.oracle-row--data.is-selected{box-shadow:inset 3px 0 0 var(--text)}
.oracle-status--positive{--status-foreground:var(--positive-foreground);--status-surface:var(--positive-surface)}
.oracle-status--warning{--status-foreground:var(--warning-foreground);--status-surface:var(--warning-surface)}
.oracle-status--danger{--status-foreground:var(--danger-foreground);--status-surface:var(--danger-surface)}
.oracle-status--neutral{--status-foreground:var(--muted);--status-surface:var(--surface-content)}
.oracle-status--running{--status-foreground:var(--running-foreground);--status-surface:var(--running-surface)}
.oracle-status--category{--status-foreground:var(--muted);--status-surface:var(--surface-content)}
.oracle-button,.oracle-chip,.oracle-tab{
  display:inline-block;position:relative;isolation:isolate;border:0;border-radius:0;
  background:transparent;color:var(--text);font-family:var(--font-body);font-weight:500;
  text-decoration:none;vertical-align:middle;
  --contour-edge:var(--edge);--contour-face:var(--control);--contour-rest:var(--control);--component-cut:var(--button-cut);
  --contour-shape:polygon(var(--component-cut) 0,calc(100% - var(--component-cut)) 0,100% var(--component-cut),100% calc(100% - var(--component-cut)),calc(100% - var(--component-cut)) 100%,var(--component-cut) 100%,0 calc(100% - var(--component-cut)),0 var(--component-cut));
}
.oracle-button{font:var(--type-control);padding:var(--control-padding);min-height:var(--control-height)}
button.oracle-button,button.oracle-tab{cursor:pointer}
.oracle-button--primary{--contour-edge:var(--action-edge);font-weight:600}
.oracle-button--warning{--contour-face:var(--warning-surface);--contour-rest:var(--warning-surface);--contour-edge:var(--warning-foreground);color:var(--warning-foreground)}
.oracle-button--danger{--contour-face:var(--danger-surface);--contour-rest:var(--danger-surface);--contour-edge:var(--danger-foreground);color:var(--danger-foreground)}
.oracle-button--quiet{--contour-face:transparent;--contour-rest:transparent;--contour-edge:transparent;color:var(--text);padding-inline:0;min-height:0}
.oracle-button--quiet:before{display:none}
.oracle-button--quiet>.contour-strokes{display:none}
.oracle-button:hover,.oracle-tab:hover{--contour-face:var(--control-hover)}
.oracle-button.is-hovered,.oracle-tab.is-hovered{--contour-face:var(--control-hover)}
.oracle-button.is-pressed,.oracle-tab.is-pressed{--contour-face:var(--control-pressed)}
.oracle-button:disabled,.oracle-button.is-disabled{--contour-face:var(--surface-disabled);--contour-rest:var(--surface-disabled);--contour-edge:var(--quiet);color:var(--muted);cursor:default}
.oracle-button.has-busy-label{min-inline-size:12rem}
.oracle-button[aria-busy=true]{display:inline-flex;align-items:center;gap:var(--space-2)}
.oracle-button[aria-pressed=true]{--contour-edge:var(--action-edge);font-weight:600}
.oracle-button[aria-pressed=true]:is(.is-focused,:focus-visible)>.contour-strokes>.contour-edge{stroke:var(--action-edge)}
.oracle-button[aria-pressed=true]:not(.oracle-terminal *):is(.is-focused,:focus-visible){--contour-face:var(--focus-fill);outline:none}
.oracle-density--touch :is(.oracle-button,.oracle-tab):hover:not(.is-pressed):not(:disabled):not(.is-disabled){--contour-face:var(--contour-rest)}
.oracle-chip{
  --component-cut:var(--chip-cut);--contour-face:var(--status-surface,var(--surface-content));
  --contour-edge:var(--status-foreground,var(--edge));
  color:var(--status-foreground,var(--text));font:var(--type-badge);padding:var(--chip-padding);
}
.oracle-notice{display:block;padding:var(--space-3)}
.oracle-notice .oracle-label{display:block}
.oracle-notice .oracle-meta{margin:var(--space-2) 0 0}
.oracle-tabs{display:flex;border-bottom:1px solid var(--quiet);padding-top:4px}
.oracle-tabs--vertical{flex-direction:column;align-items:stretch;border-bottom:0;border-right:1px solid var(--quiet);padding:0 4px 0 0;width:max-content}
.oracle-tabs--vertical .oracle-tab{margin:0 -1px 0 0}
.oracle-tab{
  --component-cut:var(--tab-cut);--contour-edge:var(--quiet);--contour-face:var(--content);--contour-rest:var(--content);
  --contour-shape:polygon(0 0,calc(100% - var(--component-cut)) 0,100% var(--component-cut),100% 100%,0 100%);
  color:var(--muted);font-size:1rem;line-height:1.5;padding:.625rem 1rem;min-height:var(--control-height);vertical-align:bottom;margin-bottom:-1px;z-index:1;
}
.oracle-tab:is(.is-selected,[aria-selected=true]){--contour-face:var(--control);--contour-rest:var(--control);color:var(--text)}
.oracle-tab:is(.is-selected,[aria-selected=true]):is(:hover,.is-hovered):not(.is-pressed){--contour-face:var(--control-hover)}
.oracle-tab:is(.is-selected,[aria-selected=true]).is-pressed{--contour-face:var(--control-pressed)}
.oracle-tab:disabled{--contour-face:var(--surface-content);--contour-rest:var(--surface-content);--contour-edge:var(--quiet);color:var(--muted);cursor:default}
.oracle-button:before,.oracle-chip:before,.oracle-tab:before{content:'';position:absolute;inset:0;z-index:-1;background:var(--contour-face);clip-path:var(--contour-shape);pointer-events:none;transition:background var(--motion-hover) var(--motion-standard-curve)}
.oracle-button.is-pressed:before,.oracle-tab.is-pressed:before{transition-duration:var(--motion-press)}
.contour-strokes{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;fill:none}
.contour-edge{stroke:var(--contour-edge);stroke-width:var(--control-stroke);stroke-linejoin:miter}
.contour-marker{display:none;stroke:var(--action-edge);stroke-width:var(--tab-marker-stroke);stroke-linejoin:miter}
.oracle-tab:is(.is-selected,[aria-selected=true])>.contour-strokes>.contour-marker{display:block}
:is(.oracle-button,.oracle-chip,.oracle-tab):is(.is-focused,:focus-visible)>.contour-strokes>.contour-edge{stroke:var(--cyan)}
:is(.oracle-button,.oracle-chip,.oracle-tab):focus-visible{outline:none}
.oracle-button--quiet:is(.is-focused,:focus-visible){outline:none;text-decoration:none}.oracle-button--quiet:is(.is-focused,:focus-visible)>.contour-strokes{display:block}
.oracle-tab-panel{padding:var(--panel-inset);background:var(--content);border:1px solid var(--quiet)}
.oracle-panel{position:relative;isolation:isolate;min-width:0;padding:var(--panel-inset);background:transparent}
.oracle-panel--small{--panel-cut:var(--panel-cut-small)}
.oracle-panel--plain .oracle-frame:after{display:none}
.oracle-panel--no-embellishment .oracle-frame,.oracle-panel--no-embellishment .oracle-frame:before{clip-path:polygon(var(--panel-cut) 0,calc(100% - var(--panel-cut)) 0,100% var(--panel-cut),100% calc(100% - var(--panel-cut)),calc(100% - var(--panel-cut)) 100%,var(--panel-cut) 100%,0 calc(100% - var(--panel-cut)),0 var(--panel-cut))}
.oracle-panel--document{padding:2rem}
.oracle-frame,.oracle-drawer:has(.oracle-drawer-disclosure[open]):before{position:absolute;inset:0;z-index:-1;background:var(--quiet);pointer-events:none;
  clip-path:polygon(var(--panel-cut) 0,calc(100% - var(--frame-recess-inset) - var(--frame-recess-width)) 0,calc(100% - var(--frame-recess-inset) - var(--frame-recess-width) + var(--frame-recess-depth)) var(--frame-recess-depth),calc(100% - var(--frame-recess-inset) - var(--frame-recess-depth)) var(--frame-recess-depth),calc(100% - var(--frame-recess-inset)) 0,calc(100% - var(--panel-cut)) 0,100% var(--panel-cut),100% calc(100% - var(--panel-cut)),calc(100% - var(--panel-cut)) 100%,var(--panel-cut) 100%,0 calc(100% - var(--panel-cut)),0 var(--panel-cut));
}
.oracle-frame:before,.oracle-drawer:has(.oracle-drawer-disclosure[open]):after{content:'';position:absolute;inset:var(--control-stroke);background:var(--content);
  clip-path:polygon(calc(var(--panel-cut) - var(--chamfer-inset)) 0,calc(100% - var(--frame-recess-inset) - var(--frame-recess-width) + var(--chamfer-inset)) 0,calc(100% - var(--frame-recess-inset) - var(--frame-recess-width) + var(--frame-recess-depth) + var(--chamfer-inset)) var(--frame-recess-depth),calc(100% - var(--frame-recess-inset) - var(--frame-recess-depth) + var(--chamfer-diagonal)) var(--frame-recess-depth),calc(100% - var(--frame-recess-inset) + var(--chamfer-diagonal)) 0,calc(100% - var(--panel-cut) + var(--chamfer-inset)) 0,100% calc(var(--panel-cut) - var(--chamfer-inset)),100% calc(100% - var(--panel-cut) + var(--chamfer-inset)),calc(100% - var(--panel-cut) + var(--chamfer-inset)) 100%,calc(var(--panel-cut) - var(--chamfer-inset)) 100%,0 calc(100% - var(--panel-cut) + var(--chamfer-inset)),0 calc(var(--panel-cut) - var(--chamfer-inset)));
}
.oracle-frame:after{content:'';position:absolute;left:var(--panel-inset);top:0;width:var(--frame-recess-width);height:var(--frame-recess-depth);background:var(--cyan)}
.oracle-frame--popout,.oracle-frame--popout:before{clip-path:polygon(var(--panel-cut) 0,calc(100% - var(--frame-recess-inset) - var(--frame-recess-width)) 0,calc(100% - var(--frame-recess-inset) - var(--frame-recess-width) + var(--frame-recess-depth)) calc(0px - var(--frame-recess-depth)),calc(100% - var(--frame-recess-inset) - var(--frame-recess-depth)) calc(0px - var(--frame-recess-depth)),calc(100% - var(--frame-recess-inset)) 0,calc(100% - var(--panel-cut)) 0,100% var(--panel-cut),100% calc(100% - var(--panel-cut)),calc(100% - var(--panel-cut)) 100%,var(--panel-cut) 100%,0 calc(100% - var(--panel-cut)),0 var(--panel-cut))}
.oracle-frame--popout:before{clip-path:polygon(calc(var(--panel-cut) - var(--chamfer-inset)) 0,calc(100% - var(--frame-recess-inset) - var(--frame-recess-width) + var(--chamfer-inset)) 0,calc(100% - var(--frame-recess-inset) - var(--frame-recess-width) + var(--frame-recess-depth) + var(--chamfer-inset)) calc(0px - var(--frame-recess-depth)),calc(100% - var(--frame-recess-inset) - var(--frame-recess-depth) + var(--chamfer-diagonal)) calc(0px - var(--frame-recess-depth)),calc(100% - var(--frame-recess-inset) + var(--chamfer-diagonal)) 0,calc(100% - var(--panel-cut) + var(--chamfer-inset)) 0,100% calc(var(--panel-cut) - var(--chamfer-inset)),100% calc(100% - var(--panel-cut) + var(--chamfer-inset)),calc(100% - var(--panel-cut) + var(--chamfer-inset)) 100%,calc(var(--panel-cut) - var(--chamfer-inset)) 100%,0 calc(100% - var(--panel-cut) + var(--chamfer-inset)),0 calc(var(--panel-cut) - var(--chamfer-inset)))}
.oracle-header{min-height:var(--header-height);padding:var(--panel-inset);background:var(--chrome);border:1px solid var(--quiet)}
.oracle-header .oracle-meta,.oracle-header .oracle-chip-group{transition:opacity var(--motion-page-detail) var(--motion-enter-curve)}
.oracle-chip-group{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0}
.oracle-meta{font:var(--type-metadata);color:var(--muted)}
.oracle-icon{display:inline-block;vertical-align:middle;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:var(--icon-stroke);stroke-linecap:round;stroke-linejoin:round;width:var(--icon-24);height:var(--icon-24)}
.oracle-icon--16{width:var(--icon-16);height:var(--icon-16);stroke-width:var(--icon-stroke-small)}
.oracle-icon--20{width:var(--icon-20);height:var(--icon-20)}
.oracle-icon--24{width:var(--icon-24);height:var(--icon-24)}
.oracle-icon-tile{display:grid;place-items:center;width:var(--icon-tile);height:var(--icon-tile);background:var(--surface-chrome);border:1px solid var(--quiet);color:var(--text)}
.oracle-icon-role--info{color:var(--muted)}
.oracle-icon-role--action{color:var(--action-edge)}
.oracle-icon-role--category{color:var(--muted)}
.oracle-icon-role--positive{color:var(--positive-foreground)}
.oracle-icon-role--warning{color:var(--warning-foreground)}
.specimen-touch-target{display:grid;place-items:center;width:var(--touch-target);height:var(--touch-target)}
.oracle-canvas{background:var(--canvas)}
.oracle-chrome{background:var(--chrome);border-bottom:1px solid var(--quiet)}
.oracle-shell-rail,.oracle-shell-drawer{border:1px solid var(--quiet);background:var(--surface-chrome);min-height:6rem;font-size:.75rem;color:var(--muted);padding:var(--space-2)}
.oracle-shell-rail--icon{width:var(--rail-icon)}
.oracle-shell-rail--labeled{width:var(--rail-labeled)}
.oracle-shell-rail--expanded{width:min(var(--rail-expanded),100%)}
.oracle-shell-drawer--open{width:min(var(--drawer-width),100%)}
.oracle-shell-drawer--rail{width:var(--drawer-rail)}
.oracle-content{background:var(--content)}
.oracle-input{box-sizing:border-box;min-height:var(--control-height);padding:var(--panel-inset);background:var(--surface-input);border:1px solid var(--edge);border-radius:var(--field-radius);color:var(--text)}
.oracle-input--search{display:flex;align-items:center;gap:var(--space-2);padding:0 0 0 var(--space-4)}
.oracle-search-text{flex:1;min-width:0;width:100%;padding:0;border:0;background:transparent;color:var(--text);font:inherit}
.oracle-search-text::-webkit-search-cancel-button{display:none}
.oracle-input--textarea{display:block;width:100%;min-height:96px;resize:vertical;font:var(--type-body)}
.oracle-input--select{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}
.oracle-input--select:after{content:'\25BE';flex:0 0 1.25rem;text-align:center;color:var(--muted)}
.oracle-json{margin:0;padding:var(--panel-inset);background:var(--surface-input);border:1px solid var(--edge);font:var(--type-code);color:var(--text);overflow:auto}
.oracle-json-key{color:var(--syntax-key)}.oracle-json-string{color:var(--syntax-string)}.oracle-json-number{color:var(--syntax-number)}
.oracle-toast{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);max-width:20rem;padding:var(--space-3) var(--space-4);background:var(--chrome);border:1px solid var(--edge);box-shadow:var(--shadow-dialog)}
.oracle-toast[hidden],.oracle-toast [hidden]{display:none}
.oracle-terminal .oracle-toast{padding:0;border:0;box-shadow:none;background:transparent}
.oracle-input::placeholder{color:var(--muted);opacity:1}
.oracle-input:is(:hover,.is-hovered):not(:focus-visible):not(.is-focused):not(:disabled):not(.is-disabled):not(.is-readonly):not(.is-invalid){border-color:var(--field-hover-edge)}
.oracle-input:is(:focus-visible,.is-focused){border-color:var(--cyan);outline:none}.oracle-input.is-invalid:not(.oracle-terminal *):is(:focus-visible,.is-focused){background:var(--focus-fill);border-color:var(--danger-foreground)}
.oracle-input.is-invalid{border-color:var(--danger-foreground)}
.oracle-input:is(:disabled,.is-disabled){background:var(--surface-disabled);border-color:var(--quiet);color:var(--muted)}
.oracle-input:is([readonly],.is-readonly){background:var(--surface-input);border-color:var(--edge);color:var(--text);user-select:text}
.oracle-density--touch .oracle-input:hover:not(:focus-visible):not(.is-focused):not(:disabled):not(.is-disabled):not(.is-invalid):not(.is-readonly){border-color:var(--edge)}
.oracle-field-error{margin:.25rem 0 0;color:var(--danger-foreground);font:var(--type-metadata)}
.oracle-menu,.oracle-dialog{position:relative;padding:var(--panel-inset);background:var(--chrome);border:1px solid var(--edge);transition:opacity var(--motion-menu-enter) var(--motion-enter-curve),box-shadow var(--motion-menu-exit) var(--motion-exit-curve)}
.oracle-menu{box-shadow:var(--shadow-overlay);padding:var(--space-2)}
.oracle-menu-command{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);box-sizing:border-box;width:100%;min-height:var(--target-size);padding:0 var(--space-2);border:0;background:transparent;color:var(--text);font:var(--type-control);text-align:start}
.oracle-dialog{box-shadow:var(--shadow-dialog)}
.oracle-tooltip{display:inline-block;padding:.375rem .625rem;background:var(--chrome);border:1px solid var(--edge);font-size:.875rem;line-height:1.25rem;transition:opacity var(--motion-menu-enter) var(--motion-enter-curve),border-color var(--motion-menu-exit) var(--motion-exit-curve)}
.oracle-scrim{position:absolute;inset:0;background:var(--scrim);pointer-events:none;transition:opacity var(--motion-menu-enter) var(--motion-enter-curve)}
.oracle-density--dense{--control-height:32px;--control-padding:.375rem .75rem;--target-size:32px;--row-min:40px}
.oracle-density--compact{--control-height:28px;--control-padding:.25rem .5rem;--target-size:28px;--row-min:32px}
.oracle-density--touch{--control-height:48px;--control-padding:.5rem 1rem;--target-size:48px;--row-min:48px}
.oracle-icon-action{display:grid;place-items:center;box-sizing:border-box;flex-shrink:0;width:var(--target-size);min-width:var(--target-size);height:var(--target-size);min-height:var(--target-size);border:1px solid var(--quiet);background:var(--surface-content);color:var(--text);font-size:1.25rem;line-height:1}
.oracle-row{display:flex;align-items:center;gap:var(--space-2);min-height:var(--row-min);padding-inline:var(--panel-inset);border-bottom:1px solid var(--quiet);transition:opacity var(--motion-list-enter) var(--motion-enter-curve),background var(--motion-list-enter) var(--motion-enter-curve),box-shadow var(--motion-list-exit) var(--motion-exit-curve)}
.oracle-row.is-selected{background:var(--selection);font-weight:700;box-shadow:inset 3px 0 0 var(--text)}
.oracle-row.oracle-row--data.is-selected{box-shadow:inset 3px 0 0 var(--text)}
.oracle-row.is-focused{outline:1px solid var(--cyan);outline-offset:-1px}
.oracle-status-dot{display:inline-block;flex:0 0 .625rem;width:.625rem;height:.625rem;border-radius:50%;background:var(--positive-foreground)}
.oracle-selection{display:inline-block;color:var(--text);padding:.5rem .75rem;border-left:3px solid var(--text);background:var(--selection)}
.oracle-back{color:var(--cyan);font-size:.875rem}
.oracle-progress{display:grid;gap:var(--space-2);min-width:0}
.oracle-progress--fixed{width:12rem}
/* The track is a fixed number of whole segments; --filled is an integer, so a segment is never partly filled. */
.oracle-progress-track{--segments:8;--filled:0;--segment-gap:4px;--segment-pitch:calc((100% + var(--segment-gap)) / var(--segments));height:8px;background:var(--quiet);overflow:hidden;
  -webkit-mask:linear-gradient(90deg,#000 calc(100% - var(--segment-gap)),transparent 0) 0 0/var(--segment-pitch) 100% repeat-x;
  mask:linear-gradient(90deg,#000 calc(100% - var(--segment-gap)),transparent 0) 0 0/var(--segment-pitch) 100% repeat-x}
.oracle-progress-fill{height:100%;width:calc((100% + var(--segment-gap)) * var(--filled) / var(--segments));background:var(--running-foreground)}
.oracle-progress--indeterminate .oracle-progress-fill{display:grid;grid-template-columns:repeat(var(--segments),1fr);column-gap:var(--segment-gap);width:100%;background:transparent}
.oracle-progress-segment{background:var(--quiet)}

/* The spinner is a text-sized four-segment mark (squares top-left and bottom-right, triangles top-right and bottom-left whose diagonals cut off those outer corners) with one running-green segment stepping clockwise. */
.oracle-spinner{--spinner-size:1em;--spinner-gap:2px;--spinner-quad:calc(50% - var(--spinner-gap)/2);position:relative;display:inline-block;flex:0 0 var(--spinner-size);width:var(--spinner-size);height:var(--spinner-size);overflow:hidden;vertical-align:-.125em;background:var(--quiet);-webkit-mask:var(--spinner-mask);mask:var(--spinner-mask);--spinner-mask:linear-gradient(#000 0 0) 0 0/var(--spinner-quad) var(--spinner-quad) no-repeat,linear-gradient(to top right,#000 50%,transparent 50%) 100% 0/var(--spinner-quad) var(--spinner-quad) no-repeat,linear-gradient(to bottom left,#000 50%,transparent 50%) 0 100%/var(--spinner-quad) var(--spinner-quad) no-repeat,linear-gradient(#000 0 0) 100% 100%/var(--spinner-quad) var(--spinner-quad) no-repeat}
.oracle-spinner:before{content:'';position:absolute;inset:-50%;background:conic-gradient(from 0deg,var(--running-foreground) 0 25%,transparent 25% 100%);animation:oracle-spinner-turn var(--motion-spinner-cycle) steps(4,end) infinite}
@keyframes oracle-spinner-turn{to{transform:rotate(360deg)}}
.oracle-switch{display:inline-grid;grid-template-columns:var(--switch-track) auto;column-gap:var(--space-2);align-items:center;min-height:var(--control-height);padding:0;border:0;background:transparent;color:var(--text);cursor:pointer}
.oracle-switch-track{display:block;position:relative;width:var(--switch-track);height:var(--switch-track-height);background:var(--surface-input);border:1px solid var(--edge);border-radius:var(--field-radius)}
.oracle-switch-thumb{position:absolute;top:50%;left:var(--switch-thumb-inset);width:var(--switch-thumb);height:var(--switch-thumb);margin-top:calc(var(--switch-thumb)/-2);background:var(--muted);border-radius:var(--field-radius);transition:transform var(--motion-state-change) var(--motion-standard-curve),background var(--motion-hover) var(--motion-standard-curve)}
.oracle-switch[aria-checked=true] .oracle-switch-track{background:var(--control);border-color:var(--action-edge)}
.oracle-switch[aria-checked=true] .oracle-switch-thumb{transform:translateX(calc(var(--switch-track) - var(--switch-thumb) - var(--switch-thumb-travel-gap)));background:var(--text)}
.oracle-switch:is(:focus-visible,.is-focused){outline:none}.oracle-switch:is(:focus-visible,.is-focused) .oracle-switch-track{border-color:var(--cyan)}.oracle-switch[aria-checked=true]:not(.oracle-terminal *):is(:focus-visible,.is-focused) .oracle-switch-track{background:var(--focus-fill);border-color:var(--action-edge)}
.oracle-switch:is(:disabled,.is-disabled){color:var(--muted);cursor:default}
.oracle-switch:is(:disabled,.is-disabled) .oracle-switch-track{background:var(--surface-disabled);border-color:var(--quiet)}
.oracle-check{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--control-height);color:var(--text);cursor:pointer}
.oracle-checkbox,.oracle-radio{display:inline-flex}
.oracle-check-control{position:relative;display:grid;flex:0 0 var(--mark-size);width:var(--mark-size);height:var(--mark-size);align-self:center}
.oracle-check-input{position:absolute;inset:0;margin:0;opacity:0;cursor:inherit}
.oracle-check-mark{box-sizing:border-box;width:var(--mark-size);height:var(--mark-size);display:grid;place-items:center;background:var(--surface-input);border:1px solid var(--edge);border-radius:var(--field-radius)}
.oracle-radio .oracle-check-mark{border-radius:50%}
.oracle-checkbox:is(:hover,.is-hovered):not(:has(:disabled)):not(.is-disabled) .oracle-check-mark,.oracle-radio:is(:hover,.is-hovered):not(:has(:disabled)):not(.is-disabled) .oracle-check-mark{border-color:var(--text)}
.oracle-checkbox:is(:hover,.is-hovered):has(:checked) .oracle-check-mark,.oracle-radio:is(:hover,.is-hovered):has(:checked) .oracle-check-mark,.oracle-checkbox.is-indeterminate:is(:hover,.is-hovered) .oracle-check-mark{background:var(--control-hover);border-color:var(--action-edge)}
.oracle-checkbox:has(:checked) .oracle-check-mark,.oracle-radio:has(:checked) .oracle-check-mark,.oracle-checkbox.is-indeterminate .oracle-check-mark{background:var(--control);border-color:var(--action-edge)}
.oracle-checkbox:has(:checked) .oracle-check-mark:after{content:'';width:.35rem;height:.6rem;border:solid var(--text);border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-2px)}
.oracle-checkbox.is-indeterminate .oracle-check-mark:after{content:'';width:.625rem;height:2px;background:var(--text);border:0;transform:none}
.oracle-radio:has(:checked) .oracle-check-mark:after{content:'';width:.5rem;height:.5rem;border-radius:50%;background:var(--text)}
.oracle-check.is-invalid .oracle-check-mark{border-color:var(--danger-foreground)}
.oracle-check:is(:has(:disabled),.is-disabled){color:var(--muted);cursor:default}
.oracle-check:is(:has(:disabled),.is-disabled) .oracle-check-mark{background:var(--surface-disabled);border-color:var(--quiet)}
.oracle-check:is(:has(:focus-visible),.is-focused) .oracle-check-mark{border-color:var(--cyan);outline:none}.oracle-check:not(.oracle-terminal *):is(:has(:checked),.is-indeterminate,.is-invalid):is(:has(:focus-visible),.is-focused) .oracle-check-mark{background:var(--focus-fill);border-color:var(--action-edge)}.oracle-check.is-invalid:not(.oracle-terminal *):is(:has(:focus-visible),.is-focused) .oracle-check-mark{border-color:var(--danger-foreground)}
.oracle-density--touch :is(.oracle-checkbox,.oracle-radio):hover:not(.is-hovered) .oracle-check-mark{background:var(--surface-input);border-color:var(--edge)}
.oracle-density--touch :is(.oracle-checkbox,.oracle-radio):hover:not(.is-hovered):has(:checked) .oracle-check-mark,.oracle-density--touch .oracle-checkbox.is-indeterminate:hover:not(.is-hovered) .oracle-check-mark{background:var(--control);border-color:var(--action-edge)}
.oracle-density--touch .oracle-check.is-invalid:hover:not(.is-hovered) .oracle-check-mark{border-color:var(--danger-foreground)}
.oracle-density--touch .oracle-check:hover:not(.is-hovered):is(:has(:disabled),.is-disabled) .oracle-check-mark{background:var(--surface-disabled);border-color:var(--quiet)}
.oracle-tabs--state-sync{position:relative}
.oracle-tabs--state-sync>.oracle-tab-marker{position:absolute;bottom:0;left:0;height:var(--tab-marker-stroke);background:var(--action-edge);pointer-events:none;transition:left var(--motion-state-change) var(--motion-standard-curve),width var(--motion-state-change) var(--motion-standard-curve)}
.oracle-tabs--state-sync .oracle-tab:is(.is-selected,[aria-selected=true])>.contour-strokes>.contour-marker{display:none}
.oracle-connector{display:flex;align-items:center;gap:0;min-width:2.5rem;color:var(--quiet);--connector-stroke:1px}
.oracle-connector-line{flex:1;height:0;border-top:var(--connector-stroke) dotted currentColor}
.oracle-connector-head{flex:0 0 auto;font-size:.75rem;line-height:1;color:inherit}
.oracle-connector--active{color:var(--running-foreground)}
.oracle-connector--active .oracle-connector-line{background:repeating-linear-gradient(90deg,currentColor 0 6px,transparent 6px 12px);background-size:12px var(--connector-stroke);height:var(--connector-stroke);border:0;animation:oracle-connector-flow var(--motion-flow-cycle) linear infinite}
@keyframes oracle-connector-flow{from{background-position:0 0}to{background-position:12px 0}}
.oracle-motion-disclosure{border:1px solid var(--quiet);background:var(--surface-content)}
.oracle-motion-disclosure>.oracle-disclosure-trigger{display:flex;align-items:center;gap:var(--space-2);list-style:none;width:100%;text-align:left;background:var(--chrome)}
.oracle-motion-disclosure>.oracle-disclosure-trigger::-webkit-details-marker{display:none}
.oracle-motion-disclosure-marker{flex:0 0 1ch;color:var(--muted);display:inline-block}
.oracle-motion-disclosure-body{overflow:hidden}
[data-motion-presence].is-away{opacity:0;pointer-events:none}
.oracle-motion-disclosure[open] .oracle-motion-disclosure-marker:before{content:'\25BE'}
.oracle-motion-disclosure:not([open]) .oracle-motion-disclosure-marker:before{content:'\25B8'}
.oracle-motion-disclosure-body-inner{padding:var(--panel-inset)}
@media(prefers-reduced-motion:reduce){
  .oracle-switch-thumb,.oracle-tabs--state-sync>.oracle-tab-marker,.oracle-button:before,.oracle-chip:before,.oracle-tab:before,.oracle-menu,.oracle-dialog,.oracle-tooltip,.oracle-scrim,.oracle-row,.oracle-header .oracle-meta,.oracle-header .oracle-chip-group,.oracle-drawer-body{transition:none}
  .oracle-drawer-body{scroll-behavior:auto}
  .oracle-spinner:before,.oracle-terminal .oracle-button[aria-busy=true] .oracle-spinner:before,.oracle-connector--active .oracle-connector-line{animation:none}
}
/* Nonmodal drawer: chrome header, scroll-owned content, and a 36px closed rail. */
.oracle-drawer{--drawer-cut:var(--panel-cut);position:relative;isolation:isolate;background:transparent;border:0;min-width:0}
.oracle-drawer:has(.oracle-drawer-disclosure:not([open])){--drawer-cut:var(--panel-cut-small)}
.oracle-drawer:before,.oracle-drawer:after{content:'';position:absolute;z-index:-1;pointer-events:none;clip-path:polygon(var(--drawer-cut) 0,calc(100% - var(--drawer-cut)) 0,100% var(--drawer-cut),100% calc(100% - var(--drawer-cut)),calc(100% - var(--drawer-cut)) 100%,var(--drawer-cut) 100%,0 calc(100% - var(--drawer-cut)),0 var(--drawer-cut))}
.oracle-drawer:before{inset:0;background:var(--quiet)}
.oracle-drawer:after{inset:var(--control-stroke);--drawer-cut:calc(var(--panel-cut) - var(--chamfer-inset));background:var(--chrome) top/100% var(--header-height) no-repeat,var(--content)}
/* Restated so the chrome band wins over the shared open-frame fill. */
.oracle-drawer:has(.oracle-drawer-disclosure[open]):after{background:var(--chrome) top/100% var(--header-height) no-repeat,var(--content)}
.oracle-drawer:has(.oracle-drawer-disclosure:not([open])):after{--drawer-cut:calc(var(--panel-cut-small) - var(--chamfer-inset))}
.oracle-drawer-disclosure{height:100%}
.oracle-drawer-heading{display:flex;align-items:center;gap:.5rem;min-height:var(--header-height);padding:.5rem;background:transparent;border-bottom:1px solid var(--quiet);cursor:pointer;list-style:none;font-weight:600}
.oracle-drawer-heading::-webkit-details-marker{display:none}
.oracle-drawer-title{min-width:0;font-size:.875rem;line-height:1.25rem}
.oracle-drawer-heading:focus-visible{outline:0;border-color:var(--cyan)}
.oracle-drawer-toggle{display:grid;place-items:center;flex:0 0 20px;width:20px;height:var(--status-min);font-size:1.5rem;line-height:1;color:var(--text)}
.oracle-drawer-toggle:before{content:'›'}
.oracle-drawer-disclosure:not([open]) .oracle-drawer-toggle:before{content:'‹'}
.oracle-drawer-disclosure:not([open]) .oracle-drawer-title{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.oracle-drawer-body{padding:.5rem;overflow:auto;overscroll-behavior:contain;scrollbar-color:var(--edge) var(--surface-input);scroll-behavior:smooth;transition:outline-color var(--motion-scroll) var(--motion-standard-curve)}
.oracle-button{max-width:100%;overflow-wrap:anywhere}
/* Terminal is a rendering context for the same component and status classes. */
.oracle-terminal{font:400 .875rem/1.2 var(--font-terminal);font-variant-ligatures:none;letter-spacing:0;color:var(--text)}
.oracle-terminal.oracle-content{background:var(--surface-content)}
.oracle-terminal .oracle-chrome{background:var(--surface-chrome)}
.oracle-terminal .oracle-content{background:var(--surface-content)}
.oracle-terminal .oracle-table{font:inherit}
.oracle-terminal caption{color:var(--cyan)}
.oracle-terminal .oracle-table th{font:inherit;color:var(--muted);background:transparent}
.oracle-terminal .oracle-input{min-height:0;background:var(--surface-input);border:0;border-radius:0;padding:0;font:inherit}
.oracle-terminal :is(.oracle-button,.oracle-tab,.oracle-chip){font:inherit;line-height:inherit;vertical-align:baseline;min-height:0;padding:0;border:0;margin:0;isolation:auto;z-index:auto}
.oracle-terminal :is(.oracle-button,.oracle-tab,.oracle-chip):before{display:none}
.oracle-terminal .oracle-button{color:var(--edge);background:transparent}
.oracle-terminal .oracle-tab{color:var(--muted);background:transparent}
.oracle-terminal :is(.oracle-button,.oracle-tab) .oracle-heading{color:inherit}
.oracle-terminal :is(.oracle-button,.oracle-tab):is(.is-focused,:focus-visible),.oracle-terminal .is-focused :is(.oracle-button,.oracle-tab){color:var(--cyan);outline:none}
.oracle-terminal .oracle-chip{color:var(--status-foreground,var(--muted));background:transparent}
.oracle-terminal .oracle-selection{padding:0;border:0;background:transparent}
.oracle-terminal .oracle-table tbody tr:hover{background:transparent}
.oracle-terminal :is(.oracle-menu,.oracle-dialog,.oracle-tooltip,.oracle-scrim){box-shadow:none;border:0;padding:0;background:transparent}
.oracle-terminal .oracle-icon-action{width:auto;height:auto;border:0;background:transparent}
.oracle-terminal .oracle-row{min-height:0;padding:0;border:0}
.oracle-terminal .oracle-icon{display:none}
.oracle-terminal .oracle-progress-track,.oracle-terminal .oracle-progress-fill{height:auto;background:transparent;animation:none;transition:none;-webkit-mask:none;mask:none}
.oracle-terminal .oracle-spinner{display:none}
.oracle-progress-cell{color:var(--quiet)}
.oracle-progress-cell--filled{color:var(--running-foreground)}
.oracle-flow-cell{color:var(--quiet)}
.oracle-flow-cell--lit{color:var(--running-foreground)}
.oracle-terminal .oracle-switch{display:inline-flex;align-items:baseline;gap:.5ch}
.oracle-terminal .oracle-switch-track,.oracle-terminal .oracle-switch[aria-checked=true] .oracle-switch-track{width:auto;height:auto;border:0;background:transparent}
.oracle-terminal .oracle-switch-thumb,.oracle-terminal .oracle-switch[aria-checked=true] .oracle-switch-thumb{position:static;transform:none;margin:0;width:auto;height:auto;background:transparent;border-radius:0;color:var(--text)}
.oracle-terminal .oracle-switch[aria-checked=false] .oracle-switch-thumb:before{content:'[off]'}
.oracle-terminal .oracle-switch[aria-checked=true] .oracle-switch-thumb:before{content:'[on]';color:var(--text)}
.oracle-terminal .oracle-switch:is(.is-focused,:focus-visible){color:var(--cyan);outline:none}
.oracle-terminal .oracle-switch.has-disabled-suffix:is(:disabled,.is-disabled):after{content:' (disabled)';color:var(--muted)}
.oracle-terminal .oracle-switch:is(:disabled,.is-disabled) .oracle-switch-thumb,.oracle-terminal .oracle-switch:is(:disabled,.is-disabled) .oracle-switch-thumb:before{color:var(--muted)}
.oracle-terminal :is(.oracle-check,.oracle-switch){min-height:0}
.oracle-terminal .oracle-check:is(:has(:disabled),.is-disabled) .oracle-check-mark{color:var(--muted)}
.oracle-terminal .oracle-check.is-invalid:is(.is-focused,:focus-within) .oracle-check-mark{color:var(--danger-foreground);outline:none}
.oracle-terminal .oracle-nav-link{min-height:0;padding:0;background:transparent;border-left-color:transparent;color:var(--text)}
.oracle-terminal .oracle-nav-link:is(.is-selected,[aria-current=page]){background:transparent;color:var(--text)}
.oracle-terminal .oracle-nav-link:before,.oracle-terminal .oracle-row:before{content:'\25B8 ';visibility:hidden;color:var(--text);white-space:pre}
.oracle-terminal .oracle-nav-link:is(.is-selected,[aria-current=page]):before,.oracle-terminal .oracle-row.is-selected:before{visibility:visible}
.oracle-terminal .oracle-nav-link:is(.is-focused,:focus-visible){color:var(--cyan);outline:none}
.oracle-terminal .oracle-button[aria-busy=true] .oracle-spinner{display:inline;flex:none;width:auto;height:auto;overflow:visible;background:transparent;-webkit-mask:none;mask:none;vertical-align:baseline;color:var(--running-foreground)}
/* One running-green quadrant block, clockwise from top left, matching the desktop spinner's four-segment cycle. */
.oracle-terminal .oracle-button[aria-busy=true] .oracle-spinner:before{content:'\2598';position:static;inset:auto;display:inline;background:none;transform:none;color:var(--running-foreground);animation:oracle-terminal-spinner var(--motion-spinner-cycle) linear infinite}
@keyframes oracle-terminal-spinner{0%,24.9%{content:'\2598'}25%,49.9%{content:'\259D'}50%,74.9%{content:'\2597'}75%,100%{content:'\2596'}}
@media(prefers-reduced-motion:reduce){.oracle-terminal .oracle-button[aria-busy=true] .oracle-spinner:before{animation:none}}
.oracle-terminal .oracle-button--primary,.oracle-terminal .oracle-button[aria-pressed=true],.oracle-terminal .oracle-tab:is(.is-selected,[aria-selected=true]){color:var(--text);font-weight:700}
.oracle-terminal :is(.oracle-button--primary,.oracle-button[aria-pressed=true],.oracle-tab:is(.is-selected,[aria-selected=true])):is(.is-focused,:focus-visible){color:var(--cyan)}
.oracle-terminal .oracle-button--quiet:is(.is-focused,:focus-visible){text-decoration:underline;text-underline-offset:.2em}
.oracle-terminal .oracle-button--danger{color:var(--danger-foreground)}
.oracle-terminal .oracle-button--quiet{color:var(--text);font-weight:500}
.oracle-terminal :is(.oracle-button,.oracle-tab):is(:disabled,.is-disabled){color:var(--muted);font-weight:500}
.oracle-terminal :is(.oracle-button,.oracle-tab).has-disabled-suffix:is(:disabled,.is-disabled):after{content:' (disabled)';color:var(--muted)}
.oracle-terminal :is(.oracle-button:not(.oracle-button--quiet),.oracle-chip):before{display:inline;content:'[ ';position:static;inset:auto;z-index:auto;background:none;clip-path:none}
.oracle-terminal :is(.oracle-button:not(.oracle-button--quiet),.oracle-chip):after{content:' ]'}
.oracle-terminal .oracle-button:not(.oracle-button--quiet):is(.is-focused,:focus-visible):before,.oracle-terminal .oracle-button:not(.oracle-button--quiet):is(.is-focused,:focus-visible):after{color:var(--edge)}
.oracle-terminal .oracle-button--primary:is(.is-focused,:focus-visible):before,.oracle-terminal .oracle-button--primary:is(.is-focused,:focus-visible):after{color:var(--text)}
.oracle-terminal .oracle-button.has-disabled-suffix:not(.oracle-button--quiet):is(:disabled,.is-disabled):after{content:' ] (disabled)'}
.oracle-terminal .oracle-input.is-invalid{border:0;border-bottom:1px solid var(--danger-foreground);border-radius:0;color:var(--text)}
.oracle-terminal .oracle-input:is(.is-focused,:focus-visible){outline:none;color:var(--text)}
.oracle-terminal .oracle-label:has(+.oracle-input:is(.is-focused,:focus-visible)){color:var(--cyan)}
.oracle-terminal .oracle-input.is-invalid:is(.is-focused,:focus-visible){color:var(--text);box-shadow:none}
.oracle-terminal .oracle-input:is(.is-disabled,:disabled){color:var(--muted)}
.oracle-terminal .oracle-field-error:before{content:'[!] '}
.oracle-terminal .oracle-check-control{display:inline;flex:0 0 auto;width:auto;height:auto}
.oracle-terminal .oracle-check-input{position:absolute;width:1px;height:1px;opacity:0}
.oracle-terminal .oracle-check-mark{display:inline;width:auto;height:auto;border:0;background:none;border-radius:0;color:var(--text);white-space:nowrap}
.oracle-terminal .oracle-check-mark:after{content:none}
.oracle-terminal .oracle-checkbox .oracle-check-mark:before{content:'[ ]'}
.oracle-terminal .oracle-checkbox:has(:checked) .oracle-check-mark:before{content:'[x]'}
.oracle-terminal .oracle-checkbox.is-indeterminate .oracle-check-mark:before{content:'[-]'}
.oracle-terminal .oracle-radio .oracle-check-mark:before{content:'( )'}
.oracle-terminal .oracle-radio:has(:checked) .oracle-check-mark:before{content:'(•)'}
.oracle-terminal .oracle-check.is-invalid .oracle-check-mark{color:var(--danger-foreground)}
.oracle-terminal .oracle-check:is(.is-focused,:focus-within){color:var(--cyan)}
.oracle-terminal .oracle-check:is(.is-focused,:focus-within) .oracle-check-mark{outline:none;color:var(--text)}
.oracle-terminal .oracle-check.is-invalid:is(.is-focused,:focus-within) .oracle-check-mark{color:var(--danger-foreground)}
.oracle-terminal .oracle-check.has-disabled-suffix:is(:has(:disabled),.is-disabled):after{content:' (disabled)';color:var(--muted)}
.oracle-terminal .oracle-row.is-selected{background:transparent;box-shadow:none}
.oracle-terminal .oracle-row.oracle-row--data.is-selected:before{color:var(--text)}
.oracle-terminal .oracle-row:is(.is-focused,:focus-visible){color:var(--cyan);outline:none}
.oracle-terminal .oracle-connector--active .oracle-connector-line{animation:none;background:none;border-top:1px solid currentColor}
.oracle-terminal .oracle-tabs{border:0;padding:0;gap:1ch}
.oracle-terminal .oracle-tab{margin:0}
.oracle-terminal .oracle-tabs--state-sync>.oracle-tab-marker{display:none}
.oracle-frame-edge{color:var(--edge)}
.oracle-frame-edge--quiet{color:var(--quiet)}
.oracle-frame-edge.is-focused{color:var(--edge)}
.oracle-control-edge{color:inherit}
.oracle-tab-edge,.oracle-tab-edge .oracle-frame-edge{color:var(--action-edge)}
.oracle-terminal .oracle-tab-edge,.oracle-terminal .oracle-tab-edge .oracle-frame-edge{color:var(--text)}
.oracle-heading{color:var(--text);font-weight:700}
.oracle-accent{color:var(--cyan)}
.oracle-selection-marker{color:var(--text)}
.oracle-selection--data{border-left-color:var(--text)}
.oracle-selection--data .oracle-selection-marker{color:var(--text)}
.terminal-screen{margin:0;border:0;padding:var(--panel-inset);white-space:pre;overflow:auto}
.terminal-screen .oracle-row{display:inline;gap:0}
.terminal-screen--graphical{font-family:var(--font-body);white-space:normal}
.terminal-screen code{font:inherit;color:inherit;background:none;padding:0}
.terminal-planes{padding:var(--panel-inset);overflow:auto}
.terminal-planes .oracle-chrome{padding:.625rem;min-width:29ch}
.terminal-planes pre{font:inherit;border:0;margin:0;padding:1rem .625rem;min-width:29ch;white-space:pre}
.terminal-glyph{font-family:var(--font-terminal)}
.color-reference{white-space:nowrap}
.color-swatch{display:inline-block;width:.875rem;height:.875rem;margin-inline-start:.375rem;vertical-align:-.125rem;border:1px solid var(--edge);background-image:linear-gradient(var(--swatch-color),var(--swatch-color)),repeating-conic-gradient(var(--text) 0% 25%,var(--edge) 0% 50%);background-size:100% 100%,6px 6px;forced-color-adjust:none;print-color-adjust:exact}
.gradient-swatch{display:inline-block;width:3rem;height:1.25rem;margin-inline-start:.375rem;vertical-align:-.25rem;border:1px solid var(--edge);background:var(--swatch-gradient);forced-color-adjust:none;print-color-adjust:exact}
.gradient-stop-positions{display:block;margin-top:.25rem}
.gradient-direction{white-space:nowrap}
.oracle-nav-link{padding:.5rem .75rem;color:var(--muted);text-decoration:none;border-left:3px solid transparent;min-height:var(--target-size)}
.oracle-nav-link:hover{background:var(--surface-chrome);color:var(--text)}
.oracle-nav-link:is(.is-selected,[aria-current=page]){background:var(--selection);border-left-color:var(--violet);color:var(--violet);font-weight:700}
.oracle-nav-link.is-focused{outline:1px solid var(--cyan);outline-offset:-1px}
.oracle-density--touch .oracle-nav-link{min-height:var(--touch-target)}
.oracle-density--touch .oracle-nav-link:hover:not(:is(.is-selected,[aria-current=page])){background:transparent;color:var(--muted)}
.oracle-tab-panel--attached{border-top:0;padding:1.5rem;background:var(--surface-input)}
.oracle-glyph-button{font:inherit;font-size:1.25rem;line-height:1.2;color:inherit;background:transparent;border:1px solid transparent;min-width:2rem;min-height:2.25rem;padding:.25rem;cursor:pointer;user-select:text}
.oracle-glyph-button:hover{background:var(--selection-surface);border-color:var(--violet)}
.oracle-glyph-button:focus-visible{border-color:var(--cyan);outline:0}
@media(max-width:800px){.oracle-table th,.oracle-table td{padding:.75rem;min-width:8rem}}
@media(min-width:1500px){.oracle-panel--document{padding:2.5rem}}
@media(forced-colors:active){.contour-edge{stroke:ButtonText}.contour-marker,:is(.oracle-button,.oracle-chip,.oracle-tab):is(.is-focused,:focus-visible)>.contour-strokes>.contour-edge{stroke:Highlight}.oracle-frame{background:CanvasText}.oracle-frame:before{background:Canvas}.oracle-frame:after{background:Highlight}}
@media print{.oracle-frame{display:none}.oracle-panel{padding:0}}

/* Graphical focus preserves the existing contour and semantic edges without an outer ring. */
.oracle-density--touch .oracle-input:is(:focus-visible,.is-focused):not(.is-invalid){border-color:var(--cyan)}
.oracle-density--touch .oracle-check:is(:has(:focus-visible),.is-focused) .oracle-check-mark{border-color:var(--cyan)}
.oracle-density--touch .oracle-check:not(.oracle-terminal *):is(:has(:checked),.is-indeterminate,.is-invalid):is(:has(:focus-visible),.is-focused) .oracle-check-mark{background:var(--focus-fill);border-color:var(--action-edge)}
.oracle-density--touch .oracle-check.is-invalid:not(.oracle-terminal *):is(:has(:focus-visible),.is-focused) .oracle-check-mark{border-color:var(--danger-foreground)}

.oracle-app .oracle-link:is(.is-focused,:focus-visible){border-color:var(--cyan);outline:none}
.oracle-terminal .oracle-link{border:0}

/* Selection persists independently of navigation identity and focus. */
.oracle-row:before{content:'\25B8';visibility:hidden;flex:none;width:1ch;color:var(--text)}
.oracle-row.is-selected:before{visibility:visible}
.oracle-nav-link{color:var(--violet)}
.oracle-nav-link:is(.is-selected,[aria-current=page]){color:var(--violet);font-weight:700}
.oracle-selection.is-focused{outline:1px solid var(--cyan);outline-offset:-1px}
.oracle-terminal .oracle-selection.is-focused{outline:0;color:var(--cyan)}
.oracle-terminal .oracle-nav-link:is(.is-focused,:focus-visible){outline:0;color:var(--cyan)}
.oracle-terminal .oracle-row:is(.is-focused,:focus-visible){outline:0;color:var(--text)}
.oracle-terminal .oracle-row:is(.is-focused,:focus-visible)>:first-child{color:var(--cyan)}
.oracle-terminal :is(.oracle-row,.oracle-nav-link):before{color:var(--text)}
.oracle-terminal .oracle-label:has(+.oracle-input:is(.is-focused,:focus-visible)){color:var(--cyan)}
.oracle-terminal .oracle-check:is(.is-focused,:focus-within) .oracle-check-mark{color:var(--text);outline:0}

.oracle-terminal .oracle-row:is(.is-focused,:focus-visible)>.oracle-row-value{color:var(--text)}

/* Named control contracts retain semantic edges and independent value marks. */
.oracle-button--warning:is(:hover,.is-hovered,:active,.is-pressed):not(:disabled):not(.is-disabled){--contour-face:var(--warning-surface)}
.oracle-button--warning:is(:active,.is-pressed):not(:disabled):not(.is-disabled){text-decoration:underline;text-underline-offset:.2em}
.oracle-button--warning:is(.is-focused,:focus-visible):not(:disabled):not(.is-disabled){--contour-face:var(--focus-fill);outline:none}
.oracle-button--warning:is(.is-focused,:focus-visible)>.contour-strokes>.contour-edge{stroke:var(--warning-foreground)}
.oracle-menu-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;min-height:var(--control-height);padding:var(--space-2);border:1px solid transparent;background:transparent;color:var(--text);font:var(--type-control);text-align:start}
.oracle-menu-item:is(:hover,.is-hovered){background:var(--menu-row-hover)}
.oracle-menu-item:focus-visible{border-color:var(--cyan);outline:none}
.oracle-density--touch .oracle-menu-item:hover{background:transparent}
.oracle-input:is([readonly],.is-readonly):is(:focus-visible,.is-focused){border-color:var(--cyan);outline:none}
.oracle-segmented{display:inline-flex;max-width:100%;overflow:auto}
.oracle-segment{display:inline-flex;align-items:center;gap:var(--space-2);position:relative;min-height:var(--control-height);padding:var(--control-padding);border:1px solid var(--edge);background:var(--control);color:var(--text);font:var(--type-control);border-radius:0}
.oracle-segment+.oracle-segment{margin-inline-start:-1px}
.oracle-segment:before{content:'✓';width:1em;visibility:hidden}
.oracle-segment[aria-checked=true]:before{visibility:visible}
.oracle-segment:hover{background:var(--control-hover)}
.oracle-segment:focus-visible{border-color:var(--cyan);z-index:1;outline:none}
.oracle-filter-chip{min-height:var(--control-height);cursor:pointer;--contour-face:var(--surface-content);--contour-rest:var(--surface-content);--contour-edge:var(--edge);color:var(--text)}
.oracle-filter-mark{display:inline-block;width:1em;margin-inline-end:var(--space-2);visibility:hidden}
.oracle-filter-chip[aria-pressed=true] .oracle-filter-mark{visibility:visible}
.oracle-switch-track{isolation:isolate;--component-cut:4px;--contour-edge:var(--edge);border:0;border-radius:0;background:transparent}
.oracle-switch-track:before{content:'';position:absolute;inset:0;z-index:-1;clip-path:polygon(4px 0,calc(100% - 4px) 0,100% 4px,100% calc(100% - 4px),calc(100% - 4px) 100%,4px 100%,0 calc(100% - 4px),0 4px);background:var(--surface-input)}
.oracle-switch[aria-checked=true] .oracle-switch-track{background:transparent;--contour-edge:var(--action-edge)}
.oracle-switch[aria-checked=true] .oracle-switch-track:before{background:var(--control)}
.oracle-switch-thumb{border-radius:0;clip-path:polygon(2px 0,calc(100% - 2px) 0,100% 2px,100% calc(100% - 2px),calc(100% - 2px) 100%,2px 100%,0 calc(100% - 2px),0 2px)}
.oracle-terminal .oracle-switch-track:before{display:none}
.oracle-switch:is(:disabled,.is-disabled) .oracle-switch-track{background:transparent;--contour-edge:var(--quiet)}
.oracle-switch:is(:disabled,.is-disabled) .oracle-switch-track:before{background:var(--surface-disabled)}
.oracle-switch:is(:disabled,.is-disabled) .oracle-switch-thumb{background:var(--muted)}

/* Switch focus follows its chamfered SVG contour while retaining the on-state edge. */
.oracle-switch:not(.oracle-terminal *):is(:focus-visible,.is-focused) .oracle-switch-track{--contour-edge:var(--cyan);background:transparent}
.oracle-switch[aria-checked=true]:not(.oracle-terminal *):is(:focus-visible,.is-focused) .oracle-switch-track{--contour-edge:var(--action-edge)}
.oracle-switch[aria-checked=true]:not(.oracle-terminal *):is(:focus-visible,.is-focused) .oracle-switch-track:before{background:var(--focus-fill)}

/* Terminal focus preserves values and selection independently from its label. */
.oracle-terminal .oracle-nav-link{color:var(--violet)}
.oracle-terminal .oracle-nav-link:is(.is-selected,[aria-current=page]){color:var(--violet);font-weight:700}
.oracle-terminal .oracle-nav-link:is(.is-focused,:focus-visible){color:var(--cyan);outline:none}
.oracle-terminal .oracle-row-value{color:var(--text)}
.oracle-terminal .oracle-selection.is-focused .oracle-control-label{color:var(--cyan)}
.oracle-terminal .oracle-disclosure-trigger:is(.is-focused,:focus-visible){border-color:transparent;outline:none;color:var(--cyan)}

.oracle-terminal .oracle-button:is(.is-focused,:focus-visible):not(:disabled,.is-disabled){color:var(--cyan);outline:none}
.oracle-terminal .oracle-tab-edge{color:var(--text)}
.oracle-terminal .oracle-nav-link:before,.oracle-terminal .oracle-row:before{color:var(--text)}

/* Example composition only. Every rendered element uses shared Oracle components. */
.example{display:grid;grid-template-columns:minmax(0,1fr);margin:1.75rem 0 2rem;min-width:0;--example-pane-min-height:auto}
.example.color-table{margin-top:-.75rem}
.example>.example-tabs{grid-area:1/1}
.example>.example-pane{grid-area:2/1;min-width:0;min-height:var(--example-pane-min-height)}
.example-tabs>.oracle-tab{flex:1;min-width:0;padding-inline:.75rem}
.example-tabs{min-width:0;overflow-x:auto;scrollbar-width:none}
.example-tabs::-webkit-scrollbar{display:none}
.example p{margin:0 0 .75rem}
.specimen-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;align-items:start}
.specimen-panel{min-height:150px}.specimen-row{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center;margin-top:1.5rem}
.specimen-focus{display:inline-block}.specimen-back{margin-bottom:1rem}.specimen-header .oracle-meta{margin:.5rem 0 0}
.specimen-surface{padding:1rem}.specimen-content{padding:1.5rem 1rem}.specimen-surface>.oracle-chrome:last-child{margin:0}
.specimen-terminal-label{margin-bottom:1rem}
.status-examples{margin:0;display:grid;gap:1rem}.status-examples>div{border-bottom:1px solid var(--quiet);padding-bottom:1rem}.status-examples>div:last-child{border:0;padding-bottom:0}.status-examples dd{margin:.5rem 0 0}
.specimen-mobile{max-width:360px;margin-inline:auto}
/* Bottom placements compose existing navigation, button and dialog materials. */
.specimen-bottom-actions{display:flex;justify-content:flex-end;padding:var(--space-4);padding-bottom:max(var(--space-4),env(safe-area-inset-bottom))}
.specimen-bottom-navigation{display:flex;flex-wrap:wrap;align-items:stretch}
.specimen-bottom-navigation>.oracle-nav-link{display:flex;align-items:center;justify-content:center;flex:1;padding-inline:var(--space-2)}
.specimen-layers.specimen-sheet-stage{display:flex;align-items:flex-end;min-height:28rem;padding:var(--space-4) 0 0}
.specimen-sheet-stage>.specimen-bottom-sheet{max-width:none;width:100%;margin:0;padding:24px;padding-bottom:max(24px,env(safe-area-inset-bottom))}
.specimen-scale{display:grid;gap:1.25rem;margin:0}
.specimen-scale>div{display:grid;gap:.25rem;padding-bottom:1rem;border-bottom:1px solid var(--quiet);justify-items:start}
.specimen-scale>div:last-child{border-bottom:0;padding-bottom:0}
.specimen-scale .oracle-meta{margin:0}
.specimen-icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(7rem,1fr));gap:1rem}
.specimen-icon-grid>div{display:grid;gap:.5rem;justify-items:center;text-align:center}
.specimen-icon-row{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:flex-end}
/* Resolve the shared role metrics at twice their normal size without changing weights or families. */
.specimen-zoom{
  font-size:calc(var(--type-body-size)*2);line-height:calc(var(--type-body-line-height)*2);
  --type-display:700 calc(var(--type-display-size)*2)/calc(var(--type-display-line-height)*2) var(--font-heading);
  --type-page-title:700 calc(var(--type-page-title-size)*2)/calc(var(--type-page-title-line-height)*2) var(--font-heading);
  --type-section:700 calc(var(--type-section-size)*2)/calc(var(--type-section-line-height)*2) var(--font-heading);
  --type-panel-heading:600 calc(var(--type-panel-heading-size)*2)/calc(var(--type-panel-heading-line-height)*2) var(--font-body);
  --type-body:400 calc(var(--type-body-size)*2)/calc(var(--type-body-line-height)*2) var(--font-body);
  --type-control:500 calc(var(--type-control-size)*2)/calc(var(--type-control-line-height)*2) var(--font-body);
  --type-metadata:400 calc(var(--type-metadata-size)*2)/calc(var(--type-metadata-line-height)*2) var(--font-body);
  --type-badge:600 calc(var(--type-badge-size)*2)/calc(var(--type-badge-line-height)*2) var(--font-body);
  --type-code:400 calc(var(--type-code-size)*2)/calc(var(--type-code-line-height)*2) var(--font-code);
}
.specimen-zoom .oracle-toolbar-wrap{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:flex-start;margin-top:var(--space-2)}
.specimen-label-gap{display:grid;gap:var(--space-2);max-width:20rem}
.specimen-label-gap .oracle-meta.hint{margin-top:var(--space-1)}
.specimen-label-gap>.specimen-row,.specimen-label-gap>.oracle-notice{margin-top:var(--space-4)}
.specimen-tier-table{width:100%;border-collapse:collapse;font:var(--type-metadata)}
.specimen-tier-table th,.specimen-tier-table td{padding:.5rem .75rem;border-bottom:1px solid var(--quiet);text-align:left;vertical-align:top}
.specimen-tier-table th{color:var(--muted);font-weight:600}
.specimen-workflow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:start}
.specimen-workflow--stack{grid-template-columns:minmax(0,1fr)}
.specimen-workflow .oracle-panel{min-height:5rem}
.specimen-workflow-list{margin:0;padding-left:1.25rem}
.specimen-progress{display:grid;gap:1rem}
@media(max-width:1100px){.specimen-grid{grid-template-columns:minmax(0,1fr)}.specimen-workflow{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.specimen-row{gap:1.25rem}}
.specimen-recipes{display:grid;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:var(--space-4)}
.specimen-recipe{padding:var(--space-3);min-height:3.5rem;border:1px solid var(--quiet);font-size:.875rem;line-height:1.25}
.specimen-recipe strong{display:block;margin-bottom:var(--space-1);font-size:.75rem;font-weight:600;color:var(--muted)}
.specimen-recipe--canvas{background:var(--canvas)}
.specimen-recipe--content{background:var(--content)}
.specimen-recipe--chrome{background:var(--chrome)}
.specimen-recipe--input{background:var(--surface-input)}
.specimen-recipe--control{background:var(--control)}
.specimen-recipe--control-hover{background:var(--control-hover)}
.specimen-recipe--control-pressed{background:var(--control-pressed)}
.specimen-recipe--selection{background:var(--selection)}
.specimen-recipe--disabled{background:var(--surface-disabled);color:var(--muted)}
.specimen-recipe--positive{background:var(--positive-surface);color:var(--positive-foreground)}
.specimen-recipe--warning{background:var(--warning-surface);color:var(--warning-foreground)}
.specimen-recipe--danger{background:var(--danger-surface);color:var(--danger-foreground)}
.specimen-layers{position:relative;min-height:14rem;padding:var(--space-4);background:var(--canvas);border:1px solid var(--quiet)}
.specimen-layer-stack{display:grid;gap:var(--space-3);position:relative;z-index:1}
.specimen-layer-stack .oracle-meta{margin:0}
.specimen-layer-dialog{position:relative;z-index:4;max-width:16rem}
.specimen-layer-scrim{position:absolute;inset:0;z-index:3}
.specimen-layer-tooltip{position:relative;z-index:5;max-width:10rem}
.specimen-joined{display:grid;grid-template-columns:1fr 1fr;max-width:28rem}
.specimen-joined .oracle-panel{border-radius:0}
.specimen-joined .oracle-panel:first-child{border-right:1px solid var(--quiet)}
.specimen-spacing-scale{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-6)}
.specimen-spacing-step{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);font-size:.75rem;color:var(--muted)}
.specimen-spacing-gap{display:block;background:var(--cyan);opacity:.35;border-radius:1px;height:var(--space-4)}
.specimen-spacing-gap--1{width:var(--space-1)}.specimen-spacing-gap--2{width:var(--space-2)}.specimen-spacing-gap--3{width:var(--space-3)}.specimen-spacing-gap--4{width:var(--space-4)}.specimen-spacing-gap--5{width:var(--space-5)}.specimen-spacing-gap--6{width:var(--space-6)}.specimen-spacing-gap--8{width:var(--space-8)}.specimen-spacing-gap--12{width:var(--space-12)}
.specimen-density-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4)}
.specimen-density-col{display:grid;gap:var(--space-3);align-content:start}
.specimen-density-col .oracle-meta{margin:0}
.specimen-shell{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}
.specimen-page-gutter{padding:var(--space-6);background:var(--canvas);border:1px solid var(--quiet)}
.specimen-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}
.specimen-card-grid .oracle-content{padding:var(--space-4);border:1px solid var(--quiet);min-height:4rem}
.specimen-split{display:grid;grid-template-columns:32% 68%;gap:var(--space-4);min-height:6rem}
.specimen-split>.oracle-content,.specimen-split>.oracle-input{min-height:5rem;padding:var(--space-4)}
.specimen-scroll-region{display:grid;grid-template-rows:auto 1fr;max-height:10rem;border:1px solid var(--quiet)}
.specimen-scroll-header{position:sticky;top:0;z-index:1;padding:var(--space-4);background:var(--chrome);border-bottom:1px solid var(--quiet)}
.specimen-scroll-body{padding:var(--space-4);overflow:auto;scrollbar-width:thin;scrollbar-color:var(--edge) var(--surface-input)}
.specimen-scroll-body::-webkit-scrollbar{width:var(--scrollbar-width)}
.specimen-scroll-body::-webkit-scrollbar-track{background:var(--surface-input)}
.specimen-scroll-body::-webkit-scrollbar-thumb{background:var(--edge);border:2px solid var(--surface-input);min-height:var(--scrollbar-thumb-min)}
.specimen-scroll-id{max-width:min(100%,18rem);overflow:auto;white-space:nowrap;font:var(--type-code);padding:var(--space-2) var(--space-3);border:1px solid var(--quiet);background:var(--surface-input)}
.specimen-splitter{display:flex;align-items:stretch;min-height:4rem;margin-top:1.5rem}
.specimen-splitter-pane{flex:1;padding:var(--space-4);background:var(--surface-content);border:1px solid var(--quiet)}
.specimen-splitter-handle{position:relative;flex:0 0 8px;cursor:col-resize}
.specimen-splitter-handle:before{content:'';position:absolute;inset-block:0;left:50%;width:1px;margin-left:-.5px;background:var(--quiet)}
.specimen-splitter-handle.is-focused:before{background:var(--cyan)}
.specimen-header{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-2);align-items:start}
.specimen-header-title-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-2)}
.specimen-header-title-row>.oracle-title{min-width:0}
.specimen-header-title-row>.oracle-chip{flex-shrink:0}
.specimen-header>.oracle-meta{margin:0}
.specimen-header-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:flex-start}
.specimen-popout-wrap{padding-top:var(--space-2);overflow:visible}
.specimen-stack{display:grid;gap:1.5rem}
.specimen-state-matrix{display:grid;gap:1rem;margin:0}
.specimen-state-cell{display:grid;grid-template-columns:11rem minmax(0,1fr);gap:.75rem 1.25rem;align-items:center;justify-items:start;padding-bottom:1rem;border-bottom:1px solid var(--quiet)}
.specimen-state-cell:last-child{border-bottom:0;padding-bottom:0}
.specimen-state-label{margin:0}
.specimen-state-cell .oracle-meta,.specimen-state-cell .oracle-field-error{margin:0}
.specimen-state-cell .specimen-row{margin-top:0}
.specimen-state-cell .oracle-input{width:min(100%,16rem)}
.specimen-rows{display:grid;max-width:22rem;border:1px solid var(--quiet)}
.oracle-terminal .specimen-rows{border:0}
.specimen-rows>.oracle-row:last-child{border-bottom:0}
.specimen-shape-row{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:flex-start}
.specimen-token-layers{display:grid;gap:var(--space-4)}
.specimen-token-layer{display:grid;gap:var(--space-2);padding-bottom:var(--space-4);border-bottom:1px solid var(--quiet)}
.specimen-token-layer:last-child{border-bottom:0;padding-bottom:0}
.specimen-bands{display:grid;gap:var(--space-4)}
.specimen-band{display:grid;gap:var(--space-2)}
.specimen-band>.oracle-meta{margin:0}
@media(max-width:1100px){.specimen-density-grid,.specimen-shell{grid-template-columns:repeat(2,minmax(0,1fr))}}
.specimen-mobile .specimen-state-cell{grid-template-columns:minmax(0,1fr)}
@media(max-width:600px){.specimen-density-grid,.specimen-shell,.specimen-split,.specimen-state-cell{grid-template-columns:minmax(0,1fr)}.specimen-split{grid-template-columns:minmax(0,1fr)}}
@media print{.example{display:block}.example>.example-pane[hidden]{display:block!important;visibility:visible}.example-pane{break-inside:avoid;min-height:auto}.example-pane:before{content:attr(data-mode);display:block;font-weight:600;margin-bottom:.75rem}}

/* Terminal capability specimens: remap role colors per detected capability. */
[data-capability="256"]{--cyan:#5fd7ff;--violet:#af87ff;--edge:#5f87af;--action-edge:#005fff;--running-foreground:#afff00;--positive-foreground:#87d7af;--warning-foreground:#d7af5f;--danger-foreground:#ffafaf;--text:#e4e4e4;--muted:#8a8a8a}
[data-capability="16"]{--cyan:#00cdcd;--violet:#cd00cd;--edge:#e5e5e5;--action-edge:#0000ee;--running-foreground:#00ff00;--positive-foreground:#00cd00;--warning-foreground:#cdcd00;--danger-foreground:#cd0000;--text:#e5e5e5;--muted:#7f7f7f}
[data-capability="16"] .oracle-chip,[data-capability="256"] .oracle-chip{background:transparent}

/* Operation status pairs each segmented bar with its own persistent operation text. */
.operation-summary{display:grid;gap:var(--space-2);max-width:28rem}
.operation-summary>.oracle-button{text-align:start;white-space:normal}
.operation-status-dialog{position:fixed;inset:0;margin:auto;width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;color:var(--text)}
.operation-status-dialog::backdrop{background:var(--scrim)}
.operation-status-list{display:grid;gap:var(--space-4);padding-inline-start:1.5rem}
.operation-status-list li{display:grid;gap:var(--space-2)}
.operation-status-list p{margin:0}
.operation-terminal-bar{display:none}
.oracle-terminal .operation-terminal-bar{display:block;white-space:nowrap;color:var(--running-foreground)}
.oracle-terminal [data-operation-status] .oracle-progress-track,.oracle-terminal[data-operation-status] .oracle-progress-track{display:none}
.oracle-terminal .operation-status-dialog{background:var(--surface-content);border:1px solid var(--edge);padding:var(--panel-inset)}

/* Keep the glyph reference inside the shared terminal preview surfaces. */
.glyph-screen{white-space:normal}
.glyph-screen table{width:max-content;min-width:100%}
.glyph-screen caption{text-align:left;padding-bottom:1rem}
.glyph-screen th,.glyph-screen td{min-width:0;padding:var(--space-2) var(--space-3);white-space:nowrap;vertical-align:middle}
.glyph-screen table.glyph-matrix{width:100%;min-width:0;table-layout:fixed}
.glyph-screen .glyph-matrix th,.glyph-screen .glyph-matrix td{padding:var(--space-1) var(--space-1);text-align:center}
.glyph-screen .glyph-matrix th:first-child{width:9ch}
.glyph-screen .glyph-matrix .oracle-glyph-button{min-width:0;padding:.1rem 0}
.glyph-copy-status{min-height:1.5em;color:var(--cyan)}
