* { box-sizing:border-box; }
[hidden] { display:none !important; }
html,body { margin:0; width:100%; min-width:320px; min-height:100%; }
body { height:100dvh; overflow:hidden; display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:52px minmax(0,1fr); gap:8px; padding:8px; color:var(--text-primary); background:radial-gradient(circle at 75% 15%,var(--bg-glow) 0,transparent 34%),linear-gradient(145deg,var(--bg-master),var(--bg-gradient-end)); font:14px/1.4 var(--font-ui); }
.app-bar,.workspace { grid-column:1; }
button,select,input { font:inherit; }
button,select,input[type='text'] { min-height:36px; color:var(--text-primary); border:2px solid var(--line-bright); border-radius:var(--control-radius); background:var(--surface-control); }
button { padding:6px 12px; cursor:pointer; font-size:var(--type-action); font-weight:var(--weight-bold); line-height:1.2; }
button:disabled { opacity:.42; cursor:not-allowed; filter:saturate(.25); }
button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible,canvas:focus-visible { outline:3px solid var(--focus); outline-offset:2px; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
* { scrollbar-color:var(--text-muted) var(--bg-panel); scrollbar-width:auto; }
*::-webkit-scrollbar { width:14px; height:14px; }
*::-webkit-scrollbar-track { background:var(--bg-panel); border:2px solid var(--border-dark); }
*::-webkit-scrollbar-thumb { background:var(--text-muted); border:2px solid var(--bg-panel); border-radius:2px; }
*::-webkit-scrollbar-button { width:14px; height:14px; background:var(--text-muted); border:2px solid var(--bg-panel); }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { transition:none !important; animation:none !important; } }
