/* Shared interaction layer. Page layouts and project diagrams keep their own styles. */
:root{--ui-accent:var(--color-teal);--ui-focus:#36b9cf;--ui-radius:16px;--ui-line:var(--color-border-strong);--ui-muted:var(--color-text-80)}
html{scrollbar-color:var(--color-text-40) var(--color-bg);text-size-adjust:100%;-webkit-text-size-adjust:100%}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--ui-focus);outline-offset:4px}
:where(button,[role=button],summary){touch-action:manipulation}
:where(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){border-radius:12px}
:where(.art-quote,.case-quote,.nova-quote){border-inline-start:3px solid var(--ui-accent);padding-inline-start:clamp(18px,3vw,30px)}
:where(.art-note,.art-evidence,.nova-note){border-radius:var(--ui-radius)}
:where(.art-figures,.case-metrics){font-variant-numeric:tabular-nums}
:where(.art-figures,.case-metrics) :where(small,figcaption){line-height:1.55}
:where(.art-table,.ui-table-scroll){max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}
.ui-table-scroll{margin-block:24px}
.ui-table-scroll table{width:100%;border-collapse:collapse}
.ui-table-scroll :where(th,td){padding:14px 16px;text-align:start;vertical-align:top;border-bottom:1px solid var(--color-border-md)}
.ui-table-scroll th{background:var(--color-bg-light);font-weight:600}
:where(.art-faq,.nx-faq,.mg-risk,.bnk-faq,.ui-faq) summary{cursor:pointer;min-height:48px;line-height:1.5;padding-block:14px;list-style:none}
:where(.art-faq,.nx-faq,.mg-risk,.bnk-faq,.ui-faq) summary::-webkit-details-marker{display:none}
.ui-faq summary{display:flex;justify-content:space-between;align-items:center;gap:16px}
.ui-faq summary::after{content:'+';font-size:24px;color:var(--ui-accent);flex:none}
.ui-faq[open] summary::after{content:'−'}
.ui-faq{border-bottom:1px solid var(--color-border-md)}
.ui-faq p{padding-bottom:22px;color:var(--ui-muted)}
:where(.nx-tabs,[data-nova-tabs],.bnk-switch) button{min-height:44px}
:where(.rkd-gal__arrow,.nova-carousel__nav button,.rail-prev,.rail-next){min-width:44px;min-height:44px}
:where(.q-card,.rcard) img{object-fit:cover}
:where(video){max-width:100%;border-radius:var(--ui-radius)}
.ui-carousel-status{font-size:14px;color:var(--ui-muted);font-variant-numeric:tabular-nums;margin-top:12px}
.site-search-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:44px;min-height:44px;font-size:14px;flex:none}
.site-search-link svg{width:20px;height:20px}
.site-search-link:hover{color:var(--ui-accent)}
@media(max-width:600px){.site-search-link span{display:none}.site-header__actions{gap:6px}.site-search-link{min-width:36px}}
@media(max-width:1180px){.site-header .nav-simple{display:none}.site-header__inner{justify-content:space-between}}
@media(min-width:1181px){.site-header .nav-simple{gap:16px;margin-right:24px}.brand__role{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}:where(.q-card,.rcard,.btn-primary){transition:none}}
