/* Self-hosted Inter (400..700) — Chuẩn evon:ui-ux (T1, T2, T4, T5) */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('../vendor/fonts/inter-vietnamese.woff2') format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('../vendor/fonts/inter-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('../vendor/fonts/inter-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  color-scheme: light;
  --bg-body: #f4f4f6;
  --bg-studio-gradient: radial-gradient(circle at 50% 38%, #ffffff 0%, #f4f6f9 52%, #e4e9f2 100%);
  --bg-surface: #ffffff;
  --bg-sidebar: #0f172a;
  --bg-sidebar-hover: #1e293b;
  --bg-glass: rgba(255, 255, 255, 0.92);
  --bg-glass-strong: rgba(255, 255, 255, 0.97);
  --bg-pill: #ffffff;
  --bg-pill-hover: #f4f4f6;
  --text-primary: #18181b;
  --text-secondary: #3f3f46;
  --text-muted: #686870;
  --text-on-glass: #18181b;
  --text-on-glass-muted: #52525b;
  --text-on-dark: #f8fafc;
  --text-on-dark-muted: #94a3b8;
  --border-light: #e4e4e7;
  --border-glass: rgba(212, 212, 216, 0.78);
  --border-dark: rgba(148, 163, 184, 0.22);
  --primary: #0284c7;
  --primary-hover: #0369a1;
  --primary-soft: #f0f9ff;
  --cyan-highlight: #00b4d8;
  --cyan-soft: #ecfeff;
  --success: #15803d;
  --success-soft: #dcfce7;
  --warning: #b45309;
  --warning-soft: #fef3c7;
  --danger: #be123c;
  --danger-soft: #ffe4e6;
  --purple: #7c3aed;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-pill: 999px;
  --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.04);
  --shadow-md: 0 6px 16px -3px rgba(15, 23, 42, 0.08), 0 2px 6px -2px rgba(15, 23, 42, 0.04);
  --shadow-lg: 0 14px 28px -5px rgba(15, 23, 42, 0.12), 0 6px 10px -4px rgba(15, 23, 42, 0.06);
  --font-ui: 'Inter', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-display: var(--font-ui);
  --font-academic: var(--font-ui);
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

body.theme-light {
  --bg-body: #f4f4f6;
  --bg-studio-gradient: radial-gradient(circle at 50% 38%, #ffffff 0%, #f4f6f9 52%, #e4e9f2 100%);
  --bg-glass: rgba(255, 255, 255, 0.92);
  --bg-glass-strong: rgba(255, 255, 255, 0.97);
  --bg-pill: #ffffff;
  --bg-pill-hover: #f4f4f6;
  --text-on-glass: #18181b;
  --text-on-glass-muted: #52525b;
  --border-glass: rgba(212, 212, 216, 0.78);
}

body.theme-blue {
  --bg-body: #dbeafe;
  --bg-studio-gradient: radial-gradient(circle at 50% 38%, #f0f9ff 0%, #e0f2fe 52%, #bae6fd 100%);
  --bg-glass: rgba(255, 255, 255, 0.92);
  --bg-glass-strong: rgba(255, 255, 255, 0.97);
  --bg-pill: #ffffff;
  --bg-pill-hover: #f0f9ff;
  --text-on-glass: #0c4a6e;
  --text-on-glass-muted: #0369a1;
  --border-glass: rgba(125, 211, 252, 0.65);
}

body.theme-dark {
  --bg-body: #090d16;
  --bg-studio-gradient: radial-gradient(circle at 50% 42%, #24344d 0%, #111927 58%, #090d16 100%);
  --bg-glass: rgba(15, 23, 42, 0.88);
  --bg-glass-strong: rgba(11, 15, 25, 0.95);
  --bg-pill: rgba(30, 41, 59, 0.88);
  --bg-pill-hover: rgba(51, 65, 85, 0.95);
  --text-on-glass: #f8fafc;
  --text-on-glass-muted: #94a3b8;
  --border-glass: rgba(148, 163, 184, 0.24);
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html, body {
  width: 100%;
  height: 100%;
  overflow: hidden;
  font-family: var(--font-ui);
  font-feature-settings: "cv02", "cv03", "cv04", "cv11";
  color: var(--text-primary);
  background: var(--bg-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  user-select: none;
}

.app-shell {
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  position: relative;
}

.app-content {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}

.academic-term {
  font-family: var(--font-ui);
  font-style: italic;
  font-weight: 500;
  color: var(--primary);
}
