/* Shared controls: deliberately exclude map widgets, sliders and lightbox internals. */
:where(.tt-button,.tt-round,.tt-text-button,.tkp-button,.tk-guide button,.tkb-button,.tk-footer-button,main .btn,main button:not([class])) {
 transition:box-shadow .18s ease,background-color .18s ease,border-color .18s ease;
}
:where(main,header,footer) :where(a,button,input,select,textarea,summary):focus-visible {
 outline:3px solid #0087a5;outline-offset:4px;
}
:where(.tt-button,.tt-round,.tkp-button,.tk-guide button,.tkb-button,main .btn):active:not(:disabled):not([aria-disabled="true"]) {box-shadow:inset 0 0 0 2px #ffffff70;}
:where(button:disabled,[aria-disabled="true"]) {cursor:not-allowed;}
@media(hover:hover) and (pointer:fine) {
 :where(.tt-button,.tt-round,.tkp-button,.tk-guide button,.tkb-button,main .btn):hover:not(:disabled):not([aria-disabled="true"]) {box-shadow:0 5px 16px #00688725;}
 :where(.tkb-card,.tkg-related a):hover {box-shadow:0 9px 24px #00688718;}
}
:where(.tkb-card,.tkg-related a) {transition:box-shadow .2s ease;}
.tk-ui-tooltip {position:fixed;z-index:100100;padding:9px 12px;max-width:min(280px,calc(100vw - 24px));border-radius:10px;background:#163b43;color:#fff;font:500 13px/1.45 sans-serif;box-shadow:0 4px 16px #0002;pointer-events:auto;}
.tk-ui-tooltip[hidden],.tk-ui-toast[hidden] {display:none;}
.tk-ui-toast {position:fixed;z-index:100100;left:50%;bottom:max(24px,env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;align-items:center;gap:10px;width:max-content;max-width:calc(100vw - 120px);padding:14px 18px;border-radius:16px;background:#163b43;color:#fff;box-shadow:0 8px 30px #0003;font-size:14px;line-height:1.5;pointer-events:none;}
.tk-ui-toast svg {width:22px;height:22px;flex:none;}
.tk-ui-copied {box-shadow:0 0 0 3px #0087a540!important;}
.tk-ui-photo-loading {background-color:#e7efed;}
.tk-ui-photo-ready {animation:tk-ui-photo-in .3s ease-out;}
@keyframes tk-ui-photo-in {from{filter:brightness(.94)}to{filter:brightness(1)}}
body.dark .tk-ui-tooltip,body.dark .tk-ui-toast {background:#e3f1ed;color:#133c44;}
body.dark .tk-ui-photo-loading {background-color:#263b40;}
@media(prefers-reduced-motion:reduce) {
 :where(.tt-button,.tt-round,.tt-text-button,.tkp-button,.tk-guide button,.tkb-button,.tk-footer-button,main .btn,.tkb-card,.tkg-related a) {transition:none!important;}
 .tk-ui-photo-ready {animation:none!important;}
}
@media print {.tk-ui-tooltip,.tk-ui-toast {display:none!important;}}
