/* Round 6 surface tokens and bounded discipline-selector component.
   Loaded last: discipline count never determines tile size or column width. */
:root,html[data-theme=dark],html[data-theme=light],
html[data-theme] body.public-experience,html[data-theme] body.research-experience{
 --bg:#30343a;--side:#292d33;--panel:#393e46;--panel2:#424852;
 --input:#2c3036;--detail:#353a42;--text:#f2f4f7;--muted:#c2cad5;
 --line:#626b78;--accent:#c4ed68;--accent-ink:#19200e;--orange:#ffbd91;
 color-scheme:dark;background:var(--bg);color:var(--text);
}
/* Retain a user-selected softer appearance without introducing pale surfaces. */
html[data-theme=light],html[data-theme=light] body.public-experience,html[data-theme=light] body.research-experience{
 --bg:#383d44;--side:#30353c;--panel:#414750;--panel2:#4a515c;
 --input:#333840;--detail:#3c424b;--line:#737e8d;
}
html[data-theme] :is(.r4-header,.r4-footer,.public-header,.sidebar,.topbar){background:var(--side);color:var(--text)}
html[data-theme] :is(.r4-search,.header-search,.r4-utilities .icon-button){background:var(--input);border-color:var(--line);color:var(--text)}
html[data-theme] :is(.r4-navigation details>div,.nav-discover>div,.autocomplete-panel){background:var(--panel2);border-color:var(--line);color:var(--text)}
html[data-theme] :is(.r4-stage,.feature-slab,.guru-mast,.profile-emblem,.lead-story){background:var(--detail);border-color:var(--line);color:var(--text)}
html[data-theme] :is(.panel,.editorial-card,.discovery-card,.side-stack .panel:first-child,.discipline-choice,.contact-panel,.filter-panel,.filter-bar,.evidence-strip,.rule-points>div,.event-session,.session-card,.r4-topic,.r5-history-item,.r5-news-card){background:var(--panel);color:var(--text);border-color:var(--line)}
html[data-theme] :is(input:not([type=checkbox]):not([type=radio]):not([type=submit]),select,textarea){background:var(--input);color:var(--text);border-color:var(--line)}
html[data-theme] :is(input,textarea)::placeholder{color:var(--muted);opacity:1}
html[data-theme] :is(.r4-search input,.global-search input){background:transparent}
html[data-theme] :is(table,tbody,tr,td){background:transparent;color:var(--text)}
html[data-theme] :is(th,thead,.calendar-weekday,.weekday){background:var(--panel2);color:var(--text)}
html[data-theme] tbody tr:nth-child(even){background:var(--detail)}
html[data-theme] :is(.calendar-day,.calendar-cell,.month-day){background:var(--panel);color:var(--text)}
html[data-theme] :is(.calendar-day.today,.calendar-cell.today,.calendar-event){background:var(--panel2);color:var(--text)}
html[data-theme] :is(.calendar-event small,.search-explorer label,.month-day time,.r4-brand small,.source-note,.chart-label){color:var(--muted);fill:var(--muted)}
html[data-theme] .chart text{fill:var(--text)}
html[data-theme] :is(a:hover,.text-link:hover){color:var(--accent)}
html[data-theme] :is(.primary,.button.primary,.sidebar nav>a.active):hover{color:var(--accent-ink);background:#d3f58e}
html[data-theme] h1 em{color:var(--accent)}
html[data-theme] :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--orange);outline-offset:3px}
/* Deliberately reserve empty grid tracks when only four disciplines exist. */
.public-experience .r5-selector{
 --discipline-columns:5;--discipline-card-height:190px;
 display:grid;grid-template-columns:repeat(var(--discipline-columns),minmax(0,216px));
 gap:12px;margin:18px 0 24px;align-items:stretch;justify-content:start;
}
.public-experience .r5-selector .r5-discipline-tile{
 display:grid;grid-template-rows:32px minmax(24px,auto) minmax(0,1fr) minmax(24px,auto);gap:6px;
 height:auto;min-height:var(--discipline-card-height);max-width:216px;min-width:0;
 padding:12px;border:1px solid var(--line);border-top:3px solid var(--discipline);
 border-radius:8px;background:var(--panel);transform:none;
}
.r5-selector .r5-discipline-tile>div{display:contents}
.r5-selector .r5-discipline-tile .r5-kicker{display:none}
.public-experience .r5-selector .r5-discipline-tile img{order:0;grid-row:1;width:78px;height:32px;max-height:32px;object-fit:contain;object-position:left center}
.public-experience .r5-selector .r5-discipline-tile h2{grid-row:2;font-size:1.05rem!important;line-height:1.4;margin:0;letter-spacing:-.02em}
.public-experience .r5-selector .r5-discipline-tile p{grid-row:3;font-size:.78rem;line-height:1.45;margin:0;min-height:0;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.public-experience .r5-selector .r5-tile-action{grid-row:4;font-size:.75rem;line-height:18px;padding-top:5px;margin:0;border-top:1px solid var(--line);align-self:end;white-space:normal}
.public-experience .r5-selector .r5-discipline-tile:hover{background:var(--panel2);border-color:var(--discipline);transform:none}
@media(min-width:1700px){.public-experience .r5-selector{--discipline-columns:6}}
@media(max-width:1200px){.public-experience .r5-selector{--discipline-columns:4}}
@media(max-width:900px){.public-experience .r5-selector{--discipline-columns:3}}
@media(max-width:600px){.public-experience .r5-selector{--discipline-columns:2}}
@media(max-width:350px){.public-experience .r5-selector{--discipline-columns:1}}
/* Respect zoom/text scaling without clipping essential names or actions. */
@media(forced-colors:active){.public-experience .r5-selector .r5-discipline-tile{border:2px solid LinkText}}
/* Interactive outlines are stronger than decorative surface separators. */
html[data-theme] :is(input:not([type=checkbox]):not([type=radio]),select,textarea,.secondary,.icon-button){border-color:#96a1b2}
/* Supersede legacy light-mode controls as well as the body palette. */
html[data-theme] body:is(.public-experience,.research-experience) :is(input:not([type=checkbox]):not([type=radio]),select,textarea){background:var(--input);color:var(--text);border-color:#96a1b2;color-scheme:dark}
html[data-theme] body.public-experience .r4-search input:not([type=radio]):not([type=checkbox]){background:transparent;color:var(--text)}
html[data-theme] body.public-experience .calendar-event{background:var(--panel2);color:var(--text)}
html[data-theme] body.public-experience .calendar-event small{color:var(--muted)}
html[data-theme] :is(.errorlist,.acceptance-errors,.field-errors){color:#ffb4a5}
html[data-theme] .acceptance-status{color:#9de6c7}
