/* LIBE · правки 02.11.2026: иконки меню, фиты, приглашения */
:root{--libe-grad:linear-gradient(100deg,#974CAA 0%,#6F59B1 36%,#3E70A9 68%,#287E80 100%);--libe-edge-grad:linear-gradient(110deg,#BD79E9,#63B8EC,#70BEA6)}

/* нижнее меню с иконками */
.phone>nav{padding:8px 6px 16px}
nav button{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:64px;position:relative;font-size:10.5px}
nav button svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
nav button.active svg{stroke:url(#nav-grad)}
nav button.active{color:#6F59B1}
nav button #unread:not(:empty){position:absolute;top:0;left:calc(50% + 6px);font-size:9px;line-height:1;padding:3px 5px}

/* фильтр «Люди» */
.people-filters{display:flex;gap:6px;margin:16px 0 0}
.people-filters button{border:1px solid #e5d9ed;border-radius:10px;background:white;color:#82698f;padding:8px 12px;font-size:12px}
.people-filters button[aria-pressed=true]{background:linear-gradient(110deg,#f0e4f7,#e5eff4);border-color:#c6afd8;color:#69497e}

/* метка фита */
.person-avatar-wrap{position:relative;display:block;width:100%}
.participants .person-avatar-wrap{width:auto;display:inline-block}
.fit-badge{position:absolute;right:-1px;bottom:9px;z-index:3;min-width:22px;height:18px;padding:0 5px;border-radius:9px;background:var(--libe-grad);color:#fff;font:700 9.5px/18px Arial,sans-serif;letter-spacing:-.02em;box-shadow:0 0 0 2px #fff;text-align:center}
.participants .fit-badge{top:-3px;bottom:auto;right:-5px;height:15px;line-height:15px;font-size:8.5px;min-width:18px;padding:0 4px}
.fit-label{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:8px;background:var(--libe-grad);color:#fff;font-size:10.5px;font-weight:700}
.profile-fit-action{margin-top:10px}
.profile-fit-action .secondary{width:100%}
.small{font-size:11px;line-height:1.4;margin:6px 0 0}

/* приглашения */
.invite-wrap{margin-top:12px;position:relative}
.invite-toggle{width:100%}
.invite-panel{margin-top:8px;border:1px solid #e8def0;border-radius:16px;background:#fff;box-shadow:0 10px 30px #8c6aa422;padding:12px}
.invite-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.invite-head strong{font-size:13px;color:#44344F}
.invite-all{border:0;background:none;color:#6F59B1;font-weight:700;font-size:12px;padding:4px}
.invite-list{list-style:none;margin:0;padding:0;max-height:220px;overflow:auto}
.invite-row{display:flex;align-items:center;gap:10px;width:100%;border:0;background:none;padding:7px 4px;border-radius:10px;color:#44344F;text-align:left}
.invite-row:hover:not(:disabled){background:#f7f2fa}
.invite-row:disabled{opacity:.55;cursor:default}
.invite-row .avatar{width:34px;height:34px;border-radius:50%;object-fit:cover;flex:none;margin:0}
.invite-row>span:nth-of-type(1){flex:1}
.invite-state{font-size:11px;color:#9a8aa3}
.invite-check{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;border:1.5px solid #d6c7e2;color:#fff;font-size:12px;font-weight:700}
.invite-row.picked .invite-check{background:var(--libe-grad);border-color:transparent}
.invite-actions{display:flex;gap:8px;margin-top:10px}
.invite-actions .primary{margin-top:0}
.invite-actions .primary:disabled{opacity:.45;cursor:default}

/* события: цена, организатор, афиша */
.price-chip{display:inline-block;align-self:flex-start;justify-self:start;width:max-content;margin:3px 0 2px;padding:2px 8px;border-radius:8px;background:linear-gradient(white,white) padding-box,var(--libe-edge-grad) border-box;border:1px solid transparent;color:#44344F;font-size:11px;font-weight:700;white-space:nowrap}
.price-chip.big{font-size:13px;padding:5px 11px;border-radius:10px}
.event-facts{display:flex;flex-direction:column;gap:6px;margin:6px 0 10px}
.event-org{font-size:13px;color:#6d5b78}
.event-org .link{border:0;background:none;padding:0;color:#6F59B1;font-weight:700;text-decoration:underline}
.event-source{font-size:12px;color:#6F59B1}
.map-today{align-self:center;padding:8px 12px;border-radius:10px;background:linear-gradient(110deg,#f0e4f7,#e5eff4);color:#69497e;font-size:12px;font-weight:700}
.profile-session-thumb{object-fit:cover}

/* первый экран */
.phone:has(.onboard-welcome) .app-header{display:none}
.onboard-welcome{position:relative;min-height:690px;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:6px;isolation:isolate}
.welcome-garden{position:absolute;inset:-24px -22px -260px;z-index:-1;overflow:hidden;background:radial-gradient(circle at 20% 15%,#f3e6fb 0,transparent 45%),radial-gradient(circle at 85% 30%,#e3f1fb 0,transparent 42%),radial-gradient(circle at 40% 80%,#e6f6ef 0,transparent 45%),radial-gradient(circle at 90% 85%,#fdf3dc 0,transparent 40%),#fff}
.welcome-garden .g{position:absolute;width:62%;opacity:.55;filter:saturate(1.15);animation:drift 18s ease-in-out infinite alternate}
.welcome-garden .g0{left:-14%;top:-4%;width:70%}.welcome-garden .g1{right:-20%;top:6%;width:75%;opacity:.45}.welcome-garden .g2{left:-18%;top:30%;width:58%}.welcome-garden .g3{right:-12%;top:34%;width:55%;opacity:.4}
.welcome-garden .g4{left:20%;top:-12%;width:44%;opacity:.35}.welcome-garden .g5{left:-10%;bottom:8%;width:80%;opacity:.35}.welcome-garden .g6{right:-16%;bottom:16%;width:56%;opacity:.45}.welcome-garden .g7{left:28%;top:52%;width:40%;opacity:.3}
@keyframes drift{from{transform:translate(0,0) rotate(0)}to{transform:translate(8px,-10px) rotate(4deg)}}
@media (prefers-reduced-motion:reduce){.welcome-garden .g{animation:none}}
.welcome-mark{position:absolute;left:0;right:0;top:34%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:10px}
.welcome-mark::before{content:"";position:absolute;width:300px;height:190px;border-radius:50%;background:radial-gradient(#ffffffee 30%,#ffffff00 70%);z-index:-1}
.welcome-mark img{width:230px;max-width:70%}
.welcome-tagline{font-size:19px;font-weight:700;letter-spacing:.01em;background:linear-gradient(110deg,#9C4BC2,#3974B9,#168E97,#5C8F56);-webkit-background-clip:text;background-clip:text;color:transparent}
.onboard-welcome .welcome-lead{text-align:center;color:#6d5b78;font-size:14px;line-height:1.5;margin:0 0 18px;background:#ffffffc9;border-radius:14px;padding:8px 10px}
.onboard-welcome small{background:#ffffffb0;border-radius:8px}

/* адаптивные обложки */
.cover-frame{position:relative;display:block;overflow:hidden;background:#f1eaf6}
.cover-frame .cover-blur{position:absolute;inset:-12%;width:124%;height:124%;object-fit:cover;filter:blur(16px) saturate(1.2);opacity:.75}
.cover-frame .cover-img{position:relative;display:block;width:100%;height:100%;object-fit:contain}
.session-cover.cover-frame{height:auto;max-height:420px;border-radius:14px;margin-bottom:12px}
.session-cover.cover-frame .cover-img{height:auto;max-height:420px;min-height:150px}
.profile-session-thumb.cover-frame{width:58px;height:58px;border-radius:12px;flex-shrink:0}

/* создание: загрузка обложки, ивент */
.cover-upload{display:flex;flex-direction:column;gap:6px;margin:4px 0 8px}
.cover-upload .label{font-size:13px;color:#7c6a87}
.upload-drop{display:block;border:1.5px dashed #d6c7e2;border-radius:14px;padding:0;cursor:pointer;overflow:hidden;background:#faf7fc}
.upload-drop input{position:absolute;opacity:0;width:1px;height:1px}
.upload-hint{display:block;padding:26px 10px;text-align:center;color:#8a6fa0;font-weight:700}
.upload-preview{height:220px}
.price-row{display:grid;grid-template-columns:1fr 1fr 80px;gap:8px}
.event-create{margin-top:10px;text-align:center}
.event-create .secondary{width:100%;min-height:44px}
.event-create small{display:block;margin-top:5px;font-size:11px;color:#9a8aa3}
.ticket-btn{display:flex;align-items:center;justify-content:center;text-decoration:none;margin:4px 0 2px;border-radius:12px;min-height:46px;font-weight:700}

/* профиль */
.avatar-zoom-btn{border:0;background:none;padding:0;border-radius:50%;cursor:zoom-in}
.avatar-lightbox{position:absolute;inset:0;z-index:50;background:#1d1424e6;display:grid;place-items:center;cursor:zoom-out;border-radius:inherit}
.avatar-lightbox img{width:86%;aspect-ratio:1;object-fit:cover;border-radius:24px;box-shadow:0 20px 60px #0008}
.lightbox-close{position:absolute;top:18px;right:18px;width:40px;height:40px;border-radius:50%;border:0;background:#ffffff26;color:#fff;font-size:26px;line-height:1}
.link-quiet{border:0;background:none;color:#9a8aa3;font-size:12px;text-decoration:underline;padding:4px 0}
.fit-hint{text-align:center}

/* сообщения: карточки, архив */
.msg-card{display:flex;gap:10px;align-items:stretch;width:100%;max-width:260px;border:1px solid #e8def0;border-radius:14px;background:#fff;padding:8px;text-align:left;color:#44344F;margin-top:4px}
.msg-card img{width:64px;height:80px;object-fit:cover;border-radius:10px;flex:none;background:#f1eaf6}
.msg-card>span{display:flex;flex-direction:column;gap:3px;min-width:0}
.msg-card small{font-size:10px;color:#8a6fa0;text-transform:uppercase;letter-spacing:.05em}
.msg-card strong{font-size:13px;line-height:1.25}
.msg-card span span{font-size:11px;color:#8b7b95}
.msg-card em{font-style:normal;font-size:11.5px;color:#6F59B1;font-weight:700;margin-top:auto}
.msg-archive{border:1px solid #e5d9ed;background:#fff;color:#82698f;border-radius:10px;font-size:11px;padding:6px 10px;margin-left:6px}
.phone .phone-frame-fix{}
.onboard-welcome>button,.onboard-welcome .primary,.onboard-welcome .secondary{flex:none}
.onboard-welcome>button+button{margin-top:10px}
/* интро: фон-картинка и крупный слоган (v1.3) */
.welcome-garden{background:url('assets/intro-bg.jpg') center/cover no-repeat,#fff}
.welcome-mark{top:24%}
.welcome-mark::before{display:none}
.onboard-welcome h1.welcome-claim{font-size:46px;line-height:1.02;font-weight:800;letter-spacing:-1.8px;margin:0 0 12px;color:#2f2440;text-shadow:0 2px 18px #ffffffcc}
.onboard-welcome .welcome-lead{background:none;padding:0;text-align:left;font-size:15px;color:#5a4868;margin:0 0 20px}
/* v1.4: мягкий блюр под логотипом и текстом, сообщение к приглашению */
.welcome-mark::before{display:block;content:"";position:absolute;width:320px;height:200px;border-radius:50%;background:#ffffff55;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);-webkit-mask-image:radial-gradient(ellipse at center,#000 40%,transparent 72%);mask-image:radial-gradient(ellipse at center,#000 40%,transparent 72%);z-index:-1}
.welcome-text{position:relative}
.welcome-text::before{content:"";position:absolute;inset:-22px -26px -12px;background:#ffffff4d;-webkit-backdrop-filter:blur(11px);backdrop-filter:blur(11px);-webkit-mask-image:radial-gradient(ellipse at 35% 50%,#000 45%,transparent 76%);mask-image:radial-gradient(ellipse at 35% 50%,#000 45%,transparent 76%);z-index:-1}
.invite-msg{display:flex;flex-direction:column;gap:4px;margin-top:10px}
.invite-msg span{font-size:11px;color:#9a8aa3}
.invite-msg textarea{font:inherit;font-size:13px;border:1px solid #e0d5e7;border-radius:10px;padding:8px 10px;resize:none;color:#44344F}
.welcome-mark::before{width:360px;height:235px;background:#ffffffa8;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);-webkit-mask-image:radial-gradient(ellipse at center,#000 50%,transparent 74%);mask-image:radial-gradient(ellipse at center,#000 50%,transparent 74%)}
.welcome-mark::before{width:400px;height:250px;background:#ffffffd6;-webkit-backdrop-filter:blur(26px);backdrop-filter:blur(26px);-webkit-mask-image:radial-gradient(ellipse at 52% 50%,#000 52%,transparent 75%);mask-image:radial-gradient(ellipse at 52% 50%,#000 52%,transparent 75%)}
/* v1.5: блюр только под словом LIBE */
.welcome-mark::before{display:none}
.logo-wrap{position:relative;display:flex;justify-content:center;width:100%;isolation:isolate}
.logo-wrap img{width:230px;max-width:70%}
.logo-wrap::before{content:"";position:absolute;left:50%;top:50%;width:290px;height:110px;transform:translate(-50%,-50%);z-index:-1;background:#ffffff8c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);-webkit-mask-image:radial-gradient(ellipse at center,#000 45%,transparent 72%);mask-image:radial-gradient(ellipse at center,#000 45%,transparent 72%)}
.logo-wrap::before{width:330px;height:125px;background:#ffffffdb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);-webkit-mask-image:radial-gradient(ellipse at 54% 50%,#000 55%,transparent 80%);mask-image:radial-gradient(ellipse at 54% 50%,#000 55%,transparent 80%)}
.logo-wrap::before{width:340px;height:120px;left:52%;background:#ffffffe6;-webkit-mask-image:radial-gradient(closest-side,#000 55%,transparent 100%);mask-image:radial-gradient(closest-side,#000 55%,transparent 100%)}
.welcome-tagline{position:relative;z-index:1}
.onboard-welcome{min-height:calc(100dvh - 44px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}
/* настоящая карта (Leaflet + OSM/CARTO) */
.real-map{height:380px;border-radius:18px;overflow:hidden;margin:14px 0 6px;border:1px solid #ece4f2;background:#f4f1f6;z-index:0}
.real-map .leaflet-control-attribution{font-size:9px;background:#ffffffcc}
.leaflet-music{background:none;border:0}
.leaflet-music .music-point{position:relative;left:auto!important;top:auto!important;transform:none;width:34px;height:34px}
.leaflet-music .point-tooltip{white-space:nowrap}
/* v1.7: участники — имя под кружком */
.participants{flex-wrap:wrap;gap:14px 12px}
.participants .person{display:flex;flex-direction:column;align-items:center;gap:6px;width:64px;text-align:center;line-height:1.2;overflow-wrap:anywhere}
.participants .person .avatar{margin:0}
.participants .person-avatar-wrap{display:block;position:relative}
.event-address{font-size:13px;color:#6d5b78;margin:-4px 0 8px}
.map-link{display:flex;flex-direction:column;gap:3px;text-decoration:none;border:1px solid #e8def0;border-radius:12px;padding:10px 12px;margin:2px 0 10px;background:#faf7fc}
.map-link span:first-child{color:#44344F;font-size:13px}
.map-link-cta{color:#6F59B1;font-size:12px;font-weight:700}
/* моя геолокация на карте */
.me-dot{background:none;border:0}
.me-dot span{display:block;width:16px;height:16px;margin:2px;border-radius:50%;background:#2f7bf5;border:3px solid #fff;box-shadow:0 0 0 6px #2f7bf533,0 1px 4px #0004}
.locate-btn{width:40px;height:40px;border-radius:12px;border:0;background:#fff;color:#6F59B1;box-shadow:0 2px 10px #46325630;display:grid;place-items:center;margin:0 10px 26px 0}
/* v1.9: дни в списке, жанры, строки без картинки */
.day-head{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#8a6fa0;margin:18px 0 4px}
.session-list .day-head:first-child{margin-top:6px}
.profile-session-row.no-thumb{padding-left:2px}
.genre-chips{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 10px}
.genre-chips span{font-size:11.5px;padding:3px 9px;border-radius:9px;background:#f4eef8;color:#6d5b78}
/* v1.10: создание сейшна всегда под рукой */
.my-create{display:flex;flex-direction:column;gap:8px;margin:14px 0 6px}
.my-create .primary,.my-create .secondary{width:100%;margin:0}
.my-create small{font-size:11px;color:#9a8aa3;text-align:center}
.disc-head{display:flex;align-items:center;justify-content:space-between}
.disc-head .disc-create{width:auto!important;display:inline-flex!important;flex:none;min-height:36px!important;padding:7px 14px!important;margin:0!important;border-radius:11px;font-size:13px}
.venue-link{border:0;background:none;padding:0;font:inherit;color:#6F59B1;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
/* сейшн → вложенная карточка концерта */
.linked-title{margin:14px 0 8px}
.linked-event{display:flex;gap:12px;width:100%;text-align:left;border:1px solid #e8def0;border-radius:16px;background:linear-gradient(110deg,#fbf8fd,#f5f9f8);padding:10px;color:#44344F;margin-bottom:12px}
.linked-thumb.cover-frame{width:84px;height:104px;border-radius:12px;flex:none}
.linked-body{display:flex;flex-direction:column;gap:4px;min-width:0}
.linked-body small{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:#8a6fa0}
.linked-body strong{font-size:15px;line-height:1.25}
.linked-body>span{font-size:12px;color:#7c6a87}
.linked-body em{font-style:normal;font-size:12px;font-weight:700;color:#6F59B1;margin-top:auto}
/* «Иду» на ивентах */
.go-btn{display:inline-flex;align-items:center;gap:6px;margin:2px 0 12px;padding:9px 16px;border-radius:12px;font-weight:700;font-size:14px;border:1px solid transparent;background:linear-gradient(white,white) padding-box,var(--libe-edge-grad) border-box;color:#44344F}
.go-btn.on{background:var(--libe-grad);color:#fff;border-color:transparent}
.going-chip{align-self:flex-start;font-size:10.5px;font-weight:700;color:#fff;background:var(--libe-grad);padding:2px 7px;border-radius:7px;margin:2px 0}
/* фильтр «Иду» — крайний справа, розово-фиолетовый акцент */
.discovery-types{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.discovery-types::-webkit-scrollbar{display:none}
.discovery-types button{flex:none}
.discovery-types .type-going{margin-left:auto;border:1px solid transparent!important;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(110deg,#F04BA8,#B44FC0,#7A5BD6) border-box;color:#B0409E;font-weight:700}
.discovery-types .type-going[aria-pressed=true]{background:linear-gradient(110deg,#F04BA8,#B44FC0,#7A5BD6);color:#fff;box-shadow:0 4px 14px #c04fb040}
/* строки ивентов «Иду» — бледный розово-фиолетовый градиент */
.profile-session-row.is-going{background:linear-gradient(110deg,#fde7f3 0%,#f3e6fb 55%,#ebe8fd 100%);border-radius:14px;box-shadow:inset 0 0 0 1px #f0d9ef}
.company-line{font-size:11.5px;color:#B0409E;font-weight:700;margin:1px 0}
.your-company{margin:6px 0 -2px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#B0409E}
.hub-filters .has-invites{border-color:#e7b6dc;color:#B0409E;font-weight:700}

.faces-line{display:flex;align-items:center;gap:7px;margin:4px 0 2px;min-width:0}
.faces{display:flex;flex:none;padding-left:6px}
.face{width:22px;height:22px;border-radius:50%;margin-left:-6px;box-shadow:0 0 0 2px #fff;overflow:hidden;display:grid;place-items:center;background:#efe6f5;flex:none}
.face .avatar{width:100%!important;height:100%!important;margin:0!important;border-radius:50%;font-size:10px;line-height:22px;display:grid;place-items:center}
.face.fit{box-shadow:0 0 0 2px #fff,0 0 0 3.5px #E05AB4}
.face.more{font-size:9.5px;font-weight:700;color:#7d5f91}
.faces-text{font-size:11.5px;line-height:1.3;font-weight:700;color:#B0409E;min-width:0}

.person-btn{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer}

.when-line{display:flex;align-items:center;gap:8px;min-width:0}
.when-line>.muted{flex:none}
.when-line .faces-line{margin:0;min-width:0}
.when-line .faces-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bottom-line{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.bottom-line .genre-line{min-width:0;overflow:hidden}
.bottom-line .price-chip{flex:none;margin:0}

.point-tooltip.has-faces{display:flex!important;align-items:center;gap:6px;padding:4px 10px 4px 6px;border-radius:20px}
.map-faces{display:flex;padding-left:6px}
.map-faces .face{width:24px;height:24px}
.map-faces .face .avatar{line-height:24px}
