/* Paywall UI - self-contained, uses the app's CSS vars when present (dark default). */
.lic-bar{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:9998;display:flex;gap:10px;align-items:center;padding:8px 14px;border-radius:999px;background:var(--elevated,#1c1c1c);color:var(--fg,#fff);font:500 13px Poppins,system-ui,sans-serif;border:1px solid var(--line,#333)}
.lic-bar b{font-weight:600}.lic-bar .lic-warn{color:#f59e0b}.lic-bar .lic-bad{color:#ef4444}
.lic-btn{border:0;border-radius:999px;padding:8px 14px;background:var(--accent,#14b8a6);color:var(--color-on,#04201d);font:600 13px Poppins,system-ui,sans-serif;cursor:pointer}
.lic-btn.secondary{background:transparent;border:1px solid var(--line,#444);color:inherit}
.lic-overlay{position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;padding:16px}
.lic-modal{width:100%;max-width:440px;background:var(--elevated,#1c1c1c);color:var(--fg,#fff);border-radius:24px;padding:24px;font:400 14px Poppins,system-ui,sans-serif;border:1px solid var(--line,#333)}
.lic-modal h2{margin:0 0 8px;font-size:20px;font-weight:600}.lic-modal p{margin:0 0 14px;color:var(--muted,#aaa)}
.lic-modal label{display:block;margin:10px 0 4px;font-size:12px;color:var(--muted,#aaa)}
.lic-modal input,.lic-modal textarea,.lic-modal select{width:100%;box-sizing:border-box;padding:10px 12px;border-radius:12px;border:1px solid var(--line,#444);background:var(--canvas,#0f0f0f);color:inherit;font:inherit}
.lic-modal textarea{min-height:110px;resize:vertical}.lic-row{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}
.lic-msg{margin-top:10px;font-size:13px}.lic-err{color:#ef4444}
/* Read-only lock: block creation controls, keep reading/scrolling/export working. */
html.lic-locked [data-lic-write],html.lic-locked form button[type=submit]{pointer-events:none;opacity:.45}

.lic-bar[hidden]{display:none!important}

/* v3 status bar layout: one row on desktop, stacked on mobile, never wraps inside items */
.lic-bar{gap:12px;padding:6px 6px 6px 16px;box-shadow:0 10px 30px #00000066;max-width:calc(100vw - 32px);flex-wrap:nowrap}
.lic-info{display:flex;align-items:center;gap:8px;min-width:0}
.lic-item,.lic-btn{white-space:nowrap}
.lic-sep{color:var(--faint,#8b97a3)}
.lic-actions{display:flex;gap:6px;flex-shrink:0}
.lic-btn{display:inline-flex;align-items:center;height:32px;padding:0 12px;font-size:12px;text-decoration:none;line-height:1}
.lic-btn:focus-visible{outline:2px solid #5eead4;outline-offset:2px}
html.sa-has-bar body{padding-bottom:72px}
@media (max-width:639.98px){
  .lic-bar{left:8px;right:8px;bottom:8px;transform:none;max-width:none;flex-direction:column;align-items:stretch;gap:8px;padding:10px;border-radius:16px}
  .lic-info{justify-content:center;font-size:12px}
  .lic-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}
  .lic-btn{justify-content:center;height:36px;padding:0 8px;font-size:12px}
  html.sa-has-bar body{padding-bottom:120px!important}
}

/* v4: wider single-line bar on desktop */
@media (min-width:640px){
  .lic-bar{width:min(880px,calc(100vw - 32px));justify-content:space-between;padding:8px 8px 8px 20px;border-radius:999px}
  .lic-info{font-size:13px}
}
#sa-lang-toggle{white-space:nowrap}
/* language toggle sits directly left of the theme switch (header is justify-between) */
#sa-lang-toggle{margin-left:auto;margin-right:8px}

/* v5 (QA B8): mobile = compact single-line bar docked to the bottom; body reserves its height so content is never covered */
.lic-short{display:none}
@media (max-width:639.98px){
  .lic-bar{left:0;right:0;bottom:0;transform:none;width:auto;max-width:none;flex-direction:row;align-items:center;justify-content:space-between;gap:8px;
    padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px)) 12px;border-radius:0;border-width:1px 0 0;min-height:48px;box-sizing:border-box;box-shadow:0 -6px 20px #00000040}
  .lic-info{font-size:12px;gap:6px;justify-content:flex-start;overflow:hidden}
  .lic-actions{display:flex;gap:6px}
  .lic-btn{height:34px;padding:0 10px;font-size:12px}
  .lic-long{display:none}.lic-short{display:inline}
  html.sa-has-bar body{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))!important}
}
/* substatus: restore purchase link */
.lic-restore-hint{margin:14px 0 0!important;font-size:13px}
.lic-link{background:none;border:0;padding:0;color:var(--accent,#14b8a6);font:inherit;text-decoration:underline;cursor:pointer}
.lic-link:focus-visible{outline:2px solid #5eead4;outline-offset:2px}
/* v5: brand wordmark (local Poppins, no CDN) */
.sa-wordmark{margin:2px 0 0;font:700 clamp(30px,7vw,46px)/1.02 Poppins,system-ui,sans-serif;letter-spacing:-.035em;display:inline-flex;align-items:baseline;gap:.22em;position:relative;padding-bottom:8px}
.sa-wordmark .sa-wm-a{color:var(--fg,#fff)}
.sa-wordmark .sa-wm-b{color:#14b8a6}
.sa-wordmark::after{content:"";position:absolute;left:0;bottom:0;width:44px;height:4px;border-radius:4px;background:#14b8a6}
html[data-theme=light] .sa-wordmark .sa-wm-b{color:#0f766e}
html[data-theme=light] .sa-wordmark::after{background:#0f766e}
/* v5 U15: desktop bar never covers the last rows */
@media (min-width:640px){html.sa-has-bar body{padding-bottom:104px!important}html.sa-has-bar{scroll-padding-bottom:104px}}
@media (max-width:639.98px){html.sa-has-bar{scroll-padding-bottom:72px}}
/* v5 U17: counter is a button with explanation */
.lic-count{background:none;border:0;padding:4px 2px;margin:0;color:inherit;font:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:4px;min-height:32px}
.lic-count:focus-visible{outline:2px solid #5eead4;outline-offset:2px;border-radius:6px}
.lic-q{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;border:1px solid var(--line,#555);font-size:10px;line-height:1;opacity:.8}
/* v5 U22: touch targets for chips/toggles in the app >= 44px */
main button[aria-pressed]{min-height:44px}

/* v5: legal footer */
.sa-legal{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;padding:8px 16px 24px;font:13px Poppins,system-ui,sans-serif;color:var(--faint,#8b97a3)}
.sa-legal a{color:inherit;text-decoration:underline;text-underline-offset:3px;padding:10px 4px}
.sa-legal a:hover{color:var(--fg,#fff)}
/* v5: mobile header – toggles on their own row (right), wordmark full width below */
@media (max-width:639.98px){
  main>header{flex-wrap:wrap;row-gap:10px}
  main>header>div:first-child{flex:1 1 100%;order:1}
  #sa-toggles{order:0;margin-left:auto}
  .sa-wordmark{font-size:clamp(30px,9vw,40px)}
}
@media (max-width:639.98px){.lic-bar .lic-sep,.lic-bar .lic-q{display:none}.lic-bar .lic-info{gap:8px}}
@media (max-width:639.98px){.lic-bar .lic-count{flex-shrink:0}.lic-bar .lic-info .lic-short{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lic-bar .lic-actions .lic-btn{padding:0 9px}}
