:root{--cb-surface:var(--bg-surface,#1e1e1e);--cb-border:var(--border-color,#555);--cb-text:var(--text-primary,#eaeaea);--cb-muted:var(--text-secondary,#b8b8bd);--cb-radius:10px;--cb-focus:#ffda79;--cb-control-height:44px}
.workspace-page main :is(input,select,textarea),.academy-body main :is(.form-control,.form-input,.form-input-dark),.page-settings main :is(.form-control,.settings-input){min-height:var(--cb-control-height);border-radius:var(--cb-radius);max-width:100%;font:inherit}
:is(.workspace-page,.academy-body,.page-settings) main :is(button,.btn,.workspace-button){touch-action:manipulation}
:is(.workspace-page,.academy-body,.page-settings) main :is(pre,code){overflow-wrap:anywhere}
:is(.workspace-page,.academy-body,.page-settings) main img{max-width:100%}
:is(.workspace-page,.academy-body,.page-settings) :focus-visible{outline:3px solid var(--cb-focus)!important;outline-offset:3px}
.cb-field-error{color:#ffbfc5;font-size:.9rem;margin:6px 0}.cb-form-error{padding:14px;border:1px solid #e7a4a4;border-radius:var(--cb-radius);background:#4b242b;color:#fff}.cb-table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
.cb-empty{padding:24px;border:1px dashed var(--cb-border);border-radius:var(--cb-radius);color:var(--cb-muted);text-align:center}
.cb-toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.cb-toolbar>*{min-width:0}
.workspace-page main .cb-test-case{border:1px solid var(--cb-border);padding:16px;border-radius:var(--cb-radius);margin:12px 0}
@media(forced-colors:active){:focus-visible{outline:3px solid Highlight!important}.workspace-card{border:1px solid CanvasText}}
@media(prefers-reduced-motion:reduce){:is(.workspace-page,.academy-body,.page-settings) *{scroll-behavior:auto!important}}

/* Phone keyboards must not force input zoom; scrolling stays inside wide tables. */
@media(max-width:1024px) and (pointer:coarse){main :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px}}
@media(max-width:800px){main :is(iframe,video,img){max-width:100%}main fieldset{min-width:0}main :is(.cb-toolbar,.workspace-inline){overflow-wrap:anywhere}}
