/* One interaction rhythm. Content and final values are visible without this file or JS. */
html { scroll-padding-top: 100px; }
:is(button, a, summary) { -webkit-tap-highlight-color: transparent; }
:is(.btn,.mini,.themebtn,.navtoggle,.subtog,.result-action,.nspay-btn,.nspay-m) {
  transition: background-color var(--dur-1,.14s) var(--ease), color var(--dur-1,.14s) var(--ease),
    border-color var(--dur-1,.14s) var(--ease), box-shadow var(--dur-2,.26s) var(--ease),
    transform var(--dur-1,.14s) var(--ease);
}
:is(.btn,.mini,.themebtn,.navtoggle,.result-action,.nspay-btn):active:not(:disabled) { transform: scale(.98); }
:is(.btn,.mini,.result-action):disabled { transform: none; }
:is(.scoreval,.pass-price,.ccy,.wallet-balance b,.quota-free b) { font-variant-numeric: tabular-nums; }
.wallet-add .ui-icon { transition: transform var(--dur-2,.26s) var(--ease); }
.navtoggle svg { transition: transform var(--dur-2,.26s) var(--ease); }
.nav-open .navtoggle svg { transform: rotate(90deg); }
@media (hover:hover) and (pointer:fine) {
  .wallet-balance:hover .wallet-add .ui-icon { transform: rotate(90deg); }
  :is(.result-action,.nspay-m):hover { border-color: var(--ink); }
}
/* Native details retain their native semantics; unsupported browsers open instantly. */
@supports (interpolate-size: allow-keywords) {
  :is(.faq,.pass-conditions,.pass-benefits,.tool-result) details,
  details.marker-more { interpolate-size: allow-keywords; }
  :is(.faq,.pass-conditions,.pass-benefits,.tool-result) details::details-content,
  details.marker-more::details-content {
    block-size: 0; overflow: clip;
    transition: block-size var(--dur-2,.26s) var(--ease), content-visibility var(--dur-2,.26s) allow-discrete;
  }
  :is(.faq,.pass-conditions,.pass-benefits,.tool-result) details[open]::details-content,
  details.marker-more[open]::details-content { block-size: auto; }
}
/* A loading state can breathe; text, balances and prices never do. */
.sk::after { display:none; animation:none; }
.sk { animation:ns-loading 1.8s ease-in-out infinite alternate; }
@keyframes ns-loading { from { opacity:.5; } to { opacity:1; } }
html[data-input=keyboard] :is(.btn,.mini,.themebtn,.navtoggle,.subtog,.result-action,.nspay-btn,.nspay-m),
html[data-input=keyboard] .navtoggle svg { transition: none; }
html[data-input=keyboard] details::details-content { transition: none; }
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto !important; }
  *,*::before,*::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: 0s !important; scroll-behavior: auto !important; }
  :is(.btn,.mini,.themebtn,.navtoggle,.result-action,.nspay-btn):active,
  .wallet-balance:hover .wallet-add .ui-icon,.nav-open .navtoggle svg { transform: none; }
}
