*,*::before,*::after{letter-spacing:0;box-sizing:border-box}

:root,
:root[data-theme='midnight-green'],
:root[data-theme='dark'],
:root[data-theme='bw'],
:root[data-theme='soft-dark'],
:root[data-theme='dark-blue'],
:root[data-theme='dark-purple']{
  --bg:#f6fbfa;
  --s1:#ffffff;
  --s2:#f9fcfc;
  --s3:#eef8f6;
  --border:#dbe8e8;
  --text:#19283c;
  --muted:#65768a;
  --muted2:#7d8c9d;
  --accent:#13b8ac;
  --accent-2:#049f98;
  --blue:#2677d9;
  --green:#16a875;
  --red:#e75d5d;
  --purple:#8757dc;
  --yellow:#f7a534;
  --pink:#e86fa4;
  --warn:#f28d2f;
  --ring-core:#ffffff;
  --grid-line:rgba(19,184,172,.12);
  --body-gradient:
    radial-gradient(760px 360px at 18% 0,rgba(19,184,172,.11),transparent 68%),
    radial-gradient(680px 340px at 95% 16%,rgba(38,119,217,.08),transparent 66%),
    linear-gradient(180deg,#fbfefe 0%,#f4faf9 100%);
  --st-page-padding:24px 44px 110px 336px;
  --st-page-padding-desktop:28px 62px 116px 348px;
  --st-page-padding-mobile:18px 14px 96px;
  --st-rail-max:var(--desktop-rail-max,1440px);
  --st-card-radius:8px;
  --st-control-radius:7px;
  --st-card-padding:24px;
  --st-card-padding-desktop:28px;
  --st-surface-bg:color-mix(in srgb,var(--s1) 92%,transparent);
  --st-surface-border:var(--border);
  --st-surface-shadow:0 18px 46px rgba(52,78,98,.08);
}

html{font-size:16px}

html,body{
  margin:0;
  min-height:100vh;
  background:var(--body-gradient) !important;
  color:var(--text) !important;
  font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif !important;
}

body::after{
  content:'';
  position:fixed;
  right:0;
  top:190px;
  width:240px;
  height:520px;
  pointer-events:none;
  opacity:.58;
  background-image:radial-gradient(rgba(97,126,145,.18) 1px,transparent 1px);
  background-size:18px 18px;
  mask-image:linear-gradient(90deg,transparent,#000 42%,#000);
}

button,input,select,textarea{font-family:inherit !important}
button{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease,color .16s ease}
button:hover{transform:translateY(-1px)}

.study-sidebar{
  position:fixed;
  inset:0 auto 0 0;
  z-index:130;
  width:292px;
  padding:30px 22px 24px;
  display:flex;
  flex-direction:column;
  gap:18px;
  background:rgba(255,255,255,.74);
  border-right:1px solid rgba(219,232,232,.82);
  box-shadow:26px 0 70px rgba(46,72,89,.08);
  backdrop-filter:blur(20px);
  overflow-y:auto;
}

.side-brand{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  width:max-content;
  color:var(--text);
  text-decoration:none;
  line-height:1;
  margin:0 0 18px 14px;
}

.side-brand span{font-size:30px;font-weight:800;letter-spacing:-.02em}
.side-brand span::after{content:'';color:var(--accent)}
.side-brand small{color:var(--muted);font-size:11px;font-weight:600;white-space:nowrap}
.side-brand .side-brand-audience{margin-top:6px;color:var(--muted);font-weight:700;line-height:1.2}
.side-brand .side-brand-credit{margin-top:3px;font-size:10px;line-height:1.2}

.side-main,.side-sub{display:flex;flex-direction:column;gap:8px}
.side-sub{padding-top:18px;margin-top:6px;border-top:1px solid var(--border)}

.side-link{
  display:flex;
  align-items:center;
  gap:14px;
  min-height:54px;
  padding:0 14px;
  border-radius:var(--st-card-radius);
  color:#405268;
  text-decoration:none;
  font-weight:650;
  font-size:15px;
}

.side-link:hover{background:#eef8f7;color:var(--accent-2)}
.side-link.active{
  color:var(--accent-2);
  background:linear-gradient(90deg,rgba(19,184,172,.13),rgba(19,184,172,.06));
  box-shadow:inset 0 0 0 1px rgba(19,184,172,.04);
}

.side-main .side-link[href*="universities/rankings.html"]::after,
.side-main .side-link[href="rankings.html"]::after,
.side-main .side-link[href="../rankings.html"]::after{
  content:"New";
  margin-left:auto;
  padding:4px 8px;
  border-radius:999px;
  color:color-mix(in srgb,var(--accent-2) 62%,#10243a);
  background:color-mix(in srgb,var(--accent) 14%,#fff);
  border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));
  font-size:10px;
  font-weight:900;
  line-height:1;
  text-transform:uppercase;
}

.side-ico{
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  color:inherit;
  font-size:11px;
  font-weight:800;
  border-radius:var(--st-control-radius);
  background:rgba(19,184,172,.1);
}

.side-sub .side-link{
  min-height:46px;
  background:transparent;
  font-size:14px;
}

.side-card{
  margin-top:auto;
  padding:22px 18px;
  min-height:210px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:14px;
  text-align:center;
  color:#3f5066;
  border:1px solid var(--border);
  border-radius:var(--st-card-radius);
  background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(247,252,251,.92));
  box-shadow:0 18px 44px rgba(52,78,98,.08);
}

.side-books{
  position:relative;
  width:112px;
  height:92px;
}

.side-books::before,
.side-books::after{
  content:'';
  position:absolute;
  left:14px;
  width:84px;
  height:18px;
  border-radius:6px;
  background:#14b8ad;
  box-shadow:0 24px 0 #4fc7be,0 48px 0 #0f8f8a;
}

.side-books::before{bottom:18px}
.side-books::after{
  top:8px;
  left:34px;
  width:58px;
  height:40px;
  border-radius:5px 5px 10px 10px;
  background:#122d42;
  clip-path:polygon(50% 0,100% 28%,50% 56%,0 28%);
  box-shadow:none;
}

.side-card strong{font-size:16px;line-height:1.45}
.side-card em{color:var(--accent-2);font-style:normal;font-weight:800}

.side-user{
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px 12px;
  border:1px solid var(--border);
  border-radius:var(--st-card-radius);
  background:rgba(255,255,255,.82);
  box-shadow:0 12px 34px rgba(52,78,98,.07);
}

.avatar{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:999px;
  color:white;
  font-weight:800;
  background:linear-gradient(135deg,var(--accent),var(--accent-2));
  box-shadow:0 10px 24px rgba(19,184,172,.24);
}

.side-user strong{display:block;font-size:14px}
.side-user span{display:block;margin-top:4px;color:var(--muted2);font-size:13px}

.app,.wrap{
  max-width:1280px !important;
  margin:0 auto !important;
  padding:var(--st-page-padding) !important;
  min-height:100vh;
}

.topbar,.site-head{
  padding:0 0 18px !important;
  margin:0 !important;
}

.topbar .logo-lockup,.site-head .logo-lockup{display:none !important}

.logo,.logo a{
  color:var(--text) !important;
  font-family:inherit !important;
  font-size:30px !important;
  font-weight:800 !important;
  letter-spacing:-.02em !important;
}

.logo span{color:var(--accent) !important}
.logo-sub{color:var(--muted2) !important;font-size:11px !important}

.topbar-right{
  gap:18px !important;
  align-items:center !important;
}

.theme-label{
  color:#536276 !important;
  font-size:12px !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}

.theme-select{
  min-width:154px;
  height:44px;
  padding:0 44px 0 48px !important;
  border:1px solid var(--border) !important;
  border-radius:var(--st-card-radius) !important;
  color:var(--text) !important;
  background:
    radial-gradient(circle at 23px 50%,#18c7bc 0 10px,transparent 11px),
    linear-gradient(180deg,#ffffff,#f7fbfb) !important;
  box-shadow:0 10px 26px rgba(52,78,98,.07);
  font-size:14px !important;
  font-weight:700 !important;
}

.topbar-date{
  color:#536276 !important;
  font-size:13px !important;
  font-weight:800 !important;
  letter-spacing:.16em !important;
}
.account-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 18px;
  border:1px solid color-mix(in srgb,var(--accent-2) 68%,#ffffff);
  border-radius:var(--st-card-radius);
  background:linear-gradient(135deg,var(--accent),var(--accent-2)) !important;
  color:#ffffff !important;
  box-shadow:0 14px 34px color-mix(in srgb,var(--accent) 22%,transparent);
  font-size:14px;
  font-weight:850;
  white-space:nowrap;
  cursor:pointer;
}

.account-cta:hover{
  box-shadow:0 18px 42px color-mix(in srgb,var(--accent) 30%,transparent);
}

.account-cta:focus-visible{
  outline:3px solid color-mix(in srgb,var(--accent) 26%,transparent);
  outline-offset:3px;
}

.auth-card-focus{
  animation:authCardFocusPulse 1.35s ease;
}

@keyframes authCardFocusPulse{
  0%,100%{box-shadow:0 16px 42px rgba(30,65,80,.08)}
  35%{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 20%,transparent),0 20px 55px color-mix(in srgb,var(--accent) 18%,transparent)}
}

.site-nav,.tabs{
  position:static !important;
  background:transparent !important;
  padding:0 0 16px !important;
}

.site-nav-inner,.tab-inner{
  min-height:68px;
  align-items:center;
  gap:10px !important;
  padding:10px !important;
  border:1px solid var(--st-surface-border) !important;
  border-radius:var(--st-card-radius) !important;
  background:var(--st-surface-bg) !important;
  box-shadow:var(--st-surface-shadow) !important;
  backdrop-filter:blur(18px);
}
.site-nav-inner{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}

.tab-inner{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}

.page-study .tab-inner{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}

.site-link,.tab{
  display:flex !important;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:48px;
  border-radius:var(--st-card-radius) !important;
  color:#46586e !important;
  font-family:inherit !important;
  font-size:14px !important;
  font-weight:750 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}

.site-link.active,.tab.active{
  color:#ffffff !important;
  background:linear-gradient(135deg,#35d2c6,#049f98) !important;
  box-shadow:0 14px 26px rgba(19,184,172,.24) !important;
}

.site-link:hover:not(.active),.tab:hover:not(.active){color:var(--accent-2) !important;background:#f2faf9}

.card,.hero,.filters,.row,.empty,.subject-card,.stat-box,.setting-box,.session-note-card,.uni-card,.uni-info-card,.uni-compare-card,.uni-location-card{
  border:1px solid var(--st-surface-border) !important;
  border-radius:var(--st-card-radius) !important;
  background:var(--st-surface-bg) !important;
  box-shadow:var(--st-surface-shadow) !important;
  backdrop-filter:blur(18px);
}

.card{
  padding:var(--st-card-padding) !important;
  margin-bottom:18px !important;
}

.uni-rank-tile,.uni-snapshot-row,.uni-weight-row,.uni-source-list li,.uni-selected-tray{
  border-radius:var(--st-card-radius) !important;
}
.card-title,.hero-label{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--text) !important;
  font-size:13px !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  margin-bottom:18px !important;
}

.card-title::before,.hero-label::before{
  content:'+';
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border:2px solid var(--accent);
  border-radius:999px;
  color:var(--accent-2);
  font-size:16px;
  line-height:1;
}

.input-row{gap:12px !important}
.input-field,
select:not(.theme-select),
textarea,
.alarm-select{
  min-height:48px;
  border:1px solid var(--border) !important;
  border-radius:var(--st-control-radius) !important;
  background:#ffffff !important;
  color:var(--text) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
  font-size:14px !important;
  font-weight:600 !important;
}

.input-field:focus,
select:not(.theme-select):focus,
textarea:focus,
.alarm-select:focus{
  border-color:rgba(19,184,172,.58) !important;
  box-shadow:0 0 0 4px rgba(19,184,172,.12) !important;
}

input::placeholder,textarea::placeholder{color:#8c99a8 !important}

.add-btn,.t-main{
  min-height:48px;
  border-radius:var(--st-control-radius) !important;
  color:#ffffff !important;
  background:linear-gradient(135deg,#28cfc2,#049f98) !important;
  box-shadow:0 14px 28px rgba(19,184,172,.22);
  font-weight:800 !important;
}

.sec-btn,.t-sec,.end-btn,.back-btn,.pill,.hist-pill,.hist-cal-nav,.s-btn,.mode-btn{
  border:1px solid var(--border) !important;
  border-radius:var(--st-control-radius) !important;
  background:#ffffff !important;
  color:#526377 !important;
  box-shadow:0 8px 20px rgba(52,78,98,.06);
  font-weight:750 !important;
}

.mode-btn.active,.hist-pill.active{
  color:#ffffff !important;
  border-color:transparent !important;
  background:linear-gradient(135deg,#35d2c6,#049f98) !important;
}

.input-hint,.muted,.meta,.sub,.stat-lbl,.setting-unit,#auth-status{
  color:var(--muted2) !important;
}

.auth-link,.contact-mail,.src a{
  color:var(--accent-2) !important;
  font-weight:750;
}

#view-session.active{
  display:grid !important;
  grid-template-columns:minmax(250px,.82fr) minmax(0,2.18fr);
  gap:18px;
  align-items:start;
}

#auth-card{grid-column:1;grid-row:1}
.daily-goal-card{grid-column:1;grid-row:2}
.add-task-card{grid-column:2;grid-row:1}
.today-tasks-card{grid-column:2;grid-row:2 / span 2}
#view-session .streak-msg{grid-column:1 / -1}
.session-note-modal{grid-column:1 / -1}

.goal-row{
  display:flex;
  align-items:center;
  gap:14px;
}

.goal-slider{accent-color:var(--accent)}
.goal-val{color:var(--text) !important;font-weight:800 !important}
.goal-meta{color:var(--text) !important;font-weight:750 !important;margin-top:18px}
.prog-track,.goal-track,.bar,.subj-track,.hist-prog{
  border:0 !important;
  border-radius:999px !important;
  background:#dff5f3 !important;
  overflow:hidden;
}

.prog-fill,.subj-fill,.hist-fill,.bar > i{
  background:linear-gradient(90deg,#35d2c6,#049f98) !important;
}

.task-list{
  display:flex;
  flex-direction:column;
  gap:0;
  border:1px solid var(--border);
  border-radius:var(--st-card-radius);
  overflow:hidden;
  background:#fff;
}

.task-item{
  display:grid !important;
  grid-template-columns:42px minmax(0,1fr) auto 34px;
  gap:12px;
  align-items:center;
  margin:0 !important;
  padding:12px 14px !important;
  border:0 !important;
  border-bottom:1px solid var(--border) !important;
  border-radius:0 !important;
  background:#ffffff !important;
  box-shadow:none !important;
}

.task-item:last-child{border-bottom:0 !important}
.task-item.done{background:#f8fcfb !important}
.task-check{
  width:38px !important;
  height:38px !important;
  border-radius:var(--st-card-radius) !important;
  color:var(--accent-2) !important;
  background:#eaf9f7 !important;
  border-color:#cdecea !important;
}

.task-n{color:var(--text) !important;font-weight:800 !important}
.task-subj{display:block;color:var(--muted2) !important;font-size:13px !important;font-weight:600 !important;margin-top:4px}
.task-d{color:var(--muted2) !important;font-weight:750 !important}
.task-del{color:#607287 !important;font-weight:800 !important}

.timer-wrap{text-align:center}
.timer-ring-wrap{
  margin:18px auto;
  filter:drop-shadow(0 20px 34px rgba(19,184,172,.14));
}
.timer-track{stroke:#dff5f3 !important}
.timer-progress{stroke:var(--accent) !important}
.timer-num{color:var(--text) !important}
.timer-badge{color:var(--accent-2) !important;background:#e8f8f6 !important;border-color:#cdecea !important}
.timer-main-card{position:relative;overflow:hidden}
.timer-focus-toolbar{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  min-height:44px;
}
.timer-focus-brand{display:none;color:var(--text);font-size:18px;font-weight:800;letter-spacing:-.02em}
.timer-focus-brand span{margin-left:5px;color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.timer-fullscreen-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:44px;
  padding:0 13px;
  border:1px solid var(--border);
  border-radius:var(--st-control-radius);
  background:var(--s2);
  color:var(--muted2);
  font-size:12px;
  font-weight:750;
}
.timer-fullscreen-btn:hover{border-color:color-mix(in srgb,var(--accent) 48%,var(--border));color:var(--text)}
.timer-fullscreen-btn:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 40%,transparent);outline-offset:2px}
.timer-fullscreen-icon{
  width:17px;
  height:17px;
  flex:0 0 17px;
  background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 9V4h5v2H6v3zm11-5h5v5h-2V6h-3zM6 15v3h3v2H4v-5zm12 0h2v5h-5v-2h3z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 9V4h5v2H6v3zm11-5h5v5h-2V6h-3zM6 15v3h3v2H4v-5zm12 0h2v5h-5v-2h3z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.timer-focus-fullscreen .timer-fullscreen-icon,
.timer-main-card:fullscreen .timer-fullscreen-icon{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 4v5H4V7h3V4zm6 0h2v3h3v2h-5zM4 15h5v5H7v-3H4zm11 0h5v2h-3v3h-2z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 4v5H4V7h3V4zm6 0h2v3h3v2h-5zM4 15h5v5H7v-3H4zm11 0h5v2h-3v3h-2z'/%3E%3C/svg%3E");
}
body.timer-focus-mode{overflow:hidden}
body.timer-focus-mode #view-timer{animation:none !important;transform:none !important}
.timer-main-card.timer-focus-fullscreen,
.timer-main-card:fullscreen{
  position:fixed !important;
  inset:0 !important;
  z-index:5000 !important;
  width:100vw !important;
  height:100dvh !important;
  max-width:none !important;
  margin:0 !important;
  padding:clamp(18px,3vw,44px) !important;
  display:flex !important;
  flex-direction:column;
  border:0 !important;
  border-radius:0 !important;
  background:
    radial-gradient(circle at 50% 44%,color-mix(in srgb,var(--accent) 20%,transparent),transparent 38%),
    var(--body-gradient) !important;
  box-shadow:none !important;
  overflow:auto;
}
.timer-main-card.timer-focus-fullscreen .timer-focus-toolbar,
.timer-main-card:fullscreen .timer-focus-toolbar{width:100%;justify-content:space-between}
.timer-main-card.timer-focus-fullscreen .timer-focus-brand,
.timer-main-card:fullscreen .timer-focus-brand{display:block}
.timer-main-card.timer-focus-fullscreen .timer-wrap,
.timer-main-card:fullscreen .timer-wrap{
  flex:1 1 auto;
  align-content:center;
  min-height:0;
  padding:12px 0;
  gap:clamp(10px,2vh,22px);
}
.timer-main-card.timer-focus-fullscreen .timer-ring-wrap,
.timer-main-card:fullscreen .timer-ring-wrap{width:min(52vmin,520px)}
.timer-main-card.timer-focus-fullscreen .timer-ring-wrap.numbers-only,
.timer-main-card:fullscreen .timer-ring-wrap.numbers-only{width:auto;min-height:clamp(160px,34vh,360px)}
.timer-main-card.timer-focus-fullscreen .timer-num,
.timer-main-card:fullscreen .timer-num{font-size:clamp(84px,15vmin,180px)}
.timer-main-card.timer-focus-fullscreen .numbers-only .timer-num,
.timer-main-card:fullscreen .numbers-only .timer-num{font-size:clamp(110px,22vw,280px)}
.timer-main-card.timer-focus-fullscreen .t-controls,
.timer-main-card:fullscreen .t-controls{margin:0 0 8px}
.timer-main-card.timer-focus-fullscreen .t-sec,
.timer-main-card.timer-focus-fullscreen .t-main,
.timer-main-card:fullscreen .t-sec,
.timer-main-card:fullscreen .t-main{min-height:48px;padding:12px 24px}
.timer-main-card.timer-focus-fullscreen .shortcut-hint,
.timer-main-card:fullscreen .shortcut-hint{margin:4px 0 0;color:var(--muted2)}
@media (max-width:600px){
  .timer-fullscreen-btn{padding:0 11px}
  .timer-main-card.timer-focus-fullscreen,
  .timer-main-card:fullscreen{padding:14px !important}
  .timer-main-card.timer-focus-fullscreen .timer-ring-wrap,
  .timer-main-card:fullscreen .timer-ring-wrap{width:min(78vmin,390px)}
  .timer-main-card.timer-focus-fullscreen .numbers-only .timer-num,
  .timer-main-card:fullscreen .numbers-only .timer-num{font-size:clamp(82px,24vw,150px)}
  .timer-main-card.timer-focus-fullscreen .t-sec,
  .timer-main-card.timer-focus-fullscreen .t-main,
  .timer-main-card:fullscreen .t-sec,
  .timer-main-card:fullscreen .t-main{padding:11px 16px}
}
@media (max-height:500px) and (orientation:landscape){
  .timer-main-card.timer-focus-fullscreen,
  .timer-main-card:fullscreen{padding:12px 24px !important}
  .timer-main-card.timer-focus-fullscreen .timer-wrap,
  .timer-main-card:fullscreen .timer-wrap{padding:0;gap:4px}
  .timer-main-card.timer-focus-fullscreen .timer-badge,
  .timer-main-card:fullscreen .timer-badge{display:none}
  .timer-main-card.timer-focus-fullscreen .timer-ring-wrap,
  .timer-main-card:fullscreen .timer-ring-wrap{width:min(42vh,170px);margin:2px auto}
  .timer-main-card.timer-focus-fullscreen .timer-ring-wrap.numbers-only,
  .timer-main-card:fullscreen .timer-ring-wrap.numbers-only{min-height:100px}
  .timer-main-card.timer-focus-fullscreen .numbers-only .timer-num,
  .timer-main-card:fullscreen .numbers-only .timer-num{font-size:clamp(76px,27vh,108px)}
  .timer-main-card.timer-focus-fullscreen .t-controls,
  .timer-main-card:fullscreen .t-controls{margin:0}
  .timer-main-card.timer-focus-fullscreen .shortcut-hint,
  .timer-main-card:fullscreen .shortcut-hint{display:none}
}
@media (prefers-reduced-motion:reduce){
  .timer-main-card.timer-focus-fullscreen .timer-ring-wrap,
  .timer-main-card:fullscreen .timer-ring-wrap{animation:none !important}
}

.hist-cal,.chart-area,.subject-chart{
  border:1px solid var(--border);
  border-radius:var(--st-card-radius);
  background:#fff;
  padding:14px;
}

.hist-day{border-radius:7px !important}
.hist-day.active{background:#ecf9f8 !important;color:var(--accent-2) !important}

.stat-grid,.grid-2{gap:18px !important}
.stat-num,.stat-kpi,.hero-main{color:var(--text) !important}
.stat-num.a,.stat-num.b,.hero-time{color:var(--accent-2) !important}

.table-wrap{
  border:1px solid var(--border) !important;
  border-radius:var(--st-card-radius) !important;
  background:#fff;
  box-shadow:0 12px 34px rgba(52,78,98,.06);
}

th{
  color:#526377 !important;
  background:#f6fbfa;
  font-weight:800 !important;
}

td{color:var(--text) !important}
tr:hover td{background:#f7fcfb !important}

.top{align-items:center !important;margin:0 0 18px !important}
h1{color:var(--text) !important;font-size:clamp(1.35rem,2vw,2rem) !important;letter-spacing:0 !important}
.filters{padding:10px !important;box-shadow:0 12px 34px rgba(52,78,98,.06) !important}
.hero{padding:var(--st-card-padding) !important;background:linear-gradient(135deg,#ffffff,#effaf8) !important}
.grid{gap:10px !important}
.row{
  grid-template-columns:1.15fr .9fr 1.1fr auto !important;
  padding:14px 16px !important;
}
.empty{padding:22px !important;color:var(--muted2) !important}
.src{
  color:var(--muted2) !important;
  border-top:1px solid var(--border) !important;
}

.footer{
  left:292px !important;
  padding:10px 44px !important;
  color:var(--muted2) !important;
  background:rgba(255,255,255,.78) !important;
  border-top:1px solid var(--border) !important;
  backdrop-filter:blur(18px);
}

.footer a{color:var(--muted2) !important}
.toast{background:var(--text) !important;color:#fff !important;border-radius:8px !important}

.privacy-page .topbar,
.privacy-page .app > .card{
  width:100%;
  max-width:var(--st-rail-max);
  box-sizing:border-box;
}

.privacy-page .topbar{
  border:1px solid var(--border);
  border-radius:var(--st-card-radius);
  padding:16px !important;
  background:rgba(255,255,255,.88);
  box-shadow:var(--st-surface-shadow);
  margin-bottom:18px !important;
}

.privacy-page .header-card .card-title::before{content:'i'}

@media (max-width:1050px){
  .study-sidebar{
    position:static;
    width:auto;
    min-height:0;
    padding:14px;
    margin:12px 14px 0;
    border:1px solid var(--border);
    border-radius:var(--st-card-radius);
  }
  .side-brand{margin:0;align-items:flex-start}
  .side-main,.side-sub{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .side-sub,.side-card,.side-user{display:none}
  .app,.wrap{padding:var(--st-page-padding-mobile) !important}
  .footer{left:0 !important}
}

@media (max-width:760px){
  body::after{display:none}
  .side-main{grid-template-columns:1fr}
  .site-nav-inner,.tab-inner{overflow:visible;justify-content:stretch}
  .site-nav-inner{grid-template-columns:1fr !important}
  .site-link,.tab{min-width:0;flex:1 1 0 !important;font-size:12px !important;padding:0 8px !important;white-space:normal}
  .topbar,.site-head{align-items:flex-start !important}
  .topbar-right{width:100%;justify-content:space-between !important}
  .theme-label{display:block !important}
  #view-session.active{display:block !important}
  .row{grid-template-columns:1fr !important}
  .footer{
    position:static !important;
    padding:14px !important;
    margin-top:14px;
    grid-template-columns:1fr !important;
    text-align:center;
  }
}

.study-sidebar{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--muted2) 30%,transparent) transparent}
.study-sidebar::-webkit-scrollbar{display:block;width:4px}
.study-sidebar::-webkit-scrollbar-track{background:transparent}
.study-sidebar::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--muted2) 30%,transparent);border-radius:99px}
#auth-inputs{display:grid !important;grid-template-columns:1fr 1fr}
#auth-inputs .input-field{grid-column:1 / -1;min-width:0}
#auth-inputs button{width:100%;min-width:0}
.add-task-card .input-row{display:grid !important;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) 120px 130px;align-items:start}
.add-task-card .input-field{min-width:0;width:100%}
.add-task-card .input-hint{grid-column:1 / -1}

@media (max-width:760px){
  #auth-inputs,.add-task-card .input-row{display:flex !important}
}
/* Desktop spacing and icon polish */
@media (min-width:1051px){
  .app,.wrap{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:var(--st-page-padding-desktop) !important;
  }
  .site-nav,.tabs,.view.active,.top,.hero,.grid,.src{max-width:var(--st-rail-max)}
  #view-session.active{grid-template-columns:330px minmax(760px,1fr);max-width:var(--st-rail-max);gap:22px}
  .add-task-card .input-row{grid-template-columns:minmax(220px,1.25fr) minmax(180px,1fr) 140px 150px}
  .card{padding:var(--st-card-padding-desktop) !important}
}

.footer{
  left:0 !important;
  grid-template-columns:minmax(292px,1fr) auto minmax(292px,1fr) !important;
}
.footer .f-left{padding-left:292px}
.footer .f-mid{justify-self:center}
.footer .f-right{padding-right:18px}

.card-title::before,.hero-label::before{
  content:'';
  width:26px;
  height:26px;
  border:0;
  border-radius:0;
  background-repeat:no-repeat;
  background-position:center;
  background-size:23px 23px;
}
#auth-card .card-title::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%2313b8ac' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.5 19H8a5 5 0 1 1 1.5-9.8A6 6 0 0 1 21 12.5 3.5 3.5 0 0 1 17.5 19Z'/%3E%3Cpath d='M12 10v6M9 13h6'/%3E%3C/svg%3E")}
.daily-goal-card .card-title::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%2313b8ac' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M12 2v4M22 12h-4M12 22v-4M2 12h4'/%3E%3C/svg%3E")}
.add-task-card .card-title::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%2313b8ac' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 8v8M8 12h8'/%3E%3C/svg%3E")}
.today-tasks-card .card-title::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%2313b8ac' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 4h8l1 3H7l1-3Z'/%3E%3Cpath d='M7 6H5v15h14V6h-2'/%3E%3Cpath d='M9 12h6M9 16h5'/%3E%3C/svg%3E")}
.hero-label::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%2313b8ac' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v4M16 2v4M4 9h16'/%3E%3Crect x='4' y='4' width='16' height='18' rx='2'/%3E%3Cpath d='M9 14h6'/%3E%3C/svg%3E")}

.side-ico{
  font-size:0;
  background-repeat:no-repeat;
  background-position:center;
  background-size:18px 18px;
}
.side-link[href='index.html'] .side-ico{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%2313b8ac' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19V8l6-5 6 5v11'/%3E%3Cpath d='M8 19v-6h4v6'/%3E%3C/svg%3E")}
.side-link[href='papers.html'] .side-ico{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%2365768a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2h6l4 4v12H6z'/%3E%3Cpath d='M12 2v5h5M8 11h6M8 15h6'/%3E%3C/svg%3E")}
.side-link[href='exams.html'] .side-ico{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%2365768a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2v4M14 2v4M3 8h14M4 4h12v14H4z'/%3E%3C/svg%3E")}

.site-link::before,.tab::before{
  content:'';
  width:22px;
  height:22px;
  background-repeat:no-repeat;
  background-position:center;
  background-size:21px 21px;
  opacity:.82;
}
.site-link.active::before,.tab.active::before{filter:brightness(0) invert(1);opacity:1}
.site-link[href='index.html']::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%2365768a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19V5a2 2 0 0 1 2-2h11v16H6a2 2 0 0 0-2 2'/%3E%3Cpath d='M8 7h5'/%3E%3C/svg%3E")}
.site-link[href='papers.html']::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%2365768a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2h6l4 4v14H6z'/%3E%3Cpath d='M12 2v5h5M8 12h6M8 16h6'/%3E%3C/svg%3E")}
.site-link[href='exams.html']::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%2365768a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 2v4M15 2v4M4 9h14M5 5h12v15H5z'/%3E%3C/svg%3E")}
.tab[data-tab='session']::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%2365768a'%3E%3Cpath d='M8 5v12l10-6z'/%3E%3C/svg%3E")}
.tab[data-tab='timer']::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%2365768a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='12' r='7'/%3E%3Cpath d='M11 8v4l3 2M9 2h4'/%3E%3C/svg%3E")}
.tab[data-tab='history']::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%2365768a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 11a7 7 0 1 0 2-5M4 4v5h5'/%3E%3Cpath d='M11 7v5l3 2'/%3E%3C/svg%3E")}
.tab[data-tab='stats']::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='none' stroke='%2365768a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 18h15M6 16V9M11 16V5M16 16v-8'/%3E%3C/svg%3E")}

@media (max-width:760px){
  .footer .f-left,.footer .f-right{padding:0}
}
/* Keep the full-width footer fix from forcing mobile overflow. */
@media (max-width:760px){
  .footer{grid-template-columns:1fr !important}
  .footer .f-left,.footer .f-right{padding:0 !important}
}
@media (min-width:1051px){
  .topbar,.site-head{max-width:var(--st-rail-max)}
  .topbar-right{margin-left:auto !important}
  .side-card{min-height:245px}
  .side-books{flex:0 0 auto;margin-bottom:6px}
}
/* Release-safe sidebar profile, real side icons, footer alignment, and working themes. */
:root[data-theme='dark']{
  color-scheme:dark;
  --bg:#0f1112;--s1:#181b1c;--s2:#121415;--s3:#222627;--border:#3b4244;--text:#f2f5f4;--muted:#8b9692;--muted2:#b4beb9;--accent:#3fc5b5;--accent-2:#2aa99b;--blue:#79aef5;--green:#59d39b;--red:#ff7b86;--purple:#b39af3;--yellow:#ebc36b;--body-gradient:radial-gradient(760px 360px at 18% 0,rgba(63,197,181,.1),transparent 68%),radial-gradient(680px 340px at 95% 16%,rgba(255,255,255,.035),transparent 66%),linear-gradient(180deg,#151819 0%,#0d0f10 100%);
}
:root[data-theme='bw']{
  --bg:#f6f6f6;--s1:#ffffff;--s2:#f3f3f3;--s3:#ededed;--border:#d6d6d6;--text:#171717;--muted:#666;--muted2:#777;--accent:#171717;--accent-2:#333;--blue:#171717;--green:#333;--red:#555;--purple:#444;--yellow:#777;--body-gradient:linear-gradient(180deg,#fbfbfb 0%,#eeeeee 100%);
}
:root[data-theme='dark-blue']{
  --bg:#edf7ff;--s1:#ffffff;--s2:#f5fbff;--s3:#e4f2fb;--border:#cfe0ed;--text:#14283c;--muted:#5f7286;--muted2:#7f8fa0;--accent:#2f8edc;--accent-2:#166fb8;--blue:#2f8edc;--green:#19a584;--red:#dc6262;--purple:#7067d9;--yellow:#eaa43a;--body-gradient:radial-gradient(760px 360px at 18% 0,rgba(47,142,220,.14),transparent 68%),radial-gradient(680px 340px at 95% 16%,rgba(22,111,184,.09),transparent 66%),linear-gradient(180deg,#f8fcff 0%,#edf7ff 100%);
}
:root[data-theme='dark-purple']{
  --bg:#f9f6ff;--s1:#ffffff;--s2:#fbf9ff;--s3:#f0eafe;--border:#ded3ef;--text:#281f3d;--muted:#6f6384;--muted2:#8a7c9d;--accent:#8357d8;--accent-2:#6840bd;--blue:#6d77db;--green:#17a486;--red:#db6683;--purple:#8357d8;--yellow:#d99a3a;--body-gradient:radial-gradient(760px 360px at 18% 0,rgba(131,87,216,.14),transparent 68%),radial-gradient(680px 340px at 95% 16%,rgba(109,119,219,.08),transparent 66%),linear-gradient(180deg,#fdfbff 0%,#f7f2ff 100%);
}
:root[data-theme='soft-dark']{
  --bg:#f7f8fb;--s1:#ffffff;--s2:#f8fafc;--s3:#edf2f6;--border:#d9e0e7;--text:#253244;--muted:#6c7b8c;--muted2:#8794a3;--accent:#6d92bd;--accent-2:#557ca8;--blue:#6d92bd;--green:#43a685;--red:#d76a74;--purple:#7d73be;--yellow:#d69b4d;--body-gradient:radial-gradient(760px 360px at 18% 0,rgba(109,146,189,.13),transparent 68%),radial-gradient(680px 340px at 95% 16%,rgba(67,166,133,.07),transparent 66%),linear-gradient(180deg,#fcfdff 0%,#f0f4f7 100%);
}

.study-sidebar{background:color-mix(in srgb,var(--s1) 84%,transparent);border-right-color:var(--border)}
.side-link:hover{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent-2)}
.side-link.active{color:var(--accent-2);background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 15%,transparent),color-mix(in srgb,var(--accent) 7%,transparent))}
.side-ico{background:color-mix(in srgb,var(--accent) 10%,transparent)}
.side-card,.side-user,.card,.hero,.filters,.row,.empty,.subject-card,.stat-box,.setting-box,.session-note-card,.site-nav-inner,.tab-inner,.uni-card,.uni-info-card,.uni-compare-card,.uni-location-card{background:var(--st-surface-bg) !important;border-color:var(--st-surface-border) !important}
.input-field,select:not(.theme-select),textarea,.alarm-select{background:color-mix(in srgb,var(--s1) 96%,var(--s2)) !important;border-color:var(--border) !important}
.add-btn,.t-main,.site-link.active,.tab.active,.mode-btn.active,.hist-pill.active{background:linear-gradient(135deg,var(--accent),var(--accent-2)) !important}
.prog-track,.goal-track,.bar,.subj-track,.hist-prog{background:color-mix(in srgb,var(--accent) 14%,var(--s2)) !important}
.prog-fill,.subj-fill,.hist-fill,.bar > i{background:linear-gradient(90deg,var(--accent),var(--accent-2)) !important}
.theme-select{background:radial-gradient(circle at 23px 50%,var(--accent) 0 10px,transparent 11px),linear-gradient(180deg,var(--s1),var(--s2)) !important}
body::after{background-image:radial-gradient(color-mix(in srgb,var(--muted2) 28%,transparent) 1px,transparent 1px)}

.side-card{justify-content:flex-start;gap:14px;overflow:hidden}
.side-books{height:132px;margin:0 auto 2px}
.side-books::before{top:56px;bottom:auto;height:16px;box-shadow:0 22px 0 color-mix(in srgb,var(--accent) 70%,white),0 44px 0 var(--accent-2);background:var(--accent)}
.side-books::after{top:18px;background:var(--text)}
.side-card strong{max-width:200px;position:relative;z-index:1}

.avatar{margin:0 !important;color:#fff !important;font-size:16px !important;line-height:1 !important;flex:0 0 42px}
.side-user > span{margin-top:0 !important}
.side-user-name{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.side-user-sub{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.side-ico,.site-link::before,.tab::before,.card-title::before,.hero-label::before{
  background-image:none !important;
  background-color:currentColor !important;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:center;mask-position:center;
  -webkit-mask-size:contain;mask-size:contain;
}
.side-ico{color:inherit}
.side-home{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 10.5 12 3l9 7.5v9A1.5 1.5 0 0 1 19.5 21h-4.25v-6.2h-6.5V21H4.5A1.5 1.5 0 0 1 3 19.5v-9Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 10.5 12 3l9 7.5v9A1.5 1.5 0 0 1 19.5 21h-4.25v-6.2h-6.5V21H4.5A1.5 1.5 0 0 1 3 19.5v-9Z'/%3E%3C/svg%3E")}
.side-paper,.site-link[href='papers.html']::before,.site-link[href='../papers.html']::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 2h8l5 5v15H6zM13 3v6h6M8 12h8v2H8zm0 4h8v2H8z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 2h8l5 5v15H6zM13 3v6h6M8 12h8v2H8zm0 4h8v2H8z'/%3E%3C/svg%3E")}
.side-exam,.site-link[href='exams.html']::before,.site-link[href='../exams.html']::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h2v3h6V2h2v3h3v17H4V5h3zM6 10v10h12V10zM8 12h3v3H8z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h2v3h6V2h2v3h3v17H4V5h3zM6 10v10h12V10zM8 12h3v3H8z'/%3E%3C/svg%3E")}
.side-session,.tab[data-tab='session']::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 4v16l12-8z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 4v16l12-8z'/%3E%3C/svg%3E")}
.side-timer,.tab[data-tab='timer']::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 2h4v2h-4zM11 8h2v5l4 2-1 1.8-5-2.8z'/%3E%3Cpath d='M12 5a8.5 8.5 0 1 0 0 17 8.5 8.5 0 0 0 0-17zm0 2a6.5 6.5 0 1 1 0 13 6.5 6.5 0 0 1 0-13z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 2h4v2h-4zM11 8h2v5l4 2-1 1.8-5-2.8z'/%3E%3Cpath d='M12 5a8.5 8.5 0 1 0 0 17 8.5 8.5 0 0 0 0-17zm0 2a6.5 6.5 0 1 1 0 13 6.5 6.5 0 0 1 0-13z'/%3E%3C/svg%3E")}
.side-history,.tab[data-tab='history']::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 4v5h5L8 7a6 6 0 1 1-1.7 4H4a8 8 0 1 0 2.4-5.7zM11 8h2v4l3 2-1 1.7-4-2.5z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 4v5h5L8 7a6 6 0 1 1-1.7 4H4a8 8 0 1 0 2.4-5.7zM11 8h2v4l3 2-1 1.7-4-2.5z'/%3E%3C/svg%3E")}
.side-stats,.tab[data-tab='stats']::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 20h16v2H4zM6 11h3v7H6zm5-7h3v14h-3zm5 4h3v10h-3z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 20h16v2H4zM6 11h3v7H6zm5-7h3v14h-3zm5 4h3v10h-3z'/%3E%3C/svg%3E")}
.side-planner{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 4h14v17H5zM8 2h8v4H8zM8 10h8v2H8zm0 4h8v2H8z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 4h14v17H5zM8 2h8v4H8zM8 10h8v2H8zm0 4h8v2H8z'/%3E%3C/svg%3E")}
.side-next{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 3h2v18H5zM8 4h11l-3 5 3 5H8z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 3h2v18H5zM8 4h11l-3 5 3 5H8z'/%3E%3C/svg%3E")}
.side-filter{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18l-7 8v6l-4 2v-8z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18l-7 8v6l-4 2v-8z'/%3E%3C/svg%3E")}
.side-list{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 6h3v3H5zm0 5h3v3H5zm0 5h3v3H5zM10 6h9v3h-9zm0 5h9v3h-9zm0 5h9v3h-9z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 6h3v3H5zm0 5h3v3H5zm0 5h3v3H5zM10 6h9v3h-9zm0 5h9v3h-9zm0 5h9v3h-9z'/%3E%3C/svg%3E")}
.site-link[href='index.html']::before,.site-link[href='../index.html']::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 20V5a2 2 0 0 1 2-2h13v17H6a2 2 0 0 0-2 2zm4-12h7v2H8z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 20V5a2 2 0 0 1 2-2h13v17H6a2 2 0 0 0-2 2zm4-12h7v2H8z'/%3E%3C/svg%3E")}
#auth-card .card-title::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18 19H8a5 5 0 1 1 1.5-9.8A6 6 0 0 1 21 12.5 3.5 3.5 0 0 1 18 19zM11 11v5h2v-5zm-2 2v2h6v-2z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18 19H8a5 5 0 1 1 1.5-9.8A6 6 0 0 1 21 12.5 3.5 3.5 0 0 1 18 19zM11 11v5h2v-5zm-2 2v2h6v-2z'/%3E%3C/svg%3E")}
.daily-goal-card .card-title::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 10 10h-2a8 8 0 1 1-8-8zm7.1 2.2-6.2 6.2A3 3 0 1 0 14.3 12l6.2-6.2z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 10 10h-2a8 8 0 1 1-8-8zm7.1 2.2-6.2 6.2A3 3 0 1 0 14.3 12l6.2-6.2z'/%3E%3C/svg%3E")}
.add-task-card .card-title::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11 4h2v7h7v2h-7v7h-2v-7H4v-2h7z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11 4h2v7h7v2h-7v7h-2v-7H4v-2h7z'/%3E%3C/svg%3E")}
.today-tasks-card .card-title::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 3h10l1 3h3v16H3V6h3zm1 6h8v2H8zm0 4h8v2H8zm0 4h5v2H8z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 3h10l1 3h3v16H3V6h3zm1 6h8v2H8zm0 4h8v2H8zm0 4h5v2H8z'/%3E%3C/svg%3E")}

@media (min-width:1051px){
  .footer{left:292px !important;grid-template-columns:1fr auto 1fr !important}
  .footer .f-left{padding-left:0 !important}
  .footer .f-right{padding-right:0 !important}
}
@media (max-width:760px){
  .footer{left:0 !important;grid-template-columns:1fr !important}
  .footer .f-left,.footer .f-right{padding:0 !important}
}
/* Graphite dark-theme cleanup: keep other palettes untouched. */
:root[data-theme='dark'] .sec-btn,
:root[data-theme='dark'] .t-sec,
:root[data-theme='dark'] .end-btn,
:root[data-theme='dark'] .back-btn,
:root[data-theme='dark'] .pill,
:root[data-theme='dark'] .hist-pill,
:root[data-theme='dark'] .hist-cal-nav,
:root[data-theme='dark'] .s-btn,
:root[data-theme='dark'] .mode-btn{
  background:linear-gradient(180deg,var(--s3),#101213) !important;
  color:var(--text) !important;
  border-color:var(--border) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.18) !important;
}
:root[data-theme='dark'] .task-list,
:root[data-theme='dark'] .hist-cal,
:root[data-theme='dark'] .chart-area,
:root[data-theme='dark'] .subject-chart,
:root[data-theme='dark'] .table-wrap{
  background:var(--s2) !important;
  border-color:var(--border) !important;
  box-shadow:0 18px 42px rgba(0,0,0,.18) !important;
}
:root[data-theme='dark'] .task-item{
  background:var(--s2) !important;
  border-bottom-color:var(--border) !important;
}
:root[data-theme='dark'] .task-item.done{background:color-mix(in srgb,var(--accent) 9%,var(--s1)) !important}
:root[data-theme='dark'] .empty-state,
:root[data-theme='dark'] .no-hist,
:root[data-theme='dark'] .no-subj{
  background:transparent !important;
  color:var(--muted2) !important;
}
:root[data-theme='dark'] .empty-icon{color:var(--muted2) !important}
:root[data-theme='dark'] .hero{background:linear-gradient(135deg,var(--s1),var(--s2)) !important}
:root[data-theme='dark'] th{background:var(--s3) !important;color:var(--muted2) !important}
:root[data-theme='dark'] td{color:var(--text) !important}
:root[data-theme='dark'] tr:hover td{background:var(--s3) !important}
:root[data-theme='dark'] .footer{
  background:rgba(13,15,16,.94) !important;
  color:var(--muted2) !important;
  border-top-color:var(--border) !important;
}
:root[data-theme='dark'] .footer a{color:var(--muted2) !important}
:root[data-theme='dark'] .side-card strong{color:var(--muted2) !important}
:root[data-theme='dark'] input::placeholder,
:root[data-theme='dark'] textarea::placeholder{color:#98a29f !important}
/* Graphite contrast pass. */
:root[data-theme='dark'] .side-link:not(.active),
:root[data-theme='dark'] .site-link:not(.active),
:root[data-theme='dark'] .tab:not(.active){
  color:#aab4b1 !important;
}
:root[data-theme='dark'] .side-link:not(.active) .side-ico,
:root[data-theme='dark'] .site-link:not(.active)::before,
:root[data-theme='dark'] .tab:not(.active)::before{
  opacity:.72 !important;
}
:root[data-theme='dark'] .sec-btn,
:root[data-theme='dark'] .t-sec{
  background-color:var(--bg) !important;
  background-image:linear-gradient(180deg,#222627,#111314) !important;
}
:root[data-theme='dark'] .sec-btn:hover,
:root[data-theme='dark'] .t-sec:hover{
  border-color:var(--accent) !important;
  color:var(--text) !important;
}
/* Keep the sidebar avatar letter centered inside the circle. */
.side-user .avatar{
  display:grid !important;
  place-items:center !important;
  align-items:center !important;
  justify-items:center !important;
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  margin:0 !important;
  padding:0 !important;
  line-height:1 !important;
  text-align:center !important;
  user-select:none;
}
/* Mint-only range thumb color. */
:root[data-theme='midnight-green'] .goal-slider{accent-color:var(--accent) !important}
:root[data-theme='midnight-green'] .goal-slider::-webkit-slider-thumb{
  background:var(--accent) !important;
  border-color:#ffffff !important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 20%,transparent),0 8px 18px color-mix(in srgb,var(--accent) 28%,transparent) !important;
}
:root[data-theme='midnight-green'] .goal-slider::-moz-range-thumb{
  background:var(--accent) !important;
  border-color:#ffffff !important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 20%,transparent),0 8px 18px color-mix(in srgb,var(--accent) 28%,transparent) !important;
}
/* One-time update log modal. */
.update-log-modal{
  position:fixed;
  inset:0;
  z-index:500;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(15,30,42,.32);
  backdrop-filter:blur(12px);
  animation:updateFade .16s ease-out;
}
.update-log-modal.closing{animation:updateFadeOut .14s ease-in forwards}
.update-log-panel{
  position:relative;
  display:flex;
  flex-direction:column;
  width:min(520px,calc(100vw - 32px));
  max-height:calc(100dvh - 48px);
  overflow:hidden;
  padding:28px;
  color:var(--text);
  background:color-mix(in srgb,var(--s1) 96%,transparent);
  border:1px solid var(--border);
  border-radius:var(--st-card-radius);
  box-shadow:0 30px 90px rgba(38,61,78,.22);
}
.update-log-kicker{
  display:inline-flex;
  align-items:center;
  height:28px;
  padding:0 12px;
  border-radius:999px;
  color:var(--accent-2);
  background:color-mix(in srgb,var(--accent) 12%,transparent);
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.update-log-panel h2{
  margin:16px 38px 18px 0;
  color:var(--text);
  font-size:24px;
  line-height:1.15;
  letter-spacing:0;
}
.update-log-list{
  display:grid;
  gap:12px;
  min-height:0;
  margin:0 0 22px;
  overflow-y:auto;
  overscroll-behavior:contain;
}
.update-log-list article{
  display:grid;
  gap:4px;
  padding:14px 16px;
  border:1px solid var(--border);
  border-radius:var(--st-card-radius);
  background:color-mix(in srgb,var(--s2) 72%,transparent);
}
.update-log-list strong{color:var(--text);font-size:14px}
.update-log-list span{color:var(--muted2);font-size:13px;line-height:1.45}
.update-log-ok{
  min-height:46px;
  width:100%;
  border-radius:var(--st-control-radius);
  color:#fff;
  background:linear-gradient(135deg,var(--accent),var(--accent-2));
  font-weight:800;
  box-shadow:0 14px 28px color-mix(in srgb,var(--accent) 22%,transparent);
}
.update-log-x{
  position:absolute;
  top:18px;
  right:18px;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:999px;
  color:var(--muted2);
  border:1px solid var(--border);
  background:color-mix(in srgb,var(--s2) 80%,transparent);
  font-size:22px;
  line-height:1;
}
.update-log-x:hover{color:var(--text);border-color:var(--accent)}
@keyframes updateFade{from{opacity:0}to{opacity:1}}
@keyframes updateFadeOut{from{opacity:1}to{opacity:0}}
@media (max-width:520px){
  .update-log-panel{padding:22px}
  .update-log-panel h2{font-size:21px}
}
/* Account card alignment and icon weight polish. */
#auth-card #auth-inputs{
  justify-content:center !important;
  align-items:center !important;
}
#auth-card #auth-inputs .input-field{
  width:100% !important;
}
#auth-card #auth-inputs button{
  min-width:0 !important;
  justify-content:center !important;
  text-align:center !important;
}
#auth-card .auth-meta{
  justify-content:center !important;
  text-align:center !important;
}
#auth-card .auth-meta .input-hint,
#auth-card #auth-status{
  text-align:center !important;
}
#auth-card .auth-link{
  margin-inline:auto !important;
}

.site-link[href='index.html']::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2.7 10.4 12 2.8l9.3 7.6v10.2a1.7 1.7 0 0 1-1.7 1.7h-5.1v-6.6h-5v6.6H4.4a1.7 1.7 0 0 1-1.7-1.7z'/%3E%3C/svg%3E") !important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2.7 10.4 12 2.8l9.3 7.6v10.2a1.7 1.7 0 0 1-1.7 1.7h-5.1v-6.6h-5v6.6H4.4a1.7 1.7 0 0 1-1.7-1.7z'/%3E%3C/svg%3E") !important;
}
.site-link::before,.tab::before{
  width:23px !important;
  height:23px !important;
  transform:scale(1.06);
}
.card-title::before,.hero-label::before{
  transform:scale(1.08);
}
.side-ico{
  transform:scale(1.07);
}
/* Keep account actions centered as a two-button row, and make the Study Tracker home glyph read clearly. */
#auth-card #auth-inputs{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:12px !important;
}
#auth-card #auth-inputs .input-field{
  grid-column:1 / -1 !important;
}
#auth-card #btn-signin,
#auth-card #btn-signup{
  width:100% !important;
  min-width:0 !important;
}
.site-link[href='index.html']::before,
.side-home{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2.3 11 12 3l9.7 8-1.8 2.1-1.1-.9v8.1c0 1-.8 1.7-1.7 1.7h-3.6v-6.5h-3V22H6.9c-.9 0-1.7-.7-1.7-1.7v-8.1l-1.1.9z'/%3E%3C/svg%3E") !important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2.3 11 12 3l9.7 8-1.8 2.1-1.1-.9v8.1c0 1-.8 1.7-1.7 1.7h-3.6v-6.5h-3V22H6.9c-.9 0-1.7-.7-1.7-1.7v-8.1l-1.1.9z'/%3E%3C/svg%3E") !important;
}
/* Mint-only stats chart bar color. */
:root[data-theme='midnight-green'] .bar-body.today-bar,
:root[data-theme='midnight-green'] .bar-body.has{
  background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 58%,white),var(--accent-2)) !important;
  border-color:color-mix(in srgb,var(--accent) 72%,white) !important;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 24%,transparent),0 12px 22px color-mix(in srgb,var(--accent) 22%,transparent) !important;
}
:root[data-theme='midnight-green'] .bar-body.today-bar .bar-v,
:root[data-theme='midnight-green'] .bar-body.has .bar-v{
  color:var(--accent-2) !important;
}
/* Completed task check mark polish. */
.task-check{
  display:grid !important;
  place-items:center !important;
  font-size:17px !important;
  font-weight:900 !important;
  line-height:1 !important;
}
.task-item.done .task-check{
  color:var(--accent-2) !important;
}
/* Support request modal. */
.support-modal{
  position:fixed;
  inset:0;
  z-index:510;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(15,30,42,.32);
  backdrop-filter:blur(12px);
  animation:updateFade .16s ease-out;
}
.support-modal.closing{animation:updateFadeOut .14s ease-in forwards}
.support-panel{
  position:relative;
  width:min(520px,calc(100vw - 32px));
  padding:28px;
  color:var(--text);
  background:color-mix(in srgb,var(--s1) 96%,transparent);
  border:1px solid var(--border);
  border-radius:var(--st-card-radius);
  box-shadow:0 30px 90px rgba(38,61,78,.22);
}
.support-kicker{
  display:inline-flex;
  align-items:center;
  height:28px;
  padding:0 12px;
  border-radius:999px;
  color:var(--accent-2);
  background:color-mix(in srgb,var(--accent) 12%,transparent);
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.support-panel h2{
  margin:16px 38px 18px 0;
  color:var(--text);
  font-size:24px;
  line-height:1.15;
}
.support-form{display:grid;gap:14px}
.support-form label{display:grid;gap:7px;color:var(--text);font-size:13px;font-weight:800}
.support-form input,.support-form textarea{
  width:100%;
  border:1px solid var(--border);
  border-radius:var(--st-card-radius);
  background:color-mix(in srgb,var(--s1) 96%,var(--s2));
  color:var(--text);
  padding:13px 14px;
  font:inherit;
  resize:vertical;
}
.support-form input:focus,.support-form textarea:focus{
  border-color:color-mix(in srgb,var(--accent) 58%,var(--border));
  box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 12%,transparent);
}
.support-note{margin:0;color:var(--muted2);font-size:12px;line-height:1.4}
.support-error{min-height:18px;color:var(--red);font-size:12px;font-weight:700}
.support-send{
  min-height:46px;
  border-radius:var(--st-control-radius);
  color:#fff;
  background:linear-gradient(135deg,var(--accent),var(--accent-2));
  font-weight:800;
  box-shadow:0 14px 28px color-mix(in srgb,var(--accent) 22%,transparent);
}
.support-send:disabled{opacity:.7;cursor:wait}
.support-status{min-height:20px;color:var(--muted2);font-size:12px;font-weight:750;line-height:1.4}
.support-status[data-type="success"]{color:var(--accent-2)}
.support-status[data-type="error"]{color:var(--red)}
.support-actions{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:10px}
.support-actions button{min-height:46px;border-radius:var(--st-control-radius);font-weight:800}
.support-copy-draft,.support-copy-email{border:1px solid var(--border);background:color-mix(in srgb,var(--s1) 94%,var(--s2));color:var(--text)}
.support-copy-draft:hover,.support-copy-email:hover{border-color:color-mix(in srgb,var(--accent) 58%,var(--border));color:var(--accent-2)}
.support-draft-wrap textarea{min-height:116px;font-size:12px;color:var(--muted);background:color-mix(in srgb,var(--s2) 88%,var(--s1))}
.support-x{
  position:absolute;
  top:18px;
  right:18px;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:999px;
  color:var(--muted2);
  border:1px solid var(--border);
  background:color-mix(in srgb,var(--s2) 80%,transparent);
  font-size:22px;
  line-height:1;
}
.support-x:hover{color:var(--text);border-color:var(--accent)}
@media (max-width:520px){
  .support-panel{padding:22px}
  .support-actions{grid-template-columns:1fr}
  .support-panel h2{font-size:21px}
}
/* Highly visible support entry point. */
.floating-support-btn{
  position:fixed;
  right:24px;
  bottom:56px;
  z-index:180;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:50px;
  padding:0 20px;
  border:1px solid color-mix(in srgb,var(--accent) 78%,white);
  border-radius:999px;
  color:#fff;
  background:linear-gradient(135deg,var(--accent),var(--accent-2));
  box-shadow:0 18px 38px color-mix(in srgb,var(--accent) 30%,transparent),0 8px 18px rgba(38,61,78,.18);
  font-weight:900;
  letter-spacing:0;
  cursor:pointer;
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
}
.floating-support-btn:hover{
  transform:translateY(-2px);
  filter:saturate(1.05);
  box-shadow:0 22px 46px color-mix(in srgb,var(--accent) 36%,transparent),0 10px 22px rgba(38,61,78,.2);
}
.floating-support-btn:focus-visible{
  outline:3px solid color-mix(in srgb,var(--accent) 35%,white);
  outline-offset:3px;
}
.floating-support-icon{
  width:20px;
  height:20px;
  flex:0 0 20px;
  background:#fff;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3.5a8.5 8.5 0 0 0-8.5 8.5v6.1c0 1.3 1.1 2.4 2.4 2.4H12a8.5 8.5 0 0 0 0-17Zm0 2.2a6.3 6.3 0 1 1 0 12.6H5.9a.2.2 0 0 1-.2-.2V12A6.3 6.3 0 0 1 12 5.7Zm-3.1 5.1a1.2 1.2 0 1 0 0 2.4 1.2 1.2 0 0 0 0-2.4Zm3.1 0a1.2 1.2 0 1 0 0 2.4 1.2 1.2 0 0 0 0-2.4Zm3.1 0a1.2 1.2 0 1 0 0 2.4 1.2 1.2 0 0 0 0-2.4Z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3.5a8.5 8.5 0 0 0-8.5 8.5v6.1c0 1.3 1.1 2.4 2.4 2.4H12a8.5 8.5 0 0 0 0-17Zm0 2.2a6.3 6.3 0 1 1 0 12.6H5.9a.2.2 0 0 1-.2-.2V12A6.3 6.3 0 0 1 12 5.7Zm-3.1 5.1a1.2 1.2 0 1 0 0 2.4 1.2 1.2 0 0 0 0-2.4Zm3.1 0a1.2 1.2 0 1 0 0 2.4 1.2 1.2 0 0 0 0-2.4Zm3.1 0a1.2 1.2 0 1 0 0 2.4 1.2 1.2 0 0 0 0-2.4Z'/%3E%3C/svg%3E") center/contain no-repeat;
}
@media (max-width:760px){
  .floating-support-btn{
    right:14px;
    bottom:16px;
    min-height:46px;
    padding:0 16px;
  }
}

/* Session dashboard layout refinement. */
#view-session.active{
  grid-template-columns:minmax(280px,330px) minmax(0,1fr) !important;
  gap:22px !important;
  align-items:start !important;
}
.session-left,.session-main{
  display:grid;
  gap:22px;
  align-content:start;
}
.session-left{grid-column:1}
.session-main{grid-column:2}
.session-left #auth-card,
.session-left .daily-goal-card,
.session-main .add-task-card,
.session-main .today-tasks-card{
  grid-column:auto !important;
  grid-row:auto !important;
}
.session-main .today-tasks-card{
  min-height:236px;
}
.goal-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:16px;
}
.goal-card-head .card-title{
  margin:0 !important;
}
#view-session .goal-card-head .streak-msg{
  grid-column:auto !important;
  margin:0 !important;
  min-height:30px;
  align-items:center;
  justify-content:center;
  padding:0 11px;
  border:1px solid color-mix(in srgb,var(--accent) 24%,var(--border));
  border-radius:999px;
  color:var(--accent-2);
  background:color-mix(in srgb,var(--accent) 11%,var(--s1));
  font-size:12px;
  font-weight:850;
  white-space:nowrap;
}
@media (max-width:760px){
  .session-left,.session-main{gap:14px}
  .session-main{margin-top:14px}
  .goal-card-head{align-items:flex-start;flex-direction:column;gap:10px}
}

/* Session column card spacing cleanup. */
.session-left > .card,
.session-main > .card{
  margin-bottom:0 !important;
}
@media (max-width:1050px){
  #view-session.active{
    grid-template-columns:1fr !important;
  }
  .session-left,
  .session-main{
    grid-column:1 !important;
  }
}

/* Session main width containment. */
.session-main > .card{
  width:100% !important;
  min-width:0 !important;
}
.session-main .add-task-card .input-row{
  grid-template-columns:minmax(120px,1.25fr) minmax(120px,1fr) minmax(88px,.5fr) minmax(116px,.55fr) !important;
}

/* Past paper page tab icon and rail sizing polish. */
.page-papers .site-nav,
.page-papers .tabs,
.page-papers #auth-card,
.page-papers .view{
  width:100% !important;
  max-width:var(--st-rail-max) !important;
}
.page-papers .site-nav-inner,
.page-papers .tab-inner{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}
.page-papers .site-link,
.page-papers .tab{
  width:100% !important;
  min-width:0 !important;
}
.page-papers .tab[data-tab='papers']::before,
.page-papers .paper-add-card .card-title::before,
.page-papers .paper-attempts-card .card-title::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 2h8l5 5v15H6zM13 3v6h6M8 12h8v2H8zm0 4h8v2H8z'/%3E%3C/svg%3E") !important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 2h8l5 5v15H6zM13 3v6h6M8 12h8v2H8zm0 4h8v2H8z'/%3E%3C/svg%3E") !important;
}
.page-papers .tab[data-tab='planner']::before,
.page-papers .paper-plan-card .card-title::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 4h14v17H5zM8 2h8v4H8zM8 10h8v2H8zm0 4h8v2H8zm0 4h5v2H8z'/%3E%3C/svg%3E") !important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 4h14v17H5zM8 2h8v4H8zM8 10h8v2H8zm0 4h8v2H8zm0 4h5v2H8z'/%3E%3C/svg%3E") !important;
}
.page-papers .paper-upcoming-card .card-title::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 3h2v18H5zM8 4h11l-3 5 3 5H8z'/%3E%3C/svg%3E") !important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 3h2v18H5zM8 4h11l-3 5 3 5H8z'/%3E%3C/svg%3E") !important;
}
@media (max-width:760px){
  .page-papers .site-nav-inner,
  .page-papers .tab-inner{
    grid-template-columns:1fr !important;
  }
}

