*,*::before,*::after{letter-spacing:0}

: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%);
}

html{font-size:16px}

html,body{
  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{margin-top:5px;color:var(--muted2);font-size:11px;font-weight:600}

.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:8px;
  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-ico{
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  color:inherit;
  font-size:11px;
  font-weight:800;
  border-radius:7px;
  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:8px;
  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:8px;
  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:24px 44px 110px 336px !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;
}

.theme-select{
  min-width:154px;
  height:44px;
  padding:0 44px 0 48px !important;
  border:1px solid var(--border) !important;
  border-radius:8px !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:8px;
  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 rgba(219,232,232,.88) !important;
  border-radius:8px !important;
  background:rgba(255,255,255,.88) !important;
  box-shadow:0 18px 46px rgba(52,78,98,.08) !important;
  backdrop-filter:blur(18px);
}

.site-link,.tab{
  display:flex !important;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:48px;
  border-radius:8px !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{
  border:1px solid rgba(219,232,232,.9) !important;
  border-radius:8px !important;
  background:rgba(255,255,255,.9) !important;
  box-shadow:0 18px 46px rgba(52,78,98,.08) !important;
  backdrop-filter:blur(18px);
}

.card{
  padding:24px !important;
  margin-bottom:18px !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:7px !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:7px !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:7px !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:8px;
  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:8px !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}

.hist-cal,.chart-area,.subject-chart{
  border:1px solid var(--border);
  border-radius:8px;
  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:8px !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:24px !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{
  border:1px solid var(--border);
  border-radius:8px;
  padding:16px !important;
  background:rgba(255,255,255,.88);
  box-shadow:0 18px 46px rgba(52,78,98,.08);
  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:8px;
  }
  .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:18px 14px 96px !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-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:none}
.study-sidebar::-webkit-scrollbar{display:none}
#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:28px 62px 116px 348px !important;
  }
  .site-nav,.tabs,.view.active,.top,.hero,.grid,.src{max-width:1440px}
  #view-session.active{grid-template-columns:330px minmax(760px,1fr);max-width:1440px;gap:22px}
  .add-task-card .input-row{grid-template-columns:minmax(220px,1.25fr) minmax(180px,1fr) 140px 150px}
  .card{padding:28px !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:1440px}
  .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']{
  --bg:#101a26;--s1:#142235;--s2:#0f1926;--s3:#1b2d42;--border:#35506a;--text:#eff7ff;--muted:#8095ab;--muted2:#aebfd0;--accent:#58bef3;--accent-2:#38a7e3;--blue:#58bef3;--green:#65d8ae;--red:#ff8195;--purple:#a3adff;--yellow:#f2c066;--body-gradient:radial-gradient(760px 360px at 18% 0,rgba(88,190,243,.16),transparent 68%),radial-gradient(680px 340px at 95% 16%,rgba(101,216,174,.08),transparent 66%),linear-gradient(180deg,#142333 0%,#0d1723 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{background:color-mix(in srgb,var(--s1) 92%,transparent) !important;border-color:var(--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{-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{-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{-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}
}
/* Slate-only 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(--s2),#0d1722) !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:#132338 !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,23,35,.9) !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:#90a3b8 !important}
/* Slate 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:#9fb3c8 !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:#101a26 !important;
  background-image:linear-gradient(180deg,#17263a,#0e1825) !important;
}
:root[data-theme='dark'] .sec-btn:hover,
:root[data-theme='dark'] .t-sec:hover{
  border-color:var(--accent) !important;
  color:#eff7ff !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;
  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:8px;
  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;margin:0 0 22px}
.update-log-list article{
  display:grid;
  gap:4px;
  padding:14px 16px;
  border:1px solid var(--border);
  border-radius:8px;
  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:7px;
  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:8px;
  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:8px;
  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:7px;
  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:7px;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:1440px !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,
  .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(--desktop-rail-max) !important;
  }
  #view-session.active{
    max-width:var(--desktop-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-head{
  align-items:center !important;
}
.page-exams .exam-edit-btn{
  min-width:140px;
}
.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:8px;
  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:8px;
  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:8px;
  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(--desktop-rail-max,1440px);
  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(--desktop-rail-max,1440px) !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:8px;
  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(--desktop-rail-max,1440px) !important;
  margin-left:auto !important;
  margin-right:auto !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;
}

/* Keep the exam year dropdown separated from the subject selector. */
.page-exams .exam-form-grid{
  grid-template-columns:minmax(132px,.36fr) minmax(240px,1fr) minmax(220px,1fr) minmax(300px,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;
  font-weight:750;
}

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