/* Shared utility interaction layer. Game cells retain their own geometry. */
:root{scroll-padding-top:16px}
body{line-height:1.55}
main,form,fieldset,.card,.fields>*{min-width:0}
button{white-space:normal;overflow-wrap:anywhere;max-width:100%}
input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:max(16px,1em);max-width:100%;box-sizing:border-box}
form button,.actions button,header a,footer button,.language-switch summary,.language-panel a,.ux-helper button{min-height:44px}
form details>summary{min-height:44px;padding:10px;box-sizing:border-box;cursor:pointer}
button:disabled{cursor:default}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #1565c0;outline-offset:3px}
.ux-skip{position:fixed;inset-inline-start:12px;top:-100px;z-index:1000;background:#fff;color:#163d66;padding:12px 18px;border:2px solid #163d66;border-radius:8px}
.ux-skip:focus{top:12px}
.ux-helper{margin:12px 0;padding:12px;border:1px solid #a8b9b1;border-radius:10px;background:#f4f8f6;color:#18382f}
.ux-helper label{display:block}.ux-helper input{margin:6px 0}.ux-helper button{margin:4px 8px 4px 0}
.ux-reset-check{border:2px solid #93621b;background:#fff8e9;color:#4a3418}
.ux-count{font-size:14px;color:#40534b}.ux-result-heading:focus{outline:3px solid #1565c0;outline-offset:3px}
.portfolio-network details{background:#f6f9f7;border:1px solid #b9c7ba;border-radius:10px;padding:4px}
.portfolio-search{display:block;margin:12px}.portfolio-search input{display:block;width:100%;margin:6px 0;padding:10px;border:1px solid #748c80;border-radius:6px}
[data-tool-id][hidden]{display:none!important}
@media(max-width:600px){.intro{padding-block:20px!important}.intro h1{font-size:clamp(28px,8vw,40px)!important;line-height:1.16}.intro>p{margin-block:10px}.actions{gap:10px;flex-wrap:wrap}.actions button{flex:1 1 auto}.portfolio-network h2{font-size:22px}.fields{grid-template-columns:1fr!important}.card{max-width:100%;box-sizing:border-box}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media print{.ux-skip,.ux-helper,.portfolio-search{display:none!important}}