/* Fluid desktop rail scaling. */
@media (min-width:1051px){
  :root{--desktop-rail-max:clamp(1440px,75vw,1880px)}
  .site-nav,
  .tabs,
  .exam-level-nav,
  .view.active,
  .top,
  .hero,
  .grid,
  .src,
  .topbar,
  .site-head,
  .page-papers .site-nav,
  .page-papers .tabs,
  .page-papers #auth-card,
  .page-papers .view{
    width:100% !important;
    max-width:var(--st-rail-max) !important;
  }
  #view-session.active{
    max-width:var(--st-rail-max) !important;
  }
}

/* Remaining section title icons. */
.page-papers .paper-overview-card .card-title::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4h7v7H4zm9 0h7v4h-7zM4 13h7v7H4zm9-3h7v10h-7z'/%3E%3C/svg%3E") !important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4h7v7H4zm9 0h7v4h-7zM4 13h7v7H4zm9-3h7v10h-7z'/%3E%3C/svg%3E") !important;
}
.page-papers .paper-subject-breakdown-card .card-title::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 20h16v2H4zM6 11h3v7H6zm5-7h3v14h-3zm5 4h3v10h-3z'/%3E%3C/svg%3E") !important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 20h16v2H4zM6 11h3v7H6zm5-7h3v14h-3zm5 4h3v10h-3z'/%3E%3C/svg%3E") !important;
}
.page-exams .hero-label::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 3h2v18H5zM8 4h11l-3 5 3 5H8z'/%3E%3C/svg%3E") !important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 3h2v18H5zM8 4h11l-3 5 3 5H8z'/%3E%3C/svg%3E") !important;
}

