.primary-action{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 16px;background:var(--accent);color:var(--bg);border:1px solid var(--accent);border-radius:2px;text-decoration:none;font:inherit;cursor:pointer;box-sizing:border-box}
.page-action{margin:12px 0 20px}.mobile-action{display:none}.privacy-banner{position:fixed;z-index:1100;left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));max-width:640px;margin:auto;padding:20px;background:var(--bg);color:var(--ink);border:1px solid var(--line);max-height:75dvh;overflow:auto}.privacy-banner[hidden]{display:none}.privacy-banner h2{font-size:1.1rem;margin:0}.privacy-banner p{margin:8px 0}.privacy-actions{display:flex;gap:12px;flex-wrap:wrap}.privacy-actions button{flex:1;min-height:44px;padding:10px;font:inherit;background:var(--panel);color:var(--ink);border:1px solid var(--line);cursor:pointer}.privacy-choice-open .theme-toggle{visibility:hidden}#privacy-form fieldset{border:1px solid var(--line);padding:16px}#privacy-form label{display:flex;align-items:center;gap:12px;min-height:44px}#privacy-form input{width:20px;height:20px}#privacy-form-status:not(:empty){padding:12px;border-left:3px solid var(--accent);background:var(--panel)}#privacy-form[aria-busy="true"]{opacity:.8}button:disabled{cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
@media(max-width:760px){body{padding-bottom:calc(88px + env(safe-area-inset-bottom))}.mobile-action{display:block;position:fixed;z-index:900;left:max(12px,env(safe-area-inset-left));right:80px;bottom:max(16px,env(safe-area-inset-bottom))}.mobile-action a{width:100%;font-size:.875rem;background:var(--accent);box-shadow:none}.privacy-choice-open .mobile-action{visibility:hidden}.privacy-banner{padding:16px}.privacy-actions{gap:8px}.privacy-actions button{flex-basis:100%}}
@media print{.mobile-action,.privacy-banner,.page-action{display:none!important}}
