/* Public share controls. Styles stay scoped and follow the shared reading modes. */
:root{--al-share-ink:#172435;--al-share-muted:#46566a;--al-share-surface:#fff;--al-share-soft:#eff3f6;--al-share-line:#7b8c9f;--al-share-accent:#245ccc}
html[data-al-mode=notte]{--al-share-ink:#f2f5fa;--al-share-muted:#c3ceda;--al-share-surface:#202934;--al-share-soft:#2b394b;--al-share-line:#8095ac;--al-share-accent:#b2ccff}
html[data-al-contrast=high]{--al-share-ink:#080f19;--al-share-muted:#1d2c3e;--al-share-surface:#fff;--al-share-soft:#e8eef5;--al-share-line:#3b4c60;--al-share-accent:#123c90}
html[data-al-mode=notte][data-al-contrast=high]{--al-share-ink:#fff;--al-share-muted:#eff4fa;--al-share-surface:#10181e;--al-share-soft:#23344b;--al-share-line:#bbcee4;--al-share-accent:#d2e2ff}
.al-share-toggle,.al-share-dialog,.al-share-dialog *{box-sizing:border-box}
.al-share-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:0 0 auto;min-height:44px;margin:0;padding:7px 11px;border:1px solid var(--al-share-line);border-radius:22px;background:var(--al-share-surface);color:var(--al-share-ink);font-family:inherit;font-size:calc(13px * var(--al-text-scale,1));font-weight:500;line-height:1.3;letter-spacing:normal;white-space:normal;cursor:pointer;box-shadow:none}
.al-share-toggle svg{width:1.1em;height:1.1em;flex:none}
.al-share-toggle:hover{background:var(--al-share-soft);border-color:var(--al-share-accent)}
.al-share-dialog{width:min(570px,calc(100vw - 24px));border-radius:23px;padding:22px;box-shadow:0 24px 80px #06142c35}
.al-share-dialog[data-site=lab] .al-share-heading h2{font-size:1.45em;letter-spacing:-.035em;font-weight:650}
.al-share-dialog .al-share-heading-label{display:flex;align-items:center;gap:10px;min-width:0}
.al-share-dialog .al-share-heading .al-share-orbit{flex:0 0 32px;width:32px;height:32px}
.al-share-dialog .al-share-heading .al-share-orbit img{width:32px;height:32px}
.al-share-dialog .al-share-card{overflow:hidden;border:1px solid var(--al-share-line);border-radius:17px;background:var(--al-share-surface);box-shadow:0 4px 18px #1427400a}
.al-share-dialog .al-share-brand{display:flex;align-items:center;gap:11px;padding:15px 17px;color:var(--al-share-ink);font-size:1.22em;line-height:1.2;letter-spacing:-.025em}
.al-share-dialog .al-share-brand strong{font-weight:650}
.al-share-dialog .al-share-brand small{display:block;margin-top:4px;font-size:.56em;line-height:1.4;font-weight:400;color:var(--al-share-muted);letter-spacing:.025em}
.al-share-dialog .al-share-orbit{display:grid;place-items:center;position:relative;flex:0 0 42px;width:42px;height:42px}
.al-share-dialog .al-share-orbit img{width:40px;height:40px;display:block;object-fit:contain}
.al-share-dialog .al-share-invite-label{margin-left:auto;padding:5px 8px;border:1px solid var(--al-share-line);border-radius:20px;color:var(--al-share-muted);font-size:.52em;font-weight:500;line-height:1.3;white-space:nowrap;letter-spacing:.025em}
.al-share-dialog .al-share-card .al-share-figure{border:0;border-radius:0;margin:0;background:var(--al-share-soft)}
.al-share-dialog .al-share-card .al-share-figure img{max-height:255px;object-fit:contain}
.al-share-dialog .al-share-card .al-share-figure figcaption{padding:6px 16px;border-bottom:1px solid var(--al-share-line);background:var(--al-share-soft);font-size:.68em}
.al-share-dialog .al-share-card .al-share-preview{padding:17px}
.al-share-dialog[data-site=lab][data-target=site] .al-share-preview h3{max-width:18em;font-size:1.32em;line-height:1.2;letter-spacing:-.035em;font-weight:650;margin-bottom:11px}
.al-share-dialog .al-share-card .al-share-preview p{font-size:.88em;line-height:1.55;margin-bottom:13px}
.al-share-dialog .al-share-card .al-share-preview-link{display:inline-block;font-weight:550;font-size:.83em}
.al-share-dialog .al-share-prompt{margin:17px 0 8px;color:var(--al-share-muted);font-size:.84em;line-height:1.4}
.al-share-dialog .al-share-options{margin-top:0;gap:8px}
.al-share-dialog .al-share-options>a,.al-share-dialog .al-share-options>button{min-height:46px;border-radius:12px;background:var(--al-share-surface)}
.al-share-dialog #al-share-whatsapp{border-color:var(--al-share-accent);color:var(--al-share-accent);background:var(--al-share-soft)}
.al-share-dialog #al-share-copy{border-color:var(--al-share-accent);font-weight:650}
.al-share-dialog .al-share-copy-symbol{position:relative;display:grid;place-items:center;width:1.35em;height:1.35em;flex:none;border-radius:50%}
.al-share-dialog .al-share-copy-symbol svg{display:block;width:1.2em;height:1.2em}
.al-share-dialog .al-share-copy-symbol .al-share-check-icon{display:none}
.al-share-dialog.al-share-is-copied .al-share-copy-icon{display:none}
.al-share-dialog.al-share-is-copied .al-share-copy-symbol .al-share-check-icon{display:block}
.al-share-dialog.al-share-is-copied #al-share-copy{background:var(--al-share-soft);color:var(--al-share-accent)}
.al-share-dialog[open][data-reduced=false]{animation:al-share-arrive .34s cubic-bezier(.2,.7,.3,1) both}
.al-share-dialog[open][data-reduced=false] .al-share-orbit{animation:al-share-orbit-arrive .65s cubic-bezier(.2,.7,.3,1) both}
.al-share-dialog[data-reduced=false].al-share-is-copied .al-share-copy-symbol{animation:al-share-copy-pulse .55s ease-out both}
.al-share-dialog[data-reduced=false].al-share-is-copied .al-share-check-icon path{stroke-dasharray:24;stroke-dashoffset:0;animation:al-share-check-draw .32s ease-out both}
@keyframes al-share-arrive{from{opacity:0;transform:translateY(7px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes al-share-orbit-arrive{from{opacity:.4;transform:rotate(-14deg) scale(.94)}to{opacity:1;transform:rotate(0) scale(1)}}
@keyframes al-share-copy-pulse{0%{box-shadow:0 0 0 0 var(--al-share-line);transform:scale(.92)}45%{box-shadow:0 0 0 5px transparent;transform:scale(1.08)}100%{box-shadow:0 0 0 8px transparent;transform:scale(1)}}
@keyframes al-share-check-draw{from{stroke-dashoffset:24}to{stroke-dashoffset:0}}
.al-share-dialog[data-reduced=true],.al-share-dialog[data-reduced=true] *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){.al-share-dialog,.al-share-dialog *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:560px){.al-share-dialog .al-share-brand{padding:12px}.al-share-dialog .al-share-card .al-share-preview{padding:14px}.al-share-dialog .al-share-invite-label{display:none}.al-share-dialog .al-share-card .al-share-figure img{max-height:200px}}
.al-share-dialog{width:min(500px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);margin:auto;padding:22px;border:1px solid var(--al-share-line);border-radius:19px;overflow:auto;overscroll-behavior:contain;background:var(--al-share-surface);color:var(--al-share-ink);box-shadow:0 18px 70px #06142c40;font-family:inherit;font-size:calc(15px * var(--al-text-scale,1));line-height:1.5;text-align:left;overflow-wrap:anywhere}
.al-share-dialog::backdrop{background:#06132175;backdrop-filter:blur(2px)}
.al-share-dialog:not([open]),.al-share-dialog [hidden]{display:none!important}
.al-share-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.al-share-dialog .al-share-heading h2{margin:0;color:var(--al-share-ink);font-size:1.3em;line-height:1.25;font-weight:650;letter-spacing:-.02em}
.al-share-dialog .al-share-close{display:grid;place-items:center;flex:0 0 44px;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border:1px solid var(--al-share-line);border-radius:50%;background:var(--al-share-soft);color:var(--al-share-ink);font:400 28px/1 system-ui,sans-serif;box-shadow:none;cursor:pointer}
.al-share-dialog .al-share-intro{margin:12px 0 18px;font-size:.9em;line-height:1.5;color:var(--al-share-muted)}
.al-share-dialog .al-share-choice{display:grid;gap:7px;margin:0 0 17px}
.al-share-dialog .al-share-choice label,.al-share-dialog .al-share-copy-fallback label{display:block;margin:0;font-size:.86em;line-height:1.5;font-weight:600;color:var(--al-share-ink)}
.al-share-dialog .al-share-choice select,.al-share-dialog .al-share-copy-fallback input{width:100%;min-width:0;min-height:44px;margin:0;padding:9px 10px;border:1px solid var(--al-share-line);border-radius:9px;background:var(--al-share-surface);color:var(--al-share-ink);font-family:inherit;font-size:.93em;line-height:1.5;box-shadow:none}
.al-share-dialog .al-share-figure{margin:0 0 14px;padding:0;border:1px solid var(--al-share-line);border-radius:11px;overflow:hidden;background:var(--al-share-soft)}
.al-share-dialog .al-share-figure img{display:block;width:100%;height:auto;aspect-ratio:1200/630;object-fit:contain;margin:0}
.al-share-dialog .al-share-figure figcaption{padding:7px 10px;margin:0;background:var(--al-share-surface);color:var(--al-share-muted);font-size:.75em;line-height:1.4}
.al-share-dialog .al-share-preview h3{font-size:1.02em;line-height:1.35;letter-spacing:-.01em;margin:0 0 7px;color:var(--al-share-ink)}
.al-share-dialog .al-share-preview p{font-size:.87em;line-height:1.5;margin:0 0 8px;color:var(--al-share-muted)}
.al-share-dialog .al-share-preview-link{display:block;overflow-wrap:anywhere;font-size:.8em;line-height:1.5;color:var(--al-share-accent);text-decoration:underline;text-underline-offset:.2em}
.al-share-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:19px 0 0}
.al-share-dialog .al-share-options>a,.al-share-dialog .al-share-options>button{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2px 7px;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--al-share-line);border-radius:10px;background:var(--al-share-soft);color:var(--al-share-ink);font-family:inherit;font-size:.87em;line-height:1.4;font-weight:550;text-decoration:none;text-align:center;white-space:normal;cursor:pointer;box-shadow:none}
.al-share-dialog .al-share-options small{display:block;width:100%;font-size:.82em;font-weight:400;line-height:1.3;color:inherit}
.al-share-dialog .al-share-options>a:hover,.al-share-dialog .al-share-options>button:hover{border-color:var(--al-share-accent);text-decoration:underline;text-underline-offset:.2em}
.al-share-dialog button:disabled{opacity:.55;cursor:default}
.al-share-copy-fallback{display:grid;gap:7px;margin:15px 0 0}
.al-share-dialog .al-share-copy-fallback p{font-size:.8em;line-height:1.5;color:var(--al-share-muted);margin:0}
.al-share-dialog .al-share-status{min-height:1.5em;font-size:.85em;line-height:1.5;color:var(--al-share-ink);margin:10px 0 0}
.al-share-dialog .al-share-lab{font-size:.8em;line-height:1.5;color:var(--al-share-muted);border-top:1px solid var(--al-share-line);padding-top:12px;margin:12px 0 0}
.al-share-dialog .al-share-lab a{color:var(--al-share-accent);text-decoration:underline;text-underline-offset:.2em}
.al-share-toggle:focus-visible,.al-share-dialog :is(button,a,input,select):focus-visible{outline:3px solid var(--al-share-accent)!important;outline-offset:3px}
html:is([data-al-size="150"],[data-al-size="175"],[data-al-size="200"]) .al-share-options{grid-template-columns:minmax(0,1fr)}
@media(max-width:560px){.al-share-dialog{padding:17px}.al-share-toggle{padding:7px 10px}.al-share-dialog .al-share-heading h2{font-size:1.2em}}
@media(prefers-reduced-motion:reduce){.al-share-dialog,.al-share-toggle{scroll-behavior:auto;transition:none}}
@media(max-width:560px){
 .site-footer:has(.al-share-toggle){display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:4px;padding-block:8px!important}
 .site-footer .footer-brand{grid-column:1;grid-row:1}.site-footer .footer-contact{grid-column:1;grid-row:2}
 .site-footer .al-share-toggle{grid-column:2;grid-row:1/3}.site-footer .footer-place{grid-column:1/-1;grid-row:3}
 .demo-footer:has(.al-share-toggle){flex-direction:row;flex-wrap:wrap;align-items:center}.demo-footer>.al-share-toggle{width:auto;margin-left:auto}.demo-footer:has(.al-share-toggle)>a:last-child{flex-basis:100%}
}
.al-share-dialog{width:min(570px,calc(100vw - 24px));border-radius:23px;box-shadow:0 24px 80px #06142c35}
.al-share-dialog .al-share-options>a,.al-share-dialog .al-share-options>button{min-height:46px;border-radius:12px;background:var(--al-share-surface)}
