:root { --pt-prime: #222; --pt-gold: #ffcc00; }

.pt-skip-link { position: fixed !important; top: -100px; left: 50%; transform: translateX(-50%); background: var(--pt-prime); color: #fff !important; padding: 12px 20px; z-index: 2147483647; transition: 0.3s; text-decoration: none; border-radius: 0 0 8px 8px; font-family: sans-serif; font-weight: bold; }
.pt-skip-link:focus { top: 0; }

#pt-trigger-wrap { position: fixed !important; bottom: 25px !important; z-index: 999999 !important; }
#pt-access-trigger { background: var(--pt-acc) !important; width: 60px !important; height: 60px !important; border-radius: 50% !important; border: none !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; box-shadow: 0 4px 15px rgba(0,0,0,0.4) !important; position: relative; padding:0 !important; }
#pt-icon-svg { width: 35px !important; height: 35px !important; fill: var(--pt-acc-text) !important; pointer-events: none !important; }

#pt-access-trigger::after { content: attr(data-tooltip); position: absolute; bottom: 125%; left: 50%; transform: translateX(-50%) translateY(10px); background: #333; color: #fff !important; padding: 8px 14px; border-radius: 6px; font-size: 14px; white-space: nowrap; opacity: 0; visibility: hidden; transition: 0.2s; z-index: 1000000; }
#pt-access-trigger:hover::after { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }

#pt-panel { position: fixed !important; bottom: 100px !important; width: 300px !important; background: #fff !important; border-radius: 12px !important; box-shadow: 0 10px 50px rgba(0,0,0,0.5) !important; z-index: 1000001 !important; border: 1px solid #ccc !important; font-family: sans-serif !important; display: none; }
#pt-panel.active { display: block !important; }
#pt-overlay { position: fixed !important; top: 0 !important; left: 0 !important; width: 100vw !important; height: 100vh !important; background: rgba(0,0,0,0.5) !important; z-index: 1000000 !important; display: none; }
#pt-overlay.active { display: block !important; }

.pt-header { background: var(--pt-prime) !important; padding: 15px !important; display: flex !important; justify-content: space-between !important; align-items: center !important; border-radius: 12px 12px 0 0 !important; color: #fff !important; }
.pt-close { background: none !important; border: none !important; color: #fff !important; font-size: 32px !important; cursor: pointer; line-height: 1; }
.ua-body { padding: 20px !important; background: #fff !important; border-radius: 0 0 12px 12px !important; }
.pt-grid { display: grid !important; gap: 10px !important; grid-template-columns: 1fr 1fr; }
.pt-grid button { width: 100% !important; padding: 10px !important; border: 1px solid #eee !important; background: #fdfdfd !important; cursor: pointer !important; border-radius: 8px !important; font-weight: 600 !important; color: #333 !important; font-size: 12px !important; }
.pt-reset { grid-column: span 2; background: var(--pt-acc) !important; color: var(--pt-acc-text) !important; margin-top: 5px; }

body.pt-contrast, body.pt-contrast *:not(.pt-header):not(.pt-header *) { background-color: #000 !important; color: #ffff00 !important; border-color: #fff !important; }
body.pt-dark, body.pt-dark *:not(.pt-header):not(.pt-header *) { background-color: #1a1a1a !important; color: #e0e0e0 !important; border-color: #444 !important; }
body.pt-grayscale { filter: grayscale(100%) !important; }
body.pt-big-cursor { cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 24 24"><path fill="black" stroke="white" stroke-width="1" d="M7 2l12 11.2l-5.8.8l3.3 5.4l-1.7 1l-3.3-5.4L7 20z"/></svg>'), auto !important; }
body.pt-no-anim * { animation: none !important; transition: none !important; }

#pt-mask { position: fixed; top: 0; left: 0; width: 100%; height: 75px; background: rgba(0,0,0,0.8); border-bottom: 4px solid var(--pt-gold); pointer-events: none; display: none; z-index: 999998; }
