.sharedShade{position:absolute;inset:0;z-index:30;background:var(--shade);backdrop-filter:blur(1.5px);opacity:0;pointer-events:none;transition:opacity .45s}.sharedShade.is-open{opacity:1;pointer-events:auto}.sharedPanel{position:absolute;z-index:31;left:50%;bottom:0;width:min(35vw,560px);min-width:470px;padding:22px 58px 34px;transform:translate(-50%,0);opacity:0;visibility:hidden;pointer-events:none;filter:blur(5px);border:1px solid var(--panel-border);border-radius:28px 28px 0 0;background:var(--panel-bg);box-shadow:0 -10px 42px var(--panel-shadow);color:var(--panel-ink);transition:opacity .5s ease,filter .5s ease,visibility 0s linear .5s}.sharedPanel.is-open{transform:translate(-50%,0);opacity:1;visibility:visible;pointer-events:auto;filter:blur(0);transition:opacity .5s ease,filter .5s ease,visibility 0s}.sharedPanel__handle{display:block;width:30px;height:1px;margin:0 auto 13px;background:var(--panel-accent-soft)}.sharedPanel__brand{margin:0 0 10px;text-align:center;font:400 42px/.9 Georgia,serif;color:var(--accent)}.sharedPanel>div{display:grid}.sharedPanel a{display:grid;grid-template-columns:35px 1fr 25px;align-items:center;padding:16px 5px;border-bottom:1px solid rgba(86,68,54,.22);color:inherit;text-decoration:none}.sharedPanel a small{color:var(--panel-accent-soft)}.sharedPanel a span{font:400 23px Georgia,serif}.sharedPanel a b{font-size:20px;font-weight:200}.sharedPanel button{display:block;margin:20px auto 0;border:0;background:none;color:var(--panel-accent-deep);font-size:25px;cursor:pointer}
/* Шаг 6: на mobile панель — bottom-sheet, привязанный к ВЬЮПОРТУ (fixed).
   Иначе на телефонах выше 700px (@media max-height:700 не срабатывает)
   position:absolute + bottom:0 сажает панель в самый низ длинной
   прокручиваемой страницы — при открытии меню её не видно. max-height +
   overflow-y — страховка, что панель никогда не выше экрана. */
@media(max-width:900px){
  .sharedShade{position:fixed}
  .sharedPanel{position:fixed;top:auto;bottom:0;width:84vw;min-width:0;padding-inline:30px;max-height:86dvh;overflow-y:auto}
}
