/*
  Critical shell CSS. Previously an inline <style> block in index.ejs; externalized so the
  Content-Security-Policy can drop 'unsafe-inline' from script-src without a per-request nonce.

  Load position matters: index.ejs links this AFTER mdb.min.css and the Google Fonts stylesheets.
  These rules override mdb's box-sizing, body margin and scrollbar defaults purely by cascade
  order, so moving the <link> earlier in <head> silently regresses layout.
*/

.unselectable {
  pointer-events: none;
  user-select: none;
}

.not-mac ::-webkit-scrollbar {
  width: 5px;
}

.not-mac ::-webkit-scrollbar-track {
  background: transparent;
  background-clip: content-box;
  border: 2px solid transparent;
}

.not-mac ::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 6px;
}

*,
*::before,
*::after {
  box-sizing: border-box;
  position: relative;
  margin: 0;
  padding: 0;
}

html,
body,
#root,
.inner-root {
  display: block;
  height: 100vh;
  width: 100vw;
  overflow: hidden;
}

html {
  -webkit-font-smoothing: antialiased;
  box-sizing: border-box;
  text-size-adjust: 100%;
  font-size: 16px;
}

body {
  margin: 0;
  overflow-y: auto;
  text-rendering: optimizeLegibility;
}

body.noscroll {
  overflow: hidden;
}

body.noscroll-x {
  overflow-x: hidden;
}
