/*
 * Rainy Day global foundation v1
 * Keeps every study view on the same visual and type system as the home view.
 * Loaded after page-specific styles so those views cannot restyle the shared shell.
 */
html[data-ui-preset="rainy"]{
  --rainy-ink:#003f7d;
  --rainy-ink-soft:#176e9b;
  --rainy-ink-faint:#5689a5;
  --rainy-accent:#00a9e8;
  --rainy-accent-deep:#007fc2;
  --rainy-glass:linear-gradient(145deg,rgba(226,247,255,.94),rgba(174,223,249,.87));
  --rainy-glass-soft:linear-gradient(145deg,rgba(233,249,255,.86),rgba(181,225,247,.75));
  --rainy-glass-line:rgba(142,218,255,.68);
  --rainy-glass-shadow:0 16px 38px rgba(0,72,126,.14),inset 0 1px rgba(255,255,255,.82);
  --rainy-control:rgba(238,250,255,.82);
  --rainy-control-line:rgba(48,143,190,.25);
  font-size:16px;
}

html[data-ui-preset="rainy"] body{
  color:var(--rainy-ink);
  font-size:15px;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* One sidebar on every tab: same palette, dimensions and states as Rainy Day home. */
html[data-ui-preset="rainy"] .side{
  background:linear-gradient(180deg,rgba(4,31,67,.95) 0%,rgba(5,42,83,.89) 58%,rgba(4,39,75,.72) 100%)!important;
  border-right:1px solid rgba(173,222,255,.2)!important;
  box-shadow:14px 0 38px rgba(5,36,68,.18),inset -1px 0 rgba(184,226,255,.1)!important;
}
html[data-ui-preset="rainy"] .side-logo{
  min-height:88px;
  padding:0 12px;
}
html[data-ui-preset="rainy"] .side-logo-mark{
  display:none;
}
html[data-ui-preset="rainy"] .side-logo-txt b{
  color:#f3fbff!important;
  font-size:21px!important;
  font-weight:760;
  letter-spacing:.22em;
  text-shadow:0 2px 16px rgba(26,116,190,.42);
}
html[data-ui-preset="rainy"] .side-logo-txt small{
  display:none;
}
html[data-ui-preset="rainy"] .side-collapse-btn{
  color:rgba(216,239,255,.58);
}
html[data-ui-preset="rainy"] .side-collapse-btn:hover{
  background:rgba(132,197,239,.12)!important;
  color:#fff;
}
html[data-ui-preset="rainy"] .side-nav{
  gap:3px;
  padding:0 2px;
}
html[data-ui-preset="rainy"] .side-item{
  min-height:40px;
  gap:12px;
  padding:8px 13px;
  border:1px solid transparent;
  border-radius:11px;
  color:rgba(222,239,250,.76)!important;
  font-size:13px!important;
  font-weight:610;
  letter-spacing:-.01em;
}
html[data-ui-preset="rainy"] .side-item .side-ico{
  display:flex;
  width:18px;
  flex:0 0 18px;
  align-items:center;
  justify-content:center;
}
html[data-ui-preset="rainy"] .side-item .side-ico svg{
  width:17px;
  height:17px;
}
html[data-ui-preset="rainy"] .side-item:hover{
  border-color:rgba(167,215,247,.1);
  background:rgba(118,181,224,.1)!important;
  color:#fff!important;
}
html[data-ui-preset="rainy"] .side-item.active{
  border-color:rgba(139,204,250,.35);
  background:linear-gradient(100deg,rgba(59,142,211,.46),rgba(31,99,166,.31))!important;
  color:#fff!important;
  box-shadow:inset 3px 0 #9ed9ff,0 8px 22px rgba(2,27,59,.24),0 0 18px rgba(63,153,223,.12)!important;
}
html[data-ui-preset="rainy"] .side-item.active .side-ico{
  color:#fff;
}
html[data-ui-preset="rainy"] .side-sep{
  height:0;
  margin:6px 10px!important;
  background:transparent!important;
}
html[data-ui-preset="rainy"] .side-bottom{
  gap:7px;
  padding-top:44px;
}
html[data-ui-preset="rainy"] .side-date-status{
  min-height:38px;
  padding:0 12px;
  border-color:rgba(172,220,250,.18);
  background:rgba(7,43,79,.48);
  color:rgba(241,249,252,.82)!important;
  font-size:10.5px!important;
  box-shadow:inset 0 1px rgba(255,255,255,.05);
}
html[data-ui-preset="rainy"] .side-date-status strong{
  color:#9bd8ff;
  font-size:13px!important;
}
html[data-ui-preset="rainy"] .side-mode-toggle{
  min-height:48px;
  border-color:rgba(172,220,250,.18)!important;
  background:rgba(7,43,79,.48)!important;
  color:#f2fbff!important;
  box-shadow:inset 0 1px rgba(255,255,255,.05);
}
html[data-ui-preset="rainy"] .side-mode-toggle:hover{
  border-color:rgba(172,220,250,.3)!important;
  background:rgba(19,66,108,.62)!important;
}
html[data-ui-preset="rainy"] .side-mode-toggle b{font-size:12px!important}
html[data-ui-preset="rainy"] .side-mode-toggle small{
  color:rgba(222,243,253,.66)!important;
  font-size:9px!important;
}

/* Shared content frame. Page-specific layouts remain intact. */
html[data-ui-preset="rainy"] .main{
  color:var(--rainy-ink);
}
html[data-ui-preset="rainy"] .main-content{
  width:100%;
  padding-top:24px;
  padding-right:28px;
  padding-left:28px;
}
html[data-ui-preset="rainy"] .main-content.wide{
  width:100%;
  max-width:1600px;
  padding-top:24px!important;
  padding-right:28px;
  padding-left:28px;
}
html[data-ui-preset="rainy"] #panelHost{
  color:var(--rainy-ink);
  font-size:14px;
  line-height:1.5;
}
html[data-ui-preset="rainy"] #panelHost h1{
  color:var(--rainy-ink)!important;
  font-size:max(28px,1em)!important;
  line-height:1.15;
  letter-spacing:-.04em;
}
html[data-ui-preset="rainy"] #panelHost h2{
  color:#074b79!important;
  font-size:max(17px,1em)!important;
  line-height:1.3;
}
html[data-ui-preset="rainy"] #panelHost h3{
  color:#105b86;
  font-size:max(14.5px,1em)!important;
  line-height:1.35;
}
html[data-ui-preset="rainy"] #panelHost p,
html[data-ui-preset="rainy"] #panelHost label,
html[data-ui-preset="rainy"] #panelHost input,
html[data-ui-preset="rainy"] #panelHost select,
html[data-ui-preset="rainy"] #panelHost textarea,
html[data-ui-preset="rainy"] #panelHost td,
html[data-ui-preset="rainy"] #panelHost th{
  font-size:max(13px,.94em)!important;
}
html[data-ui-preset="rainy"] #panelHost small{
  font-size:max(11px,.78em)!important;
  line-height:1.45;
}
html[data-ui-preset="rainy"] #panelHost button:not(.rd-day-add):not(.rd-week-day-head):not(.rd-week-nav button):not(.rd-month-nav button){
  font-size:max(12px,.86em)!important;
}
html[data-ui-preset="rainy"] #panelHost .muted{
  color:var(--rainy-ink-faint)!important;
}

