/* Shared interaction primitives. The visual system lives in design.css. */
html{scroll-behavior:smooth}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}.ply-cover{cursor:pointer}.ply-cover:focus-visible{outline:3px solid #e5b86c;outline-offset:-4px}.ply-cover.hidden{display:none!important}#plx iframe,#plx video{width:100%;height:100%;border:0;display:block;background:#000}.provider-link{position:absolute;bottom:12px;right:14px;background:#e5b86ce6;color:#111;font-weight:600;font-size:13px;padding:8px 14px;border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,0.5);z-index:10;text-decoration:none;transition:transform .15s,background .15s}.provider-link:hover{background:#f0c980;transform:translateY(-2px)}.player-message{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;text-align:center}.player-tools{display:flex;gap:8px;flex-wrap:wrap;clear:both}.lights-off:before{content:'';position:fixed;inset:0;background:#000e;z-index:100}.lights-off .player-alan,.lights-off .player-tools{position:relative;z-index:101}.trailer-frame{width:100%;height:min(60vh,480px);border:0}
#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;z-index:10010;max-width:calc(100vw - 40px);transition:opacity .2s,transform .2s}#toast.visible{opacity:1;transform:translate(-50%,0)}dialog{box-sizing:border-box;width:min(620px,calc(100vw - 24px));max-height:90vh;padding:0}dialog>header{display:flex;align-items:center;justify-content:space-between}dialog h2{margin:0}.dialog-close{border:0;background:none;font-size:30px;line-height:1}.dialog-content label,#admin-body label{display:block;margin-bottom:14px}.dialog-content input:not([type=checkbox]),.dialog-content select,.dialog-content textarea,#admin-body input:not([type=checkbox]),#admin-body textarea,#admin-body select{box-sizing:border-box;display:block;width:100%;margin-top:6px;padding:11px}.dialog-content textarea{min-height:120px}.btn,.dialog-content button:not(.dialog-close),.admin-tabs button{display:inline-block;border:0;padding:11px 17px;text-decoration:none}.form-error{min-height:20px}.switch-auth{margin-left:10px}.rating-buttons{display:flex;flex-wrap:wrap;gap:7px}.account-links{display:grid;gap:12px;margin-bottom:22px}.account-links a{padding:12px}.local-comment header{display:flex;justify-content:space-between;gap:10px}.local-comment time,.local-comment small{font-size:11px}.local-comment p{white-space:pre-wrap;line-height:1.8;margin:12px 0}.local-comment footer{margin:0;padding:0;display:flex;align-items:center;gap:12px}.local-comment button{border:0;background:transparent}.local-open{display:block!important}.people-directory{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.people-directory a{display:block;border-radius:5px}.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}#admin-body fieldset{border:1px solid;margin-bottom:20px;padding:20px}#admin-body legend{font-weight:bold}#admin-body textarea{min-height:100px}#admin-body pre{white-space:pre-wrap}.ad-placement{display:block;text-align:center;background:#24262e;padding:10px;color:#fff;clear:both}.ad-placement img{max-width:100%;max-height:160px;object-fit:contain;margin:auto}
@media(max-width:760px){.local-comment header{flex-direction:column}.trailer-frame{height:50vw;min-height:180px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