/* Cache-resilient stats card icons. */
.page-papers #view-stats .grid-2 > .card:nth-child(1) .card-title::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4h7v7H4zm9 0h7v4h-7zM4 13h7v7H4zm9-3h7v10h-7z'/%3E%3C/svg%3E") !important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4h7v7H4zm9 0h7v4h-7zM4 13h7v7H4zm9-3h7v10h-7z'/%3E%3C/svg%3E") !important;
}
.page-papers #view-stats .grid-2 > .card:nth-child(2) .card-title::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 20h16v2H4zM6 11h3v7H6zm5-7h3v14h-3zm5 4h3v10h-3z'/%3E%3C/svg%3E") !important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 20h16v2H4zM6 11h3v7H6zm5-7h3v14h-3zm5 4h3v10h-3z'/%3E%3C/svg%3E") !important;
}

/* Sidebar study mark polish. */
.side-books{
  width:112px;
  height:118px;
  background:
    radial-gradient(circle at 86px 41px,var(--accent) 0 3px,transparent 3.5px),
    linear-gradient(var(--text),var(--text)) 85px 28px/2px 16px no-repeat,
    linear-gradient(90deg,var(--text),color-mix(in srgb,var(--text) 88%,var(--accent))) 43px 42px/54px 9px no-repeat;
}
.side-books::before{
  left:50% !important;
  top:63px !important;
  bottom:auto !important;
  width:78px !important;
  height:16px !important;
  transform:translateX(-50%);
  border-radius:5px !important;
  background:linear-gradient(90deg,var(--accent),var(--accent-2)) !important;
  box-shadow:
    0 22px 0 color-mix(in srgb,var(--accent) 72%,white),
    0 44px 0 var(--accent-2) !important;
}
.side-books::after{
  left:50% !important;
  top:18px !important;
  width:76px !important;
  height:34px !important;
  transform:translateX(-50%);
  border-radius:0 !important;
  background:var(--text) !important;
  clip-path:polygon(50% 0,94% 29%,50% 58%,6% 29%) !important;
  box-shadow:none !important;
}

