@font-face { font-family: 'Lilita One'; font-weight: 400; font-style: normal; font-display: swap; src: url('legal/fonts/lilita-one.ttf') format('truetype'); }
@font-face { font-family: 'Nunito'; font-weight: 600; font-style: normal; font-display: swap; src: url('legal/fonts/nunito-600.ttf') format('truetype'); }
@font-face { font-family: 'Nunito'; font-weight: 800; font-style: normal; font-display: swap; src: url('legal/fonts/nunito-800.ttf') format('truetype'); }
#treta-privacy { font: 600 14px/1.6 'Nunito', system-ui, sans-serif; color: #eee7fc; text-align: left; }
#treta-privacy * { box-sizing: border-box; }
#treta-privacy [hidden] { display: none !important; }
#treta-privacy :focus-visible { outline: 3px solid #8dffb0; outline-offset: 4px; }
#treta-privacy h2 { font: 400 27px/1.1 'Lilita One', sans-serif; color: #ffc93a; margin: 0 0 13px; text-shadow: none; letter-spacing: normal; }
#treta-privacy p { margin: 0 0 12px; color: #eee7fc; font-size: 14px; line-height: 1.6; }
#treta-privacy a { color: #ffdb72; text-decoration: underline; text-underline-offset: 3px; }
#treta-privacy button { position: static; display: inline-flex; align-items: center; justify-content: center; min-height: 43px; margin: 0; padding: 10px 14px; border: 2px solid #ffc93a; border-radius: 9px; background: #2a1f52; color: #ffe391; font: 400 15px/1.3 'Lilita One', sans-serif; cursor: pointer; text-shadow: none; letter-spacing: normal; box-shadow: 0 3px 0 #100b20; transform: none; }
#treta-privacy button:hover { background: #3e2b68; }
#treta-privacy .tp-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 17px 0; }
#treta-privacy .tp-actions button { flex: 1 1 140px; }
#treta-privacy .tp-banner { position: fixed; z-index: 2001; right: 18px; bottom: 18px; width: min(760px, calc(100% - 36px)); max-height: calc(100dvh - 36px); overflow-y: auto; padding: 23px; background: #211838; border: 3px solid #66517f; border-radius: 18px; box-shadow: 0 8px 0 #100b20, 0 12px 60px #0009; }
#treta-privacy .tp-availability { color: #b8ecd0; font-size: 12px; }
#treta-privacy .tp-links { margin-bottom: 0; font-size: 12px; }
#treta-privacy .tp-settings { position: fixed; z-index: 2000; bottom: 12px; left: 12px; min-height: 36px; font-size: 12px; background: #211838; }
#treta-privacy.treta-privacy-game .tp-settings { top: max(12px, env(safe-area-inset-top)); bottom: auto; }
#treta-privacy.treta-privacy-undecided .tp-settings { display: none; }
#treta-privacy dialog { color-scheme: dark; position: fixed; inset: 0; width: min(650px, calc(100% - 28px)); max-height: calc(100dvh - 28px); overflow-y: auto; margin: auto; padding: 27px; color: #eee7fc; background: #211838; border: 3px solid #66517f; border-radius: 18px; box-shadow: 0 10px 0 #100b20; text-align: left; }
#treta-privacy dialog::backdrop { background: #0b081ce0; }
#treta-privacy .tp-heading { display: flex; gap: 15px; justify-content: space-between; align-items: flex-start; }
#treta-privacy .tp-heading button { flex: 0 0 40px; padding: 6px; min-height: 40px; font-size: 22px; margin: -5px -5px 5px 0; }
#treta-privacy .tp-category { display: block; position: relative; padding: 15px; margin: 12px 0; background: #2a1f52; border: 2px solid #4c3b68; border-radius: 11px; }
#treta-privacy .tp-category strong { color: #fff; font-weight: 800; font-size: 14px; }
#treta-privacy .tp-category p { margin: 6px 0 0; font-size: 13px; }
#treta-privacy .tp-badge { display: inline-block; margin-left: 12px; color: #8dffb0; font-size: 11px; }
#treta-privacy .tp-statistics { display: flex; gap: 13px; align-items: flex-start; cursor: pointer; }
#treta-privacy .tp-statistics input { appearance: auto; position: static; width: 22px; height: 22px; flex: 0 0 22px; margin: 2px 0 0; padding: 0; accent-color: #ffc93a; }
#treta-privacy small { display: block; font-size: 13px; color: #d3c7e7; margin-top: 5px; }
#treta-privacy .tp-notice { position: fixed; z-index: 2002; bottom: 60px; left: 12px; width: min(420px, calc(100% - 24px)); margin: 0; padding: 12px 15px; background: #211838; border: 2px solid #8dffb0; border-radius: 10px; font-size: 12px; pointer-events: none; animation: tp-notice-dismiss 0s 8s forwards; }
@keyframes tp-notice-dismiss { to { visibility: hidden; } }
@media (max-width: 520px) { #treta-privacy .tp-banner { padding: 18px; bottom: 12px; right: 12px; width: calc(100% - 24px); max-height: calc(100dvh - 24px); } #treta-privacy .tp-actions { gap: 8px; } #treta-privacy .tp-actions button { flex-basis: 100%; } #treta-privacy dialog { padding: 20px; } #treta-privacy h2 { font-size: 25px; } }
@media print { #treta-privacy { display: none; } }
