*{box-sizing:border-box}body{margin:0;background:#0f1117;color:#eef1f7;font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
a{color:#ff9b63}h1,h2{margin:.2rem 0 1rem}.shell{width:min(1200px,94%);margin:28px auto}.narrow{max-width:560px}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:24px max(3%,calc((100% - 1200px)/2));border-bottom:1px solid #272c38;background:#141821;position:sticky;top:0;z-index:4}
.top-actions{display:flex;gap:18px;align-items:center}.eyebrow{font-size:12px;letter-spacing:.14em;color:#ff8a4c;font-weight:800}.muted{color:#98a2b7}.small{font-size:13px}
.card{background:#171b24;border:1px solid #292f3d;border-radius:16px;padding:22px;box-shadow:0 16px 50px rgba(0,0,0,.18)}.player-card{margin-bottom:22px}
.layout{display:grid;grid-template-columns:1fr 340px;gap:22px;align-items:start}.comment-box{position:sticky;top:125px}
label{display:grid;gap:7px;margin:0 0 14px;font-weight:650}input,textarea,select{width:100%;background:#0f131b;color:#fff;border:1px solid #343c4d;border-radius:10px;padding:12px;font:inherit}textarea{resize:vertical}
.btn{border:0;background:#ff7a33;color:#121212;font-weight:800;border-radius:10px;padding:11px 16px;cursor:pointer;text-decoration:none;display:inline-block}.btn.secondary{background:#2b3240;color:#fff}
.version-row,.section-title,.transport,.timestamp{display:flex;justify-content:space-between;align-items:center;gap:12px}.version-row label{min-width:300px}.transport{justify-content:flex-start;margin-top:14px}.timestamp{justify-content:flex-start;margin-bottom:10px}
#waveform{margin:18px 0 6px;background:#0d1016;border-radius:12px;padding:8px 6px}.hint{font-size:13px;color:#8f99ad;margin-top:10px}
.comment{display:grid;grid-template-columns:68px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid #272d39;cursor:pointer}.timejump{background:#272f3d;border:0;color:#ff9c67;border-radius:9px;height:38px;font-weight:800}.comment-head{display:flex;gap:10px;justify-content:space-between;margin-bottom:4px}.comment-head span{font-size:12px;color:#7f899e}.linkbtn{background:none;border:0;color:#ff9861;cursor:pointer}.empty{padding:30px 10px;color:#8f99ad;text-align:center}.error{background:#431f25;color:#ffd7dc;padding:10px;border-radius:10px;margin-bottom:14px}.success{background:#173722;color:#c9f5d3;padding:10px;border-radius:10px}
@media(max-width:800px){.layout{grid-template-columns:1fr}.comment-box{position:static}.topbar{position:static;align-items:flex-start}.version-row{align-items:flex-start;flex-direction:column}.version-row label{min-width:0;width:100%}.comment-head{display:block}.top-actions{flex-direction:column;align-items:flex-end;gap:4px}}

.player-status{font-size:13px;margin-top:10px;padding:8px 10px;background:#111620;border-radius:8px}
.player-status.player-error{color:#ffd0d0;background:#3d1d22;border:1px solid #6a2d35}


.waveform-shell{position:relative;margin:18px 0 6px;background:#0d1016;border-radius:12px;overflow:hidden}
.waveform-shell #waveform{margin:0;background:transparent;border-radius:0;padding:8px 6px}
.native-audio-fallback{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;left:-9999px!important}
.wave-loading{position:absolute;inset:0;display:none;align-items:center;justify-content:center;gap:10px;background:rgba(13,16,22,.78);backdrop-filter:blur(2px);z-index:5;color:#d8deea;font-size:13px}
.wave-loading.show{display:flex}
.spinner{width:19px;height:19px;border:2px solid #515a6d;border-top-color:#ff7a33;border-radius:50%;animation:waveSpin .8s linear infinite}
@keyframes waveSpin{to{transform:rotate(360deg)}}
.wave-markers{position:absolute;inset:0 6px 0 6px;pointer-events:none;z-index:4}
.wave-marker{position:absolute;top:3px;bottom:3px;width:26px;transform:translateX(-50%);padding:0;border:0;background:transparent;pointer-events:auto;cursor:pointer}
.wave-marker:before{content:"";position:absolute;top:19px;bottom:0;left:50%;width:1px;background:rgba(255,122,51,.55)}
.wave-marker-dot{position:absolute;top:7px;left:50%;width:11px;height:11px;transform:translateX(-50%);border-radius:50%;background:#ff7a33;border:2px solid #121720;box-shadow:0 0 0 2px rgba(255,122,51,.25)}
.wave-marker-label{position:absolute;top:21px;left:50%;transform:translateX(-50%);min-width:20px;padding:1px 4px;border-radius:5px;background:#ff7a33;color:#121212;font-size:9px;font-weight:900;line-height:1.4;text-transform:uppercase;white-space:nowrap}
.wave-marker:hover .wave-marker-dot{transform:translateX(-50%) scale(1.25)}
.comment-highlight{background:rgba(255,122,51,.09);border-radius:10px;transition:background .25s ease}

.avatar{width:38px;height:38px;border-radius:50%;object-fit:cover;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.avatar-xl{width:76px;height:76px;font-size:26px}
.avatar-fallback{background:#303848;color:#fff;font-weight:800}
.profile-head{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.profile-head.compact{margin:0}
.project-row,.member-row,.chapter-admin-row,.admin-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #272d39}
.role-badge{font-size:11px;text-transform:uppercase;letter-spacing:.08em;background:#262e3d;padding:4px 8px;border-radius:999px;color:#b9c2d4}
.comment{grid-template-columns:68px 42px 1fr}
.comment-avatar-wrap{padding-top:1px}
.comment-avatar{width:34px;height:34px;font-size:12px}
.chapter-bar{position:relative;height:34px;margin:5px 6px 12px;background:#0d1016;border-radius:8px;overflow:hidden;border:1px solid #232936}
.chapter-segment{position:absolute;top:0;bottom:0;border:0;border-right:1px solid rgba(0,0,0,.35);background:color-mix(in srgb,var(--chapter-color) 72%,#171b24);color:#fff;cursor:pointer;padding:0 8px;text-align:left;overflow:hidden}
.chapter-segment:before{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--chapter-color)}
.chapter-segment span{position:relative;z-index:2;font-size:11px;font-weight:800;white-space:nowrap;text-shadow:0 1px 2px #000}
.chapter-segment:hover{filter:brightness(1.15)}
.chapter-swatch{width:12px;height:32px;border-radius:4px;flex:0 0 auto}
.chapter-admin-row{justify-content:flex-start}
.chapter-admin-row form{margin-left:auto}
.admin-section{margin-bottom:22px}
.admin-edit{display:flex;gap:8px;align-items:center;flex:1}
.admin-edit input{max-width:300px}
.inline-check{display:flex!important;grid-template-columns:none!important;align-items:center;gap:6px;margin:0!important;white-space:nowrap}
.inline-check input{width:auto}
.danger{color:#ff8585!important}
@media(max-width:800px){
  .comment{grid-template-columns:58px 34px 1fr}
  .admin-row,.admin-edit{align-items:stretch;flex-direction:column}
  .admin-edit input{max-width:none}
  .chapter-segment span{font-size:9px}
}

/* v0.2.1 admin layout cleanup */
.admin-waveform-card{
  margin-bottom:22px;
  overflow:visible;
}
.admin-wave-title{
  align-items:flex-start;
  margin-bottom:12px;
}
.admin-version-select{
  min-width:280px;
  margin:0;
}
.admin-waveform-shell{
  margin-top:10px;
}
.admin-wave-transport{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:10px;
}
.chapter-form{
  display:grid;
  grid-template-columns:minmax(220px,1fr) 120px auto auto;
  gap:12px;
  align-items:end;
  margin-top:16px;
}
.chapter-form label{
  margin:0;
}
.chapter-position-preview{
  align-self:center;
  white-space:nowrap;
  color:#aeb7c8;
}
.chapter-admin-list{
  margin-top:18px;
}
.chapter-admin-row{
  display:grid;
  grid-template-columns:12px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
}
.chapter-admin-row form{
  margin:0;
}
.project-row,
.member-row,
.admin-row{
  min-width:0;
}
.project-row > div,
.member-row > div,
.admin-row > div{
  min-width:0;
}
.comment,
.project-row,
.member-row,
.chapter-admin-row,
.admin-row{
  word-break:normal;
  overflow-wrap:anywhere;
}
.card{
  min-width:0;
}
.layout{
  grid-template-columns:minmax(0,1fr) 340px;
}
.wave-marker-label{
  max-width:110px;
  overflow:hidden;
  text-overflow:ellipsis;
}
@media(max-width:900px){
  .layout{grid-template-columns:1fr}
  .chapter-form{grid-template-columns:1fr 110px}
  .chapter-position-preview{grid-column:1/-1}
  .admin-version-select{min-width:0;width:100%}
  .admin-wave-title{flex-direction:column}
}
@media(max-width:620px){
  .chapter-form{grid-template-columns:1fr}
  .chapter-form > *{grid-column:auto}
}

/* v0.2.2 discussion + admin row fixes */
.version-admin-row{
  display:grid;
  grid-template-columns:56px minmax(0,1fr);
  gap:12px;
  align-items:start;
  padding:14px 0;
  border-bottom:1px solid #272d39;
}
.version-number{
  white-space:nowrap;
}
.version-info{
  min-width:0;
}
.version-info strong,
.version-info .muted{
  display:block;
}
.version-info .muted{
  overflow-wrap:anywhere;
}
.chapter-inline-edit{
  display:grid;
  grid-template-columns:minmax(180px,1fr) 110px 58px auto;
  gap:8px;
  align-items:center;
  width:100%;
}
.chapter-inline-edit input{
  min-width:0;
}
.chapter-admin-row{
  grid-template-columns:12px minmax(0,1fr) auto;
}
.comment-actions{
  display:flex;
  gap:10px;
  margin-top:8px;
}
.discussion-thread{
  border-bottom:1px solid #272d39;
}
.discussion-thread > .comment{
  border-bottom:0;
}
.reply-list{
  margin-left:68px;
}
.comment-reply{
  grid-template-columns:24px 42px minmax(0,1fr);
  border-top:1px solid #232936;
  border-bottom:0;
  padding:11px 0;
}
.reply-spacer{
  position:relative;
}
.reply-spacer:before{
  content:"";
  position:absolute;
  top:-12px;
  bottom:12px;
  left:10px;
  border-left:2px solid #2c3443;
}
.reply-box{
  margin:8px 0 14px 82px;
  padding:12px;
  background:#111620;
  border:1px solid #2a3240;
  border-radius:10px;
}
.reply-box textarea{
  margin-bottom:8px;
}
.reply-box-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
}
@media(max-width:800px){
  .chapter-inline-edit{grid-template-columns:1fr 90px 52px}
  .chapter-inline-edit .btn{grid-column:1/-1}
  .reply-list{margin-left:24px}
  .reply-box{margin-left:24px}
  .comment-reply{grid-template-columns:18px 34px minmax(0,1fr)}
}

/* v0.2.3 draggable chapter regions + voting */
.admin-waveform-shell #adminWaveMarkers{
  position:absolute;
  inset:0 6px 0 6px;
  z-index:4;
  pointer-events:none;
}
.admin-chapter-region{
  position:absolute;
  top:5px;
  bottom:5px;
  min-width:8px;
  border:1px solid var(--region-color);
  background:color-mix(in srgb,var(--region-color) 16%,transparent);
  pointer-events:auto;
}
.admin-chapter-region.readonly{
  opacity:.7;
}
.region-body{
  position:absolute;
  inset:0 7px;
  border:0;
  background:transparent;
  color:#fff;
  font-size:10px;
  font-weight:800;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  cursor:pointer;
}
.region-handle{
  position:absolute;
  top:0;
  bottom:0;
  width:9px;
  padding:0;
  border:0;
  background:var(--region-color);
  cursor:ew-resize;
  z-index:2;
}
.region-handle.start{left:-5px}
.region-handle.end{right:-5px}
.admin-chapter-region.readonly .region-handle{display:none}

.chapter-inline-edit{
  grid-template-columns:minmax(160px,1fr) 105px 105px 58px auto;
}
.vote-btn{
  border:1px solid #343c4d;
  background:#171c25;
  color:#aeb7c8;
  border-radius:999px;
  padding:4px 9px;
  font-size:12px;
  cursor:pointer;
}
.vote-btn span{
  margin-left:3px;
  font-weight:800;
}
.vote-btn.agree.active{
  border-color:#4c9b67;
  background:#173522;
  color:#bde9c8;
}
.vote-btn.disagree.active{
  border-color:#a1535a;
  background:#3b1c21;
  color:#ffc3c8;
}
.vote-btn:disabled{opacity:.55;cursor:wait}
.comment-actions{align-items:center;flex-wrap:wrap}

@media(max-width:900px){
  .chapter-inline-edit{grid-template-columns:1fr 90px 90px 52px}
  .chapter-inline-edit .btn{grid-column:1/-1}
}

/* v0.2.4 live region editor */
#adminWaveMarkers{
  pointer-events:auto!important;
  cursor:crosshair;
}
.admin-chapter-region{
  cursor:default;
}
.admin-chapter-region.draft{
  border-style:dashed;
  background:rgba(255,122,51,.12);
  pointer-events:none;
  z-index:10;
}
.chapter-time-display{
  font-variant-numeric:tabular-nums;
  text-align:center;
}
.draw-region-hint{
  margin-top:10px;
  padding:8px 10px;
  border-radius:8px;
  background:#111620;
  color:#97a2b7;
  font-size:12px;
  transition:.2s ease;
}
.draw-region-hint.saved{
  background:#163a22;
  color:#c7f2d0;
}
.chapter-form.region-ready{
  outline:2px solid rgba(255,122,51,.55);
  outline-offset:5px;
  border-radius:8px;
}

/* v0.2.5 unified player controls */
.transport-full{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-top:12px;
}
.transport-btn{
  border:1px solid #394253;
  background:#262e3d;
  color:#fff;
  border-radius:9px;
  padding:9px 12px;
  font:inherit;
  font-weight:800;
  cursor:pointer;
  white-space:nowrap;
}
.transport-btn:hover{
  background:#333c4d;
}
.primary-transport{
  background:#ff7a33;
  border-color:#ff7a33;
  color:#111;
}
.primary-transport:hover{
  background:#ff8a4d;
}
.primary-transport.is-playing{
  box-shadow:0 0 0 2px rgba(255,122,51,.28);
}
.transport-time{
  display:flex;
  align-items:center;
  gap:8px;
  margin-left:auto;
  font-variant-numeric:tabular-nums;
}
#waveform{
  touch-action:none;
  cursor:pointer;
  user-select:none;
}
@media(max-width:700px){
  .transport-btn{flex:1 1 auto}
  .transport-time{width:100%;justify-content:center;margin-left:0}
}

/* v0.2.6 canvas waveform / native audio only */
.waveform-canvas{
  display:block;
  width:100%;
  height:150px;
  background:#0d1016;
  border-radius:10px;
  cursor:pointer;
  touch-action:none;
  user-select:none;
}
.waveform-shell{
  padding:0!important;
}
.waveform-shell #waveform{
  display:none!important;
}

/* v0.2.7 seek performance + chapter transport */
.chapter-skip-btn{
  border-color:#6b3aa8;
  background:#251b34;
}
.chapter-skip-btn:hover{
  background:#342248;
}

/* v0.2.8 fast admin navigation */
.admin-wave-canvas{
  position:relative;
  z-index:1;
}
#adminWaveMarkers{
  z-index:4;
}
#adminWaveMarkers.navigate-mode{
  cursor:pointer;
}
#adminWaveMarkers.draw-mode{
  cursor:crosshair;
}
.admin-wave-tools{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:10px;
}
.admin-wave-tools .active-mode{
  background:#ff7a33;
  color:#111;
  border-color:#ff7a33;
}
.admin-transport-full{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.admin-transport-full .transport-time{
  margin-left:auto;
}
@media(max-width:800px){
  .admin-transport-full .transport-time{
    width:100%;
    margin-left:0;
    justify-content:center;
  }
}

/* v0.3.0 account approval workflow */
.admin-user-card{
  padding:14px 0;
  border-bottom:1px solid #272d39;
}
.admin-user-main{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center;
  margin-bottom:12px;
}
.admin-user-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.account-status{
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
  padding:5px 9px;
  border-radius:999px;
}
.status-pending{
  background:#4c3a15;
  color:#ffd985;
}
.status-approved{
  background:#183924;
  color:#bce7c8;
}
.status-suspended{
  background:#471d24;
  color:#ffc1c8;
}
.approve-btn{
  background:#42b56c;
  color:#0b1b10;
}
@media(max-width:800px){
  .admin-user-main,
  .admin-user-actions{
    align-items:stretch;
    flex-direction:column;
  }
}

/* v0.3.1 role clarity */
.role-explainer{
  margin-bottom:20px;
  padding:10px 14px;
  border:1px solid #2e3747;
  border-radius:10px;
  background:#121821;
  color:#aeb8c9;
  font-size:13px;
}
.user-project-summary{
  margin-top:3px;
}
.admin-project-card{
  padding:14px 0;
  border-bottom:1px solid #272d39;
}
.admin-project-card .admin-row{
  border-bottom:0;
  padding-bottom:0;
}
.admin-project-owner{
  margin-bottom:10px;
}
.admin-project-owner .role-badge{
  margin-left:8px;
}

/* v0.4.0 project tracks / stems */
.track-version-row{
  display:grid;
  grid-template-columns:minmax(200px,260px) minmax(200px,260px) 1fr;
  gap:14px;
  align-items:end;
}
.track-version-row label{
  margin:0;
}
.tracks-card{
  margin-bottom:22px;
}
.tracks-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:14px;
}
.track-admin-card{
  border:1px solid #2a3240;
  background:#121720;
  border-radius:12px;
  padding:14px;
  position:relative;
}
.track-card-head,
.track-version-heading{
  display:flex;
  align-items:center;
  gap:9px;
}
.track-color-dot{
  width:12px;
  height:36px;
  border-radius:4px;
  flex:0 0 auto;
}
.track-edit-form{
  display:grid;
  grid-template-columns:minmax(140px,1fr) 80px minmax(160px,1fr);
  gap:10px;
  align-items:end;
  margin-top:12px;
}
.track-edit-form label{
  margin:0;
}
.track-edit-form .inline-check{
  grid-column:1/3;
}
.track-delete-form{
  margin-top:10px;
}
.add-track-form{
  display:grid;
  grid-template-columns:minmax(180px,1fr) 80px minmax(180px,1fr) auto auto;
  gap:10px;
  align-items:end;
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid #2a3240;
}
.add-track-form label{
  margin:0;
}
.track-version-group{
  margin-bottom:18px;
  padding-bottom:10px;
  border-bottom:1px solid #292f3d;
}
.track-version-heading{
  margin-bottom:4px;
}
.compact-empty{
  padding:12px;
  text-align:left;
}
@media(max-width:900px){
  .track-version-row{
    grid-template-columns:1fr;
    align-items:stretch;
  }
  .track-edit-form,
  .add-track-form{
    grid-template-columns:1fr;
  }
  .track-edit-form .inline-check{
    grid-column:auto;
  }
}

/* v0.4.1 listener track/chapter workspace */
.project-breadcrumbs{display:flex;align-items:center;gap:8px;margin:0 0 14px;color:#95a0b5;font-size:13px}
.project-breadcrumbs strong{color:#d9dfeb}.crumb-sep{color:#ff7a33;font-size:18px}
.listener-workspace{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,.75fr);gap:14px;margin-bottom:16px}
.track-picker-card,.chapters-widget{background:#121720;border:1px solid #29313f;border-radius:12px;padding:14px}
.track-picker-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.track-picker-title h2,.chapters-widget h2{margin:2px 0 10px;font-size:19px}
.track-version-controls{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr);gap:12px}
.track-version-controls label{margin:0}.track-meta{margin-top:8px}
.track-quick-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.track-quick-btn{display:flex;align-items:center;gap:8px;border:1px solid #303949;background:#171d27;color:#d9dfeb;border-radius:10px;padding:8px 10px;cursor:pointer;text-align:left}
.track-quick-btn:hover,.track-quick-btn.active{border-color:var(--track-color);box-shadow:inset 0 -3px 0 var(--track-color)}
.track-quick-dot{width:9px;height:28px;border-radius:4px;background:var(--track-color);flex:0 0 auto}
.track-quick-copy{display:flex;flex-direction:column;min-width:0}.track-quick-copy strong{font-size:12px}
.track-quick-copy small{color:#8f9ab0;font-size:10px}
.chapter-list{display:flex;flex-direction:column;gap:6px;max-height:280px;overflow:auto}
.chapter-list-item{display:grid;grid-template-columns:8px minmax(0,1fr) auto;gap:9px;align-items:center;width:100%;border:1px solid #2c3443;background:#171d27;color:#e4e8ef;border-radius:9px;padding:8px;cursor:pointer;text-align:left}
.chapter-list-item:hover{border-color:var(--chapter-color)}
.chapter-list-color{width:8px;height:34px;border-radius:4px;background:var(--chapter-color)}
.chapter-list-copy{display:flex;flex-direction:column;min-width:0}.chapter-list-copy strong{white-space:normal;overflow-wrap:anywhere}
.chapter-list-copy small{color:#8f9ab0;margin-top:2px}.chapter-list-play{color:#ff9a65;font-size:11px;font-weight:800;white-space:nowrap}
@media(max-width:950px){.listener-workspace{grid-template-columns:1fr}}
@media(max-width:650px){.track-version-controls{grid-template-columns:1fr}.track-quick-btn{flex:1 1 100%}}

/* v0.4.2 front-end collaborator uploads */
.front-upload-wrap{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid #2b3341;
}
.front-upload-wrap[hidden],
.front-upload-form[hidden]{
  display:none!important;
}
.front-upload-toggle{
  width:auto;
}
.front-upload-form{
  margin-top:12px;
  padding:12px;
  border:1px solid #313a49;
  border-radius:10px;
  background:#0f141c;
}
.front-upload-grid{
  display:grid;
  grid-template-columns:minmax(180px,1fr) minmax(210px,1fr);
  gap:10px;
}
.front-upload-grid label{
  margin:0;
}
.front-upload-notes{
  grid-column:1/-1;
}
.front-upload-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  margin-top:10px;
}
.front-upload-status{
  min-height:18px;
  margin-top:8px;
  font-size:12px;
}
@media(max-width:700px){
  .front-upload-grid{
    grid-template-columns:1fr;
  }
  .front-upload-notes{
    grid-column:auto;
  }
  .front-upload-toggle{
    width:100%;
  }
}

/* v0.4.5 public My Projects area */
.project-breadcrumbs a{
  color:#ff9a65;
  text-decoration:none;
}
.project-breadcrumbs a:hover{
  text-decoration:underline;
}
.public-project-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  margin-bottom:18px;
  padding:14px 16px;
  background:#121720;
  border:1px solid #29313f;
  border-radius:12px;
}
.public-project-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:16px;
}
.public-project-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  background:#151a23;
  border:1px solid #2a3240;
  border-radius:14px;
  overflow:hidden;
}
.project-card-main{
  display:block;
  padding:18px;
  color:inherit;
  text-decoration:none;
  flex:1;
}
.project-card-main:hover{
  background:#181f2a;
}
.project-card-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
}
.project-card-top h2{
  margin:4px 0 0;
}
.project-card-stats{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:20px;
}
.project-card-stats span{
  padding:6px 9px;
  border-radius:8px;
  background:#0f141c;
  color:#9ca7ba;
  font-size:12px;
}
.project-card-stats strong{
  color:#fff;
}
.project-card-updated{
  margin-top:14px;
  color:#8d98ac;
  font-size:12px;
}
.project-card-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  padding:12px 18px 18px;
  border-top:1px solid #252d3a;
}
.top-actions{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.top-actions a{
  color:#ff9a65;
}
@media(max-width:720px){
  .public-project-toolbar,
  .project-card-top{
    flex-direction:column;
    align-items:stretch;
  }
  .public-project-grid{
    grid-template-columns:1fr;
  }
}

/* v0.4.6 compact listener workspace */
.listener-workspace{
  display:grid;
  grid-template-columns:minmax(0,1fr) 205px 285px;
  gap:12px;
  align-items:stretch;
}
.track-picker-card,
.stems-widget,
.chapters-widget{
  background:#121720;
  border:1px solid #29313f;
  border-radius:12px;
  padding:12px;
  min-width:0;
}
.track-picker-card{
  display:flex;
  flex-direction:column;
}
.track-picker-title{
  margin-bottom:10px;
}
.track-picker-title h2,
.stems-widget h2,
.chapters-widget h2{
  margin:2px 0 10px;
  font-size:17px;
}
.track-picker-title #currentTrackUpdated{
  max-width:180px;
  text-align:right;
  line-height:1.25;
}
.track-version-controls{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:9px;
}
.track-meta{
  margin-top:8px;
  min-height:18px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.stems-widget .track-quick-list{
  display:flex;
  flex-direction:column;
  gap:7px;
  margin-top:0;
}
.stems-widget .track-quick-btn{
  width:100%;
  min-width:0;
  padding:7px 8px;
  border-radius:9px;
}
.stems-widget .track-quick-copy strong{
  font-size:12px;
}
.stems-widget .track-quick-copy small{
  font-size:9px;
  line-height:1.25;
}
.stems-widget .track-quick-dot{
  height:32px;
}
.chapters-widget{
  padding:12px;
}
.chapter-list{
  max-height:236px;
}
.chapter-list-item{
  padding:7px;
}
.chapter-list-copy strong{
  font-size:12px;
}
.chapter-list-copy small,
.chapter-list-play{
  font-size:10px;
}
.front-upload-wrap{
  margin-top:auto;
  padding-top:12px;
}
.front-upload-toggle{
  font-size:12px;
  padding:9px 12px;
}
@media(max-width:1080px){
  .listener-workspace{
    grid-template-columns:minmax(0,1fr) 190px 255px;
  }
}
@media(max-width:900px){
  .listener-workspace{
    grid-template-columns:minmax(0,1fr) 220px;
  }
  .chapters-widget{
    grid-column:1/-1;
  }
  .chapter-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-height:none;
  }
}
@media(max-width:680px){
  .listener-workspace{
    grid-template-columns:1fr;
  }
  .chapters-widget{
    grid-column:auto;
  }
  .chapter-list{
    display:flex;
  }
  .track-version-controls{
    grid-template-columns:1fr;
  }
}

/* v0.4.7 comment timestamp seeking */
.timejump{
  cursor:pointer;
  transition:background .15s ease,transform .15s ease,box-shadow .15s ease;
}
.timejump:hover{
  background:#354052;
  transform:translateY(-1px);
  box-shadow:0 0 0 1px rgba(255,122,51,.35);
}
.timejump:disabled{
  opacity:.55;
  cursor:wait;
}

/* v0.4.8 timeline avatars + live chapter following */
.wave-marker-avatar{
  width:24px;
  height:24px;
  display:block;
  border-radius:50%;
  object-fit:cover;
  border:2px solid #ff7a33;
  background:#111722;
  box-shadow:0 2px 8px rgba(0,0,0,.45);
}
.wave-marker:has(.wave-marker-avatar) .wave-marker-dot{
  background:#ff7a33;
}
.chapter-segment{
  transition:filter .15s ease, transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}
.chapter-segment.active{
  z-index:3;
  filter:brightness(1.35);
  transform:translateY(-2px);
  box-shadow:
    inset 0 0 0 2px rgba(255,255,255,.9),
    0 0 10px var(--chapter-color);
}
.chapter-segment:not(.active){
  opacity:.82;
}
.chapter-list-item{
  transition:border-color .15s ease, background .15s ease, transform .15s ease, box-shadow .15s ease;
}
.chapter-list-item.active{
  border-color:var(--chapter-color);
  background:color-mix(in srgb,var(--chapter-color) 18%,#171d27);
  box-shadow:
    inset 3px 0 0 var(--chapter-color),
    0 0 0 1px color-mix(in srgb,var(--chapter-color) 45%,transparent);
  transform:translateX(2px);
}
.chapter-list-item.active .chapter-list-play{
  color:#fff;
}

/* v0.4.9 chapter auto-follow fix */
.chapter-list{
  position:relative;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
.chapter-list-item{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
.chapter-list-item.active{
  transform:none!important;
}

/* v0.5.0 project members + short share links */
.room-meta-grid{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);
  gap:12px;
  margin:0 0 14px;
}
.room-members-widget,
.room-share-widget{
  background:#121720;
  border:1px solid #29313f;
  border-radius:12px;
  padding:12px;
  min-width:0;
}
.room-widget-head h3,
.room-share-widget h3{
  margin:2px 0 8px;
  font-size:16px;
}
.room-member-list{
  display:flex;
  gap:8px;
  overflow-x:auto;
  overflow-y:hidden;
  padding-bottom:2px;
  scrollbar-width:thin;
}
.room-member-row{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:240px;
  padding:8px 9px;
  border:1px solid #29313f;
  border-radius:10px;
  background:#171d27;
}
.room-member-avatar{
  width:34px;
  height:34px;
  flex:0 0 34px;
  border-radius:50%;
  object-fit:cover;
  border:1px solid #3c4658;
}
.room-member-fallback{
  display:flex;
  align-items:center;
  justify-content:center;
  background:#283144;
  color:#fff;
  font-weight:800;
}
.room-member-copy{min-width:0}
.room-member-copy>div{
  display:flex;
  gap:6px;
  align-items:center;
  flex-wrap:wrap;
}
.room-member-copy strong{font-size:12px}
.room-member-copy small{
  display:block;
  margin-top:2px;
  color:#8f9ab0;
  font-size:9px;
  white-space:normal;
}
.member-role-mini{
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.05em;
  padding:2px 5px;
  border-radius:999px;
  background:#253047;
  color:#aeb9cc;
}
.short-link-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:7px;
  align-items:center;
  margin-top:9px;
}
.short-link-row input{
  min-width:0;
  font-size:11px;
}
#copyShortLinkStatus{
  min-height:16px;
  margin-top:5px;
  color:#9fd7ad;
}
@media(max-width:860px){
  .room-meta-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .room-member-list{flex-direction:column;overflow:visible}
  .room-member-row{min-width:0;width:100%}
  .short-link-row{grid-template-columns:1fr}
}

/* v0.5.2 audit trail */
.audit-section{margin-bottom:18px}
.audit-count{
  padding:5px 9px;border-radius:999px;background:#202838;color:#aeb8ca;font-size:11px;font-weight:800
}
.audit-filters{
  display:grid;
  grid-template-columns:minmax(150px,1fr) minmax(160px,1fr) minmax(180px,1fr) auto;
  gap:10px;
  align-items:end;
  margin:12px 0 14px;
}
.audit-filters label{margin:0}
.audit-filter-actions{display:flex;gap:7px}
.audit-table-wrap{overflow:auto;border:1px solid #29313f;border-radius:10px}
.audit-table{width:100%;border-collapse:collapse;min-width:850px}
.audit-table th,.audit-table td{padding:9px 10px;border-bottom:1px solid #252d39;text-align:left;vertical-align:top}
.audit-table th{position:sticky;top:0;background:#111720;color:#9aa6b9;font-size:10px;text-transform:uppercase;letter-spacing:.05em}
.audit-table td{font-size:11px}
.audit-table small{display:block;color:#8894a8;margin-top:2px}
.audit-date,.audit-ip{white-space:nowrap;color:#9aa6b9}
.audit-event{
  display:inline-block;padding:3px 6px;border-radius:6px;background:#293247;color:#d8deea;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.04em
}
.audit-event-login_success{background:#173c25;color:#bde8c8}
.audit-event-login_failed,.audit-event-login_blocked{background:#4b2027;color:#ffc0c6}
.audit-event-audio_uploaded{background:#26365a;color:#c7d8ff}
.audit-event-project_created{background:#463516;color:#ffdc8d}
@media(max-width:850px){
  .audit-filters{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .audit-filters{grid-template-columns:1fr}
}

/* v0.5.3 wide studio desktop layout */
.room-shell{
  width:min(1600px,calc(100% - 32px));
  max-width:1600px;
}
.studio-wide-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}
.studio-center{
  min-width:0;
}
.studio-center .player-card{
  margin:0 0 14px;
}
.comments-card-main{
  min-width:0;
}
.studio-left,
.studio-right{
  display:flex;
  flex-direction:column;
  gap:12px;
  min-width:0;
}
.side-comment-box,
.side-members-widget,
.side-share-widget,
.side-chapters-widget{
  min-width:0;
}
.side-comment-box textarea{
  width:100%;
  min-height:130px;
  resize:vertical;
}
.side-comment-box .btn{
  width:100%;
}
.side-members-widget .room-member-list{
  display:flex;
  flex-direction:column;
  overflow:visible;
  gap:7px;
}
.side-members-widget .room-member-row{
  width:100%;
  min-width:0;
}
.side-share-widget .short-link-row{
  grid-template-columns:1fr;
}
.side-share-widget .short-link-row .btn{
  width:100%;
}
.side-chapters-widget .chapter-list{
  max-height:calc(100vh - 180px);
  min-height:320px;
}
.listener-workspace-main{
  grid-template-columns:minmax(0,1fr) 205px;
}
.project-breadcrumbs{
  margin-bottom:14px;
}

/* Normal desktop/tablet: keep the listening room centered and stack side widgets. */
@media(max-width:1499px){
  .studio-center{order:1}
  .studio-right{order:2}
  .studio-left{order:3}

  .studio-right .side-chapters-widget{
    margin-bottom:0;
  }
  .studio-left{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  }
  .side-comment-box{
    grid-column:1/-1;
  }
  .side-chapters-widget .chapter-list{
    min-height:0;
    max-height:280px;
  }
  .side-members-widget .room-member-list{
    flex-direction:row;
    overflow-x:auto;
  }
  .side-members-widget .room-member-row{
    min-width:240px;
  }
  .side-share-widget .short-link-row{
    grid-template-columns:minmax(0,1fr) auto;
  }
  .side-share-widget .short-link-row .btn{
    width:auto;
  }
}

/* Wide/full-screen desktop: use the otherwise empty margins as studio side rails. */
@media(min-width:1500px){
  .studio-wide-grid{
    grid-template-columns:260px minmax(760px,1fr) 260px;
    grid-template-areas:"left center right";
    gap:14px;
    align-items:start;
  }
  .studio-left{
    grid-area:left;
    position:sticky;
    top:18px;
    align-self:start;
  }
  .studio-center{
    grid-area:center;
  }
  .studio-right{
    grid-area:right;
    position:sticky;
    top:18px;
    align-self:start;
  }
  .studio-left .card,
  .studio-left .room-members-widget,
  .studio-left .room-share-widget,
  .studio-right .chapters-widget{
    border-radius:12px;
  }
  .studio-left .comment-box{
    margin:0;
  }
  .studio-right .chapter-list{
    max-height:calc(100vh - 155px);
  }
}

@media(max-width:760px){
  .room-shell{
    width:min(100% - 20px,1600px);
  }
  .studio-left{
    grid-template-columns:1fr;
  }
  .side-comment-box{
    grid-column:auto;
  }
  .listener-workspace-main{
    grid-template-columns:1fr;
  }
}


/* v0.5.4: let chapters use full page height on wide desktop, no inner scrollbar */
@media(min-width:1500px){
  .studio-right{
    position:static;
    top:auto;
  }

  .side-chapters-widget{
    position:sticky;
    top:18px;
    align-self:start;
  }

  .side-chapters-widget .chapter-list{
    max-height:none !important;
    min-height:0;
    height:auto;
    overflow:visible !important;
    padding-right:0;
  }
}

/* Keep the normal constrained / scrollable chapter list on smaller screens */
@media(max-width:1499px){
  .side-chapters-widget .chapter-list{
    overflow-y:auto;
  }
}

/* v0.5.5 full-width room + simplified public track controls */
.room-shell{
  width:calc(100% - 28px) !important;
  max-width:none !important;
  margin-left:auto;
  margin-right:auto;
}

.room-topbar{
  padding-left:0;
  padding-right:0;
}

.room-topbar-inner{
  width:calc(100% - 28px);
  max-width:none;
  margin:0 auto;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
}

/* With the redundant public stems widget removed, give Track / Version
   the full width of the centre control area. */
.listener-workspace-main{
  grid-template-columns:1fr !important;
}

.listener-workspace-main .track-picker-card{
  width:100%;
}

.track-version-controls{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
}

/* Use more of the available browser width on wide/full-screen desktops. */
@media(min-width:1500px){
  .studio-wide-grid{
    grid-template-columns:250px minmax(0,1fr) 250px !important;
    gap:12px;
  }

  .room-shell,
  .room-topbar-inner{
    width:calc(100% - 24px) !important;
  }

  .project-breadcrumbs{
    padding-left:0;
    padding-right:0;
  }
}

/* Slightly wider side rails on very large monitors, while still
   prioritising the centre waveform/player. */
@media(min-width:1900px){
  .studio-wide-grid{
    grid-template-columns:270px minmax(0,1fr) 270px !important;
    gap:14px;
  }

  .room-shell,
  .room-topbar-inner{
    width:calc(100% - 32px) !important;
  }
}

@media(max-width:900px){
  .room-shell,
  .room-topbar-inner{
    width:calc(100% - 20px) !important;
  }

  .room-topbar-inner{
    flex-direction:column;
  }

  .track-version-controls{
    grid-template-columns:1fr;
  }
}

/* v0.6.0 Release Planner */
.release-shell{padding-bottom:60px}
.release-summary{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:14px}
.release-summary h2{margin:2px 0 5px}
.release-total-pills{display:flex;gap:8px;flex-wrap:wrap}
.release-total,.release-side-time{padding:7px 10px;border-radius:9px;background:#202837;font-size:12px}
.release-total.ok,.release-side-time.ok{border:1px solid #2f7650;color:#bce8ca}
.release-total.warn,.release-side-time.warn{border:1px solid #916f27;color:#ffdc87}
.release-total.over,.release-side-time.over{border:1px solid #8d3942;color:#ffc0c8}
.release-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:14px;align-items:start}
.release-sidebar{display:flex;flex-direction:column;gap:12px;position:sticky;top:14px}
.release-sidebar .card{margin:0}
.release-sides{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.release-side{margin:0;min-width:0}
.release-side-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px}
.release-side-head h2{margin:2px 0}
.release-dropzone{min-height:160px;padding:4px;border:1px dashed #30394a;border-radius:10px}
.release-track{display:grid;grid-template-columns:24px 30px minmax(0,1fr) auto 30px 28px 28px;gap:7px;align-items:center;padding:9px;margin:5px 0;border:1px solid #2c3545;background:#151b25;border-radius:9px}
.release-track[draggable="true"]{cursor:grab}
.release-track.dragging{opacity:.45}
.release-drag{font-size:17px;color:#707d94;cursor:grab}
.release-track-no{font-size:10px;color:#ff9360;font-weight:900}
.release-track-copy{display:flex;flex-direction:column;min-width:0}
.release-track-copy strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.release-track-copy small{color:#8995a9;font-size:10px}
.release-duration{font-variant-numeric:tabular-nums;font-size:11px;color:#bbc4d2}
.release-transition-source,.release-delete{border:0;background:transparent;color:#9faabc;cursor:pointer;font-weight:900}
.release-delete{color:#ff7474;font-size:19px}
.release-transition-panel,.release-discussion{margin-bottom:12px}
.transition-list{display:flex;flex-direction:column;gap:6px}
.transition-row{display:grid;grid-template-columns:55px minmax(0,1fr) auto;gap:9px;align-items:center;padding:8px;border:1px solid #29313f;border-radius:9px;background:#121720}
.transition-side{font-size:9px;color:#ff9563;font-weight:900}
.transition-copy{min-width:0}
.transition-copy strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.release-comment-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;margin-bottom:12px}
.release-comment{padding:11px 0;border-bottom:1px solid #29313f}
.release-comment-author{display:flex;gap:8px;align-items:center}
.release-comment-avatar{width:30px;height:30px;border-radius:50%;object-fit:cover}
.release-comment-fallback{display:flex;align-items:center;justify-content:center;background:#263148;color:#fff}
.release-comment-author small{display:block;color:#8590a4;font-size:9px}
.release-comment-body{margin:7px 0 7px 38px}
.release-comment-votes{margin-left:38px;display:flex;gap:6px}
.release-comment-votes button{border:1px solid #384356;background:#171d27;color:#aeb8c9;border-radius:999px;padding:4px 8px;cursor:pointer}
.release-comment-votes button.active{border-color:#ff7a33;color:#fff}
.release-sidebar form{display:flex;flex-direction:column;gap:8px}
.release-rule{border:0;border-top:1px solid #2b3340;margin:14px 0}
.release-legend{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}
.release-legend span{padding:4px 7px;border-radius:999px;font-size:9px}
.release-legend .ok{background:#183b28;color:#bae6c7}.release-legend .warn{background:#493a1c;color:#ffe09a}.release-legend .over{background:#4b2228;color:#ffc5ca}
.saved-sequences{display:flex;flex-direction:column;gap:7px;margin-top:10px}
.saved-sequence{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:8px;border:1px solid #29313f;border-radius:9px}
.saved-sequence small{display:block;color:#8490a4;font-size:9px;margin-top:2px}
@media(max-width:1050px){.release-layout{grid-template-columns:1fr}.release-sidebar{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.release-sidebar .card:first-child{grid-column:1/-1}}
@media(max-width:760px){.release-sides{grid-template-columns:1fr}.release-sidebar{grid-template-columns:1fr}.release-sidebar .card:first-child{grid-column:auto}.release-summary{flex-direction:column}.release-comment-form{grid-template-columns:1fr}.release-track{grid-template-columns:22px 26px minmax(0,1fr) auto 30px 26px 24px}}

/* v0.6.1 Release Timeline & Sequence Playback */
.release-timeline-card{margin-bottom:12px}
.release-timeline-title{align-items:flex-start}
.release-sequence-controls{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.release-sequence-controls .btn{padding:7px 9px;font-size:10px}
.release-timeline-side{margin-top:12px}
.release-timeline-side-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px;color:#bfc7d5;font-size:11px}
.release-timeline-canvas-wrap{position:relative;border:1px solid #29313f;border-radius:9px 9px 0 0;overflow:hidden;background:#0d1219}
.release-timeline-canvas{display:block;width:100%;height:112px;cursor:pointer}
.release-timeline-labels{display:flex;width:100%;height:30px;overflow:hidden;border:1px solid #29313f;border-top:0;border-radius:0 0 8px 8px;background:#0e141c}
.release-timeline-label{min-width:18px;overflow:hidden;border:0;border-right:1px solid rgba(255,255,255,.15);background:color-mix(in srgb,var(--release-track-color) 72%,#111722);color:#fff;padding:3px 5px;text-align:left;cursor:pointer}
.release-timeline-label strong,.release-timeline-label small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.release-timeline-label strong{font-size:9px}.release-timeline-label small{font-size:8px;opacity:.8}
.release-timeline-label.sequence-active{filter:brightness(1.35);box-shadow:inset 0 0 0 2px #fff}
.release-track.sequence-active{border-color:var(--release-track-color,#ff7a33);box-shadow:inset 3px 0 0 var(--release-track-color,#ff7a33),0 0 0 1px var(--release-track-color,#ff7a33)}
.release-sequence-now{display:flex;justify-content:space-between;gap:12px;margin-top:10px;padding:8px 10px;border-radius:8px;background:#0f151e;font-size:11px}
#sequenceTime{font-variant-numeric:tabular-nums;color:#aab4c4;white-space:nowrap}
#releaseSequenceAudio{display:none}
@media(max-width:900px){
  .release-timeline-title{flex-direction:column}
  .release-sequence-controls{justify-content:flex-start}
}
@media(max-width:600px){
  .release-sequence-controls{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .release-sequence-controls .btn{width:100%}
  .release-timeline-canvas{height:92px}
  .release-sequence-now{flex-direction:column}
}

/* v0.6.2 project hub + release direct upload */
.public-project-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}
.project-card-badges{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.project-type-badge{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;background:#243047;color:#bec8da}
.project-type-album{background:#4b2b56;color:#efc8ff}
.project-type-general{background:#24453b;color:#bce8da}
.project-card-members{margin-top:12px;padding:8px 9px;border-radius:8px;background:#10161e;color:#8e9aad;font-size:10px}
.project-card-members strong{color:#d8dfeb;margin-right:7px}
.project-card-members span{line-height:1.45}
.release-artist-line{color:#ff9865;font-size:12px;font-weight:800;margin:1px 0 7px}
.release-file-drop-hint{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:74px;margin:5px;padding:10px;border:1px dashed #3d495c;border-radius:9px;background:#10161e;color:#99a5b7;transition:.15s ease}
.release-file-drop-hint strong{color:#cbd4e1;font-size:11px}
.release-file-drop-hint small{font-size:9px;margin-top:3px}
.release-file-drop-hint .linkbtn{margin-top:4px}
.release-dropzone.file-drag-over{border-color:#ff7a33;background:rgba(255,122,51,.08)}
.release-dropzone.file-drag-over .release-file-drop-hint{border-color:#ff7a33;background:rgba(255,122,51,.13);transform:scale(.99)}
.release-va-check{display:flex!important;flex-direction:row!important;align-items:center;gap:8px}
.release-va-check input{width:auto!important;margin:0}
.admin-standard-header .top-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
@media(max-width:700px){
  .project-card-badges{justify-content:flex-start}
  .public-project-toolbar-actions{width:100%}
  .public-project-toolbar-actions .btn{flex:1}
}

/* v0.6.3 Gig / Set-List planner */
.project-type-gig{background:#4b341f;color:#ffd6a1}
.release-setlist-single{grid-template-columns:1fr!important}
.release-setlist-single .release-side{max-width:none}
.release-setlist-single .release-dropzone{min-height:220px}
.release-setlist-single .release-track{grid-template-columns:24px 34px minmax(0,1fr) auto 30px 28px 28px}

/* v0.6.4 project-type separation */
.delete-project-form{display:inline-flex;margin:0}
.btn.danger{background:#402129;border-color:#71323e;color:#ffb6c0}
.btn.danger:hover{background:#552630}

/* v0.6.5 Unified discussions */
.release-comment-box{margin:0}
.release-comment-box #releaseCommentTrack{margin:5px 0 8px}
.release-discussion .comment{cursor:default}
.static-timejump{display:flex;align-items:center;justify-content:center;opacity:.45}
.release-discussion .comment-highlight{outline:1px solid #ff7a33}
@media(min-width:1051px){.release-sidebar .release-comment-box{order:-10}}

/* v0.6.6 Unified Release / Set-List listening room */
.release-studio-grid{margin-bottom:14px}
.release-main-player{margin:0 0 14px}
.release-player-heading{align-items:flex-start}
.release-player-summary{font-size:11px;color:#98a5b8;white-space:nowrap}
.release-transport{margin-top:10px}
.release-sequence-shortcuts{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:6px 2px 0}
.release-sequence-shortcuts .linkbtn{font-size:10px}
.release-planning-tools{margin-top:14px}
.release-tools-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.75fr) minmax(260px,.75fr);gap:12px;align-items:start;margin-top:12px}
.release-tools-grid>.card{margin:0}
.release-sides-wrap .release-sides{margin-bottom:0}
.release-playlist-side-label{font-size:9px;font-weight:900;letter-spacing:.08em;color:#ff8b50;text-transform:uppercase;padding:7px 2px 2px}
.release-playlist-item{--chapter-color:#ff7a33}
.release-playlist-item.sequence-active{border-color:var(--chapter-color);box-shadow:inset 3px 0 0 var(--chapter-color),0 0 0 1px var(--chapter-color)}
.release-playlist-item.sequence-active .chapter-list-play{color:#fff}
.release-timeline-markers{position:absolute;inset:0;pointer-events:none;z-index:5}
.release-wave-comment-marker{position:absolute;transform:translateX(-50%);width:25px;height:25px;border-radius:50%;border:2px solid #ff7a33;background:#151b25;color:#fff;font-size:7px;font-weight:900;padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;pointer-events:auto;box-shadow:0 2px 7px rgba(0,0,0,.55);overflow:hidden}
.release-wave-comment-marker:after{content:"";position:absolute;left:50%;top:23px;width:1px;height:70px;background:#ff7a33;opacity:.85;pointer-events:none}
.release-wave-comment-marker img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.release-wave-comment-marker:hover{transform:translateX(-50%) scale(1.12);z-index:8}
.release-listener-left .side-comment-box{margin:0}
.release-listener-right .release-playlist-list{overflow:visible!important;max-height:none!important}
.release-listener-right .side-chapters-widget{position:sticky;top:18px}
.release-listener-left{position:sticky;top:18px;align-self:start}
.release-discussion .discussion-thread:first-child .comment{padding-top:0}
@media(max-width:1499px){
  .release-listener-left{position:static;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
  .release-listener-left .release-comment-box{grid-column:1/-1}
  .release-listener-right .side-chapters-widget{position:static}
  .release-listener-right .release-playlist-list{max-height:320px!important;overflow:auto!important}
  .release-tools-grid{grid-template-columns:1fr 1fr}
  .release-transition-panel{grid-column:1/-1}
}
@media(max-width:760px){
  .release-listener-left,.release-tools-grid{grid-template-columns:1fr}
  .release-listener-left .release-comment-box,.release-transition-panel{grid-column:auto}
  .release-player-summary{white-space:normal}
}


/* v0.7.0 public landing page + branding CMS */
.public-home{background:var(--brand-bg,#0d1118);color:var(--brand-text,#f4f6fa)}
.public-home a{color:var(--brand-primary,#ff7a33)}
.public-home .btn{background:var(--brand-primary,#ff7a33);border-color:var(--brand-primary,#ff7a33);color:#111}
.public-home .btn.secondary{background:transparent;color:var(--brand-text,#fff);border-color:#374152}
.public-wide{width:min(1480px,calc(100% - 48px));margin:0 auto}
.public-nav{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--brand-bg,#0d1118) 92%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid #252d3a}
.public-nav-inner{width:min(1480px,calc(100% - 48px));margin:0 auto;min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.public-brand{display:flex;align-items:center;gap:11px;color:var(--brand-text,#fff)!important;text-decoration:none;font-size:18px}.public-brand img{height:42px;max-width:220px;object-fit:contain}.public-brand-mark{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--brand-primary,#ff7a33);color:#111;font-weight:900}.public-nav nav{display:flex;align-items:center;gap:16px}
.public-hero{padding:86px 0 72px;background:radial-gradient(circle at 80% 15%,color-mix(in srgb,var(--brand-primary,#ff7a33) 16%,transparent),transparent 35%)}
.public-hero-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(480px,1.08fr);gap:70px;align-items:center}.public-hero-copy h1{font-size:clamp(42px,5.7vw,88px);line-height:.98;letter-spacing:-.045em;margin:10px 0 24px;max-width:900px}.public-hero-copy>p{font-size:clamp(17px,1.5vw,23px);line-height:1.6;color:var(--brand-muted,#93a0b5);max-width:760px}.public-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.public-big-btn{padding:13px 19px!important;font-size:14px!important}
.public-product-demo{border:1px solid #323c4c;border-radius:18px;background:var(--brand-surface,#171d27);box-shadow:0 30px 80px rgba(0,0,0,.35);overflow:hidden}.demo-toolbar{height:52px;border-bottom:1px solid #293342;display:flex;gap:7px;align-items:center;padding:0 15px;color:var(--brand-muted,#93a0b5);font-size:10px}.demo-toolbar span{width:9px;height:9px;border-radius:50%;background:#394459}.demo-toolbar span:first-child{background:var(--brand-primary,#ff7a33)}.demo-toolbar b{margin-left:8px}.demo-wave{height:210px;display:flex;align-items:center;gap:5px;padding:24px}.demo-wave i{display:block;flex:1;min-width:4px;border-radius:999px;background:linear-gradient(to bottom,var(--brand-primary,#ff7a33),color-mix(in srgb,var(--brand-primary,#ff7a33) 45%,#6e39d8))}.demo-chapters{height:32px;margin:0 24px;display:grid;grid-template-columns:1.1fr 1.3fr 1fr .8fr;border-radius:7px;overflow:hidden}.demo-chapters span{display:flex;align-items:center;padding:0 8px;font-size:9px;font-weight:800;background:#b64d1e}.demo-chapters span:nth-child(2){background:#6e24a9}.demo-chapters span:nth-child(3){background:#397b28}.demo-chapters span:nth-child(4){background:#27698c}.demo-comment{margin:22px 24px 26px;padding:12px;border:1px solid #334052;border-radius:10px;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;font-size:10px}.demo-comment b{color:var(--brand-primary,#ff7a33)}.demo-comment em{font-style:normal;color:#9db1cf}
.public-section{padding:78px 0}.public-section-head{max-width:760px;margin-bottom:28px}.public-section-head h2,.public-how h2,.public-signup h2{font-size:clamp(30px,3vw,50px);margin:7px 0;letter-spacing:-.025em}.public-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.public-feature{position:relative;padding:28px;border:1px solid #2d3645;border-radius:14px;background:var(--brand-surface,#171d27);min-height:250px}.public-feature-num{font-size:10px;font-weight:900;color:var(--brand-primary,#ff7a33)}.public-feature h3{font-size:20px;margin:45px 0 12px}.public-feature p,.public-how p,.public-signup p{color:var(--brand-muted,#93a0b5);line-height:1.65}
.public-how{border-top:1px solid #242c38;border-bottom:1px solid #242c38;background:color-mix(in srgb,var(--brand-surface,#171d27) 42%,var(--brand-bg,#0d1118))}.public-how-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}.public-workflow-list{display:flex;flex-direction:column;gap:10px}.public-workflow-list>div{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:17px;border:1px solid #303a49;border-radius:12px;background:var(--brand-surface,#171d27)}.public-workflow-list b{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--brand-primary,#ff7a33);color:#111}.public-workflow-list span{color:var(--brand-muted,#93a0b5);font-size:12px}.public-workflow-list strong{display:block;color:var(--brand-text,#fff);font-size:14px;margin-bottom:3px}
.public-signup-grid{display:grid;grid-template-columns:1fr minmax(420px,.78fr);gap:70px;align-items:start}.public-signup-card{background:var(--brand-surface,#171d27);border-color:#303a49}.public-footer{padding:30px 0;border-top:1px solid #252d38;color:var(--brand-muted,#93a0b5)}.public-footer>.public-wide{display:flex;justify-content:space-between;gap:20px}.public-footer div>div{display:flex;gap:12px;align-items:center}.public-footer strong{color:var(--brand-text,#fff)}.public-footer a{margin-left:15px}.public-footer-brand{display:flex;align-items:center;gap:14px}.public-footer-brand img{height:32px;max-width:170px;object-fit:contain;display:block}
.auth-brand{display:flex;align-items:center;gap:10px}.auth-brand img{max-width:150px;max-height:50px;object-fit:contain}
.branding-admin-section{margin-bottom:18px}.branding-admin-form{display:flex;flex-direction:column;gap:14px}.branding-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.branding-admin-group{padding:14px;border:1px solid #2d3544;border-radius:10px;background:#111720}.branding-admin-group.full{width:100%}.branding-admin-group h3{margin:0 0 12px}.branding-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.branding-two .span2{grid-column:1/-1}.branding-feature-edit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.branding-feature-edit-grid>div{padding:10px;border:1px solid #28313f;border-radius:8px}.branding-color-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.branding-color-grid input[type=color]{height:42px;padding:3px}.branding-current{display:flex;gap:12px;align-items:center}.branding-current img{max-width:180px;max-height:70px;object-fit:contain;background:#0b1017;border-radius:8px;padding:6px}
@media(max-width:1050px){.public-hero-grid,.public-how-grid,.public-signup-grid{grid-template-columns:1fr}.public-hero-grid{gap:40px}.public-feature-grid{grid-template-columns:repeat(2,1fr)}.branding-admin-grid{grid-template-columns:1fr}}
@media(max-width:680px){.public-wide,.public-nav-inner{width:calc(100% - 24px)}.public-nav nav a:not(.btn){display:none}.public-hero{padding:52px 0}.public-hero-copy h1{font-size:44px}.public-product-demo{border-radius:12px}.demo-wave{height:150px;padding:16px}.demo-chapters,.demo-comment{margin-left:16px;margin-right:16px}.public-section{padding:52px 0}.public-feature-grid{grid-template-columns:1fr}.public-feature{min-height:0}.branding-two,.branding-feature-edit-grid,.branding-color-grid{grid-template-columns:1fr}.branding-two .span2{grid-column:auto}.public-footer>.public-wide{flex-direction:column}.public-footer div>div{align-items:flex-start;flex-direction:column}.public-footer a{margin-left:0}.public-signup-grid{gap:25px}}

/* v0.7.2 WHAT IT DOES visual mockups */
.public-feature{display:flex;flex-direction:column;min-height:0;padding:22px}
.public-feature-num{position:absolute;top:17px;left:18px;z-index:3}
.public-feature h3{font-size:18px;margin:18px 0 9px}
.public-feature p{margin:0}
.feature-visual{height:190px;margin:18px -4px 0;border:1px solid #303a49;border-radius:11px;background:#10161f;overflow:hidden;position:relative;box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
.fv-windowbar{height:29px;border-bottom:1px solid #2c3544;display:flex;align-items:center;gap:5px;padding:0 9px;color:#8fa0b9;font-size:8px;font-weight:800}
.fv-windowbar i{width:6px;height:6px;border-radius:50%;background:#4b586d}
.fv-windowbar i:first-child{background:var(--brand-primary,#ff7a33)}
.fv-windowbar span{margin-left:5px}
.fv-windowbar b{margin-left:auto;border:1px solid #46536a;padding:2px 5px;border-radius:4px;color:#d2dae6;font-size:7px;letter-spacing:.04em}
.fv-wave{height:76px;padding:10px 10px 7px;display:flex;gap:2px;align-items:center;position:relative}
.fv-wave i{flex:1;max-width:4px;border-radius:2px;background:linear-gradient(to top,var(--brand-primary,#ff7a33),#b8519a);opacity:.95}
.fv-marker{position:absolute;top:4px;bottom:3px;width:1px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.15)}
.fv-marker:before{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:#fff;left:-3px;top:0}
.fv-marker span{position:absolute;left:5px;top:4px;background:#202938;color:#fff;font-size:7px;padding:2px 4px;border-radius:4px}
.fv-sections{height:25px;margin:0 9px;display:grid;grid-template-columns:1.05fr 1.25fr 1fr .8fr;border-radius:5px;overflow:hidden}
.fv-sections span{display:flex;align-items:center;padding-left:6px;color:#fff;font-size:7px;font-weight:800;background:#b84d1e}
.fv-sections span:nth-child(2){background:#7528b7}.fv-sections span:nth-child(3){background:#3b822b}.fv-sections span:nth-child(4){background:#28779d}
.fv-comment{margin:9px;padding:7px 8px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:6px;border:1px solid #344154;border-radius:7px;font-size:7px;color:#c9d3e2}
.fv-comment b{color:var(--brand-primary,#ff7a33)}.fv-comment em{font-style:normal;color:#9bb3d4;white-space:nowrap}

.fv-stem-row{margin:8px 9px 0;display:grid;grid-template-columns:8px 1fr auto auto;gap:6px;align-items:center;padding:8px;border:1px solid #303a49;border-radius:7px;background:#151c27}
.fv-stem-row strong{font-size:9px}.fv-stem-row small{font-size:7px;color:#8898b1}.fv-stem-row em{font-style:normal;font-size:7px;padding:2px 5px;border-radius:999px;background:#283348;color:#c7d2e2}
.stem-dot{width:7px;height:22px;border-radius:3px}.stem-dot.vocal{background:#9327dc}.stem-dot.guitar{background:#d65a2b}.stem-dot.drums{background:#35812d}
.fv-version-strip{display:flex;gap:5px;margin:10px 9px 0}
.fv-version-strip span{font-size:7px;padding:5px 6px;border:1px solid #344154;border-radius:6px;color:#91a1b8}
.fv-version-strip span.active{border-color:var(--brand-primary,#ff7a33);color:#fff;background:color-mix(in srgb,var(--brand-primary,#ff7a33) 18%,#151c27)}

.fv-album-sides{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px}
.fv-album-sides>div{border:1px solid #303a49;border-radius:7px;padding:7px;background:#141b25}
.fv-album-sides header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:8px}
.fv-album-sides header em{font-style:normal;color:#9fb2cd;font-size:7px}
.fv-album-sides span{display:block;width:var(--w);background:var(--c);color:#fff;border-radius:4px;padding:5px 6px;margin:5px 0;font-size:7px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.fv-set-list{padding:8px 9px 0}
.fv-set-list>div{display:grid;grid-template-columns:12px 18px 1fr auto;gap:5px;align-items:center;border-bottom:1px solid #293342;padding:7px 3px;font-size:8px}
.fv-set-list span{color:#65758e}.fv-set-list b{color:var(--brand-primary,#ff7a33);font-size:7px}.fv-set-list em{font-style:normal;color:#8fa0b9;font-size:7px}
.fv-set-note{margin:7px 9px;padding:6px 7px;border:1px solid #3a4659;border-radius:6px;display:flex;gap:7px;font-size:7px;color:#a7b5c9}
.fv-set-note b{color:var(--brand-primary,#ff7a33)}

.public-feature:hover{transform:translateY(-2px);border-color:#3a4659;transition:.18s ease}
.public-feature:hover .feature-visual{filter:brightness(1.05)}
@media(max-width:680px){
  .feature-visual{height:185px}
}

/* v0.7.3 Founder story + trust/security */
.founder-story-section{border-top:1px solid #242c38;border-bottom:1px solid #242c38;background:linear-gradient(120deg,rgba(255,122,51,.055),transparent 46%)}
.founder-story-grid{display:grid;grid-template-columns:330px minmax(0,1fr);gap:64px;align-items:center}
.founder-photo-wrap{display:flex;align-items:center;justify-content:center}
.founder-photo{width:min(290px,88vw);aspect-ratio:1/1;border-radius:50%;object-fit:cover;object-position:center;border:5px solid rgba(255,255,255,.07);box-shadow:0 28px 70px rgba(0,0,0,.38),0 0 0 1px rgba(255,122,51,.18)}
.founder-photo-placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#252d3b,#111721);color:var(--brand-primary,#ff7a33);font-size:78px}
.founder-story-copy{max-width:850px}
.founder-story-copy h2{font-size:clamp(30px,4vw,54px);line-height:1.04;margin:.35rem 0 1.35rem}
.founder-quote{font-size:clamp(15px,1.4vw,19px);line-height:1.75;color:var(--brand-muted,#93a0b5);font-style:italic}
.founder-quote::before{content:"“";font-size:55px;line-height:0;color:var(--brand-primary,#ff7a33);vertical-align:-18px;margin-right:5px}

.trust-security-section{padding-top:35px!important;padding-bottom:35px!important}
.trust-security-card{display:grid;grid-template-columns:82px minmax(0,1fr);gap:24px;align-items:start;padding:30px 34px;border:1px solid #303949;border-radius:18px;background:linear-gradient(135deg,var(--brand-surface,#171d27),rgba(23,29,39,.66));box-shadow:0 18px 50px rgba(0,0,0,.18)}
.trust-security-card h2{font-size:clamp(25px,3vw,38px);margin:.25rem 0 .7rem}
.trust-security-card p{max-width:1000px;color:var(--brand-muted,#93a0b5);margin:0;line-height:1.7}
.trust-shield{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--brand-primary,#ff7a33) 17%,#111721);border:1px solid color-mix(in srgb,var(--brand-primary,#ff7a33) 40%,#303949);color:var(--brand-primary,#ff7a33);font-size:24px}
.trust-note{margin-top:13px;font-size:12px;color:#c4ccd9;font-style:italic}
.founder-admin-preview{display:flex;gap:14px;align-items:center;margin-top:10px}
.founder-admin-preview img{width:105px;height:105px;border-radius:50%;object-fit:cover;border:3px solid #303949}

@media(max-width:850px){
  .founder-story-grid{grid-template-columns:1fr;gap:30px;text-align:center}
  .founder-story-copy .eyebrow{text-align:center}
  .founder-photo{width:220px}
  .trust-security-card{grid-template-columns:1fr;text-align:center}
  .trust-shield{margin:0 auto}
}

/* v0.7.4 founder rich-text fixes */
.founder-quote p{margin:0 0 1.15em}
.founder-quote p:last-child{margin-bottom:0}
.founder-quote blockquote{margin:1.1em 0;padding:0 0 0 18px;border-left:3px solid var(--brand-primary,#ff7a33)}
.founder-quote ul,.founder-quote ol{margin:.8em 0 1.1em 1.25em;padding:0}
.founder-quote a{color:var(--brand-primary,#ff7a33)}

/* v0.7.5 Founder Story visual / HTML editor */
.rich-editor{margin-top:6px}
.rich-editor-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.rich-editor-toolbar .btn.small{padding:7px 11px;font-size:12px}
.rich-editor-toolbar .btn.active{border-color:var(--brand-primary,#ff7a33);box-shadow:0 0 0 1px var(--brand-primary,#ff7a33) inset}
.rich-editor-visual,
.rich-editor-html{width:100%;min-height:250px;border:1px solid #3a4659;border-radius:9px;background:#0d121a;color:#f4f6fa;padding:14px 16px;box-sizing:border-box;line-height:1.6}
.rich-editor-visual{overflow:auto;outline:none}
.rich-editor-visual:focus,
.rich-editor-html:focus{border-color:var(--brand-primary,#ff7a33);box-shadow:0 0 0 1px var(--brand-primary,#ff7a33)}
.rich-editor-visual p{margin:0 0 1em}
.rich-editor-visual p:last-child{margin-bottom:0}
.rich-editor-visual blockquote{margin:1em 0;padding-left:14px;border-left:3px solid var(--brand-primary,#ff7a33);color:#aebbd0}
.rich-editor-visual a{color:var(--brand-primary,#ff7a33)}
.rich-editor-html{display:none;font-family:Consolas,Monaco,monospace;font-size:13px;white-space:pre-wrap}

/* v0.8.0 interactive demo + trial onboarding */
body.demo-open{overflow:hidden}
.demo-modal[hidden]{display:none}
.demo-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:20px}
.demo-modal-backdrop{position:absolute;inset:0;background:rgba(4,7,12,.82);backdrop-filter:blur(7px)}
.demo-modal-card{position:relative;z-index:1;width:min(920px,96vw);max-height:92vh;overflow:auto;background:#151c27;border:1px solid #374255;border-radius:18px;padding:28px;box-shadow:0 35px 120px rgba(0,0,0,.58)}
.demo-modal-card h2{font-size:clamp(27px,4vw,44px);margin:.25em 0 .25em}
.demo-close{position:absolute;right:14px;top:12px;border:0;background:#273143;color:#fff;width:34px;height:34px;border-radius:50%;font-size:24px;cursor:pointer}
.interactive-demo-wave{height:180px;background:#0d121a;border:1px solid #303b4c;border-radius:12px;position:relative;overflow:hidden;margin:22px 0 10px;cursor:pointer}
.interactive-demo-bars{position:absolute;inset:16px;display:flex;align-items:center;gap:4px}
.interactive-demo-bars i{flex:1;max-width:16px;background:#707d91;border-radius:3px;opacity:.88}
.interactive-demo-played{position:absolute;inset:0 auto 0 0;width:0;background:rgba(255,122,51,.13);border-right:2px solid #ff7a33;z-index:1;pointer-events:none}
.interactive-demo-head{position:absolute;top:0;bottom:0;width:2px;background:#ff7a33;left:0;z-index:3;pointer-events:none}
.demo-transport{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:16px}.demo-transport strong{margin-left:auto}
.demo-live-comment{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid #334054;border-radius:10px;padding:10px 12px;margin:8px 0;background:#111821}
.demo-time-jump{background:#273143;border:0;color:#ff9257;font-weight:900;border-radius:8px;padding:8px;cursor:pointer}
.demo-live-comment span{font-size:12px}.demo-live-comment span strong{font-size:13px}
.demo-voted{border-color:#42a86b!important;color:#baf1ca!important}
.demo-add-row{display:grid;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid #2e3949}.demo-add-row textarea{width:100%;box-sizing:border-box}
.demo-convert{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px;padding:14px;border-radius:10px;background:rgba(255,122,51,.09);border:1px solid rgba(255,122,51,.28)}.demo-convert span{color:#aeb9ca}.demo-convert .btn{margin-left:auto}
@media(max-width:650px){.demo-live-comment{grid-template-columns:auto 1fr}.demo-live-comment .btn{grid-column:1/-1}.demo-transport strong{width:100%;margin-left:0}}

/* v0.8.1 live demo sandbox */
.demo-hub{padding-top:72px;padding-bottom:90px}
.demo-hub-hero{max-width:900px;margin:0 auto 42px;text-align:center}
.demo-hub-hero h1{font-size:clamp(42px,6vw,78px);line-height:1;margin:8px 0 20px}
.demo-hub-hero>p{font-size:18px;line-height:1.7;color:var(--brand-muted,#93a0b5)}
.demo-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.demo-choice-grid article{border:1px solid #303b4c;background:var(--brand-surface,#171d27);border-radius:16px;padding:26px;min-height:235px}
.demo-choice-grid article h2{font-size:27px;margin:.35em 0 .55em}
.demo-choice-grid article p{color:var(--brand-muted,#93a0b5);line-height:1.65}
.demo-choice-grid article .btn{margin-top:10px}
.demo-session-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}
.demo-session-head h1{font-size:clamp(34px,4vw,58px);margin:5px 0}
.demo-session-clock{border:1px solid #364155;border-radius:14px;padding:13px 18px;min-width:190px;text-align:right;background:#111821}
.demo-session-clock span{display:block;color:var(--brand-muted,#93a0b5);font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.demo-session-clock strong{font-size:28px;color:var(--brand-primary,#ff7a33)}
.demo-hub-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px;justify-content:center}
.demo-sandbox-bar{position:sticky;top:0;z-index:1000;min-height:52px;padding:8px 14px;background:#24190f;border-bottom:1px solid #7a4927;display:flex;align-items:center;justify-content:space-between;gap:16px;color:#fff}
.demo-sandbox-bar>div:first-child{display:flex;flex-direction:column;gap:2px}.demo-sandbox-bar>div:first-child strong{font-size:12px;color:#ff9a61;letter-spacing:.08em}.demo-sandbox-bar>div:first-child span{font-size:11px;color:#d8c7ba}
.demo-sandbox-actions{display:flex;align-items:center;gap:12px;white-space:nowrap}.demo-sandbox-actions a{color:#ff9a61}.demo-sandbox-actions .btn{color:#111}
.demo-countdown{font-size:20px;color:#fff}
@media(max-width:900px){.demo-choice-grid{grid-template-columns:1fr}.demo-session-head{align-items:flex-start;flex-direction:column}.demo-session-clock{text-align:left}.demo-sandbox-bar{position:relative;align-items:flex-start;flex-direction:column}.demo-sandbox-actions{flex-wrap:wrap}}

/* v0.8.2 Site Admin tabs */
.site-admin-tabs{
  position:sticky;top:0;z-index:40;
  display:flex;gap:7px;align-items:center;
  margin:0 0 18px;padding:8px;
  border:1px solid #2d3645;border-radius:13px;
  background:rgba(13,17,24,.94);
  backdrop-filter:blur(12px);
  box-shadow:0 8px 26px rgba(0,0,0,.18);
}
.site-admin-tab{
  appearance:none;border:1px solid transparent;background:transparent;color:#9eacc1;
  border-radius:9px;padding:10px 14px;cursor:pointer;font:inherit;font-weight:800;
  display:flex;align-items:center;gap:8px;white-space:nowrap;
}
.site-admin-tab:hover{background:#171e29;color:#fff}
.site-admin-tab.active{
  color:#111;background:var(--brand-primary,#ff7a33);border-color:var(--brand-primary,#ff7a33)
}
.site-admin-tab b{
  min-width:22px;height:20px;padding:0 6px;border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;
  background:#273143;color:#cbd5e4;font-size:10px
}
.site-admin-tab.active b{background:rgba(0,0,0,.18);color:#111}
.site-admin-tab-panel[hidden]{display:none!important}.site-admin-tab-panel{min-width:0}
.site-admin-tab-panel>.admin-section:first-child{margin-top:0}
@media(max-width:780px){
  .site-admin-tabs{overflow-x:auto;justify-content:flex-start;scrollbar-width:none}
  .site-admin-tabs::-webkit-scrollbar{display:none}
  .site-admin-tab{padding:9px 11px}
}

/* v0.8.3 demo countdown consistency */
.demo-sandbox-bar{
  width:100%;
  box-sizing:border-box;
}
body > .demo-sandbox-bar{
  position:sticky;
  top:0;
  z-index:5000;
}
.demo-sandbox-actions .demo-countdown{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:52px;
  font-variant-numeric:tabular-nums;
}

/* v0.8.5 demo expiry conversion */
.demo-expired-notice{
  max-width:900px;
  margin:0 auto 22px;
  padding:15px 18px;
  border:1px solid rgba(255,122,51,.42);
  border-radius:12px;
  background:rgba(255,122,51,.10);
  display:flex;
  gap:8px;
  flex-direction:column;
}
.demo-expired-notice strong{color:#fff;font-size:17px}
.demo-expired-notice span{color:var(--brand-muted,#aeb9ca);line-height:1.5}

/* v0.9.0 pricing + plan controls */
.public-pricing{padding:80px 0;border-top:1px solid #283140}
.public-pricing>div>h2{font-size:clamp(34px,4vw,54px);max-width:780px;margin:8px 0 8px}
.public-section-intro{color:var(--brand-muted);font-size:17px;max-width:760px}
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px;align-items:stretch}
.pricing-card{position:relative;background:var(--brand-surface);border:1px solid #303a4a;border-radius:16px;padding:25px;display:flex;flex-direction:column}
.pricing-card.featured{border-color:var(--brand-primary);box-shadow:0 0 0 1px var(--brand-primary)}
.pricing-popular{position:absolute;top:-11px;right:16px;background:var(--brand-primary);color:#111;font-weight:900;font-size:10px;letter-spacing:.08em;padding:6px 9px;border-radius:999px}
.pricing-card h3{font-size:27px;margin:7px 0}.pricing-card>p{color:var(--brand-muted);line-height:1.55;min-height:50px}
.pricing-price{display:flex;align-items:baseline;gap:5px;margin:15px 0 3px}.pricing-price strong{font-size:40px}.pricing-price span,.pricing-price small{color:var(--brand-muted)}
.pricing-annual{font-size:12px;color:var(--brand-muted);margin-bottom:12px}.pricing-card ul{padding-left:20px;line-height:1.7;flex:1}
.pricing-limits{display:flex;gap:6px;flex-wrap:wrap;margin:15px 0}.pricing-limits span{background:#101620;border:1px solid #2b3544;border-radius:999px;padding:5px 8px;font-size:10px;color:#b7c2d2}
.plan-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.plan-admin-card{border:1px solid #303a4a;border-radius:14px;padding:16px;background:#111721}
.plan-admin-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.plan-admin-head h3{margin:2px 0 12px;font-size:23px}
.plan-switch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0 16px}.plan-switch-grid label{display:flex;gap:8px;align-items:center;border:1px solid #2c3544;border-radius:9px;padding:9px}
.new-plan-details{margin-top:16px}.new-plan-details summary{cursor:pointer;color:var(--brand-primary);font-weight:800}.new-plan-card{margin-top:12px}
.user-plan-select{min-width:150px}
.plan-status-strip{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 13px;margin-bottom:14px;border:1px solid #303a4a;border-radius:10px;background:#121923}
.plan-status-strip strong{color:var(--brand-primary)}.plan-status-strip span{color:var(--brand-muted);font-size:12px}

.feature-access-card{margin:0 0 18px;padding:20px;background:linear-gradient(180deg,rgba(255,122,51,.06),rgba(255,122,51,0) 45%),#111721;border:1px solid #303a4a;border-radius:18px}
.feature-access-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:14px}
.feature-access-head h3{margin:4px 0 10px;font-size:29px}
.feature-access-stats{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.feature-access-stat{min-width:180px;padding:12px 14px;border:1px solid #2f3948;border-radius:12px;background:#0f1620;display:flex;flex-direction:column;gap:5px}
.feature-access-stat span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-muted)}
.feature-access-stat strong{font-size:16px;color:#fff}
.feature-access-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}
.feature-mode-card{position:relative;display:flex;gap:12px;align-items:flex-start;padding:15px;border:1px solid #2c3544;border-radius:14px;background:#131a24;cursor:pointer;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}
.feature-mode-card:hover{border-color:#425066;transform:translateY(-1px)}
.feature-mode-card input{position:absolute;opacity:0;pointer-events:none}
.feature-mode-check{width:18px;height:18px;border-radius:999px;border:2px solid #5c6779;flex:0 0 18px;margin-top:2px;box-shadow:inset 0 0 0 3px #131a24;background:#131a24}
.feature-mode-card.is-selected,.feature-mode-card:has(input:checked){border-color:rgba(255,122,51,.78);box-shadow:0 0 0 1px rgba(255,122,51,.34),0 14px 34px rgba(0,0,0,.18)}
.feature-mode-card.is-selected .feature-mode-check,.feature-mode-card:has(input:checked) .feature-mode-check{border-color:var(--brand-primary);background:radial-gradient(circle at center,var(--brand-primary) 0 45%,#131a24 48% 100%)}
.feature-mode-copy{display:flex;flex-direction:column;gap:6px}
.feature-mode-copy strong{font-size:18px;line-height:1.25}
.feature-mode-copy small{color:var(--brand-muted);line-height:1.45}
.feature-access-note{margin:0 0 14px;padding:13px 15px;border-radius:12px;border:1px solid rgba(255,122,51,.22);background:rgba(255,122,51,.08);color:#ffe0cf;line-height:1.5}
.feature-access-plans{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.feature-plan-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;border:1px solid #344052;background:#0f1620;color:#d7e0ec;font-size:12px;font-weight:700}
.feature-plan-pill.empty{opacity:.82;font-weight:600}
.feature-access-actions{display:flex;justify-content:flex-start}
.release-trim-warning{margin:0 0 14px;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,122,51,.22);background:rgba(255,122,51,.08);color:#ffd7c2;font-size:13px;line-height:1.45}
@media(max-width:1100px){.feature-access-mode-grid{grid-template-columns:1fr}.feature-access-head{flex-direction:column}.feature-access-stats{justify-content:flex-start}.feature-access-stat{min-width:0;flex:1 1 180px}}
@media(max-width:950px){.pricing-grid,.plan-admin-grid{grid-template-columns:1fr}.plan-switch-grid{grid-template-columns:1fr}}

.user-plan-field{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--brand-muted)}
.user-plan-field select{min-width:160px}

/* v0.9.3 plan teasers + free-project archival */
.tooling-teaser{display:flex;align-items:stretch;gap:14px;margin:0 0 18px;padding:14px;border:1px solid #2c3544;border-radius:14px;background:#111721}
.tooling-teaser-intro{min-width:220px;display:flex;flex-direction:column;gap:4px;justify-content:center}
.tooling-teaser-intro span{font-size:12px;color:var(--brand-muted)}
.tooling-teaser-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;flex:1}
.tooling-chip{display:flex;justify-content:space-between;align-items:center;gap:9px;padding:12px;border:1px solid #303a4a;border-radius:10px;text-decoration:none;color:#fff;background:#151c27}
.tooling-chip b{font-size:10px;border-radius:999px;padding:5px 8px;background:#263143;color:#cbd5e4;white-space:nowrap}
.tooling-chip.locked{border-style:dashed;opacity:.88}.tooling-chip.locked b{background:rgba(255,122,51,.14);color:var(--brand-primary)}
.tooling-chip.available{border-color:#3a4658}.tooling-chip.available b{color:#7fe0b3;background:rgba(41,184,125,.12)}
.project-type-teasers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 16px}
.project-type-teaser{position:relative;display:flex;flex-direction:column;gap:5px;padding:13px 14px;border:1px solid #303a4a;border-radius:11px;text-decoration:none;color:#fff;background:#121923}
.project-type-teaser span{font-size:11px;color:var(--brand-muted);line-height:1.45;padding-right:90px}
.project-type-teaser b{position:absolute;right:10px;top:10px;font-size:9px;text-transform:uppercase;border-radius:999px;padding:5px 7px;background:#273143;color:#cbd5e4}
.project-type-teaser.locked{border-style:dashed}.project-type-teaser.locked b{background:rgba(255,122,51,.14);color:var(--brand-primary)}
.project-type-teaser.available b{background:rgba(41,184,125,.12);color:#7fe0b3}
.project-archived-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 7px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;background:rgba(255,177,66,.13);color:#ffc56d;border:1px solid rgba(255,177,66,.28)}
.archived-project-card,.archived-project-row{opacity:.78}
.archived-project-card .project-card-main{cursor:default}
.archived-project-card{border-style:dashed}
.row-badges{display:flex;align-items:center;gap:6px}
@media(max-width:950px){
  .tooling-teaser{flex-direction:column}
  .tooling-teaser-items,.project-type-teasers{grid-template-columns:1fr}
}

/* v0.9.4 locked-tool Pro previews */
.pro-preview-bar{background:linear-gradient(90deg,#27180c,#201229);border-bottom-color:rgba(255,122,51,.55)}
.pro-preview-bar strong:first-child{color:#ff9a58}
.tooling-chip.locked:hover,.project-type-teaser.locked:hover{border-color:var(--brand-primary);transform:translateY(-1px)}
.tooling-chip,.project-type-teaser{transition:border-color .15s ease,transform .15s ease,background .15s ease}

/* v0.9.5 pricing CTA states */
.pricing-disabled{display:block;text-align:center;opacity:.62;cursor:not-allowed;background:#2b3442!important;color:#c6cfdb!important}

/* v0.10.0 billing */
.billing-review h2{font-size:32px;margin:6px 0 12px}.billing-line{display:flex;justify-content:space-between;gap:20px;padding:15px;border:1px solid #303a4a;border-radius:10px;margin:16px 0}
.billing-line strong{font-size:22px}.billing-history>div{display:grid;grid-template-columns:160px 1fr 110px;gap:12px;padding:10px 0;border-bottom:1px solid #27303d}.billing-history em{text-transform:uppercase;font-style:normal;font-size:10px}
.billing-endpoints{margin-top:12px;padding:12px;border:1px solid #303a4a;border-radius:10px;background:#101620;font-family:monospace;font-size:11px;line-height:1.7}
.email-template-card textarea{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.5}
.warning{padding:12px 14px;border:1px solid #8b611f;background:#2b2110;border-radius:10px;color:#ffd48b;margin:12px 0}

/* v0.10.2 selected plan signup context */
.signup-plan-choice{margin:18px 0 8px;padding:13px 15px;border:1px solid #344052;border-radius:12px;background:#141b26;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center}
.signup-plan-choice span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#8fa4c3}
.signup-plan-choice strong{font-size:15px}.signup-plan-choice em{font-style:normal;color:var(--brand-primary);font-weight:800}

/* v0.10.3 SMTP settings */
.smtp-test-actions{display:flex;gap:10px;align-items:center;margin-top:12px}

/* v0.10.6 billing gate */
.billing-gate-notice{margin-bottom:16px}

/* v0.10.7 Site Admin platform overview */
.platform-dashboard{margin-bottom:16px;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--card)}
.platform-dashboard-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}
.platform-dashboard-head h2{margin:3px 0 0}
.platform-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.platform-stat{border:1px solid var(--line);border-radius:12px;background:var(--panel,#111823);padding:14px;min-width:0}
.platform-stat span,.platform-stat small{display:block;color:var(--muted)}
.platform-stat span{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800}
.platform-stat strong{display:block;font-size:1.7rem;margin:4px 0;line-height:1.1}
.platform-stat small{font-size:.78rem;line-height:1.35}
@media(max-width:900px){.platform-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.platform-stat-grid{grid-template-columns:1fr}.platform-dashboard-head{align-items:flex-start;flex-direction:column}}

/* v0.10.8 Site Admin moderation controls */
.btn.danger{background:#542229;border-color:#7d3039;color:#ffd9dd}
.btn.danger:hover{background:#6a2832}
.admin-project-list{display:flex;flex-direction:column;gap:8px}
.admin-project-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--panel,#101721)}
.admin-project-actions{display:flex;align-items:center;gap:8px}
.admin-project-actions form{margin:0}
.inline-admin-delete{display:inline;margin:0}
.link-danger{border:0;background:transparent;color:#ff777f;cursor:pointer;padding:2px 4px;font:inherit}
.link-danger:hover{text-decoration:underline}
@media(max-width:700px){
  .admin-project-row{align-items:flex-start;flex-direction:column}
  .admin-project-actions{width:100%;flex-wrap:wrap}
}

/* v0.11.0 Object Storage admin */
.storage-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}
.storage-stat{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel,#101721)}
.storage-stat span{display:block;color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800}
.storage-stat strong{display:block;margin-top:5px;font-size:1.05rem;overflow-wrap:anywhere}
.storage-callout{margin:14px 0;padding:13px 15px;border:1px solid var(--line);border-radius:10px;background:rgba(255,122,45,.06);line-height:1.55}
.storage-callout code{font-size:.9em}
.storage-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
@media(max-width:900px){.storage-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.storage-status-grid{grid-template-columns:1fr}}

/* v0.11.2 storage lifecycle + reporting */
.storage-migrated-ok{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border:1px solid #256d4a;border-radius:12px;background:rgba(31,133,84,.12);margin:14px 0}.storage-migrated-ok strong{color:#bff4d8}
.storage-report-table-wrap{overflow:auto;margin-top:14px}.storage-report-table{width:100%;border-collapse:collapse;min-width:720px}.storage-report-table th,.storage-report-table td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.storage-report-table th{font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.storage-report-table td small{display:block;color:var(--muted);margin-top:2px}.storage-meter,.account-storage-meter{height:7px;background:#0b1119;border:1px solid var(--line);border-radius:999px;overflow:hidden;margin-top:7px}.storage-meter i,.account-storage-meter i{display:block;height:100%;background:var(--primary,#ff7a2d);border-radius:999px}.storage-health{padding:7px 10px;border-radius:999px;font-size:.78rem;font-weight:800}.storage-health.good{background:rgba(31,133,84,.14);color:#bff4d8}.storage-health.bad{background:rgba(170,50,50,.18);color:#ffc3c3}.account-storage-strip{display:grid;grid-template-columns:auto minmax(160px,1fr) auto;align-items:center;gap:14px;padding:13px 16px;border:1px solid var(--line);border-radius:12px;background:var(--panel,#111823);margin-bottom:16px}.account-storage-strip span{color:var(--muted)}.account-storage-meter{margin:0}@media(max-width:760px){.account-storage-strip{grid-template-columns:1fr}.account-storage-meter{width:100%}}

/* v0.11.4 monthly/yearly pricing selector */
.pricing-cycle-switch{display:flex;justify-content:center;gap:6px;margin:20px 0 26px}
.pricing-cycle-btn{appearance:none;border:1px solid #334155;background:#111827;color:#cbd5e1;padding:10px 18px;border-radius:999px;font-weight:800;cursor:pointer}
.pricing-cycle-btn.active{background:var(--brand,#ff7a33);border-color:var(--brand,#ff7a33);color:#0b0f16}
.pricing-cycle-btn span{font-size:.72em;margin-left:5px;opacity:.85}
.pricing-annual{min-height:24px}
.pricing-annual .annual-yearly-copy{font-weight:700;color:#a7f3d0}
@media(max-width:700px){.pricing-cycle-switch{justify-content:flex-start}}

/* v0.11.5 shared Bandroom application header */
.bandroom-global-header{
  display:block;
  padding:0;
  min-height:92px;
}
.bandroom-header-inner{
  width:min(1200px,94%);
  margin:0 auto;
  min-height:92px;
  padding:16px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.bandroom-header-inner-wide{
  width:calc(100% - 28px);
  max-width:none;
}
.bandroom-header-left{
  display:flex;
  align-items:center;
  gap:24px;
  min-width:0;
}
.bandroom-header-logo{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  width:190px;
  text-decoration:none;
}
.bandroom-header-logo img{
  display:block;
  width:100%;
  height:auto;
  max-height:62px;
  object-fit:contain;
  object-position:left center;
}
.bandroom-header-context{
  min-width:0;
  padding-left:24px;
  border-left:1px solid #303746;
}
.bandroom-header-context h1{
  margin:4px 0 2px;
  font-size:clamp(22px,2vw,30px);
  line-height:1.08;
}
.bandroom-header-actions{
  justify-content:flex-end;
  row-gap:7px;
}
.bandroom-header-actions .btn{
  color:#101319;
}
.bandroom-header-user{
  color:#dbe2ee;
  font-weight:700;
}
@media(min-width:1500px){
  .bandroom-header-inner-wide{width:calc(100% - 24px)}
}
@media(min-width:1900px){
  .bandroom-header-inner-wide{width:calc(100% - 32px)}
}
@media(max-width:1050px){
  .bandroom-header-inner{
    align-items:flex-start;
    flex-direction:column;
    gap:12px;
  }
  .bandroom-header-actions{
    width:100%;
    justify-content:flex-start;
  }
}
@media(max-width:700px){
  .bandroom-global-header{position:static}
  .bandroom-header-inner,
  .bandroom-header-inner-wide{
    width:calc(100% - 28px) !important;
    min-height:0;
    padding:14px 0;
  }
  .bandroom-header-left{
    width:100%;
    align-items:flex-start;
    flex-direction:column;
    gap:12px;
  }
  .bandroom-header-logo{width:160px}
  .bandroom-header-context{
    width:100%;
    padding-left:0;
    border-left:0;
  }
  .bandroom-header-actions{
    flex-direction:row;
    align-items:center;
    gap:10px 14px;
  }
}


/* v0.11.5 — waveform running-order drag/drop */
.release-timeline-canvas-wrap{position:relative}
.release-wave-drag-layer{position:absolute;inset:0;z-index:3;pointer-events:auto}
.release-wave-drag-hit{position:absolute;top:0;bottom:0;background:transparent;border:0;outline:0;cursor:grab;touch-action:pan-y}
.release-wave-drag-hit:active,.release-wave-reordering .release-wave-drag-hit{cursor:grabbing}
.release-wave-drag-hit:hover{background:rgba(255,122,51,.055);box-shadow:inset 0 0 0 1px rgba(255,122,51,.24)}
.release-wave-drag-hit:focus-visible{box-shadow:inset 0 0 0 2px #ff7a33}
.release-wave-drag-hit.wave-drag-source,.release-timeline-label.wave-drag-source{opacity:.52}
.release-wave-drag-hit.wave-drop-before:before,
.release-wave-drag-hit.wave-drop-after:after,
.release-timeline-label.wave-drop-before:before,
.release-timeline-label.wave-drop-after:after{content:"";position:absolute;top:0;bottom:0;width:4px;background:#ff7a33;z-index:9;box-shadow:0 0 0 1px rgba(0,0,0,.35),0 0 10px rgba(255,122,51,.55)}
.release-wave-drag-hit.wave-drop-before:before,.release-timeline-label.wave-drop-before:before{left:-2px}
.release-wave-drag-hit.wave-drop-after:after,.release-timeline-label.wave-drop-after:after{right:-2px}
.release-timeline-label{position:relative}
.release-timeline-label[draggable="true"]{cursor:grab}
.release-timeline-label[draggable="true"]:active{cursor:grabbing}
.release-wave-drag-layer.is-empty.wave-drop-empty{background:rgba(255,122,51,.08);box-shadow:inset 0 0 0 2px #ff7a33}
.release-wave-reordering .release-timeline-canvas-wrap{box-shadow:inset 0 0 0 1px rgba(255,122,51,.16)}
@media (hover:none),(pointer:coarse){.release-wave-drag-hit:hover{background:transparent;box-shadow:none}}

/* v0.11.7 — dedicated waveform drag handles keep the waveform itself seekable */
.release-wave-drag-hit{cursor:pointer}
.release-wave-drag-hit:active{cursor:pointer}
.release-wave-reordering .release-wave-drag-hit{cursor:default}
.release-wave-drag-handle,
.release-timeline-drag-handle{
  position:absolute;
  z-index:12;
  display:flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:7px;
  background:rgba(12,16,23,.86);
  color:#eef3fb;
  font-size:13px;
  font-weight:900;
  line-height:1;
  letter-spacing:-3px;
  cursor:grab;
  user-select:none;
  -webkit-user-select:none;
  box-shadow:0 2px 7px rgba(0,0,0,.35);
  opacity:.72;
  transition:opacity .12s ease,background .12s ease,border-color .12s ease,transform .12s ease;
}
.release-wave-drag-handle{top:7px;left:7px}
.release-timeline-drag-handle{top:50%;left:4px;transform:translateY(-50%) scale(.88);width:20px;height:20px;font-size:11px;border-radius:6px}
.release-wave-drag-handle:hover,
.release-wave-drag-handle:focus-visible,
.release-timeline-drag-handle:hover,
.release-timeline-drag-handle:focus-visible{
  opacity:1;
  background:rgba(255,122,51,.18);
  border-color:#ff7a33;
  outline:none;
}
.release-wave-drag-handle:active,
.release-timeline-drag-handle:active{cursor:grabbing}
.release-wave-drag-handle::after,
.release-timeline-drag-handle::after{
  content:attr(data-tooltip);
  position:absolute;
  left:50%;
  bottom:calc(100% + 7px);
  transform:translateX(-50%);
  padding:5px 7px;
  border-radius:6px;
  background:#080b10;
  border:1px solid #364153;
  color:#fff;
  font-size:10px;
  font-weight:700;
  line-height:1.2;
  letter-spacing:0;
  white-space:nowrap;
  pointer-events:none;
  opacity:0;
  visibility:hidden;
  transition:opacity .12s ease,visibility .12s ease;
  box-shadow:0 5px 14px rgba(0,0,0,.4);
}
.release-wave-drag-handle:hover::after,
.release-wave-drag-handle:focus-visible::after,
.release-timeline-drag-handle:hover::after,
.release-timeline-drag-handle:focus-visible::after{opacity:1;visibility:visible}
.release-timeline-label{position:relative;cursor:pointer!important;padding-left:28px}
.release-timeline-label:active{cursor:pointer!important}
.release-wave-drag-hit:hover{background:rgba(255,122,51,.035);box-shadow:inset 0 0 0 1px rgba(255,122,51,.15)}
.release-wave-drag-hit.wave-drag-source .release-wave-drag-handle,
.release-timeline-label.wave-drag-source .release-timeline-drag-handle{cursor:grabbing}
@media (hover:none),(pointer:coarse){
  .release-wave-drag-handle,.release-timeline-drag-handle{opacity:.9}
  .release-wave-drag-handle::after,.release-timeline-drag-handle::after{display:none}
}

/* v0.11.8 — release/set-list audio trim editor */
.release-trim-modal[hidden]{display:none!important}
.release-trim-modal{position:fixed;inset:0;z-index:10020;display:grid;place-items:center;padding:18px}
.release-trim-backdrop{position:absolute;inset:0;background:rgba(4,7,12,.86);backdrop-filter:blur(7px)}
.release-trim-card{position:relative;z-index:1;width:min(980px,96vw);max-height:92vh;overflow:auto;background:#141b25;border:1px solid #354052;border-radius:18px;padding:24px;box-shadow:0 32px 110px rgba(0,0,0,.62)}
.release-trim-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}
.release-trim-head h2{margin:.15em 0 .25em}
.release-trim-x{border:0;background:transparent;color:#fff;font-size:32px;line-height:1;cursor:pointer;padding:4px 8px}
.release-trim-wave-wrap{position:relative;height:210px;border:1px solid #303b4c;border-radius:13px;overflow:hidden;background:#0c1118;touch-action:pan-y;user-select:none}
.release-trim-wave-wrap canvas{display:block;width:100%;height:100%}
.release-trim-shade{position:absolute;top:0;bottom:0;background:rgba(0,0,0,.64);pointer-events:none}
.release-trim-shade-start{left:0}
.release-trim-handle{position:absolute;top:0;bottom:0;width:28px;margin-left:-14px;border:0;background:transparent;cursor:ew-resize;z-index:4;padding:0;touch-action:none}
.release-trim-handle::before{content:"";position:absolute;left:13px;top:0;bottom:0;width:2px;background:#ff7a33;box-shadow:0 0 0 1px rgba(0,0,0,.25)}
.release-trim-handle span{position:absolute;top:9px;left:2px;width:24px;height:28px;border-radius:7px;background:#ff7a33;border:2px solid #111923;box-shadow:0 4px 16px rgba(0,0,0,.35)}
.release-trim-start span::after,.release-trim-end span::after{content:"⋮";display:block;color:#111923;font-weight:900;font-size:18px;line-height:22px;text-align:center}
.release-trim-values{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:12px;margin:16px 0}
.release-trim-values label,.release-trim-values>div{display:flex;flex-direction:column;gap:6px;color:var(--muted,#9da8b8);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.release-trim-values input{font-size:18px;color:#fff;background:#0f151e;border:1px solid #303b4c;border-radius:9px;padding:10px 12px}
.release-trim-values strong{font-size:20px;color:#fff;text-transform:none;letter-spacing:0;padding-top:8px}
.release-trim-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:15px}
body.release-trim-open{overflow:hidden}
.release-wave-drag-hit{cursor:crosshair}
.release-wave-drag-handle{cursor:grab}
.release-wave-drag-handle:active{cursor:grabbing}
@media(max-width:720px){
  .release-trim-card{padding:16px}
  .release-trim-wave-wrap{height:160px}
  .release-trim-values{grid-template-columns:1fr 1fr}
  .release-trim-values>div{grid-column:1/-1}
  .release-trim-actions .btn{flex:1 1 46%}
}


/* v0.13.0 project revision / sharing UI */
.project-version-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px}.project-version-badge{display:inline-flex;align-items:center;padding:5px 9px;border:1px solid #3c4658;border-radius:999px;background:#111923;font-size:12px;font-weight:800;letter-spacing:.02em;color:#f4f7fb}.room-version-shell{padding-top:10px;padding-bottom:0}.version-meta-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.version-download-link,.release-download-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:800;color:#ff8a45}.version-download-link:hover,.release-download-link:hover{text-decoration:underline}.release-download-link{width:30px;height:30px;border:1px solid #3a4556;border-radius:8px;background:#101722;font-size:18px;flex:0 0 auto}.release-version-meta{opacity:.76}.release-track-copy .release-version-meta{font-size:10px;margin-top:2px}.release-download-setting{display:flex!important;align-items:flex-start;gap:10px;padding:12px;border:1px solid #303a4a;border-radius:10px;background:#101722}.release-download-setting input{width:auto!important;margin-top:3px}.release-download-setting span{display:flex;flex-direction:column;gap:3px}.release-download-setting small{color:#98a6bb;font-weight:400}.release-timeline-label{position:relative}.release-segment-download{position:absolute;right:4px;top:4px;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:6px;background:rgba(8,12,18,.74);border:1px solid rgba(255,255,255,.2);font-size:13px;z-index:4;cursor:pointer}.release-segment-download:hover{background:#ff7a33;color:#081019}.project-sharing-card .project-download-form{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.project-sharing-card .inline-check{margin:0}.release-track{min-width:0}.release-track-copy{min-width:0}
@media(max-width:720px){.release-version-meta{display:none}.release-download-link{width:34px;height:34px}.project-sharing-card .project-download-form{align-items:stretch;flex-direction:column}}



/* v0.13.9 — explicit waveform Trim / Edit buttons */
.release-wave-edit-handle,
.release-segment-edit{
  position:absolute;
  z-index:13;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.22);
  border-radius:7px;
  background:rgba(12,16,23,.88);
  color:#f5f7fb;
  font-weight:900;
  line-height:1;
  cursor:pointer;
  user-select:none;
  -webkit-user-select:none;
  box-shadow:0 2px 7px rgba(0,0,0,.35);
  transition:background .12s ease,border-color .12s ease,color .12s ease,opacity .12s ease;
}
.release-wave-edit-handle{
  top:7px;
  right:7px;
  width:24px;
  height:24px;
  font-size:15px;
  opacity:.78;
}
.release-wave-edit-handle:hover,
.release-wave-edit-handle:focus-visible,
.release-segment-edit:hover,
.release-segment-edit:focus-visible{
  opacity:1;
  background:#ff7a33;
  color:#081019;
  border-color:#ff7a33;
  outline:none;
}
.release-wave-edit-handle::after,
.release-segment-edit::after{
  content:attr(data-tooltip);
  position:absolute;
  left:50%;
  bottom:calc(100% + 7px);
  transform:translateX(-50%);
  padding:5px 7px;
  border-radius:6px;
  background:#080b10;
  border:1px solid #364153;
  color:#fff;
  font-size:10px;
  font-weight:700;
  line-height:1.2;
  white-space:nowrap;
  pointer-events:none;
  opacity:0;
  visibility:hidden;
  transition:opacity .12s ease,visibility .12s ease;
  box-shadow:0 5px 14px rgba(0,0,0,.4);
}
.release-wave-edit-handle:hover::after,
.release-wave-edit-handle:focus-visible::after,
.release-segment-edit:hover::after,
.release-segment-edit:focus-visible::after{
  opacity:1;
  visibility:visible;
}
.release-segment-edit{
  right:28px;
  top:4px;
  width:20px;
  height:20px;
  font-size:12px;
}
.release-timeline-label:has(.release-segment-edit) .release-segment-download{right:4px}
.release-timeline-label:has(.release-segment-edit):has(.release-segment-download) strong,
.release-timeline-label:has(.release-segment-edit):has(.release-segment-download) small{padding-right:48px}
.release-timeline-label:has(.release-segment-edit):not(:has(.release-segment-download)) strong,
.release-timeline-label:has(.release-segment-edit):not(:has(.release-segment-download)) small{padding-right:26px}

@media (hover:none),(pointer:coarse){
  .release-wave-edit-handle{opacity:.92}
  .release-wave-edit-handle::after,
  .release-segment-edit::after{display:none}
}


/* v0.14.0 — Voice Note timeline audio comments */
.riff-recorder{margin:10px 0 12px;padding:10px;border:1px solid #2c3747;border-radius:10px;background:#101722}
.riff-recorder-row{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:10px;align-items:center}
.riff-mic-btn{width:46px;height:46px;border-radius:50%;border:1px solid #ff7a33;background:#18202c;color:#fff;font-size:20px;cursor:pointer}
.riff-mic-btn:hover,.riff-mic-btn:focus-visible{background:#ff7a33;color:#0b1119;outline:none}
.riff-mic-btn.recording{background:#8f2630;border-color:#ff5964;color:#fff;animation:riffPulse 1s ease-in-out infinite}
.riff-mic-btn.needs-https{opacity:.7}
@keyframes riffPulse{0%,100%{box-shadow:0 0 0 0 rgba(255,89,100,.3)}50%{box-shadow:0 0 0 8px rgba(255,89,100,0)}}
.riff-recorder-copy{min-width:0;display:flex;flex-direction:column;gap:3px}
.riff-recorder-copy strong{color:#fff;font-size:13px}
.riff-recorder-copy span{color:#9ba9bd;font-size:11px;line-height:1.35}
.riff-recorder-timer{min-width:36px;color:#ff9a62;font-size:12px;font-weight:800;text-align:right}
.riff-preview-wrap{margin-top:10px;padding-top:10px;border-top:1px solid #2b3544}
.riff-preview-wrap audio,.riff-comment-player audio{width:100%;height:36px}
.riff-preview-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}
.riff-comment-player{margin:9px 0 5px;padding:8px 10px;border:1px solid #303c4e;border-radius:9px;background:#0f1620;max-width:520px}
.riff-comment-badge{margin-bottom:6px;color:#ff8a4c;font-size:11px;font-weight:800;letter-spacing:.02em}
.btn.compact{padding:8px 11px;min-height:34px}
@media (max-width:640px){.riff-recorder-row{grid-template-columns:44px minmax(0,1fr)}.riff-recorder-timer{grid-column:2;text-align:left}.riff-preview-actions{flex-wrap:wrap}}


/* v0.15.0 — per-track audio analysis */
.release-player-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.release-loudness-summary{display:inline-flex;align-items:center;padding:4px 8px;border:1px solid #344156;border-radius:999px;background:#111924;color:#ff9b62;font-size:11px;font-weight:800}
.release-analyse-btn{white-space:nowrap}
.release-audio-metrics{display:flex!important;gap:6px;flex-wrap:wrap;margin-top:3px;color:#9fb0c8!important}
.release-audio-metrics span{display:inline-flex;padding:2px 5px;border-radius:5px;background:#111925;border:1px solid #2b3748;color:#d9e3ef;font-size:10px;font-weight:700}
.release-audio-metrics.pending{color:#d6a56d!important}
.release-audio-metrics.failed{color:#ff7b83!important;cursor:help}
.release-segment-metrics{color:#ffd0b4!important;font-weight:800!important;font-size:9px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.release-timeline-label:has(.release-segment-metrics){min-height:58px}
@media(max-width:720px){.release-segment-metrics{display:none!important}}


/* v0.15.1 — audio details + waveform label height fix */
.release-timeline-labels{
  height:auto!important;
  min-height:56px;
  align-items:stretch;
  overflow:hidden;
}
.release-timeline-label{
  min-height:56px!important;
  height:auto;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding-top:5px;
  padding-bottom:5px;
}
.release-timeline-label strong{line-height:1.2;min-height:11px}
.release-timeline-label small{line-height:1.15}
.release-segment-metrics{margin-top:2px;cursor:pointer}
.release-audio-metrics[role="button"]{cursor:pointer}
.release-audio-metrics[role="button"]:hover span,
.release-audio-metrics[role="button"]:focus-visible span,
.release-segment-metrics:hover,
.release-segment-metrics:focus-visible{
  border-color:#ff7a33;
  color:#ffb184!important;
  outline:none;
}
.release-audio-metrics .vs-average{color:#9fb4ca}

.analysis-modal[hidden]{display:none!important}
.analysis-modal{position:fixed;inset:0;z-index:10050;display:grid;place-items:center;padding:18px}
.analysis-modal-backdrop{position:absolute;inset:0;background:rgba(3,7,12,.78);backdrop-filter:blur(4px)}
.analysis-modal-card{
  position:relative;z-index:1;width:min(680px,96vw);max-height:90vh;overflow:auto;
  background:#171d27;border:1px solid #344052;border-radius:14px;padding:26px;
  box-shadow:0 24px 70px rgba(0,0,0,.58)
}
.analysis-modal-card h2{margin:5px 40px 4px 0}
.analysis-modal-close{
  position:absolute;right:14px;top:12px;width:34px;height:34px;border:0;border-radius:8px;
  background:#242d3b;color:#fff;font-size:24px;cursor:pointer
}
.analysis-modal-close:hover{background:#ff7a33;color:#10151c}
.analysis-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:22px 0 14px}
.analysis-cell{display:flex;flex-direction:column;gap:5px;padding:13px;border:1px solid #303b4c;border-radius:9px;background:#101721}
.analysis-cell span{font-size:11px;color:#95a4b9;text-transform:uppercase;letter-spacing:.05em}
.analysis-cell strong{font-size:18px;color:#f5f7fb}
.analysis-compare{padding:13px 14px;border:1px solid #3b4658;border-radius:9px;background:#111923;color:#aebbd0;font-size:13px;line-height:1.5}
.analysis-compare strong{color:#ff9c65}
.analysis-modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px;flex-wrap:wrap}
body.modal-open{overflow:hidden}
@media(max-width:620px){.analysis-grid{grid-template-columns:1fr}}


/* v0.15.2 — one canonical project header across workspaces */
.release-summary-compact{
  min-height:0;
}
.release-summary-compact > div:first-child{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.release-summary-copy{
  margin:8px 0 0;
}
.release-summary-compact .release-total-pills{
  align-self:center;
}
.room-version-shell{
  display:none!important;
}


/* v0.15.3 — Music Room audio analysis */
.music-room-analysis-bar{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  min-height:28px;
  margin-top:6px;
  padding-top:7px;
  border-top:1px solid #2a3442;
}
.music-room-analysis-bar .analysis-pill{
  display:inline-flex;
  align-items:center;
  padding:3px 7px;
  border:1px solid #344156;
  border-radius:999px;
  background:#111925;
  color:#ffd0b4;
  font-size:10px;
  font-weight:800;
}
.music-room-analysis-bar .analysis-failed{color:#ff7b83}


/* v0.15.4 — Music Room analysis safety */
.music-room-analysis-bar::after{
  content:"";
}
.music-room-analysis-bar .muted.small{
  line-height:1.3;
}
