/* Kyla's public profile. These styles deliberately stay scoped to her page. */
@font-face{font-family:Inter;src:url('/fonts/inter-latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
html[data-theme=light] #app.kyla-page{--bg:#f8f8fa;--card:#fff;--card2:#f0f0f4;--ink:#1c1b25;--dim:#64616f;--line:#e2dfe7;--pink:#ec0780;--pink2:#fde5f0;--pink3:#f7cade;--field:#fff;--chipline:#c9c4d1;--kyla-pink-text:#c91572;color-scheme:light}
#app.kyla-page{--bg:#0c0c10;--card:#17171c;--card2:#202026;--ink:#faf9fc;--dim:#b0aabb;--line:#29282f;--pink:#ff078b;--pink2:#300b22;--pink3:#551334;--field:#1c1c23;--chipline:#34313b;--kyla-pink-text:#ff62b5;background:var(--bg);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color-scheme:dark}
#app.kyla-page .head{position:relative;left:auto;right:auto;top:auto;margin:0;border-radius:0;background:var(--bg);display:flex;justify-content:space-between;gap:16px;height:calc(56px + var(--st));min-height:calc(56px + var(--st));padding:var(--st) 16px 0;box-shadow:none}
#app.kyla-page .head .hl{display:none}
#app.kyla-page .head .brand{justify-content:flex-start}
#app.kyla-page .head .brand img{width:86px;height:44px;object-fit:contain}
#app.kyla-page .head .hic{margin-left:auto;gap:2px}
#app.kyla-page .head .hbtn{width:44px;height:44px}
#app.kyla-page .head .kyla-theme-toggle{display:inline-flex;width:auto;min-width:78px;gap:7px;padding:0 11px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);font-size:12px;font-weight:550;line-height:1}
#app.kyla-page .head .kyla-theme-toggle svg{width:17px;height:17px}
#app.kyla-page #view{padding:0 0 calc(32px + var(--sb));background:var(--bg);scroll-behavior:smooth}
#app.kyla-page #dock,#app.kyla-page .a2fab{display:none}
.kyla-profile{font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);background:var(--bg);min-height:100%;padding-bottom:16px}
.kyla-banner{position:relative;height:190px;overflow:hidden;background:#25212c}
.kyla-banner>img{width:100%;height:100%;object-fit:cover;object-position:50% 42%;transform:scale(1.04)}
.kyla-banner .preview-banner{position:absolute;inset:12px 12px auto}
.kyla-body{position:relative;margin-top:-14px;padding:0 16px;border-radius:20px 20px 0 0;background:var(--bg)}
.kyla-profile-top{position:relative;display:grid;grid-template-columns:78px minmax(0,1fr);align-items:start;gap:10px;min-height:94px;padding-top:8px;margin-bottom:16px}
.kyla-avatar{display:block;width:78px;height:78px;flex:none;margin-top:-24px;overflow:hidden;border-radius:50%;border:3px solid var(--bg);outline:2px solid #ff078b;background:#29232d;box-shadow:0 3px 16px #0004}
.kyla-avatar>img{width:100%;height:100%;object-fit:cover;object-position:14% 50%;transform:scale(2);transform-origin:50% 9%}
.kyla-identity{min-width:0}
.kyla-name-row{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:44px}
.kyla-follow{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;flex:none;gap:4px;min-width:76px;min-height:44px;padding:7px 7px;border:0;border-radius:999px;background:transparent;color:var(--ink);font-size:11px;font-weight:550;line-height:1.25;white-space:nowrap}
.kyla-follow::before{content:'';position:absolute;z-index:-1;inset:6px 0;border:1px solid #c81778;border-radius:999px;background:transparent;transition:background .18s,border-color .18s}
.kyla-follow svg{width:15px;height:15px;flex:none;color:#ff269a}
.kyla-follow.on::before{background:var(--pink2);border-color:#ed298d}
.kyla-name{display:flex;align-items:center;gap:4px;margin:0;white-space:nowrap;font-size:18px;font-weight:750;letter-spacing:-.5px;line-height:1.25}
.kyla-verified{display:inline-flex;flex:none;align-items:center}
.kyla-verified svg{width:18px;height:18px}
.kyla-bio{margin:0;color:var(--dim);font-size:13px;font-weight:400;line-height:1.45;text-wrap:pretty}
.kyla-exclusive{display:flex;align-items:center;gap:12px;width:100%;min-height:60px;padding:10px 14px;border:1px solid #ffffffbf;border-radius:15px;background:#fff;color:#152b3b;box-shadow:0 5px 20px #0000000d;text-decoration:none;transition:box-shadow .18s,transform .18s,border-color .18s}
.kyla-exclusive-label{display:inline-flex;align-items:center;justify-content:center;gap:7px;margin:auto;font-size:15px;font-weight:680;letter-spacing:-.25px;line-height:1.3;white-space:nowrap}
.kyla-exclusive-lock{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;border-radius:50%;background:#edf0f2;color:#008fc7;flex:none}
.kyla-exclusive-lock svg{width:16px;height:16px}
.kyla-exclusive-chevron{display:flex;align-items:center;flex:none;color:#7e929e}
.kyla-of-mark{position:relative;display:block;flex:none;width:39px;height:28px;overflow:hidden;background:#fff}
.kyla-of-mark img{position:absolute;left:-12.5px;top:-7.8px;display:block;width:59px;max-width:none;height:auto}
html[data-theme=light] .kyla-exclusive{border-color:#d8e0e6;box-shadow:0 4px 14px #122b4810}
.kyla-exclusive:active{transform:scale(.99)}
.kyla-social .kyla-telegram{width:31px;min-height:31px;height:31px;padding:0;border:0;border-radius:50%;background:linear-gradient(145deg,#32b9eb,#159bd0);box-shadow:none}
.kyla-socials{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.kyla-social{display:flex;align-items:center;gap:9px;min-width:0;min-height:48px;padding:7px 9px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);font-size:12.5px;font-weight:500;line-height:1.3;transition:background .15s,border-color .15s}
.kyla-social-icon{width:31px;height:31px;display:flex;align-items:center;justify-content:center;flex:none;border-radius:8px;color:#fff}
.kyla-social-icon svg{width:24px;height:24px}
.kyla-whatsapp{background:#12d85c;border-radius:50%}.kyla-instagram{background:radial-gradient(circle at 25% 105%,#ffd677 0%,#ff7940 30%,#ed287b 55%,#9322c7 75%,#425bd8 100%)}.kyla-snapchat{background:#fffc00;color:#111}
.kyla-social-chevron{display:flex;margin-left:auto;color:var(--dim)}
.kyla-social-unavailable{color:var(--dim);background:var(--card);border-color:var(--line);cursor:default}
.kyla-social-unavailable .kyla-social-icon{filter:saturate(.58)}
.kyla-social-label{min-width:0}.kyla-social-note{display:block;margin-top:2px;color:var(--dim);font-size:10px;font-weight:450;line-height:1.2}
.kyla-follow-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.kyla-profile button:focus-visible,.kyla-profile a:focus-visible,#app.kyla-page .hbtn:focus-visible{outline:2px solid #ff69b9;outline-offset:4px}
@media(hover:hover){.kyla-social:hover{background:var(--card2);border-color:var(--chipline)}.kyla-exclusive:hover{border-color:#b2e5f8;box-shadow:0 5px 22px #109bcd19}.kyla-follow:hover::before{background:var(--pink2)}}
@media(min-width:420px){.kyla-body{padding:0 20px}.kyla-banner{height:208px}.kyla-name{font-size:20px}.kyla-bio{font-size:14px}.kyla-profile-top{grid-template-columns:82px minmax(0,1fr);gap:11px}.kyla-avatar{width:82px;height:82px}}
@media(max-width:380px) and (min-width:361px){.kyla-profile-top{grid-template-columns:72px minmax(0,1fr);gap:9px}.kyla-avatar{width:72px;height:72px}.kyla-name{font-size:17px}.kyla-follow{min-width:72px;font-size:10.5px}}
@media(max-width:360px){.kyla-banner{height:170px}.kyla-body{padding:0 16px}.kyla-profile-top{grid-template-columns:66px minmax(0,1fr);gap:8px 10px;min-height:0;padding-top:8px;margin-bottom:16px}.kyla-avatar{grid-column:1;grid-row:1;width:66px;height:66px;margin-top:-24px}.kyla-identity,.kyla-name-row{display:contents}.kyla-follow{grid-column:2;grid-row:1;justify-self:end;min-width:82px;font-size:12px}.kyla-name{grid-column:1/-1;grid-row:2;font-size:19px;gap:5px}.kyla-verified svg{width:19px;height:19px}.kyla-bio{grid-column:1/-1;grid-row:3;font-size:13px;line-height:1.45}.kyla-social{gap:7px;padding:7px;font-size:12px}.kyla-social-icon{width:29px;height:29px}.kyla-social-chevron svg{width:12px}.kyla-exclusive{gap:8px;padding:10px 11px}.kyla-exclusive-label{gap:5px;font-size:14px}.kyla-exclusive-lock{width:24px;height:24px}}

/* Original stacked social links and three-card photo gallery. */
#app.kyla-page .kyla-socials{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:7px;
  margin-top:10px;
}

#app.kyla-page .kyla-social{
  min-height:50px;
  padding:7px 10px;
  border-radius:13px;
  font-size:13px;
  font-weight:550;
}

#app.kyla-page .kyla-social-icon{
  width:32px;
  height:32px;
  border-radius:9px;
}

#app.kyla-page .kyla-social-icon svg{width:23px;height:23px}
#app.kyla-page .kyla-tiktok{background:#08080a;color:#fff;box-shadow:inset 0 0 0 1px #ffffff17}
html[data-theme=light] #app.kyla-page .kyla-tiktok{background:#111114}

#app.kyla-page .kyla-gallery{
  --gallery-surface:#17171c;
  --gallery-line:#29282f;
  --gallery-muted:#b0aabb;
  --gallery-overlay:rgba(9,7,11,.55);
  margin-top:28px;
  padding-bottom:12px;
}

html[data-theme=light] #app.kyla-page .kyla-gallery{
  --gallery-surface:#fff;
  --gallery-line:#e2dfe7;
  --gallery-muted:#64616f;
  --gallery-overlay:rgba(20,14,20,.39);
}

#app.kyla-page .kyla-photo-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  align-items:start;
}

#app.kyla-page .kyla-photo-card{
  display:flex;
  min-width:0;
  width:100%;
  flex-direction:column;
  gap:8px;
  padding:0;
  border:0;
  background:transparent;
  color:var(--ink);
  font:inherit;
  text-align:left;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}

#app.kyla-page .kyla-photo-art{
  position:relative;
  display:block;
  aspect-ratio:3/4.25;
  min-height:0;
  overflow:hidden;
  border:1px solid var(--gallery-line);
  border-radius:14px;
  background:#27232b;
  box-shadow:0 6px 18px #0000001f;
  isolation:isolate;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}

#app.kyla-page .kyla-photo-art::after{
  content:'';
  position:absolute;
  z-index:1;
  inset:0;
  background:linear-gradient(180deg,transparent 20%,rgba(0,0,0,.08) 45%,var(--gallery-overlay) 100%);
  pointer-events:none;
}

#app.kyla-page .kyla-photo-art>img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.015);
  transition:transform .32s cubic-bezier(.2,.75,.25,1),filter .2s ease;
}

#app.kyla-page .kyla-photo-unlock{
  position:absolute;
  z-index:2;
  left:50%;
  top:50%;
  display:flex;
  min-width:70px;
  flex-direction:column;
  align-items:center;
  gap:6px;
  transform:translate(-50%,-42%);
  color:#fff;
  text-align:center;
  text-shadow:0 1px 6px #000;
  pointer-events:none;
}

#app.kyla-page .kyla-photo-unlock svg{
  width:24px;
  height:24px;
  padding:7px;
  box-sizing:content-box;
  border:1px solid #ffffff66;
  border-radius:50%;
  background:#1411177d;
  backdrop-filter:blur(9px);
  -webkit-backdrop-filter:blur(9px);
  filter:drop-shadow(0 3px 6px #0006);
}

#app.kyla-page .kyla-photo-unlock span{
  font-size:11px;
  font-weight:680;
  letter-spacing:.02em;
  line-height:1;
}

#app.kyla-page .kyla-photo-caption{
  display:block;
  padding:0 2px;
  color:var(--gallery-muted);
  font-size:12px;
  font-weight:500;
  line-height:1.5;
  text-align:left;
  overflow-wrap:anywhere;
}

#app.kyla-page .kyla-photo-excerpt{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
  height:3em;
  overflow:hidden;
}

#app.kyla-page .kyla-photo-read-more{
  display:block;
  margin-top:4px;
  color:var(--ink);
  font-size:12px;
  font-weight:650;
  text-decoration:underline;
  text-decoration-color:#ff69b980;
  text-underline-offset:3px;
}

#app.kyla-page .kyla-photo-card[aria-expanded=true] .kyla-photo-art{
  border-color:#ff168f;
  box-shadow:0 0 0 2px #ff168f3d,0 8px 24px #ff078b20;
}

#app.kyla-page .kyla-photo-card:active .kyla-photo-art{transform:scale(.975)}
#app.kyla-page .kyla-photo-card:focus-visible{outline:0}
#app.kyla-page .kyla-photo-card:focus-visible .kyla-photo-art{outline:2px solid #ff69b9;outline-offset:3px}

.kyla-price-dialog{
  --dialog-bg:#17171c;
  --dialog-ink:#faf9fc;
  --dialog-dim:#b0aabb;
  --dialog-line:#333139;
  position:fixed;
  inset:0;
  height:fit-content;
  width:min(calc(100% - 28px),390px);
  max-width:none;
  max-height:min(88dvh,680px);
  margin:auto;
  padding:0;
  overflow:visible;
  border:0;
  border-radius:24px;
  background:transparent;
  color:var(--dialog-ink);
  font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}

html[data-theme=light] .kyla-price-dialog{
  --dialog-bg:#fff;
  --dialog-ink:#1c1b25;
  --dialog-dim:#64616f;
  --dialog-line:#e2dfe7;
}

.kyla-price-dialog[open]{display:block;animation:kyla-dialog-arrive .28s cubic-bezier(.2,.8,.2,1) both}
.kyla-price-dialog::backdrop{background:rgba(4,3,6,.68);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);animation:kyla-backdrop-in .2s ease both}

