:root {
  color-scheme: dark;
  --akee-page: #03040a;
  --akee-page-deep: #010207;
  --akee-surface: rgba(15, 21, 34, 0.76);
  --akee-surface-soft: rgba(18, 27, 43, 0.64);
  --akee-surface-warm: rgba(38, 25, 25, 0.54);
  --akee-orange-soft: rgba(255, 115, 36, 0.11);
  --akee-peach-soft: rgba(255, 145, 83, 0.17);
  --akee-blue-soft: rgba(102, 197, 223, 0.11);
  --akee-sage-soft: rgba(101, 214, 163, 0.1);
  --akee-lavender-soft: rgba(129, 108, 202, 0.12);
  --akee-neutral-soft: rgba(255, 255, 255, 0.045);
  --akee-ink: #fbfcff;
  --akee-muted: #b7c3d2;
  --akee-subtle: #8290a3;
  --akee-line: rgba(221, 232, 247, 0.13);
  --akee-line-soft: rgba(221, 232, 247, 0.09);
  --akee-line-strong: rgba(226, 236, 250, 0.24);
  --akee-orange: #ff7324;
  --akee-orange-strong: #ff9454;
  --akee-orange-ink: #ffc09b;
  --akee-orange-fill: #e85e17;
  --akee-blue: #66c5df;
  --akee-sage: #65d6a3;
  --akee-lavender: #9f8ae7;
  --akee-white: #ffffff;
  --akee-success: #65d6a3;
  --akee-warning: #ffc062;
  --akee-danger: #ff8d83;
  --akee-focus: #a8c7ff;
  --akee-radius-header: 22px;
  --akee-radius-panel: 28px;
  --akee-radius-card: 16px;
  --akee-radius-control: 12px;
  --akee-shadow-header: 0 24px 70px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.055);
  --akee-shadow-panel: 0 40px 110px rgba(0, 0, 0, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.04);
  --akee-shadow-card: 0 18px 42px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.035);
  --akee-shadow-icon: 0 7px 18px rgba(0, 0, 0, 0.38);
  --akee-font: Inter, "SF Pro Display", "Segoe UI", Arial, sans-serif;
  --akee-frame-max: 1280px;
  --akee-tool-frame-max: 1440px;
  --akee-header-height: 62px;
  --akee-sidebar-width: 194px;
  --akee-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --akee-glass: linear-gradient(145deg, rgba(20, 29, 46, 0.74), rgba(7, 12, 22, 0.79));
  --akee-glass-quiet: linear-gradient(145deg, rgba(22, 32, 50, 0.58), rgba(7, 11, 20, 0.72));
  --akee-page-background:
    linear-gradient(128deg, rgba(27, 96, 132, 0.11), transparent 34%),
    linear-gradient(42deg, transparent 40%, rgba(91, 62, 144, 0.09) 65%, transparent 88%),
    linear-gradient(180deg, #070a12 0%, var(--akee-page) 48%, var(--akee-page-deep) 100%);
  --page: var(--akee-page);
  --surface: var(--akee-surface);
  --surface-muted: var(--akee-neutral-soft);
  --surface-strong: var(--akee-surface-soft);
  --surface-soft: var(--akee-surface-soft);
  --ink: var(--akee-ink);
  --text: var(--akee-ink);
  --copy: var(--akee-muted);
  --muted: var(--akee-muted);
  --line: var(--akee-line);
  --line-strong: var(--akee-line-strong);
  --brand: var(--akee-orange);
  --brand-strong: var(--akee-orange-ink);
  --accent: var(--akee-orange);
  --accent-strong: var(--akee-orange-ink);
  --accent-soft: var(--akee-orange-soft);
  --teal: var(--akee-blue);
  --success: var(--akee-success);
  --warning: var(--akee-warning);
  --danger: var(--akee-danger);
  --danger-bg: rgba(255, 89, 76, 0.1);
  --focus: var(--akee-focus);
  --radius: var(--akee-radius-card);
}

html {
  min-width: 320px;
  background: var(--akee-page-deep);
  color: var(--akee-ink);
}

