/* Shared typography for controls and installation pages. */
.updates-shell:is(.home-clean,.team-clean,.streams-clean,.rules-clean,.controls-clean,.download-clean) :is(.updates-kicker,.about-section__kicker,.li-section__kicker,.wl-section__kicker,.home-aside__kicker,.team-page__kicker,.team-empty__kicker,.streams-page__kicker,.streams-toolbar__kicker,.streams-empty__kicker,.rules-page__kicker,.rules-chapter__kicker,.rules-empty-state__kicker,.controls-page__kicker,.controls-info__eyebrow,.dl-page__kicker,.dl-path__eyebrow) { color:#d17c8c; font-size:.95rem; font-weight:500; line-height:1.5; letter-spacing:.035em; text-transform:none; }
.updates-shell:is(.controls-clean,.download-clean) { width:min(100%,88rem); max-width:88rem; padding-top:4rem; }
:is(.controls-clean .controls-page,.download-clean .dl-page) { gap:3rem; padding-top:0; }
:is(.controls-clean .controls-page__head,.download-clean .dl-page__head) { max-width:48rem; }
:is(.controls-clean .controls-page__title,.download-clean .dl-page__title) { font-size:var(--home-heading-size); font-weight:600; line-height:1.2; letter-spacing:-.025em; }
:is(.controls-clean .controls-page__lead,.download-clean .dl-page__lead,.download-clean .dl-path__text) { font-size:1rem; font-weight:400; line-height:1.75; color:var(--muted); }
/* Calm, single-column controls accordion. */
.updates-shell.controls-clean { max-width:72rem; }
.controls-clean .controls-page { gap:1.75rem; }
.controls-clean .controls-page__stats { display:none; }
.controls-clean .controls-keyboard-panel { display:block; padding:0; margin:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.controls-clean .controls-keyboard-shell { margin:0 0 1rem; border:1px solid var(--border); border-radius:6px; background:#191d20; box-shadow:none; }
.controls-clean .controls-key { border-radius:4px; background:#22282d; border-color:#353d43; box-shadow:none; }
.controls-clean .controls-key--bound { background:#282327; border-color:#63414a; }
.controls-clean .controls-key__label { font-weight:500; letter-spacing:0; }
.controls-clean .controls-key__dot { background:#c36b7a; box-shadow:none; }
.controls-clean .controls-key:is(:hover,:focus-visible,.is-highlighted) { background:#51232e; border-color:#b36777; box-shadow:none; }
.controls-clean .controls-keyboard-disclosure { border-block:1px solid #30373c; }
.controls-clean .controls-keyboard-disclosure summary { display:flex; align-items:center; gap:.75rem; min-height:48px; padding:.9rem 0; cursor:pointer; color:#e0e4e7; font-size:1rem; list-style:none; }
.controls-clean .controls-keyboard-disclosure summary::-webkit-details-marker,.controls-clean .controls-category__head::-webkit-details-marker { display:none; }
.controls-clean .controls-keyboard-disclosure summary::after { content:'+'; margin-left:auto; font-size:1.3rem; color:#cc8b9a; }
.controls-clean .controls-keyboard-disclosure[open] summary::after { content:'\2212'; }
.controls-clean .controls-keyboard-disclosure__hint { color:#929ba2; font-size:.85rem; }
.controls-clean .controls-info { padding:1rem 0; border:0; border-radius:0; background:transparent; }
.controls-clean .controls-info__hint { margin:0; font-size:.9rem; line-height:1.75; }
.controls-clean .controls-info__title { font-size:1.35rem; font-weight:600; }
.controls-clean .controls-info__item { padding:.65rem 0; border:0; background:transparent; }
.controls-clean .controls-info__item strong { font-size:1rem; font-weight:600; }
.controls-clean .controls-info__item span { font-size:.9rem; line-height:1.6; }
.controls-clean .controls-actions { gap:0; border-top:1px solid #30373c; }
.controls-clean .controls-category { border-bottom:1px solid #30373c; }
.controls-clean .controls-category__head { display:flex; align-items:center; gap:1rem; min-height:64px; padding:1.2rem .75rem; margin:0; border:0; border-radius:4px; cursor:pointer; list-style:none; transition:background-color .2s ease; }
.controls-clean .controls-category__title { font-size:1.1rem; font-weight:500; letter-spacing:0; transition:color .2s ease; }
.controls-clean .controls-category__count { margin-left:auto; color:#929ba2; font-size:.8rem; transition:color .2s ease; }
.controls-clean .controls-category__head::after { content:'+'; display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; flex:0 0 24px; border:1px solid #30373c; border-radius:50%; color:#a4aaaf; font-size:1rem; line-height:1; transition:color .2s ease,border-color .2s ease; }
.controls-clean .controls-category__disclosure[open] > summary { background:#171b1e; }
.controls-clean .controls-category__disclosure[open] > summary::after { content:'\2212'; color:#dc879b; border-color:#68404a; }
.controls-clean .controls-category__disclosure[open] > summary .controls-category__title { color:#e3a0af; }
.controls-clean .controls-action-grid { grid-template-columns:minmax(0,1fr); gap:0; padding:.35rem .75rem 1rem; }
.controls-clean .controls-action { min-height:0; padding:.9rem .75rem; grid-template-columns:minmax(0,1fr) auto; gap:.2rem 1.5rem; border:0; border-radius:4px; background:transparent; text-align:left; transform:none; }
.controls-clean .controls-action__name { font-size:.95rem; font-weight:500; line-height:1.5; }
.controls-clean .controls-action__desc { display:block; overflow:visible; -webkit-line-clamp:unset; font-size:.9rem; line-height:1.6; color:#929ba2; }
.controls-clean .controls-action__key { min-width:2.75rem; max-width:10rem; padding:.35rem .7rem; align-self:center; border:1px solid #343c42; border-radius:4px; background:#191d20; color:#d9dfe3; font-size:.9rem; font-weight:500; line-height:1.4; letter-spacing:0; text-align:center; white-space:normal; }
.controls-clean .controls-action:is(:hover,:focus-visible,.is-highlighted) { transform:none; background:rgba(255,255,255,.025); }
.controls-clean .controls-action.is-dimmed { opacity:1; }
.controls-clean .controls-category__head:focus-visible { outline:2px solid #b96d7e; outline-offset:3px; }
.controls-clean .controls-page__note { border:0; padding-top:0; margin-top:0; font-size:.9rem; line-height:1.75; }
@media (hover:hover) and (pointer:fine) {
.controls-clean .controls-category__head:hover { background:rgba(255,255,255,.025); }
.controls-clean .controls-category__head:hover .controls-category__title { color:#fff; }
.controls-clean .controls-category__head:hover .controls-category__count { color:#bdc4ca; }
.controls-clean .controls-category__head:hover::after { color:#dc879b; }
}
@media (max-width:640px) {
.updates-shell:is(.controls-clean,.download-clean) { padding-top:2.5rem; }
.controls-clean .controls-category__head { padding-inline:.5rem; gap:.5rem; min-height:60px; }
.controls-clean .controls-category__title { font-size:1rem; }
.controls-clean .controls-action-grid { padding-inline:.5rem; }
.controls-clean .controls-action { padding:.85rem 0; gap:.2rem .75rem; }
}
@media (max-width:480px) {
.controls-clean .controls-keyboard-disclosure__hint { display:none; }
.controls-clean .controls-action__key { max-width:7rem; font-size:.85rem; }
}
@media (prefers-reduced-motion:reduce) {
.controls-clean .controls-category__head,.controls-clean .controls-category__title,.controls-clean .controls-category__count,.controls-clean .controls-category__head::after { transition:none; }
}

/* An open group reads as one panel; hover stays on the action and key. */
.controls-clean .controls-category__disclosure { border: 1px solid transparent; border-radius: 6px; transition: border-color .2s ease, background-color .2s ease; }
.controls-clean .controls-category__disclosure[open] { margin: .65rem 0; border-color: #68404a; background: #171b1e; }
.controls-clean .controls-category__disclosure[open] > .controls-category__head { padding: 1.15rem 1.25rem; border-radius: 6px 6px 0 0; background: transparent; }
.controls-clean .controls-category__disclosure[open] > .controls-category__head .controls-category__title { color: #edcbd3; }
.controls-clean .controls-action-grid { padding: 0 1.25rem .5rem; }
.controls-clean .controls-action-grid > li + li { border-top: 1px solid #2b3237; }
.controls-clean .controls-action { padding: 1rem 0; border: 0; border-radius: 0; gap: .25rem 1.5rem; }
.controls-clean .controls-action__name { color: #e4e8eb; transition: color .2s ease; }
.controls-clean .controls-action__desc { color: #a4aaaf; }
.controls-clean .controls-action__key { min-width: 3rem; padding: .45rem .75rem; background: #20262a; border-color: #414a51; transition: color .2s ease, border-color .2s ease, background-color .2s ease; }
.controls-clean .controls-action:is(:hover,:focus-visible,.is-highlighted) { background: transparent; border: 0; }
.controls-clean .controls-action:is(:hover,:focus-visible,.is-highlighted) .controls-action__name { color: #ecc4ce; }
.controls-clean .controls-action:is(:hover,:focus-visible,.is-highlighted) .controls-action__key { background: #302229; border-color: #985b6a; color: #f2dce2; }
.controls-clean .controls-action:focus-visible { outline: 2px solid #b96d7e; outline-offset: 3px; }
@media (max-width:640px) {
  .controls-clean .controls-category__disclosure[open] > .controls-category__head { padding: 1rem; }
  .controls-clean .controls-action-grid { padding: 0 1rem .35rem; }
  .controls-clean .controls-action { gap: .25rem .75rem; }
  .controls-clean .controls-action__key { min-width: 2.5rem; padding: .4rem .6rem; }
}
@media (prefers-reduced-motion:reduce) {
  .controls-clean .controls-category__disclosure,.controls-clean .controls-action__name,.controls-clean .controls-action__key { transition:none; }
}

/* Crisp keycaps with a stable, legible hover state. */
.controls-clean .controls-key { border:1px solid #3b444c; border-bottom:3px solid #30383f; border-radius:5px; background:#242b30; color:#b4bec6; box-shadow:inset 0 1px rgba(255,255,255,.035); transition:background-color .18s ease,border-color .18s ease,color .18s ease,opacity .18s ease; transform:none; }
.controls-clean .controls-key--bound { background:#2c3035; border-color:#4c454d; border-bottom-color:#433740; color:#edf0f2; }
.controls-clean .controls-key__dot { width:4px; height:4px; top:5px; right:5px; background:#be6f81; opacity:.8; }
.controls-clean .controls-key:is(:hover,:focus-visible,.is-highlighted) { border-color:#b96b7e; border-bottom-color:#8b3e52; background:#382b32; color:#fff; box-shadow:inset 0 1px rgba(255,255,255,.06); transform:none; opacity:1; }
.controls-clean .controls-key:is(:hover,:focus-visible,.is-highlighted) .controls-key__dot { background:#efa2b4; opacity:1; }
.controls-clean .controls-key.is-dimmed { opacity:.7; }
.controls-clean .controls-key:focus-visible { outline:2px solid #d38799; outline-offset:3px; }
.controls-clean .controls-key--wide .controls-key__label { font-size:.78em; letter-spacing:0; }
@media (prefers-reduced-motion:reduce) { .controls-clean .controls-key { transition:none; } }

/* Selected binding is a single, readable information panel. */
.controls-clean .controls-info { padding:0 0 1rem; }
.controls-clean .controls-info__hint { padding:.25rem 0; }
.controls-clean .controls-info__detail:not([hidden]) { display:grid; grid-template-columns:minmax(5rem,auto) minmax(0,1fr); align-items:start; gap:1.5rem; padding:1.25rem; border:1px solid #3f353c; border-radius:6px; background:#171b1e; }
.controls-clean .controls-info__selection { min-width:0; padding-right:1.5rem; border-right:1px solid #343b41; }
.controls-clean .controls-info__eyebrow { margin:0 0 .5rem; font-size:.8rem; letter-spacing:0; color:#a4aaaf; }
.controls-clean .controls-info__title { display:inline-block; margin:0; min-width:2.75rem; padding:.45rem .8rem; border:1px solid #72505c; border-bottom-width:3px; border-radius:5px; background:#2b242b; color:#f0d6de; font-size:1.1rem; line-height:1.4; font-weight:500; overflow-wrap:anywhere; }
.controls-clean .controls-info__list { margin:0; padding:0; gap:.85rem; }
.controls-clean .controls-info__item { padding:0; gap:.3rem; border:0; background:transparent; }
.controls-clean .controls-info__item + .controls-info__item { padding-top:.85rem; border-top:1px solid #30373c; }
.controls-clean .controls-info__item strong { font-size:1rem; line-height:1.5; font-weight:500; color:#e9ecef; }
.controls-clean .controls-info__item span { font-size:.9rem; line-height:1.65; color:#a4aaaf; }
@media (max-width:640px) {
  .controls-clean .controls-info__detail:not([hidden]) { grid-template-columns:minmax(0,1fr); gap:1rem; padding:1rem; }
  .controls-clean .controls-info__selection { display:flex; align-items:center; gap:.75rem; border:0; padding:0; }
  .controls-clean .controls-info__eyebrow { margin:0; }
}

.controls-clean .controls-keyboard-disclosure { border:1px solid #343b41; border-radius:6px; background:#171b1e; }
.controls-clean .controls-keyboard-disclosure summary { padding:1rem 1.15rem; gap:.85rem; border-radius:6px; transition:background-color .2s ease; }
.controls-clean .controls-keyboard-disclosure__icon { width:22px; height:22px; flex:0 0 22px; color:#c78293; }
.controls-clean .controls-keyboard-disclosure__label { display:flex; flex-direction:column; gap:.2rem; font-size:.95rem; font-weight:500; line-height:1.5; }
.controls-clean .controls-keyboard-disclosure__hint { display:block; font-size:.85rem; font-weight:400; line-height:1.5; }
.controls-clean .controls-keyboard-disclosure summary::after { display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; flex:0 0 26px; border:1px solid #414047; border-radius:50%; font-size:1.1rem; line-height:1; }
.controls-clean .controls-keyboard-disclosure[open] { border-color:#68404a; }
.controls-clean .controls-keyboard-disclosure[open] summary { border-radius:6px 6px 0 0; }
.controls-clean .controls-keyboard-disclosure .controls-keyboard-shell { margin:0 1rem 1rem; }
.controls-clean .controls-keyboard-disclosure .controls-info { padding:0 1rem 1rem; }
.controls-clean .controls-keyboard-disclosure summary:hover { background:rgba(255,255,255,.025); }
.controls-clean .controls-keyboard-disclosure summary:focus-visible { outline:2px solid #b96d7e; outline-offset:3px; }
@media (max-width:480px) { .controls-clean .controls-keyboard-disclosure summary { padding:.85rem; } .controls-clean .controls-keyboard-disclosure__hint { font-size:.8rem; } }
