#lym-privacy{--lp-bg:#fff;--lp-ink:#211b29;--lp-muted:#62586e;--lp-line:#e3dbe9;--lp-purple:#c687ff;font-family:Jost,system-ui,sans-serif;color:var(--lp-ink)}
[data-theme=dark] #lym-privacy{--lp-bg:#18131d;--lp-ink:#f7f2fc;--lp-muted:#c0b4cc;--lp-line:#49394e}
.lym-privacy-banner{position:fixed;z-index:150;right:24px;bottom:24px;width:min(430px,calc(100vw - 48px));box-sizing:border-box;padding:26px;background:var(--lp-bg);border:1px solid var(--lp-line);border-radius:20px;box-shadow:0 12px 55px #1c0d2926}
.lym-privacy-banner[hidden]{display:none!important}
#lym-privacy h2{font-family:Fraunces,Georgia,serif;font-weight:400;letter-spacing:-.035em;font-size:30px;line-height:1.12;margin:7px 0 13px;color:var(--lp-ink)}
#lym-privacy p{font-size:15px;line-height:1.55;color:var(--lp-muted);margin:0 0 15px}
#lym-privacy a{color:inherit;text-decoration:underline;text-underline-offset:3px}
#lym-privacy .lym-privacy-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.16em;margin:0;color:var(--lp-muted)}
.lym-privacy-actions{display:flex;flex-wrap:wrap;gap:8px}
#lym-privacy button{font:500 13px/1.2 Jost,system-ui,sans-serif;letter-spacing:0;min-height:44px;border:1px solid var(--lp-line);border-radius:10px;background:transparent;color:var(--lp-ink);padding:11px 13px;cursor:pointer}
.lym-privacy-actions button{flex:1;white-space:nowrap}
#lym-privacy button[data-choice=accept],#lym-privacy button[data-choice=save]{background:var(--lp-purple);color:#24132d;border-color:var(--lp-purple)}
#lym-privacy :is(button,input,a):focus-visible{outline:3px solid var(--lp-ink);outline-offset:4px}
#lym-privacy .lym-privacy-status{font-size:13px;line-height:1.4;margin:12px 0 0}
#lym-privacy .lym-privacy-status:empty{display:none}
.lym-privacy-dialog{background:var(--lp-bg);color:var(--lp-ink);border:1px solid var(--lp-line);border-radius:24px;padding:0;width:min(510px,calc(100vw - 32px));max-height:calc(100dvh - 32px);box-shadow:0 20px 90px #10051b4d;box-sizing:border-box}
.lym-privacy-dialog::backdrop{background:#1a112b80}
.lym-privacy-dialog-inner{padding:34px;position:relative}
#lym-privacy .lym-privacy-close{position:absolute;top:12px;right:12px;width:44px;padding:0;font-size:26px;border:0}
.lym-privacy-essential{padding:17px 0 12px;border-top:1px solid var(--lp-line)}
.lym-privacy-essential>span{float:right;color:var(--lp-muted);font-size:12px}
#lym-privacy .lym-privacy-essential p{font-size:13px;margin:7px 0 0}
#lym-privacy .lym-privacy-purpose{text-transform:none;letter-spacing:0;font:400 15px/1.4 Jost,system-ui,sans-serif;position:relative;display:grid;grid-template-columns:1fr 42px;align-items:center;gap:22px;padding:19px 0;border-top:1px solid var(--lp-line);cursor:pointer}
#lym-privacy .lym-privacy-purpose strong{font-size:17px;font-weight:500}
#lym-privacy .lym-privacy-purpose small{display:block;text-transform:none;letter-spacing:0;font-weight:400;font-size:14px;line-height:1.45;color:var(--lp-muted);margin-top:5px}
.lym-privacy-purpose input{position:absolute;right:0;width:42px;height:32px;opacity:0;margin:0}
.lym-privacy-switch{height:25px;width:42px;border-radius:20px;background:var(--lp-line);border:1px solid var(--lp-muted);box-sizing:border-box;pointer-events:none}
.lym-privacy-switch::after{content:'';display:block;width:17px;height:17px;border-radius:50%;margin:3px;background:var(--lp-muted)}
.lym-privacy-purpose input:checked+.lym-privacy-switch{background:var(--lp-purple);border-color:#7b3e9f}
.lym-privacy-purpose input:checked+.lym-privacy-switch::after{background:#24132d;transform:translateX(17px)}
.lym-privacy-purpose input:focus-visible+.lym-privacy-switch{outline:3px solid var(--lp-ink);outline-offset:4px}
#lym-privacy .lym-privacy-fine{font-size:13px;line-height:1.5;border-top:1px solid var(--lp-line);padding-top:16px;margin-bottom:20px}
.privacy-choice-button{font:inherit;color:inherit;border:0;padding:0;background:none;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
@media(max-width:520px){.lym-privacy-banner{right:12px;bottom:12px;width:calc(100vw - 24px);padding:21px;border-radius:16px}.lym-privacy-dialog-inner{padding:28px 22px}#lym-privacy h2{font-size:28px}#lym-privacy button{font-size:12px;padding:11px 10px}.lym-privacy-purpose{gap:16px}}

/* Concise first-visit notice; detailed choices stay in the full settings dialog. */
#lym-privacy .lym-privacy-banner h2{margin-top:0}
.lym-privacy-banner .lym-privacy-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:520px),(max-height:520px) and (max-width:1159px){
 .lym-privacy-banner{right:10px;bottom:max(10px,env(safe-area-inset-bottom));width:min(430px,calc(100vw - 20px));padding:13px 14px;border-radius:14px}
 #lym-privacy .lym-privacy-banner h2{font-size:18px;line-height:1.15;margin:0 0 5px;letter-spacing:-.02em}
 #lym-privacy .lym-privacy-banner p{font-size:13px;line-height:1.4;margin:0 0 10px}
 .lym-privacy-banner .lym-privacy-actions{gap:6px}
 #lym-privacy .lym-privacy-banner button{min-width:0;min-height:44px;font-size:12px;padding:10px 8px;border-radius:8px}
 #lym-privacy .lym-privacy-banner .lym-privacy-status{font-size:12px;margin:8px 0 0}
}
