/* Действия и выборы на главной: единые признаки нажатия и раскрытия. */
:is(.why, .request, .install-details) > summary {
  display: grid; grid-template-columns: 24px minmax(0, 1fr) 28px; gap: 12px; align-items: center;
  width: 100%; min-height: 56px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 10px;
  background: var(--paper); color: var(--ink); font-size: 16px; font-weight: 500; line-height: 1.4;
  text-decoration: none; cursor: pointer;
}
:is(.why, .request, .install-details, .faq details) > summary::after { display: none; }
.disclosure-icon { color: var(--ink-2); }
.disclosure-toggle { justify-self: end; width: 24px; height: 24px; padding: 3px; background: var(--soft); border-radius: 50%; }
details[open] > summary .disclosure-toggle { transform: rotate(180deg); color: var(--leaf-ink); }
:is(.why, .request, .install-details) > summary:hover { border-color: var(--ink-2); background: var(--soft); color: var(--ink); }
:is(.why, .request, .install-details)[open] > summary { border-color: var(--leaf-ink); }
.why > summary::before { display: none; }
.why { margin-top: 14px; }
.request { margin-top: 14px; }
.why-card, .request-sheet { margin-top: 12px; }
.mechanism > .rail, .engineering > .engineering-body, .compatibility-details > .where-grid { margin-top: 24px; }
.faq summary { display: grid; grid-template-columns: minmax(0, 1fr) 32px; padding-block: 8px; }
.faq-toggle { display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid var(--line); border-radius: 50%; color: var(--ink); font: 400 24px/1 var(--sans); }
.faq-toggle::before { content: "+"; }
.faq details[open] .faq-toggle::before { content: "-"; }
.faq details[open] .faq-toggle { background: var(--memory); border-color: var(--leaf-ink); color: var(--leaf-ink); }
.picker-title { width: 100%; padding: 0 0 14px; font-size: 16px; font-weight: 600; color: var(--ink); }
.case-picker { display: flex; flex-wrap: wrap; gap: 12px; }
.case-tab { position: relative; flex: 1 1 6em; display: flex; flex-direction: column; justify-content: center; gap: 10px; min-height: 88px; padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--paper); color: var(--ink); font-size: 16px; font-weight: 500; line-height: 1.3; text-align: center; }
.case-tab .ui-icon { width: 26px; height: 26px; }
.case-picker > input:checked + .case-tab, .platform-picker > input:checked + .platform-tab { border-color: var(--leaf-ink); background: var(--memory); color: var(--ink); box-shadow: inset 0 0 0 1px var(--leaf-ink); }
.case-picker > input:checked + .case-tab .ui-icon, .platform-picker > input:checked + .platform-tab .ui-icon { color: var(--leaf-ink); }
.case-tab:hover, .platform-tab:hover { border-color: var(--ink-2); }
.case-tab::after, .platform-tab::after { content: ""; position: absolute; right: 9px; top: 9px; width: 5px; height: 9px; border: solid transparent; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.case-picker > input:checked + .case-tab::after, .platform-picker > input:checked + .platform-tab::after { border-color: var(--leaf-ink); }
.case-panels { flex: 1 0 100%; min-width: 0; padding-top: 20px; }
.platform-picker { gap: 10px; }
.platform-tab { position: relative; flex: 1 1 6em; display: flex; flex-direction: column; justify-content: center; gap: 8px; min-height: 110px; padding: 14px 10px; border: 1px solid var(--line); box-shadow: none; font-size: 16px; line-height: 1.3; font-weight: 500; color: var(--ink); }
.platform-tab .ui-icon { width: 28px; height: 28px; color: var(--ink-2); }
.soon { font-size: 13px; font-weight: 400; color: var(--ink-2); }
.platform-panels { flex: 1 0 100%; min-width: 0; }
.platform-panel { margin-top: 14px; }
.platform-panel h3 { margin-top: 12px; }
.action-link { display: inline-grid; grid-template-columns: 22px minmax(0, 1fr) 20px; gap: 10px; align-items: center; min-height: 48px; max-width: 100%; padding: 10px 14px; border: 1px solid var(--line); border-radius: 9px; background: var(--paper); color: var(--ink); font-size: 15px; line-height: 1.4; font-weight: 500; text-decoration: none; }
.action-link:hover { border-color: var(--ink-2); background: var(--soft); }
.action-link .ui-icon { width: 22px; height: 22px; }
.action-link .link-arrow { width: 18px; height: 18px; }
.case-links a { display: inline-grid; }
.get-other { margin-top: 14px; }
.why-more .action-link { width: 100%; }
.team-contact { padding: 10px 16px; border: 1px solid var(--line); border-radius: 9px; background: var(--paper); font-size: 16px; text-decoration: none; }
.team-contact:hover { border-color: var(--ink-2); }
.team-contact .ui-icon { width: 22px; height: 22px; }
.install-help { margin-top: 24px; }
.btn { line-height: 1.3; }
.btn-main { padding-block: 14px; }
.btn .ui-icon { width: 22px; height: 22px; }
.btn-file { flex: none; }
.nav-get { display: inline-flex; align-items: center; gap: 8px; }
.nav-get .ui-icon { width: 18px; height: 18px; }
.theme-toggle { border: 1px solid var(--line); background: var(--paper); }
.keys { flex-wrap: wrap; }
.key { min-height: 48px; padding: 6px 12px 6px 6px; border: 1px solid var(--leaf-ink); border-radius: 10px; background: var(--memory); color: var(--ink); font-size: 16px; }
.key kbd { min-width: 52px; height: 36px; }
.scene:is([data-accepted], [data-sent]) .key { border-color: transparent; padding-inline: 0; background: none; cursor: default; }
.scene:is([data-accepted], [data-sent]) .key kbd { display: none; }
.send-demo, .again, .copy-command { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 10px 14px; border: 1px solid var(--line); border-radius: 9px; background: var(--paper); color: var(--ink); font-size: 15px; line-height: 1.3; cursor: pointer; box-shadow: none; }
.send-demo { background: var(--btn); border-color: var(--btn); color: var(--btn-text); }
.send-demo:hover { background: var(--btn-hover); }
.send-demo:disabled { opacity: .55; cursor: default; }
.send-demo .ui-icon, .again .ui-icon, .copy-command .ui-icon { width: 20px; height: 20px; }
.copy-command { display: none; }
.home-ready .copy-command { display: inline-flex; }
.again::after { display: none; }
.again:hover, .copy-command:hover { background: var(--soft); border-color: var(--ink-2); }
.sample-tab { margin-top: 14px; padding: 8px 12px; gap: 10px; border: 1px solid var(--leaf-ink); border-radius: 9px; background: var(--memory); color: var(--ink); font-size: 16px; }
.sample-tab kbd { padding: 4px 8px; background: var(--paper); font-size: 14px; }
.case-caption, .memory-visual .memory-disclosure { font-size: 15px; line-height: 1.5; }
.memory-disclosure > .ui-icon { width: 20px; height: 20px; margin-right: 5px; vertical-align: -4px; }
.memory-disclosure a { display: inline-flex; align-items: center; gap: 5px; min-height: 44px; color: var(--ink); font-weight: 500; }
.memory-disclosure a .ui-icon { width: 18px; height: 18px; }
.settings-caption { font-size: 15px; color: var(--ink); }
.setting-row b { font-size: 15px; }
.setting-row small, .setting-row > p { font-size: 14px; }
.setting-switch { width: 44px; height: 26px; padding: 3px; }
.setting-switch::before { width: 20px; height: 20px; }
:checked + .setting-switch::before { transform: translateX(18px); }
.foot-links a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; text-decoration: underline; text-decoration-color: var(--line); text-underline-offset: 4px; }
.foot-links .ui-icon { width: 18px; height: 18px; }
.mobile-nav { display: none; }
.top-in { position: relative; }
@media (max-width: 719px) {
  .top .nav { display: none; }
  .mobile-nav { display: block; margin-left: auto; }
  .mobile-nav > summary { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 9px; list-style: none; font-size: 15px; cursor: pointer; }
  .mobile-nav > summary::-webkit-details-marker { display: none; }
  .mobile-nav > summary .ui-icon { width: 20px; height: 20px; }
  .mobile-nav[open] > summary { border-color: var(--leaf-ink); background: var(--memory); }
  .mobile-nav nav { position: absolute; top: calc(100% - 4px); left: var(--gut); right: var(--gut); z-index: 20; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 9em), 1fr)); gap: 8px; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); box-shadow: var(--win-shadow); }
  .mobile-nav nav a { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 10px; color: var(--ink); font-size: 15px; text-decoration: none; }
  .mobile-nav nav a:last-child { grid-column: 1 / -1; background: var(--memory); border-radius: 8px; }
  .mobile-nav nav .ui-icon { width: 20px; height: 20px; }
  .top-in { gap: 10px; }
  .theme-toggle { margin-right: 0; }
  .case-picker { gap: 8px; }
  .case-tab { min-height: 86px; padding: 14px 8px; }
  .platform-picker { gap: 8px; }
  .platform-tab { min-height: 106px; }
  .action-link { width: 100%; }
  .case-links { display: block; }
  .sample-tab { font-size: 15px; }
  :is(.why, .request, .install-details) > summary { gap: 10px; padding: 12px; }
  .team-contact { width: 100%; justify-content: center; }
}
@media (forced-colors: active) {
  .case-picker > input:checked + label, .platform-picker > input:checked + label { outline: 2px solid Highlight; }
  .case-tab::after, .platform-tab::after { display: none; }
}