body {
  position: relative;
  isolation: isolate;
  min-width: 320px;
  min-height: 100vh;
  color: var(--akee-ink);
  background: var(--akee-page-background);
  font-family: var(--akee-font);
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.tool-page,
body.akee-tool-enhanced { background: var(--akee-page-background); }

body::before {
  content: "";
  position: fixed;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  opacity: 0.3;
  background-image:
    linear-gradient(rgba(200, 223, 247, 0.027) 1px, transparent 1px),
    linear-gradient(90deg, rgba(200, 223, 247, 0.027) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(to bottom, #000 0%, rgba(0, 0, 0, 0.84) 52%, transparent 100%);
}

body::after {
  content: "";
  position: fixed;
  z-index: -2;
  inset: -18%;
  pointer-events: none;
  opacity: 0.72;
  background:
    radial-gradient(ellipse at 66% 23%, rgba(40, 164, 202, 0.12), transparent 22%),
    radial-gradient(ellipse at 38% 47%, rgba(95, 72, 174, 0.13), transparent 26%),
    radial-gradient(ellipse at 71% 71%, rgba(255, 109, 35, 0.07), transparent 20%);
  filter: blur(44px);
  animation: akee-mesh-drift 22s ease-in-out infinite alternate;
}

::selection { color: #fff; background: rgba(255, 115, 36, 0.42); }

* { scrollbar-width: thin; scrollbar-color: rgba(128, 171, 203, 0.45) rgba(255, 255, 255, 0.025); }
*::-webkit-scrollbar { width: 10px; height: 10px; }
*::-webkit-scrollbar-track { background: rgba(255, 255, 255, 0.025); }
*::-webkit-scrollbar-thumb { border: 3px solid transparent; border-radius: 999px; background: rgba(128, 171, 203, 0.45); background-clip: padding-box; }
*::-webkit-scrollbar-thumb:hover { background-color: rgba(255, 148, 84, 0.62); }

h1, h2, h3, h4, h5, h6, strong, legend, label { color: var(--akee-ink); }
p, li, dd, dt, small { overflow-wrap: anywhere; }
a { color: #b7deea; text-underline-offset: 3px; }
a:hover { color: #fff; }

button,
a,
summary,
label[for],
input[type="checkbox"],
input[type="radio"] { touch-action: manipulation; }

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid var(--akee-focus);
  outline-offset: 3px;
}

input,
select,
textarea {
  border-color: var(--akee-line-strong);
  background: rgba(2, 6, 13, 0.7);
  color: var(--akee-ink);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
}

input::placeholder,
textarea::placeholder { color: #758398; opacity: 1; }
select option { color: var(--akee-ink); background: #0b111d; }
input[type="checkbox"], input[type="radio"] { accent-color: var(--akee-orange); }
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--akee-ink);
  box-shadow: 0 0 0 1000px #09111d inset;
}

.skip-link {
  z-index: 4000;
  color: #07101a;
  background: #fff;
}

.button,
.icon-button,
.primary-button,
.secondary-button,
.danger-button,
.inline-button,
.close-button,
.status-tab,
.mobile-tab,
.compact-action,
.text-action,
.purchase-credits-button,
.buy-more-credits-button,
.ak-study-features-button,
.auth-study-features-entry {
  min-height: 44px;
  border-color: var(--akee-line-strong);
  border-radius: var(--akee-radius-control);
  color: var(--akee-ink);
  background: rgba(255, 255, 255, 0.035);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
  transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, box-shadow 220ms ease, transform 220ms var(--akee-ease);
}

.button:hover:not(:disabled),
.icon-button:hover:not(:disabled),
.primary-button:hover:not(:disabled),
.secondary-button:hover:not(:disabled),
.close-button:hover:not(:disabled),
.status-tab:hover:not(:disabled),
.mobile-tab:hover:not(:disabled),
.compact-action:hover:not(:disabled),
.purchase-credits-button:hover:not(:disabled),
.buy-more-credits-button:hover:not(:disabled),
.ak-study-features-button:hover,
.auth-study-features-entry:hover {
  border-color: rgba(133, 207, 229, 0.42);
  background: rgba(116, 173, 214, 0.11);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.07);
  transform: translateY(-2px);
}

.button-primary,
.button.primary,
.primary-button,
.compact-action,
.purchase-credits-button,
.buy-more-credits-button,
.akee-enhanced .button-primary,
body .button-primary,
body .essay-shell .button.primary {
  border-color: rgba(255, 164, 111, 0.48);
  color: #fff;
  background: linear-gradient(135deg, #a33f0f, #7b2a0a);
  box-shadow: 0 10px 28px rgba(126, 43, 10, 0.22), inset 0 1px 0 rgba(255, 225, 205, 0.17);
}

.button-primary:hover:not(:disabled),
.button.primary:hover:not(:disabled),
.primary-button:hover:not(:disabled),
.compact-action:hover:not(:disabled),
.purchase-credits-button:hover:not(:disabled),
.akee-enhanced .button-primary:hover:not(:disabled),
body .button-primary:hover:not(:disabled),
body .essay-shell .button.primary:hover:not(:disabled) {
  border-color: rgba(255, 164, 111, 0.66);
  color: #fff;
  background: linear-gradient(135deg, #c24c13, #92320d);
}

.button-secondary,
.secondary-button,
.close-button,
.icon-button { border-color: var(--akee-line-strong); background: rgba(255, 255, 255, 0.035); color: var(--akee-ink); }
.button-text, .inline-button, .text-action { border-color: transparent; color: #b7deea; background: transparent; box-shadow: none; }
.button-danger, .danger-button { border-color: rgba(255, 141, 131, 0.42); color: #ffc2bc; background: rgba(255, 89, 76, 0.09); }
button:disabled, input:disabled, select:disabled, textarea:disabled, [aria-disabled="true"] { opacity: 0.52; }

.app-shell.akee-enhanced {
  min-height: 100vh;
  padding: 14px 16px 20px;
  background: transparent;
}

.akee-enhanced .app-frame { width: min(1280px, calc(100vw - 32px)); }

.akee-enhanced .top-header,
.global-tool-header {
  border: 1px solid transparent;
  border-radius: var(--akee-radius-header);
  background:
    linear-gradient(rgba(13, 18, 30, 0.78), rgba(6, 10, 18, 0.84)) padding-box,
    linear-gradient(105deg, rgba(255, 255, 255, 0.32), rgba(111, 197, 226, 0.14), rgba(255, 255, 255, 0.035)) border-box;
  box-shadow: var(--akee-shadow-header);
  -webkit-backdrop-filter: blur(24px) saturate(125%);
  backdrop-filter: blur(24px) saturate(125%);
}

.akee-enhanced .top-header { height: 62px; margin-bottom: 12px; padding: 6px 11px 6px 14px; }
.akee-enhanced .top-header .buy-more-credits-button,
.global-tool-header .buy-more-credits-button {
  min-height: 44px;
  gap: 6px;
  padding: 6px 10px;
  font-size: 0.75rem;
  line-height: 1;
  white-space: nowrap;
}
.akee-enhanced .top-header .buy-more-credits-button .akee-icon,
.global-tool-header .buy-more-credits-button .akee-icon { width: 16px; height: 16px; }
.akee-enhanced .top-header > .ak-study-features-button,
.global-tool-header > .ak-study-features-button,
.auth-study-features-entry {
  border-color: rgba(102, 197, 223, 0.34);
  color: #d9f6ff;
  background: rgba(102, 197, 223, 0.09);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.045), 0 9px 24px rgba(0, 0, 0, 0.18);
}
.akee-enhanced .top-header > .ak-study-features-button:hover,
.global-tool-header > .ak-study-features-button:hover {
  border-color: rgba(133, 219, 242, 0.62);
  color: #fff;
  background: rgba(102, 197, 223, 0.16);
  transform: translate(-50%, -50%);
}
.auth-study-features-entry:hover {
  border-color: rgba(133, 219, 242, 0.62);
  color: #fff;
  background: rgba(102, 197, 223, 0.16);
  transform: translateX(-50%);
}
.akee-enhanced .top-header::after,
.global-tool-header::after {
  content: "";
  position: absolute;
  top: -1px;
  left: 24%;
  width: 30%;
  height: 1px;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(141, 219, 240, 0.52), transparent);
}

.akee-enhanced .header-brand,
.global-tool-header .header-brand,
.auth-brand {
  width: 176px;
  height: 46px;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.akee-enhanced .header-brand img,
.global-tool-header .header-brand img,
.auth-brand img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  mix-blend-mode: screen;
  filter: saturate(0.96) drop-shadow(0 8px 18px rgba(255, 105, 30, 0.12));
  mask-image: linear-gradient(90deg, transparent 0%, #000 7%, #000 93%, transparent 100%);
}

.akee-enhanced .workspace-panel {
  min-height: calc(100vh - 102px);
  border: 1px solid transparent;
  border-radius: var(--akee-radius-panel);
  background:
    linear-gradient(rgba(7, 11, 20, 0.78), rgba(5, 8, 15, 0.86)) padding-box,
    linear-gradient(135deg, rgba(255, 255, 255, 0.27), rgba(121, 205, 231, 0.11) 38%, rgba(255, 255, 255, 0.035) 72%, rgba(255, 115, 36, 0.12)) border-box;
  box-shadow: var(--akee-shadow-panel);
  -webkit-backdrop-filter: blur(28px) saturate(120%);
  backdrop-filter: blur(28px) saturate(120%);
}

.akee-enhanced .side-nav {
  border-right-color: rgba(218, 231, 247, 0.1);
  padding: 20px 12px;
  color: var(--akee-muted);
  background: linear-gradient(180deg, rgba(18, 25, 40, 0.52), rgba(8, 12, 21, 0.65));
  box-shadow: none;
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}

.akee-enhanced .primary-nav { gap: 4px; }
.akee-enhanced .nav-group { gap: 4px; }
.akee-enhanced .nav-divider { margin: 12px 4px; background: linear-gradient(90deg, transparent, var(--akee-line-strong), transparent); }
.akee-enhanced .nav-section-label { padding-inline: 10px; color: #8190a5; font-family: "SFMono-Regular", Consolas, monospace; font-size: 0.64rem; letter-spacing: 0.1em; text-transform: uppercase; }
.akee-enhanced .primary-nav a,
.akee-enhanced .primary-nav button {
  min-height: 46px;
  gap: 10px;
  border: 1px solid transparent;
  border-radius: 13px;
  padding: 9px 11px;
  color: #b5c0cf;
  font-size: 0.79rem;
  font-weight: 650;
  white-space: normal;
  transition: color 180ms ease, background 180ms ease, border-color 180ms ease, transform 180ms var(--akee-ease);
}

.akee-enhanced .primary-nav a:hover,
.akee-enhanced .primary-nav button:hover { border-color: var(--akee-line); color: #fff; background: rgba(255, 255, 255, 0.045); transform: translateX(2px); }
.akee-enhanced .primary-nav a[aria-current="page"] { border: 1px solid rgba(255, 128, 59, 0.2); color: #fff; background: linear-gradient(90deg, rgba(255, 115, 36, 0.13), rgba(255, 255, 255, 0.026)); }
.akee-enhanced .primary-nav a[aria-current="page"]::before { top: 19px; bottom: auto; left: 10px; width: 6px; height: 6px; border-radius: 50%; background: var(--akee-orange); box-shadow: 0 0 14px rgba(255, 115, 36, 0.8); }
.akee-enhanced .primary-nav a[aria-current="page"] .akee-icon { margin-left: 9px; }

.akee-enhanced .app-column { background: linear-gradient(160deg, rgba(10, 15, 26, 0.61), rgba(3, 6, 12, 0.46)); }
.akee-enhanced .topbar.workspace-toolbar {
  position: sticky;
  z-index: 15;
  top: 0;
  min-height: 44px;
  border-bottom-color: rgba(221, 232, 247, 0.09);
  padding: 11px 24px;
  color: var(--akee-muted);
  background: rgba(7, 11, 20, 0.86);
  -webkit-backdrop-filter: blur(18px) saturate(120%);
  backdrop-filter: blur(18px) saturate(120%);
}

.akee-enhanced .breadcrumb,
.akee-enhanced .breadcrumb a { color: #91a0b4; font-size: 0.76rem; }
.akee-enhanced .page-content { padding: 24px 26px 34px; }
.akee-enhanced .page-heading { align-items: flex-end; margin-bottom: 24px; }
.akee-enhanced .page-heading h1,
.akee-enhanced .welcome-block h1,
.assignment-tool-main > .page-heading h1,
.report-main > h1,
.quick-assignment-workspace > .page-heading h1 { color: #fbfcff; font-size: clamp(1.65rem, 2.4vw, 2rem); font-weight: 650; line-height: 1.16; letter-spacing: 0; }
.akee-enhanced .page-heading p,
.akee-enhanced .section-header p { color: var(--akee-muted); line-height: 1.6; }

.akee-enhanced .account-trigger,
.global-tool-header .account-trigger {
  min-height: 46px;
  border: 1px solid var(--akee-line);
  border-radius: 16px;
  color: var(--akee-ink);
  background: rgba(255, 255, 255, 0.035);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}
.akee-enhanced .account-trigger:hover,
.akee-enhanced .account-trigger[aria-expanded="true"],
.global-tool-header .account-trigger:hover,
.global-tool-header .account-trigger[aria-expanded="true"] { border-color: var(--akee-line-strong); color: #fff; background: rgba(255, 255, 255, 0.07); }
.akee-enhanced .account-label,
.global-tool-header .account-label { color: var(--akee-ink); }
.akee-enhanced .account-menu,
.global-tool-header .account-menu { border-color: var(--akee-line-strong); border-radius: 16px; color: var(--akee-ink); background: rgba(9, 13, 22, 0.95); box-shadow: 0 32px 70px rgba(0, 0, 0, 0.48); backdrop-filter: blur(24px); }
.akee-enhanced .account-menu a,
.akee-enhanced .account-menu button,
.global-tool-header .account-menu a,
.global-tool-header .account-menu button { color: var(--akee-muted); }
.akee-enhanced .account-menu a:hover,
.akee-enhanced .account-menu button:hover,
.global-tool-header .account-menu a:hover,
.global-tool-header .account-menu button:hover { color: #fff; background: rgba(102, 197, 223, 0.1); }

.dashboard-welcome {
  position: relative;
  min-height: 190px;
  overflow: hidden;
  border: 1px solid transparent;
  border-radius: 22px;
  background: var(--akee-glass) padding-box, linear-gradient(128deg, rgba(255, 255, 255, 0.29), rgba(101, 202, 227, 0.14), rgba(255, 255, 255, 0.035), rgba(255, 115, 36, 0.17)) border-box;
  box-shadow: 0 28px 64px rgba(0, 0, 0, 0.26), inset 0 1px 0 rgba(255, 255, 255, 0.035);
  backdrop-filter: blur(20px);
}
.dashboard-welcome::before { content: "01 / LEARNING SPACE"; position: absolute; z-index: 3; top: 14px; left: 18px; color: #88c7d9; font-family: "SFMono-Regular", Consolas, monospace; font-size: 0.52rem; font-weight: 700; letter-spacing: 0.12em; }
.dashboard-welcome-copy { padding: 40px 34px 28px; }
.dashboard-welcome h1 { color: #fff; font-size: clamp(2rem, 3.2vw, 2.35rem); font-weight: 640; letter-spacing: 0; }
.dashboard-welcome p { color: var(--akee-muted); }
.dashboard-hero-wrap { position: relative; overflow: hidden; border-left-color: var(--akee-line-soft); background: linear-gradient(125deg, rgba(40, 164, 202, 0.07), rgba(2, 5, 10, 0.38) 44%, rgba(255, 104, 31, 0.07)); }
.dashboard-hero-wrap::before { content: ""; position: absolute; inset: 14px; border: 1px solid rgba(209, 227, 246, 0.1); border-radius: 15px; pointer-events: none; background: linear-gradient(110deg, transparent, rgba(255, 255, 255, 0.026), transparent); animation: akee-glass-scan 8s ease-in-out infinite; }
.dashboard-hero { width: min(100%, 430px); max-height: 178px; aspect-ratio: auto; object-fit: contain; filter: drop-shadow(0 22px 34px rgba(0, 0, 0, 0.42)); animation: akee-quiet-float 7s ease-in-out infinite; }
.hero-tool-row button { min-height: 38px; border-color: var(--akee-line); border-radius: 999px; color: #8f9bae; background: rgba(255, 255, 255, 0.025); }

.section-band { border-top-color: var(--akee-line); }
.akee-enhanced .section-band { padding-top: 20px; }
.section-header h2 { color: #fff; font-size: 1.08rem; font-weight: 650; }
.section-description { color: #8d9aae; }
.section-description strong { color: #bed0e2; }

.course-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.course-card,
.tool-card,
.quick-assignment-card,
.assignment-card,
.course-assignment-card {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--akee-line);
  border-radius: 16px;
  color: var(--akee-ink);
  background: var(--akee-glass-quiet);
  box-shadow: var(--akee-shadow-card);
  backdrop-filter: blur(14px);
  transition: border-color 260ms ease, box-shadow 260ms ease, transform 260ms var(--akee-ease);
}
.course-card a { min-height: 80px; display: grid; grid-template-columns: 54px minmax(0, 1fr) 6px; align-items: center; gap: 14px; padding: 10px 16px; color: var(--akee-ink); }
.course-card img { width: 50px; height: 50px; flex-basis: 50px; }
.course-card .card-title { color: #fff; font-size: 0.83rem; text-align: left; }
.course-card::after { content: ""; width: 6px; height: 6px; position: absolute; right: 17px; top: 50%; border-radius: 50%; background: #81d2e7; box-shadow: 0 0 14px rgba(100, 205, 232, 0.7); transform: translateY(-50%); }
.course-card:hover,
.course-card:focus-within,
.tool-card:hover,
.tool-card:focus-within,
.quick-assignment-card:hover,
.quick-assignment-card:focus-within,
.assignment-card:hover,
.assignment-card:focus-within,
.course-assignment-card:hover,
.course-assignment-card:focus-within {
  border-color: rgba(116, 205, 231, 0.42);
  box-shadow: 0 24px 52px rgba(0, 0, 0, 0.28), 0 0 28px rgba(60, 178, 216, 0.09), inset 0 1px 0 rgba(255, 255, 255, 0.065);
  transform: translateY(-4px);
}
.quick-assignment-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
#quick-assignment-grid .quick-assignment-card {
  grid-template-columns: minmax(104px, 0.34fr) minmax(0, 1fr);
  gap: 10px 14px;
  min-height: 188px;
  padding: 18px;
  text-decoration: none;
  background: linear-gradient(135deg, rgba(255, 115, 36, 0.07), rgba(21, 30, 47, 0.64) 42%, rgba(7, 11, 20, 0.74));
}
#quick-assignment-grid .quick-assignment-card .eyebrow {
  grid-column: 2;
  align-self: center;
  margin: 0;
  color: var(--akee-orange-ink);
  font-size: 0.68rem;
  font-weight: 760;
  line-height: 1.2;
  text-transform: uppercase;
}
#quick-assignment-grid .quick-assignment-card h3 {
  grid-column: 1 / -1;
  color: #fff;
  font-size: 0.98rem;
  line-height: 1.35;
}
#quick-assignment-grid .quick-assignment-card > p:not(.eyebrow) {
  grid-column: 1 / -1;
  color: var(--akee-muted);
  font-size: 0.78rem;
  line-height: 1.55;
}
#quick-assignment-grid .quick-assignment-card-meta {
  grid-column: 1 / -1;
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px solid var(--akee-line-soft);
}
#quick-assignment-grid .quick-assignment-type-label {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  min-height: 30px;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 8px;
  padding: 5px 9px;
  color: #5f3215;
  background: #ffe4cf;
  font-size: 0.68rem;
  font-weight: 760;
  line-height: 1.25;
  text-align: center;
}
#quick-assignment-grid .quick-assignment-type-label[data-assignment-type="essay"] { border-color: #f3bc91; color: #71360d; background: #ffe4cf; }
#quick-assignment-grid .quick-assignment-type-label[data-assignment-type="report"] { border-color: #a9cee9; color: #174f78; background: #dceeff; }
#quick-assignment-grid .quick-assignment-type-label[data-assignment-type="personal_reflection"] { border-color: #cbb4e8; color: #593783; background: #eee2ff; }
#quick-assignment-grid .quick-assignment-type-label[data-assignment-type="custom"] { border-color: #abd8ba; color: #245f3c; background: #dff4e7; }
#quick-assignment-grid .quick-assignment-type-label[data-assignment-type="presentation"] { border-color: #efb5b8; color: #7b3036; background: #ffe2e4; }
#quick-assignment-grid .quick-assignment-card .status-badge { white-space: nowrap; }
#quick-assignment-grid .quick-assignment-card .status-badge::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 10px currentColor;
}
#quick-assignment-grid .quick-assignment-card .status-badge,
#quick-assignment-grid .quick-assignment-card .quick-assignment-due-date {
  display: inline-flex;
  gap: 5px;
  align-items: center;
  min-height: 28px;
  padding: 4px 8px;
  border: 1px solid var(--akee-line);
  border-radius: 999px;
  font-size: 0.68rem;
  line-height: 1.2;
  background: rgba(255, 255, 255, 0.035);
}
#quick-assignment-grid .quick-assignment-card .quick-assignment-due-date {
  color: #c7d2e1;
}
#quick-assignment-grid .quick-assignment-card .quick-assignment-due-date time {
  color: #fff;
  font-weight: 700;
}
.quick-assignment-card:hover,
.quick-assignment-card:focus-within { border-color: rgba(255, 132, 66, 0.42); box-shadow: 0 24px 52px rgba(0, 0, 0, 0.28), 0 0 28px rgba(255, 115, 36, 0.09), inset 0 1px 0 rgba(255, 255, 255, 0.06); }
.assignment-icon { border-color: rgba(255, 115, 36, 0.3); border-radius: 12px; color: var(--akee-orange); background: rgba(255, 115, 36, 0.09); }

.course-card::before,
.tool-card::before,
.quick-assignment-card::before,
.assignment-card::before,
.course-assignment-card::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: -22%;
  left: -55%;
  width: 32%;
  height: 150%;
  pointer-events: none;
  background: linear-gradient(112deg, transparent 30%, rgba(191, 219, 254, 0.25) 48%, rgba(255, 163, 102, 0.09) 55%, transparent 64%);
  mix-blend-mode: screen;
  transform: rotate(14deg);
  transition: transform 1100ms var(--akee-ease);
}
.course-card:hover::before,
.course-card:focus-within::before,
.tool-card:hover::before,
.tool-card:focus-within::before,
.quick-assignment-card:hover::before,
.quick-assignment-card:focus-within::before,
.assignment-card:hover::before,
.assignment-card:focus-within::before,
.course-assignment-card:hover::before,
.course-assignment-card:focus-within::before { transform: translateX(530%) rotate(14deg); }

.status-panel,
.notice,
.panel,
.attention-banner,
.entitlement-panel,
.entitlement-line,
.upload-zone,
.data-table-wrap,
.source-file-row,
.staged-file-row,
.source-empty,
.selected-files,
.assignment-type-card,
.billing-product,
.assignment-tool-band,
.report-band,
.quick-assignment-output,
.quick-assignment-upload,
.assignment-final-document,
.essay-document,
.candidate,
.pre {
  border-color: var(--akee-line);
  color: var(--akee-ink);
  background: rgba(15, 21, 34, 0.62);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.status-panel,
.notice,
.panel,
.attention-banner,
.entitlement-panel,
.entitlement-line,
.upload-zone,
.data-table-wrap,
.assignment-type-card { border-radius: var(--akee-radius-card); }
.notice[role="alert"], .status-panel[data-state="failed_retryable"], .status-panel[data-state="failed_final"] { border-color: rgba(255, 141, 131, 0.4); color: #ffd0cb; background: rgba(89, 27, 27, 0.3); }
.status-panel[data-state="ready"] { border-left-color: var(--akee-success); }
.status-panel[data-state="waiting_user"], .status-panel[data-state="needs_review"], .status-panel[data-state="stale"] { border-left-color: var(--akee-warning); }
.field-hint, .field-error, .field-status, .assignment-tool-muted, .report-muted, .report-lede, .quick-assignment-help, .action-hint { color: var(--akee-muted); }
.field-error, .assignment-tool-error { color: var(--akee-danger); }

table { color: var(--akee-ink); background: rgba(9, 14, 24, 0.66); }
th { color: #d9e6f3; background: rgba(102, 197, 223, 0.08); }
td, th { border-color: var(--akee-line); }
tbody tr:hover { background: rgba(102, 197, 223, 0.045); }
.status-badge { border: 1px solid var(--akee-line); color: #d5deea; background: rgba(255, 255, 255, 0.055); }
.status-badge[data-tone="success"] { color: #a8f0d1; background: rgba(101, 214, 163, 0.1); }
.status-badge[data-tone="warning"] { color: #ffdaa0; background: rgba(255, 192, 98, 0.1); }
.status-badge[data-tone="danger"] { color: #ffb5ae; background: rgba(255, 141, 131, 0.1); }

dialog,
.requirement-file-dialog {
  border: 1px solid transparent;
  border-radius: 20px;
  color: var(--akee-ink);
  background: linear-gradient(rgba(11, 17, 29, 0.97), rgba(7, 11, 20, 0.98)) padding-box, linear-gradient(140deg, rgba(255, 255, 255, 0.28), rgba(102, 197, 223, 0.16), rgba(255, 115, 36, 0.15)) border-box;
  box-shadow: 0 42px 100px rgba(0, 0, 0, 0.58);
}
dialog::backdrop, .requirement-file-dialog::backdrop { background: rgba(0, 2, 7, 0.76); backdrop-filter: blur(7px); }
.dialog-body { background: transparent; }
.toast, .global-notice { border-color: var(--akee-line-strong); border-radius: 14px; color: #fff; background: rgba(9, 13, 22, 0.96); box-shadow: 0 20px 54px rgba(0, 0, 0, 0.5); backdrop-filter: blur(20px); }

.assignment-workflow-page .page-content { max-height: calc(100vh - 118px); overflow: hidden; }
.assignment-tool-layout,
.report-layout,
.quick-assignment-layout,
.essay-shell .layout { min-height: 0; max-height: calc(100vh - 198px); }
.assignment-tool-rail,
.report-rail,
.quick-assignment-rail,
.essay-shell .sidebar { border-color: var(--akee-line); border-radius: 16px; color: var(--akee-muted); background: rgba(15, 21, 34, 0.54); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03); }
.assignment-tool-main,
.report-main,
.quick-assignment-workspace,
.essay-shell .content { min-height: 0; overflow-y: auto; padding-right: 10px; }
.assignment-tool-steps a,
.assignment-tool-steps li,
.report-steps a,
.report-steps li,
.quick-assignment-stage-list a,
.quick-assignment-stage-list li,
.essay-shell .steps li { border-color: transparent; border-radius: 12px; color: var(--akee-muted); background: transparent; }
.assignment-tool-steps .is-active,
.assignment-tool-steps [aria-current="step"],
.report-steps .is-active,
.report-steps [aria-current="step"],
.quick-assignment-stage-list .is-active,
.quick-assignment-stage-list [aria-current="step"],
.essay-shell .steps .active { border-color: rgba(255, 128, 59, 0.22); color: #fff; background: linear-gradient(90deg, rgba(255, 115, 36, 0.15), rgba(255, 255, 255, 0.024)); }
.assignment-tool-band,
.report-band { border-top-color: var(--akee-line); background: transparent; box-shadow: none; }
.assignment-tool-integrity,
.essay-shell .integrity-confirmation-notice,
.essay-shell .integrity-notice { border-color: rgba(255, 192, 98, 0.34); color: #f5e4c5; background: rgba(255, 192, 98, 0.07); }
.assignment-source-list,
.quick-assignment-file-list { color: var(--akee-muted); }
.assignment-final-document,
.essay-shell .essay-document,
.essay-shell .candidate,
.essay-shell .pre,
.report-output,
.quick-assignment-output { color: #e8edf5; background: rgba(2, 6, 13, 0.62); }
.report-output, .quick-assignment-output, pre { scrollbar-gutter: stable; }

/* Override the legacy light Assignment layer without changing its DOM or workflow. */
body .assignment-tool-rail,
body .report-rail,
body .essay-shell .sidebar,
body .quick-assignment-rail {
  border-color: var(--akee-line);
  border-radius: 16px;
  color: var(--akee-muted);
  background: rgba(15, 21, 34, 0.58);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035), 0 20px 44px rgba(0, 0, 0, 0.18);
}
body .assignment-tool-main,
body .report-main,
body .essay-shell .content,
body .quick-assignment-workspace {
  border-color: var(--akee-line);
  border-radius: 16px;
  color: var(--akee-ink);
  background: rgba(10, 15, 26, 0.68);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035), 0 24px 56px rgba(0, 0, 0, 0.22);
}
body .page-heading h1,
body .report-main > h1,
body .essay-shell h1,
body .quick-assignment-workspace .page-heading h1 {
  color: #fbfcff;
  font-size: clamp(1.65rem, 2.4vw, 2rem);
  font-weight: 650;
  line-height: 1.16;
  letter-spacing: 0;
}
body .page-heading p,
body .report-lede { color: var(--akee-muted); }
body .assignment-tool-rail h2,
body .report-rail h2,
body .quick-assignment-rail h2 { color: #9cabbf; }
body .assignment-tool-step,
body .report-steps a,
body .report-steps > li > span,
body .essay-shell .steps li,
body .quick-assignment-stage-list a {
  border-color: transparent;
  color: var(--akee-muted);
  background: transparent;
  box-shadow: none;
}
body .assignment-tool-step:hover,
body .report-steps a:hover,
body .quick-assignment-stage-list a:hover { color: #fff; }
body .assignment-tool-step[aria-current="step"],
body .report-steps a[aria-current="step"],
body .report-steps > li > span[aria-current="step"],
body .essay-shell .steps .active,
body .quick-assignment-stage-list a[aria-current="step"] {
  border-color: rgba(255, 128, 59, 0.28);
  color: #fff;
  background: linear-gradient(90deg, rgba(255, 115, 36, 0.16), rgba(255, 255, 255, 0.025));
  box-shadow: inset 2px 0 var(--akee-orange);
}
body .assignment-tool-step-number,
body .report-step-no {
  border-color: var(--akee-line-strong);
  color: var(--akee-muted);
  background: rgba(255, 255, 255, 0.045);
}
body .assignment-tool-step[aria-current="step"] .assignment-tool-step-number,
body .report-steps [aria-current="step"] .report-step-no {
  border-color: rgba(255, 132, 66, 0.58);
  color: #fff;
  background: rgba(232, 94, 23, 0.82);
  box-shadow: 0 0 0 5px rgba(255, 115, 36, 0.09);
}
body .assignment-tool-band,
body .report-band,
body .essay-shell .section { border-top-color: var(--akee-line); }
body .assignment-tool-band::before,
body .report-band::before,
body .essay-shell .section::before { background: linear-gradient(90deg, var(--akee-orange), var(--akee-blue)); }
body .assignment-tool-field input,
body .assignment-tool-field select,
body .assignment-tool-field textarea,
body .report-field input,
body .report-field select,
body .report-field textarea,
body .essay-shell input,
body .essay-shell select,
body .essay-shell textarea {
  border-color: var(--akee-line-strong);
  color: var(--akee-ink);
  background: rgba(2, 6, 13, 0.72);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
}
body .assignment-tool-field input:focus,
body .assignment-tool-field select:focus,
body .assignment-tool-field textarea:focus,
body .report-field input:focus,
body .report-field select:focus,
body .report-field textarea:focus,
body .essay-shell input:focus,
body .essay-shell select:focus,
body .essay-shell textarea:focus {
  border-color: rgba(168, 199, 255, 0.72);
  color: var(--akee-ink);
  background: rgba(4, 9, 18, 0.9);
  box-shadow: 0 0 0 3px rgba(102, 197, 223, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.04);
}
body .assignment-tool-notice,
body .report-notice,
body .essay-shell .notice,
body .essay-shell .integrity-confirmation-notice,
body .essay-shell .integrity-notice {
  border-color: rgba(255, 192, 98, 0.36);
  color: #f5e4c5;
  background: rgba(255, 192, 98, 0.075);
}
body .essay-shell .notice.warning.integrity-confirmation-notice {
  border: 1px solid rgba(214, 139, 31, 0.56);
  border-left: 3px solid #d68b1f;
  color: #f5e8d2;
  background: #191a1d;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
}
body .essay-shell .integrity-confirmation-check { color: #f4f6fb; }
body .report-notice[data-tone="error"] { border-color: rgba(255, 141, 131, 0.42); color: #ffd0cb; background: rgba(89, 27, 27, 0.3); }
body .report-notice[data-tone="success"] { border-color: rgba(101, 214, 163, 0.42); color: #bdf6dc; background: rgba(31, 91, 68, 0.26); }
body .assignment-source-row,
body .report-file,
body .essay-shell .selected-files,
body .essay-shell .candidate,
body .essay-shell .essay-document,
body .report-output,
body .report-data-wrap,
body .quick-assignment-upload,
body .quick-assignment-output,
body .quick-essay-candidate,
body .assignment-final-document {
  border-color: var(--akee-line);
  color: var(--akee-ink);
  background: rgba(8, 13, 23, 0.72);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025);
}
body .assignment-source-status,
body .assignment-file-extension,
body .report-metric-row > div { border-color: var(--akee-line); color: var(--akee-muted); background: rgba(255, 255, 255, 0.045); }
body .report-method {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 4px 10px;
  align-items: start;
  border-color: var(--akee-line);
  color: var(--akee-ink);
  background: rgba(15, 21, 34, 0.58);
}
body .report-method input { grid-row: 1 / span 2; margin: 3px 0 0; }
body .report-method strong,
body .report-method > span { grid-column: 2; line-height: 1.45; }
body .report-method > span { color: var(--akee-muted); }
body .report-method:has(input:checked) { border-color: rgba(255, 132, 66, 0.56); background: rgba(255, 115, 36, 0.1); }
body .report-figure-gallery figure { border-color: var(--akee-line); color: var(--akee-ink); background: rgba(8, 13, 23, 0.72); }
body .assignment-upload-dialog,
body .report-dialog,
body .requirement-file-dialog {
  border: 1px solid transparent;
  color: var(--akee-ink);
  background: linear-gradient(rgba(11, 17, 29, 0.98), rgba(7, 11, 20, 0.99)) padding-box, linear-gradient(140deg, rgba(255, 255, 255, 0.28), rgba(102, 197, 223, 0.16), rgba(255, 115, 36, 0.15)) border-box;
  box-shadow: 0 42px 100px rgba(0, 0, 0, 0.58);
}
body .assignment-upload-dropzone,
body .report-dropzone,
body .requirement-file-dropzone { border-color: var(--akee-line-strong); color: var(--akee-muted); background: rgba(255, 255, 255, 0.03); }

body .requirement-upload-file-row,
body .essay-shell .requirement-upload-file-row {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 12px;
  min-height: 72px;
  margin: 8px 0 0;
  padding: 13px 15px;
  border: 1px solid var(--akee-line);
  border-radius: 8px;
  background: rgba(8, 13, 23, 0.78);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}
body .requirement-upload-file-leading {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  color: #ff9a62;
}
body .requirement-upload-file-leading svg { width: 21px; height: 21px; }
body .requirement-upload-file-details,
body .essay-shell .selected-file-name {
  display: grid;
  min-width: 0;
  gap: 8px;
}
body .requirement-upload-file-details strong,
body .essay-shell .selected-file-name {
  overflow: hidden;
  color: var(--akee-ink);
  font-size: .92rem;
  font-weight: 750;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body .requirement-upload-processing-copy {
  color: var(--akee-muted);
  font-size: .78rem;
  line-height: 1.4;
}
body .requirement-upload-progress-line {
  display: grid;
  grid-template-columns: minmax(120px, 320px) 42px;
  align-items: center;
  gap: 10px;
}
body .requirement-upload-progress-line .assignment-upload-progress {
  height: 6px;
  margin: 0;
  background: rgba(255, 255, 255, 0.11);
}
body .requirement-upload-progress-line .assignment-upload-progress > span {
  min-width: 3px;
  background: linear-gradient(90deg, #ff7a32, #78d6ec);
}
body .requirement-upload-progress-value {
  color: var(--akee-muted);
  font-size: .78rem;
  font-variant-numeric: tabular-nums;
  text-align: right;
}
body .requirement-upload-file-row .assignment-source-status {
  min-width: 84px;
  justify-content: center;
  text-transform: none;
}
body .requirement-upload-file-row .requirement-upload-file-actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}
body .requirement-upload-file-row .requirement-upload-file-actions .button {
  min-height: 36px;
  padding: 7px 12px;
  font-size: .84rem;
}
@media (max-width: 720px) {
  body .requirement-upload-file-row,
  body .essay-shell .requirement-upload-file-row {
    grid-template-columns: 30px minmax(0, 1fr);
    align-items: start;
  }
  body .requirement-upload-file-row .assignment-source-status,
  body .requirement-upload-file-row .requirement-upload-file-actions {
    grid-column: 2;
    justify-self: start;
  }
  body .requirement-upload-progress-line { grid-template-columns: minmax(100px, 1fr) 40px; }
}

.akee-enhanced .assignment-theme-essay { --assignment-type-bg: rgba(255, 115, 36, 0.1); --assignment-type-border: rgba(255, 148, 84, 0.46); --assignment-type-ink: #ffc09b; }
.akee-enhanced .assignment-theme-report { --assignment-type-bg: rgba(102, 197, 223, 0.1); --assignment-type-border: rgba(102, 197, 223, 0.46); --assignment-type-ink: #b7e9f5; }
.akee-enhanced .assignment-theme-personal-reflection { --assignment-type-bg: rgba(159, 138, 231, 0.11); --assignment-type-border: rgba(159, 138, 231, 0.48); --assignment-type-ink: #d9cdfb; }
.akee-enhanced .assignment-theme-other-assignment { --assignment-type-bg: rgba(101, 214, 163, 0.1); --assignment-type-border: rgba(101, 214, 163, 0.46); --assignment-type-ink: #bdf6dc; }
.akee-enhanced .assignment-theme-presentation { --assignment-type-bg: rgba(255, 192, 98, 0.1); --assignment-type-border: rgba(255, 192, 98, 0.46); --assignment-type-ink: #ffdaa0; }

.presentation-style-card { border-color: var(--akee-line); color: var(--akee-ink); background: rgba(15, 21, 34, 0.68); box-shadow: var(--akee-shadow-card); }
.presentation-style-card:hover { border-color: rgba(116, 205, 231, 0.42); box-shadow: 0 22px 48px rgba(0, 0, 0, 0.3); }
.presentation-style-card:has(input:checked) { border-color: rgba(255, 132, 66, 0.58); background: rgba(255, 115, 36, 0.08); }
.presentation-style-card img { background: #05070b; }
.presentation-revision-scope { border-color: var(--akee-line); background: rgba(255, 255, 255, 0.03); }
.presentation-revision-scope input:checked + span { color: #fff; background: rgba(232, 94, 23, 0.74); }

.tool-page,
.akee-tool-enhanced { color: var(--akee-ink); background: transparent; }
.global-tool-header { position: sticky; z-index: 40; top: 10px; width: min(var(--akee-tool-frame-max), calc(100vw - 28px)); min-height: 62px; margin: 10px auto 12px; padding: 7px 12px 7px 16px; }

/* The centered Features control must retain the same positioning transform in
   every interaction state. Generic button hover motion otherwise replaces the
   centering transform and makes the control jump down and right. */
.global-tool-header > a.ak-study-features-button,
.global-tool-header > a.ak-study-features-button:hover,
.global-tool-header > a.ak-study-features-button:focus-visible,
.global-tool-header > a.ak-study-features-button:active {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) !important;
}

.global-tool-header > a.ak-study-features-button .akee-icon {
  transform: none !important;
}
.tool-header,
.app-header { border-color: var(--akee-line); color: var(--akee-ink); background: rgba(7, 11, 20, 0.84); backdrop-filter: blur(18px); }
.tool-header.tool-toolbar { top: 84px; }
.tool-shell,
.past-exam-shell,
.conversation-shell { border-color: var(--akee-line); color: var(--akee-ink); background: rgba(7, 11, 20, 0.54); }
.tool-sidebar,
.exam-sidebar,
.conversation-sidebar { border-color: var(--akee-line); color: var(--akee-muted); background: rgba(13, 19, 31, 0.76); }
.tool-workspace,
.exam-workspace,
.chat-pane { color: var(--akee-ink); background: rgba(4, 8, 15, 0.68); }
.tool-pane,
.question-article,
.content-section,
.tab-panel,
.scope-fieldset,
.source-selection-panel,
.message-content { border-color: var(--akee-line); color: var(--akee-ink); background: rgba(15, 21, 34, 0.58); }
.workspace-tab,
.mobile-tool-tab,
.mobile-tab,
.status-tab { color: var(--akee-muted); }
.workspace-tab[aria-selected="true"],
.mobile-tool-tab[aria-selected="true"],
.mobile-tab.is-active,
.status-tab.is-active { border-color: rgba(255, 132, 66, 0.3); color: #fff; background: rgba(255, 115, 36, 0.1); }
.message-item.is-user .message-content { border-color: rgba(102, 197, 223, 0.2); background: rgba(102, 197, 223, 0.075); }
.message-item.is-assistant .message-content { border-color: rgba(255, 115, 36, 0.17); background: rgba(255, 115, 36, 0.05); }
.composer,
.conversation-header,
.scope-notice { border-color: var(--akee-line); color: var(--akee-ink); background: rgba(11, 16, 27, 0.94); }

.auth-page { background: transparent; }
.auth-context {
  border-right: 1px solid var(--akee-line);
  color: var(--akee-ink);
  background: linear-gradient(145deg, rgba(20, 29, 46, 0.76), rgba(7, 12, 22, 0.82));
}
.auth-context p { color: var(--akee-muted); }
.auth-form-column { background: rgba(3, 6, 12, 0.68); }
.auth-panel { border: 1px solid transparent; border-radius: 22px; padding: clamp(24px, 4vw, 42px); background: linear-gradient(rgba(13, 19, 31, 0.84), rgba(7, 11, 20, 0.88)) padding-box, linear-gradient(140deg, rgba(255, 255, 255, 0.25), rgba(102, 197, 223, 0.12), rgba(255, 115, 36, 0.14)) border-box; box-shadow: var(--akee-shadow-panel); backdrop-filter: blur(24px); }
.auth-panel > p, .auth-meta { color: var(--akee-muted); }

.akee-pointer-layer,
.akee-pointer-glow { position: fixed; z-index: 3500; top: 0; left: 0; pointer-events: none; }
.akee-pointer-layer { width: 100vw; height: 100vh; }
.akee-pointer-glow { width: 156px; height: 156px; margin: -62px 0 0 -62px; border-radius: 50%; opacity: 0.74; background: radial-gradient(circle, rgba(220, 247, 255, 0.25) 0%, rgba(102, 197, 223, 0.18) 12%, rgba(89, 103, 220, 0.09) 31%, rgba(255, 115, 36, 0.045) 50%, transparent 72%); mix-blend-mode: screen; filter: blur(0.25px); transition: opacity 160ms ease; }
html.akee-pointer-effects-ready.akee-pointer-action .akee-pointer-glow { opacity: 0.9; }

.akee-motion-ready .akee-enhanced .top-header { animation: akee-rise-in 520ms var(--akee-ease) both; }
.akee-motion-ready .akee-enhanced .workspace-panel { animation: akee-rise-in 680ms 80ms var(--akee-ease) both; }
.akee-motion-ready .page-heading,
.akee-motion-ready main > .status-panel,
.akee-motion-ready main > [data-report-main],
.akee-motion-ready main > .assignment-tool-layout,
.akee-motion-ready main > .quick-assignment-page { animation: akee-content-in 480ms 90ms var(--akee-ease) both; }

@keyframes akee-rise-in { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes akee-content-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes akee-mesh-drift { to { transform: translate3d(3%, -2%, 0) scale(1.05); } }
@keyframes akee-quiet-float { 50% { transform: translateY(-4px); } }
@keyframes akee-glass-scan { 0%, 100% { opacity: 0.34; } 50% { opacity: 0.78; } }

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .akee-enhanced .top-header,
  .global-tool-header,
  .akee-enhanced .workspace-panel,
  .dashboard-welcome,
  .course-card,
  .tool-card,
  .quick-assignment-card { background-color: #0b111d; }
}

@media (max-width: 980px) {
  .akee-enhanced .workspace-panel { grid-template-columns: 176px minmax(0, 1fr); }
  .assignment-workflow-page .page-content { max-height: none; overflow: visible; }
  .assignment-tool-layout,
  .report-layout,
  .quick-assignment-layout,
  .essay-shell .layout { max-height: none; }
  .assignment-tool-main,
  .report-main,
  .quick-assignment-workspace,
  .essay-shell .content { overflow: visible; padding-right: 0; }
}

@media (max-width: 1100px) {
  .akee-enhanced .top-header > .ak-study-features-button,
  .global-tool-header > .ak-study-features-button {
    width: 44px;
    padding-inline: 0;
  }

  .akee-enhanced .top-header > .ak-study-features-button span,
  .global-tool-header > .ak-study-features-button span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
  }
}

@media (min-width: 761px) and (max-width: 1000px) {
  .akee-enhanced .header-brand,
  .global-tool-header .header-brand,
  .auth-brand {
    width: 100px;
    height: 40px;
  }
}

@media (min-width: 761px) and (max-width: 1200px) {
  .auth-brand-lockup { gap: 8px; }
  .auth-brand-lockup .auth-brand { width: 100px; height: 40px; }
  .auth-brand-lockup .version-tag {
    min-height: 30px;
    gap: 6px;
    padding: 5px 8px;
    font-size: 8.5px;
    line-height: 1.35;
    letter-spacing: 0.015em;
  }
}

@media (max-width: 767px) {
  body { font-size: 15px; }
  .app-shell.akee-enhanced { padding: 10px; }
  .akee-enhanced .app-frame { width: 100%; }
  .akee-enhanced .top-header { height: 60px; border-radius: 18px; }
  .akee-enhanced .header-brand,
  .global-tool-header .header-brand { width: 152px; height: 43px; }
  .akee-enhanced .workspace-panel { grid-template-columns: 1fr; border-radius: 20px; }
  .akee-enhanced .side-nav { top: 80px; border-color: var(--akee-line-strong); border-radius: 16px; background: rgba(9, 14, 24, 0.97); box-shadow: 0 30px 80px rgba(0, 0, 0, 0.58); }
  .akee-enhanced .nav-backdrop { background: rgba(0, 2, 7, 0.76); backdrop-filter: blur(4px); }
  .akee-enhanced .page-content { padding: 20px 16px 28px; }
  .akee-enhanced .topbar.workspace-toolbar { padding-inline: 18px; }
  .dashboard-welcome { grid-template-columns: 1fr; }
  .dashboard-welcome-copy { padding: 40px 20px 24px; }
  .dashboard-welcome h1 { font-size: 2rem; }
  .dashboard-hero-wrap { min-height: 158px; border-top: 1px solid var(--akee-line); border-left: 0; }
  .dashboard-hero { max-height: 136px; }
  .course-grid,
  .quick-assignment-grid { grid-template-columns: 1fr; }
  .page-heading,
  .section-header { align-items: flex-start; }
  .auth-page { grid-template-columns: 1fr; }
  .auth-context { min-height: 250px; border-right: 0; border-bottom: 1px solid var(--akee-line); }
  .auth-panel { padding: 24px 20px; }
  .global-tool-header { top: 6px; width: calc(100vw - 20px); margin-top: 6px; border-radius: 18px; }
  .tool-header.tool-toolbar { top: 78px; }
}

@media (max-width: 760px) {
  .auth-brand-lockup {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
  }

  .auth-brand-lockup .auth-brand { width: 100px; height: 40px; }

  .akee-enhanced .top-header,
  .global-tool-header {
    min-height: 88px;
    height: auto;
    display: grid;
    grid-template-columns: auto minmax(40px, 1fr) auto;
    grid-template-rows: 44px 28px;
    align-items: center;
    column-gap: 6px;
    row-gap: 5px;
    padding: 6px 8px;
  }

  .akee-enhanced .top-header > .brand-lockup,
  .global-tool-header > .brand-lockup {
    display: contents;
  }

  .akee-enhanced .top-header .header-brand,
  .global-tool-header .header-brand {
    grid-column: 1;
    grid-row: 1;
    width: 100px;
    height: 40px;
  }

  .akee-enhanced .top-header .version-tag,
  .global-tool-header .version-tag {
    grid-column: 1 / span 2;
    grid-row: 2;
    justify-self: start;
  }

  .akee-enhanced .top-header > .ak-study-features-button,
  .akee-enhanced .top-header > .ak-study-features-button:hover,
  .global-tool-header > a.ak-study-features-button,
  .global-tool-header > a.ak-study-features-button:hover,
  .global-tool-header > a.ak-study-features-button:focus-visible,
  .global-tool-header > a.ak-study-features-button:active {
    position: static !important;
    top: auto !important;
    left: auto !important;
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    justify-self: center;
    width: 40px;
    min-height: 40px;
    padding: 0;
    transition: none !important;
    transform: none !important;
  }

  .akee-enhanced .top-header > .header-actions,
  .global-tool-header > .header-actions {
    grid-column: 3;
    grid-row: 1;
    align-items: center;
    flex-direction: row;
    justify-self: end;
    gap: 3px;
  }

  .global-tool-header .account-trigger { display: flex !important; }

  .akee-enhanced .topbar.workspace-toolbar,
  .tool-header.tool-toolbar {
    top: 108px;
  }

  .akee-enhanced .side-nav { top: 112px; }
}

@media (max-width: 460px) {
  .akee-enhanced .top-header { gap: 4px; padding-inline: 8px; }
  .akee-enhanced .header-brand { width: 100px; height: 40px; }
  .akee-enhanced .top-header > .ak-study-features-button {
    position: static;
    transform: none;
    flex: 0 0 40px;
    width: 40px;
    min-height: 40px;
    padding: 0;
  }
  .akee-enhanced .top-header > .ak-study-features-button:hover { transform: none; }
  .akee-enhanced .header-actions { gap: 3px; }
  .akee-enhanced .top-header .buy-more-credits-button {
    min-width: 0;
    min-height: 44px;
    padding: 0 5px;
    font-size: 0.625rem;
    white-space: nowrap;
  }
  .global-tool-header .buy-more-credits-button {
    min-width: 0;
    min-height: 44px;
    padding: 0 5px;
    font-size: 0.625rem;
    white-space: nowrap;
  }
  .akee-enhanced .top-header .buy-more-credits-button .akee-icon { display: none; }
  .global-tool-header .buy-more-credits-button .akee-icon { display: none; }
  .course-card a { min-height: 88px; }
  .section-actions { width: 100%; }
  .section-actions .compact-action { flex: 1; }
}

@media (max-width: 360px) {
  .akee-enhanced .top-header,
  .global-tool-header { grid-template-columns: 72px minmax(40px, 1fr) auto; }
  .akee-enhanced .top-header .header-brand,
  .global-tool-header .header-brand { width: 72px; }
  .akee-enhanced .top-header .buy-more-credits-button { width: 40px; padding: 0; }
  .global-tool-header .buy-more-credits-button { width: 40px; padding: 0; }
  .akee-enhanced .top-header .buy-more-credits-button span { display: none; }
  .global-tool-header .buy-more-credits-button span { display: none; }
  .akee-enhanced .top-header .buy-more-credits-button .akee-icon { display: inline-flex; }
  .global-tool-header .buy-more-credits-button .akee-icon { display: inline-flex; }
}

@media (pointer: coarse), (hover: none) {
  .akee-pointer-layer,
  .akee-pointer-glow { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  body::after { animation: none; }
  .akee-pointer-layer,
  .akee-pointer-glow { display: none; }
  .dashboard-hero,
  .dashboard-hero-wrap::before { animation: none; }
  .course-card:hover,
  .course-card:focus-within,
  .tool-card:hover,
  .tool-card:focus-within,
  .quick-assignment-card:hover,
  .quick-assignment-card:focus-within,
  .assignment-card:hover,
  .assignment-card:focus-within,
  .course-assignment-card:hover,
  .course-assignment-card:focus-within { transform: none; }
  .course-card::before,
  .tool-card::before,
  .quick-assignment-card::before,
  .assignment-card::before,
  .course-assignment-card::before { display: none; }
}

@media (forced-colors: active) {
  .akee-pointer-layer,
  .akee-pointer-glow { display: none; }
  .akee-enhanced .top-header,
  .global-tool-header,
  .akee-enhanced .workspace-panel,
  .dashboard-welcome { border: 1px solid CanvasText; }
}

/* Requirement upload modal shared by all Course and Quick Assignment types. */
body .assignment-upload-dialog,
body .requirement-file-dialog.assignment-upload-dialog {
  width: min(880px, calc(100vw - 32px));
  max-width: none;
  max-height: min(820px, calc(100dvh - 32px));
  margin: auto;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(206, 226, 244, 0.2);
  border-radius: 24px;
  color: var(--akee-ink);
  background: linear-gradient(150deg, rgba(14, 21, 35, 0.995), rgba(6, 10, 18, 0.995));
  box-shadow: 0 42px 110px rgba(0, 0, 0, 0.68), inset 0 1px 0 rgba(255, 255, 255, 0.055);
}

body .assignment-upload-dialog::backdrop,
body .requirement-file-dialog.assignment-upload-dialog::backdrop {
  background: rgba(0, 2, 7, 0.8);
  backdrop-filter: blur(8px);
}

body .assignment-upload-dialog-inner {
  max-height: min(820px, calc(100dvh - 32px));
  display: flex;
  flex-direction: column;
  gap: 0;
  overflow-y: auto;
  padding: 30px;
  scrollbar-gutter: stable;
}

body .assignment-upload-dialog-header,
body .requirement-file-dialog .dialog-heading.assignment-upload-dialog-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin: 0;
}

body .assignment-upload-dialog-header > div { min-width: 0; }

body .assignment-upload-dialog-header h2,
body .requirement-file-dialog .dialog-heading h2 {
  margin: 0;
  color: #f7f9fc;
  font-size: clamp(1.35rem, 2.3vw, 1.75rem);
  font-weight: 760;
  line-height: 1.2;
  letter-spacing: 0;
}

body .assignment-upload-dialog-header p,
body .assignment-upload-dialog-help {
  margin: 7px 0 0;
  color: #aebaca;
  font-size: 0.9rem;
  line-height: 1.55;
}

body .assignment-upload-dialog-header .icon-button {
  width: 44px;
  min-width: 44px;
  height: 44px;
  border: 1px solid rgba(210, 228, 244, 0.24);
  border-radius: 12px;
  color: #eef5fb;
  background: rgba(255, 255, 255, 0.035);
}

body .assignment-upload-dialog-header .icon-button:hover {
  border-color: rgba(255, 145, 82, 0.58);
  color: #fff;
  background: rgba(255, 115, 36, 0.1);
}

body .requirement-file-dialog #requirement-file-dialog-help {
  margin: 22px 0 0;
  color: #ffc18f;
  font-size: 0.86rem;
  font-weight: 650;
  line-height: 1.55;
}

body .assignment-upload-dropzone,
body .requirement-file-dropzone.assignment-upload-dropzone {
  width: 100%;
  min-height: 196px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 22px 0 0;
  padding: 28px;
  border: 1px dashed rgba(203, 222, 240, 0.35);
  border-radius: 16px;
  color: #aebaca;
  background: rgba(255, 255, 255, 0.018);
  text-align: center;
  cursor: pointer;
  transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

body .assignment-upload-dropzone > .akee-icon,
body .requirement-file-dropzone.assignment-upload-dropzone > .akee-icon {
  width: 24px;
  height: 24px;
  color: #91dcee;
}

body .assignment-upload-dropzone > strong,
body .requirement-file-dropzone.assignment-upload-dropzone > strong {
  color: #f3f7fb;
  font-size: 1rem;
  line-height: 1.35;
}

body .requirement-file-dropzone.assignment-upload-dropzone > span {
  color: #8290a2;
  font-size: 0.82rem;
}

body .assignment-upload-dropzone.is-dragging,
body .assignment-upload-dropzone:focus-visible,
body .requirement-file-dropzone.assignment-upload-dropzone.is-dragging,
body .requirement-file-dropzone.assignment-upload-dropzone:focus-visible {
  outline: 3px solid rgba(151, 221, 240, 0.2);
  outline-offset: 2px;
  border-color: #79d4e8;
  background: rgba(102, 197, 223, 0.07);
  box-shadow: inset 0 0 0 1px rgba(102, 197, 223, 0.14);
}

body .assignment-upload-dialog .assignment-file-picker-button {
  width: auto;
  min-width: 154px;
  flex: none;
  margin-top: 2px;
  border-color: rgba(211, 228, 244, 0.28);
  background: rgba(255, 255, 255, 0.045);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.045);
}

body .assignment-upload-file-list,
body .requirement-file-dialog .dialog-file-list.assignment-upload-file-list {
  max-height: 240px;
  display: grid;
  gap: 9px;
  overflow-y: auto;
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}

body .assignment-upload-file,
body .requirement-file-dialog .dialog-file-list.assignment-upload-file-list > li {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 12px;
  margin: 0;
  padding: 12px 14px;
  border: 1px solid rgba(210, 228, 244, 0.17);
  border-radius: 12px;
  color: #eef4fa;
  background: rgba(255, 255, 255, 0.025);
}

body .requirement-file-dialog .dialog-file-list.assignment-upload-file-list > li {
  display: block;
  overflow-wrap: anywhere;
}

body .assignment-upload-file .assignment-file-extension {
  border-color: rgba(106, 215, 168, 0.36);
  color: #a8f0d1;
  background: rgba(101, 214, 163, 0.09);
}

body .assignment-upload-dialog .assignment-empty-files {
  min-height: 42px;
  display: flex;
  align-items: center;
  margin: 0;
  color: #8492a5;
}

body .assignment-upload-dialog .assignment-tool-live,
body .requirement-file-dialog .dialog-status.assignment-tool-live {
  min-height: 22px;
  margin: 12px 0 0;
  color: #aebaca;
  font-size: 0.86rem;
  line-height: 1.5;
}

body .assignment-upload-dialog-actions,
body .requirement-file-dialog .dialog-actions.assignment-upload-dialog-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(210, 228, 244, 0.14);
}

body .assignment-upload-dialog-actions .button {
  min-width: 132px;
  min-height: 46px;
  margin: 0;
}

body .assignment-upload-dialog :is(button, [tabindex]):focus-visible,
body .requirement-file-dialog.assignment-upload-dialog :is(button, [tabindex]):focus-visible {
  outline: 3px solid #9edff0;
  outline-offset: 2px;
}

@media (max-width: 600px) {
  body .assignment-upload-dialog,
  body .requirement-file-dialog.assignment-upload-dialog {
    width: calc(100vw - 16px);
    max-height: calc(100dvh - 16px);
    border-radius: 18px;
  }

  body .assignment-upload-dialog-inner {
    max-height: calc(100dvh - 16px);
    padding: 20px;
  }

  body .assignment-upload-dropzone,
  body .requirement-file-dropzone.assignment-upload-dropzone {
    min-height: 174px;
    padding: 22px 16px;
  }

  body .assignment-upload-file {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  body .assignment-upload-file > .icon-button { grid-column: 2; grid-row: 1 / span 2; }

  body .assignment-upload-file .assignment-file-extension {
    grid-column: 1;
    justify-self: start;
  }

  body .assignment-upload-dialog-actions,
  body .requirement-file-dialog .dialog-actions.assignment-upload-dialog-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  body .assignment-upload-dialog-actions .button { width: 100%; min-width: 0; }
}
