:root{--bg:#07070d;--bg2:#0c0d17;--card:#141623;--card2:#1b1e31;--field:#20243a;--soft:#f8f8ff;--text:#fff;--muted:#9aa0b8;--dim:#6e748c;--line:rgba(var(--surface-rgb),.09);--glass:rgba(var(--surface-rgb),.08);--glass2:rgba(var(--surface-rgb),.13);--pink:#ff4f98;--rose:#ff6c84;--violet:#8068ff;--cyan:#58e6ff;--blue:#58a6ff;--gold:#ffd36b;--green:#7dffb2;--red:#ff6175;--surface-rgb:255,255,255;--r:9px;--r2:9px;--ease:cubic-bezier(.2,.8,.2,1);--shadow:0 32px 110px rgba(0,0,0,.56)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--text);background:radial-gradient(circle at 15% -5%,rgba(255,79,152,.34),transparent 32%),radial-gradient(circle at 108% 8%,rgba(88,230,255,.22),transparent 32%),radial-gradient(circle at 50% 112%,rgba(128,104,255,.22),transparent 42%),linear-gradient(180deg,#090914,#050508);overflow-x:hidden}body:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 20% 10%,rgba(255,79,152,.08),transparent 34%),radial-gradient(circle at 80% 0%,rgba(88,230,255,.06),transparent 30%);pointer-events:none}button,input,textarea,select{font:inherit;color:inherit}button{border:0;outline:0;background:none;cursor:pointer;-webkit-appearance:none;appearance:none}svg{display:block;overflow:visible}label{display:block;margin:0 0 8px 3px;color:var(--muted);font-size:12px;font-weight:900;letter-spacing:.02em}.app{width:100%;max-width:480px;min-height:100dvh;margin:0 auto;padding:14px 14px 112px;position:relative}.screen{display:none;animation:page .28s var(--ease)}.screen.active{display:block}.hidden{display:none!important}@keyframes page{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
input,select,textarea{width:100%;border:0;outline:0;-webkit-appearance:none;appearance:none;background:linear-gradient(180deg,rgba(var(--surface-rgb),.105),rgba(var(--surface-rgb),.062));box-shadow:none;border-radius:9px;padding:0 15px;color:var(--text);transition:.18s var(--ease)}input,select{height:54px}textarea{min-height:104px;resize:none;padding-top:14px;line-height:1.45}input:focus,select:focus,textarea:focus{background:linear-gradient(180deg,rgba(var(--surface-rgb),.15),rgba(var(--surface-rgb),.09))}
.top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:2px 0 14px}.brand{display:flex;align-items:center;gap:12px}
.logoBadge{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;background:radial-gradient(circle at 32% 28%,rgba(var(--surface-rgb),.16),rgba(var(--surface-rgb),.03) 70%);box-shadow:0 10px 28px rgba(255,79,152,.22);position:relative;overflow:hidden}
.logoBadge img{width:100%;height:100%;object-fit:contain;display:block}
.logoBadge.sm{width:44px;height:44px;border-radius:9px;padding:6px}
.logoBadge.md{width:58px;height:58px;border-radius:9px;padding:7px}
.logoBadge.lg{width:96px;height:96px;border-radius:9px;padding:0;background:none;box-shadow:none}.brand h1,.title{margin:0;font-weight:1000;letter-spacing:-.06em}.brand h1{font-size:22px;line-height:1}.brand p{font-size:12px;margin:4px 0 0;color:var(--muted);font-weight:750}.title{font-size:25px;line-height:1.05}.muted{color:var(--muted)}.small{font-size:12px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.row{display:flex;align-items:center;gap:10px}.between{display:flex;align-items:center;justify-content:space-between;gap:12px}.stack{display:grid;gap:12px}.card{border-radius:9px;background:linear-gradient(180deg,rgba(var(--surface-rgb),.102),rgba(var(--surface-rgb),.052));box-shadow:var(--shadow);padding:18px;position:relative;overflow:hidden}.card:before{content:"";position:absolute;inset:-80px -80px auto auto;width:170px;height:170px;border-radius:9px;background:rgba(255,79,152,.105);filter:blur(18px);pointer-events:none}.subcard{border-radius:9px;background:rgba(var(--surface-rgb),.064);padding:14px;box-shadow:none}.pill{height:38px;padding:0 15px;border-radius:9px;background:rgba(var(--surface-rgb),.09);display:inline-flex;align-items:center;justify-content:center;gap:8px;color:var(--soft);font-size:12px;font-weight:900;box-shadow:none;white-space:nowrap;border:0}
.statChip{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 9px;border-radius:7px;background:rgba(var(--surface-rgb),.045);font-size:10px;font-weight:800;color:var(--muted);white-space:nowrap}
.statChip i{font-size:10px}.pill svg{width:17px;height:17px}.btn{height:54px;border-radius:9px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:950;letter-spacing:-.025em;background:rgba(var(--surface-rgb),.08);color:var(--text);box-shadow:none;transition:transform .18s var(--ease),filter .18s var(--ease),background .18s var(--ease)}.btn:active{transform:scale(.965)}.btn:disabled{opacity:.5;pointer-events:none}.btn.primary{background:linear-gradient(135deg,var(--pink),var(--violet));box-shadow:0 20px 60px rgba(255,79,152,.28);color:#fff}.btn.gold{background:linear-gradient(135deg,#ffd36b,#ff8f5d);box-shadow:0 20px 60px rgba(255,211,107,.24);color:#261405}.btn.green{background:linear-gradient(135deg,#7dffb2,#58e6ff);color:#061a19}.btn.red{background:linear-gradient(135deg,#ff6175,#ff4f98);color:#fff}.btn.full{width:100%}.btn svg{width:20px;height:20px}.chip{height:36px;border-radius:9px;background:rgba(var(--surface-rgb),.08);display:inline-flex;align-items:center;gap:7px;padding:0 12px;font-size:12px;font-weight:900;color:var(--soft);box-shadow:none;border:0}.chip.active{background:linear-gradient(135deg,rgba(255,79,152,.32),rgba(128,104,255,.28));color:#fff}.chips{display:flex;flex-wrap:wrap;gap:8px}.meter{height:10px;border-radius:9px;background:rgba(var(--surface-rgb),.1);overflow:hidden}.meter i{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,var(--pink),var(--violet),var(--cyan));width:var(--w,50%)}
.startHero{min-height:calc(100dvh - 126px);display:flex;flex-direction:column;justify-content:center;gap:14px}.heroVisual{height:304px;border-radius:9px;position:relative;overflow:hidden;background:radial-gradient(circle at 20% 20%,rgba(var(--surface-rgb),.25),transparent 22%),linear-gradient(140deg,#272a45,#0d0e18 66%);box-shadow:var(--shadow)}.heroProfile{position:absolute;border-radius:9px;overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,.42)}.hp1{left:20px;top:34px;width:195px;height:245px;transform:rotate(-4deg)}.hp2{right:18px;bottom:32px;width:172px;height:216px;transform:rotate(6deg)}.photo{width:100%;height:100%;background-size:cover;background-position:center;background-color:#1c1e30}.photo:after,.heroProfile:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.77))}.upload{height:132px;border-radius:9px;background:linear-gradient(135deg,rgba(var(--surface-rgb),.12),rgba(var(--surface-rgb),.05));display:grid;place-items:center;text-align:center;box-shadow:none;position:relative;overflow:hidden}.upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.upload svg{width:38px;height:38px;margin:0 auto 8px}.upload.has-image{background-size:cover;background-position:center}.trustLine{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.trustLine .subcard{text-align:center;padding:12px 8px}.trustLine b{display:block;font-size:15px}.trustLine span{font-size:10px;color:var(--muted);font-weight:800}.profileCard{height:548px;border-radius:9px;overflow:hidden;position:relative;background:#1b1d2b;box-shadow:0 38px 120px rgba(0,0,0,.55)}.profileCard .photo{position:absolute;inset:0}.profileShade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 35%,rgba(0,0,0,.88) 100%)}.profileInfo{position:absolute;left:16px;right:16px;bottom:16px;color:#fff}.profileInfo .muted{color:rgba(255,255,255,.74)}.profileInfo .pill,.profileInfo .chip:not(.active){background:rgba(255,255,255,.22);color:#fff}.name{font-size:31px;font-weight:1000;letter-spacing:-.06em;line-height:1;margin:0}.actions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.round{height:60px;border-radius:9px;display:grid;place-items:center;background:rgba(var(--surface-rgb),.12);backdrop-filter:blur(20px);box-shadow:none;transition:.18s var(--ease)}.round:active{transform:scale(.94)}.round:disabled{opacity:.45}.round svg,.round i{width:27px;height:27px;font-size:27px;display:flex;align-items:center;justify-content:center;color:#fff}.round.like{background:linear-gradient(135deg,var(--pink),var(--violet))}.round.super{background:linear-gradient(135deg,var(--gold),#ff8f5d)}.round.giftAction{background:linear-gradient(135deg,rgba(var(--surface-rgb),.18),rgba(var(--surface-rgb),.06))}.round.plainSurface i{color:var(--text)}.miniPrompt{display:flex;align-items:center;justify-content:center;gap:8px;height:44px;border-radius:9px;padding:0 12px;background:rgba(var(--surface-rgb),.07);box-shadow:none}
.miniPrompt b{font-size:12.5px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.miniIcon.sm{width:24px;height:24px;border-radius:9px}
.miniIcon.sm svg{width:14px;height:14px}.miniIcon{width:42px;height:42px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(255,79,152,.24),rgba(88,230,255,.16));flex:0 0 auto;font-weight:1000}.miniIcon svg{width:23px;height:23px}.list{display:grid;gap:10px}.item{display:flex;align-items:center;gap:12px;border-radius:9px;padding:12px;background:rgba(var(--surface-rgb),.065);box-shadow:none;cursor:pointer;border:0;width:100%;min-width:0;max-width:100%;text-align:left;box-sizing:border-box}.avatar{width:54px;height:54px;border-radius:9px;overflow:hidden;background:#22263a;flex:0 0 auto;position:relative}.dot-online{position:absolute;right:2px;bottom:2px;width:11px;height:11px;border-radius:9px;background:var(--green);box-shadow:0 0 0 2px #14162280}.itemText{min-width:0;flex:1}.itemText b{display:block;font-size:14px}.itemText p{margin:3px 0 0;color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.badge{min-width:22px;height:22px;border-radius:9px;background:linear-gradient(135deg,var(--pink),var(--violet));display:grid;place-items:center;font-size:11px;font-weight:950;padding:0 6px;color:#fff}.lock{border-radius:9px;padding:16px;background:linear-gradient(135deg,rgba(255,79,152,.22),rgba(128,104,255,.16));box-shadow:none}.chatBox{height:430px;border-radius:9px;background:rgba(var(--surface-rgb),.055);padding:14px;display:flex;flex-direction:column;gap:10px;overflow-y:auto}.bubble{max-width:82%;padding:12px 14px;border-radius:9px;background:rgba(var(--surface-rgb),.1);font-size:14px;line-height:1.35;word-wrap:break-word}.bubble.me{margin-left:auto;background:linear-gradient(135deg,var(--pink),var(--violet))}.bubble.gift{display:flex;align-items:center;gap:8px;background:rgba(255,211,107,.16)}.bubble.gift i{font-size:26px;color:var(--gold)}.bubble img{max-width:100%;border-radius:9px;display:block;margin-top:4px}.bubble .locked-photo{width:160px;height:160px;border-radius:9px;background:rgba(var(--surface-rgb),.08);display:grid;place-items:center;gap:6px;text-align:center;padding:10px}.giftGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.gift{min-height:104px;border-radius:9px;background:rgba(var(--surface-rgb),.068);box-shadow:none;padding:10px 6px;display:grid;place-items:center;text-align:center;gap:4px;transition:.18s var(--ease);border:0}.gift:active{transform:scale(.96)}.gift i{font-size:34px;height:43px;display:flex;align-items:center;justify-content:center;color:var(--cyan)}.gift.rarity-rare i{color:var(--violet)}.gift.rarity-epic i{background:linear-gradient(135deg,var(--gold),var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent}.gift.rarity-legendary i{background:linear-gradient(135deg,var(--gold),var(--pink),var(--violet));-webkit-background-clip:text;background-clip:text;color:transparent}.gift b{font-size:11px}.gift span{font-size:10px;color:var(--gold);font-weight:900}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stat{text-align:center;border-radius:9px;background:rgba(var(--surface-rgb),.07);padding:13px 8px}.stat b{font-size:20px}.stat span{display:block;font-size:11px;color:var(--muted);margin-top:3px}.feedTools{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 12px}.switch{width:52px;height:30px;border-radius:9px;background:rgba(var(--surface-rgb),.14);padding:3px;flex:0 0 auto;transition:.22s var(--ease);border:0}.switch:before{content:"";display:block;width:24px;height:24px;border-radius:9px;background:#fff;transition:.22s var(--ease)}.switch.on{background:linear-gradient(135deg,var(--pink),var(--violet))}.switch.on:before{transform:translateX(22px)}.settingsGroup{display:grid;gap:10px;margin-bottom:14px}.settingItem{display:flex;justify-content:space-between;align-items:center;gap:14px;border-radius:9px;background:rgba(var(--surface-rgb),.065);box-shadow:none;padding:16px}.settingItem b{font-size:14px}.settingItem p{margin:3px 0 0;color:var(--muted);font-size:12px;line-height:1.35}.tabs{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:100%;max-width:480px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));z-index:30;background:linear-gradient(180deg,transparent,rgba(5,5,8,.88) 18%,rgba(5,5,8,.96));backdrop-filter:blur(22px)}.nav{height:74px;border-radius:9px;background:rgba(var(--surface-rgb),.09);box-shadow:0 26px 80px rgba(0,0,0,.45);display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:6px}.navBtn{border-radius:9px;display:grid;place-items:center;color:var(--muted);position:relative;transition:.22s var(--ease);overflow:hidden}.navBtn svg,.navBtn i{width:27px;height:27px;font-size:23px;display:flex;align-items:center;justify-content:center;transition:.24s var(--ease);stroke-linecap:round;stroke-linejoin:round}.navBtn span{font-size:9px;font-weight:950;margin-top:2px;letter-spacing:-.01em}.navBtn.active{color:var(--text);background:linear-gradient(180deg,rgba(var(--surface-rgb),.15),rgba(var(--surface-rgb),.052))}.navBtn.active svg,.navBtn.active i{transform:translateY(-3px) scale(1.09);filter:drop-shadow(0 8px 16px rgba(255,79,152,.38))}.navBtn.active:after{content:none}.navBtn.burst svg,.navBtn.burst i{animation:navPop .46s var(--ease)}.navBtn.burst:before{content:"";position:absolute;width:36px;height:36px;border-radius:9px;background:radial-gradient(circle,rgba(255,79,152,.32),transparent 70%);animation:ripple .5s var(--ease)}@keyframes navPop{0%{transform:translateY(0) scale(.78) rotate(-8deg)}55%{transform:translateY(-5px) scale(1.23) rotate(5deg)}100%{transform:translateY(-3px) scale(1.09) rotate(0)}}@keyframes ripple{from{transform:scale(.45);opacity:1}to{transform:scale(2.1);opacity:0}}
.modal{position:fixed;inset:0;z-index:70;background:rgba(0,0,0,.56);display:none;align-items:flex-end;justify-content:center;padding:14px}.modal.show{display:flex}.sheet{width:100%;max-width:452px;max-height:85dvh;overflow:auto;border-radius:9px;background:linear-gradient(180deg,#1a1d2e,#10121d);box-shadow:var(--shadow);padding:16px;animation:sheet .25s var(--ease)}@keyframes sheet{from{transform:translateY(30px);opacity:.5}to{transform:none;opacity:1}}.toast{position:fixed;left:50%;top:16px;transform:translateX(-50%) translateY(-20px);z-index:90;width:calc(100% - 28px);max-width:452px;padding:13px 15px;border-radius:9px;background:rgba(20,22,34,.94);box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:.26s var(--ease);font-weight:850;font-size:13px}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.qualityGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.qualityCard{border-radius:9px;background:rgba(var(--surface-rgb),.065);padding:14px;box-shadow:none}.qualityCard b{display:block;font-size:17px}.qualityCard p{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.35}.softGlow{position:absolute;inset:auto -70px -70px auto;width:190px;height:190px;border-radius:9px;background:rgba(88,230,255,.1);filter:blur(30px);pointer-events:none}@media(max-width:380px){.app{padding-left:10px;padding-right:10px}.profileCard{height:518px}.giftGrid{grid-template-columns:repeat(3,1fr)}.name{font-size:28px}.round{height:54px}}
.finalUpgrade{margin-top:14px}.signalGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.signal{border-radius:9px;padding:12px;background:linear-gradient(180deg,rgba(var(--surface-rgb),.09),rgba(var(--surface-rgb),.045));box-shadow:none;min-height:96px}.signal svg{width:26px;height:26px;margin-bottom:8px}.signal b{display:block;font-size:12px}.signal p{margin:4px 0 0;color:var(--muted);font-size:10.5px;line-height:1.3}.datePlan{display:grid;gap:10px}.datePlan .step{display:flex;gap:12px;align-items:flex-start;border-radius:9px;background:rgba(var(--surface-rgb),.06);padding:12px}.stepNum{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,var(--pink),var(--violet));display:grid;place-items:center;font-weight:1000;flex:0 0 auto;color:#fff}.step b{font-size:13px}.step p{margin:3px 0 0;color:var(--muted);font-size:11px;line-height:1.35}.tierGrid{display:grid;grid-template-columns:1fr;gap:10px}.tier{border-radius:9px;padding:14px;background:rgba(var(--surface-rgb),.065);box-shadow:none;display:flex;justify-content:space-between;gap:12px;align-items:center;border:0;width:100%;text-align:left;color:var(--text)}.tier.hot{background:linear-gradient(135deg,rgba(255,79,152,.22),rgba(128,104,255,.16));box-shadow:0 18px 50px rgba(255,79,152,.14)}.tier b{display:block}.tier p{margin:3px 0 0;color:var(--muted);font-size:11px}.price{font-size:18px;font-weight:1000;white-space:nowrap}.healthList{display:grid;gap:8px}.health{display:flex;justify-content:space-between;gap:10px;align-items:center;border-radius:9px;padding:10px 12px;background:rgba(var(--surface-rgb),.055)}.health span{font-size:12px;color:var(--muted)}.health b{font-size:12px;color:var(--green)}.health b.bad{color:var(--red)}@media(max-width:390px){.signalGrid{grid-template-columns:1fr}.tier{align-items:flex-start;flex-direction:column}.price{font-size:16px}}

/* --- Дополнения сверх мокапа: сегмент-таб, лоадеры, пустые состояния, замок фото в чате --- */
.segment{display:flex;gap:6px;background:rgba(var(--surface-rgb),.06);border-radius:9px;padding:5px;margin-bottom:14px}.segment button{flex:1;min-height:42px;padding:6px 4px;border-radius:9px;font-weight:900;font-size:11.5px;line-height:1.25;color:var(--muted);white-space:normal}.segment button.active{background:linear-gradient(135deg,var(--pink),var(--violet));color:#fff}
.skeleton{background:linear-gradient(90deg,rgba(var(--surface-rgb),.05),rgba(var(--surface-rgb),.12),rgba(var(--surface-rgb),.05));background-size:200% 100%;animation:shimmer 1.3s infinite}@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.empty{text-align:center;padding:40px 16px;color:var(--muted)}.empty svg{width:48px;height:48px;margin:0 auto 12px;opacity:.5}
.lockedPhotoMsg{display:flex;flex-direction:column;align-items:center;gap:8px;background:rgba(var(--surface-rgb),.08);border-radius:9px;padding:16px;min-width:140px}.lockedPhotoMsg svg{width:28px;height:28px}
.coinTag{color:var(--gold);font-weight:900;font-size:12px;white-space:nowrap}
.fab-photo{position:absolute;right:8px;bottom:8px;width:30px;height:30px;border-radius:9px;background:rgba(0,0,0,.55);display:grid;place-items:center}
.blockedRow{display:flex;align-items:center;gap:10px;border-radius:9px;padding:10px 12px;background:rgba(var(--surface-rgb),.05)}
.verifBadge{display:inline-flex;width:16px;height:16px;border-radius:9px;background:var(--blue);align-items:center;justify-content:center;flex:0 0 auto}.verifBadge svg{width:10px;height:10px}.verifBadge i{font-size:9px;color:#fff}

/* --- Кастомный dropdown вместо нативного <select>: на iOS/Android открытый системный
   пикер нельзя стилизовать через CSS, поэтому здесь полноценный кастомный компонент --- */
.customSelect{position:relative;height:54px}
.customSelect-trigger{width:100%;height:54px;border-radius:9px;padding:0 15px;background:linear-gradient(180deg,rgba(var(--surface-rgb),.105),rgba(var(--surface-rgb),.062));box-shadow:none;display:flex;align-items:center;justify-content:space-between;color:var(--text);font-size:14px;font-weight:600;cursor:pointer;border:0;font-family:inherit;transition:.18s var(--ease)}
.customSelect-trigger:active{transform:scale(.99)}
.customSelect-chevron{width:16px;height:16px;flex:0 0 auto;color:var(--muted);transition:.2s var(--ease)}
.customSelect.open .customSelect-trigger{background:linear-gradient(180deg,rgba(var(--surface-rgb),.16),rgba(var(--surface-rgb),.09))}
.customSelect.open .customSelect-chevron{transform:rotate(180deg)}
.customSelect-menu{position:fixed;z-index:500;background:#1c1f30;border-radius:9px;box-shadow:0 24px 70px rgba(0,0,0,.55);padding:6px;max-height:240px;overflow-y:auto;display:none}
.customSelect.open .customSelect-menu{display:block;animation:sheet .18s var(--ease)}
.customSelect-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:11px 12px;border-radius:9px;background:none;border:0;color:var(--text);font-size:14px;text-align:left;cursor:pointer;font-family:inherit}
.customSelect-option:hover,.customSelect-option:active{background:rgba(var(--surface-rgb),.08)}
.customSelect-option.selected{background:linear-gradient(135deg,rgba(255,79,152,.22),rgba(128,104,255,.18));color:#fff;font-weight:800}
.customSelect-option .check{width:14px;height:14px;opacity:0;flex:0 0 auto;color:var(--pink)}
.customSelect-option.selected .check{opacity:1}

/* --- Защита от копирования и масштабирования (требование ТЗ) --- */
*{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
input,textarea,.customSelect-option{-webkit-user-select:text;user-select:text}
.bubble{-webkit-user-select:none;user-select:none}
body.vip-copy .bubble{-webkit-user-select:text;user-select:text}
img{-webkit-user-drag:none;user-drag:none;-webkit-touch-callout:none}
html,body{touch-action:manipulation;-webkit-text-size-adjust:100%}

/* --- Лайтбокс просмотра фото --- */
.lightbox{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;flex-direction:column}
.lightbox.show{display:flex}
.lightbox img{max-width:100%;max-height:80vh;object-fit:contain;border-radius:9px;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}
.lightbox-close{position:absolute;top:18px;right:18px;width:40px;height:40px;border-radius:9px;background:rgba(var(--surface-rgb),.12);display:grid;place-items:center;z-index:1}
.lightbox-close svg{width:20px;height:20px;color:#fff}
.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:9px;background:rgba(var(--surface-rgb),.12);display:grid;place-items:center}
.lightbox-nav svg{width:22px;height:22px;color:#fff}
.lightbox-prev{left:14px}.lightbox-next{right:14px}
.lightbox-dots{display:flex;gap:6px;margin-top:14px}
.lightbox-dots span{width:6px;height:6px;border-radius:9px;background:rgba(var(--surface-rgb),.3)}
.lightbox-dots span.active{background:#fff}
.tappable-photo{cursor:pointer}

/* --- Жёсткий защитный ресет: убирает нативные рамки/обводки браузера на любых
   интерактивных элементах, которые могли проступать на отдельных устройствах --- */
button,input,textarea,select,a,label,[role="button"]{border:0;outline:0;-webkit-appearance:none;appearance:none}
*:focus,*:focus-visible{outline:0}
img,svg{border:0}
.customSelect-trigger,.customSelect-option,.chip,.pill,.btn,.round,.item,.tier,.gift,.navBtn,.tab,.segment button{border:0;outline:0;-webkit-appearance:none;appearance:none}
input:focus,textarea:focus{outline:0}

/* --- Сплэш-экран при загрузке (показывается до того, как определён статус регистрации,
   чтобы никогда не мигал экран старта/регистрации для уже зарегистрированных пользователей) --- */
.splashWrap{min-height:100dvh;display:flex;align-items:center;justify-content:center}
.logoBadge.pulse img{animation:logoPulse 1.6s ease-in-out infinite}
@keyframes logoPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.94)}}

/* --- .item с длинным описательным текстом (модалки), а не однострочным превью списка --- */
.item.wrap{cursor:default}
.item.wrap .itemText p{white-space:normal;overflow:visible;text-overflow:unset;line-height:1.35}

/* --- Светлая тема. Переключается классом body.theme-light (см. app.js: applyTheme()).
   Основные поверхности построены через --surface-rgb, поэтому "стеклянные" карточки/кнопки
   автоматически становятся тёмными на светлом фоне без переписывания каждого правила. --- */
body.theme-light{--surface-rgb:10,10,30;--text:#15151f;--muted:#6b6b80;--dim:#9a9ab0;--soft:#15151f}
body.theme-light{background:radial-gradient(circle at 15% -5%,rgba(255,79,152,.12),transparent 32%),radial-gradient(circle at 108% 8%,rgba(88,230,255,.10),transparent 32%),radial-gradient(circle at 50% 112%,rgba(128,104,255,.10),transparent 42%),linear-gradient(180deg,#f6f5fb,#eeedf6)}
body.theme-light:before{background:radial-gradient(circle at 20% 10%,rgba(255,79,152,.05),transparent 34%),radial-gradient(circle at 80% 0%,rgba(88,230,255,.04),transparent 30%)}
body.theme-light .card{background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.7));box-shadow:0 20px 60px rgba(20,20,40,.08)}
body.theme-light .subcard,body.theme-light .gift-tile{background:rgba(10,10,30,.04)}
body.theme-light .sheet{background:linear-gradient(180deg,#ffffff,#f3f2fa);box-shadow:0 30px 90px rgba(20,20,40,.18)}
body.theme-light .upload,body.theme-light .heroVisual,body.theme-light .chatBox{background:rgba(10,10,30,.05)}
body.theme-light .profileCard{background:#e8e7f0}
body.theme-light .toast{background:rgba(255,255,255,.96);color:#15151f;box-shadow:0 20px 60px rgba(20,20,40,.2)}
body.theme-light .bubble{background:rgba(10,10,30,.06);color:#15151f}
body.theme-light .lightbox{background:rgba(255,255,255,.97)}
body.theme-light .nav{box-shadow:0 20px 60px rgba(20,20,40,.12)}
body.theme-light .tabs{background:linear-gradient(180deg,transparent,rgba(246,245,251,.88) 18%,rgba(246,245,251,.97))}
body.theme-light .customSelect-menu{background:#ffffff;box-shadow:0 24px 70px rgba(20,20,40,.18)}
body.theme-light .modal{background:rgba(20,20,40,.4)}
/* «Моё» сообщение и сообщение-подарок в чате — у них всегда свой цветной фон (градиент /
   золотистая подсветка) независимо от темы. Без этого правила более общий селектор
   ".bubble" выше (с более высокой специфичностью body.theme-light .bubble) перекрашивал бы
   их в обычный серый пузырь и они визуально не отличались бы от чужих сообщений. */
body.theme-light .bubble.me{background:linear-gradient(135deg,var(--pink),var(--violet));color:#fff}
body.theme-light .bubble.gift{background:rgba(255,211,107,.18)}
/* Заглушки фото/аватара без загруженного изображения — тёмно-синие плашки были видны
   на тёмном фоне как часть общего стиля, на светлом фоне выглядели бы случайным тёмным пятном */
body.theme-light .avatar{background:#dde0ee}
body.theme-light .photo{background-color:#e3e5f1}
/* Иконки лайтбокса — сам лайтбокс уже становится светлым (см. .lightbox выше),
   а иконки внутри были зашиты белым цветом и пропадали бы на светлом фоне */
body.theme-light .lightbox-close svg,body.theme-light .lightbox-nav svg{color:#15151f}
body.theme-light .lightbox-dots span.active{background:#15151f}
/* Точечные акцентные цвета текста — на тёмном фоне светлые пастельные акценты (золото,
   циан, зелёный, фиолетовый, розовый) хорошо читаются, но на светлых карточках слишком
   бледные и теряют контраст. Градиенты кнопок/бейджей не трогаем — они остаются фирменными
   в обеих темах, корректируем только мелкий акцентный текст/иконки. */
body.theme-light .bubble.gift i,body.theme-light .gift span,body.theme-light .coinTag{color:#a8740f}
body.theme-light .gift i{color:#0c8aa6}
body.theme-light .gift.rarity-rare i{color:#6a4fe0}
body.theme-light .health b{color:#1f9d5c}
body.theme-light .health b.bad{color:#d6334a}
body.theme-light .customSelect-option .check{color:#e0357c}
