/* Shared legal access and keyboard foundations; no external dependencies. */
:root{--foundation-bar:calc(32px + env(safe-area-inset-bottom))}
.foundation-footer{position:fixed!important;inset:auto 0 0!important;height:var(--foundation-bar);z-index:20000;display:flex;align-items:center;justify-content:center;gap:20px;padding:3px 10px calc(3px + env(safe-area-inset-bottom))!important;margin:0!important;border:0!important;background:#f3f0e8;color:#25251f;font:12px/1.4 system-ui,sans-serif;letter-spacing:normal;text-transform:none}
@font-face{font-family:'Silkscreen';src:url('assets/fonts/Silkscreen-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}.foundation-footer a{color:inherit!important;text-decoration:underline!important;font:inherit!important;letter-spacing:normal!important;text-transform:none!important;padding:4px 0;min-height:24px}.foundation-footer .dryyyve-signature,.foundation-links .dryyyve-signature{font-family:'Silkscreen',monospace!important;font-size:10px!important;letter-spacing:.04em!important;text-decoration:none!important;white-space:nowrap}
.foundation-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #328b70;outline-offset:3px}
.foundation-links{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;margin-top:18px;font:12px/1.5 system-ui,sans-serif}
.foundation-links a{color:inherit;text-decoration:underline;padding:5px}
@media(prefers-color-scheme:dark){.foundation-footer{background:#181e20;color:#f3f0e8}}@media(max-width:400px){.foundation-footer{gap:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}

body{touch-action:manipulation}#app{bottom:var(--foundation-bar)}.overlay{bottom:var(--foundation-bar);overflow:auto}.panel{max-height:100%;overflow:auto}.switch input:focus-visible+span{outline:3px solid #328b70;outline-offset:4px}
