/* Shared tactile controls. Existing brand colors, icons and dimensions stay authoritative. */
:root{
 --raised-rest:inset 0 1px 0 #ffffff99,inset 0 -1px 0 #00000026,0 4px 0 #00000045,0 8px 14px #00000024;
 --raised-hover:inset 0 1px 0 #ffffffb3,inset 0 -1px 0 #00000026,0 6px 0 #00000045,0 11px 18px #0000002b;
 --raised-pressed:inset 0 2px 4px #00000024,0 1px 0 #00000045,0 3px 6px #0000001a;
}
html:root body :is(button:not(:where(.scrim,.menu-backdrop,.sidebar-backdrop,.pv-sidebar-backdrop,[role="switch"],[role="checkbox"],[role="radio"],[role="slider"])),
 input[type="button"],input[type="submit"],input[type="reset"],
 a.button,a.btn,a.app-button,a.primary-button,a.btn-primary,a.btn-secondary,a.chatgpt-signin,
 a[role="button"],[role="tab"],
 .sidebar nav a,.tn-sidebar nav a,:where(#pvAppSidebar) nav a,.tn-connected-sites a){
 --raised-elevation:var(--raised-rest);
 box-shadow:var(--raised-elevation)!important;
 transition:box-shadow 150ms ease,translate 150ms ease!important;
 -webkit-tap-highlight-color:transparent;
}
@media(hover:hover) and (pointer:fine){
html:root body :is(button:not(:where(.scrim,.menu-backdrop,.sidebar-backdrop,.pv-sidebar-backdrop,[role="switch"],[role="checkbox"],[role="radio"],[role="slider"])),
 input[type="button"],input[type="submit"],input[type="reset"],
 a.button,a.btn,a.app-button,a.primary-button,a.btn-primary,a.btn-secondary,a.chatgpt-signin,
 a[role="button"],[role="tab"],
 .sidebar nav a,.tn-sidebar nav a,:where(#pvAppSidebar) nav a,.tn-connected-sites a):where(:hover):not(:where(:disabled,[aria-disabled="true"],[aria-pressed="true"],[aria-selected="true"])){
 --raised-elevation:var(--raised-hover);
 translate:0 -2px;
}
}
html:root body :is(button:not(:where(.scrim,.menu-backdrop,.sidebar-backdrop,.pv-sidebar-backdrop,[role="switch"],[role="checkbox"],[role="radio"],[role="slider"])),
 input[type="button"],input[type="submit"],input[type="reset"],
 a.button,a.btn,a.app-button,a.primary-button,a.btn-primary,a.btn-secondary,a.chatgpt-signin,
 a[role="button"],[role="tab"],
 .sidebar nav a,.tn-sidebar nav a,:where(#pvAppSidebar) nav a,.tn-connected-sites a):where(:active):not(:where(:disabled,[aria-disabled="true"])){
 --raised-elevation:var(--raised-pressed);
 translate:0 3px;
}
html:root body :is(button:not(:where(.scrim,.menu-backdrop,.sidebar-backdrop,.pv-sidebar-backdrop,[role="switch"],[role="checkbox"],[role="radio"],[role="slider"])),
 input[type="button"],input[type="submit"],input[type="reset"],
 a.button,a.btn,a.app-button,a.primary-button,a.btn-primary,a.btn-secondary,a.chatgpt-signin,
 a[role="button"],[role="tab"],
 .sidebar nav a,.tn-sidebar nav a,:where(#pvAppSidebar) nav a,.tn-connected-sites a):where([aria-pressed="true"],[aria-selected="true"]){
 --raised-elevation:var(--raised-pressed);
}
html:root body :is(button:not(:where(.scrim,.menu-backdrop,.sidebar-backdrop,.pv-sidebar-backdrop,[role="switch"],[role="checkbox"],[role="radio"],[role="slider"])),
 input[type="button"],input[type="submit"],input[type="reset"],
 a.button,a.btn,a.app-button,a.primary-button,a.btn-primary,a.btn-secondary,a.chatgpt-signin,
 a[role="button"],[role="tab"],
 .sidebar nav a,.tn-sidebar nav a,:where(#pvAppSidebar) nav a,.tn-connected-sites a):where(:focus-visible){
 outline:3px solid var(--brand-accent,var(--tn-logo-red,#176bd1))!important;
 outline-offset:5px!important;
}
html:root body :is(button:not(:where(.scrim,.menu-backdrop,.sidebar-backdrop,.pv-sidebar-backdrop,[role="switch"],[role="checkbox"],[role="radio"],[role="slider"])),
 input[type="button"],input[type="submit"],input[type="reset"],
 a.button,a.btn,a.app-button,a.primary-button,a.btn-primary,a.btn-secondary,a.chatgpt-signin,
 a[role="button"],[role="tab"],
 .sidebar nav a,.tn-sidebar nav a,:where(#pvAppSidebar) nav a,.tn-connected-sites a):where(:disabled,[aria-disabled="true"]){
 --raised-elevation:inset 0 1px 0 #ffffff66,0 1px 2px #00000020;
 translate:none!important;
 cursor:not-allowed;
 opacity:.6;
}
/* Compact inline app links become deliberate, spaced navigation buttons. */
html:root body .tn-connected-sites a{
 display:inline-flex;align-items:center;justify-content:center;
 min-height:40px;padding:8px 12px;border:1px solid currentColor;border-radius:10px;
 text-decoration:none;line-height:1.35;box-sizing:border-box;
}
html:root body .tn-connected-sites{gap:12px 14px;padding-bottom:5px}
/* Weather cards have their own strong reset; apply the same control elevation. */
html:root body :is(#pvAppSidebar,.sidebar,.tn-sidebar) .ambient-menu-status .ambient-weather-button,
html:root body .ambient-status .ambient-weather-button{
 box-shadow:var(--raised-elevation,var(--raised-rest))!important;
 border-radius:6px;
}
@media(prefers-reduced-motion:reduce){
html:root body :is(button:not(:where(.scrim,.menu-backdrop,.sidebar-backdrop,.pv-sidebar-backdrop,[role="switch"],[role="checkbox"],[role="radio"],[role="slider"])),
 input[type="button"],input[type="submit"],input[type="reset"],
 a.button,a.btn,a.app-button,a.primary-button,a.btn-primary,a.btn-secondary,a.chatgpt-signin,
 a[role="button"],[role="tab"],
 .sidebar nav a,.tn-sidebar nav a,:where(#pvAppSidebar) nav a,.tn-connected-sites a){transition:none!important;translate:none!important}
}
@media(forced-colors:active){
html:root body :is(button:not(:where(.scrim,.menu-backdrop,.sidebar-backdrop,.pv-sidebar-backdrop,[role="switch"],[role="checkbox"],[role="radio"],[role="slider"])),
 input[type="button"],input[type="submit"],input[type="reset"],
 a.button,a.btn,a.app-button,a.primary-button,a.btn-primary,a.btn-secondary,a.chatgpt-signin,
 a[role="button"],[role="tab"],
 .sidebar nav a,.tn-sidebar nav a,:where(#pvAppSidebar) nav a,.tn-connected-sites a){box-shadow:none!important;border:2px solid ButtonText!important}
}
@media print{
html:root body :is(button:not(:where(.scrim,.menu-backdrop,.sidebar-backdrop,.pv-sidebar-backdrop,[role="switch"],[role="checkbox"],[role="radio"],[role="slider"])),
 input[type="button"],input[type="submit"],input[type="reset"],
 a.button,a.btn,a.app-button,a.primary-button,a.btn-primary,a.btn-secondary,a.chatgpt-signin,
 a[role="button"],[role="tab"],
 .sidebar nav a,.tn-sidebar nav a,:where(#pvAppSidebar) nav a,.tn-connected-sites a){box-shadow:none!important;translate:none!important}
}
