.ap-on body { -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }
.ap-on input, .ap-on textarea, .ap-on select, .ap-on [contenteditable="true"], .ap-on .ap-allow { -webkit-user-select: text; user-select: text; -webkit-touch-callout: default; }
.ap-on img, .ap-on video { -webkit-user-drag: none; user-drag: none; }
.ap-shield { position: fixed; inset: 0; z-index: 2147483646; display: none; overflow: hidden; pointer-events: none; background: rgba(255, 255, 255, .55); -webkit-backdrop-filter: blur(16px) saturate(.6); backdrop-filter: blur(16px) saturate(.6); }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { .ap-shield { background: rgba(255, 255, 255, .96); } }
.ap-stamp { position: absolute; inset: -30% -40%; display: flex; flex-direction: column; justify-content: space-around; align-items: center; transform: rotate(-24deg); }
.ap-big { text-align: center; color: #7A1F33; line-height: 1.05; white-space: nowrap; }
.ap-big b { display: block; font: 800 clamp(44px, 13vw, 120px)/1 system-ui, sans-serif; letter-spacing: -.02em; }
.ap-big span { display: block; font: 700 clamp(18px, 5vw, 40px)/1.2 system-ui, sans-serif; margin-top: .25em; color: #2B181C; }
.ap-why { position: absolute; left: 50%; bottom: 7%; transform: translateX(-50%); background: #7A1F33; color: #fff; padding: 10px 18px; border-radius: 999px; font: 700 15px/1.2 system-ui, sans-serif; white-space: nowrap; box-shadow: 0 10px 30px -10px rgba(0, 0, 0, .5); }
.ap-hidden .ap-shield { display: block; }
.ap-mark { position: fixed; inset: -20%; z-index: 2147483645; pointer-events: none; display: flex; flex-wrap: wrap; align-content: space-around; justify-content: space-around; gap: 120px 160px; opacity: .13; transition: transform 2s ease; transform: rotate(-24deg); }
/* Dark letters with a thin light edge: the letters show on light pages, the edge on dark ones, whatever the device's mode. */
.ap-mark span { font: 500 14px/1.2 system-ui, sans-serif; color: #222; white-space: nowrap; text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff; }
.ap-tip { position: fixed; left: 50%; bottom: 24px; z-index: 2147483647; transform: translate(-50%, 20px); opacity: 0; pointer-events: none; background: #2B181C; color: #fff; padding: 10px 16px; border-radius: 999px; font: 600 14px/1.3 system-ui, sans-serif; transition: opacity .2s, transform .2s; box-shadow: 0 10px 30px -10px rgba(0,0,0,.5); }
.ap-tip.on { opacity: 1; transform: translate(-50%, 0); }
@media print { body * { visibility: hidden !important; } body::after { content: "Printing is turned off for this page."; visibility: visible; position: fixed; top: 40%; left: 0; right: 0; text-align: center; font: 600 20px system-ui, sans-serif; } }