/* Give legacy tabs the same blue glass material as the home cards. */
html[data-ui-preset="rainy"]:not([data-rainy-view="home"]) #panelHost :where(
  .card,
  .h2-widget,
  .hv4-card,
  .gx2-list-col,
  .gx2-wcol,
  .gx2-section,
  .ch-side-card,
  .chv3-side-card,
  .cgv2-card,
  .cgv2-toolbar,
  .lsv1-card,
  .lsv1-small-card,
  .lsv1-tabs,
  .rv-stat,
  .rv-hero,
  .rv3-card,
  .bs-stat-card,
  .bs-kpi-card,
  .bs-goal-stat-card,
  .tb-card2,
  .tle-section,
  .table-wrap
){
  border-color:var(--rainy-glass-line)!important;
  background:linear-gradient(145deg,rgba(226,247,255,.97),rgba(174,223,249,.94))!important;
  box-shadow:var(--rainy-glass-shadow)!important;
}
html[data-ui-preset="rainy"]:not([data-rainy-view="home"]) #panelHost :where(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  select,
  textarea
){
  min-height:39px;
  border-color:var(--rainy-control-line)!important;
  background:var(--rainy-control)!important;
  color:#084f79!important;
  box-shadow:inset 0 1px rgba(255,255,255,.65);
}
html[data-ui-preset="rainy"]:not([data-rainy-view="home"]) #panelHost :where(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
  select,
  textarea
):focus{
  border-color:var(--rainy-accent)!important;
  box-shadow:0 0 0 3px rgba(0,169,232,.12)!important;
  outline:0;
}
html[data-ui-preset="rainy"]:not([data-rainy-view="home"]) #panelHost :where(.btn,.btn-mini,.ibtn){
  min-height:36px;
  border-color:rgba(38,142,190,.28)!important;
  background:rgba(230,248,255,.82)!important;
  color:#176f9b!important;
  box-shadow:0 4px 11px rgba(0,91,145,.07);
}
html[data-ui-preset="rainy"]:not([data-rainy-view="home"]) #panelHost :where(.btn.primary,.btn-mini.primary,button.primary){
  border-color:transparent!important;
  background:linear-gradient(135deg,#13b9ee,#007fc3)!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(0,123,187,.2)!important;
}

