/* LiveUP Prestige — simple TimeTree calendar bridge. */
.prestige-timetree-connect {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(230, 181, 77, .26);
  background:
    radial-gradient(circle at 92% 0%, rgba(229, 174, 67, .10), transparent 35%),
    linear-gradient(145deg, rgba(9, 18, 22, .84), rgba(7, 10, 14, .94));
}

.prestige-timetree-connect::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(120deg, transparent 0 68%, rgba(255,255,255,.025) 68% 69%, transparent 69%);
}

.prestige-tt-head,
.prestige-tt-actions {
  position: relative;
  z-index: 1;
}

.prestige-tt-head {
  display: flex;
  align-items: flex-start;
  gap: .8rem;
}

.prestige-tt-mark {
  display: grid;
  width: 2.45rem;
  height: 2.45rem;
  flex: 0 0 2.45rem;
  place-items: center;
  border: 1px solid rgba(232, 187, 92, .42);
  border-radius: .85rem;
  color: #e9bb58;
  background: rgba(226, 172, 67, .08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 10px 28px -20px rgba(227,177,74,.85);
  font: 800 .74rem/1 "Sora", sans-serif;
  letter-spacing: -.04em;
}

.prestige-tt-copy { min-width: 0; flex: 1; }
.prestige-tt-title { color: var(--foreground); font: 700 .88rem/1.3 "Sora", sans-serif; }
.prestige-tt-sub { margin-top: .3rem; color: var(--muted-foreground); font-size: .72rem; line-height: 1.55; }

.prestige-tt-badge {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin-top: .55rem;
  padding: .28rem .5rem;
  border: 1px solid rgba(39, 218, 207, .22);
  border-radius: 999px;
  color: #35d9d0;
  background: rgba(39, 218, 207, .07);
  font-size: .61rem;
  font-weight: 700;
}

.prestige-tt-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin-top: .85rem;
}

.prestige-tt-btn {
  display: inline-flex;
  min-height: 2.35rem;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  border: 1px solid rgba(39, 218, 207, .30);
  border-radius: .72rem;
  padding: .55rem .82rem;
  color: #061013;
  background: #28d8cf;
  box-shadow: 0 12px 30px -21px rgba(39,218,207,.9);
  font-size: .72rem;
  font-weight: 800;
  cursor: pointer;
}

.prestige-tt-btn:hover { filter: brightness(1.04); }
.prestige-tt-btn.secondary {
  color: var(--foreground);
  border-color: rgba(255,255,255,.10);
  background: rgba(255,255,255,.035);
  box-shadow: none;
}

.prestige-tt-overlay {
  position: fixed;
  z-index: 9999;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 1rem;
  background: rgba(0,0,0,.72);
  backdrop-filter: blur(10px);
}

.prestige-tt-modal {
  width: min(100%, 34rem);
  max-height: min(90vh, 48rem);
  overflow: auto;
  border: 1px solid rgba(232, 187, 92, .24);
  border-radius: 1.25rem;
  background: linear-gradient(150deg, rgba(9,18,23,.99), rgba(4,8,12,.99));
  box-shadow: 0 30px 100px -35px rgba(0,0,0,.95), 0 0 50px -35px rgba(231,179,73,.7);
  color: #f6f8f9;
}

.prestige-tt-modal-head { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding:1.15rem 1.15rem .9rem; border-bottom:1px solid rgba(255,255,255,.07); }
.prestige-tt-modal-title { font: 800 1.05rem/1.25 "Sora", sans-serif; }
.prestige-tt-modal-sub { margin-top:.3rem; color:rgba(210,218,224,.62); font-size:.72rem; line-height:1.5; }
.prestige-tt-close { display:grid; width:2rem; height:2rem; flex:0 0 2rem; place-items:center; border:1px solid rgba(255,255,255,.10); border-radius:.65rem; color:rgba(245,248,250,.72); background:rgba(255,255,255,.035); cursor:pointer; }

.prestige-tt-body { padding: 1rem 1.15rem 1.2rem; }
.prestige-tt-device-tabs { display:grid; grid-template-columns:1fr 1fr; gap:.45rem; padding:.3rem; border:1px solid rgba(255,255,255,.075); border-radius:.85rem; background:rgba(255,255,255,.025); }
.prestige-tt-device { min-height:2.45rem; border:0; border-radius:.62rem; color:rgba(215,223,228,.68); background:transparent; font-size:.72rem; font-weight:700; cursor:pointer; }
.prestige-tt-device.active { color:#071012; background:#2bd9d0; }

.prestige-tt-step { display:flex; gap:.8rem; margin-top:1rem; padding: .9rem; border:1px solid rgba(255,255,255,.075); border-radius:.9rem; background:rgba(255,255,255,.025); }
.prestige-tt-step-no { display:grid; width:1.75rem; height:1.75rem; flex:0 0 1.75rem; place-items:center; border-radius:999px; color:#e7b653; background:rgba(231,182,83,.11); font-size:.68rem; font-weight:800; }
.prestige-tt-step strong { display:block; font-size:.78rem; }
.prestige-tt-step p { margin-top:.28rem; color:rgba(207,216,222,.62); font-size:.68rem; line-height:1.55; }
.prestige-tt-step-actions { display:flex; flex-wrap:wrap; gap:.45rem; margin-top:.65rem; }
.prestige-tt-mini { display:inline-flex; min-height:2.15rem; align-items:center; justify-content:center; border:1px solid rgba(43,217,208,.25); border-radius:.62rem; padding:.48rem .68rem; color:#35d9d0; background:rgba(43,217,208,.07); font-size:.68rem; font-weight:750; text-decoration:none; cursor:pointer; }
.prestige-tt-mini.primary { color:#071012; background:#2bd9d0; }

.prestige-tt-note { margin-top:.9rem; padding:.72rem .8rem; border:1px solid rgba(232,187,92,.14); border-radius:.75rem; color:rgba(207,216,222,.58); background:rgba(232,187,92,.035); font-size:.64rem; line-height:1.55; }

html:not(.dark) .prestige-timetree-connect { background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(248,246,240,.96)); }
html:not(.dark) .prestige-tt-modal { color:#14171a; background:linear-gradient(150deg,#fff,#f6f3eb); }
html:not(.dark) .prestige-tt-modal-sub,
html:not(.dark) .prestige-tt-step p,
html:not(.dark) .prestige-tt-note { color:rgba(35,40,44,.62); }
html:not(.dark) .prestige-tt-device-tabs,
html:not(.dark) .prestige-tt-step { border-color:rgba(20,25,30,.09); background:rgba(20,25,30,.025); }
html:not(.dark) .prestige-tt-device { color:rgba(30,35,40,.65); }

@media (max-width: 520px) {
  .prestige-tt-actions > * { width: 100%; }
  .prestige-tt-modal-head, .prestige-tt-body { padding-left:.9rem; padding-right:.9rem; }
}