/* Personal exam timetable setup. */
.page-exams .exam-level-nav{
  width:100%;
  max-width:var(--st-rail-max);
  margin:0 auto 18px;
}
.page-exams .exam-level-nav-inner{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  min-height:60px;
  padding:6px;
  border:1px solid var(--st-surface-border);
  border-radius:var(--st-card-radius);
  background:var(--st-surface-bg);
  box-shadow:var(--st-surface-shadow);
  backdrop-filter:blur(18px);
}
.page-exams .exam-level-link{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  border-radius:calc(var(--st-card-radius) - 4px);
  color:var(--muted2);
  font-size:14px;
  font-weight:800;
  text-decoration:none;
  transition:background-color 160ms ease,color 160ms ease,box-shadow 160ms ease;
}
.page-exams .exam-level-link:hover:not(.active){
  color:var(--accent-2);
  background:color-mix(in srgb,var(--accent) 8%,transparent);
}
.page-exams .exam-level-link.active{
  color:#fff;
  background:linear-gradient(135deg,var(--accent),var(--accent-2));
  box-shadow:0 10px 22px color-mix(in srgb,var(--accent) 24%,transparent);
}
.page-exams .exam-level-link:focus-visible{
  outline:3px solid color-mix(in srgb,var(--accent) 38%,transparent);
  outline-offset:2px;
}
:root[data-theme='dark'] .page-exams .exam-level-link.active{color:#061917}

.page-exams .exam-head{
  align-items:flex-start !important;
  padding-top:2px !important;
}
.page-exams .exam-edit-btn{
  min-width:140px;
  align-self:flex-start !important;
  margin-top:6px !important;
}
.page-exams .exam-setup-card{
  margin:0 auto 18px !important;
}
.page-exams .exam-form-grid{
  display:grid;
  grid-template-columns:120px minmax(180px,1fr) minmax(180px,1fr) minmax(260px,1.4fr);
  gap:12px;
  align-items:center;
}
.page-exams .exam-options{
  display:grid;
  gap:10px;
  margin-top:14px;
}
.page-exams .exam-option-group{
  border:1px solid var(--border);
  border-radius:var(--st-card-radius);
  background:color-mix(in srgb,var(--s1) 92%,transparent);
  padding:12px;
}
.page-exams .exam-option-group strong{
  display:block;
  margin-bottom:10px;
  color:var(--text);
  font-size:13px;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.page-exams .exam-option-pills{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.page-exams .exam-option-pills label{
  display:inline-flex;
  align-items:center;
  gap:7px;
  border:1px solid var(--border);
  border-radius:var(--st-card-radius);
  padding:9px 10px;
  background:var(--s2);
  color:var(--text);
  font-size:13px;
  font-weight:700;
  cursor:pointer;
}
.page-exams .exam-option-pills input{
  accent-color:var(--accent);
}
.page-exams .exam-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}
.page-exams .exam-selection-list{
  display:grid;
  gap:8px;
  margin-top:14px;
}
.page-exams .exam-selection-item{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  border:1px solid var(--border);
  border-radius:var(--st-card-radius);
  padding:10px 12px;
  background:var(--s2);
}
.page-exams .exam-selection-item strong,
.page-exams .exam-selection-item span{
  display:block;
}
.page-exams .exam-selection-item span{
  color:var(--muted2);
  margin-top:3px;
  font-size:12px;
}
.page-exams .exam-selection-item button{
  color:var(--accent-2);
  font-weight:800;
}
.page-exams .exam-summary{
  width:100%;
  max-width:var(--st-rail-max);
  margin:0 auto 12px;
  color:var(--muted2);
  font-size:13px;
}
.page-exams .exam-summary strong{
  color:var(--accent-2);
}
.page-exams .exam-row{
  grid-template-columns:minmax(160px,1fr) minmax(220px,1.25fr) minmax(260px,1.3fr) minmax(110px,auto) !important;
}
.page-exams .exam-row span{
  display:block;
  color:var(--muted2);
  font-size:12px;
  line-height:1.35;
  margin-top:4px;
}
.page-exams .exam-setup-card .card-title::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h2v3h6V2h2v3h3v17H4V5h3zm1 9h8v2H8zm0 4h6v2H8z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h2v3h6V2h2v3h3v17H4V5h3zm1 9h8v2H8zm0 4h6v2H8z'/%3E%3C/svg%3E");
}
@media (max-width:900px){
  .page-exams .exam-form-grid{
    grid-template-columns:1fr;
  }
  .page-exams .exam-row{
    grid-template-columns:1fr !important;
  }
  .page-exams .exam-selection-item{
    align-items:flex-start;
    flex-direction:column;
  }
}

/* Exam countdown browse and setup alignment. */
.page-exams .exam-setup-card,
.page-exams .exam-browse-card{
  width:100% !important;
  max-width:var(--st-rail-max) !important;
  margin:0 auto 18px !important;
}
.page-exams .exam-browse-card{
  margin-top:22px !important;
}
.page-exams .exam-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:16px;
}
.page-exams .exam-section-head p{
  margin:7px 0 0;
  color:var(--muted2);
  font-size:13px;
  line-height:1.45;
}
.page-exams .exam-count-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:92px;
  border:1px solid var(--border);
  border-radius:999px;
  padding:7px 11px;
  color:var(--accent-2);
  background:color-mix(in srgb,var(--accent) 10%,transparent);
  font-weight:800;
  font-size:12px;
}
.page-exams .exam-browse-filters{
  display:grid;
  grid-template-columns:minmax(180px,.8fr) minmax(180px,.8fr) minmax(260px,1.4fr);
  gap:12px;
  align-items:center;
  margin-bottom:16px;
}
.page-exams .exam-browse-filters input{
  min-height:46px;
  border:1px solid var(--border);
  border-radius:var(--st-card-radius);
  background:var(--s2);
  color:var(--text);
  padding:0 14px;
  font-size:13px;
  font-weight:700;
}
.page-exams .exam-browse-filters input::placeholder{
  color:var(--muted);
}
.page-exams .exam-browse-card .card-title::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 4h14v2H5zm0 5h14v2H5zm0 5h9v2H5zm0 5h9v2H5z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 4h14v2H5zm0 5h14v2H5zm0 5h9v2H5zm0 5h9v2H5z'/%3E%3C/svg%3E");
}
@media (max-width:900px){
  .page-exams .exam-browse-filters{
    grid-template-columns:1fr;
  }
  .page-exams .exam-section-head{
    flex-direction:column;
  }
}

/* Keep every exam page section on one shared rail. */
.page-exams .exam-head,
.page-exams .exam-setup-card,
.page-exams .hero,
.page-exams .exam-summary,
.page-exams #list,
.page-exams .exam-browse-card,
.page-exams .src{
  width:100% !important;
  max-width:var(--st-rail-max) !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
.page-exams .exam-head{
  margin-top:0 !important;
  margin-bottom:18px !important;
}
.page-exams .hero{
  margin-top:0 !important;
  margin-bottom:18px !important;
}
.page-exams #list{
  margin-bottom:22px !important;
}
.page-exams .exam-browse-card{
  margin-top:0 !important;
}


/* Final exam page edge alignment: use the parent page edge, not independent centering. */
.page-exams .exam-head,
.page-exams .exam-setup-card,
.page-exams .hero,
.page-exams .exam-summary,
.page-exams #list,
.page-exams .exam-browse-card,
.page-exams .src{
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
.page-exams .exam-level-nav{
  width:100% !important;
  max-width:var(--st-rail-max) !important;
  margin:0 0 18px !important;
  box-sizing:border-box;
}
.page-exams .exam-level-nav-inner{
  width:100%;
  box-sizing:border-box;
}

/* Keep the exam year dropdown separated from the subject selector. */
.page-exams .exam-form-grid{
  grid-template-columns:minmax(110px,.36fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.35fr) !important;
  column-gap:14px !important;
  row-gap:12px !important;
}
.page-exams .exam-form-grid select{
  width:100% !important;
  min-width:0 !important;
}
@media (max-width:900px){
  .page-exams .exam-form-grid{
    grid-template-columns:1fr !important;
  }
}

#exam-sync-status[data-sync="synced"]{
  color:var(--accent) !important;
  background-color:var(--accent) !important;
  font-weight:750;
}

#exam-sync-status[data-sync="error"]{
  color:var(--warn) !important;
  font-weight:750;
}

/* Keep native theme dropdown menus readable in every palette. */
.theme-select option{
  background:var(--s1) !important;
  color:var(--text) !important;
}
:root[data-theme='dark'] .theme-select option{
  background:var(--s1) !important;
  color:var(--text) !important;
}

/* Unified sidebar encouragement cards across all pages. */
.side-card{
  height:268px !important;
  min-height:268px !important;
  padding:16px 18px !important;
  justify-content:flex-start !important;
  gap:8px !important;
  overflow:hidden !important;
}
.side-card .side-books{
  width:132px !important;
  height:132px !important;
  margin:0 auto 0 !important;
  transform:none !important;
}
.side-card strong{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:48px !important;
  max-width:210px !important;
  font-size:16px !important;
  line-height:1.35 !important;
}
.side-card em{
  display:block !important;
  min-height:20px !important;
  line-height:20px !important;
  margin-top:0 !important;
}
/* Specific section title icons for Study Tracker and Privacy. */
.complete-session-card .card-title::before,
.timer-settings-card .card-title::before,
.past-sessions-card .card-title::before,
.weekly-stats-card .card-title::before,
.study-subject-breakdown-card .card-title::before,
.privacy-policy-card .card-title::before,
.privacy-who-card .card-title::before,
.privacy-data-card .card-title::before,
.privacy-purpose-card .card-title::before,
.privacy-share-card .card-title::before,
.privacy-retention-card .card-title::before,
.privacy-rights-card .card-title::before,
.privacy-cookies-card .card-title::before,
.privacy-contact-card .card-title::before{
  content:'' !important;
  border:0 !important;
  border-radius:0 !important;
  color:var(--accent) !important;
  background-color:var(--accent) !important;
}
.complete-session-card .card-title::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 3h10l1 3h3v16H3V6h3zm3 11 2 2 5-6 1.6 1.3-6.4 7.7L8.4 15.2z'/%3E%3C/svg%3E") !important;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 3h10l1 3h3v16H3V6h3zm3 11 2 2 5-6 1.6 1.3-6.4 7.7L8.4 15.2z'/%3E%3C/svg%3E") !important}
.timer-settings-card .card-title::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 7h9v2H4zm13-2h3v6h-3zm-5 10h8v2h-8zM4 13h3v6H4z'/%3E%3C/svg%3E") !important;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 7h9v2H4zm13-2h3v6h-3zm-5 10h8v2h-8zM4 13h3v6H4z'/%3E%3C/svg%3E") !important}
.past-sessions-card .card-title::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 4v5h5L8 7a6 6 0 1 1-1.7 4H4a8 8 0 1 0 2.4-5.7zM11 8h2v4l3 2-1 1.7-4-2.5z'/%3E%3C/svg%3E") !important;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 4v5h5L8 7a6 6 0 1 1-1.7 4H4a8 8 0 1 0 2.4-5.7zM11 8h2v4l3 2-1 1.7-4-2.5z'/%3E%3C/svg%3E") !important}
.weekly-stats-card .card-title::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h2v3h6V2h2v3h3v17H4V5h3zm-1 8v10h12V10zm2 6 3-3 2 2 3-4 1.5 1.2-4.3 5.7-2.1-2.1-2.7 2.7z'/%3E%3C/svg%3E") !important;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h2v3h6V2h2v3h3v17H4V5h3zm-1 8v10h12V10zm2 6 3-3 2 2 3-4 1.5 1.2-4.3 5.7-2.1-2.1-2.7 2.7z'/%3E%3C/svg%3E") !important}
.study-subject-breakdown-card .card-title::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11 2v20a10 10 0 1 1 0-20zm2 0a10 10 0 0 1 9 9h-9zm0 11h9a10 10 0 0 1-9 9z'/%3E%3C/svg%3E") !important;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11 2v20a10 10 0 1 1 0-20zm2 0a10 10 0 0 1 9 9h-9zm0 11h9a10 10 0 0 1-9 9z'/%3E%3C/svg%3E") !important}
.privacy-policy-card .card-title::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 4 5v6c0 5 3.3 9.3 8 11 4.7-1.7 8-6 8-11V5zm-1 6h2v2h-2zm0 4h2v6h-2z'/%3E%3C/svg%3E") !important;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 4 5v6c0 5 3.3 9.3 8 11 4.7-1.7 8-6 8-11V5zm-1 6h2v2h-2zm0 4h2v6h-2z'/%3E%3C/svg%3E") !important}
.privacy-who-card .card-title::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 12a5 5 0 1 0-5-5 5 5 0 0 0 5 5zm-9 9a9 9 0 0 1 18 0z'/%3E%3C/svg%3E") !important;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 12a5 5 0 1 0-5-5 5 5 0 0 0 5 5zm-9 9a9 9 0 0 1 18 0z'/%3E%3C/svg%3E") !important}
.privacy-data-card .card-title::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3c5 0 9 1.6 9 3.5V18c0 1.9-4 3.5-9 3.5S3 19.9 3 18V6.5C3 4.6 7 3 12 3zm0 2c-4.3 0-7 1-7 1.5S7.7 8 12 8s7-1 7-1.5S16.3 5 12 5zM5 10v2c1.6.9 4.2 1.5 7 1.5s5.4-.6 7-1.5v-2c-1.7.9-4.3 1.5-7 1.5S6.7 10.9 5 10zm0 5v3c0 .5 2.7 1.5 7 1.5s7-1 7-1.5v-3c-1.7.9-4.3 1.5-7 1.5S6.7 15.9 5 15z'/%3E%3C/svg%3E") !important;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3c5 0 9 1.6 9 3.5V18c0 1.9-4 3.5-9 3.5S3 19.9 3 18V6.5C3 4.6 7 3 12 3zm0 2c-4.3 0-7 1-7 1.5S7.7 8 12 8s7-1 7-1.5S16.3 5 12 5zM5 10v2c1.6.9 4.2 1.5 7 1.5s5.4-.6 7-1.5v-2c-1.7.9-4.3 1.5-7 1.5S6.7 10.9 5 10zm0 5v3c0 .5 2.7 1.5 7 1.5s7-1 7-1.5v-3c-1.7.9-4.3 1.5-7 1.5S6.7 15.9 5 15z'/%3E%3C/svg%3E") !important}
.privacy-purpose-card .card-title::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 10 10h-2a8 8 0 1 1-8-8zm7.5 1.5-6.8 6.8a2 2 0 1 0 1.4 1.4l6.8-6.8z'/%3E%3C/svg%3E") !important;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 10 10h-2a8 8 0 1 1-8-8zm7.5 1.5-6.8 6.8a2 2 0 1 0 1.4 1.4l6.8-6.8z'/%3E%3C/svg%3E") !important}
.privacy-share-card .card-title::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18 16a3 3 0 0 0-2.4 1.2L8.8 13.8a3.2 3.2 0 0 0 0-3.6l6.8-3.4A3 3 0 1 0 15 5a3 3 0 0 0 .1.7L8.3 9.1a3 3 0 1 0 0 5.8l6.8 3.4A3 3 0 1 0 18 16z'/%3E%3C/svg%3E") !important;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18 16a3 3 0 0 0-2.4 1.2L8.8 13.8a3.2 3.2 0 0 0 0-3.6l6.8-3.4A3 3 0 1 0 15 5a3 3 0 0 0 .1.7L8.3 9.1a3 3 0 1 0 0 5.8l6.8 3.4A3 3 0 1 0 18 16z'/%3E%3C/svg%3E") !important}
.privacy-retention-card .card-title::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm1 5v5l4 2-1 1.8-5-2.8V7z'/%3E%3C/svg%3E") !important;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm1 5v5l4 2-1 1.8-5-2.8V7z'/%3E%3C/svg%3E") !important}
.privacy-rights-card .card-title::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11 3h2v3h5v2h-2.2l3 6H21v2a4 4 0 0 1-8 0v-2h2.2l-2.6-5.2L10 14h2v2a4 4 0 0 1-8 0v-2h2.2l3-6H7V6h4zm-4 7-2 4h4zm10 0-2 4h4zM8 20h8v2H8z'/%3E%3C/svg%3E") !important;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11 3h2v3h5v2h-2.2l3 6H21v2a4 4 0 0 1-8 0v-2h2.2l-2.6-5.2L10 14h2v2a4 4 0 0 1-8 0v-2h2.2l3-6H7V6h4zm-4 7-2 4h4zm10 0-2 4h4zM8 20h8v2H8z'/%3E%3C/svg%3E") !important}
.privacy-cookies-card .card-title::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21 12.5A9 9 0 1 1 11.5 3a4 4 0 0 0 4 5 3.5 3.5 0 0 0 5.5 4.5zM8 10h2V8H8zm3 6h2v-2h-2zm-4 1h2v-2H7z'/%3E%3C/svg%3E") !important;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21 12.5A9 9 0 1 1 11.5 3a4 4 0 0 0 4 5 3.5 3.5 0 0 0 5.5 4.5zM8 10h2V8H8zm3 6h2v-2h-2zm-4 1h2v-2H7z'/%3E%3C/svg%3E") !important}
.privacy-contact-card .card-title::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18v14H3zm2 3.2V17h14V8.2l-7 5zM6.2 7l5.8 4.1L17.8 7z'/%3E%3C/svg%3E") !important;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18v14H3zm2 3.2V17h14V8.2l-7 5zM6.2 7l5.8 4.1L17.8 7z'/%3E%3C/svg%3E") !important}

