/* Only shared chrome; game-specific ranges, cards and canvases keep their geometry. */
html[data-theme] body .tc-dice-shell{--dice-border:var(--ui-border);--dice-input:var(--ui-surface);--dice-surface:var(--ui-raised);--dice-board:var(--ui-surface);--dice-text:var(--ui-text);--dice-muted:var(--ui-muted);--dice-soft:var(--ui-raised);border-radius:var(--ui-radius)}
html[data-theme] body :is(.tc-control-panel,.tc-studio-shell){border-color:var(--ui-border)!important;border-radius:var(--ui-radius)!important}
html[data-theme] body .tc-control-panel{background:var(--ui-raised)!important;color:var(--ui-text)!important}
html[data-theme] body .tc-sidebar :is(.tc-theme-toggle,.tc-language-button){background:var(--ui-raised)!important;color:var(--ui-text)!important;border-color:var(--ui-border)!important;border-radius:var(--ui-radius)}
html[data-theme] body.tc-interior .input_group{background:var(--ui-raised)!important;border-color:var(--ui-border)!important;border-radius:var(--ui-radius)}
html[data-theme] body.tc-interior .input_group :is(input,select,textarea){color:var(--ui-text)!important;-webkit-text-fill-color:var(--ui-text)!important}
html[data-theme] body.tc-interior .process_button{background:var(--ui-accent)!important;color:var(--ui-accent-ink)!important;border-radius:var(--ui-radius)!important}
.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--ui-control-height);padding:10px 16px;border:var(--ui-border-width) solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-accent);color:var(--ui-accent-ink);font:600 14px/20px var(--ui-font);cursor:pointer}
.ui-button:disabled{opacity:.5;cursor:default}.ui-button:focus-visible{outline:2px solid var(--ui-focus);outline-offset:3px}

html[data-ui-skin] body :is(a,button,summary,[tabindex]:not(input):not(select):not(textarea)):focus-visible{outline:2px solid var(--ui-focus)!important;outline-offset:3px}

/* Fields retain their existing frame without an additional focus rectangle. */
html[data-ui-skin] body :is(input:not([type=range]):not([type=checkbox]):not([type=radio]),textarea,select):is(:focus,:focus-visible){outline:none!important;outline-offset:0!important;box-shadow:none!important}
