/* LINEA Aurora — user Liquid Glass preference. Visual-only; no layout contract changes. */
.linea-appearance-trigger{
  width:100%;
  margin:4px 0 0;
  padding:8px 10px;
  border:1px solid var(--linea-glass-line,rgba(105,150,209,.23));
  border-radius:10px;
  background:var(--linea-glass-panel-soft,rgba(18,42,72,.52));
  color:var(--linea-text-secondary,#afd7ff);
  text-align:left;
  font:inherit;
  cursor:pointer;
}
.linea-appearance-trigger:hover{border-color:var(--linea-nav-hover-border);background:var(--linea-nav-hover-bg);color:var(--linea-nav-text-hover)}

.linea-appearance-overlay{
  position:fixed;inset:0;z-index:10000;display:none;place-items:center;padding:20px;
  background:rgba(1,6,14,.60);
  backdrop-filter:blur(var(--linea-glass-blur-soft)) saturate(var(--linea-glass-saturation));
  -webkit-backdrop-filter:blur(var(--linea-glass-blur-soft)) saturate(var(--linea-glass-saturation));
}
.linea-appearance-overlay[data-open="true"]{display:grid}
.linea-appearance-panel{
  width:min(520px,100%);padding:22px;border:1px solid var(--linea-glass-line-strong);
  border-radius:var(--linea-radius-panel,16px);color:var(--linea-text-primary);
  background:var(--linea-glass-panel-strong);
  box-shadow:var(--linea-shadow-panel);
  backdrop-filter:blur(var(--linea-glass-blur-strong)) saturate(var(--linea-glass-saturation));
  -webkit-backdrop-filter:blur(var(--linea-glass-blur-strong)) saturate(var(--linea-glass-saturation));
}
.linea-appearance-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.linea-appearance-head h2{margin:3px 0 0;color:var(--linea-text-primary);font-size:22px}
.linea-appearance-kicker{color:var(--linea-aurora-cyan);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.linea-appearance-close{
  width:36px;height:36px;border:1px solid var(--linea-glass-line);border-radius:10px;
  background:var(--linea-glass-panel-soft);color:var(--linea-text-primary);font-size:24px;line-height:1;cursor:pointer
}

.linea-glass-settings{display:grid;gap:12px}
.linea-glass-setting-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.linea-glass-setting-title>div{display:grid;gap:2px}
.linea-glass-setting-title strong{color:var(--linea-text-primary);font-size:14px}
.linea-glass-setting-title [data-linea-glass-state]{color:var(--linea-text-subtle);font-size:12px}
.linea-glass-setting-title output{color:var(--linea-aurora-cyan);font-size:14px;font-weight:750}
.linea-glass-settings input[type="range"]{width:100%;accent-color:var(--linea-aurora-blue);cursor:pointer}
.linea-glass-settings input[type="range"]:disabled{cursor:not-allowed;opacity:.5}
.linea-glass-scale{display:flex;justify-content:space-between;color:var(--linea-text-subtle);font-size:10px}
.linea-glass-help{margin:2px 0 0;color:var(--linea-text-muted);font-size:11px;line-height:1.5}
.student-profile-card .linea-glass-settings{max-width:660px}

/* The intensity controller owns blur for the common role shells through canonical tokens. */
html[data-linea-glass-preference] body.glass-home.glass-workspace{
  --lg-bg:var(--linea-glass-liquid-bg);
  --lg-bg-strong:var(--linea-glass-liquid-bg-strong);
}
html[data-linea-glass-preference] body.glass-home.glass-workspace #shell :is(
  .sidebar,.card,.topbar .global-search,.topbar .server-clock-stack,.date-pills,
  .gs-management-date,.schedule-workspace,.home-date-strip,.home-today-anchor,.home-today-anchor-r3,.toast
){
  backdrop-filter:blur(var(--linea-glass-blur)) saturate(var(--linea-glass-saturation))!important;
  -webkit-backdrop-filter:blur(var(--linea-glass-blur)) saturate(var(--linea-glass-saturation))!important;
}
html[data-linea-glass-preference] body.glass-home.glass-workspace.glass-page-home #shell .date-pills.academic-context-pills{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
html[data-linea-glass-preference] body.glass-home.glass-workspace :is(
  .modal,.drawer,.help-popover,.attendance-popover,#qrPresenter
){
  backdrop-filter:blur(var(--linea-glass-blur-strong)) saturate(var(--linea-glass-saturation))!important;
  -webkit-backdrop-filter:blur(var(--linea-glass-blur-strong)) saturate(var(--linea-glass-saturation))!important;
}
html[data-linea-glass-preference] body.student-cabinet-body :is(.student-top,.student-nav,.student-shell .card){
  backdrop-filter:blur(var(--linea-glass-blur)) saturate(var(--linea-glass-saturation))!important;
  -webkit-backdrop-filter:blur(var(--linea-glass-blur)) saturate(var(--linea-glass-saturation))!important;
}

html.linea-glass-off body.glass-home.glass-workspace #shell :is(
  .sidebar,.card,.topbar .global-search,.topbar .server-clock-stack,.date-pills,
  .gs-management-date,.schedule-workspace,.home-date-strip,.home-today-anchor,.home-today-anchor-r3,.toast
),
html.linea-glass-off body.glass-home.glass-workspace :is(.modal,.drawer,.help-popover,.attendance-popover,#qrPresenter),
html.linea-glass-off body.student-cabinet-body :is(.student-top,.student-nav,.student-shell .card),
html.linea-glass-off .linea-appearance-overlay,
html.linea-glass-off .linea-appearance-panel{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

html[data-linea-glass-preference] body.glass-home.glass-workspace.lightweight #shell :is(.sidebar,.card,.topbar .global-search,.topbar .server-clock-stack),
html[data-linea-glass-preference] body.glass-home.glass-workspace.lightweight :is(.modal,.drawer,.help-popover,.attendance-popover){
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

@media(prefers-reduced-transparency:reduce){
  html body.glass-home.glass-workspace #shell :is(.sidebar,.card,.topbar .global-search,.topbar .server-clock-stack),
  html body.glass-home.glass-workspace :is(.modal,.drawer,.help-popover,.attendance-popover),
  html body.student-cabinet-body :is(.student-top,.student-nav,.student-shell .card){
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .linea-appearance-trigger,.linea-appearance-panel,.linea-glass-settings input{transition:none!important}
}