/* Planner readability: previous 7–10px labels were too small on real monitors. */
html[data-ui-preset="rainy"][data-rainy-view="planner"] .rd-planner-head>div>span{
  font-size:12px!important;
}
html[data-ui-preset="rainy"][data-rainy-view="planner"] .rd-week-nav strong{
  font-size:15px!important;
}
html[data-ui-preset="rainy"][data-rainy-view="planner"] .rd-today-button{
  min-width:66px;
  font-size:11px!important;
}
html[data-ui-preset="rainy"][data-rainy-view="planner"] .rd-week-day-head span{
  font-size:11px!important;
}
html[data-ui-preset="rainy"][data-rainy-view="planner"] .rd-week-day-head strong{
  font-size:17px!important;
}
html[data-ui-preset="rainy"][data-rainy-view="planner"] .rd-day-meta{
  color:#3f82a5;
  font-size:10px!important;
}
html[data-ui-preset="rainy"][data-rainy-view="planner"] .rd-week-plans>button{
  min-height:70px;
  padding:10px 8px 9px 14px;
}
html[data-ui-preset="rainy"][data-rainy-view="planner"] .rd-week-plans b{
  font-size:12px!important;
  line-height:1.35;
}
html[data-ui-preset="rainy"][data-rainy-view="planner"] .rd-week-plans small{
  margin-top:6px;
  font-size:10px!important;
}
html[data-ui-preset="rainy"][data-rainy-view="planner"] .rd-more{
  font-size:10px!important;
}
html[data-ui-preset="rainy"][data-rainy-view="planner"] .rd-quick-add>label{
  font-size:12px!important;
}
html[data-ui-preset="rainy"][data-rainy-view="planner"] .rd-quick-row input{
  height:42px;
  font-size:13px!important;
}
html[data-ui-preset="rainy"][data-rainy-view="planner"] .rd-quick-row>button{
  font-size:20px!important;
}
html[data-ui-preset="rainy"][data-rainy-view="planner"] .rd-subject-chips button{
  height:28px;
  padding:0 9px;
  font-size:10.5px!important;
}
html[data-ui-preset="rainy"][data-rainy-view="planner"] .rd-time-options label{
  font-size:10px!important;
}
html[data-ui-preset="rainy"][data-rainy-view="planner"] .rd-time-options input,
html[data-ui-preset="rainy"][data-rainy-view="planner"] .rd-time-options select{
  height:29px;
  font-size:11px!important;
}
html[data-ui-preset="rainy"][data-rainy-view="planner"] .rd-quick-hint{
  color:#4e88a6;
  font-size:10.5px!important;
}
html[data-ui-preset="rainy"][data-rainy-view="planner"] .rd-plan-group>h3,
html[data-ui-preset="rainy"][data-rainy-view="planner"] .rd-plan-group>summary{
  font-size:11px!important;
}
html[data-ui-preset="rainy"][data-rainy-view="planner"] .rd-plan-group>div{
  min-height:58px;
}
html[data-ui-preset="rainy"][data-rainy-view="planner"] .rd-check-copy b{
  font-size:13px!important;
}
html[data-ui-preset="rainy"][data-rainy-view="planner"] .rd-check-copy small{
  font-size:11px!important;
}
html[data-ui-preset="rainy"][data-rainy-view="planner"] .rd-task-actions button{
  height:29px;
  font-size:10px!important;
}
html[data-ui-preset="rainy"][data-rainy-view="planner"] .rd-head-kicker,
html[data-ui-preset="rainy"][data-rainy-view="planner"] .rd-goal-lines small,
html[data-ui-preset="rainy"][data-rainy-view="planner"] .rd-dual-legend{
  font-size:10.5px!important;
}
html[data-ui-preset="rainy"][data-rainy-view="planner"] .rd-goal-seed{
  font-size:9.5px!important;
}
html[data-ui-preset="rainy"][data-rainy-view="planner"] .rd-character-scene b{
  font-size:11.5px!important;
}
html[data-ui-preset="rainy"][data-rainy-view="planner"] .rd-character-scene p{
  font-size:13px!important;
}

