#privacy-banner,#privacy-settings{box-sizing:border-box;position:fixed;z-index:2147483646;background:#fff;color:var(--su-ink,#15181b);border:1px solid var(--su-border,#dfe2e5);font:14px/1.55 Anuphan,system-ui,sans-serif}
#privacy-banner{bottom:16px;left:16px;right:16px;max-width:880px;margin:auto;border-radius:14px;box-shadow:0 8px 30px rgba(21,24,27,.12);padding:18px 20px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 20px}
#privacy-banner:not([hidden]){display:flex}
#privacy-banner[hidden]{display:none}
#privacy-banner strong{flex:1 1 100%;font-size:15px;font-weight:700}
#privacy-banner>p:first-of-type{flex:1 1 320px;margin:0;color:var(--su-text-2,#30353a)}
#privacy-banner .privacy-actions{margin:0}
#privacy-settings{inset:0;width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow:auto;margin:auto;border:0;border-radius:16px;padding:24px}
#privacy-settings::backdrop{background:rgba(21,24,27,.45)}
#privacy-settings h2{font-size:20px;line-height:1.3;margin:0}
#privacy-settings p{margin:8px 0;color:var(--su-muted,#555b61);font-size:13px}
.privacy-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:16px}
.privacy-actions button,#privacy-settings button{font:inherit;font-size:14px;min-height:44px;padding:0 18px;border:1px solid var(--su-ink,#15181b);border-radius:8px;background:#fff;color:var(--su-ink,#15181b);font-weight:600;cursor:pointer}
#privacy-customize{order:-1;border-color:transparent;background:transparent;padding:0 12px;text-decoration:underline;text-underline-offset:3px}
#privacy-accept,#privacy-reject{flex:0 0 184px}
#privacy-save{background:var(--su-ink,#15181b);color:#fff}
#privacy-save:hover{background:#30353a}
#privacy-accept:hover,#privacy-reject:hover,#privacy-close:hover{background:#f4f5f6}
#privacy-customize:hover{background:transparent;color:#30353a}
#privacy-settings .privacy-actions button{flex:1}
.privacy-actions button:focus-visible,#privacy-settings button:focus-visible,#privacy-preferences:focus-visible,.privacy-category input:focus-visible{outline:3px solid oklch(0.5 0.11 210);outline-offset:3px}
#privacy-preferences{position:fixed;bottom:8px;left:8px;z-index:1000;background:#fff;color:var(--su-muted,#555b61);border:1px solid var(--su-border,#dfe2e5);border-radius:999px;padding:6px 12px;font:12px Anuphan,system-ui,sans-serif;cursor:pointer}
#privacy-preferences:hover{color:var(--su-ink,#15181b);border-color:var(--su-ink,#15181b)}
.privacy-category{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--su-divider,#eef0f2);cursor:pointer}
.privacy-category-copy{display:grid;gap:3px}
.privacy-category-copy strong{font-size:15px;font-weight:600}
.privacy-category-copy span{font-size:13px;line-height:1.5;color:var(--su-muted,#555b61)}
.privacy-category input{appearance:none;-webkit-appearance:none;position:relative;flex:none;width:52px;height:30px;margin:0;background:var(--su-border,#dfe2e5);border-radius:999px;cursor:pointer;transition:background .15s}
.privacy-category input::before{content:'';position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;transition:transform .15s ease}
.privacy-category input:checked{background:oklch(0.5 0.11 210)}
.privacy-category input:checked::before{transform:translateX(22px)}
.privacy-category input:disabled{background:#8b9096;cursor:not-allowed}
#privacy-banner a,#privacy-settings a{color:oklch(0.5 0.11 210)}
#privacy-banner a:hover,#privacy-settings a:hover{color:#15181b}
#privacy-error,#privacy-banner-error{flex:1 1 100%;color:var(--su-danger,#a63a2e)!important;margin:4px 0 0!important}
#privacy-error:empty,#privacy-banner-error:empty{display:none}
.privacy-policy{max-width:960px;margin:40px auto;padding:0 clamp(16px,3vw,28px);color:#30353a;font:15px/1.65 Anuphan,system-ui,sans-serif}
.privacy-policy h1{font-size:28px;color:#15181b;margin:0 0 6px}
.privacy-policy h2{font-size:20px;color:#15181b}
.privacy-policy-version{color:#8b9096;font-size:13px}
.privacy-policy-table{overflow-x:auto;background:#fff;border:1px solid #dfe2e5;border-radius:14px}
.privacy-policy table{width:100%;border-collapse:collapse;min-width:560px;font-size:14px}
.privacy-policy th,.privacy-policy td{text-align:left;vertical-align:top;padding:12px 16px;border-bottom:1px solid #eef0f2}
.privacy-policy th{background:#f4f5f6;font-weight:600;color:#15181b}
.privacy-policy td:first-child{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:13px;color:#15181b}
.privacy-policy a{color:oklch(0.5 0.11 210)}
@media(max-width:600px){#privacy-banner{left:12px;right:12px;bottom:12px;padding:16px}#privacy-banner .privacy-actions{width:100%}#privacy-accept,#privacy-reject{flex:1 1 calc(50% - 4px);padding:0 8px;font-size:13px}#privacy-customize{flex:1 1 100%;order:1}#privacy-settings{padding:20px}}
@media(prefers-reduced-motion:reduce){.privacy-category input,.privacy-category input::before{transition:none}}

#privacy-save{background:var(--su-ink,#15181b)!important;color:#fff!important}
#privacy-save:hover{background:#30353a!important}
@media(pointer:coarse),(max-width:760px){#privacy-preferences{min-height:44px}}