.kyla-price-content{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  gap:0;
  max-height:min(88dvh,680px);
  overflow:hidden;
  border:1px solid var(--dialog-line);
  border-radius:24px;
  background:var(--dialog-bg);
  box-shadow:0 26px 80px #0009,0 1px 0 #ffffff12 inset;
}

.kyla-price-close{
  position:absolute;
  z-index:4;
  top:10px;
  right:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  padding:0;
  border:1px solid #ffffff32;
  border-radius:50%;
  background:#111015ad;
  color:#fff;
  cursor:pointer;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.kyla-price-close svg{width:18px;height:18px}
.kyla-price-close:focus-visible{outline:2px solid #ff69b9;outline-offset:3px}

.kyla-price-art{
  position:relative;
  min-height:315px;
  overflow:hidden;
  background:#252129;
}

.kyla-price-art::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 35%,rgba(8,5,9,.38));
  pointer-events:none;
}

.kyla-price-art>img{display:block;width:100%;height:100%;object-fit:cover}
.kyla-price-lock{
  position:absolute;
  z-index:2;
  left:50%;
  top:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  transform:translate(-50%,-50%);
  border:1px solid #ffffff5e;
  border-radius:50%;
  background:#1210158c;
  color:#fff;
  box-shadow:0 8px 28px #0005;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.kyla-price-lock svg{width:23px;height:23px}
.kyla-price-details{align-self:center;min-width:0;padding:34px 22px 28px;text-align:left}
.kyla-price-eyebrow{margin:0 0 10px;color:#ff4eaa;font-size:11px;font-weight:750;letter-spacing:.08em;line-height:1.2;text-transform:uppercase}
.kyla-price-details h2{margin:0;color:var(--dialog-ink);font-size:19px;font-weight:700;letter-spacing:-.35px;line-height:1.3;text-wrap:balance}
.kyla-price-amount{margin:17px 0 0;color:var(--dialog-ink);font-size:31px;font-weight:780;letter-spacing:-1px;line-height:1}

@media(hover:hover){
  #app.kyla-page .kyla-photo-card:hover .kyla-photo-art{border-color:#ff58ae9c;box-shadow:0 0 0 1px #ff168f24,0 10px 26px #0003}
  #app.kyla-page .kyla-photo-card:hover .kyla-photo-art>img{transform:scale(1.045)}
  .kyla-price-close:hover{background:#262229}
}

@media(max-width:560px){
  .kyla-price-dialog{
    width:100%;
    max-height:88dvh;
    inset:auto 0 0;
    margin:0;
    border-radius:24px 24px 0 0;
  }
  .kyla-price-dialog[open]{animation-name:kyla-sheet-arrive}
  .kyla-price-content{
    display:block;
    max-height:88dvh;
    overflow:auto;
    overscroll-behavior:contain;
    border-width:1px 0 0;
    border-radius:24px 24px 0 0;
    padding-bottom:max(4px,env(safe-area-inset-bottom));
  }
  .kyla-price-art{height:min(48dvh,390px);min-height:265px}
  .kyla-price-details{padding:20px 22px 24px;text-align:center}
  .kyla-price-details h2{font-size:20px}
  .kyla-price-amount{margin-top:12px;font-size:34px}
}

@media(max-width:360px){
  #app.kyla-page .kyla-photo-grid{gap:7px}
  #app.kyla-page .kyla-photo-art{border-radius:12px}
  #app.kyla-page .kyla-photo-unlock{gap:5px;min-width:60px}
  #app.kyla-page .kyla-photo-unlock svg{width:20px;height:20px;padding:6px}
  #app.kyla-page .kyla-photo-unlock span{font-size:10px}
}

@keyframes kyla-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes kyla-dialog-arrive{from{opacity:0;transform:translateY(12px) scale(.975)}to{opacity:1;transform:none}}
@keyframes kyla-sheet-arrive{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}

@media(prefers-reduced-motion:reduce){
  .kyla-price-dialog[open],.kyla-price-dialog::backdrop{animation:none}
  #app.kyla-page .kyla-photo-art,
  #app.kyla-page .kyla-photo-art>img{transition:none}
}

#app.kyla-page #view{scrollbar-gutter:stable}
#app.kyla-page .kyla-social-display{opacity:1}
#app.kyla-page .kyla-body{padding-bottom:24px}

#app.kyla-page .kyla-social-display{text-align:left;cursor:pointer}
#app.kyla-page .kyla-photo-featured .kyla-photo-art{outline:2px solid #ff69b9;outline-offset:3px}
