/* XboardGlass: visual-only layer for the official XBoard frontend. */
:root {
  color-scheme: light;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", "PingFang SC", sans-serif;
}
body {
  min-height: 100vh;
  background: radial-gradient(ellipse 70% 45% at 12% 2%, rgba(194, 216, 255, .55), transparent 68%),
              radial-gradient(ellipse 60% 50% at 92% 94%, rgba(220, 208, 255, .42), transparent 72%),
              #f5f7fb;
  color: #172033;
}
body, button, input, textarea, select { font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", "PingFang SC", sans-serif !important; }
#app { min-height: 100vh; }
#app > .n-config-provider { min-height: 100vh; }
#app .n-card {
  border-radius: 20px !important;
  border: 1px solid rgba(255, 255, 255, .86) !important;
  box-shadow: 0 18px 55px rgba(44, 61, 101, .09), 0 2px 10px rgba(44, 61, 101, .035) !important;
  overflow: hidden;
}
#app .n-card__header { font-weight: 650; letter-spacing: -.02em; }
#app .n-button { border-radius: 11px !important; font-weight: 600; transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease; }
#app .n-button:not(.n-button--disabled):hover { transform: translateY(-1px); box-shadow: 0 7px 18px rgba(34, 70, 132, .13); }
#app .n-button--primary-type { background: #2865d6 !important; border-color: #2865d6 !important; }
#app .n-input, #app .n-select, #app .n-input-number { border-radius: 10px !important; }
#app .n-input__border, #app .n-input__state-border { border-radius: 10px !important; }
#app .n-menu-item-content { border-radius: 10px !important; }
#app .n-layout-sider { background: rgba(255, 255, 255, .92) !important; border-right: 1px solid rgba(219, 226, 238, .72); }
#app .n-layout-header { background: rgba(255, 255, 255, .86) !important; backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
#app .n-data-table, #app .n-tabs { border-radius: 16px; }
#app .n-tag { border-radius: 8px !important; }
/* Authentication views use one centered card; give it a calm, spacious presentation. */
#app > .n-config-provider > .wh-full.flex.items-center.justify-center { background: transparent !important; padding: 32px 20px; }
#app > .n-config-provider > .wh-full.flex.items-center.justify-center > .n-card {
  width: min(100%, 440px);
  max-width: 440px !important;
  border-radius: 26px !important;
  background: rgba(255,255,255,.92) !important;
  backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px);
  box-shadow: 0 28px 85px rgba(28, 52, 96, .14), 0 2px 10px rgba(28, 52, 96, .04) !important;
}
#app > .n-config-provider > .wh-full.flex.items-center.justify-center > .n-card .p-6 { padding: 36px 38px 28px !important; }
#app > .n-config-provider > .wh-full.flex.items-center.justify-center h1 { font-weight: 700 !important; letter-spacing: -.055em; color: #182337 !important; }
#app > .n-config-provider > .wh-full.flex.items-center.justify-center h5 { color: #758198 !important; margin-top: 9px; }
#app > .n-config-provider > .wh-full.flex.items-center.justify-center .n-input { min-height: 42px; }
#app > .n-config-provider > .wh-full.flex.items-center.justify-center .n-button { min-height: 42px; }
@media (prefers-reduced-motion: reduce) { #app .n-button { transition: none; } #app .n-button:not(.n-button--disabled):hover { transform: none; } }