.timer-settings-card .setting-box::before{
  content:'';
  display:block;
  width:22px;
  height:22px;
  margin:0 auto 9px;
  color:var(--accent);
  background-color:currentColor;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:center;mask-position:center;
  -webkit-mask-size:contain;mask-size:contain;
}
.timer-settings-card .setting-box:nth-child(1)::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 10 10h-2a8 8 0 1 1-8-8zm7 1-6.7 6.7a2.5 2.5 0 1 0 2 2L21 5z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 10 10h-2a8 8 0 1 1-8-8zm7 1-6.7 6.7a2.5 2.5 0 1 0 2 2L21 5z'/%3E%3C/svg%3E")}
.timer-settings-card .setting-box:nth-child(2)::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 3h10v2H7zm1 3h8v5a5 5 0 1 1-8 0zm4 5a3 3 0 1 0 3 3h-3z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 3h10v2H7zm1 3h8v5a5 5 0 1 1-8 0zm4 5a3 3 0 1 0 3 3h-3z'/%3E%3C/svg%3E")}
.timer-settings-card .setting-box:nth-child(3)::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22a2.5 2.5 0 0 0 2.5-2.5h-5A2.5 2.5 0 0 0 12 22zM5 17h14l-2-3V9a5 5 0 0 0-10 0v5zM19 4l2-2 1 1-2 2zM2 3l1-1 2 2-1 1z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22a2.5 2.5 0 0 0 2.5-2.5h-5A2.5 2.5 0 0 0 12 22zM5 17h14l-2-3V9a5 5 0 0 0-10 0v5zM19 4l2-2 1 1-2 2zM2 3l1-1 2 2-1 1z'/%3E%3C/svg%3E")}
.timer-settings-card .setting-box:nth-child(4)::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4h16v12H4zm2 2v8h12V6zm2 13h8v2H8z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4h16v12H4zm2 2v8h12V6zm2 13h8v2H8z'/%3E%3C/svg%3E")}

/* Universities / Uni Compare feature. */
.side-uni{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 21h18v-2H3zm2-3h3V9H5zm5 0h3V9h-3zm5 0h3V9h-3zM4 7h16L12 3z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 21h18v-2H3zm2-3h3V9H5zm5 0h3V9h-3zm5 0h3V9h-3zM4 7h16L12 3z'/%3E%3C/svg%3E");
}
.side-compare{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 4h6v16H5zm8 3h6v13h-6zM7 6v12h2V6zm8 3v9h2V9z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 4h6v16H5zm8 3h6v13h-6zM7 6v12h2V6zm8 3v9h2V9z'/%3E%3C/svg%3E");
}
/* Hide icon pseudo-elements on university nav (squares would show otherwise) */
.page-universities .uni-app > section,
.page-universities .uni-app > main,
.page-universities .uni-app > .uni-demo-notice{
  width:100%;
  max-width:var(--st-rail-max);

}
.page-universities .card{overflow:hidden}

/* Keep sidebar user and card visible on all screen heights */
.page-universities .side-card{height:auto !important;min-height:268px !important;padding:16px 14px}
.page-universities .side-user{flex-shrink:0;padding-top:8px}

.uni-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:22px;
  padding:34px;
  background:linear-gradient(145deg,color-mix(in srgb,var(--s1) 94%,transparent),color-mix(in srgb,var(--s2) 88%,transparent));
}
.uni-hero h1,
.uni-page-head h1,
.uni-profile-head h1{margin:6px 0 8px;color:var(--text);font-size:clamp(1.9rem,3.3vw,3.2rem);line-height:1.08;letter-spacing:0}
.uni-hero p,
.uni-page-head p,
.uni-profile-head p{color:var(--muted2);max-width:780px;line-height:1.55}
.uni-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.uni-kicker::before{content:'';width:14px;height:14px;background:var(--accent);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 21h18v-2H3zm2-3h3V9H5zm5 0h3V9h-3zm5 0h3V9h-3zM4 7h16L12 3z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 21h18v-2H3zm2-3h3V9H5zm5 0h3V9h-3zm5 0h3V9h-3zM4 7h16L12 3z'/%3E%3C/svg%3E") center/contain no-repeat}
.uni-searchbar{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:12px;margin-top:22px;max-width:980px;align-items:stretch}
.uni-searchbar .input-field{height:52px}
.uni-searchbar .add-btn{min-height:52px;min-width:170px}
.uni-quick-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.uni-quick-links a,
.uni-link-btn,
.uni-subtle-btn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:9px 13px;border:1px solid var(--border);border-radius:10px;color:var(--text);background:color-mix(in srgb,var(--s2) 84%,transparent);text-decoration:none;font-weight:800;font-size:13px}
.uni-quick-links a:hover,.uni-link-btn:hover,.uni-subtle-btn:hover{border-color:var(--accent);color:var(--accent)}
.uni-demo-notice{display:flex;align-items:center;gap:10px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--accent) 12%,var(--s1));color:var(--text);border-radius:var(--st-card-radius);padding:9px 12px;margin-bottom:16px}
.uni-demo-notice strong{color:var(--accent);text-transform:uppercase;font-size:12px;letter-spacing:.08em}
.uni-demo-notice span{color:var(--muted2);font-size:13px}
.uni-section-head,.uni-page-head,.uni-profile-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 auto 16px}
.uni-page-head{padding:2px 28px 0;margin:0 0 16px}
.uni-trust-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.uni-info-card{min-height:154px}.uni-info-card p{margin-bottom:0}
.uni-pill-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.uni-pill{display:inline-flex;align-items:center;min-height:30px;padding:6px 10px;border-radius:999px;border:1px solid var(--border);background:color-mix(in srgb,var(--accent) 8%,var(--s1));color:var(--muted2);font-size:12px;font-weight:800}
.uni-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.uni-card{background:var(--s1);border:1px solid var(--border);border-radius:10px;padding:18px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;box-shadow:0 16px 40px rgba(52,78,98,.08)}
.uni-card h3{margin:4px 0;font-size:1.05rem}.uni-card h3 a{color:var(--text);text-decoration:none}.uni-card h3 a:hover{color:var(--accent)}.uni-card p{color:var(--muted2);font-size:13px;margin:0}.uni-card .uni-link-btn{grid-column:1 / -1;justify-self:start}.uni-card-score{text-align:right;min-width:160px}.uni-score{display:block;font-size:34px;font-weight:900;line-height:1;color:var(--accent)}
.uni-metric-value{display:block;font-weight:900;color:var(--text);white-space:nowrap}.uni-source{display:block;color:var(--muted2);font-size:11px;line-height:1.35;margin-top:4px}.uni-source a{color:var(--muted2);text-decoration:none}.uni-source a:hover{color:var(--accent);text-decoration:underline}
.uni-filter-card{margin-bottom:18px}.uni-filter-grid{display:grid;grid-template-columns:1.25fr repeat(5,minmax(140px,1fr));gap:10px}.uni-table-wrap{max-height:none}.uni-table-wrap,.page-universities .table-wrap{overflow-x:auto;max-width:100%}.uni-table{min-width:1180px;width:100%}.uni-table td strong{display:block;color:var(--text)}.uni-table td small{display:block;color:var(--muted2);margin-top:4px}.uni-table a{color:var(--text);text-decoration:none}.uni-table a:hover{color:var(--accent)}
.uni-rank-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.uni-rank-tile,.uni-snapshot-row,.uni-weight-row{border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--s2) 86%,transparent);padding:12px}.uni-rank-tile span:first-child,.uni-snapshot-row strong,.uni-weight-row strong{display:block;color:var(--muted2);font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}.uni-snapshot{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.uni-source-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;list-style:none;padding:0;margin:0}.uni-source-list li{border:1px solid var(--border);border-radius:10px;padding:12px;background:color-mix(in srgb,var(--s2) 86%,transparent)}.uni-source-list a{display:block;color:var(--accent);font-weight:800;text-decoration:none;margin-bottom:4px}.uni-source-list span{color:var(--muted2);font-size:12px}
.uni-strengths{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.uni-strengths span{display:inline-flex;border:1px solid var(--border);background:color-mix(in srgb,var(--s2) 86%,transparent);border-radius:999px;padding:8px 11px;color:var(--muted2);font-size:12px;font-weight:700}.uni-profile-grid{margin-bottom:0}
.uni-compare-controls{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px}.uni-selected-tray{position:sticky;top:10px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid color-mix(in srgb,var(--accent) 34%,var(--border));background:color-mix(in srgb,var(--s1) 96%,transparent);border-radius:10px;padding:12px 14px;margin-bottom:16px;box-shadow:0 14px 32px rgba(52,78,98,.1)}.uni-selected-tray span{color:var(--muted2);font-size:13px}.uni-selected-list{display:flex;gap:8px;flex-wrap:wrap}.uni-selected-list strong{display:inline-flex;padding:6px 9px;border-radius:999px;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--s1));font-size:12px}
.uni-compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.uni-compare-card h2{margin:0 0 4px;font-size:1.2rem}.uni-compare-card p{color:var(--muted2);margin:0 0 12px}.uni-compare-score{margin-bottom:12px}.uni-weight-list{display:grid;gap:8px;margin-top:14px}.uni-weight-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.uni-weight-row strong{margin:0}.uni-weight-row span{color:var(--accent);font-weight:900}.uni-subject-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.uni-subject-card h3{margin:0 0 4px}.uni-confidence{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;background:color-mix(in srgb,var(--accent) 12%,var(--s1));color:var(--accent);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
@media (max-width:1100px){.uni-filter-grid{grid-template-columns:1fr 1fr}.uni-rank-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.uni-card-grid,.uni-compare-grid,.uni-trust-grid{grid-template-columns:1fr}}
@media (max-width:700px){.page-universities .uni-app{padding:var(--st-page-padding-mobile) !important;width:auto !important;overflow-x:hidden}.uni-hero{padding:18px}.uni-searchbar,.uni-filter-grid,.uni-snapshot,.uni-source-list,.uni-compare-controls,.uni-subject-card{grid-template-columns:1fr}.uni-searchbar .add-btn{width:100%}.uni-section-head,.uni-page-head,.uni-profile-head{align-items:flex-start;flex-direction:column}.uni-card{grid-template-columns:1fr}.uni-card-score{text-align:left}.uni-rank-grid{grid-template-columns:1fr 1fr}.uni-selected-tray{position:static;align-items:flex-start;flex-direction:column}}
/* Universities desktop width guard. */
@media (min-width:1051px){.page-universities .uni-app{box-sizing:border-box !important;overflow-x:hidden}}

/* Universities narrow overflow guard. */
@media (max-width:760px){.page-universities{overflow-x:hidden}.page-universities .uni-app > section,.page-universities .uni-app > main,.page-universities .uni-app > .uni-demo-notice{max-width:100%}.page-universities .topbar{max-width:100% !important}.page-universities .topbar-right{width:100%;flex-wrap:wrap}}

/* University rankings polish: 2027 tables, profile entry points, and footer/header alignment. */
.page-universities .topbar{
  width:100% !important;
  max-width:var(--st-rail-max) !important;
  margin:0 !important;
  padding:0 0 18px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  min-height:50px;
  box-sizing:border-box !important;
}
.page-universities .topbar-right{
  width: auto !important;
  margin-left: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: nowrap !important;
  gap: 18px !important;
}
.page-universities .account-cta{white-space:nowrap}
.uni-rank-number{
  width: 54px;
  color: var(--accent);
  font-size: 17px;
  font-weight: 900;
  text-align: center;
}
.uni-mini-action{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 8px 11px;
  border: 1px solid color-mix(in srgb,var(--accent) 42%,var(--border));
  border-radius: 8px;
  background: color-mix(in srgb,var(--accent) 10%,var(--s1));
  color: var(--accent) !important;
  font-size: 12px;
  font-weight: 900;
  text-decoration: none !important;
  white-space: nowrap;
}
.uni-mini-action:hover{background:var(--accent);color:#fff !important}
.uni-profile-score{display:grid;gap:10px;justify-items:end;min-width:180px}
.uni-subject-picker{margin-bottom:14px}
.uni-subject-chips{
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin: 0 0 16px;
}
.uni-subject-chip{
  min-height: 36px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: color-mix(in srgb,var(--s2) 86%,transparent);
  color: var(--muted);
  padding: 8px 12px;
  font: inherit;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
}
.uni-subject-chip.active,
.uni-subject-chip:hover{
  border-color: var(--accent);
  background: color-mix(in srgb,var(--accent) 13%,var(--s1));
  color: var(--accent);
}
.uni-subject-table{min-width: 860px}
.uni-subject-score{font-size: 25px}
@media (max-width:760px){
  .page-universities .topbar{align-items:flex-start !important;justify-content:flex-start !important}
  .page-universities .topbar-right{width:100% !important;flex-wrap:wrap !important;justify-content:space-between !important}
  .uni-profile-score{justify-items:start}
}

/* Keep subject ranking columns aligned on desktop and wide screens. */
.page-universities .uni-subject-table{
  min-width: 980px;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
}
.page-universities .uni-subject-table th,
.page-universities .uni-subject-table td{
  vertical-align: middle;
  text-align: left;
  box-sizing: border-box;
}
.page-universities .uni-subject-table th:nth-child(1),
.page-universities .uni-subject-table td:nth-child(1){
  width: 60px;
  text-align: center;
}
.page-universities .uni-subject-table th:nth-child(2),
.page-universities .uni-subject-table td:nth-child(2){
  width: 49%;
}
.page-universities .uni-subject-table th:nth-child(3),
.page-universities .uni-subject-table td:nth-child(3){
  width: 16%;
}
.page-universities .uni-subject-table th:nth-child(4),
.page-universities .uni-subject-table td:nth-child(4){
  width: 20%;
  text-align: left;
}
.page-universities .uni-subject-table th:nth-child(5),
.page-universities .uni-subject-table td:nth-child(5){
  width: 130px;
  text-align: center;
}
.page-universities .uni-subject-table td:nth-child(2) strong{
  max-width: 100%;
  overflow-wrap: anywhere;
}
.page-universities .uni-subject-table .uni-subject-score{
  display: block;
  width: max-content;
  min-width: 76px;
  text-align: left;
}
.page-universities .uni-subject-table .uni-mini-action{
  margin: 0 auto;
}

/* University page section-title icons: replace fallback squares with real masks. */
.page-universities .card-title::before{
  content:'' !important;
  background-image:none !important;
  background-color:currentColor !important;
  color:var(--accent) !important;
  border-radius:0 !important;
  -webkit-mask-repeat:no-repeat !important;
  mask-repeat:no-repeat !important;
  -webkit-mask-position:center !important;
  mask-position:center !important;
  -webkit-mask-size:contain !important;
  mask-size:contain !important;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 20h16v2H4zM5 9h3v9H5zm5 0h3v9h-3zm5 0h3v9h-3zM3 7h18L12 2z'/%3E%3C/svg%3E") !important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 20h16v2H4zM5 9h3v9H5zm5 0h3v9h-3zm5 0h3v9h-3zM3 7h18L12 2z'/%3E%3C/svg%3E") !important;
}
.page-universities .uni-filter-card .card-title::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18l-7 8v6l-4 2v-8z'/%3E%3C/svg%3E") !important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18l-7 8v6l-4 2v-8z'/%3E%3C/svg%3E") !important;
}
.page-universities .uni-subject-picker .card-title::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 4h14v3H5zm0 5h14v3H5zm0 5h10v3H5zm0 5h7v2H5z'/%3E%3C/svg%3E") !important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 4h14v3H5zm0 5h14v3H5zm0 5h10v3H5zm0 5h7v2H5z'/%3E%3C/svg%3E") !important;
}

