.zoomable-reference-v2 {
  cursor: zoom-in;
}

.phone > header[hidden],
.stats[hidden],
.tip[hidden],
#timeline[hidden],
#addNode[hidden] {
  display: none !important;
}

.image-lightbox-v2 {
  position: fixed;
  z-index: 100;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(0, 0, 0, .92);
  backdrop-filter: blur(8px);
}

.image-lightbox-v2.show {
  display: flex;
}

.image-lightbox-v2 img {
  max-width: min(100%, 980px);
  max-height: 88vh;
  border-radius: 14px;
  object-fit: contain;
  box-shadow: 0 25px 80px rgba(0, 0, 0, .6);
}

.image-lightbox-v2 button {
  position: fixed;
  top: max(18px, env(safe-area-inset-top));
  right: 18px;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 50%;
  background: rgba(25, 25, 29, .9);
  color: #fff;
  font-size: 28px;
}

.project-home-v2 {
  min-height: calc(100vh - 150px);
  padding: 8px 14px 105px;
}

.brand-hero-v3 { position: relative; padding: 18px 2px 31px; overflow: hidden; }
.brand-hero-v3::before { content: ''; position: absolute; top: -110px; right: -75px; width: 250px; height: 250px; border-radius: 50%; background: radial-gradient(circle,rgba(242,139,168,.16),transparent 67%); pointer-events: none; }
.brand-hero-v3::after { content: ''; position: absolute; right: 2px; bottom: 0; left: 2px; height: 1px; background: linear-gradient(90deg,#f28ba8,rgba(242,139,168,.08),transparent); }
.brand-lockup-v3 { position: relative; z-index: 1; display: flex; align-items: center; gap: 17px; }
.brand-logo-v3 { position: relative; display: grid; width: 84px; height: 84px; flex: 0 0 auto; place-items: center; border: 1px solid rgba(242,139,168,.58); border-radius: 27px; background: linear-gradient(145deg,#27151d,#111115 70%); box-shadow: inset 0 0 25px rgba(242,139,168,.08),0 15px 35px rgba(0,0,0,.28); }
.brand-logo-v3::before,.brand-logo-v3::after { content: ''; position: absolute; width: 13px; height: 13px; border-color: #f28ba8; border-style: solid; }
.brand-logo-v3::before { top: 10px; left: 10px; border-width: 2px 0 0 2px; border-radius: 4px 0 0; }
.brand-logo-v3::after { right: 10px; bottom: 10px; border-width: 0 2px 2px 0; border-radius: 0 0 4px; }
.brand-logo-v3 i { position: absolute; width: 55px; height: 55px; border: 2px solid rgba(255,255,255,.22); border-radius: 50%; box-shadow: 0 0 0 8px rgba(255,255,255,.025); }
.brand-logo-v3 b { position: relative; z-index: 1; color: #fff; font-family: "STSong","Songti SC","Noto Serif SC",serif; font-size: 29px; font-weight: 600; }
.brand-logo-v3 span { position: absolute; right: 14px; top: 14px; width: 8px; height: 8px; border: 2px solid #191116; border-radius: 50%; background: #f28ba8; box-shadow: 0 0 13px #f28ba8; }
.brand-type-v3 { min-width: 0; }
.brand-type-v3 small { color: #9b707d; font-size: 9px; letter-spacing: 2.2px; }
.brand-type-v3 h1 { margin: 5px 0 4px; font-family: "STSong","Songti SC","Noto Serif SC",serif; font-size: clamp(42px,12vw,58px); font-weight: 700; line-height: .95; letter-spacing: -3px; }
.brand-type-v3 h1 span { margin: 0; color: #f28ba8; font: 800 .56em/1 Inter,-apple-system,sans-serif; letter-spacing: 2px; }
.brand-type-v3 p { margin: 0; overflow: hidden; color: #85858f; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.brand-hero-v3 > .create-project-v3 { position: relative; z-index: 1; width: 100%; margin-top: 24px; padding: 14px; border: 0; border-radius: 18px; background: linear-gradient(105deg,#f28ba8,#e778a0); color: #1b1015; font-size: 13px; font-weight: 800; box-shadow: 0 12px 30px rgba(242,139,168,.19); }
.theme-toggle-v3 { position: absolute; z-index: 4; top: 10px; right: 3px; display: grid; width: 38px; height: 38px; padding: 0; place-items: center; border: 1px solid #3a3238; border-radius: 50%; background: rgba(18,18,22,.88); color: #f2adc1; font-size: 17px; }
.guide-open-v3 { position: absolute; z-index: 4; top: 10px; right: 48px; display: grid; width: 38px; height: 38px; padding: 0; place-items: center; border: 1px solid #3a3238; border-radius: 50%; background: rgba(18,18,22,.88); color: #aaa1a6; font-size: 15px; font-weight: 800; }
.project-list-title-v3 { display: flex; align-items: flex-end; justify-content: space-between; padding: 27px 2px 15px; }
.project-list-title-v3 div { display: flex; flex-direction: column; }
.project-list-title-v3 b { font-size: 18px; }
.project-list-title-v3 span { margin-top: 4px; color: #604f55; font-size: 8px; font-weight: 800; letter-spacing: 1.5px; }
.project-list-title-v3 em { color: #72727c; font-size: 10px; font-style: normal; }

.project-home-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  padding: 10px 2px 24px;
}

.project-home-head small { color: #f28ba8; font-size: 11px; font-weight: 800; letter-spacing: 1.8px; text-transform: uppercase; }
.project-home-head h2 { margin: 7px 0 3px; font-size: 29px; letter-spacing: -1px; }
.project-home-head p { margin: 0; color: #73737e; font-size: 12px; }
.project-home-head button { flex: 0 0 auto; padding: 11px 15px; border: 0; border-radius: 18px; background: linear-gradient(105deg,#f28ba8,#e778a0); color: #1b1015; font-weight: 800; box-shadow: 0 10px 25px rgba(242,139,168,.18); }

#projectOverviewList { display: grid; gap: 14px; }
.project-overview-card { display: grid; grid-template-columns: 112px minmax(0,1fr); min-height: 156px; overflow: hidden; border: 1px solid #28282f; border-radius: 25px; background: #151519; cursor: pointer; transition: transform .18s ease,border-color .18s ease; }
.project-overview-card:hover { transform: translateY(-2px); border-color: #4a3b43; }
.project-overview-card.active { border-color: rgba(242,139,168,.54); box-shadow: 0 14px 35px rgba(0,0,0,.22); }
.project-overview-cover { position: relative; display: flex; align-items: center; justify-content: center; overflow: hidden; background: radial-gradient(circle at 70% 20%,var(--project-color),transparent 45%),linear-gradient(145deg,#24171d,#0b0b0d); }
.project-overview-cover::after { content: ''; position: absolute; right: -45px; bottom: -45px; width: 125px; height: 125px; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; }
.project-overview-cover img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.project-overview-cover b { position: relative; z-index: 1; color: #fff; font-size: 25px; line-height: .86; letter-spacing: -1.5px; }
.project-overview-cover span { position: absolute; z-index: 2; right: 9px; bottom: 9px; left: 9px; overflow: hidden; padding: 5px 8px; border: 1px solid rgba(255,255,255,.14); border-radius: 11px; background: rgba(8,8,10,.7); color: #eee; font-size: 9px; text-align: center; text-overflow: ellipsis; white-space: nowrap; backdrop-filter: blur(7px); }
.project-overview-copy { display: grid; min-width: 0; padding: 21px 18px; grid-template-columns: minmax(0,1fr) auto; align-content: center; column-gap: 12px; }
.project-overview-copy h3 { margin: 0; overflow: hidden; font-size: 17px; text-overflow: ellipsis; white-space: nowrap; }
.project-overview-copy em { display: block; margin-top: 8px; overflow: hidden; color: #7d7d87; font-size: 10px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.project-overview-copy strong { color: #f28ba8; font-size: 14px; }
.project-progress { height: 4px; margin-top: 20px; overflow: hidden; grid-column: 1/-1; border-radius: 4px; background: #29292f; }
.project-progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#f28ba8,#ff5f91); }
.project-overview-copy p { margin: 9px 0 0; grid-column: 1/-1; color: #6f6f79; font-size: 10px; }
.project-team-v3 { margin-top: 10px; padding: 7px 9px; grid-column: 1/-1; overflow: hidden; border: 1px solid #42333a; border-radius: 12px; background: rgba(216,132,161,.07); color: #d991a7; font-size: 9px; text-align: left; text-overflow: ellipsis; white-space: nowrap; }

.media-category-v2 { position: absolute; z-index: 4; bottom: 9px; left: 9px; max-width: calc(100% - 18px); padding: 6px 10px; overflow: hidden; border: 1px solid rgba(255,255,255,.17); border-radius: 13px; background: rgba(12,12,15,.82); color: #f3d0db; font-size: 10px; line-height: 1; text-overflow: ellipsis; white-space: nowrap; backdrop-filter: blur(8px); }
.media-category-v2:disabled { opacity: 1; cursor: default; }
.view-only .project-home-head button { display: none; }
.view-only .brand-hero-v3 > .create-project-v3 { display: none; }

#checklistProjectContext { margin: 0 0 15px; }
.carry-project-heading { display: flex; margin-bottom: 10px; align-items: flex-end; justify-content: space-between; gap: 12px; }
.carry-project-heading span { color: #74747e; font-size: 10px; }
.carry-project-heading b { max-width: 245px; overflow: hidden; color: #f2cad6; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.carry-project-tabs { display: flex; gap: 7px; padding-bottom: 3px; overflow-x: auto; }
.carry-project-tabs button { display: flex; min-width: max-content; max-width: 230px; padding: 8px 11px; align-items: center; gap: 7px; overflow: hidden; border: 1px solid #303038; border-radius: 15px; background: #17171b; color: #81818b; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.carry-project-tabs button.active { border-color: rgba(242,139,168,.55); background: #22161b; color: #f6e8ed; }
.carry-project-tabs i { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; }

@media (max-width: 390px) {
  .project-home-head { align-items: flex-start; }
  .project-home-head p { max-width: 175px; }
  .project-overview-card { grid-template-columns: 98px minmax(0,1fr); }
}

.team-overlay-v3 { position: fixed; z-index: 110; inset: 0; display: none; background: rgba(0,0,0,.74); }
.team-overlay-v3.show { display: block; }
.team-sheet-v3 { position: fixed; z-index: 111; right: 50%; bottom: 0; width: min(100%,470px); max-height: 82vh; padding: 26px 20px 35px; overflow-y: auto; border: 1px solid #302a30; border-radius: 25px 25px 0 0; background: #121216; transform: translate(50%,105%); transition: transform .25s ease; }
.team-sheet-v3.show { transform: translate(50%,0); }
.team-sheet-head-v3 { display: flex; align-items: flex-start; justify-content: space-between; }
.team-sheet-head-v3 small { font-size: 9px; letter-spacing: 1.8px; }
.team-sheet-head-v3 h2 { margin: 5px 0 3px; font-size: 26px; }
.team-sheet-head-v3 p { margin: 0; color: #80767c; font-size: 11px; }
.team-sheet-head-v3 > button { width: 36px; height: 36px; border: 0; border-radius: 50%; background: #25242a; color: #aaa; font-size: 24px; }
#teamMembersV3 { margin-top: 18px; }
.team-member-v3 { display: grid; min-height: 76px; padding: 10px 0; grid-template-columns: 38px minmax(0,1fr) 95px 85px auto; align-items: center; gap: 8px; border-bottom: 1px solid #29282e; }
.team-member-v3 > b { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 13px; background: #d884a1; color: #25141b; }
.team-member-v3 > div { display: flex; min-width: 0; flex-direction: column; }
.team-member-v3 strong,.team-member-v3 span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.team-member-v3 strong { font-size: 12px; }
.team-member-v3 span { margin-top: 4px; color: #79727a; font-size: 9px; }
.team-member-v3 select,.team-add-v3 select,.team-add-v3 input { min-width: 0; height: 32px; padding: 0 8px; border: 1px solid #343138; border-radius: 10px; outline: 0; background: #1c1b20; color: #c5bdc1; font-size: 9px; }
.team-member-v3 > button { border: 0; background: transparent; color: #b67183; font-size: 9px; }
.team-add-v3 { display: grid; margin-top: 20px; grid-template-columns: minmax(0,1fr) 95px 85px; gap: 8px; }
.team-add-v3 > button { height: 38px; grid-column: 1/-1; border: 0; border-radius: 18px; background: #f28ba8; color: #241219; font-size: 11px; font-weight: 750; }

body.theme-light-v3 { background: #eee8ea; }
.theme-light-v3 .phone { background: #f7f3f4; color: #251f22; }
.theme-light-v3 nav { border-color: #eadfe3; background: #fffafb; }
.theme-light-v3 .project-overview-card,.theme-light-v3 .node,.theme-light-v3 .location-card-v2,.theme-light-v3 .check-items,.theme-light-v3 .ai-reminder-web { border-color: #e8dce1; background: #fffafb; color: #251f22; box-shadow: 0 14px 35px rgba(83,45,59,.06); }
.theme-light-v3 .brand-logo-v3 { background: linear-gradient(145deg,#f8e7ed,#fff); box-shadow: 0 15px 35px rgba(125,68,89,.13); }
.theme-light-v3 .brand-logo-v3 b,.theme-light-v3 .brand-type-v3 h1,.theme-light-v3 .project-overview-copy h3 { color: #251e22; }
.theme-light-v3 .theme-toggle-v3 { border-color: #dfccd3; background: #fff; color: #bd4f74; }
.theme-light-v3 .guide-open-v3 { border-color: #dfccd3; background: #fff; color: #89757d; }
.theme-light-v3 .project-progress { background: #e8dde1; }
.theme-light-v3 .team-sheet-v3 { border-color: #e2d5da; background: #fffafb; color: #251f22; }
.theme-light-v3 .team-member-v3 { border-color: #e8dde1; }
.theme-light-v3 .team-member-v3 select,.theme-light-v3 .team-add-v3 select,.theme-light-v3 .team-add-v3 input { border-color: #dfd1d6; background: #f5edef; color: #463940; }

@media (max-width: 430px) {
  .team-member-v3 { grid-template-columns: 38px minmax(0,1fr) 88px; }
  .team-member-v3 [data-member-permission] { grid-column: 2; }
  .team-member-v3 > button { grid-column: 3; grid-row: 2; }
}

.onboarding-v3 { position: fixed; z-index: 150; inset: 0; display: none; padding: 24px; align-items: center; justify-content: center; background: rgba(3,3,5,.88); backdrop-filter: blur(10px); }
.onboarding-v3.show { display: flex; }
.guide-card-v3 { position: relative; width: min(100%,390px); padding: 34px 28px 25px; border: 1px solid rgba(242,139,168,.34); border-radius: 28px; background: linear-gradient(145deg,#21151b,#121216 72%); box-shadow: 0 25px 70px rgba(0,0,0,.48); }
.guide-skip-v3 { position: absolute; top: 18px; right: 20px; border: 0; background: transparent; color: #82787e; font-size: 11px; }
.guide-icon-v3 { display: grid; width: 66px; height: 66px; place-items: center; border: 1px solid #d884a1; border-radius: 21px; background: rgba(216,132,161,.1); color: #f2a0b7; font-size: 18px; font-weight: 850; }
#guideSlideV3 small { display: block; margin-top: 24px; color: #a66a7d; font-size: 9px; letter-spacing: 2px; }
#guideSlideV3 h2 { margin: 9px 0 0; font-size: 27px; }
#guideSlideV3 p { min-height: 72px; margin: 12px 0 0; color: #968b91; font-size: 13px; line-height: 1.65; }
.guide-footer-v3 { display: flex; margin-top: 21px; align-items: center; justify-content: space-between; }
#guideDotsV3 { display: flex; gap: 6px; }
#guideDotsV3 i { width: 6px; height: 6px; border-radius: 5px; background: #4b4348; }
#guideDotsV3 i.active { width: 18px; background: #f28ba8; }
#guideNextV3 { min-width: 112px; height: 42px; border: 0; border-radius: 21px; background: #f28ba8; color: #211219; font-size: 12px; font-weight: 800; }