/* Calendar text should read like the planner, not shrink inside a large grid. */
html[data-ui-preset="rainy"][data-rainy-view="calendar"] .rd-weekdays span,
html[data-ui-preset="rainy"][data-rainy-view="calendar"] .rd-calendar-legend{
  font-size:11.5px!important;
}
html[data-ui-preset="rainy"][data-rainy-view="calendar"] .rd-cal-cell>span{
  font-size:13px!important;
}
html[data-ui-preset="rainy"][data-rainy-view="calendar"] .rd-cal-cell em,
html[data-ui-preset="rainy"][data-rainy-view="calendar"] .rd-cal-cell footer small{
  font-size:10px!important;
}
html[data-ui-preset="rainy"][data-rainy-view="calendar"] .rd-date-panel h3{
  font-size:13px!important;
}
html[data-ui-preset="rainy"][data-rainy-view="calendar"] .rd-agenda time,
html[data-ui-preset="rainy"][data-rainy-view="calendar"] .rd-agenda small{
  font-size:11px!important;
}
html[data-ui-preset="rainy"][data-rainy-view="calendar"] .rd-agenda b{
  font-size:13px!important;
}

/* Match mobile navigation and preserve usable density on narrow screens. */
html[data-ui-preset="rainy"] .mobile-drawer{
  background:linear-gradient(180deg,rgba(3,43,89,.98),rgba(5,68,122,.96))!important;
}
html[data-ui-preset="rainy"] .mobile-tab-item{
  color:rgba(18,85,122,.72)!important;
  font-size:11px!important;
}
html[data-ui-preset="rainy"] .mobile-tab-item.active{
  color:#007fbd!important;
}

@media(max-width:1320px){
  html[data-ui-preset="rainy"] .main-content,
  html[data-ui-preset="rainy"] .main-content.wide{
    padding-right:20px;
    padding-left:20px;
  }
}
@media(min-width:1181px){
  html[data-ui-preset="rainy"] .shell:not(.sidebar-collapsed) .side{
    width:218px;
    flex-basis:218px;
    padding-right:15px;
    padding-left:15px;
  }
  html[data-ui-preset="rainy"] .side-logo{
    padding-right:10px;
    padding-left:10px;
  }
  html[data-ui-preset="rainy"] .side-logo-txt b{
    font-size:22px!important;
  }
  html[data-ui-preset="rainy"] .side-nav{
    padding-right:0;
    padding-left:0;
  }
  html[data-ui-preset="rainy"] .side-item{
    min-height:42px;
    gap:13px;
    padding:9px 14px;
    font-size:13.5px!important;
  }
  html[data-ui-preset="rainy"] .side-ico{
    width:19px;
  }
}
@media(max-width:1050px){
  html[data-ui-preset="rainy"] #panelHost{font-size:13.5px}
  html[data-ui-preset="rainy"][data-rainy-view="planner"] .rd-week-plans>button{min-height:64px}
}
@media(max-width:760px){
  html[data-ui-preset="rainy"] .main-content,
  html[data-ui-preset="rainy"] .main-content.wide{
    padding-top:16px!important;
    padding-right:13px;
    padding-left:13px;
  }
  html[data-ui-preset="rainy"] #panelHost h1{font-size:25px!important}
  html[data-ui-preset="rainy"] #panelHost h2{font-size:16px!important}
}

@media(prefers-reduced-motion:reduce){
  html[data-ui-preset="rainy"] *,
  html[data-ui-preset="rainy"] *:before,
  html[data-ui-preset="rainy"] *:after{
    scroll-behavior:auto!important;
  }
}