/* University profile location map. */
.uni-location-card{min-height:260px}
.uni-map-wrap{display:grid;grid-template-columns:minmax(170px,240px) minmax(0,1fr);gap:18px;align-items:center;margin-top:8px}
.uni-uk-map{
  position:relative;
  min-height:230px;
  border:1px solid var(--border);
  border-radius:10px;
  background:
    radial-gradient(circle at 64% 20%, color-mix(in srgb,var(--accent) 6%,transparent) 0 2px, transparent 3px),
    linear-gradient(145deg,color-mix(in srgb,var(--accent) 8%,var(--s1)),color-mix(in srgb,var(--s2) 92%,transparent));
  overflow:hidden;
}
.uni-uk-map::before{
  content:'';
  position:absolute;
  inset:18px 24px;
  background:color-mix(in srgb,var(--accent) 22%,var(--muted2));
  opacity:.28;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 320'%3E%3Cpath d='M126 7c20 12 25 35 11 53 19 14 17 35 2 47 16 17 20 38 5 55 18 17 28 42 18 66-11 27-40 20-50 42-9 19-37 37-61 28-19-7-15-30 3-39 22-12 31-31 22-51-7-16 2-33 17-46-18-16-18-37-4-53-12-15-13-35-1-49-15-22 7-49 38-53zM63 95c-11 17-28 22-45 14 2-20 18-32 39-35zm1 48c-11 23-27 32-48 26 3-22 22-41 47-45zm-16 56c-7 19-20 29-38 28 1-20 17-35 36-39z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 320'%3E%3Cpath d='M126 7c20 12 25 35 11 53 19 14 17 35 2 47 16 17 20 38 5 55 18 17 28 42 18 66-11 27-40 20-50 42-9 19-37 37-61 28-19-7-15-30 3-39 22-12 31-31 22-51-7-16 2-33 17-46-18-16-18-37-4-53-12-15-13-35-1-49-15-22 7-49 38-53zM63 95c-11 17-28 22-45 14 2-20 18-32 39-35zm1 48c-11 23-27 32-48 26 3-22 22-41 47-45zm-16 56c-7 19-20 29-38 28 1-20 17-35 36-39z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.uni-map-pin{
  position:absolute;
  width:18px;
  height:18px;
  transform:translate(-50%,-100%);
  z-index:2;
  border-radius:50% 50% 50% 0;
  background:var(--accent);
  rotate:-45deg;
  box-shadow:0 8px 22px color-mix(in srgb,var(--accent) 35%,transparent);
}
.uni-map-pin::after{
  content:'';
  position:absolute;
  inset:5px;
  border-radius:50%;
  background:var(--s1);
}
.uni-map-meta{display:grid;gap:8px;align-content:center}
.uni-map-meta strong{font-size:1.15rem;color:var(--text)}
.uni-map-meta span{color:var(--muted2);font-weight:700}
.uni-map-meta .uni-link-btn{justify-self:start;margin-top:6px}
@media (max-width:700px){.uni-map-wrap{grid-template-columns:1fr}.uni-uk-map{min-height:220px}}

/* Main top navigation: university icon and four-link alignment. */
.site-link[href*='universities']::before,
.side-uni{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 20h16v2H4zM5 9h3v9H5zm5 0h3v9h-3zm5 0h3v9h-3zM3 7h18L12 2z'/%3E%3C/svg%3E") !important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 20h16v2H4zM5 9h3v9H5zm5 0h3v9h-3zm5 0h3v9h-3zM3 7h18L12 2z'/%3E%3C/svg%3E") !important;
}
.page-papers .site-nav-inner{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  align-items:center !important;
}
.page-papers .site-link{
  min-height:48px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:9px !important;
}

/* Exam countdown top navigation alignment. */
.page-exams .site-nav-inner{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  align-items:center !important;
}
.page-exams .site-link{
  min-height:48px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:9px !important;
}
.page-exams .site-link::before{
  width:20px !important;
  height:20px !important;
  flex:0 0 20px !important;
}
.page-exams .site-link[href*='universities']::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 20h16v2H4zM5 9h3v9H5zm5 0h3v9h-3zm5 0h3v9h-3zM3 7h18L12 2z'/%3E%3C/svg%3E") !important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 20h16v2H4zM5 9h3v9H5zm5 0h3v9h-3zm5 0h3v9h-3zM3 7h18L12 2z'/%3E%3C/svg%3E") !important;
}

/* Graphite theme final surface pass: remove pale strips and fix university subject controls. */
:root[data-theme='dark'],
:root[data-theme='dark'] body{
  background:var(--body-gradient) !important;
  color:var(--text) !important;
}
:root[data-theme='dark'] .app,
:root[data-theme='dark'] .uni-app,
:root[data-theme='dark'] .page-universities,
:root[data-theme='dark'] main,
:root[data-theme='dark'] section{
  background-color:transparent !important;
}
:root[data-theme='dark'] .card,
:root[data-theme='dark'] .hero,
:root[data-theme='dark'] .filters,
:root[data-theme='dark'] .row,
:root[data-theme='dark'] .empty,
:root[data-theme='dark'] .subject-card,
:root[data-theme='dark'] .stat-box,
:root[data-theme='dark'] .setting-box,
:root[data-theme='dark'] .session-note-card,
:root[data-theme='dark'] .site-nav-inner,
:root[data-theme='dark'] .tab-inner,
:root[data-theme='dark'] .uni-card,
:root[data-theme='dark'] .uni-info-card,
:root[data-theme='dark'] .uni-compare-card,
:root[data-theme='dark'] .uni-location-card{
  background:color-mix(in srgb,var(--s1) 94%,#080a0b) !important;
  border-color:var(--border) !important;
  box-shadow:0 18px 42px rgba(0,0,0,.22) !important;
}
:root[data-theme='dark'] .table-wrap,
:root[data-theme='dark'] .uni-table-wrap,
:root[data-theme='dark'] .page-universities .table-wrap{
  background:var(--s1) !important;
  border-color:var(--border) !important;
  box-shadow:0 18px 42px rgba(0,0,0,.22) !important;
}
:root[data-theme='dark'] table,
:root[data-theme='dark'] .uni-table,
:root[data-theme='dark'] .uni-subject-table{
  background:var(--s1) !important;
  color:var(--text) !important;
}
:root[data-theme='dark'] .uni-table th,
:root[data-theme='dark'] .uni-subject-table th{
  background:var(--s3) !important;
  color:var(--muted2) !important;
  border-color:var(--border) !important;
}
:root[data-theme='dark'] .uni-table td,
:root[data-theme='dark'] .uni-subject-table td{
  background:var(--s1) !important;
  color:var(--text) !important;
  border-color:color-mix(in srgb,var(--border) 62%,transparent) !important;
}
:root[data-theme='dark'] .uni-table tr:nth-child(even) td,
:root[data-theme='dark'] .uni-subject-table tr:nth-child(even) td{
  background:#151819 !important;
}
:root[data-theme='dark'] .uni-table tr:hover td,
:root[data-theme='dark'] .uni-subject-table tr:hover td{
  background:#252a2b !important;
}
:root[data-theme='dark'] .input-field,
:root[data-theme='dark'] select:not(.theme-select),
:root[data-theme='dark'] textarea,
:root[data-theme='dark'] .alarm-select,
:root[data-theme='dark'] .page-universities .input-field{
  background:#151819 !important;
  color:var(--text) !important;
  border-color:#5f6868 !important;
  box-shadow:none !important;
  color-scheme:dark !important;
}
:root[data-theme='dark'] .input-field:focus,
:root[data-theme='dark'] select:not(.theme-select):focus,
:root[data-theme='dark'] textarea:focus,
:root[data-theme='dark'] .page-universities .input-field:focus{
  border-color:var(--accent) !important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent) !important;
}
:root[data-theme='dark'] select option{
  background:#151819 !important;
  color:var(--text) !important;
}
:root[data-theme='dark'] .uni-subject-chip{
  background:#151819 !important;
  color:var(--muted2) !important;
  border-color:var(--border) !important;
  box-shadow:none !important;
}
:root[data-theme='dark'] .uni-subject-chip.active,
:root[data-theme='dark'] .uni-subject-chip:hover{
  background:linear-gradient(135deg,var(--accent),var(--accent-2)) !important;
  color:#061917 !important;
  border-color:transparent !important;
}
:root[data-theme='dark'] .page-universities .footer,
:root[data-theme='dark'] .footer{
  background:#0d0f10 !important;
  border-top-color:var(--border) !important;
  box-shadow:none !important;
}

/* University compare page polish and faster comparison layout. */
.uni-compare-empty{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.uni-compare-empty h2{margin:6px 0 8px;font-size:1.4rem;color:var(--text)}
.uni-compare-empty p{margin:0;color:var(--muted2);line-height:1.55;max-width:720px}
.uni-compare-suggestions-head{
  padding-top:4px;
}
.uni-compare-suggestions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-start;
}
.uni-compare-suggestions button{
  border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));
  background:color-mix(in srgb,var(--accent) 8%,var(--s1));
  color:var(--accent-2);
  border-radius:999px;
  padding:8px 11px;
  font-weight:900;
  cursor:pointer;
}
.uni-compare-suggestions button:hover{background:var(--accent);color:#fff;border-color:transparent}
.uni-compare-card{
  display:flex;
  flex-direction:column;
  gap:14px;
  min-height:230px;
}
.uni-compare-card-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:start;
}
.uni-compare-card h2{
  margin:4px 0 5px;
  color:var(--text);
  font-size:1.22rem;
  line-height:1.2;
}
.uni-compare-card p{margin:0;color:var(--muted2);font-size:13px;font-weight:700}
.uni-compare-card .uni-compare-score{text-align:right;min-width:118px;margin:0}
.uni-compare-strengths{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  min-height:34px;
}
.uni-compare-strengths span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  border-radius:999px;
  padding:5px 9px;
  background:color-mix(in srgb,var(--accent) 12%,var(--s1));
  color:var(--accent-2);
  border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);
  font-size:11px;
  font-weight:900;
}
.uni-compare-card .uni-link-btn{margin-top:auto;align-self:flex-start}
.uni-compare-matrix-card{margin-top:16px}
.uni-compare-table-wrap{max-width:100%;overflow:auto}
.uni-compare-table{
  width:100%;
  min-width:860px;
  border-collapse:separate;
  border-spacing:0;
}
.uni-compare-table th,
.uni-compare-table td{
  padding:14px 16px;
  vertical-align:top;
  border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent);
  text-align:left;
}
.uni-compare-table thead th{
  position:sticky;
  top:0;
  z-index:2;
  background:var(--s3);
  color:var(--muted2);
  font-size:12px;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.uni-compare-table tbody th{
  width:190px;
  color:var(--text);
  font-weight:900;
  background:color-mix(in srgb,var(--s2) 64%,transparent);
}
.uni-compare-table td.compare-best{
  background:color-mix(in srgb,var(--accent) 9%,var(--s1));
  box-shadow:inset 3px 0 0 var(--accent);
}
.uni-compare-table td.compare-best .uni-metric-value,
.uni-compare-table td.compare-best .uni-score{color:var(--accent-2)}
@media (max-width:1100px){
  .uni-compare-empty{grid-template-columns:1fr}
  .uni-compare-suggestions{justify-content:flex-start}
}
@media (max-width:700px){
  .uni-compare-card-head{grid-template-columns:1fr}
  .uni-compare-card .uni-compare-score{text-align:left}
  .uni-compare-table{min-width:720px}
}
:root[data-theme='dark'] .uni-compare-empty,
:root[data-theme='dark'] .uni-compare-matrix-card{
  background:color-mix(in srgb,var(--s1) 94%,#080a0b) !important;
  border-color:var(--border) !important;
}
:root[data-theme='dark'] .uni-compare-table th,
:root[data-theme='dark'] .uni-compare-table td{border-color:color-mix(in srgb,var(--border) 60%,transparent) !important}
:root[data-theme='dark'] .uni-compare-table tbody th{background:var(--s2) !important;color:var(--text) !important}
:root[data-theme='dark'] .uni-compare-table td{background:var(--s1) !important;color:var(--text) !important}
:root[data-theme='dark'] .uni-compare-table td.compare-best{
  background:color-mix(in srgb,var(--accent) 12%,var(--s1)) !important;
  box-shadow:inset 3px 0 0 var(--accent) !important;
}
:root[data-theme='dark'] .uni-compare-strengths span,
:root[data-theme='dark'] .uni-compare-suggestions button{
  background:var(--s2) !important;
  color:var(--muted2) !important;
  border-color:var(--border) !important;
}
:root[data-theme='dark'] .uni-compare-suggestions button:hover{
  background:var(--accent) !important;
  color:#061917 !important;
}

/* ── StudyTracker university profile: Leaflet map container ─────── */
.uni-leaflet-map{
  width:100%;
  min-height:340px;
  border-radius:12px;
  overflow:hidden;
  border:1px solid var(--border);
}
.uni-leaflet-map .leaflet-control-zoom a{
  font-size:14px;
  font-weight:700;
}
.uni-map-meta{
  display:grid;
  gap:4px;
  padding-top:10px;
}

/* ── University page footer: match main site fixed-bottom style ──── */
.page-universities .footer{
  position:fixed !important;
  left:292px !important;
  right:0 !important;
  bottom:0 !important;
  z-index:120 !important;
  padding:8px 20px !important;
  display:grid !important;
  grid-template-columns:1fr auto 1fr !important;
  align-items:center;
  gap:10px;
  color:var(--muted2);
  font-size:12px;
  background:color-mix(in srgb,var(--bg) 86%,transparent) !important;
  border-top:1px solid color-mix(in srgb,var(--border) 70%,transparent) !important;
}
.page-universities .footer .f-left{justify-self:start;padding-left:0 !important}
.page-universities .footer .f-mid{justify-self:center}
.page-universities .footer .f-right{justify-self:end;text-align:right;padding-right:0 !important}
.page-universities .footer a{color:var(--muted2);text-decoration:none}
.page-universities .footer a:hover{text-decoration:underline}
@media (max-width:1050px){
  .page-universities .footer{left:0 !important}
}
@media (max-width:760px){
  .page-universities .footer{
    padding:12px 14px !important;
    font-size:11px;
    grid-template-columns:1fr !important;
  }
  .page-universities .footer .f-left,
  .page-universities .footer .f-mid,
  .page-universities .footer .f-right{justify-self:center;text-align:center}
}

/* Keep Support button above the taller universities fixed footer */
.page-universities .floating-support-btn{bottom:74px}
@media (max-width:760px){
  .page-universities .floating-support-btn{bottom:80px}
}

/* ── Height‑responsive sidebar: prevent internal scroll on laptops ── */
/* Compact mode: viewport ≤ 820px (1366×768 laptops) */
@media (max-height:820px){
  .study-sidebar{
    padding:20px 22px 18px;
    gap:12px;
  }
  .side-link{min-height:48px}
  .side-sub .side-link{min-height:42px}
  .side-card{
    height:234px !important;
    min-height:234px !important;
    padding:14px 18px !important;
  }
  .page-universities .side-card{min-height:234px !important}
  .side-card .side-books{
    width:118px !important;
    height:118px !important;
  }
  .side-card strong{min-height:44px !important;font-size:15px !important}
  .side-card em{min-height:18px !important;line-height:18px !important}
  .side-user{padding:10px 12px}
}

/* Tight mode: viewport ≤ 700px */
@media (max-height:700px){
  .study-sidebar{
    padding:14px 22px 12px;
    gap:8px;
  }
  .side-link{min-height:42px;font-size:14px}
  .side-sub .side-link{min-height:38px}
  .side-card{
    height:200px !important;
    min-height:200px !important;
    padding:12px 16px !important;
  }
  .page-universities .side-card{min-height:200px !important}
  .side-card .side-books{
    width:100px !important;
    height:100px !important;
  }
  .side-card strong{min-height:40px !important;font-size:14px !important;line-height:1.3 !important}
  .side-card em{min-height:16px !important;line-height:16px !important;font-size:13px}
  .side-brand span{font-size:26px}
  .side-brand small{font-size:10px}
}

/* Remove motivational sidebar card from all pages */
.side-card{display:none !important}
.side-user{margin-top:auto}

/* Exam countdown final page rail: align content to the top navigation width. */
.page-exams .site-nav,
.page-exams .exam-head,
.page-exams .exam-setup-card,
.page-exams .hero,
.page-exams .exam-summary,
.page-exams #list,
.page-exams .exam-browse-card,
.page-exams .src{
  width:100% !important;
  max-width:var(--st-rail-max) !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
}
.page-exams .exam-head{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:24px !important;
  margin-top:6px !important;
  margin-bottom:18px !important;
}
.page-exams .exam-head h1,
.page-exams .exam-head .sub{max-width:760px}
.page-exams .exam-edit-btn{
  flex:0 0 auto !important;
  align-self:flex-start !important;
  margin-right:0 !important;
}
.page-exams .exam-setup-card,
.page-exams .hero,
.page-exams .exam-browse-card{
  margin-top:0 !important;
}
@media (max-width:900px){
  .page-exams .site-nav,
  .page-exams .exam-head,
  .page-exams .exam-setup-card,
  .page-exams .hero,
  .page-exams .exam-summary,
  .page-exams #list,
  .page-exams .exam-browse-card,
  .page-exams .src{
    max-width:none !important;
  }
  .page-exams .exam-head{
    flex-direction:column !important;
    gap:14px !important;
  }
}

/* Shared top-nav look for Exam Countdown and Universities only. Study/Papers stay untouched. */
.page-exams .site-nav,
.page-universities .site-nav{
  display:block !important;
  width:100% !important;
  max-width:var(--st-rail-max) !important;
  margin:0 !important;
  padding:0 0 18px !important;
  background:transparent !important;
  position:static !important;
  box-sizing:border-box !important;
}
.page-exams .site-nav-inner,
.page-universities .site-nav-inner{
  min-height:68px !important;
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  align-items:center !important;
  gap:10px !important;
  padding:10px !important;
  border-radius:var(--st-card-radius) !important;
  box-sizing:border-box !important;
}
.page-exams .site-link,
.page-universities .site-link{
  min-height:48px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  padding:10px 14px !important;
  border-radius:var(--st-control-radius) !important;
  font-size:14px !important;
  font-weight:800 !important;
  letter-spacing:0 !important;
  text-align:center !important;
  text-decoration:none !important;
  box-sizing:border-box !important;
}
.page-exams .site-link::before,
.page-universities .site-link::before{
  content:"" !important;
  display:block !important;
  width:20px !important;
  height:20px !important;
  flex:0 0 20px !important;
  background-color:currentColor !important;
  background-image:none !important;
  -webkit-mask-repeat:no-repeat !important;
  mask-repeat:no-repeat !important;
  -webkit-mask-position:center !important;
  mask-position:center !important;
  -webkit-mask-size:contain !important;
  mask-size:contain !important;
}
.page-exams .site-link[href$='index.html']::before,
.page-universities .site-link[href$='index.html']::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2.3 11 12 3l9.7 8-1.8 2.1-1.1-.9v8.1c0 1-.8 1.7-1.7 1.7h-3.6v-6.5h-3V22H6.9c-.9 0-1.7-.7-1.7-1.7v-8.1l-1.1.9z'/%3E%3C/svg%3E") !important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2.3 11 12 3l9.7 8-1.8 2.1-1.1-.9v8.1c0 1-.8 1.7-1.7 1.7h-3.6v-6.5h-3V22H6.9c-.9 0-1.7-.7-1.7-1.7v-8.1l-1.1.9z'/%3E%3C/svg%3E") !important;
}
.page-exams .site-link[href$='papers.html']::before,
.page-universities .site-link[href$='papers.html']::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 2h8l5 5v15H6zM13 3v6h6M8 12h8v2H8zm0 4h8v2H8z'/%3E%3C/svg%3E") !important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 2h8l5 5v15H6zM13 3v6h6M8 12h8v2H8zm0 4h8v2H8z'/%3E%3C/svg%3E") !important;
}
.page-exams .site-link[href$='exams.html']::before,
.page-universities .site-link[href$='exams.html']::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h2v3h6V2h2v3h3v17H4V5h3zM6 10v10h12V10zM8 12h3v3H8z'/%3E%3C/svg%3E") !important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h2v3h6V2h2v3h3v17H4V5h3zM6 10v10h12V10zM8 12h3v3H8z'/%3E%3C/svg%3E") !important;
}
.page-exams .site-link[href*='universities']::before,
.page-universities .site-link[href*='rankings.html']::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 20h16v2H4zM5 9h3v9H5zm5 0h3v9h-3zm5 0h3v9h-3zM3 7h18L12 2z'/%3E%3C/svg%3E") !important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 20h16v2H4zM5 9h3v9H5zm5 0h3v9h-3zm5 0h3v9h-3zM3 7h18L12 2z'/%3E%3C/svg%3E") !important;
}
.page-exams .site-link.active,
.page-universities .site-link.active{
  color:#fff !important;
  box-shadow:0 18px 42px color-mix(in srgb,var(--accent) 18%,transparent) !important;
}
@media (max-width:700px){
  .page-exams .site-nav-inner,
  .page-universities .site-nav-inner{
    grid-template-columns:1fr !important;
  }
}
/* Site-wide main navigation: one authoritative bar style for every page. */
.site-nav,
.page-papers .site-nav,
.page-exams .site-nav,
.page-universities .site-nav{
  display:block !important;
  position:static !important;
  width:100% !important;
  max-width:var(--st-rail-max) !important;
  margin:0 0 18px !important;
  padding:0 !important;
  background:transparent !important;
  box-sizing:border-box !important;
}
.site-nav-inner,
.page-papers .site-nav-inner,
.page-exams .site-nav-inner,
.page-universities .site-nav-inner{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  align-items:center !important;
  gap:10px !important;
  width:100% !important;
  min-height:68px !important;
  padding:10px !important;
  border:1px solid var(--st-surface-border) !important;
  border-radius:var(--st-card-radius) !important;
  background:var(--st-surface-bg) !important;
  box-shadow:var(--st-surface-shadow) !important;
  backdrop-filter:blur(18px) !important;
  box-sizing:border-box !important;
}
.site-link,
.page-papers .site-link,
.page-exams .site-link,
.page-universities .site-link{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  width:100% !important;
  min-width:0 !important;
  min-height:48px !important;
  padding:10px 14px !important;
  border:0 !important;
  border-radius:var(--st-card-radius) !important;
  background:transparent !important;
  color:#46586e !important;
  font-family:inherit !important;
  font-size:14px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  letter-spacing:0 !important;
  text-align:center !important;
  text-decoration:none !important;
  text-transform:none !important;
  box-shadow:none !important;
  box-sizing:border-box !important;
}
.site-link:hover:not(.active),
.page-papers .site-link:hover:not(.active),
.page-exams .site-link:hover:not(.active),
.page-universities .site-link:hover:not(.active){
  color:var(--accent-2) !important;
  background:color-mix(in srgb,var(--accent) 8%,var(--s1)) !important;
}
.site-link.active,
.page-papers .site-link.active,
.page-exams .site-link.active,
.page-universities .site-link.active{
  color:#ffffff !important;
  background:linear-gradient(135deg,var(--accent),var(--accent-2)) !important;
  box-shadow:0 14px 26px color-mix(in srgb,var(--accent) 24%,transparent) !important;
}
.site-link::before,
.page-papers .site-link::before,
.page-exams .site-link::before,
.page-universities .site-link::before{
  content:"" !important;
  display:block !important;
  flex:0 0 20px !important;
  width:20px !important;
  height:20px !important;
  opacity:1 !important;
  background-color:currentColor !important;
  background-image:none !important;
  -webkit-mask-repeat:no-repeat !important;
  mask-repeat:no-repeat !important;
  -webkit-mask-position:center !important;
  mask-position:center !important;
  -webkit-mask-size:contain !important;
  mask-size:contain !important;
}
.site-link.active::before,
.page-papers .site-link.active::before,
.page-exams .site-link.active::before,
.page-universities .site-link.active::before{
  filter:none !important;
}
.site-link[href$='index.html']::before,
.site-link[href='../index.html']::before,
.site-link[href='../../index.html']::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2.3 11 12 3l9.7 8-1.8 2.1-1.1-.9v8.1c0 1-.8 1.7-1.7 1.7h-3.6v-6.5h-3V22H6.9c-.9 0-1.7-.7-1.7-1.7v-8.1l-1.1.9z'/%3E%3C/svg%3E") !important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2.3 11 12 3l9.7 8-1.8 2.1-1.1-.9v8.1c0 1-.8 1.7-1.7 1.7h-3.6v-6.5h-3V22H6.9c-.9 0-1.7-.7-1.7-1.7v-8.1l-1.1.9z'/%3E%3C/svg%3E") !important;
}
.site-link[href$='papers.html']::before,
.site-link[href='../papers.html']::before,
.site-link[href='../../papers.html']::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 2h8l5 5v15H6zM13 3v6h6M8 12h8v2H8zm0 4h8v2H8z'/%3E%3C/svg%3E") !important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 2h8l5 5v15H6zM13 3v6h6M8 12h8v2H8zm0 4h8v2H8z'/%3E%3C/svg%3E") !important;
}
.site-link[href$='exams.html']::before,
.site-link[href='../exams.html']::before,
.site-link[href='../../exams.html']::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h2v3h6V2h2v3h3v17H4V5h3zM6 10v10h12V10zM8 12h3v3H8z'/%3E%3C/svg%3E") !important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h2v3h6V2h2v3h3v17H4V5h3zM6 10v10h12V10zM8 12h3v3H8z'/%3E%3C/svg%3E") !important;
}
.site-link[href*='universities']::before,
.site-link[href*='rankings.html']::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 20h16v2H4zM5 9h3v9H5zm5 0h3v9h-3zm5 0h3v9h-3zM3 7h18L12 2z'/%3E%3C/svg%3E") !important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 20h16v2H4zM5 9h3v9H5zm5 0h3v9h-3zm5 0h3v9h-3zM3 7h18L12 2z'/%3E%3C/svg%3E") !important;
}
@media (max-width:700px){
  .site-nav-inner,
  .page-papers .site-nav-inner,
  .page-exams .site-nav-inner,
  .page-universities .site-nav-inner{
    grid-template-columns:1fr !important;
  }
}
/* Restore the original Study Tracker home icon in the main navigation. */
.site-link[href$='index.html']::before,
.site-link[href='../index.html']::before,
.site-link[href='../../index.html']::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2.3 11 12 3l9.7 8-1.8 2.1-1.1-.9v8.1c0 1-.8 1.7-1.7 1.7h-3.6v-6.5h-3V22H6.9c-.9 0-1.7-.7-1.7-1.7v-8.1l-1.1.9z'/%3E%3C/svg%3E") !important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2.3 11 12 3l9.7 8-1.8 2.1-1.1-.9v8.1c0 1-.8 1.7-1.7 1.7h-3.6v-6.5h-3V22H6.9c-.9 0-1.7-.7-1.7-1.7v-8.1l-1.1.9z'/%3E%3C/svg%3E") !important;
}

/* University section tabs: replace placeholder squares with real icons. */
.page-universities .tab[href$='rankings.html']::before,
.page-universities .tab[href='rankings.html']::before,
.page-universities .tab[href='../rankings.html']::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 20h16v2H4zM6 11h3v7H6zm5-7h3v14h-3zm5 4h3v10h-3z'/%3E%3C/svg%3E") !important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 20h16v2H4zM6 11h3v7H6zm5-7h3v14h-3zm5 4h3v10h-3z'/%3E%3C/svg%3E") !important;
}
.page-universities .tab[href$='compare.html']::before,
.page-universities .tab[href='compare.html']::before,
.page-universities .tab[href='../compare.html']::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 4h6v16H5zm8 3h6v13h-6zM7 6v12h2V6zm8 3v9h2V9z'/%3E%3C/svg%3E") !important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 4h6v16H5zm8 3h6v13h-6zM7 6v12h2V6zm8 3v9h2V9z'/%3E%3C/svg%3E") !important;
}
.page-universities .tab[href$='subjects/']::before,
.page-universities .tab[href='subjects/']::before,
.page-universities .tab[href='../subjects/']::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 6h3v3H5zm0 5h3v3H5zm0 5h3v3H5zM10 6h9v3h-9zm0 5h9v3h-9zm0 5h9v3h-9z'/%3E%3C/svg%3E") !important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 6h3v3H5zm0 5h3v3H5zm0 5h3v3H5zM10 6h9v3h-9zm0 5h9v3h-9zm0 5h9v3h-9z'/%3E%3C/svg%3E") !important;
}

/* University section tabs should read as controls, not underlined text links. */
.page-universities .tab,
.page-universities .tab:hover,
.page-universities .tab:focus,
.page-universities .tab:visited{
  text-decoration:none !important;
}

@media (max-width:760px){
  .site-nav,
  .page-papers .site-nav,
  .page-exams .site-nav,
  .page-universities .site-nav{
    display:none !important;
  }
}

/* Mobile usability pass: shared structure and page-specific narrow layouts. */
@media (max-width:760px){
  html{max-width:100%;overflow-x:clip;scroll-padding-bottom:calc(110px + env(safe-area-inset-bottom))}
  body{max-width:100%;overflow-x:clip}
  .study-sidebar{
    margin:calc(10px + env(safe-area-inset-top)) calc(10px + env(safe-area-inset-right)) 0 calc(10px + env(safe-area-inset-left));
    padding:12px;gap:10px;overflow:visible
  }
  .side-brand{margin:0 0 2px;align-items:flex-start}
  .side-brand span{font-size:26px}
  .side-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .side-main .side-link{
    position:relative;min-width:0;min-height:58px;padding:8px 9px;gap:8px;
    font-size:13px;line-height:1.2;overflow-wrap:anywhere
  }
  .side-main .side-ico{width:22px;height:22px;flex:0 0 22px}
  .side-main .side-link[href*="universities/rankings.html"]::after,
  .side-main .side-link[href="rankings.html"]::after,
  .side-main .side-link[href="../rankings.html"]::after{
    position:absolute;top:4px;right:4px;margin:0;padding:3px 5px;font-size:8px
  }
  .app,.wrap,.page-universities .uni-app{
    width:100% !important;max-width:100% !important;
    padding:14px calc(12px + env(safe-area-inset-right)) calc(92px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left)) !important
  }
  .topbar,.site-head{padding-bottom:14px !important}
  .topbar-right{
    width:100% !important;display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:center !important;gap:10px !important
  }
  .theme-label{display:none !important}
  .theme-select{
    width:100% !important;min-width:0 !important;min-height:46px !important;
    padding:9px 12px !important;font-size:16px !important
  }
  .topbar-date{white-space:nowrap;font-size:11px !important;letter-spacing:.09em !important}
  .account-cta{min-height:46px !important;padding:10px 14px !important;white-space:nowrap}
  .tabs{margin:0 !important;padding:0 0 14px !important}
  .tab-inner{min-height:58px;gap:4px !important;padding:6px !important}
  .page-study .tab-inner{grid-template-columns:repeat(4,minmax(0,1fr)) !important}
  .page-papers .tab-inner{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
  .page-universities .tab-inner{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
  .tab{
    min-width:0 !important;min-height:46px !important;gap:4px !important;
    padding:6px 4px !important;font-size:11px !important;line-height:1.15 !important;
    white-space:normal !important
  }
  .tab::before{width:18px !important;height:18px !important;flex:0 0 18px !important}
  .card,.hero,.filters,.subject-card,.stat-box,.setting-box,.session-note-card,
  .uni-card,.uni-info-card,.uni-compare-card,.uni-location-card{
    min-width:0;max-width:100%;padding:16px !important
  }
  h1{font-size:clamp(25px,8vw,32px) !important;line-height:1.12 !important}
  h2{line-height:1.2 !important}
  h1,h2,h3,.card-title,.task-n,.uni-card a,.uni-profile-head,.exam-row strong{overflow-wrap:anywhere}
  input:not([type="range"]),select,textarea,.input-field,.alarm-select{
    width:100% !important;max-width:100% !important;min-width:0 !important;
    min-height:48px !important;font-size:16px !important
  }
  input,select,textarea,button{scroll-margin-block:100px}
  .add-btn,.t-main,.t-sec,.end-btn,.s-btn,.mode-btn{min-height:46px}
  .auth-link{
    display:inline-flex;align-items:center;justify-content:center;
    min-height:44px;padding:8px 4px
  }
  #auth-card #auth-inputs{gap:8px !important}
  #auth-card #auth-inputs button{
    min-height:48px !important;padding-inline:8px !important;font-size:14px !important
  }
  #auth-card .auth-meta{gap:4px !important;align-items:center !important}
  #auth-card .auth-meta .input-hint,#auth-card #auth-status{max-width:100%;overflow-wrap:anywhere}
  .recovery-row{width:100%;gap:10px}
  .add-task-card .input-row{
    display:grid !important;grid-template-columns:1fr !important;gap:10px !important
  }
  .add-task-card .input-hint{
    grid-column:1 !important;margin-top:0 !important;line-height:1.45
  }
  .session-note-modal,.support-modal,.update-log-modal{
    align-items:end;
    padding:calc(12px + env(safe-area-inset-top)) calc(12px + env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left))
  }
  .session-note-card,.support-panel,.update-log-panel{
    width:100% !important;max-width:100% !important;
    max-height:calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    overflow-y:auto;overscroll-behavior:contain
  }
  .update-log-panel{overflow:hidden}
  .session-note-actions{display:grid;grid-template-columns:1fr 1fr}
  .session-note-actions button{min-height:46px}
  .update-log-list{gap:9px}
  .update-log-list article{padding:12px}
  .floating-support-btn{
    right:calc(12px + env(safe-area-inset-right));
    bottom:calc(12px + env(safe-area-inset-bottom));min-height:46px;padding:0 14px
  }
  .footer{
    padding:16px 14px calc(76px + env(safe-area-inset-bottom)) !important;
    gap:12px !important;overflow-wrap:anywhere
  }
  .table-wrap,.uni-table-wrap,.uni-compare-table-wrap{
    max-width:100%;overflow-x:auto !important;-webkit-overflow-scrolling:touch;
    overscroll-behavior-inline:contain;scrollbar-width:thin
  }
  .page-papers .table-wrap th:first-child,
  .page-papers .table-wrap td:first-child,
  .page-universities .uni-table:not(.uni-subject-table) th:first-child,
  .page-universities .uni-table:not(.uni-subject-table) td:first-child{
    position:sticky;left:0;z-index:2;background:var(--s1)
  }
  .page-papers .table-wrap thead th:first-child,
  .page-universities .uni-table:not(.uni-subject-table) thead th:first-child{
    z-index:3;background:var(--s3)
  }
  .page-exams .exam-head{gap:10px !important;margin-bottom:14px !important}
  .page-exams .exam-edit-btn{width:100%;margin-top:0 !important;min-height:48px}
  .page-exams .exam-section-head{gap:10px;margin-bottom:12px}
  .page-exams .exam-count-pill{min-height:40px}
  .page-exams .exam-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .page-exams .exam-actions button{min-height:46px}
  .page-exams .exam-selection-item button{min-height:44px;padding:8px 0}
  .page-exams .exam-option-pills label{min-height:44px}
  .page-exams .exam-row{padding:14px !important;gap:10px !important}
  .page-exams .exam-row > div{min-width:0;overflow-wrap:anywhere}
  .page-universities .uni-page-head,
  .page-universities .uni-profile-head,
  .page-universities .uni-section-head{gap:10px}
  .page-universities .uni-filter-grid,
  .page-universities .uni-compare-controls{grid-template-columns:1fr !important}
  .page-universities .uni-compare-controls .compare-select{
    width:100% !important;max-width:100% !important;min-width:0 !important
  }
  .uni-selected-tray{gap:10px;padding:12px}
  .uni-selected-list{width:100%}
  .uni-selected-list strong{max-width:100%;overflow-wrap:anywhere}
  .uni-compare-suggestions{display:grid;grid-template-columns:1fr;width:100%}
  .uni-compare-suggestions button{min-height:44px;text-align:left}
  .uni-compare-card .uni-link-btn,.uni-link-btn,.uni-mini-action{min-height:44px}
  .uni-subject-chips{
    flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;padding:2px 2px 10px;scrollbar-width:thin
  }
  .uni-subject-chip{flex:0 0 auto;min-height:44px;padding:9px 12px}
  .page-universities .uni-subject-table{
    display:block;width:100%;min-width:0 !important;table-layout:auto;
    background:transparent !important
  }
  .page-universities .uni-subject-table thead{display:none}
  .page-universities .uni-subject-table tbody{display:grid;gap:10px}
  .page-universities .uni-subject-table tr{
    display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px 10px;
    padding:14px;border:1px solid var(--border);border-radius:var(--st-card-radius);
    background:var(--s1)
  }
  .page-universities .uni-subject-table td{
    display:block;width:auto !important;min-width:0;padding:0 !important;
    border:0 !important;text-align:left !important;background:transparent !important
  }
  .page-universities .uni-subject-table td::before{
    display:block;margin-bottom:3px;color:var(--muted2);font-size:10px;
    font-weight:900;line-height:1.2;text-transform:uppercase;content:attr(data-label)
  }
  .page-universities .uni-subject-table td:nth-child(1){
    grid-column:1;grid-row:1 / span 4;display:grid;place-items:start center;
    padding-top:2px !important;font-size:20px
  }
  .page-universities .uni-subject-table td:nth-child(1)::before{display:none}
  .page-universities .uni-subject-table td:nth-child(n+2){grid-column:2}
  .page-universities .uni-subject-table td:nth-child(2) a,
  .page-universities .uni-subject-table td:nth-child(2) strong{
    display:block;max-width:100%;overflow-wrap:anywhere
  }
  .page-universities .uni-subject-table .uni-subject-score{font-size:24px}
  .page-universities .uni-subject-table .uni-mini-action{width:100%;margin:2px 0 0}
  .uni-rank-grid{grid-template-columns:1fr !important}
  .uni-map-wrap{gap:12px}
  .uni-uk-map{min-height:200px}
  .leaflet-touch .leaflet-bar a{width:42px;height:42px;line-height:42px}
}

@media (max-width:360px){
  .side-main .side-link{font-size:12px;padding-inline:7px}
  .tab{font-size:10px !important}
  .tab::before{display:none !important}
  #auth-card #auth-inputs{grid-template-columns:1fr !important}
  #auth-card #auth-inputs .input-field,#auth-card #auth-inputs button{grid-column:1 !important}
  .floating-support-btn{width:46px;padding:0;font-size:0}
}

@media (max-width:760px) and (orientation:landscape){
  .study-sidebar{
    display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center
  }
  .side-brand{margin:0;padding-right:10px}
  .side-brand span{font-size:22px}
  .side-brand small{font-size:9px}
  .side-main{grid-template-columns:repeat(4,minmax(0,1fr))}
  .side-main .side-link{min-height:52px;font-size:11px;padding:7px}
  .side-main .side-ico{width:19px;height:19px;flex-basis:19px}
}
/* Mobile specificity corrections. */
@media (max-width:760px){
  .page-study .topbar-right,
  .page-papers .topbar-right,
  .page-exams .topbar-right,
  .page-universities .topbar-right{
    width:100% !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:center !important;
    justify-content:stretch !important;
    gap:10px !important
  }
  .page-study .theme-select,
  .page-papers .theme-select,
  .page-exams .theme-select,
  .page-universities .theme-select{
    padding:9px 38px 9px 48px !important
  }
  .page-study .account-cta,
  .page-papers .account-cta,
  .page-exams .account-cta,
  .page-universities .account-cta{
    grid-column:1 / -1;
    width:100% !important
  }
  .page-study .add-task-card .input-row{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    grid-auto-columns:minmax(0,1fr) !important;
    grid-auto-flow:row !important
  }
  .page-study .add-task-card .input-row > *{
    grid-column:1 !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important
  }
  .page-study .footer,
  .page-papers .footer,
  .page-exams .footer,
  .page-universities .footer,
  .privacy-page .footer{
    position:static !important;
    inset:auto !important;
    width:100% !important
  }
  .page-universities .uni-table:not(.uni-subject-table) a,
  .page-papers .table-wrap a,
  .privacy-page main a,
  .page-exams .src a{
    display:inline-flex;
    align-items:center;
    min-height:44px
  }
  .privacy-page .topbar a,
  .privacy-page .topbar button{min-height:44px}
  .leaflet-popup-close-button{
    width:44px !important;
    height:44px !important;
    font-size:24px !important;
    line-height:44px !important
  }
}
/* Phone landscape usability. */
@media (max-width:900px) and (max-height:480px){
  html,body{max-width:100%;overflow-x:clip}
  .study-sidebar{
    position:static;
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    width:auto;
    min-height:0;
    margin:calc(8px + env(safe-area-inset-top)) calc(10px + env(safe-area-inset-right)) 0 calc(10px + env(safe-area-inset-left));
    padding:10px 12px;
    gap:12px;
    overflow:visible
  }
  .side-brand{margin:0;padding-right:8px;align-items:flex-start}
  .side-brand span{font-size:22px}
  .side-brand small{font-size:9px;margin-top:3px}
  .side-main{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  .side-main .side-link{
    position:relative;min-width:0;min-height:52px;padding:7px;gap:6px;
    font-size:11px;line-height:1.15;justify-content:center;text-align:center
  }
  .side-main .side-ico{width:19px;height:19px;flex:0 0 19px}
  .side-main .side-link[href*="universities/rankings.html"]::after,
  .side-main .side-link[href="rankings.html"]::after,
  .side-main .side-link[href="../rankings.html"]::after{
    position:absolute;top:3px;right:3px;margin:0;padding:2px 4px;font-size:7px
  }
  .app,.wrap,.page-universities .uni-app{
    width:100% !important;max-width:100% !important;
    padding:10px calc(12px + env(safe-area-inset-right)) calc(76px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left)) !important
  }
  .page-study .topbar-right,
  .page-papers .topbar-right,
  .page-exams .topbar-right,
  .page-universities .topbar-right{
    width:100% !important;display:flex !important;align-items:center !important;
    justify-content:flex-end !important;flex-wrap:nowrap !important;gap:10px !important
  }
  .theme-label{display:none !important}
  .theme-select{width:180px !important;min-width:0 !important;height:44px !important;font-size:16px !important}
  .account-cta{width:auto !important;min-height:44px !important;white-space:nowrap}
  .topbar-date{white-space:nowrap;font-size:11px !important;letter-spacing:.08em !important}
  .site-nav,.page-papers .site-nav,.page-exams .site-nav,.page-universities .site-nav{display:none !important}
  .tabs{padding-bottom:10px !important}
  .tab-inner{min-height:56px;padding:5px !important;gap:5px !important}
  .page-study .tab-inner{grid-template-columns:repeat(4,minmax(0,1fr)) !important}
  .page-papers .tab-inner,.page-universities .tab-inner{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
  .tab{min-height:44px !important;font-size:11px !important;padding:5px !important}
  input:not([type="range"]),select,textarea{font-size:16px !important}
  .auth-link,.uni-subject-chip,.uni-compare-suggestions button{min-height:44px}
  .page-study .footer,.page-papers .footer,.page-exams .footer,
  .page-universities .footer,.privacy-page .footer{
    position:static !important;inset:auto !important;width:100% !important;
    padding:14px 14px calc(64px + env(safe-area-inset-bottom)) !important
  }
  .floating-support-btn{
    right:calc(10px + env(safe-area-inset-right));
    bottom:calc(10px + env(safe-area-inset-bottom));
    width:46px;min-height:46px;padding:0;font-size:0
  }
}
/* Mobile floating action footprint. */
@media (max-width:760px){
  .floating-support-btn{
    right:calc(12px + env(safe-area-inset-right));
    bottom:calc(12px + env(safe-area-inset-bottom));
    width:46px;
    min-width:46px;
    max-width:46px;
    height:46px;
    min-height:46px;
    max-height:46px;
    padding:0;
    gap:0;
    border-radius:50%;
    font-size:0
  }
  .floating-support-btn > span:last-child{display:none}
  .floating-support-icon{width:20px;height:20px;flex:0 0 20px;margin:0}
}
/* Social sign-in is presented first; email/password stays one clear disclosure away. */
.oauth-divider{
  display:flex;
  align-items:center;
  gap:12px;
  margin:14px 0 12px;
  color:var(--muted2);
  font-size:12px;
  text-align:center;
}
.auth-email-toggle{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:9px 12px;
  border-radius:10px;
  color:var(--muted2);
  font:inherit;
  font-size:13px;
  font-weight:750;
  text-decoration:underline;
  text-underline-offset:3px;
  transition:color .15s,background .15s;
}
.auth-email-toggle::after{
  content:"";
  width:7px;
  height:7px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:translateY(-2px) rotate(45deg);
  transition:transform .15s;
}
.auth-email-toggle[aria-expanded="true"]::after{transform:translateY(2px) rotate(225deg)}
.auth-email-toggle:hover:not(:disabled){
  color:var(--text);
  background:color-mix(in srgb,var(--accent) 7%,transparent);
}
.auth-email-toggle:focus-visible{
  outline:3px solid color-mix(in srgb,var(--accent) 28%,transparent);
  outline-offset:2px;
}
.auth-email-toggle:disabled{cursor:wait;opacity:.58}
.auth-email-panel{margin-top:2px;animation:authEmailReveal .16s ease-out}
.auth-email-panel[hidden]{display:none !important}
.auth-email-meta{display:flex;justify-content:center;margin-top:8px}
.auth-sr-only{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}
@keyframes authEmailReveal{
  from{opacity:0;transform:translateY(-4px)}
  to{opacity:1;transform:translateY(0)}
}
@media (prefers-reduced-motion:reduce){
  .auth-email-panel{animation:none}
  .auth-email-toggle::after{transition:none}
}
.oauth-divider::before,.oauth-divider::after{
  content:"";
  flex:1;
  height:1px;
  background:var(--border);
}
.oauth-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.page-study #auth-card .oauth-actions{grid-template-columns:1fr}
.page-papers #auth-card .oauth-actions{
  grid-template-columns:repeat(2,minmax(0,400px));
  justify-content:center;
}
.page-papers #auth-card .oauth-actions.uses-standard-google{
  grid-template-columns:repeat(2,minmax(0,280px));
}
.google-signin-slot{
  min-width:0;
  min-height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
  border-radius:8px;
}
.google-signin-slot.is-disabled{
  pointer-events:none;
  cursor:wait;
  opacity:.58;
}
.google-auth-loading,.google-auth-unavailable{
  width:100%;
  min-height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px 12px;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--s2);
  color:var(--muted2);
  font-size:12px;
  font-weight:700;
}
.oauth-btn{
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:10px 14px;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--s2);
  color:var(--text);
  font:inherit;
  font-size:14px;
  font-weight:700;
  transition:border-color .15s,background .15s,transform .15s;
}
.oauth-btn:hover:not(:disabled){
  border-color:var(--accent);
  background:color-mix(in srgb,var(--accent) 7%,var(--s2));
  transform:translateY(-1px);
}
.oauth-btn:disabled{cursor:wait;opacity:.58}
.oauth-btn[hidden]{display:none}
.oauth-btn::before{
  content:"";
  width:19px;
  height:19px;
  flex:0 0 19px;
  background:center/contain no-repeat;
}
.oauth-microsoft::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23F25022' d='M2 2h9.4v9.4H2z'/%3E%3Cpath fill='%237FBA00' d='M12.6 2H22v9.4h-9.4z'/%3E%3Cpath fill='%2300A4EF' d='M2 12.6h9.4V22H2z'/%3E%3Cpath fill='%23FFB900' d='M12.6 12.6H22V22h-9.4z'/%3E%3C/svg%3E");
}
@media (max-width:600px){
  .oauth-actions,
  .page-papers #auth-card .oauth-actions,
  .page-papers #auth-card .oauth-actions.uses-standard-google{grid-template-columns:1fr}
  .oauth-btn{min-height:48px}
  .google-signin-slot,.google-auth-loading,.google-auth-unavailable{min-height:48px;width:100%}
}

/* Exam timetable: full list first, with personalisation kept in a focused modal. */
.page-exams .side-sub button.side-link{
  width:100%;
  border:0;
  text-align:left;
  font:inherit;
  cursor:pointer;
}
.page-exams .exam-section-tools{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  flex-wrap:wrap;
}
.page-exams .exam-view-switch{
  display:grid;
  grid-template-columns:repeat(2,minmax(112px,1fr));
  gap:4px;
  padding:4px;
  border:1px solid var(--border);
  border-radius:var(--st-card-radius);
  background:var(--s2);
}
.page-exams .exam-view-btn{
  min-height:44px;
  padding:9px 14px;
  border:0;
  border-radius:calc(var(--st-card-radius) - 4px);
  background:transparent;
  color:var(--muted2);
  font-size:13px;
  font-weight:800;
  cursor:pointer;
  transition:background-color 160ms ease,color 160ms ease,box-shadow 160ms ease;
}
.page-exams .exam-view-btn:hover:not(.active){
  color:var(--accent-2);
  background:color-mix(in srgb,var(--accent) 8%,transparent);
}
.page-exams .exam-view-btn.active{
  color:#fff;
  background:linear-gradient(135deg,var(--accent),var(--accent-2));
  box-shadow:0 8px 18px color-mix(in srgb,var(--accent) 20%,transparent);
}
:root[data-theme='dark'] .page-exams .exam-view-btn.active{color:#061917}
.page-exams .exam-view-btn:focus-visible,
.page-exams .exam-modal-close:focus-visible{
  outline:3px solid color-mix(in srgb,var(--accent) 38%,transparent);
  outline-offset:2px;
}
.page-exams .exam-my-overview[hidden],
.page-exams .exam-browse-filters[hidden]{display:none !important}
.page-exams .exam-my-overview{
  margin-bottom:16px;
}
.page-exams .exam-next-compact{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  column-gap:22px;
  margin:0 0 10px !important;
  padding:14px 16px !important;
  box-shadow:none !important;
}
.page-exams .exam-next-compact .hero-label,
.page-exams .exam-next-compact .hero-main,
.page-exams .exam-next-compact .meta{grid-column:1}
.page-exams .exam-next-compact .hero-main{font-size:clamp(1rem,2vw,1.35rem) !important}
.page-exams .exam-next-compact .hero-time{
  grid-column:2;
  grid-row:1 / span 3;
  margin:0;
  text-align:right;
  white-space:nowrap;
}
.page-exams .exam-next-compact .meta{margin-top:6px}
.page-exams .exam-my-overview .exam-summary{
  max-width:none !important;
  margin:0 !important;
}
.page-exams .exam-personal-empty{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  padding:28px 18px !important;
}
.page-exams .exam-personal-empty strong{color:var(--text);font-size:16px}
.page-exams .exam-personal-empty span{max-width:480px}
.page-exams .exam-personal-empty .add-btn{margin-top:4px}
.page-exams .exam-setup-dialog{
  width:min(980px,calc(100vw - 32px));
  max-width:980px;
  max-height:calc(100dvh - 40px);
  margin:auto;
  padding:0;
  border:0;
  background:transparent;
  color:var(--text);
  overflow:visible;
}
.page-exams .exam-setup-dialog::backdrop{
  background:rgba(7,24,23,.58);
  backdrop-filter:blur(5px);
}
.page-exams .exam-setup-dialog[open]{animation:studytracker-rise-in 180ms cubic-bezier(.22,.8,.32,1) both}
.page-exams .exam-setup-dialog .exam-setup-card{
  width:100% !important;
  max-width:none !important;
  max-height:calc(100dvh - 40px);
  margin:0 !important;
  padding:22px !important;
  overflow:auto;
}
.page-exams .exam-modal-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin-bottom:18px;
}
.page-exams .exam-modal-head p{
  margin:6px 0 0;
  color:var(--muted2);
  font-size:13px;
}
.page-exams .exam-modal-close{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 44px;
  width:44px;
  min-height:44px;
  border:1px solid var(--border);
  border-radius:var(--st-card-radius);
  background:var(--s2);
  color:var(--muted2);
  font-size:26px;
  line-height:1;
  cursor:pointer;
}
.page-exams .exam-modal-close:hover{color:var(--text);border-color:var(--accent)}
body:has(.exam-setup-dialog[open]){overflow:hidden}
@media (max-width:700px){
  .page-exams .exam-section-tools{width:100%;justify-content:space-between}
  .page-exams .exam-view-switch{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}
  .page-exams .exam-count-pill{margin-left:auto}
  .page-exams .exam-next-compact{display:block}
  .page-exams .exam-next-compact .hero-time{text-align:left;margin-top:6px;white-space:normal}
  .page-exams .exam-setup-dialog{
    width:100%;
    max-width:none;
    max-height:calc(100dvh - 18px);
    margin:auto 0 0;
  }
  .page-exams .exam-setup-dialog .exam-setup-card{
    max-height:calc(100dvh - 18px);
    padding:18px 14px calc(20px + env(safe-area-inset-bottom)) !important;
    border-radius:20px 20px 0 0 !important;
  }
}
@media (prefers-reduced-motion:reduce){
  .page-exams .exam-setup-dialog[open]{animation:none}
  .page-exams .exam-view-btn{transition:none}
}

/* Past papers: qualification-aware GCSE foundation. */
.page-papers .pp-qualification-switch{
  width:min(360px,100%);
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:4px;
  margin:0 0 12px;
  padding:4px;
  border:1px solid var(--border);
  border-radius:var(--st-card-radius);
  background:var(--s2);
}
.page-papers .pp-qualification-btn{
  min-height:44px;
  padding:9px 14px;
  border:0;
  border-radius:calc(var(--st-card-radius) - 4px);
  background:transparent;
  color:var(--muted2);
  font:inherit;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
  transition:background-color 160ms ease,color 160ms ease,box-shadow 160ms ease;
}
.page-papers .pp-qualification-btn:hover:not(.active){
  color:var(--accent-2);
  background:color-mix(in srgb,var(--accent) 8%,transparent);
}
.page-papers .pp-qualification-btn.active{
  color:#fff;
  background:linear-gradient(135deg,var(--accent),var(--accent-2));
  box-shadow:0 8px 18px color-mix(in srgb,var(--accent) 20%,transparent);
}
:root[data-theme='dark'] .page-papers .pp-qualification-btn.active{color:#061917}
.page-papers .pp-qualification-btn:focus-visible,
.page-papers .pp-delete-paper:focus-visible{
  outline:3px solid color-mix(in srgb,var(--accent) 38%,transparent);
  outline-offset:2px;
}
.page-papers .pp-metadata-row{margin-top:10px}
.page-papers .paper-add-card [hidden]{display:none !important}
.page-papers .pp-filter-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-bottom:14px;
}
.page-papers .pp-filter-row .input-field{
  min-width:0;
  padding:12px 14px;
  font-size:14px;
}
.page-papers .pp-attempt-table{min-width:1120px}
.page-papers .pp-attempt-table td{vertical-align:middle}
.page-papers .pp-attempt-table td small{
  display:block;
  max-width:260px;
  margin-top:4px;
  color:var(--muted2);
  font-size:11px;
  line-height:1.35;
}
.page-papers .pp-attempt-cards{display:none}
.page-papers .pp-attempt-empty{
  padding:18px;
  border:1px dashed var(--border);
  border-radius:14px;
  text-align:center;
}
.page-papers .subject-top strong small{
  color:var(--muted2);
  font-size:11px;
  font-weight:700;
}
@media (max-width:760px){
  .page-papers .pp-qualification-switch{width:100%}
  .page-papers .paper-add-card .input-row,
  .page-papers .pp-filter-row{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  .page-papers .pp-attempt-table-wrap{display:none}
  .page-papers .pp-attempt-cards{display:grid;gap:12px}
  .page-papers .pp-attempt-card{
    padding:14px;
    border:1px solid var(--border);
    border-radius:14px;
    background:var(--s2);
  }
  .page-papers .pp-attempt-card-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:12px;
  }
  .page-papers .pp-attempt-card-head > div{display:flex;align-items:center;gap:8px;min-width:0}
  .page-papers .pp-attempt-card-head strong{overflow-wrap:anywhere}
  .page-papers .pp-attempt-card dl{display:grid;gap:0;margin:0 0 12px}
  .page-papers .pp-attempt-card dl div{
    display:grid;
    grid-template-columns:minmax(98px,.7fr) minmax(0,1.3fr);
    gap:10px;
    padding:8px 0;
    border-bottom:1px solid var(--border);
  }
  .page-papers .pp-attempt-card dt{color:var(--muted2);font-size:12px;font-weight:700}
  .page-papers .pp-attempt-card dd{margin:0;color:var(--text);font-size:13px;text-align:right;overflow-wrap:anywhere}
  .page-papers .pp-attempt-card .pp-delete-paper{width:100%;min-height:44px;justify-content:center}
}

/* Smooth full-page navigation while preserving normal links and browser history. */
@view-transition{
  navigation:auto;
}
::view-transition-old(root){
  animation:160ms ease-out both studytracker-page-out;
}
::view-transition-new(root){
  animation:160ms ease-out both studytracker-page-in;
}
@keyframes studytracker-page-out{
  to{opacity:0}
}
@keyframes studytracker-page-in{
  from{opacity:0}
}
@media (prefers-reduced-motion:reduce){
  ::view-transition-old(root),
  ::view-transition-new(root){
    animation-duration:0.01ms;
  }
}

/* Shared StudyTracker entrance motion for pages and existing subsections. */
@keyframes studytracker-rise-in{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:translateY(0)}
}
.view.active,
.page-exams .wrap > .exam-head,
.page-exams .wrap > .exam-setup-card,
.page-exams .wrap > #next-exam-section,
.page-exams .wrap > #examSummary,
.page-exams .wrap > #list,
.page-exams .wrap > #exam-timetable-section,
.page-exams .wrap > #sourceList,
.page-universities .uni-app > section,
.page-universities .uni-app > main,
.privacy-page .app > .card{
  animation:studytracker-rise-in 240ms cubic-bezier(.22,.8,.32,1) both;
}
.page-exams .wrap > .exam-setup-card,
.page-universities .uni-app > section:nth-of-type(2),
.privacy-page .app > .card:nth-of-type(2){animation-delay:30ms}
.page-exams .wrap > #next-exam-section,
.page-universities .uni-app > section:nth-of-type(3),
.privacy-page .app > .card:nth-of-type(3){animation-delay:60ms}
.page-exams .wrap > #examSummary,
.page-exams .wrap > #list,
.privacy-page .app > .card:nth-of-type(n+4){animation-delay:90ms}
@media (prefers-reduced-motion:reduce){
  .view.active,
  .page-exams .wrap > .exam-head,
  .page-exams .wrap > .exam-setup-card,
  .page-exams .wrap > #next-exam-section,
  .page-exams .wrap > #examSummary,
  .page-exams .wrap > #list,
  .page-exams .wrap > #exam-timetable-section,
  .page-exams .wrap > #sourceList,
  .page-universities .uni-app > section,
  .page-universities .uni-app > main,
  .privacy-page .app > .card{animation:none !important}
}

/* Graphite: neutral dark surfaces with the existing StudyTracker mint identity. */
:root[data-theme='dark'] .theme-label,
:root[data-theme='dark'] .topbar-date{color:var(--muted2) !important}
:root[data-theme='dark'] .theme-select{
  background:radial-gradient(circle at 23px 50%,#7f8b88 0 10px,transparent 11px),linear-gradient(180deg,var(--s1),var(--s2)) !important;
  color:var(--text) !important;
  border-color:#5f6868 !important;
  box-shadow:0 10px 28px rgba(0,0,0,.28) !important;
}
:root[data-theme='dark'] .account-cta,
:root[data-theme='dark'] .add-btn,
:root[data-theme='dark'] .t-main,
:root[data-theme='dark'] .site-link.active,
:root[data-theme='dark'] .tab.active,
:root[data-theme='dark'] .mode-btn.active,
:root[data-theme='dark'] .hist-pill.active,
:root[data-theme='dark'] .floating-support-btn,
:root[data-theme='dark'] .uni-mini-action:hover,
:root[data-theme='dark'] .uni-compare-suggestions button:hover{
  color:#061917 !important;
}
:root[data-theme='dark'] .mode-btn.active,
:root[data-theme='dark'] .hist-pill.active{
  background:linear-gradient(135deg,var(--accent),var(--accent-2)) !important;
  border-color:transparent !important;
}
:root[data-theme='dark'] .side-user,
:root[data-theme='dark'] .side-card{
  box-shadow:0 14px 34px rgba(0,0,0,.24) !important;
}
:root[data-theme='dark'] ::selection{background:color-mix(in srgb,var(--accent) 38%,transparent);color:var(--text)}

/* Public university navigation after retiring the separate subject rankings. */
.page-universities .tab-inner.uni-public-tabs{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}
